BLOG main image
분류 전체보기 (344)
NWC Consulting (1)
서비스 (173)
출판 (169)
일반 (0)
200,270 Visitors up to today!
Today 26 hit, Yesterday 50 hit
daisy rss
2013.05.06 11:47

요구사항은 일반적으로 기능요구사항와 비기능요구사항으로 구분된다. 비기능요구사항은 품질속성 요구사항과 제약사항으로 구분된다.

저자들은 비기능요구라는 용어를 사용하지 않고, 요구사항을 기능 요구사항(Functional requirements), 품질속성 요구사항(Quality attribute requirements), 제약사항(Constraints)과 같이 구분하고 있다.

기능 요구사항은 시스템이 무엇을 해야 하는지와 사용자와 시스템이 어떻게 상호작용해야 하는지를 나타낸다.

품질속성 요구사항은 기능 요구사항이나 전체 시스템의 품질에 대한 요구사항이다.

제약사항은 선택의 자유도가 없는 이미 정해진 설계 결정이다. 프로그래밍 언어나 기존 모듈의 재사용이나 서비스 지향으로 시스템을 개발할 것과 같은 것들은 시스템 개발 전에 결정되어 제약으로 사용될 수 있다.

 

이들 요구사항들과 아키텍처는 어떤 관계가 있을까?

기능 요구사항은 설계를 통해 아키텍처 요소들에게 적당하게 책임을 부여함으로 만족되어진다.

품질속성 요구사항은 아키텍처로 설계된 다양한 구조들에 의해 만족된다.

제약사항은 설계 결정을 수용하고, 다른 영향 받는 설계 결정들을 잘 조화시킴으로 만족된다.

What is the “response” of architecture to each of these kinds of requirements?

1. Functional requirements are satisfied by assigning an appropriate sequence of responsibilities throughout the design. As we will see later in this chapter, assigning responsibilities to architectural elements is a fundamental architectural design decision.

2. Quality attribute requirements are satisfied by the various structures designed into the architecture, and the behaviors and interactions of the elements that populate those structures. Chapter 17 will show this approach in more detail.

3. Constraints are satisfied by accepting the design decision and reconciling it with other affected design decisions.

저작자 표시 비영리 변경 금지
신고
Name
Password
Homepage
Secret
2013.05.06 11:19

이 시점에서 이 책을 읽는 독자들은 다음과 같은 것들이 궁금할 것 같다. 

품질속성이 뭐야? 왜 품질속성이라고 했을까?

품질속성이란 것은 시스템에 요구되는 것이라고 했는데, 그럼 요구사항이 아닌가?

품질속성 요구사항을 어떻게 명세하지?

품질속성은 아키텍처에 의해 달성된다고 했는데 품질속성을 달성하기 위한 아키텍처는 어떻게 설계할것인가?

아키텍처에 의해 품질속성이 달성되었는지를 어떻게 알 수 있는가? 어떻게 평가할 것인가?

 

저자들은 품질속성에 대해서 다음과 같이 정의한다.

A quality attribute is a measurable or testable property of a system that is used to indicate how well the system satisfies the needs of its stakeholders.

시스템은 여러 종류의 속성들을 갖는다. 품질속성은 품질에 대한 시스템 속성이다. 품질속성은 시스템이 이해관계자들의 품질에 대한 니즈를 얼마나 잘 만족시켜주는가를 나타내는데 사용된다. 품질속성은 정도를 나타내는 것으로 측정되고 시험가능해야 한다.

 

저자는 우리에게 다음과 같은 세 가지를 알려주기 원한다고 한다.  다행이도 우리가 알고자 하는 것들을 포함하고 있다.

How to express the qualities we want our architecture to provide to the system or systems we are building from it.

How to achieve those qualities.

How to determine the design decisions we might make with respect to those qualities.

저작자 표시 비영리 변경 금지
신고
Name
Password
Homepage
Secret
2013.05.04 12:02

2부에서 저자들이 알려주고자 하는 것은 무엇인가?

특별한 품질속성을 달성하기 위해 어떻게 아키텍처를 설계하고 분석할 것인가에 대한 알려주고자 한다. 프로세스는 언급하지 않는데, 이것은 3부에서 다룬다.

4장에서는 품질속성 요구사항을 어떻게 명세하고, 품질속성을 달성하도록 하는 설계기술(전술)을 다룬다. 저자들은 설계결정을 7가지 카테고리(availability, interoperability, modifiability, performance, security, testability, usability)로 구분해서 다룬다.

5장에서 11장까지는 4장에서 언급한 7가지 카테고리를 하나 하나 다룬다.

13장에서는 가장 중요한 패턴들 중의 몇몇을 언급하고, 패턴과 전술 사이의 관계에 대해서 다룬다.

14장에서는 특별한 품질속성에 대한 설계를 분석하는 기술로 모델링 기술을 다룬다.

저작자 표시 비영리 변경 금지
신고
Name
Password
Homepage
Secret

티스토리 툴바