본문 바로가기

자격증/정보처리기사

[필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계

728x90
반응형
📖 참고
2025 시나공 기출문제집 정보처리기사 필기 요약 pdf
2025년도 정보처리기사 시험일정
📂 정보처리기사 필기 1과목 소프트웨어 설계
01. [필기 | 소프트웨어 설계] 소프트웨어 생명 주기 모형
02. [필기 | 소프트웨어 설계] 스크럼과 XP
03. [필기 | 소프트웨어 설계] 현행 시스템 파악 / 데이터베이스 관리 시스템(DBMS) / 웹 에플리케이션 서버(AWS)
04. [필기 | 소프트웨어 설계] 요구사항 정의
05. [필기 | 소프트웨어 설계] 요구사항 분석
06. [필기 | 소프트웨어 설계] UML(Unified Modeling Language)
07. [필기 | 소프트웨어 설계] 사용자 인터페이스(UI)
08. [필기 | 소프트웨어 설계] 품질 요구사항
09. [필기 | 소프트웨어 설계] 소프트웨어 아키텍처 설계
10. [필기 | 소프트웨어 설계] 패턴
11. [필기 | 소프트웨어 설계] 객체와 클래스
12. [필기 | 소프트웨어 설계] 객체지향
13. [필기 | 소프트웨어 설계] 모듈
14. [필기 | 소프트웨어 설계] 코드
15. [필기 | 소프트웨어 설계] 디자인 패턴
16. [필기 | 소프트웨어 설계] 시스템 연계

 


✏️ 상위 설계와 하위 설계

소프트웨어 개발의 설계 단계는 크게 상위 설계와 하위 설계로 구분 할 수 있음

  상위 설계 하위 설계
별칭 아키텍처 설계, 예비 설계 모듈 설계, 상세 설계
설계 대상 시스템의 전반적인 구조 시스템의 내부 구조 및 행위
세부 목록 구조, DB, 인터페이스 컴포넌트, 자료 구조, 알고리즘

✏️ 소프트웨어 아키텍쳐 설계의 기본 원리

모듈화(Modularity)

  • 모듈화란 소프트웨어의 성능을 향상시키거나 시스템의 수정 및 재사용, 유지 관리 등이 용이하도록 시스템의 기능들을 모듈 단위로 나누는 것

추상화(Abstraction)

  • 추상화는 문제의 전체적이고 포괄적인 개념을 설계한 후 차례로 세분화하여 구체화시켜 나가는 것
  • 추상화의 유형 : 과정 추상화, 데이터 추상화, 제어 추상화

단계적 분해(Stepwise Refinement)

  • 단계적 분해는 하향식 설계 전략으로, 문제를 상위의 중요 개념으로부터 하위의 개념으로 구체화시키는 분할 기법

정보 은닉(Information Hiding)

  • 정보 은닉은 한 모듈 내부에 포함된 절차와 자료들의 정보가 감추어져 다른 모듈이 접근하거나 변경하지 못하도록 하는 기법

✏️ 소프트웨어 아키텍처의 품질 속성

소프트웨어 아키텍처의 품질 속성은 소프트웨어 아키텍처가 이해 관계자들이 요구하는 수준의 품질을 유지 및 보장 할 수 있게 설계되었는지를 확인하기 위해 품질 평가 요소들을 시스템 측면, 비즈니스 측면, 아키텍처 측면으로 구분하여 구체화시켜 놓은 것

  • 시스템 측면 : 성능, 보안, 가용성, 기능성, 사용성, 변경용이성, 확장성 등
  • 비즈니스 측면 : 시장 적시성, 비용과 혜택, 예상 시스템 수명 등
  • 아키텍처 측면 : 개념적 무결성, 정확성, 완결성, 구축 가능성 등

✏️ 소프트웨어 아키텍처의 설계 과정

  1. 설계 목표 설정
    • 시스템의 개발 방향을 명확히 하기 위해 설계에 영향을 주는 비즈니스 목표, 우선순위 등의 요구사항을 분석하여 전체 시스템의 설계 목표를 설정함
  2. 시스템 타입 결정
    • 시스템과 서브시스템의 타입을 결정하고, 설계 목표와 함계 고려하여 아키텍처 패턴을 선택
  3. 아키텍처 패턴 적용
    • 아키텍처 패턴을 참조하여 시스템의 표준 아키텍처를 설계
  4. 서브시스템 구체화
    • 서브시스템의 기능 및 서브시스템간의 상호작용을 위한 동작과 인터페이스 정의
  5. 검토
    • 아키텍처가 설계 목표에 부합하는지, 요구사항이 잘 반영되었는지, 설계의 기본 원리를 만족하는지 등 검토

✏️ 협약(Contract)에 의한 설계

  • 컴포넌트를 설계할 때, 클래스에 대한 여러 가정을 공유할 수 있도록 명세한 것
  • 소프트웨어 컴포넌트에 대한 정확한 인터페이스를 명세한다.
  • 협약에 의한 설계 시, 명세에 포함될 조건에는 선행 조건, 결과 조건, 불변 조건이 있음
    • 선행 조건(Precondition)
      오퍼레이션이 호출되기 전에 참이 되어야 할 조건
    • 결과 조건(Postcondition)
      오퍼레이션이 수행된 후 만족되어야 할 조건
    • 불변 조건(Invariant)
      오퍼레이션이 실행되는 동안 항상 만족되어야 할 조건
728x90
반응형