본문 바로가기
CERT/정보처리기사

[정보처리기사] 소프트웨어 설계부 오답 개념 정리 -4

by DahnDellDev 2025. 7. 28.

 

 

🔹 객체 모델링 vs 정보 모델링

구분 설명

객체 모델링 데이터와 행위를 하나로 묶어 객체 단위로 추상화하여 표현 예: 클래스 다이어그램
정보 모델링 시스템에서 사용하는 정보를 구조화된 데이터로 표현 예: ERD, 릴레이션

🔹 모델링 관점에 따른 구분

모델링 유형 핵심 요소 예시 다이어그램

정적 모델링 구조 중심 클래스 다이어그램, 객체 다이어그램
동적 모델링 동작, 제어, 상태 변화 시퀀스, 상태, 활동 다이어그램
기능 모델링 데이터 흐름 DFD (자료 흐름도)

🔹 시퀀스 다이어그램 (Sequence Diagram)

  • 객체 간 메시지 교환 순서를 시간의 흐름에 따라 표현
  • 동적인 상호작용 표현이지만 정적 표현 도구에 가까움
  • 주로 메서드 호출, 응답, 객체 간 통신 구조를 시각화할 때 사용

🔹 객체지향 분석 기법

  • 상향식 접근: 작은 객체 단위에서 전체 시스템을 설계
  • 객체 = 데이터 + 메서드
  • 추상화, 캡슐화, 상속, 다형성 등 객체지향 4대 특성 기반

🔹 소프트웨어 아키텍처 패턴

✅ 파이프-필터 (Pipe & Filter)

  • 단방향 데이터 흐름
  • 각 필터는 입력 → 처리 → 출력
  • 오버헤드 존재 (필터 간 통신 비용)
  • 예: Unix Shell, 컴파일러 전처리기

✅ 브리지 패턴 (Bridge)

  • 구현부와 추상부를 독립적으로 확장할 수 있도록 분리
  • 예: UI 프레임워크에서 다양한 플랫폼을 추상화할 때

🔹 소프트웨어 품질 속성

속성 설명

가용성 시스템이 정상적으로 서비스 제공하는 능력
변경용이성 유지보수와 기능 추가의 용이성
성능 응답시간, 처리량 등 시스템 효율성
보안성 데이터 보호와 접근 제어 능력
사용편의성 사용자 인터페이스와 사용성
시험용이성 테스트 수행의 용이성

🔹 요구사항 개발 프로세스

  1. 도출(Elicitation) – 이해관계자 요구 수집
  2. 분석(Analysis) – 요구 간 충돌 확인 및 정제
  3. 명세(Specification) – 요구사항을 문서화
  4. 검토(Validation) – 요구사항 검토 및 확인

🔹 연계 시스템 구성

구성요소 역할

송신 시스템 내부 DB 또는 앱 → 연계 테이블 또는 파일로 생성
수신 시스템 수신된 데이터 → 변환/정제 후 활용
중계 서버 송수신 시스템 사이에서 데이터 전달 및 포맷 조정

🔹 CASE(Computer-Aided Software Engineering) 원천기술

  • 구조적 기법: 시스템 기능을 계층적 분해
  • 프로토타이핑: 시제품 기반 개발
  • 자동 프로그래밍: 코드 자동 생성
  • 정보 저장기술: 설계 정보 보존 및 재사용
  • 분산 처리 기술: 네트워크 기반 시스템 개발

🔹 UML 다이어그램 분류 암기 팁

 

  • 정적 모델링 (구조)
    👉 클래스(Class), 컴포넌트(Component), 배포(Deployment), 복합체구조(Composite Structure), 패키지(Package)
    🧠 암기: 클-컴-배-복-패

 

  • 동적 모델링 (행위)
    👉 유스케이스(UseCase), 시퀀스(Sequence), 커뮤니케이션(Communication), 활동(Activity), 상태(State), 타이밍(Timing), 상호작용 개요(Interaction Overview)
    🧠 암기: 유-시-커-생-활-타-생