武汉计算机学院课件_第1页
武汉计算机学院课件_第2页
武汉计算机学院课件_第3页
武汉计算机学院课件_第4页
武汉计算机学院课件_第5页
已阅读5页,还剩64页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论