본문 바로가기
🏆 자격증/⚡ 정처기

[필기] SW 설계 정리 - 2022년

by 엄지잉 2023. 7. 4.

하향식 통합 테스트

  • 깊이 우선, 넓이 우선 통합법 사용
  • 테스트 초기부터 사용자에게 시스템 구조 보여줄 수 있음
  • 상위 모듈에서는 TC를 사용하기 어려움
  • 상위 모듈 → 하위 모듈 방향으로 통합하면서 테스트하는 기법
  • 절차
    • 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁(stub)으로 대체
    • 깊이 우선 or 넓이 우선 등의 통합 방식에 따라, 하위 모듈인 스텁들이 한 번에 하나씩 실제 모듈로 교체됨
    • 모듈이 통합될 때마다 테스트 실시
    • 새로운 오류가 발생하지 않음을 보증하기 위해, 회귀 테스트 실시

상향식 통합 테스트

  • 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
  • 가장 하위 단계의 모듈부터 통합 및 테스트 수행 ⇒ 스텁 필요 X
  • 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(cluster)는 필요함
  • 절차
    • 하위 모듈을 클러스터로 결합
    • 상위 모듈에서 데이터의 입출력을 확인하기 위해, 모듈인 driver 작성
    • 통합된 cluser 단위로 테스트
    • 테스트 완료 → 클러스터는 프로그램 구조의 상위로 이동하여 결합하고, driver는 실제 모듈로 대체

UI 설계 도구

  • 스토리보드
    • 디자이너, 개발자가 최종적으로 참고하는 작업 지침서
    • 상단이나 우측에 제목, 작성자 등을 입력 / 좌측 UI 화면 / 우측 디스크립션 기입
  • 목업 (Mockup)
    • 디자인, 사용방법 설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
    • 시각적으로만 구성 요소를 배치하는 것으로, 일반적으로 실제 구현되지는 X
  • 프로토타입
    • 와이어프레임, 스토리보드 등에 인터랙션 적용 → 실제 구현된 것처럼 테스트가 가능한 동적인 형태의 모형
  • 유스케이스
    • 사용자 측면에서의 요구사항으로, 사용자가 원하는 목표를 달성하기 위해 수행할 내용 기술

스크럼 관련 용어

  • 스크럼 마스터
    • 스크럼 프로세스를 따르고, 팀이 스크럼을 효과적으로 활용할 수 있도록 보장하는 역할
  • 제품 백로그
    • 스크럼 팀이 해결해야 하는 목록
    • SW 요구사항, 아키텍처 정의 등 포함될 수 있음
  • 스프린트
    • 실제 개발을 2-4주간 진행하는 과정
    • 스프린트 백로그에 작성된 Task를 대상으로, 작업 시간을 측정한 후 담당 개발자에게 할당
    • Task 구성 : 할 일 / 진행 중 / 완료
  • 속도
    • 한 번의 스프린트에서 한 팀이 어느정도의 제품 백로그를 감당할 수 있는지에 대한 추정치

아키텍처 설계 과정

  • 설계 목표 설정 ➡ 시스템 타입 설정 ➡ 아키텍처 패턴 적용(스타일 적용 및 커스터마이즈) ➡ 서브시스템 구체화(기능, I/F 동작 작성) ➡ 검토

디자인 패턴

  • 객체 지향 프로그래밍 설계를 할 때, 자주 발생하는 문제들을 피하기 위해 사용되는 패턴
  • 자주 발생하는 문제에 대한 일반적이고 반복적인 해결 방법

용어 정리 (19번)

  • EAI (Enterprise Application Integration)
    • 기업 응용 프로그램 통합으로, 기업용 응용 프로그램의 구조적 통합 방안을 가리킴
  • FEP (Front-End Processor)
    • 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전, 미리 처리해 프로세스가 처리하는 시간을 줄여주는 프로그램/하드웨어
  • GPL (General Public License)
    • 자유 소프트웨어 재단(OSF)에서 만든 자유 소프트웨어 라이센스
  • Duplexing
    • 이중화 - DB 회복 기법 중, 가장 간단한 것

MOM (Message Oriented Middleware)

  • 메시지 기반의 비동기형 메시지를 전달하는 방식의 미들웨어
  • 독립적인 어플리케이션 → 하나의 통합 시스템으로 묶기 위한 역할
  • 송신측, 수신측 연결시 메시지 큐를 활용하는 방법이 있음
  • 즉각적인 응답 X < 다소 느리고 안정적인 응답을 필요로 하는 경우 사용 多

익스트림 프로그래밍 (XP) ⭐

  • 애자일 방법론 중 하나
  • 소규모 개발 조직이 불확실, 변경 多 요구 접했을 때 적절한 방법
  • 구동시키는 원리 : 상식적인 원리, 경험을 최대한 끌어올리는 것
  • 구체적 실천 방법을 정의하고 있으며, 개발 문서보다 소스 코드에 중점을 둠

유스케이스의 구성 요소 간의 관계 ⭐

  • 연관 관계
    • 유스케이스-액터 간의 상호작용이 있음을 표현
  • 포함 관계
    • 하나의 유스케이스가 다른 유스케이스의 실행을 전제로 할 때, 형성되는 관계
  • 확장 관계
    • 확장 기능 유스케이스-확장 대상 유스케이스 사이 형성되는 관계
  • 일반화 관계
    • 유사한 유스케이스 or 액터를 모아 추상화한 유스케이스 or 액터와 연결시켜 그룹 생성 → 이해도를 높이기 위한 관계