《NO5 建立应用程序动态模型电子课件Java应用程序设计——从模型到代码.ppt》由会员分享,可在线阅读,更多相关《NO5 建立应用程序动态模型电子课件Java应用程序设计——从模型到代码.ppt(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、建立应用程序动态模型5.1 交互图简介.5.2 顺序图.5.3 协作图.5.1 交互图简介 交互图是用来表达系统的各个对象之间如何交互、如何合作完成某个行为的动态模型工具,它与用例图、状态图、活动图等共同构成了系统的行为视图。交互图主要用于对用例图中的控制流进行建模,它包括顺序图和协作图。其中,顺序图按时间次序描述系统中各对象如何通过消息交互,协作图从空间上描述收发消息的对象的结构关系。5.2 顺序图5.2.1 5.2.1 顺序图的作用顺序图的作用顺序图5.2 顺序图1.简介 UML顺序图是一种动态建模方法。一般用于确认和丰富一个使用情境的逻辑。一个使用情境就是系统潜在的使用方式的描述,也就是
2、它的名称所要描述的。一个使用情境的逻辑可能是一个用例的一部分、一条备选线路或是一个贯穿单个用例的完整流程。例如,动作基本过程的逻辑描述、动作的基本过程的一部分再加上一个或多个备用情境的逻辑描述或是包含在几个用例中的流程。5.2 顺序图2.通用准则 尽力保持消息的顺序是从左到右排列的。一个顺序图的消息流开始于左上方,消息乙的位置比消息甲低,这意味着消息乙的顺序比消息甲要迟。一般的阅读习惯是从左到右,因此应该尽量按照与描述消息流一样的方式,从左至右排列分类器(角色、类、对象和用例)。5.2 顺序图3.分类器分层 分层是一个通用的面向对象设计的方法。通常来说,分层是一个通用的面向对象设计的方法。通常
3、来说,系统总是组织成 系统总是组织成user interface user interface、process/controller process/controller、business business、persistence persistence和 和system system层。当系统是以这种方式 层。当系统是以这种方式设计时,通常会加强同属于一层的分类器合作,而降低 设计时,通常会加强同属于一层的分类器合作,而降低不同层的分类器的耦合度。因此按类似的方式对顺序图 不同层的分类器的耦合度。因此按类似的方式对顺序图进行分层是有意义的。就这个使用情境的例子来说,一 进行分层是有意义的。就
4、这个使用情境的例子来说,一种分层的方法是先注明人类角色,然后是表示情境逻辑 种分层的方法是先注明人类角色,然后是表示情境逻辑的 的controller controller类,然后是 类,然后是user interface user interface类,接着是 类,接着是business business类,最后是相关的技术类,它封装了对数据库和系统资 类,最后是相关的技术类,它封装了对数据库和系统资源的访问。以这种方式对顺序图分层,会使顺序图更容 源的访问。以这种方式对顺序图分层,会使顺序图更容易阅读,也使人们更容易发现分层的逻辑问题。易阅读,也使人们更容易发现分层的逻辑问题。5.2 顺序
5、图4.避免建模对象 很多种语言都拥有称作垃圾收集的技术,实现自动的内存管理。例如,Java和Smalltalk。在那些需要明确管理内存的语言中,如C+,程序员一般都能了解该怎么做,并不需要模型中的这些附加信息。注意在实时系统中,内存管理通常是一个关键性问题,这时可能需要建模对象的销毁操作。5.2 顺序图5.2.2 5.2.2 顺序图的绘制顺序图的绘制学生选修课程顺序图5.2 顺序图(1 1)类角色 类角色(3)激活期(2)生命线(4 4)消息 消息5.2 顺序图 由于前面对网吧计费系统进行了静态建模,并给出系统用例图和类图,在此基础上,分析网吧计费系统用户上机用例的动态建模,并绘制顺序图。绘制
6、网吧计费系统用户上机顺序图5.2 顺序图创建顺序图1.创建对象5.2 顺序图新建“用户上机”顺序图 将新建顺序图命名为“用户上机”,双击打开,编辑区工具条将显示顺序图工具条,如图5-5所示。5.2 顺序图拖放对象到顺序图中5.2 顺序图创建对象 如果需要创建对象,单击工具栏中的“对象”图标,在右侧图形窗口中新建一个对象。右击该对象,在弹出的快捷菜单中选择Open Specification命令,弹出属性对话框,在Class下拉列表框中选择New选项,如图5-7所示。5.2 顺序图创建对象所属类5.2 顺序图2.添加消息 从工具栏中单击“消息”图标,单击管理员的生命线,并拖动鼠标到计费系统主窗体
7、生命线上,添加一条消息,右击消息方向箭头弹出消息属性窗口,输入消息名称Name的值,如图5-8所示。5.2 顺序图用户上机顺序图5.2 顺序图为用户上机顺序图添加注释3.创建注释5.3 协作图5.3.1 5.3.1 协作图的作用协作图的作用 协作图(也称合作图)是一种交互图,强调的是发送和接收消息的对象之间的组织结构。一个协作图显示了一系列的对象和在这些对象之间的联系以及对象间发送和接收的消息。对象通常是命名或匿名的类的实例,也可以代表其他事物的实例,如协作、组件等。使用协作图来说明系统的动态情况,使描述复杂的程序逻辑或多个平行事务变得更容易。5.3 协作图自动贩卖机的协作图5.3 协作图(1
8、)类角色(2)关联角色(3)消息流 5.3 协作图 由于前面对网吧计费系统进行了静态建模,并给出了系统用例图和类图,下面在此基础上,分析网吧计费系统的用户下机用例动态建模,并绘制协作图。绘制网吧计费系统用户下机协作图5.3 协作图创建协作图1.创建对象5.3 协作图 在左侧浏览窗口中,将所有相关类或对象拖到“用户下机”协作图中,如图5-17所示。新建“用户下机”协作图5.3 协作图拖动对象到协作图中5.3 协作图添加链接2添加对象间的链接和消息5.3 协作图 打开链接属性对话框,切换到Messages选项卡,右击,在弹出的快捷菜单中选择“Insert To:计费系统主窗体”命令,如图5-20所示。插入链接消息5.2 顺序图插入链接信息5.3 协作图用户下机协作图 建立应用程序动态模型