본문 바로가기

학습 기록/정보처리기사

[1. 소프트웨어 설계] 소프트웨어 설계

소프트웨어 설계 유형

- 자료 구조 설계(Data Structure Design)

: 요구분석 단계에서 생성된 정보를 바탕으로 소프트웨어를 구현하는데 필요한 자료 구조로 변환하는 과정

 

- 아키텍처 설계(Architecture Design)

: 상위 수준 설계

: 전체 구조 기술

: 소프트웨어 구성 컴포넌트 간의 관계를 정의

 

- 인터페이스 설계(Interface Design)
: 소프트웨어와 상호작용하는 컴퓨터 시스템, 사용자 등이 어떻게 통신하는지를 기술

 

- 프로시저 설계(Procedure Design)

: 아키텍처의 컴포넌트를 소프트웨어 컴포넌트의 프로시저 서술로 변환하는 과정

 

- 협약에 의한 설계(Design by Contract)

: 클래스에 대한 여러 가정을 공유하도록 명세한 설계

: 선행 조건 - 컴포넌트 오퍼레이션 사용 전 참이 되어야 할 조건

: 결과 조건 - 사용 후 만족되어야 할 조건

: 불변조건 - 오퍼레이션이 실행되는 동안 항상 만족되어야 할 조건


소프트웨어 설계 원리

- 상향식 설계

: 하위 기능들로부터 시작해 제일 상위에 있는 기능에 접근해가는 방식으로, 기존 컴포넌트를 조합해 개발

ex) 소프트웨어 설계 유형 중 모듈 설계를 제외한 나머지

 

- 하향식 설계

: 제일 상위에 있는 기능에서 시작해 기능을 하위 기능들로 분할해가면서 설계하는 방식으로, 모든 것을 새로 개발

ex) 모듈 설계