노트

소프트웨어 설계의 기본 원칙 본문

정보처리기사 정리

소프트웨어 설계의 기본 원칙

blackmilktea 2024. 4. 15. 02:49

1. 소프트웨어 설계

!) 개념

  • 요구사항 명세서를 참조하여 소프트웨어의 구체적인 설계서를 작성하는 단계 (SW Architechture)
  • 물리적으로 구현이 가능하도록 시스템을 구체적으로 정의하는 단계 (System Architechture)

2) 종류

 

상위 설계

  • 아키텍처 설계: 시스템의 전체적인 구조 설계
  • 데이터 설계: 시스템에 필요한 정보, DB 설계
  • 인터페이스 정의: 시스템의 구조와 서브 시스템들 사이의 인터페이스를 명확히 정의
  • 사용자 인터페이스: 익숙하고 편리하게 사용하도록 인터페이스 설계

하위 설계

  • 모듈 설계: 각 모듈의 실제적인 내부를 알고리즘 형태로 표현
  • 자료구조 설계: 자료구조, 변수 등에 대한 상세한 정보
  • 알고리즘 설계: 업무의 처리 절차 등

3) 설계 원리

  • 분할과 정복(Divide & Conquer): 여러 개의 작은 서브 시스템으로 나누어 하나씩 완성
  • 추상화(Abstraction): 필수 정보만 추출, 강조, 관련 없는 세부 사항은 생략해 본질적인 문제에 집중, 자세한 구현 전에 상우레벨에서 제품의 구현을 먼저 생각해 보는 것
  • 단계적 분해(Gradual Decomposition): 기능을 작은 단위로 나누어 점차적으로 구체화
  • 모듈화(Modulization): 실제로 개발할 수 있는 작은 단위로 나눔
  • 정보 은닉(Information Hiding): 다른 객체에게 자신의 정보를 숨기고, 자신의 연산만을 통해 접근 가능, 외부 접근 제어, 캡슐화와 밀접한 관련이 있음.

 

2. 설계 모델링

1) 개념: 소프트웨어를 구성하는 모듈을 식별, 이들의 연결을 그림으로 표현한 것,

 

2) 유형

  • 구조 모델링: 시스템의 구성 요소들과 이들 사이의 구조적인 관계오 특성들의 모델링, UML 정적 다이어그램
  • 행위 모델링: 시스템의 구성 요소들이 언제 어떤 순서로 수행되는가와 같은 동적 특성의 모델링, UML 동적

'정보처리기사 정리' 카테고리의 다른 글

2 데이터 입출력 구현 - 2  (0) 2024.04.16
2 데이터 입출력 구현  (0) 2024.04.16
요구사항 모델링  (0) 2024.04.13
요구사항 분석  (0) 2024.04.12
프로젝트 계획  (0) 2024.04.12