기술용어/소프트웨어공학

SW 아키텍처

아이티신비 2024. 6. 30. 09:00

소프트웨어의 청사진 Software Architecture

정의
  • 소프트웨어의 복잡도를 높이는 중요한 요소들을 체계적으로 다루고, 다양한 관점으로 모형화를 통해 소프트웨어 품질을 향상시키는 청사진
  • 시스템에 대한 기본 조직 체계로 시스템을 이루는 구성요소와 구성요소들 사이의 관계, 구성요소와 주변 환경들과의 관계 및 시스템의 진화와 설계를 지배하는 원칙들로 실체화[IEEE1471-2000]
  • 프로그램/시스템의 컴포넌트, 컴포넌트 간의 상호 관계의 구조이며, 이들을 설계하고 전개하기 위한 지침과 원리
등장배경
  • 시스템 분석/설계에 대한 중요성 인식과 체계적인 분석/설계를 위한 접근필요
  • 이해관계자(Stackholder)간의 관점 조율을 통한 시스템의 최적화
  • 요구 사항들 간 개념 상의 충돌 조정
  • 우선순위 결정과 요구사항 간의 Trade-off 분석을 위한 작업 필요
필요성
  • 고객 품질목표를 식별하고 전술을 개발하여 품질을 향상
주요요소
  • 컴포넌트 : 구체화된 시스템의 기본조직, SW개별 구성요소
  • 원리 : SW디자인과 진화를 이끄는 기본적인 이론
특징
  • 간략화 : 이해하고 추론할 정도의 간결성 유지
  • 추상화 : 추상적인 표현을 사용하여 복잡도를 관리
  • 가시성 : 시스템이 포함해야 할 것들을 가시화, 소프트웨어의 청사진
  • 관점모형 : 이해당사자의 관심사에 따른 모형 제시
  • 의사소통수단 : 이해당사자간 원활한 의사소통 수단으로 이용
구조
  • System : 조직목표 달성을 위한 구축대상
  • Architecture : 시스템 문제해결을 위한 가이드
  • SAD(SA Description) : 품질모델, 스타일, 패턴, 평가방법을 포함하는 메뉴얼
  • ViewPoint : 개념, 논리, 물리, 실행관점, 그에 따른 아키텍처 스타일
  • Model : 아키텍처 세부 사항을 구현하는 Design Pattern
추진절차
  • 요구사항 분석 : 기능 및 비기능(품질속성), 제약사항 정의하고 명세화
  • 아키텍처 분석 : 품질모델(ISO9126) 및 품질속성 정의(유틸리티 트리)
  • 아키텍처 설계 : ViewPoint 정의 및 View 별 설계 가이드, 재 사용성 고려
  • 평가 및 측정 : 품질기준 ATAM, 수정 용이성 SAAM, 비용의 CBAM, ADIR
단점
  • Architecture Description Lanaguage 를 적용하여 아키텍처 표준화 실행 SAD 는 개별자, 테스트, 설계자를 가이드 할 수 있도록 제시하고 교육


 

공감과 댓글은 아이티신비에게 큰 힘이 됩니다.

블로그 글이 유용하다면 블로그를 구독해주세요.♥