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

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

by DahnDellDev 2025. 7. 28.

 

 

🔹 럼바우(Rumbaugh)의 객체지향 모델링

  • 객체지향 분석 방법론 중 하나
  • 3가지 모델로 구분
    객체 모델: 정적 구조 → 클래스 다이어그램
    동적 모델: 상태 다이어그램 사용
    기능 모델: 자료 흐름 중심 → DFD 사용

🔹 CASE (Computer-Aided Software Engineering)

  • 컴퓨터 지원 소프트웨어 공학
  • 소프트웨어 개발의 자동화 도구 제공
  • 반복적인 업무를 줄이고 생산성과 품질 향상
  • 도구 예시: 코드 생성기, 문서 생성기, 설계 도구, UI 에디터 등

✅ 목적: 개발 전 과정(계획 → 설계 → 구현 → 테스트)의 자동화


🔹 코드(Code)의 분류 체계

구분 설명

순차 코드 (Sequence Code) 발생 순서, 크기, 가나다 순 등 순서대로 부여
블록 코드 (Block Code) 범주 구분을 위한 미리 정의된 코드 사용
그룹 분류 코드 (Group Classification Code) 대 → 중 → 소로 분류
표의 숫자 코드 (Significant Digit Code) 코드 자체에 의미 없이 숫자만으로 구성
십진 분류 코드 (Decimal Code) 10진수 체계를 계층적으로 사용
연상 코드 (Mnemonic Code) 숫자 + 문자로 기억하기 쉽게 구성
약자 코드 (Letter Code) 약어 사용 (예: KR = 한국, US = 미국)
끝자리 코드 (Final Digit Code) 코드 끝자리로 분류 구분

🔹 UML 구성 요소 요약

UML(Unified Modeling Language)은 객체지향 시스템 모델링 표준 언어입니다.

  • 3대 구성요소:
    Thing (사물) – 클래스, 인터페이스, 노드 등
    Diagram (다이어그램) – 구조/행위/인터랙션 등
    Relationship (관계) – 연관, 일반화, 의존 등

🧠 암기: 딩다리 (Thing, Diagram, Relationship)


🔹 소프트웨어 설계의 계층

구분 내용

상위 설계 시스템 구조 설계: 아키텍처, 시스템 분할, 인터페이스, UI 설계 등
하위 설계 모듈, 알고리즘, 내부 인터페이스 설계 등

🔹 자료사전 표기법 (용어 기술 규칙)

  • = 정의
  • + 구성
  • [] 선택(OR)
  • {} 반복
  • () 생략 가능
  • ** 주석, 설명

예시:

회원 = 회원번호 + 이름 + [이메일] + {전화번호}

🔹 정형 vs 비정형 명세 기법

구분 정형 명세 비정형 명세

기반 수학적, 논리적 설명, 표, 다이어그램
예시 Z, VDM, Petri-net, CSP, CCS, LOTOS FSM, 상태도, 유스케이스, 의사결정표
장점 명확성, 일관성, 자동 검증 표현 용이, 직관적 이해
단점 난이도 높음, 작성 어려움 모호성 가능성, 해석 차이

🔹 요구분석의 문서화와 유지보수 활용

  • 요구 분석 과정은 추후 유지보수와 테스트에 큰 영향을 줌
  • 문서화 시 사용 도구:
    • 자료 흐름도(DFD)
    • 자료사전
    • 명세서(기능 단위로 세분화된 형태)
  • 이들 문서를 기반으로 프로그램 설계서, 테스트 시나리오 등으로 확장