소프트웨어 아키텍처 - 4(Design)

박승현·2023년 9월 12일
0

아키텍처

목록 보기
4/30
post-thumbnail

Design

Overview

  • Architecture Design: What
  • Architecture Design: Who
  • Architecture Design: Why
  • Architecture Design: When
  • Architecture Design: Output
  • IEEE standard for software life cycle

software design

  • 소프트웨어 디자인의 목표 : 고객 요구사항 충족, 성공적인 구현을 이끄는 모델을 만드는 것

Architecture Design: What

  • 소프트웨어의 주요 구조적 요소 간의 관계를 정의
    • 어떤 부분이 시스템의 핵심 요소이며 이들이 어떻게 상호 작용 하는지 결정
  • 시스템에 정의된 요구사항 달성하고 아키텍처를 구현하는 데 사용할 수 있는 아키텍처 스타일과 아키텍처를 구현하는 방식에 영향을 미치는 제약 사항을 결정
    • 아키텍처 스타일의 선택 : 시스템의 성능, 확장성, 보안에 영향을 미침
    • 제약조건 : 기술적, 비용적, 시간적, 리소스 관련된 제약 조건을 고려해야 함
  • 아키텍처 디자인 표현은 시스템 요구 사항 명세와 분석 모델에서 파생됨
    • 아키텍처를 그림, 다이어그램, 문서 등으로 표현하여 팀원 간의 이해를 촉진

Architecture Design: Who

  • 소프트웨어 아키텍트와 디자이너들이 소프트웨'어 시스템의 요구사항을 아키텍처 디자인으로 번역하는 역할
  • 번역 과정에서 시스템의 복잡성을 분석하고 이를 해결하기 위해 다양한 디자인 전략을 적용

Architecture Design: Why

  • 디자인을 통해 시스템 요구사항을 충족할 수 있고 미래의 요구사항 변경및 재사용을 위해 소프트웨어 디자인이 필요함
  • 소프트웨어 제작 과정에서 시간과 비용의 절약을 위해 필요
  • 좋은 디자인은 제작 과정에서 위험을 줄이고 개발팀의 협력을 도우며 구현 및 테스트를 쉽게 만들어줌

Architecture Design: When

  • 소프트웨어 아키텍처의 디자인은 소프트웨어 개발 수명 주기(SDLC)중 하나에 속함
  • SDLC
    1. 소프트웨어 요구사항 분석 : 고객 및 관계자와 대화를 통해 요구사항 수집 및 문서화
    2. 소프트웨어 아키텍처 디자인 : 이 단계에서 아키텍처 디자인이 수행, 시스템의 구조와 구현 방향 결정
    3. 소프트웨어 개발 및 구현 : 디자인 단계에서 결정된 구조와 디자인에 따라 실제 개발
    4. 테스팅 및 품질 보증, 유지보수 및 진화 : 개발된 소프트웨어를 유지 보수 및 발전

소프트웨어 아키텍처 디자인은 소프트웨어 개발 수명 주기의 초기 단계 중 하나이다


Architecture Design: Output

  • 전반적으로 시스템을 구축할 계획 및 설계의 개요를 나타내는 것이 아키텍처 디자인이다
  • IEEE의 소프트웨어 디자인 설명서의 권장 방법에 제공된 주요 섹션
    • 디자인 개요 : 소프트웨어 디자인 문서의 목적, 범위 및 개요
    • 분해 설명 : 모듈, 데이터 프로세스를 어떻게 나누고 조합할 것인지 설명
    • 의존성 및 연결 설명 : 구성 요소간의 상호 작용과 관계를 설명하여 시스템 전체의 동작 방식을 이해하도록 해줌
    • 속성 : 각 구성 요소의 특징과 기능을 자세히 다루는 부분
    • 사용자 인터페이스 설명 : 사용자 인터페이스의 디자인과 동작에 대한 설명, 사용자와 시스템 간의 상호 작용을 이해하기 위한 정보를 제공
    • 상세 디자인 : 데이터 구조, 모듈의 동작, 알고리즘 등을 자세히 설명

IEEE standard for software


Software Requirement Specification (SRS)

디자인에 필요한 요구사항을 분석하는 방법
  • 요구사항 모델링
    • 정보 도메인 및 데이터 모델링
      • 시스템이 다루는 정보와 데이터를 모델링, 설명 데이터베이스의 구조와 데이터 흐름 등
    • 기능 및 행위 모델링
      • 기능은 수행해야 하는 기능과 작업 행위는 시스템의 동작과 흐름을 설명
    • 사용자 인터페이스 모델링
      • 사용자와 시스템 간의 상호작용을 설명하고 시각적으로 표현
  • 요구사항 설명(설명하는 방법)
    • Use Case Specifications(UML)
      • UML을 사용하여 사용사례와 사용자 요구사랑을 설명
      • 시스템의 사용 사례는 시나리오와 행위를 포함하는 다이어그램과 텍스트로 설명됨
    • Data Flow Diagram(DFD)
      • 데이터 흐름과 처리 과정을 표현
      • 정보의 흐름을 시각화한다
    • State Transition Diagrams(STD)
      • 상태 전이 다이어그램, 상태와 상태 간의 전이 및 변화를 표현
      • 종적인 행위를 설명하는데 주로 사용
  • 요구사항의 두 가지 측면
    • 기능적 요구사항
      • 시스템이 수행해야 하는 작업, 기능
    • 비기능적 요구사항
      • 품질, 제약 사항, 성능, 보안, 유지 보수 등
profile
KMU SW

0개의 댓글