版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件架构理论及实践软件架构理论及实践课程内容
软件体系结构概论
软件体系结构建模
软件体系结构风格
软件体系结构描述
动态软件体系结构
Web服务体系结构
基于体系结构的软件开发
软件体系结构的分析与测试
软件体系结构评估
软件产品线体系结构课程内容
软件体系结构概论
描述方法的种类
第4章软件体系结构描述4.1软件体系结构描述方法◎
图形表达工具◎模块内连接语言◎基于软构件的系统描述语言◎软件体系结构描述语言
描述方法的种类第4章软件体系结构描述4.1软件体系
图形表达工具
第4章软件体系结构描述4.1软件体系结构描述方法
图形表达工具第4章软件体系结构描述4.1软件体系结
模块内连接语言
第4章软件体系结构描述4.1软件体系结构描述方法
模块内连接语言第4章软件体系结构描述4.1软件体系Theseearlymoduleinterconnectionlanguagesrequireconsiderableprioragreementbetweenthedevelopersofdifferentmodules:allmodulesarewritteninthesamelanguage;allmodulesareavailableduringsystemconstruction;moduleinterfacesdescribetheothermoduleswithwhichtheyinteract.Newerworkhasbeguntosoftentheserestrictions:modulescanbedynamicallyinstantiatedandboundatruntimeThesemodulescanbeimplementedinmultipleprogramminglanguagesthemachineryneededtoconnectthemcanbericherthantheusualprocedurelinkage,forexample,asoftwarebusTheseearlymoduleinterconnec
基于软构件的系统描述语言
第4章软件体系结构描述4.1软件体系结构描述方法◎
基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。◎这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。
基于软构件的系统描述语言第4章软件体系结构描述4.1
软件体系结构描述语言
第4章软件体系结构描述4.1软件体系结构描述方法
软件体系结构描述语言第4章软件体系结构描述4.1软modelingacomponentformallyisamoreprecise,andoftenmoreconcise,wayofspecifyingitsfunctionality.Furthermore,suchspecificationscouldassistinautomatingthetaskoflocatingcomponentsinasoftwarecomponentmarketplace.aformalspecificationofacomponentcanbeinputtoacodegenerationtool.modelingacomponentformally第4章软件体系结构描述4.1软件体系结构描述语言
ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。其三个基本元素是:构件、连接件、体系结构配置。主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。这些ADL强调了体系结构不同的侧面,对体系结构的研究和应用起到了重要的作用,但也有负面的影响。每一种ADL都以独立的形式存在,描述语法不同且互不兼容,同时又有许多共同的特征,这使设计人员很难选择一种合适的ADL,若设计特定领域的软件体系结构又需要从头开始描述。第4章软件体系结构描述4.1软件体系结构描述语言Softwarearchitecturesaremulti-dimensionalentitiesthatcanbefullyunderstoodonlywhenviewedatfourlevelsofabstraction:internalfunctionalityofacomponenttheinterface(s)exportedbythecomponenttotherestofthesysteminterconnectionofarchitecturalelementsinanArchitecturerulesofthearchitecturalstyleSoftwarearchitecturesaremulArchitecturaldesignenvironmentscanprovideaplatformonwhichdesignerscanconstructanarchitecturalmodelofasoftwaresystemhavethatmodelcheckedforsyntacticandsemanticcorrectnessreceivedomain-specificfeedbackaboutvariousdesignqualities,keeptrackofunfinishedstepsinthedesignprocess,andgeneraterunningprogramsforthatsystem,ArchitecturaldesignenvironmeUnicom:LanguageforUniversalConnectorSupport
Unicom:LanguageforUniversalUniConisbasedontwocomplementarykindsofconstructs:thecomponentandtheconnector.Eachhas:aNameaspecification(calledanInterfaceforacomponent,aProtocolforaconnector)acomponentorconnectorTypeasetofglobalassertionsintheformofaPropertyListacollectionofassociationunits:Playersforcomponents,Rolesforconnectors.anImplementationUniConisbasedontwocomplemComponentsComponentsdefinecomputationalcapabilities.Acomponentconsistsofaninterfacethatspecifiesthecapabilitiesthecomponentexportsandanimplementation,whichmaybeprimitiveorcomposite.Theinterfacemustinclude:•thecomponenttype•assertionsandconstraintsthatapplytotheentirecomponent•theplayersdefinedbythecomponent,whicheachconsistofanameandtypeandoptionalattributeslikesignature,functionalspecifications,constraintsonuse,orinformationrequiredspecificallybyacomponenttypeComponentsComponentsdefineco-【软件体系结构】-第4章-【软件体系结构】-第4章Built-incomponenttypesandtheirplayersComponenttypesandplayertypesarecurrentlydefinedbyenumerationBuilt-incomponenttypesandtAttributesthatapplytocomponentsAttributesthatapplytocompoAttributesthatapplytoPlayersAttributesthatapplytoPlayeImplementationofPrimitiveComponentsSincemultiplerepresentationsforacomponentmaybeavailable(forexample,bothsourceandobjectcode),UniConallowsmultiplerepresentations,calledvariants,tobespecified.Whenaprimitivecomponentisinstantiated,theVariantattributecanbeusedtoselectthepreferredvariant.ImplementationofPrimitiveCoAttributesdefinedforprimitiveimplementationsOFcomponentsAttributesdefinedforprimitiImplementationofCompositeComponentsCompositecomponentsprovidethecapabilityofbuildingupprogressivelylargersubsystemsfromcomponentsof(potentiallydifferent)types.Acompositeimplementationmustprovidethreekindsofinformation:Theparts:Instantiationsofthecomponentsandconnectorsfromwhichthecompositecomponentisconstructed.Theconfiguration:Specificationofhowtheinstantiationsofconnectorslinktheinstantiationsofcomponents,i.e.theassociationsbetweenplayersandroles.Theabstraction:SpecificationofhowtheplayersoftheinterfacewillbeassociatedwithplayersoftheimplementationImplementationofCompositeCo-【软件体系结构】-第4章-【软件体系结构】-第4章ConnectorsConnectorsmediateinteractionsamongcomponents.Aconnectorconsistsofaprotocolthatspecifiestheclassofinteractionstheconnectorprovidesandanimplementation.Theprotocolmustinclude:theconnectortype;assertionsthatconstraintheentireconnector(forexample,rulesabouttimingorordering);thesearethecommitmentsabouttheinteractionthattheprotocolsupports;therolesthatparticipateintheprotocol;eachconsistsofanameandtypeandoptionalattributeslikesignature,functionalspecifications,orconstraintsontheiruse;ConnectorsConnectorsmediateiAtpresent,onlyprimitiveimplementationsofconnectorsaresupported.Atpresent,onlyprimitiveimpBuilt-inConnectorTypesBuilt-inConnectorTypesAttributesforconnectorsAttributesforconnectorsAttributesforrolesAttributesforroles-【软件体系结构】-第4章第4章软件体系结构描述4.4典型软件体系结构描述语言C2isacomponent-andmessage-basedarchitecturalstyle
designedtosupporttheparticularneedsofapplications:haveagraphicaluserinterfaceaspect,withpotentialfor
supportingothertypesofapplications;componentsmaybewrittenindifferent
programminglanguages;componentsmayberunningina
distributed,heterogeneousenvironmentwithoutshared
addressspaces;architecturesmaybechangeddynamically;multipleusersmaybeinteractingwiththesystem;multiple
toolkitsmaybeemployed;multiplemedia
typesmaybeinvolved.
C2概述(1)第4章软件体系结构描述4.4典型软件体系结构描述语言C2第4章软件体系结构描述4.4典型软件体系结构描述语言Thetop
domainspecifiesthesetofnotificationstowhicha
componentresponds,andthesetofrequeststhatthe
componentemitsupanarchitecture.Thebottomdomain
specifiesthesetofnotificationsthatthiscomponentemits
downanarchitectureandthesetofrequeststowhichit
responds.Allcommunicationbetweencomponentsissolely
achievedbyexchangingmessages.
C2概述(2)第4章软件体系结构描述4.4典型软件体系结构描述语言ThSubstrateindependencehasaclearpotentialforfosteringsubstitutabilityandreusabilityofcomponentsacrossarchitectures.Domaintranslationisatransformationoftherequestsissuedbyacomponentintothespecificformunderstoodbytherecipientoftherequest,aswellasthetransformationofnotificationsreceivedbyacomponentintoaformitunderstands.
Substrateindependencehasac第4章软件体系结构描述4.4典型软件体系结构描述语言
C2对构件接口的描述
“::=”means“isdefinedas”;“|”means“or”;“[...]”denotesanoptionalitem;“{...}”arepetitiveitem.singlecharacterterminals,suchasasemicolon.第4章软件体系结构描述4.4典型软件体系结构描述语言
第4章软件体系结构描述4.4典型软件体系结构描述语言
C2对构件的描述
interface_requests::={request;}|null;
interface_notifications::={notification;}|null;
request::=message_name(request_parameters)
request_parameters::=[tocomponent_name][parameter_list]
notification::=message_name[parameter_list]
component_message_interface::=top_domain_interfacebottom_domain_interface
top_domain_interface::=top_domainisoutinterface_requestsininterface_notifications
bottom_domain_interface::=bottom_domainisoutinterface_notificationsininterface_requests第4章软件体系结构描述4.4典型软件体系结构描述语言
component_behavior::=startupcleanup{internal_state_change|message_transition}message_transition::=received_messages[invoked_methods]generated_messagesreceived_messages::=received_messages[notification_sequence][request_sequence]invoked_methods::=
invoke_methodsmethod_name{,method_name};component_behavior::=generated_messages::=[message_generation_frequencyrequest_sequence][message_generation_frequencynotification_sequence]message_generation_frequency::=always_generate|may_generaterequest_sequence::=request_name{logical_operatorrequest_name};notification_sequence::=notification_name{logic_operatornotification_name};generated_messages::=-【软件体系结构】-第4章-【软件体系结构】-第4章ArchitecturalDescriptionno_filteringpolicy:asimplemessagerouter.Notification_filtering:ameansofmessageRegistrationinC2.Prioritizedmessage:broadcastallowsaconnectortodefineapriorityrankingoveritsconnectedcomponentswherebyanotificationissenttoeachcomponentinorderofpriorityuntilaterminationconditionhasbeenmet.themsg_sink:filteringpolicyallowsaconnectortoignoreeachmessagesenttoitArchitecturalDescriptionno_fiThetopologyofaC2architectureisspecifiedasfollows:ThetopologyofaC2architect“Ctrl-S”represents:anexampleoftheenvironment_commandconnectionconstraint.Thisexampledepictsthedynamicsubstitutionoftwoofthreecomponents“Ctrl-S”represents:-【软件体系结构】-第4章会议安排系统的C2风格会议安排系统的C2风格C2对MeetgingInitiator构件的描述(1)
componentMeetingInitiatorisinterfacetop_domainisoutGetPrefSet();
GetExclSet();
GetEquipReqts();
GetLocPrefs();
RemoveExclSet();
RequestWithdrawal(toAttendee);
RequestWithdrawal(toImportantAttendee);
AddPrefDates();
MarkMtg(d:date;l:lov_type);C2对MeetgingInitiator构件的描述(1)cC2对MeetgingInitiator构件的描述(2)
inPrefSet(p:date_mg);
ExclSet(e:data_mg);
EquipReqts(eq:equip_type);
LocPref(l:loc_type);
behaviorstartupalways_generateGetPrefSet,GetExclSet,GetEquipReqts,
GetLocPrefs;
received_messagesPrefSetmay_generateRemoveExclSetxorRequestWithdrawalxorMarkMtg;
received_messagesExclSetmay_generateAddPrefDatesxorRemoveExclSetxorRequestWithdrawalxorMarkMtg;
received_messagesEquipReqtsmay_generateAddPrefDatesxorRemoveExclSetxorRequestWithdrawalxorMarkMtg;
received_messagesLocPrefalways_generatenull;endMeetingInitiator;C2对MeetgingInitiator构件的描述(2)C2对Attendee构件的描述(1)
componentAttendeeisinterfacebottom_domainisoutPrefSet(p:date_mg);
ExclSet(e:date_mg);
EquipReqts(eq:equip_type);
inGetPrefSet();
GetExclSet();
GetEquipReqts();
RemoveExclSet();
RequestWithdrawal();
AddPrefDates();
MarkMtg(d:date;l:loc_type);C2对Attendee构件的描述(1)componentC2对Attendee构件的描述(2)
behaviorreceived_messagesGetPrefSetalways_generatePrefSet;received_messagesAddPrefDatesalways_generatePrefSet;received_messagesGetExclSetalways_generateExclSet;received_messagesGetEqipReqtsalways_generateEqipReqts;received_messagesRemoveExclSetalways_generateExclSet;received_messagesReuestWithdrawalalways_generatenull;received_messagesMarkMtgalways_generatenull;endAttendee;
C2对Attendee构件的描述(2)behaviorC2对ImportantAttendee构件的描述componentImportantAttendeeissubtypeAttendee(inandbeh)interfacebottom_domainisoutLocPrefs(l:loc_type);
ExclSet(e:date_mg);
EquipReqts(eq:equip_type);
inGetLocPrefs();
behaviorreceived_messagesGetLocPrefsalways_generateLocPrefs;endImportantAttendee;C2对ImportantAttendee构件的描述comC2对体系结构的描述architectureMeetingSchedulerisconceptual_componentsAttendee;ImportantAttendee;MeetingInitiator;
connectorsconnectorMainConnismessage_filterno_filtering;
connectorAttConnismessage_filterno_filtering;
connectorImportantAttConnismessage_filterno_filtering;
architectural_topologyconnectorAttConnconnectionstop_portsAttendee;bottom_portsMainConn;connectorImportantAttConnconnectionstop_portsImportantAttendee;bottom_portsMainConn;connectorMainConnconnectionstop_portsAttConn;ImportantAttConn;bottom_portsMeetingInitiator;endMeetingScheduler;
C2对体系结构的描述architectureMeetiC2对会议安排系统的描述
systemMeetingScheduler_1isarchitectureMeetingSchedulerwithAttendeeinstanceAtt_1,Att_2,Att_3;
ImportantAttendeeinstanceImpAtt_1,ImpAtt_2;
MeetingInitiatorinstanceMtgInit_1;endMeetingScheduler_1;
C2对会议安排系统的描述systemMeetingS参考文献:Medvidovic,N.Formaldefinitionofthechiron-2softwarearchitecturalstyle.UCI-ICSTechnicalReportUCI-95-24,UniversityofCalifornia,Irvine,July1995.参考文献:Acme:ArchitecturalDescriptionofComponent-BasedSystemsAcme:ArchitecturalDescriptioArchitecturalstructureisdenedinAcmeusingsevencoretypesofentities:components,connectors,systems,ports,roles,representations,andrep-maps.ArchitecturalstructureisdenAcmecomponentsrepresentcomputationalelementsanddatastoresofasystem.Acomponentmayhavemultipleinterfaces,eachofwhichistermedaport.Aportidentiesapointofinteractionbetweenthecomponentanditsenvironment.Acmeconnectorsrepresentinteractionsamongcomponents.Connectorsalsohaveinterfacesthataredenedbyasetofroles.Acmecomponentsrepresentcomp-【软件体系结构】-第4章Tosupporthierarchicaldescriptionsofarchitectures,Acmepermitsanycomponentorconnectortoberepresentedbyoneormoredetailed,lower-leveldescriptions.Eachsuchdescriptionistermedarepresentation.TosupporthierarchicaldescriWhenacomponentorconnectorhasanarchitecturalrepresentationtheremustbesomewaytoindicatethecorrespondencebetweentheinternalsystemrepresentationandtheexternalinterfaceofthecomponentorconnectorthatisbeingrepresented.Arep-map(shortfor\representationmap")denesthiscorrespondence.Inthesimplestcasearep-mapprovidesanassociationbetweeninternalportsandexternalports.Whenacomponentorconnectortheservercomponentiselaboratedbyamoredetailedarchitecturalrepresentation.theservercomponentiselabor-【软件体系结构】-第4章PropertiesPropertiesDesignConstraintsDesignConstraints-【软件体系结构】-第4章-【软件体系结构】-第4章TypesandStylesInAcmeanarchitectcandefinedthreekindsoftypes:propertytypes,structuraltypes,andstyles.Structuraltypesmakeitpossibletodefinedtypesofcomponents,connectors,ports,androles.TypesandStylesInAcmeanarc-【软件体系结构】-第4章-【软件体系结构】-第4章第4章软件体系结构描述4.5软件体系结构与UML
UML简介
◎UML(UnifiedModelingLanguage)是下面这些最好的建模方法中最好部分的集成:
商务流程模型(WorkFlow)
对象建模方法
软构件建模思想◎
UML是一种用可视化方法对软件系统进行描述、实施和说明的标准语言。◎支持用不同实现技术进行的软件开发全过程。第4章软件体系结构描述4.5软件体系结构与UML
UM第4章软件体系结构描述4.5软件体系结构与UML
UML简介第4章软件体系结构描述4.5软件体系结构与UML
UM第4章软件体系结构描述4.5软件体系结构与UML
UML简介第4章软件体系结构描述4.5软件体系结构与UML
UM第4章软件体系结构描述4.5软件体系结构与UML
UML简介
UseCaseDiagramsUseCaseDiagrams用例图ScenarioDiagramsScenarioDiagrams协作图StateDiagramsStateDiagrams构件图ComponentDiagramsComponentDiagrams部署图StateDiagramsStateDiagrams对象图ScenarioDiagramsScenarioDiagrams状态图UseCaseDiagramsUseCaseDiagrams序列图StateDiagramsStateDiagrams类图活动图UML第4章软件体系结构描述4.5软件体系结构与UML
UM第4章软件体系结构描述4.5软件体系结构与UML
用例图用于显示若干角色以及这些角色与系统提供的用例之间的连接关系。用例是系统提供的功能的描述第4章软件体系结构描述4.5软件体系结构与UML
用例第4章软件体系结构描述4.5软件体系结构与UML
类图表示系统中的类和类与类之间的关系,它是对系统静态结构的描述第4章软件体系结构描述4.5软件体系结构与UML
类图第4章软件体系结构描述4.5软件体系结构与UML
序列图用来反映若干个对象之间的动态协作关系,也就是随着时间的推移,对象之间是如何交互的
第4章软件体系结构描述4.5软件体系结构与UML
序列第4章软件体系结构描述4.5软件体系结构与UML
协作图描述对象间的协作关系,协作图跟序列图相似,显示对象间的动态合作关系。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图。这两种图合称为交互图。
第4章软件体系结构描述4.5软件体系结构与UML
协作第4章软件体系结构描述4.5软件体系结构与UML
状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充第4章软件体系结构描述4.5软件体系结构与UML
状态第4章软件体系结构描述4.5软件体系结构与UML
活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动第4章软件体系结构描述4.5软件体系结构与UML
活动第4章软件体系结构描述4.5软件体系结构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《ivf中的黄体支持》课件
- 变配电房讲义 电气知识培训
- 基础工程习题举例09级
- 复合材料第五章复合材料的成型工艺
- 分析化学分析试样的采集与制备
- 国际投资学第八章国际证券投资
- 公共数据授权运营背景下要素定价与确权入表体系
- 电主轴结构设计与仿真分析研究
- AIGC技术在商业场景中的落地路径与价值实现机制案例研究
- 科技创新活动规范化管理规程研究
- 医院检验科试剂耗材管理规范
- 2026-2027学年秋季学校整体工作计划:建机制、提质量、守底线、促发展
- 商业摄影摄像与后期处理(AI协同)(微课版)课件 项目3 商业摄影的创意与策划-从创意策略到前期工作流
- 护理专升本备考资源
- 水产养殖场投入品管理规范
- 2026年秋新教材人教版九年级上册英语Unit2单元测试卷(含答案解析)
- 2026浅表软组织肿瘤超声检查与诊断中国专家共识
- 《保密观》考试题及答案2026版
- 2026年医疗卫生e类考试试题
- (正式版)DB41∕T 1836-2019 《矿山地质环境恢复治理工程施工质量验收规范》
- 早产儿管理中国指南(2026版)
评论
0/150
提交评论