[2023]정보처리기사 1과목 – 10. 소프트웨어 설계, 소프트웨어 아키텍처

1. 소프트웨어 설계

– 요구사항 명세서를 참고하여 소프트웨어의 구체적인 설계서를 작성   * 시스템 아키텍처 설계

– 물리적으로 구현이 가능하도록 시스템을 구체적으로 정의   * 소프트웨어 아키텍처 설계

 

2. 소프트웨어 설계 분류

 

3. 소프트웨어 아키텍처

: 소프트웨어의 골격이 되는 기본구조

– 기본 원리:추상화, 모듈화, 정보은닉, 단계적 분해, 분할과 정복

  • 추상화(Abstraction): 필수 정보만 추출하여 강조하고, 관련 없는 내용은 생략.
    • – 과정 추상화: 자세한 단계를 고려하지 않고, 상위수준에서 수행 흐름만 먼저 설계.
    • – 데이터 추상화: 데이터 구조를 대표할 수 있는 표현으로 대체.
    • – 제어 추상화: 여러 명령들을 간단히 표현.
  • 모듈화(Modularity): 실제로 개발할 수 있는 작은 단위로 나눔.
  • 정보은닉(Information Hiding): 다른객체에게 자신의 정보를 숨김. 자신의 연산만 접근 가능. *캡슐화
  • 단계적 분해(Stepwise Refinement): 기능을 점점 작은 단위로 나누어 점차적으로 구체화.
  • 분할과 정복(Divide & Conquer): 규모가 큰 소프트웨어를 여러 개의 작은 서브 시스템으로 나누어 설계.

 

4. 소프트웨어 아키텍처 4+1 뷰 모델

: Kruchten에 의해 Object표기법을 사용하다가 1995년 Booch의 UML이 정의되면서 Booch 표기법을 포함하여 4+1이 됨.

  • 유스케이스 뷰
  • 논리 뷰
  • 프로세스 뷰
  • 구현 뷰
  • 배포 뷰

Leave a Comment