《UML建模技术系统详细设计中的交互建模.pptx》由会员分享,可在线阅读,更多相关《UML建模技术系统详细设计中的交互建模.pptx(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 1 提纲5.1 5.1 UMLUML动态建模技术 5.2 UML动态建模中的顺序图 5.3 ATM系统的顺序图 5.4 UML动态建模中的协作图 5.5 ATM系统的各个协作图 第1页/共33页 2 动态建模的重要性应用系统开发中,分析设计人员通过建立系统的静态模型,能够获得系统中的有关组成及结构、各个部分之间的关联关系等信息。但是如果此时就急于进行系统的编码实现,则往往会很困难。因为大部分软件的功能实现程序都是由复杂的交互过程组成的,仅了解系统的结构和关系不足以进行系统功能的实现,还必须对应用系统建立完善的动态模型和了解系统中各个组件的消息的传递过程以及组件之间的交互关系。通过为系统建立动
2、态模型,从而产生体现系统动态行为的可视化分析结果-包括对象的时间特性和对象为完成目标任务而相互进行通信的机制、对象行为的改变和状态变化情况,以及对象可能出现的各种活动状况等信息。第2页/共33页 3 动态模型受静态模型的限制动态建模是在系统静态模型的基础上建立相应的动态模型。在建好系统静态模型的基础上,分析和设计系统的动态结构,并且建立相应的动态建模。动态模型受静态模型的限制,并且必须与静态模型保持一致,因为动态模型中的许多模型元素都是来源于静态模型的。动态模型描述了系统随时间变化的行为,这些行为是用从静态模型视图中抽取的系统瞬间值的变化来描述的。动态模型分为交互模型和活动状态模型,其中的交互
3、模型主要由顺序图和协作图构成,活动状态模型主要由活动图和状态图构成。第3页/共33页 4 利用交互图可以对共同工作的对象群体的行为进行建模系统中功能的具体实现是通过程序类中方法之间的调用完成的,而软件系统的分析和设计人员想了解某个功能或者用例的具体实现过程,则必须了解该功能实现过程中涉及的对象、对象之间是如何进行消息的发送和接收的。交互图(interaction diagram)主要用于定义软件系统如何实现特定功能,并能够按照时间流程显示用例的实现过程,包括:在信息流中需要什么对象、对象相互发送什么消息、什么角色启动消息流、消息按什么时序发送、对象的状态是如何改变的交互图中交互的含义:描述了一
4、组对象和它们之间的相互操作,也包括在对象间传递的消息。对象之间的交互是指一个对象访问另外一个对象中的方法或由于事件的触发而产生的对象之间的合作关系交互图以图示的形式表示方法调用的具体过程,有两种形式:顺序图和通信图。第4页/共33页 5 对象之间进行交互时的消息1.消息包括发送者、接收者和动作发送者:发送者是发送消息的类元角色。接收者:接收者是接受消息的类元角色。动作:动作为调用、信号、发送者的局部操作或简单动作,如创建和销毁。动作带有参量表、接收者表达式已经对激活的操作或信号的引用。它还包括消息执行的迭代和条件说明。2.简单消息(Simple Message):消息在单个控制线程中运行。用于
5、描述控制如何在对象间进行传递,不考虑通信的细节。3.简单消息的UML图示第5页/共33页 6 对象之间进行交互时的消息1.消息包括发送者、接收者和动作发送者:发送者是发送消息的类元角色。接收者:接收者是接受消息的类元角色。动作:动作为调用、信号、发送者的局部操作或简单动作,如创建和销毁。动作带有参量表、接收者表达式已经对激活的操作或信号的引用。它还包括消息执行的迭代和条件说明。2.消息的类型简单消息(Simple Message):消息在单个控制线程中运行。用于描述控制如何在对象间进行传递,不考虑通信的细节。同步消息(Synchronous Message):表示等待的语义。异步消息(Asyn
6、chronous Message):主要用于描述实时系统中的并发行为。由于是异步的控制流,其中没有显示的到调用者的返回消息。表示不等待的语义第6页/共33页 7 提纲5.1 UML动态建模技术 5.25.2 UMLUML动态建模中的顺序图 5.3 ATM系统的顺序图 5.4 UML动态建模中的协作图 5.5 ATM系统的各个协作图 第7页/共33页 8 顺序图中的各个组成模型元素及其作用顺序图中包含的模型元素有:对象、消息、生命线、激活期(点)。1.对象类角色2.生命线生命线代表对象的名字放置在方格内,按时间从上到下的顺序,生命线显示了消息的顺序。在生命线上的消息比在其下的消息先发。3.当收到
7、消息时,接收对象立即开始执行活动,即对象被激活.生命线上的细长矩形表示对象被激活。第8页/共33页 9 顺序图中的激活期1.什么是激活期激活期表示对象执行一个动作的周期,即对象激活的时间段。当收到消息时,接收对象立即开始执行活动,即对象被激活了。2.应用要点当一个对象在激活期时,该对象在激活状态,能够响应或发送消息,执行动作、活动;当一个对象不在激活期时,该对象在休眠状态,但它仍然存在,等待新的消息来激活它。第9页/共33页 10 提纲5.1 UML动态建模技术 5.2 UML动态建模中的顺序图 5.35.3 ATMATM系统的顺序图 5.4 UML动态建模中的协作图 5.5 ATM系统的各个
8、协作图 第10页/共33页 11 第11页/共33页 12 第12页/共33页13第13页/共33页14第14页/共33页15第15页/共33页16第16页/共33页17第17页/共33页18第18页/共33页 19 StarUML中Diagram的属性设置第19页/共33页 20 提问1.StarUML画顺序图时有哪5种类型的消息?2.为什么动态模型受静态模型的限制?3.UML类图与对象图有何异同?4.领域概念描述与需求描述有何异同?5.StarUML中Sequence Diagram与Sequence Diagram(Role)有何异同?Sequence Role Diagram expr
9、esses the interactions of the role concepts.It is a direct expression of the Interaction,which is a set of the messages exchanged between the ClassifierRoles within a Collaboration.While Sequence Diagram is an Instance-oriented expression,Sequence Role Diagram is a ClassifierRole-oriented expression
10、.第20页/共33页 21 computer hardware sales第21页/共33页 22 在线考试系统的实体-关系图 约定:一场考试所有学生用同一套试卷 一道试题在所有试卷中分值相同注意:科目与试题1:n、科目与试卷1:n第22页/共33页 23 提纲5.1 UML动态建模技术 5.2 UML动态建模中的顺序图 5.3 ATM系统的顺序图 5.45.4 UMLUML动态建模中的协作图 5.5 ATM系统的各个协作图 第23页/共33页 24 UML中的协作图1.协作图体现一组对象角色之间的协作关系,以及一种交互关系。即为了实现某个操作或达到某种结果而需要在对象之间交换的一组信息。2.
11、协作图的主要作用:可以显示由一个用例定义的一个系统事件,以及其中的一组对象与其他组对象之间如何进行协作以完成该功能实现。3.协作图可以视为对象图的扩展(动态的对象图)第24页/共33页 25 顺序图和通信图的异同顺序图(sequence diagram):按照时间顺序来描述对象的交互,将交互建模成消息交换,主要强调在交互过程中产生的各个消息的时间顺序协作图(collaboration diagram):围绕着对象和对象之间的链接来描述对象的交互,强调接收和发送消息的对象的组织结构。协作图不能体现消息的先后顺序(协作图在UML2.x中也称通信图communications diagram)这两种
12、图在语言上是对等的,表达的消息内容是相同的顺序图中对象之间的链接是隐含的,对象顺序信息不够明显;协作图中对象之间的链接是显式的,而且协作图显示了不同信息流的视图,更容易看出对象之间的关系。尽管两者作用相同,包含相同的信息,但视图体现出的表达问题的内涵有所不同。在应用方面的侧重点不同。第25页/共33页 26 链链是连接两个对象的路径,它指明了对象间某种可能的导航和可见性。更正式的说,链是关联的实例。通过在对象的链上标志带有消息串的消息(简单、异步或同步消息)来表达对象间的消息传递。第26页/共33页 27 提纲5.1 UML动态建模技术 5.2 UML动态建模中的顺序图 5.3 ATM系统的顺
13、序图 5.4 UML动态建模中的协作图 5.55.5 ATMATM系统的各个协作图 第27页/共33页 28 登录用例的协作图第28页/共33页29取款用例的协作图协作图不能体现消息的先后顺序?第29页/共33页 30 顺序图和通信图的优点和缺点每种图都有其优点,建模者也各有偏好,因此没有绝对“正确”的选择。UML规范更多是以顺序图为核心,对其表示法和语义投入了更多的精力,因此顺序图对工具的支持更好,并且有更多有效的表示法选项。在墙上绘制“UML草图”时利用通信图更具有优越性,因为其更具有空间效用(可以在任何位置方便地放置或擦除框图),采用顺序图可以更方便地表示调用流的顺序,仅需要从左到右阅读即可。第30页/共33页 31 UML初学者没有对交互图给予足够重视大部分UML初学者知道类图,并且通常认为类图是OO设计中唯一重要的图形,但实际上并非如此!尽管类图确实重要,但动态建模的交互图(更确切地说是动态交互建模中的动作)的价值更高。准则应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模第31页/共33页32作业与实验1.作业课本P178之2,3,72.实验用CASE工具画出系统的顺序图、协作图第32页/共33页33谢谢您的观看!第33页/共33页