《可视化建模与UML》实验指导书

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1可视化建模与UML实验指导书信息学院2目录实验一UML建模基础..................3实验二用例图.........................4实验三类图..........................8实验四对象图.......................10实验五面向对象设计基本原则..........11实验六包图.........................14实验七交互图.......................16实验八活动图.......................20实验九交互概述图...................22实验十状态图.......................23实验十一构件图.....................27实验十二需求建模实例与分析.........29实验十三设计建模实例与分析.........30实验十四数据库建模实例与分析.......313实验一UML建模基础[实验目的和要求]1、熟悉UML建模工具VisualParadigm和RationalRose的基本菜单及操作。2、掌握UML的三大组成部分及各部分作用。3、掌握UML规则和相关机制。4、掌握UML的可见性规则和构造型的作用。[实验内容和步骤]1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。2、认识各种UML关系及可见性符号,并用工具表示出来。[分析与讨论]1、总结UML在软件工程中的作用以及使用UML建模的必要性。4实验二用例图[实验目的和要求]1、掌握用例与场景的概念。2、掌握UML用例图的组成、作用以及使用场合。3、掌握用例与用例之间的各种关系。4、学习针对具体场景使用用例图进行分析说明的方法。5、掌握用例描述的概念和基本结构,以及用例描述的作用。[实验内容和步骤]1、什么是用例,什么是场景?用例和场景之间的关系是怎样的?答:用例是用户希望系统具备的功能,它定义了系统的行为特征。2、用例图中有哪些组成元素?在UML中是如何表示的?答:用例图的组成元素有参与者、用例、关系、系统。3、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。答:用例与用例之间的包含关系实际上就是面向对象语言中对象之间的调用关系,扩展关系实际上就是一种依赖的关系,泛化关系实际上就是面向对象中的继承关系。4、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下是一个用例模型的局部:5录入房源信息确认提交信息房产经纪人修改房源信息打开房源信息页面登录信息include小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。答:用例图是用来显示多个外部参与者以及他们与系统提供的用例之间的联系。是用户从系统外部观察系统的功能。5、阅读下面的用例图,说明该图所表达的信息。6答:客户预定座位,首先检查座位信息,若座位未满则处理等候的队列;若座位已满则不处理等候队列。总台检查座位信息,安排座位。总台通过收款(收取现金或刷银联行卡)办理结账。6、下图是一个描述保险商务系统的简单用例图。根据该用例图回答问题。a)“签订保险单”用例可能涉及到哪几个实体类?答:客户、保险员、保险单三个实体类。b)现实生活中签订保单的基本流程如下:客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。答:a.客户阅读保险条款,同意后打印保单样据,客户签字并支付保7金,保单开始生效,保险员做相关系统纪录。b.客户阅读保险条款,不同意其中的条款。c)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?答:这些用例和保单管理用例是泛化关系。保单管理可能存在的子用例是保单查询、保单保存。[分析与讨论]1、总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。答:用例图显示多个外部参与者以及他们与系统提供的用例之间的连接。通过用例建模可以对外部的角色以及他们所需要的系统功能建模。用例图用于系统分析阶段。2、讨论用例分析技术和结构化分析之间的关系和区别。答:区别:结构化系统开发方法是指把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用系统标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的软件产品。用例分析是面向对象(ObjectOriented)的开发方法。联系:它们都可以是软件的开发更容易。3、在使用用例图的时候应该如何确定用例,应注意哪些问题?答:如何确定用例:a参与者需要从系统中获取哪种功能?及参与者要系统做什么?b参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?c系统的状态改变是是否通知参与者?d是否存在影响系统的外部事件?e系统需要什么样的输入、输出信息?需要注意的是:一定不要再用例图中使用两种命名方法。即在椭圆之外和椭圆之内。8实验三UML类图[实验目的和要求]1、掌握类的定义,类的3要素,UML中类的表示方法。2、掌握类与类之间的各种关系代表的含义及表示方法。3、实体类,边界类,控制类,关联类的概念和表示方法。4、接口和抽象类的概念和表示方法。类的多重性关系。5、对一个类图进行相关的描述。[实验内容和步骤]1、简述类的定义,以及类的三要素。答:类是对一组具有相同属性、操作、关系和语义事物的描述。类的三要素是:类的名称、属性、操作。2、类的属性和方法的可见性有哪些?UML中如何表示?答:类的属性和方法的可见性有protect(符号“#”),private(符号“-”),public(符号“+”)3、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML类图.答:4、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生9选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。5、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。(商品信息包括商品编号,商品名称,价格,生产厂商等)6、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?7、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。10publicclassInvoice{publicdoubleamount;publicDatedate=newDate();publicstringcustomer;publicstringspecification;publicstringadministrator=“unspecified”;staticprivateintnumber_of_invoices()=0;publicinvoice();{number_of_invoices++;}publicvoidprint(){System.out.println(Thenumberofinvoicesis”+intnumber_of_invoices);}}8、下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。请指出模型中的错误,说明原因并改正类图。OrderItemIncomeOrderProduct111111[分析与讨论]1、讨论类图在建模过程中的重要作用。2、总结在设计绘制类图的过程中应注意哪些问题。12实验四对象图[实验目的和要求]1、掌握对象的概念,对象的三大特征,对象的表示方法。2、掌握类与对象的关系。[实验内容和步骤]1、什么是对象,对象的三大特征是什么?2、UML中对象的表示方法有哪些?3、在下图中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类图。fuJian:ProvinceChina:CountrysiChuan:Province4、说明对象图的适用场景以及它的优缺点。[分析与讨论]1、思考类与对象之间的关系是怎样的?各举几个实例,说明哪些是类,哪些是对象。2、思考在具体场景中应该如何区分类与对象。3、找一段源程序,并绘制出与其相应的对象图。13实验五面向对象设计的基本原则[实验目的和要求]1、掌握面向对象设计的核心思想。2、掌握面向对象设计中的五大原则:单一职责原则、开闭原则、Liskov替换原则、依赖倒置原则和接口隔离原则。3、掌握各原则所代表的具体含义。4、培养对具体案例运用五大原则进行分析和设计的能力。[实验内容和步骤]1、面向对象设计的核心思想是什么,并对其进行说明。2、根据Liskov替换原则,子类可以取代父类出现在任何需要父类的地方。下面的类图中,只要可以使用Engine类型的对象,就可以使用SportsEngine类型的对象。即Car类的对象可以使用SportsEngine类型的对象。但实际情况中,为了避免出现普通汽车使用跑车引擎或者普通引擎被跑车使用的情况,请问如何改进这个类图,使得只有SportsCar类型的对象才能使用SportsEnginee类型的对象?画出改进后的类图。SportsCarSportsEngineCarEngine3、如下图所示的设计图,员工根据工种可以分为全职(FullTime)和兼职(PartTime)两种,根据工作项目可以分为软件员工和硬件员工。在初始设计中,整个类图层次结构缺乏灵活性,如果需要增加一个新的工作项目,则在全职员工和兼职员工下都要增加子类,提高了工作量。如何修改原始设计以便更轻松的增加工作项目或者新的工种?画出改进后的类图。14EmployeeFullTimeEmpPartTimeEmpSoftwareFullTimeHardwareFullTimeSoftwarePartTimeHardwarePartTime4、下图设计是否符合面向对象设计原则?应如何改进?[分析与讨论]1、总结在面向对象设计中灵活运用五大原则有何重要意义。2、讨论在实际运用五大原则时应注意哪些问题。3、现拟建立一个网上售书系统。客户对网站的描述如下,要求网站必须具备以下的功能。顾客可注册个人信息和申请个人账号。顾客可浏览书籍信息(包括作者,出版社,目录,摘要,价格,库存情况等),可按作者和书名分别进行搜索。顾客可把书籍加入购物车,也可删除购物车中书籍。购物车物品确认后顾客可提交购物信息,进行在线支付(暂时只提供银行卡支付一种手段),并可在订单物品被发出之前取消或再编辑订单。顾客可查看历史交易记录。15网站设有管理员和工作人员。其中网站管理员负责管理客户信息,网站的维护,以及网站信息的更新和管理。工作人员负责处理客户订单,并通知发货单位(可能是网站仓库,也可能是其他供应商)发送货物。销售货品都需进行记录,管理员可查询所有记录。客户可选择打印电子收据。试找出系统中的类,确定各个类的属性,并画出类图。16实验六包图[实验目的和要求]1、掌握UML包的概念和作用。2、掌握包与包之间的各种依赖关系的区别。3、掌握建立包与包之间依赖关系的方法。4、掌握建立包图过程中需遵循的原则。[实验内容和步骤]1、包属于UML中的何种事物?有何作用?2、UML中包的表示方法有哪几

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功