1 / 40

2004. 02. 15

0201. 아키텍처 분석과 설계 - 품질속성 (SI 트랙 ). 2004. 02. 15. 목차. 품질 품질속성 품질요구사항 품질모델 품질속성 시나리오 아키텍처가 다뤄야 하는 것들 아키텍처와 품질 아키텍처와 기능 요구사항 아키텍처와 비기능 요구사항 요약. 품질. 사람들마다 저마다 “품질 (Quality)” 을 다르게 생각한다. 품질.

louise
Download Presentation

2004. 02. 15

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 0201. 아키텍처 분석과 설계 - 품질속성 (SI 트랙) 2004. 02. 15

  2. 목차 • 품질 • 품질속성 • 품질요구사항 • 품질모델 • 품질속성 시나리오 • 아키텍처가 다뤄야 하는 것들 • 아키텍처와 품질 • 아키텍처와 기능 요구사항 • 아키텍처와 비기능 요구사항 • 요약 소프트웨어 아키텍처

  3. 품질 • 사람들마다 저마다 “품질(Quality)”을 다르게 생각한다. 소프트웨어 아키텍처

  4. 품질 The totality of features and characteristics of a product or a service that bear on its ability to satisfy stated or implied needs. - ISO/IEC 9000 소프트웨어 아키텍처

  5. 품질속성 • 품질속성은 이해관계자들의 관심사와 요구사항을 그대로 반영한다. • 아키텍처는 이해관계자들이 원하는 수준으로 품질속성을 달성해야 한다. 품질속성이란 양이나 질로 관찰하여 수치로 측정할 수 있는 시스템의 특성이다. 소프트웨어 아키텍처

  6. 품질요구사항 품질요구사항이란 시스템이 제공해야 할 품질속성의 수준이다. 품질속성은 관찰할 수 있고 측정할 수 있어야 하기 때문에 품질요구사항도 가능하면 정확한 수치로 제시되어야 한다. 소프트웨어 아키텍처

  7. 품질모델 • 단순히 성능이 좋다거나 오류가 없다거나 쓰기 쉽다는 것으로 소프트웨어 시스템의 품질을 규정할 수 없다. • 품질모델(Quality Model)은 품질속성을 분류하고 정의하여 누구나 인정할 수 있는 품질 측정 기준을 정의한 것이다. • 품질모델을 도입하면 소프트웨어 시스템의 품질을 정식화(formalization)할 수 있다. 소프트웨어 아키텍처

  8. 품질모델 • 소프트웨어 품질모델 – 제품 품질과 공정 품질 소프트웨어 아키텍처

  9. 품질모델 • 아키텍처와 품질모델 소프트웨어 아키텍처

  10. 품질모델 • 제품 품질모델의 역사 소프트웨어 아키텍처

  11. 품질모델 • 품질모델 구조 (IEEE 1061) • Quality • 목표 시스템이 충족해야 할 품질 • Quality Factor • 사용자나 관리자 중심 • 시스템이 외부에 보이는 품질 • Characteristics, Factors라고도 함 • Quality Subfactor • 구현자 중심 • 시스템 내부에서 다루는 품질 • Quality Factor를 측정할 수 있는 소프트웨어 속성으로 바꾼 것 • Sub-characteristics, Criteria라고도 함 • Metric • 평가자 중심 • 품질을 측정하는 방법과 척도 소프트웨어 아키텍처

  12. 품질모델 • 품질모델 구조 적용 예(McCall 모델) 소프트웨어 아키텍처

  13. 품질모델 • McCall 모델 소프트웨어 아키텍처

  14. 품질모델 • Boëhm 소프트웨어 아키텍처

  15. 품질모델 • HP’s FURPS 소프트웨어 아키텍처

  16. 품질모델 • IBM’s CUPRIMDSO 소프트웨어 아키텍처

  17. 품질모델 • ISO/IEC 9126 소프트웨어 아키텍처

  18. 품질모델 • ISO/IEC 9126 소프트웨어 아키텍처

  19. 품질모델 • ISO/IEC 9126 소프트웨어 아키텍처

  20. 품질모델 • ISO/IEC 9126 소프트웨어 아키텍처

  21. 품질모델 • ISO/IEC 9126 소프트웨어 아키텍처

  22. 품질모델 • SAiP 소프트웨어 아키텍처

  23. 품질모델 • SAiP • 시스템 품질속성 • 가용성(Availability) • 보안(Security) • 성능(Performance) • 변경가능성(Modifiability) • 사용성(Usability) • 시험가능성(Testability) 소프트웨어 아키텍처

  24. 품질모델 • SAiP • 비즈니스 품질속성 • 적시성 (Time to Market) • 비용과 혜택 (Cost and Benefit) • 예상 시스템 수명 (Projected Lifetime of the System) • 목표 시장 (Targeted Market) • 공개 일정 (Rollout Schedule) • 기존 시스템과 통합 (Integration with Legacy Systems) 소프트웨어 아키텍처

  25. 품질모델 • SAiP • 아키텍처 품질속성 • 개념 무결성(Conceptual Integrity) • 정확성과 완결성(Correctness and Completeness) • 구축가능성(Buildability) 소프트웨어 아키텍처

  26. 품질속성 시나리오 • 시스템 결함의 15% 이상은 요구사항을 잘 못 파악해서 생긴다. • 어떤 요구사항이 어떤 품질속성과 연관이 있을까? 소프트웨어 아키텍처

  27. 품질속성 시나리오 • 품질속성 정의의 어려움과 대응 방법 소프트웨어 아키텍처

  28. 품질속성 시나리오 • 품질속성 시나리오 구조 • 자극원(Source of Stimulus) • 자극(Stimulus) • 환경(Environment) • 자극 대상(Artifact) • 반응(Response) • 반응 측정(Response Measure) 소프트웨어 아키텍처

  29. 품질속성 시나리오 • 품질속성 시나리오의 종류 • 일반(General) 품질속성 시나리오 • 모든 시스템에 적용할 수 있는 시나리오 • 구체(Concrete) 품질속성 시나리오 • 특정 상황에서 특정 시스템에 적용할 수 있는 시나리오 • 품질속성 명세 테이블을 만들어 일반 품질속성 시나리오를 만들고 일반 품질속성 시나리오로부터 구체 품질속성 시나리오를 만든다. 소프트웨어 아키텍처

  30. 품질속성 시나리오 • 품질속성 시나리오를 만들면? • 시스템이 달성해야 할 품질속성을 식별할 수 있다. • 시스템이 달성해야 할 품질속성의 목표를 찾을 수 있다.  품질 요구사항을 찾아낼 수 있다. 소프트웨어 아키텍처

  31. 품질속성 시나리오 • 일반 품질속성 시나리오와 구체 품질속성 시나리오 예제 소프트웨어 아키텍처

  32. 아키텍처가 다뤄야 하는 것들 • 아키텍처는 시스템에 필요한 쓸모, 아름다움, 짜임새를 모두 다뤄야 한다. 소프트웨어 아키텍처

  33. 아키텍처가 다뤄야 하는 것들 • 쓸모는 짜임새, 아름다움을 주도한다. • 쓸모와 짜임새와 아름다움은 조화를 이뤄야 한다. 하지만, 아키텍처가 고객이 원하는 쓸모를 충족시키지 못한다면 아무리 짜임새 있고 아름다워도 아무 소용없다. • 아키텍처는 고객이 원하는 쓸모를 충족시킬 수 있도록 아름다움과 짜임새를 결정하는 것이다. 소프트웨어 아키텍처

  34. 아키텍처가 다뤄야 하는 것들 • 고객이 원하는 쓸모가 바로 고객의 요구사항이다. • 고객의 요구사항은 기능 요구사항과 비기능 요구사항으로 나눌 수 있다 소프트웨어 아키텍처

  35. 아키텍처가 다뤄야 하는 것들 • 기능 요구사항 • 계좌를 개설한다. • 계좌를 통합한다. • … • 비기능 요구사항 • 사용자 요청을 처리하는 데 5초 이상 걸려선 안 된다. • 모든 거래는 암호화해야 한다. • … 소프트웨어 아키텍처

  36. 아키텍처와 기능 요구사항 • 시스템이 기능 요구사항을 충족시킨 정도를 기능성(functionality)이라고 한다. • 기능 요구사항은 시스템이 존재해야 하는 근본 원인이기 때문에 기능성이 100%가 되도록 아키텍처를 결정해야 한다. • 기능성과 비기능 요구사항과 관련된 다른 품질속성들은 거의 연관성이 없다. 소프트웨어 아키텍처

  37. 아키텍처와 비기능 요구사항 • 비기능 요구사항과 관련된 품질속성들은 서로 상충(trade-off)하는 경우가 많기 때문에 모든 품질속성을 100% 만족시킬 수는 없다. 전체 품질은 각 품질속성의 목표를 적절한 수준에서 조율한 수준에서 결정된다. 소프트웨어 아키텍처

  38. 아키텍처와 품질 • 아키텍처는 시스템이 달성해야 하는 품질들을 실현할 때 필요한 큰 그림을 결정하기 때문에 제일 중요하다. 따라서, 품질을 달성할 수 있도록 아키텍처를 분석하고 설계해야 한다. • 아키텍처만으로 품질들을 달성할 수 없다. 아키텍처가 구현, 설계, 배치 같은 모든 개발 공정에 제대로 반영될 때만 원하는 품질을 얻을 수 있다. 예를 들어, 사용성은 화면 설계와 사용자 인터페이스 프레임워크 구현에 크게 영향을 받는다. 하지만, 아키텍처는 시스템 전반에 걸친 품질속성을 담당한다. 시스템 전반의 사용성은 아키텍처가 결정해야 한다. • 고객이 원하는 품질(Quality)을 달성하려면 시스템은 기능 요구사항과 비기능 요구사항을 모두 충족시켜야 한다. 소프트웨어 아키텍처

  39. 아키텍처와 품질 소프트웨어 아키텍처

  40. 요약 • 시스템 품질은 제품 품질과 공정 품질로 나눠진다. • 고객이 원하는 품질(Quality)을 달성하려면 시스템은 기능 요구사항과 비기능 요구사항을 모두 충족시켜야 한다. • 사람들마다 품질을 다르게 생각하고 있기 때문에 ISO 9126 같은 품질모델로 품질을 정의해야 한다. • 품질속성 시나리오를 만들어서 시스템이 달성해야 할 품질속성 목표를 찾아 품질 요구사항을 정의한다. • 아키텍처는 기능 요구사항과 비기능 요구사항을 충족시킬 수 있는 시스템의 기초를 제공한다. • 다음 순서로 아키텍처를 만든다. 품질 시나리오 작성  품질 요구사항 도출  품질속성 달성 방안 선택  아키텍처 스타일 선택  아키텍처 구축  아키텍처 기술서 작성 소프트웨어 아키텍처

More Related