개발자꿈나무
소프트웨어 아키텍처 뷰, 품질 속성 본문
- 소프트웨어 아키텍처 뷰
- 유스케이스 뷰 : 시스템 외부 사용자의 관점에서 사용 사례와 이들 간의 관계를 정의하며, 다른 뷰를 검증하는 용도로 사용
- 논리적 뷰 : 설계자의 관점에서 시스템의 기능적인 요구사항이 제공되는 방법을 설명
- 구현 뷰 : 개발자의 관점에서 실제 구현할 수 있는지 여부를 확인하기 위해 소프트웨어 구성을 보여줌
- 프로세스 뷰 : 시스템 통합자의 관점에서 자원의 효율적인 사용, 이벤트 처리 등을 표현
- 배포 뷰 : 테스터의 관점에서 컴포넌트가 어떻게 배치되고 연결되는지를 보여줌
- 소프트웨어 아키텍처의 품질 속성
- 소프트웨어 아키텍처가 이해 관계자들이 요구하는 수준의 품질을 유지 및 보장할 수 있게 설계되었는지를 확인하기 위해 품질 평가 요소들을 시스템 측면, 비즈니스 측면, 아키텍처 측면으로 구분하여 구체화시켜 놓은 것
- 시스템 측면
품질 속성 | 내용 |
성능 | 사용자의 요청과 같은 이벤트가 발생했을 때, 이를 적절하고 빠르게 처리하는 것 |
보안 | 허용되지 않은 접근을 막고, 허용된 접근에는 적절한 서비스를 제공하는것 |
가용성 | 장애 없이 정상적으로 서비스를 제공하는 것 |
기능성 | 사용자가 요구한 기능을 만족스럽게 구현하는 것 |
사용성 | 사용자가 소프트웨어를 사용하는데 헤매지 않도록 명확하고 편리하게 구현하는 것 |
변경 용이성 | 소프트웨어가 처음 설계 목표와 다른 하드웨어나 플랫폼에서도 동작할 수 있도록 구현하는 것 |
확장성 | 시스템의 용량, 처리능력 등을 확장시켰을 때 이를 효과적으로 활용할 수 있도록 구현하는 것 |
기타 속성 | 테스트 용이성, 배치성, 안정성 등 |
(성능 좋은 폰으로 변경해서 용량이 사기가[4G] 확보됐다.)
- 비즈니스 측면
품질 속성 | 내용 |
시장 적시성 | 정해진 시간에 맞춰 프로그램을 출시하는 것 |
비용과 혜택 | 개발 비용을 더 투자하여 유연성이 높은 아키텍처를 만들 것인지 결정 유연성이 떨어지는 경우 유지보수에 많은 비용이 소모될 수 있다는 것을고려 |
예상 시스템 수명 | 시스템을 얼마나 오랫동안 사용할 것인지를 고려 수명이 길어야 한다면 시스템 품질의 변경 용이성, 확장성을 중요하게 고려 |
기타 속성 | 목표 시장, 공개 일정, 기존 시스템과의 통합 등 |
- 아키텍처 측면
품질 속성 | 내용 |
개념적 무결성 | 전체 시스템과 시스템을 이루는 구성요소들 간의 일관성을 유지하는 것 |
정확성, 완결성 | 요구사항과 요구사항을 구현하기 위해 발생하는 제약사항들을 모두 충족시키는 것 |
구축 가능성 | 모듈 단위로 구분된 시스템을 적절하게 분해하여 유연하게 일정을 변경할 수 있도록 하는 것 |
기타 속성 | 변경성, 시험성, 적응성, 일치성, 대체성 등 |
** 소프트아키텍처의 특징과 설계
728x90