3. Contents
1
A Collection of Software Architecture Style
C1
Module Views
C2
A Tour of Some Module Style
C4
Tour of Some Component-and-Connector Styles
C6
Beyond the Basics
C3
Component-and-Connector Views
C7
Documenting Software Interfaces
C5
Allocation Views and a Tour of Some Allocation Styles
2
Beyond Structure: Completing the Documentation
C8
Documenting Behavior
C10
Building the Documentation Package
C9
Choosing the Views
C11
Reviewing an Architecture Document
3
Building the Architecture Documentation
8. I.4 Notations for Architecture Views
표기법(Notations)
뷰를문서화하기위한표기법은형식성(Formality)의정도에따라구별
비공식적인표기법
(InformalNotations)
선택된시스템을시각적인관례를일반적인목적의다이어그램과편집도구를이용한표기
자연어로기술되고, 특성화된의미(Semantic)은형식적으로분석하기어려움
준정형적표기법
(Semiformal notations)
미리제공된그래픽요소와구성규칙에따른표준화된표기법에의해기술된뷰
요소들의완전한의미적처리를제공하지는못한다. -UML
초보적인분석이적용가능
정형적표기법
(Formalnotations)
일반적으로수학적방법에기반한정확한의미를갖는표기법
구문과의미에대한형식분석이가능
-때때로특정스타일에특화됨
ADLs :Architecture Description Language
-도구와연계되어자동화된분석이가능함
There is no greater impediment to the advancement of knowledge than the ambiguity of words
-ThomasReid,
ScotishPhilosopher
10. 1.1 Overview
이번장에서는모듈뷰측면에서아래사항을살펴본다.
요소(Elements), 관계(Relations), 그리고특성(Properties)
목적(Purpose)과표기법(Notation)
다른뷰와의관계(Relation to other views)
요소
(Elements)
모듈은소프트웨어의구현단위
모듈은책임들의응집된셋을제공
관계
(Relations)
Ispart of :서브모듈과파트, 전체와연관모듈의부분과전체의관계를정의
Depends on : 두모듈사이의종속성을정의
Is a : 둘이상의특정모듈사이의일반화/특화관계를정의
제약사항
(Constrains)
여러모듈뷰들은토플러지에따른제약사항(Topological Constraints)을내포할수있음
목적
(WhatIt’s For)
코드작성을위한청사진제공
영향도분석향상
점진적개발계획
요구사항추적성분석지원
코드베이스의구조와시스템의기능성설명
작업할당, 구현일정, 예산정보정의지원
지속되어야하는정보구조설명
11. 1.2 Elements, Relations, Properties of Module Views
요소(Element)
모듈(Module)은책임의응집된셋을제공하는S/W의구현단위
책임(Responsibility)는아키텍처에기여하기위해예상되는것
시스템품질속성이나기능을위해수행되어야하는행위, 유지되는지식, 수행하는역할등을포함
모듈은합성(aggregated)이나분해(decomposed)가가능
관계(Relation)
Ispart of
Depends on
Is a
90. 5.4 Work Assignment Style
작업할당스타일의용도
동작하는시스템을구성하기위해주요소프트웨어단위들이표현된다.
주요소프트웨어단위들을누가만들어야하는지를보여준다.
자원할당과구축의책임, 프로젝트구조의설명을돕는다.
작업할당구조와예산/일정의추정의기초
표기법
작업할당구조뷰를위한특별한표기법은없다.
ECSElement (Modules)
Organizational Unit
Segment
Subsystem
ScienceData
Processing
Segment
(SDPS)
Client
Scienceteam
Interoperability
Prime contractor team 1
Ingest
Prime contractor team 2
Data Management
Data team
DataProcessing
Data team
DataServer
Data team
Planning
Orbitalvehicle team
Flight
Operations
Segment
(FOS)
Planning and Scheduling
Orbital vehicle team
Data Management
Database team
User Interface
User interfaceteam
…
…
…
ECS : NASA의사용- 작업할당뷰를테이블형식으로표현
97. 8.2 How to Document Behavior
1단계
해답이필요한질문의종류가
무엇인지결정하기
Decide What Kinds of Questions You Need to Answer
설계되는시스템의종류의존하고, 개발의단계, 그리고설계노력에초점을맞춘모델화하기위해행위의종류를결정
개발초기에는입력데이터가출력으로어떻게변환되는지에대한세부사항보다는요소들과요소들이어떻게상호작용하는지에중점
요소내에서변환행위가시스템의전체행위에영향을주기때문에요소내의변환행위에대한제한사항에대하여파악하는것은유용
최소한자극행위에대한모델과한요소에서다른요소로의정보의이전에대하여모델을만들어야한다.
문서는제약사항과상호작용에대한명시적인정보를포함해야한다.
2단계
어떤종류의정보가이용가능한지,
제한될수있는지를결정하기
Determine What Types of Information Are Available
or Can be Constrained
행위다이어그램은정보의전송측면과한요소에서다른요소로자극행위에대한설명을제공해야한다.
포함되는특성
일반적인목적/행위방법/적용범위
제약사항
순서에따른제약사항/시간에기반한자극
3단계
표기법선택하기
Choosea Notation
시스템행위에대한문서화를지원하는모든언어는반드시상호작용의시퀀스를묘사할수있어야한다.
시퀀스는시간에따른순서이며이것은시간기반의종속성을보여줄수있다.
상호작용과실행되는활동들의시퀀스는임의의자극이도착한다음에일어나는순서로표시된다.
행위문서화에서발견되는표현들
자극과활동, 상호작용의순서, 행위와연결되는관계의구조적요소
2가지종류의행위문서화방법
시나리오동안의시스템의구조적요소를통해일어나는것을문서화(traces)
구조적요소나요소셋의완전한행위를상태기반으로문서화(comprehensivemodel)
98. 8.3 Notation for Documenting Behavior
Trace표기법
Usecase diagram
Sequence diagram
Communicationdiagram
Activity diagram
State chart
Timing diagram
SDL
BPEL
SDL : Specification and Description Language
BPEL : Business Process Execution Language
99. 8.3 Notation for Documenting Behavior
Comprehensive Model 표기법
구조적요소들의완전한행위를표현한다.
초기상태에서최종상태까지의모든가능한경로를파악할수있다.
상태머신언어
제약사항과함께시스템요소의구조적인기술이가능
외부적또는환경적자극의일정시간내의반응을표현가능
Statemachine diagram
AADL
AADL : Architecture Analysis and Description Language
100. 8.4 Where to Document Behavior
행위문서화의위치
행위를아키텍처문서패키지의어느부분에기록할지는내용에따라다르다.
요소가특정방법으로자극을받을경우어떻게작동하는지를보여주고싶을때
전체시스템의포함요소의집합이서로어떻게상호작용하는지를보여주고싶을때
뷰개괄문서
아키텍처가어떻게요구사항을만족시키는지에대한논리적근거부분
설계정당성의일부로삽입가능
104. In this Chapter …
이장의목적은
아키텍처평가가아닌아키텍처의문서화를평가하는것이다.
목적의적합성을위한문서화리뷰
문서가올바른정보를적절한방법으로표현하고있는지확인
이번장에서는문서리뷰를위한절차를설명한다.
체크리스트는문서화산출물이적절한지를평가한다.
105. 11.1 Steps of the Procedure
문서리뷰절차
검토목적수립하기Establish the purpose of the review
1
검토대상설정하기Establish the subject of the review
2
적절한질문세트구성하기Build or adapt the appropriate question set(s)
3
리뷰의세부사항계획하기Plan the details of the review
4
리뷰수행Perform the review
5
결과를분석하고요약하기Analyze and summarize the results
6
106. 11.1 Steps of the Procedure
1단계-검토목적수립하기
이해당사자에의해설정된특정목적에부합하는검토목적수립
리뷰참가자와직접적인리뷰에중점
아키텍처문서는하나이상의목적에부합
다원적인리뷰가될수있다.
한가지목적을가진여러개의작은리뷰들은대안이될수있다.
검토목적수립시,
문서의리뷰의이해당사자를정의해야한다.
언제리뷰를할것인지결정해야한다.
–어떤수명주기프로세스를사용하든문제가되지않는다.
–리뷰목적에따라프로젝트단계또는마일스톤과연관된다.
Why?
Who?
When?
107. 11.1 Steps of the Procedure
개발주기와아키텍처리뷰
개발단계
활동
아키텍처설계리뷰
Concept
이해당사자의요구사항정의
개념, 목적, 다양한해결책탐색
대안적인아키텍처분석
아키텍처적인개념준비
계약협상의일부분으로고객과개발자
사이의의견교환
올바른이해당사자와관심사항의포착
제안에대한지원
Development
시스템요구사항정제하기
해결책에대한설명서만들기
시스템또는시스템들을구축
시스템에대한V&V(Verifying and Validating)
규범사양에적합성에대한지원
평가지원
개발지원
생성및분석도구에입력지원
아키텍처에대한구현적합성심사지원
프로젝트계획에대한지원
Utilization
사용자요구를충족시키기위한시스템의운영
운영오류에대한추적성지원
Support
지속적인시스템기능제공
아키텍처와관련된시스템진화와진화를
위한비즈니스계획과관련된지원