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
绪论软件构架及编档
第1部分软件构架视图类型及风格
1.1视图类型和风格目录
1.2风格指导:风格编档标准结构
第1章模块视图类型
1.1概述
1.2模块视图类型的元素.关系和特性
1.3模块视图类型支持什么和不支持什么
1.4模块视图类型的表示法
1.5与其他视图类型的关系
1.6总结检查表
1.7问题讨论
1.8更多阅读材料
第2章模块视图类型的风格
2.1分解风格
2.2使用风格
2.3泛化风格
2.4分层风格
2.5总结检查表
2.6问题讨论
2.7更多阅读材料
第3章组件和连接器视图类型
3.1概述
3.2C&C视图类型的元素.关系和特性
3.3C&C视图类型支持什么和不支持什么
3.4C&C视图类型表示法
3.5与其他视图类型的关系
3.6总结检查表
3.7问题讨论
3.8更多阅读材料
第4章组件和连接器视图类型的风格
4.1管道和过滤器风格
4.2共享数据风格
4.3发布-订阅风格
4.4客户机-服务器风格
4.5对等连接风格
4.6通信-进程风格
4.7C&C风格表示法
4.8总结检查表
4.9问题讨论
4.10更多阅读材料
第5章分配视图类型和风格
5.1概述
5.2元素.关系和特性
5.3部署风格
5.4实现风格
5.5工作任务风格
5.6总结检查表
5.7问题讨论
5.8更多阅读材料
第II部分软件构架编档实践
第6章高级概念
6.1信息分块:视图包.精化和描述完整性
6.2使用上下文图
6.3组合视图
6.4为可变性和动态编
6.5创建和编档新风格
6.6总结检查表
6.7问题讨论
6.8更多阅读材料
第7章软件接口编档
7.1概述
7.2接口规范
7.3接口文档的标准结构
7.4接口文档的涉众
7.5接口文档的表示法
7.6接口文档范例
7.7总结检查表
7.8问题讨论
7.9更多阅读材料
第8章行为编档
8.1结构之外的信息
8.2行为编档位置
8.3为什么需要编档行为
8.4编档内容
8.5编档行为的方式:表示法和语言
8.6总结检查表
8.7问题讨论
8.8更多阅读材料
第9章视图的选择
9.1涉众及其文档需求
9.2做出选择
9.3两个范例
9.4总结检查表
9.5问题讨论
9.6更多阅读材料
第10章制作文档包
10.1采用一个文档还是若干文档?
10.2视图编档
10.3编档视图之外的信息
10.4软件构架文档的验证
10.5总结检查表
10.6问题讨论
10.7更多阅读材料
第11章其他视图和视图外信息
11.1概述
11.2Rational统一过程/Kruchten4+1
11.3UML
11.4西门子4种视图
11.5C41SR构架框架
11.6ANSI/IEEE-1471-2000
11.7数据流和控制流
11.8RM-ODP
11.9如何结束构架编档
11.10尾声
11.11更多阅读材料
附录A软件构架文档包摘录
卷I:ECS视图外软件构架文档
卷IIECS软件构架视图
术语表
参考文献
索引