版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DescriptionofSoftwareArchitectures
软件体系结构描述
梁
鹏
武汉⼤学计算机学院
liangp@
Whyarchitecturedescription?
|2
Overview
3
›
Whatisanarchitecturedescription?
›
ISOstandardforarchitecturedescription
›
Arch.representationinarchitectureviews
›
Howtoobtainasetofarch.views
SoftwaredesigninUML
4
Classdiagrams,statediagrams,sequencediagram,etc
›
›
Whocanreadthosediagrams?
›
Whichtypeofquestionsdotheyanswer?
›
Dotheyprovideenoughinformation?
Whocanreadthosediagrams?
5
Designer,programmer,tester,maintainer,etc.
›
›
Client?
›
User?
Whichtypeofquestionsdotheyanswer?
6
›
›
›
›
›
Howmuchwillitcost?
Howsecureandreliablewillthesystembe?Howaboutmaintenancecost?
Howtoevolvethesystemtomeetnewrequirements?
WhatifrequirementAisreplacedbyrequirementB?
Buildingarchitecture
7
Fire
Engineer
Plumber
StructureEngineer
Electrician
Analogywithbuildingarchitecture
8
›
›
›
›
›
Overallpictureofbuilding(client)Frontview(client,“beauty”committee)
Separatepictureforwatersupply(plumber)
Separatepictureforelectricalwiring(electrician)etc
Architecturepresentationsinpractice
9
Byandlargetwoflavors:
›
•
Powerpointslides(boxandline)–formanagers,users,consultants,etc
UMLdiagramsinUMLnotations,fortechnicians
•
›
Asmallsampleinpractice…
Eclipse1.0architecture
10
Eclipse3.0architecture(evolution)
11
EarthObservingSystem
12
Decision-MakingSystem
13
SA-Representations,13
©HansvanVliet,2012
直播系统
|14
支付宝钱包系统处理架构
|15
So,…
16
›
Differentrepresentations
›
Fordifferentpeople
›
Fordifferentpurposes
Overview
17
›
Whatisanarchitecturedescription?
›
ISOstandardforarchitecturedescription
›
Architectureviews
›
Howtoobtainasetofarch.views
Conceptualmodelofarchitecture
description[fromStd42010]
18
Thinkaboutmodelastemplate
19
Someterms/definitions(fromISOstandard)
20
Systemstakeholder:individual,team,organization,orclassesthereof,anyonehavinganinterestinasystem
View:expressesthearchitectureofasystemfromtheperspectiveofspecificsystemconcerns
Viewpoint:establishestheconventionsfortheconstruction,interpretationanduseofarchitectureviewstoframespecificsystemconcerns
›
›
›
›
›
view:viewpoint::program:programminglanguage
view:viewpoint::map:legend
Possibleconcerns(QAsfromISOstandard)
21
Externalquality
›
•
•
•
•
•
Developmentcost
Customerexperience(usability)Availability
Performance
…
›
Internalquality
•
•
•
•
•
EvolvabilityMaintainabilityTestabilityChangeability
…
Thetwinpeaks
22
ArchitectingisNOTindependentfromReqsEng.
QualityattributeScenarios
23
•
QualityattributescanbemadeSMARTbydefiningappropriatescenarios
Qualityattributescenariosaredefinedby:
•
ØØ
Ø
Thesourceofthestimulus:HumanormachineThestimulus(event)
Theenvironmentorconditionwherethestimulusoccurs
Theresponsemeasure:Time,valueandlocation
Ø
非功能属性逐渐随应用情景的量化
ExamplePerformanceScenarios
24
StimulusInitiateTransaction
ResponseTransactionprocessed
MeasureAveragelatency2s
Source
User
Artifact
System
EnvironmentNormaloperation
Importantbusiness-relatedQAs
25
•
•
•
•
•
•
•
•
Time-to-marketCostprice
ReturnonInvestment(ROI)
TotalCostofOwnership(TCO)Lifetimeofthesystem
Integrationwithexisting(legacy)systemsMarketingfeatures
Etc.
ImportantDesign-timeQAs
26
AN=ArchitecturalinNature
Q-Attribute
AN?
Architecturalissues
Modifiability
Yes
Modularity
Well-encapsulatedcomponents
Portability
Yes
Portabilitylayerorcomponents
Reusability
Yes
Well-specifiedcomponentsLoosecomponentcoupling
IntegrabilityInteroperability
Yes
CompatibleconnectionmechanismsComplete&consistentinterfaces
Testability
Yes
Modular&encapsulatedcomponentsIncrementalbuildsalongassociations
ImportantRun-timeQAs
27
AN=ArchitecturalinNature
Q-Attribute
AN?
Architecturalissues
Dependability
›Timeliness
›Performance
›Reliability
›Availability
›Safety
›Security
Yes
WorstcaseresponsetimeAverageresponsiveness
MeanTimeToFailure(MTTF)AV=MTTF/(MTTF+MTTR)
AbsenceofcatastrophicfailuresResistancetounauthorizedusage
Usability
Partly
Properinf.flow&representationResponsiveness
Scalability
Yes
Hasmanyaspects
Contextofarchitecturedescription
[fromStd4201208 ]
Stakeholders
29
›
›
›
›
›
›
›
›
›
›
›
CustomerUserArchitect
RequirementsengineerDesigner
Implementer
Tester,integratorMaintainerProductmanager
Qualityassurancepeople
…
Viewpointspecification
30
[fromStd42010]
›
›
›
›
ViewpointnameStakeholdersaddressedConcernsaddressedLanguage,modeling
techniques
30
Exampleview:contextviewofSagitta2000
31
«system»
Workflowmanager
«call/return»
Call
«call/return»
Call
Douane
«call/return»
Call
«filetransfer»
File
«filetransfer»
File
«system»
«system»Sagitta2000/SDDouane
«system»
Inkomendepoort
Uitgaandepoort
Douane
Douane
«call/return»
«call/return»
Call
«call/return»
«call/return»
Call
Call
Call
«call/return»
«call/return»
«call/return»
Call
«call/return»
Call
«call/return»
Call
Call
C
ll
Basisregistratieen-algoritmen
«system»
«system»
Klanten
Tarieven&maatregelen
Bel.dienst
Douane
«syste
«system»
«system»
Cod
Risico's
Vergunningen&zekerheden
Douan
Douane
Douane
«shared»HeffingenAfdelinginnings
«shared»KlantenBelasting-dienst
«shared»Tarieven&maatregelenDouane
«shared»Vergun-ningen&zekerhedenDouane
«shared»CodesDouane
«shared»Risico'sDouane
«system»
Inning
Inning
m»se
Exampleviewpointdefinition
32
Name:Contextviewpoint
Stakeholders:systemowners,maintainersConcerns:systemboundaries,effectofchangesLanguage:UMLvariant
›
›
›
›
«system»
Has
System
Owner
Call
«shared»DatabaseOwner
Call/Return
Has
Return
Fro
«filetransfer»
File
«call/return»
Call
(a)
(b)
m
T
Filetransfer
Owner
System
Shareddatabase
Uses
Overview
33
›
Whatisanarchitecturedescription?
›
ISOstandardforarchitecturedescription
›
Architectureviews
›
Howtoobtainasetofarch.views
Keyconceptsofviewsandviewpoints
34
Aviewpointcoversoneormoreconcerns
›
›
Viewpointsseparateconcerns
›
Aviewconformstoaviewpoint
›
Aviewconsistsofoneormoremodels
Anarchitecturedescriptionisorganizedinoneormoreviews
›
The4+1viewmodel
35
End-userFunctionality
ProgrammersSoftwaremanagement
Scenariousecase
IntegratorsPerformanceScalability
Systemengineers
TopologyCommunications
DeploymentViewpoint
ProcessViewpoint
ImplementationViewpoint
s
LogicalViewpoint
The4+1viewmodel
36
CodeorganizationConfiguration,BuildingOS,DB,Middleware
LogicalorganizationAllocationoffunctionality
Use-caseview
What
Runtime
Physicaldistribution
ofHW&SW(topology)
Concurrency,Communication&Synchronization
Deploymentview
Processview
Implementationview
Logicalview
38
UML符号简介
Exampleofusecaseview
39
ATM
BankClient
WithdrawMoney
TransferMoney
SaveMoney
4+1:Logical/ConceptualViewpoint
40
Thelogicalviewpointsupportsthefunctionalrequirements,i.e.,theservicesthesystemshouldprovidetoitsendusers.
›
Typically,itshowsthekeyabstractions(e.g.,classesandinteractionsamongstthem).
›
Exampleoflogicalview
41
CardReader
<<use>>
Display
<<send>
>
<<use>>
<<create>>
<<use>>
BankClient
<<send>>
<<use>>
<<send>>
<<use>>
<
<<use>>
Sensor
<use>>
AccountManager
Cashier
Dispenser
BankAccount
Keyboard
Transaction
Actor
dependency
Class
4+1:ProcessViewpoint
42
Theprocessviewpointgivesthemappingoffunctionstoruntimeelements
›
Ittakesintoaccountsomenonfunctionalrequirements,suchasperformance,systemavailability,concurrencyanddistribution,systemintegrity,andfault-tolerance.
›
Exampleofprocessview
43
2:withdrawrequest
1:authentifyuser
:casherinterface
3:confirm
:bankaccount
:BankClient
:withdrawer
5:dispatchnotes
4:authorize
:dispenser
4+1:ImplementationViewpoint
44
Theimplementationviewpointfocusesontheorganizationoftheactualsoftwaremodulesinthesoftware-developmentenvironment.
›
Thesoftwareispackagedinsmallchunks-programlibrariesorsubsystems-thatcanbedevelopedbyoneormoredevelopers.
›
Exampleofimplementationview
45
<<compile>>
<<trace>>
<<trace>>
Dispenser
<<file>>
dispenser.c
Sensor
Transmitter
<<file>>
client.c
Client
management
<<executable>>
client.exe
4+1:DeploymentViewpoint
46
›
Thedeploymentviewpointdefineshowthevariouselementsidentifiedinthelogical,process,andimplementationviewpoints-networks,processes,tasks,andobjects-mustbemappedontothevariousnodes.
›
Ittakesintoaccountthesystem'snonfunctionalrequirementssuchassystemavailability,reliability(fault-tolerance),performance(throughput),andscalability.
Exampleofdeploymentview
47
ATMServer
<<file>>
dispenser.c
ATMTerminal
<<executable>>
client.exe
<<file>>
client.c
Using4+1viewinUML
48
Usecaseview
Logical&processview
Implementationview
<<trace>>
<<trace>>
<<trace>
<<trace>>
<<trace>>
Deploymentview
Deploymentmodel
Testmodel
>
Implementati
onmodel
Designmodel
Analysismodel
Usecasemodel
TraceabilityofModels
49
用例视图
逻辑&过程视图
实现视图
《跟踪》
《跟踪》
《跟踪》
《跟踪》
《跟踪》
部署视图
UML2.0
实施模型
测试模型
实现模型
设计模型
分析模型
用例模型
RationalRosein4+1view
50
RationalRosein4+1view
51
ArchitecturalviewsfromBass(view=representationofastructur52e)
Moduleviews
›
Moduleisunitofimplementation
Decomposition,uses,layered,class,datamodel
•
•
›
Componentandconnector(C&C)views
•
•
Theseareruntimeelements
Service,concurrency
›
Allocationviews
Relationshipbetweensoftwareelementsandenvironment
Workassignment,deployment,implementation
Componentandconnectorviews
53
Service:unitsthatinteroperatebyservicecoordinationmechanisms
Concurrency:todetermineopportunitiesforparallelism(connector=logicalthread)
›
›
Allocationviews
54
Deployment:howsoftwareisassignedtohardwareelements
Implementation:howsoftwareismappedontofilestructures
Workassignment:whoisdoingwhat
›
›
›
Crosscuttingviewpoints(perspectives)
55
Securityshowsupinfunctionalviewasuserauthentication,andindeploymentviewasfirewall
›
Performanceshowsupinfunctionalviewincomponentcoupling,indeploymentviewasdistributedtopology
›
Problems/pitfallsinarchitectureviews
56
Poorlydefinedinterfaces
PoorlyunderstoodresponsibilitiesOverloadingtheview
Justdrawingthepicture
Inappropriatelevelofdetail“God”elements
›
›
›
›
›
›
Exampleoverloadedview
57
library
interface
servernodes
apps
ejb
dbms
server
Architecturalviewsinyourprojects
58
Oneviewpointshouldfocusonthesystemfromtheperspectiveof(someorall)externalstakeholders
Oneoftheviewpointsshouldbeatechnicalviewpoint.
›
›
Howtoexpressbusinessconcernsofstakeholdersinanunderstandableway?
›
›
Someexamplesfrompreviousyears:
59
Overview
60
›
Whatisanarchitecturerepresentation?
›
ISOstandardforarchitecturedescription
›
Architectureviews
›
Howtoobtainasetofarch.views
Howtodecideonwhichviews
61
›
Whatarethestakeholdersandtheirconcerns?
›
Whichviewsaddresstheseconcerns?
›
Prioritizeandpossiblycombineviews
Categoriesofbusinessgoals[Ch16]
62
MeetingfinancialobjectivesMeetingpersonalobjectivesMeetingresponsibilityofemployeesMeetingresponsibilitytocountryMeetingresponsibilitytosociety
Meetingresponsibilitytoshareholders
ManagingmarketpositionImprovingbusinessprocesses
Managingproduct’squalityandreputation
›
›
›
›
›
›
›
›
›
Examplebusinessgoal
63
Stakeholder:wewanttoprovideuserswithareliable,securerwaytoa
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026宁夏银川永宁县卫生健康系统专业技术人员自主招聘59人备考题库附答案详解【b卷】
- 2026浙江宁波市医疗中心医院招聘编外人员1人备考题库带答案详解(能力提升)
- 2026河南洛阳商业职业学院招聘7人备考题库附答案详解(b卷)
- 2026年中国石油润滑油分公司校园招聘考试参考试题及答案解析
- 2026广西桂林信息工程职业学院人才招聘备考题库附参考答案详解(轻巧夺冠)
- 2026年长沙房产集团有限公司校园招聘笔试模拟试题及答案解析
- 2026年鄂州市梁子湖区事业单位招聘考试备考题库及答案解析
- 2026山东大学生命科学学院徐芳课题组科研助理招聘1人备考题库附参考答案详解(黄金题型)
- 2026广东省佛山南海区桂城中学面向毕业生公招聘编制教师3人备考题库附答案详解【基础题】
- 2026云南百大物业服务有限公司招聘备考题库含答案详解(b卷)
- 清明假期安全教育课件
- 兴国经济开发区投资开发有限公司2026年公开招聘笔试参考试题及答案解析
- 2026年循证护理计划
- 机电工程创优指南
- 体验营销外文文献翻译2025年译文3000多字
- 2026年民族团结测试题题库及答案
- 某律所财务内部管理制度
- 园长幼儿园考核制度
- 2025宁夏德润农业发展投资集团有限公司招聘合格人员及笔试历年备考题库附带答案详解
- 学校文印室财务制度
- 2026年河北公路养护高级技师试题及答案
评论
0/150
提交评论