[정보처리기사실기] 소프트웨어 설계 / 설계 모델링

    반응형

    1과목. 소프트웨어 구축

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

     

    계획 - 요구사항 분석 - 소프트웨어 설계 - 구현 - 테스트 - 유지보수


    1. 소프트웨어 설계

    (1) 소프트웨어 설계의 개념

    • 요구사항 명세서를 바탕으로 소프트웨어의 구체적인 설계서를 작성하는 단계

    (2) 소프트웨어 설계의 종류

    • a) 상위 설계 (플랫폼 or 전체적인 구조)
      - 아키텍처 설계 : 시스템의 전체적인 구조 설계
      - 데이터 설계 : 시스템에 필요한 정보와 데이터베이스 구조를 설계
      - 인터페이스 정의 : 시스템의 구조와 서브시스템들 사이의 인터페이스를 명확하게 정의
      - 사용자 인터페이스 설계 : 사용자의 편의를 고려하여 인터페이스 설계
    • b) 하위 설계(실제 개발단)
      - 모듈 설계 : 각 모듈의 내부를 알고리즘 형태로 표현
      - 자료구조 설계 : 데이터의 저장 구조와 변수 등에 대한 상세한 정보를 설계
      - 알고리즘 설계 : 업무의 처리 절차와 알고리즘을 설계

    (3) 소프트웨어 설계의 원리

    • a) 분할과 정복(Divide & Conquer)
      - 큰 소프트웨어를 여러 개의 작은 서브시스템으로 나누어 각각을 완성하는 방법
    • b) 추상화(Abstraction)
      - 간결하고 명확하게 핵심 위주로 단순화하는 방법
      - 기법 : 과정 추상화, 데이터 추상화, 제어 추상화
    • c) 단계적 분해
      - 기능을 점차적으로 작은 단위로 나누고 구체화하는 방법으로 주로 설계 단계에서 사용
    • d) 모듈화(Modulization)
      - 시스템을 개별적으로 개발 가능한 작은 모듈로 나눔
    • e) 정보은닉(Information Hiding)
      - 자신의 정보를 숨기고 외부의 접근을 제한하여 데이터와 기능을 보호
    • f) 결합도와 응집도
      - 결합도를 낮추고, 응집도를 높이는 것이 좋은 설계로 모듈의 독립성을 높이기 위함

     

    2. 설계 모델링 유형

    (1) 구조 모델링

    • 시스템의 구성요소와 그 사이의 구조적 관계를 모델링
    • UML 정적 다이어그램

    (2) 행위 모델링

    • 소프트웨어 구성요소의 기능 수행 순서와 방식을 모델링
    • UML 동적 다이어그램

    (3) 협약에 의한 설계

    • a) 선행 조건
      - 사용 전에 참이 되어야 할 조건 (기본적으로 있어야 할 조건)
    • b) 결과 조건
      - 사용 후 만족되어야 할 결과 조건
    • c) 불변 조건
      - 오퍼레이션이 실행되는 동안 항상 만족되어야 하는 조건
    더보기

    모델링은 여러 사람들이 이 소프트웨어 기능을 공유하기 위해 만든 그림

     

     

     

    참고자료

    흥달쌤,  '흥!나게 합격 달성! 2024 정보처리기사 실기 클래스'
     

    1억뷰 N잡

    [1회 연장 포함] 흥!나게 합격 달성! 2024 정보처리기사 실기 클래스

    www.njobler.net

     

     

    반응형

    댓글