컴퓨터과학/0 + 소프트웨어 아키텍처(디자인 패턴)

[소프트웨어 아키텍처] 1-2) 소프트웨어 아키텍처 문서화와 평가

힘들면힘을내는쿼카 2022. 9. 20. 01:46
728x90
반응형

2022.09.20 - [컴퓨터 공학/0 + 소프트웨어 아키텍처] - [소프트웨어 아키텍처] 1-1) 소프트웨어 아키텍처 기초지식

 

[소프트웨어 아키텍처] 1-1) 소프트웨어 아키텍처 기초지식

✅ 아키텍처 기초 소프트웨어 아키텍처를 공부하기 위해서 기초지식에 대해서 알아보자..! 💭 소프트웨어 아키텍처란? 소프트웨어 구조 또는 소프트웨어 아키텍처(software architecture)는 소프트웨

howisitgo1ng.tistory.com

지난 시간에 소프트웨어 아키텍처 기초 지식에 대해서 알아보았다.
이번에는 📚 문서화 하는 과정을 알아보자!

 

 

 

📚 아키텍처 문서화

  • 🛠 아키텍처 문서는 더 좋은 설계를 만들기 위한 도구
    • 문서화를 함으로써 얻는 이점은 다음과 같다.
      • 구현을 시작하기 전에 중요한 설계 이슈를 발견할수 있음
      • 개발자가 설계를 검토하고 개선할수 있음
      • 다른 참여자들과의 의사소통

 

아키텍처 문서구조

아키텍처 문서구조는 다음과 같다.

  • 목적
    • 기술하는 대상 시스템이 무엇인지 기술
    • 요구사항 이력(traceability)
  • 우선순위
    • 설계 작업을 설명할 우선순위 기술
  • 최상위 설계
    • 개략적인 소개를 위한 최상위로 추상화된 설계 작성
  • 주요 설계 이슈
    • 헤결되어야 할 중요 이슈
      • e.g) 고려할 대안, 최종결정, 결정이유
  • 설계 상세사항
    • 관계자가 알아야하는 설계 상세 내용

예시

A. 목적
자동차에 장착되어 운전을 안내하는 네비게이션시스템 아키텍처 설계

B. 우선순위

1) 성능: 네비게이션 지시 반응시간, 기억공간 효율성
2) 의존성: 입력오류에 대한 강인성, 신뢰성, 보안
3) 사용성: UI 친밀성
4) 유지보수성: 확장성, 이식성, 적응성

C. 최상위 설계

D. 주요 설계 이슈
이슈 1: GIS 정보를 어디에 저장할 것인가?
1.1안: 중앙서버에저장하고통신에의하여실시간접근하게하는방법
1.2안: 네비게이션 시스템에 다운로드하여 메모리에 저장하는 방법

결정:1.1안은주행중통신이끊길수있고,통신비용도발생하므로1.2안 으로 결정

 

✅ 아키텍처 평가

  • 아키텍터의 속성, 강점, 약점을 결정
  • 개발자가 선택한 아키텍처가 기능적/비기능적 품질 요구사항을 모두 충족 시킬수 있음을 보증
  • 방법
    • SAAM
      • 시나리오 기반 평가 방법
    • ATAM
      • 품질 속성에 초점을 맞추어 평가

 

SAAM(Software Architecture Analysis Method)

  • 아키텍처가 시나리오를 실행할 수 있는지 여부를 결정
    • 시나리오를 실행하지 못하는 경우, 지원하도록 아키텍처를 변경하는데 필요한 사항을 나열하고 변경 비용을 추정한다.
  • 시나리오 도출
    • 여러 이해 관계자들을 통하여 도출
  • 시나리오
    • 직접: 시스템의 변경이 요구되지 않는 시나리오
      • 일반적인 요구사항에 대한 아키텍처의 지원 평가, 인터페이스에 의하여 지원되는 보통 기능들에 대하여 아키텍처를 평가
    • 간접: 시스템의 변경이 요구되는 시나리오
      • 새로운 기능을 추가하거나 원하지 않는 기능을 삭제시 아키텍처가 지원하는지 평가
      • 새로운 HW, OS, IO 장치에 적응하는지 평가

 

ATAM(Architecture Trade-off Analysis Method)

  • 품질 속성에 초점을 두고 시나리오에 기반하여 아키텍처를 분석
  • 아키텍처를 평가하여 절충안을 도출
  • 아키텍처 내부의 리스크 발견

 

 

 

728x90
반응형