




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
UML实践案例1 分析模型简介Rose分析模型(Analysis Model)推进用例的实现,在子系统划分上,它一方面以系统用例模型、业务对象模型为参考,又把各个子系统公用的成分分离出来,形成需要的子系统。超市进销存系统的分析模型把身份验证的功能独立出来,形成身份验证子系统,结构如图9所示。图9描述了超市进销存系统分析模型结构 Rose的系统分析模型把逻辑对象模型向实现推进了一步,它更多地接近逻辑对象模型。1分析模型基本概念对于一个用例,一般可以通过三种类来实现:边界类(Boundary Classes)、实体类(Entity classes)和控制类(Control classes)。为了把用例和用例实现区分开来,Rose引入新的图素“用例实现”。用例通过“用例实现”来完成相应用例的功能。用例实现就是UML的协作(Cooperation),意思是通过对象(或类)的协作完成用例的实现。分析模型涉及边界类、控制类、实体类和用例实现(Use-case realizations)等基本图素,如图10所示,它们都是类的变体。图10 分析模型基本图素 Rose分析模型涉及下列图素:(1)分析模型的基本类一个用例一般通过三种类协同实现其功能:边界类、控制类、实体类。这些类又叫分析类变体(Analysis class stereotypes)。图11销售管理子系统分析模型类图。它通过这三种类协同实现“处理销售”用例。图11和图8(销售管理业务对象模型类图)作比较,可以看出这两种图之间的关系。图11销售管理子系统分析类图 1)边界类边界类位于系统和外界角色的交界处,边界类实现业务角色、业务员工与用例的交互,它可以是窗体、报表、与打印机、扫描仪、磁卡等硬件的接口。图11所示的销售管理子系统的边界类是销售管理窗体。通过它售货员输入购物数量,通过它把商品条形码转变成商品标识等等。边界类可以从用例中去寻找,每个“角色用例”之间至少有一个边界类,有可能和别的“角色用例”共用。应用不同,边界类可以是软件接口或其他。边界类接收角色的交互信息,有时它还承担交互信息的转换任务,边界类是类的变体。2)实体类(Entity classes)实体类负责存储、加工信息,是对用户最有意义的类,通常用业务领域的术语命名。一般利用数据库对这种实体类建立相应表格。实体类是业务实体的计算机描述。图11所示的销售管理子系统的实体类是销售表和商品档案表。销售表用于存储、加工销售清单,销售清单就是图8销售管理的业务实体。商品档案表用于存储、加工商品。商品也是图8销售管理的业务实体。3)控制类(Control classes)控制类协调边界类和实体类的工作。每个用例通常有一个控制类控制用例中的动作顺序。控制类也称管理类,一般控制类在用例之间是共用的。用例向控制类委托责任。控制类本身不完成任何服务功能,被控制的类并不向控制类发送许多信息,而是由控制类发出许多信息。图11销售管理子系统分析类图中的商品信息控制。角色通过边界类、控制类和实体类共同实现相应用例的功能。(2)用例实现(Use-case realizations)用例实现与用例是对应的,它们之间存在实现realize关联。把用例与用例实现分离开来,使每个用例实现不影响用例。对每种用例视图的用例,分析模型中有对应的一种用例实现(如图12所示)。用例实现进一步利用序列图、合作图和状态图细化描述。图12 用例与用例实现的对应关系 2分析模型的创建(1)销售系统分析模型图5-15描述了销售管理用例“处理销售”与售货员和顾客的交互。图8描述了销售子系统的对象之间的关联。由上而知,用例“处理销售”可以通过下列三种类合作实现。1)销售管理窗体,它作为边界类,使售货员通过它输入和输出购物信息(商品条形码、商品名称、单价等)。2)业务实体“商品”和“销售清单”要保存和修改,需要为它们建立“销售表”和“商品档案表”。3)售货员在输入商品条形码后系统将对商品档案表查询,如顾客最终购买必须对商品档案表和销售表进行更新操作,所以需要一个控制类,将其命名为“商品信息控制”。而“销售表”和“商品档案表”可作为两个实体类。(2)建立分析类图1)创建包启动Rose.,单击【File】【Open】.,打开“超市进销存系统.mdl”模型文件,展开浏览框逻辑视图Logincal View,展开“分析模型”下的“销售管理”,双击销售管理下类图标【Main】,打开主类图。打开浏览框“分析模型”包,在包下的Main类图中创建5个包,分别命名为“身份验证”、“订货管理”、“库存管理”、“统计分析”和“销售管理”及有关注释(如图13所示)。在浏览框自动生成分析模型结构。图13分析模型包的建立 2)建立类图 以销售管理为例建立子系统类图,步骤如下: 展开分析模型的【销售管理】包。 双击【Main】, 打开Main类图。单击图素工具栏上的类图素【】,在类图Main的适当位置单击,创建新类,并将其命名为“销售管理窗体”。双击“销售管理窗体”类图,在其打开的规范对话框中选择Stereotype的属性为【boundary】,使其派生为边界类。单击【OK】按钮关闭规范对话框(如图14所示)。图14 建立边界类“销售管理窗体” 创建“商品信息控制”,并选择相应的类的变体为【control】,设置它为控制类。 从“订货管理”包中拖放“销售表”类到该类图(“订货管理”分析类图已建好)。 从“库存管理”包中拖放“商品档案表”类到该类图(“库存管理”分析类图已建好)。 建立图素之间的关联。单击工具栏上的关联图标【】,将其从“商品信息控制”拖拽到“销售管理窗体”,它们之间的通讯是双向的,通过右击关联在菜单中选择【Navigable】,取消箭头(如图15所示)。图15 选择关联为无向 建立“商品信息控制”和“销售表”之间的关联,这种关联是单向的。建立“商品信息控制”和“商品档案表”之间的关联,这种关联也是单向的。完成上述操作后,得到如图16 所示的销售系统分析模型类图。图16 销售系统分析模型类图 3创建用例实现创建用例实现是进一步描述类的动态特征。(1)用例实现是类图的一种,在图17中“分析模型”包下新建一个类图。右击图中【销售管理】,在浮动菜单中选择【New】【Class Diagram】。默认名为NewDiagram,重新命名其为“Traceabilities”图17 建立实现用例图(类图的一种) (2)双击该【Traceabilities】,打开其类图。从系统用例模型中的“销售管理”包中将“提取商品信息”、“更新销售信息”、“更新商品信息”、“打印购物清单”和“计价”5四个用例拖放到这个类图中。(3)选择【Tools】【Create】【Use Case】,建立一个用例,命名为“更新销售信息”,这时出现警告,提示命名重复,但两个用例是属性不同的变体。双击这个“更新销售信息”用例,把规范对话框中的变体属性设置为【use-case realization】。单击【OK】关闭规范对话框。(4)建立用例实现和其用例之间的关联。并将该关联的规范对话框的变体属性设置成【realizes】(如图18所示)。图18 建立销售管理的用例实现 (4)同样方法建立“查询商品信息”、“更新商品信息”、“获得购物清单”和“计价”四个用例实现及其与他们用例的关联。完成上述操作,得到如图19所示的销售系统用例实现图。浏览框出现新建立的“查询商品信息”、“更新商品信息”、“获得购物清单”和“计价”用例实现。 图19 销售系统用例实现用例图 用例实现可以从不同的角度去描述,可以通过类的之间的合作(类图)来描述,可以通过类对象按时间顺序的消息交互(序列图)来描述,也可以通过类对象之间协作(协作图)来描述。1) 类图描述用例实现 在浏览器中分析模型下的“销售管理”包下选择用例实现“更新销售信息”。右击,在弹出菜单中选择【New】【Class Diagram】。创建一个新的类图,命名为“更新销售”。 双击【更新商品】,打开“更新销售”类图。 图20 建立用例实现“更新销售信息”的类图的菜单 将分析模型下各包中的类:“销售管理窗体”、“商品信息控制”、 “销售表”拖到这个更新商品类图中。结果更新商品信息用例实现的类图“更新销售”如图21所示。图21 建立用例实现“更新销售信息”的类图 2)序列图描述用例实现 在浏览器中分析模型下的“销售管理”包下选择【更新销售信息】,右击它,在弹出菜单中选择【New】【Sequence Diagram】。创建一个新的序列图,命名为更新销售。 双击序列图【更新销售】,打开序列图。 从系统用例模型的“角色”包中将“售货员”这个角色拖到序列图中。 将分析模型下各包中的类:“销售管理窗体”、“商品信息控制”、 “商品档案表”和“销售表” 拖到这个序列图中。结果销售管理用例实现序列图首部如图22所示。这里将用序列图来描述“更新销售信息”这个用例实现。在序列图中可以看到“更新销售信息”这个用例的对象按时间顺序详细的交互过程。图22 销售管理“更新销售信息”实现用例序列图首部 序列图涉及的基本图素如下(图23):图23 序列图涉及的基本图素 使用下列步骤添加消息到序列图中。按观察到的对象交互顺序设定消息序列,每个消息是对象之间的一次通讯,它意味着某一活动随之而来。在序列图上建立一条消息。在图素工具栏上单击消息图素【】(message),从售货员生命线(lifeline见图中的虚线)拖放消息图标到销售管理窗体生命线,消息自动编号“1:”图24 命名序列图消息 选中该消息,双击打开该消息规范对话框,命名消息为“输入商品条形码”(如图24所示)。 同样在下列类之间建立消息: 从“销售管理窗体”到“商品信息控制”; 从“商品信息控制”到“商品档案表”; 从“商品档案表”到“商品信息控制”; 从“商品信息控制”到“销售表”;命名消息如图25所示。通过这些步骤可以建立如图25所示的更新销售信息序列图。图25 更新销售信息序列图 3)用协作图描述用例实现在Rose中,可以自动将序列图转换为协作图,选择browse下的【create Collaboration Diagram】来即可实现(如图26所示)。图26 更新销售信息协作图 4)用状态图描述用例实现状态图描述对象状态的变化,描述从一个状态的变化到另一个状态变化的事件。为了便于理解状态图,设某客户要在超市买商品,售货员结算好,要求顾客付款,但是顾客既可以信用卡付款,也可以现金付款,状态图如图27所示。Rose建立状态图。 展开浏览框逻辑视图分析模型下的“销售管理”用例实现。右击它,在弹出菜单中选择【New】【Statechart Diagram】。创建一个新的State Activty Model包,包下建立NewDiagram1。 双击状态图【NewDiagram1】,打开状态图。 放置一个开始状态、结束状态和六个其他状态。每个状态命名如下: 顾客购物 计价 取消订购 计算差额 信用验证 接收 不能接收 保存购买记录、打印图27 更新销售信息状态图 建立转移。按下列步骤建立状态转移。状态转移可以是转移到状态自己,也可以是两个不同状态之间的转移。 单击图素工具箱的图标,拖放到顾客购物建立一个转移到自己的转移。打开其规范对话框,命名事件为“加入商品”(如图27所示)。图28命名转移事件“加入商品” 单击图素工具箱的图标,从“顾客购物”拖放到“计价”。 同样建立其他转移。 如图27 所示,选择转移,命名转移。完成上述操作,得到如图27所示的销售状态图。1 设计模型基本概念设计模型主要集中在类图、类、类属性、类操作和类与类之间的关联、关联基数等基本要素的细化(如图29所示)。面向对象方法的特点之一就是将信息和影响信息的行为集中在一起,包装成类。类属性描述对象的属性信息。类操作是与类相关联的行为。操作分四个部分:操作名、操作参数、参数类型和操作返回值类型。参数是操作的输入变元。从设计模型类操作的描述可以知道,这和Java的类成员方法的定义已经很接近了。图29 设计模型中的基本图素2 建立设计模型由分析模型继续细化,分析模型中的“销售表”和“商品档案表”类可以在设计模型中作为两个ADO类(ADO Class),分别命名为“saleFrm”和“goodsFrm”。ADO Class是与VB模块类型的一种。由分析模型中的边界类“销售管理窗体”可以转化为设计模型中的“销售管理窗体”窗体类。由于本系统比较简单,所以不再使用控制类。1. 创建销售系统设计模型类图(1)创建包1)在浏览框中双击“设计模型”包下的【Main】,打开其类图。2)在Main类图中创建五个包,分别命名为“库存管理子系统”、“订货管理子系统”、“身份验证子系统”、“统计分析子系统”和“销售管理子系统”(如图30所示)。3)双击类图中的【销售管理子系统】,进入此包,Rose自动为此包建立一个Main类图。图30 设计模型包的建立 (2)建立类1)双击【Main】,打开设计模型Main类图。2)单击图素工具栏上的【】,在类图Main的适当位置单击,创建一个新类,将该类命名为销售管理窗体。3)双击【销售管理窗体】,打开其规范对话框,将“销售管理窗体”的变体设置为【Form】(如图31所示),图31 设计模型类的规范对话框 4)同样建立“goodsFrm”类和“saleFrm”类,其变体设为“ADO Class”(ActiveX数据对象)。5)单击工具栏上的按钮【】建立图素之间的关联,如图32所示。图32 销售管理子系统初步类图 (3)增加类特征和方法1)右击类图中的【goodsFrm】,在弹出的菜单中选择【New Attribute】。图33 增加类特征的一种方法 2) 设置类特征。浏览框中的选择的类特征(goodsFrm类的rs特征),右击,从弹出菜单中选择【Open Specification】。在出现的类特征规范窗口中可以对类特征的数据类型(Type)、变体(Stereotype)、初始值(Initial)和可见性(Export Control)等进行设置(图34)。图34 设置类特征的属性 设置类特征的属性也可以通过下列步骤:打开图32设计模型销售管理子系统的类图,选择goodsFrm类,右击,在弹出菜单中选择【Open Specification】,打开类规范对话框,单击【Attributes】。选择类特征(rs), 右击,在弹出菜单中选择【Specification】,打开类特征规范对话框(图26),这时可以对类特征的数据类型(Type)、变体(Stereotype)、初始值(Initial)和可见性(Export Control)等进行设置。图35 类特征的属性规范对话框 3)添加类方法。浏览框中的选择类【goodsFrm】,右击,在弹出菜单中选择【New Operation】。 4)设置类方法有关的属性的步骤和设置类特征有关的属性雷同。右击浏览框中的类的方法,在弹出菜单中选择【Open Specification】,打开类方法属性规范窗口,设置方法的变体、返回类型、参数、可见性等属性值(图36)。图36 类方法有关属性的设置 5)设置关联属性。打开设计模型销售管理子系统类图Main,选择“销售管理窗体”到“goodsFrm”类间的关联,双击,打开关联属性规范对话框,选择【Role A General】,在Role字段中输入作用名为“goods”(图37)。同样,将另一条关系的Role命名为“sale”。同样可以设置关联其他属性。图37 关联规范对话框 完成上述操作得到图38。图38售子系统类图 (4)建立系统数据库类关联1)建立所有子系统的数据库类图,一共用5个ADO类:“goodsFrm”、“saleFrm”、“wasteFrm”、“UserFrm”和“Provider”。2)在设计模型包下创建一个新的类图,命名为“DataBase Design”。3)将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届黑龙江省大庆外国语学校高三下学期适应性检测历史试题(含答案)
- 学生管理系统毕设答辩
- 仪表工试题(中级)复习测试
- 仪表工试题练习卷含答案
- 保健按摩师合集复习试题有答案
- 2022年全国甲卷英语高考真题文档版(答案)
- 职业资格-民用核安全设备焊接操作工真题库-11
- 职业资格-基本制度与政策(含相关知识)真题库-4
- 2025年初级会计实务应试技巧试题及答案
- 2025年历史考试中的多样化近现代史试题
- 零信任网络安全架构
- 考研考博-英语-云南民族大学考试押题三合一+答案详解2
- 优秀课例丨氯气的性质
- A04044《纳税人税种认定表》
- 危险作业安全专题培训
- 厂房库房屋面墙面彩钢板施工方案
- 甘肃省综合医院及部分专科医院等级一览表
- DB65∕T 3253-2020 建筑消防设施质量检测评定规程
- 中班语言《嘘我们有个计划》课件
- 压力容器使用年度检查报告(范本)
- 实行保健食品制度
评论
0/150
提交评论