AbouttheCover
Foreword
Preface
Acknowledgments
Reader'sGuide
Prologue:SoftwareArchitecturesandDocumentation
P.1TheRoleofArchitecture
ComingtoTerms:SoftwareArchitecture
Perspectives:What'stheDifferenceBetweenNchitectureandDesign?
ComingtoTerms:Documentation,Description,Representation,Specification
P.2UsesofArchitectureDocumentation
P.3Interfaces
P.4Views
ComingtoTerms:ArchitecturalViews
P.5ViewtypesandStyles
P.5.1Viewtypes
P.5.2Styles
P.5.3Summary:Viewtypes,Styles,andViews
ComingtoTerms:Module,Component
P.6SevenRulesforSoundDocumentation
P.6.1Rule1:WriteDocumentationfromtheReader'sPointofView
P.6.2Rule2:AvoidUnnecessaryRepetition
P.6.3Rule3:AvoidAmbiguity
P.6.4Rule4:UseaStandardOrganization
P.6.5Rule5:RecordRationale
P.6.6Rule6:KeepDocumentationCurrentButNotTooCurrent
P.6.7Rule7:ReviewDocumentationforRtnessofPurpose
Perspectives:QuiveringatArrows
R7SummaryChecklist
R8DiscussionQuestions
R9ForFurtherReading
PartISoftwareArchitectureViewtypesandStyles
I.1ViewtypesandStyleCatalog
I.1.1ModuleViewtype
I.1.2Component-and-ConnectorViewtype
I.1.3AllocationViewtype
1.2StyleGuides:AStandardOrganizationforDocumentingaStyle
Chapter1TheModuleViewtype
1.1Overview
1.2Elements,Relations,andPropertiesoftheModuleViewtype
1.2.1Elements
1.2.2Relations
1.2.3Properties
ComingtoTerms:Substitutability
1.3WhattheModuleViewtypeIsForandWhatIt'sNotFor
1.4NotationsfortheModuleViewtype
1.4.1InformalNotations
1.4.2UML
1.5RelationtoOtherViewtypes
1.6SummaryChecklist
1.7DiscussionQuestions
1.8ForFurtherReading
Chapter2StylesoftheModuleVlewtype
2.1DecompositionStyle
2.1.1Overview
2.1.2Elements,Relations,andProperties
2.1.3WhattheDecompositionStyleIsForandWhatIt'sNotFor
2.1.4NotationsfortheDecompositionStyle
2.1.5RelationtoOtherStyles
2.1.6ExamplesoftheDecompositionStyle
ComingtoTerms:Subsystem
2.2UsesStyle
2.2.1Overview
2.2.2Elements,Relations,andProperties
2.2.3WhattheUsesStyleIsForandWhatIt'sNotFor
2.2.4NotationsfortheUsesStyle
2.2.5RelationtoOtherStyles
2.2.6ExampleoftheUsesStyle
ComingtoTerms:Uses
2.3GeneralizationStyle
2.3.1Overview
2.3.2Elements,Relations,andProperties
2.3.3WhattheGeneralizationStyleIsForandWhatIt'sNotFor
2.3.4NotationsfortheGeneralizationStyle
2.3.5RelationtoOtherStyles
ComingtoTerms:Generalization
2.3.6ExamplesoftheGeneralizationStyle
2.4LayeredStyle
2.4.1Overview
2.4.2Elements,Relations,andProperties
2.4.3WhattheLayeredStyleIsForandWhatIt'sNotFor
2.4.4NotationsfortheLayeredStyle
2.4.5RelationtoOtherStyles
2.4.6ExamplesoftheLayeredStyle
ComingtoTerms:VirtualMachines
Perspectives:UpwardlyMobileSoftware
Perspectives:LevelsofDistraction
Perspectives:UMLClassDiagrams:TooMuch,TooLittle
2.5SummaryChecklist
2.6DiscussionQuestions
2.7ForFurtherReading
chapter3TheComponent-and-ConnecterVlewtype
3.1Overview
3.2Elements,Relations,andPropertiesoftheC&CViewtype
3.2.1Elements
3.2.2Relations
3.2.3Properties
Perspectives:AreConnectorsNecessary?
Perspectives:ChoosingConnectorAbstractions
3.3WhattheC&CViewtypeIsForandWhatIt'sNotFor
Perspectives:DataFlowandControlFlowProjections
3.4NotationsfortheC&CViewtype
3.5RelationtoOtherViewtypes
3.6SummaryChecklist
3.7DiscussionQuestions
3.8ForFurtherReading
Chapter4StylesoftheComponent-and-connectorViewtype
4.1ThePipe-and-FilterStyle
4.1.1Overview
4.1.2Elements,Relations,andProperties
4.1.3WhatthePipe-and-RIterStyleisForandWhatIt'sNotFor
4.1.4RelationtoOtherStyles
4.1.5ExamplesofthePipe-and-FilterStyle
4.2Shared-DataStyle
4.2.1Overview
4.2.2Elements,Relations,andProperties
4.2.3WhattheShared-DataStyleIsForandWhatIt'sNotFor
4.2.4RelationtoOtherStyles
4.2.5ExampleoftheShared-DataStyle
4.3Publish-SubscribeStyle
4.3.1Overview
4.3.2Elements,Relations,andProperties
4.3.3WhatthePublish-SubscribeStyleIsForandWhatIt'sNotFor
4.3.4RelationtoOtherStyles
4.3.5ExamplesofthePublish-SubscribeStyle
4.4Client-ServerStyle
4.4.1Overview
4.4.2Elements,Relations,andProperties
4.4.3WhattheClient-ServerStyleIsForandWhatIt'sNotFor
4.4.4RelationtoOtherStyles
4.4.5ExamplesoftheClient-ServerStyle
4.5Peer-to-PeerStyle
4.5.1Overview
4.5.2Elements,Relations,andProperties
4.5.3WhatthePeer-to-PeerStyleIsForandWhatIt'sNotFor
4.5.4RelationtoOtherStyles
4.5.5ExamplesofthePeer-to-PeerStyle
4.6Communicating-ProcessesStyle
4.6.1Overview
4.6.2Elements,Relations,andProperties
4.6.3WhattheCommunicating-ProcessesStyle
IsForandWhatIt'sNotFor
4.6,4RelationtoOtherStyles
4.6.5ExamplesoftheCommunicating-ProcessesStyle
4.7NotationsforC&CStyles
4.7.1InformalNotations
4.7.2FormalNotations
Perspectives:UsingClassestoRepresentComponentTypesandInstances
ComingtoTerms:ComponentsVersusUMLComponents
4.8SummaryChecklist
4.9DiscussionQuestions
4.10ForFurtherReading
chapter5TheAllocationVlewtypeandStyles
5.1Overview
5.2Elements,Relations,andPropertiesoftheAllocationViewtype
5.3DeploymentStyle
5.3.1Overview
5.3.2Elements,Relations,andProperties
5.3.3WhattheDeploymentStyleIsForandWhatIt'sNotFor
5.3.4NotationfortheDeploymentStyle
5.3.5RelationtoOtherStyles
5.3.6ExamplesoftheDeploymentStyle
5.4implementationStyle
5.4.1Overview
5.4.2Elements,Relations,andProperties
5.4.3WhattheimplementationStyleIsForandWhatIt'sNotFor
5.4.4NotationfortheImplementationStyle
5.4.5RelationtoOtherStyles
5.4.6ExampleoftheimplementationStyle
5.5WorkAssignmentStyle
5.5.1Elements,Relations,andProperties
5.5.2WhattheWorkAssignmentStyleIsForandWhatIt'sNotFor
5.5.3NotationsfortheWorkAssignmentStyle
5.5.4RelationtoOtherStyles
5.5.5ExampleoftheWorkAssignmentStyle
5.6SummaryChecklist
5.7DiscussionQuestions
5.8ForFurtherReading
PartIISoftwareArchitectureDocumentationinPractice
Chapter6AdvancedConcepts
6.1ChunkingInformation:viewPackets,Refinement,
andDescdptiveCompleteness
6.1.1ViewPackets
6.1.2Refinement
6.1.3DescriptiveCompleteness
6.2UsingContextDiagrams
6.2.1Top-LevelContextDiagrams
6.2.2ContentofaContextDiagram
6.2.3ContextDiagramsandOtherSupportingDocumentation
6.2.4NotationsforContextDiagrams
6.2.5ExampleofaContextDiagram
6.3CombinedViews
6.3.1WhentoCombineViews
6.3.2TypesofMapping
6.3.3Elements,Relations,andProperties
6.3.4DocumentingCombinedViews
6.3.5ExamplesofCombinedViews
6.3.6OtherExamples
6.4DocumentingVariabilityandDynamism
6.4.1Variability
6.4.2Dynamism
6.4.3RecordingtheInformation
6.4.4NotationsforVariabilityandDynamism
Perspectives:WhatTimeIsIt?.
6.5CreatingandDocumentingaNewStyle
ComingtoTerms:Styles,Patterns
6.6SummaryChecklist
6.7DiscussionQuestions
6.8ForFurtherReading
Chapter7DocumentingSoftwareInterfaces
7.1Overview
7.2InterfaceSpecifications
7.3AStandardOrganizationforInterfaceDocumentation
ComingtoTerms:ExceptionsandErrorHandling
7.4StakeholdersofInterfaceDocumentation
7.5NotationforInterfaceDocumentation
7.5.1ShowingtheExistenceofInterfaces
7.5.2ConveyingSyntacticInformation
7.5.3ConveyingSemanticInformation
7.5,4Summary
Perspectives:Multipleinterlaces
ComingtoTerms:Signature,Interface,APl
7.6ExamplesofInterfaceDocumentation
7.6.1SCR-StyleInterface
7.6.2IDL
7.6.3CustomNotation
7.6.4XML
7.7SummaryChecklist
7.8DiscussionQuestions
7.9ForFurtherReading
chppter8DocumentingBehavior
8.1BeyondStructure
8.2WheretoDocumentBehavior
8.3WhytoDocumentBehavior
8.3.1SystemAnalysis
8.3.2DrivingDevelopmentActivities
8.4WhattoDocument
8.4.1TypesofCommunication
8.4.2ConstraintsonOrdering
8.4.3Clock-TriggeredStimulation
8.5HowtoDocumentBehavior:NotationsandLanguages
8.5.1Traces
8.5.2StaticModels
8.6SummaryChecklist
8.7DiscussionQuestions
8.8ForFurtherReading
Chapter9ChoosingtheViews
9.1StakeholdersandTheirDocumentationNeeds
Perspectives:ArchitectureTrade-offAnalysisMethod
9.2MakingtheChoice
9.3TwoExamples
9.3.1ASmallProject:A-7E
9.3.2ALargeProject:ECS
9.4SummaryChecklist
9.5DiscussionQuestions
9.6ForFurtherReading
Chapter10BuildingtheDocumentationPackage
10.1OneDocumentorSeveral?
Perspectives:WhattheMeaningof"Is"Is
10,2DocumentingaView
Perspectives:PresentationIsAiscImportant
10.3DocumentationBeyondViews
10.3.1HowtheDocumentationIsOrganizedtoServeaStakeholder
10.3.2WhattheArchitectureIs
10.3.3WhytheArchitectureIstheWayItIs:Background,DesignConstraints,andRationale
Perspectives:GlobalAnalysis
10.4ValidatingSoftwareArchitectureDocumentation
Perspectives:AGlossaryWouldHaveHelped
10.5SummaryChecklist
10.6DiscussionQuestions
10.7ForFurtherReading
Chapter11OtherViewsandBeyond
11.1Overview
11.2RationalUnifiedProcess/Kruchten4+1
11.3UML
11.3.1ClassandObjectDiagrams
11.3.2ComponentDiagrams
11.3.3DeploymentDiagrams
11.3.4BehavioralDiagrams
11.4SiemensFourViews
11.4.1GlobalAnalysis
11.4.2ConceptualArchitectureView
11.4.3ModuleArchitectureView
11.4.4ExecutionArchitectureView
11.4.5CodeArchitectureView
11.4.6Summary
11.5C41SRArchitectureFramework
11.5.1CommonArchitecturalViewsoftheC41SRFramework
11.5.2CommonProducts
11.6ANSI/IEEE-1471-2000
11.7DataFlowandControlFlow
11.7.1DataFlowViews
11.7.2ControlFlowViews
Perspectives:You'reAllJustGuessing!
11.8RM-ODP
11.9WhereArchitectureDocumentationEnds
11.9.1ArchitectureDescriptionLanguages
11.9.2CommercialComponents
11.9.3HypertextDocumentation
11.9.4ConfigurationManagement
11.10AFinalWord
11.11ForFurtherReading
AppendixA,ExcerptsfromaSoftwareArchitecture
DocumentationPackage
VolumehECSSoftwareArchitectureDocumentation
BeyondViews
VolumeII:ECSSoftwareArchitectureViews
Glossary
References
Index
緒論軟件構(gòu)架及編檔
第1部分軟件構(gòu)架視圖類型及風(fēng)格
1.1視圖類型和風(fēng)格目錄
1.2風(fēng)格指導(dǎo):風(fēng)格編檔標(biāo)準(zhǔn)結(jié)構(gòu)
第1章模塊視圖類型
1.1概述
1.2模塊視圖類型的元素.關(guān)系和特性
1.3模塊視圖類型支持什么和不支持什么
1.4模塊視圖類型的表示法
1.5與其他視圖類型的關(guān)系
1.6總結(jié)檢查表
1.7問題討論
1.8更多閱讀材料
第2章模塊視圖類型的風(fēng)格
2.1分解風(fēng)格
2.2使用風(fēng)格
2.3泛化風(fēng)格
2.4分層風(fēng)格
2.5總結(jié)檢查表
2.6問題討論
2.7更多閱讀材料
第3章組件和連接器視圖類型
3.1概述
3.2C&C視圖類型的元素.關(guān)系和特性
3.3C&C視圖類型支持什么和不支持什么
3.4C&C視圖類型表示法
3.5與其他視圖類型的關(guān)系
3.6總結(jié)檢查表
3.7問題討論
3.8更多閱讀材料
第4章組件和連接器視圖類型的風(fēng)格
4.1管道和過濾器風(fēng)格
4.2共享數(shù)據(jù)風(fēng)格
4.3發(fā)布-訂閱風(fēng)格
4.4客戶機-服務(wù)器風(fēng)格
4.5對等連接風(fēng)格
4.6通信-進(jìn)程風(fēng)格
4.7C&C風(fēng)格表示法
4.8總結(jié)檢查表
4.9問題討論
4.10更多閱讀材料
第5章分配視圖類型和風(fēng)格
5.1概述
5.2元素.關(guān)系和特性
5.3部署風(fēng)格
5.4實現(xiàn)風(fēng)格
5.5工作任務(wù)風(fēng)格
5.6總結(jié)檢查表
5.7問題討論
5.8更多閱讀材料
第II部分軟件構(gòu)架編檔實踐
第6章高級概念
6.1信息分塊:視圖包.精化和描述完整性
6.2使用上下文圖
6.3組合視圖
6.4為可變性和動態(tài)編
6.5創(chuàng)建和編檔新風(fēng)格
6.6總結(jié)檢查表
6.7問題討論
6.8更多閱讀材料
第7章軟件接口編檔
7.1概述
7.2接口規(guī)范
7.3接口文檔的標(biāo)準(zhǔn)結(jié)構(gòu)
7.4接口文檔的涉眾
7.5接口文檔的表示法
7.6接口文檔范例
7.7總結(jié)檢查表
7.8問題討論
7.9更多閱讀材料
第8章行為編檔
8.1結(jié)構(gòu)之外的信息
8.2行為編檔位置
8.3為什么需要編檔行為
8.4編檔內(nèi)容
8.5編檔行為的方式:表示法和語言
8.6總結(jié)檢查表
8.7問題討論
8.8更多閱讀材料
第9章視圖的選擇
9.1涉眾及其文檔需求
9.2做出選擇
9.3兩個范例
9.4總結(jié)檢查表
9.5問題討論
9.6更多閱讀材料
第10章制作文檔包
10.1采用一個文檔還是若干文檔?
10.2視圖編檔
10.3編檔視圖之外的信息
10.4軟件構(gòu)架文檔的驗證
10.5總結(jié)檢查表
10.6問題討論
10.7更多閱讀材料
第11章其他視圖和視圖外信息
11.1概述
11.2Rational統(tǒng)一過程/Kruchten4+1
11.3UML
11.4西門子4種視圖
11.5C41SR構(gòu)架框架
11.6ANSI/IEEE-1471-2000
11.7數(shù)據(jù)流和控制流
11.8RM-ODP
11.9如何結(jié)束構(gòu)架編檔
11.10尾聲
11.11更多閱讀材料
附錄A軟件構(gòu)架文檔包摘錄
卷I:ECS視圖外軟件構(gòu)架文檔
卷IIECS軟件構(gòu)架視圖
術(shù)語表
參考文獻(xiàn)
索引