中南民族大学管理学院UML实验报告.docx
- 文档编号:29737819
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:22
- 大小:877.73KB
中南民族大学管理学院UML实验报告.docx
《中南民族大学管理学院UML实验报告.docx》由会员分享,可在线阅读,更多相关《中南民族大学管理学院UML实验报告.docx(22页珍藏版)》请在冰豆网上搜索。
中南民族大学管理学院UML实验报告
中南民族大学管理学院
学生实验报告
课程名称:
UML统一建模
年 级:
2012级
姓名:
学号:
专 业:
信息管理与信息系统
指导教师:
实验地点:
管理学院综合实验室
2013学年至2014学年度第2学期
实验一UML建模基础
实验二用例图
实验三UML类图
实验四对象图
实验五包图
实验六动态模型图
实验
(一)UML建模基础
实验目的
1、熟悉UML建模工具RationalRose的基本菜单及操作。
2、掌握UML的三大组成部分及各部分作用。
3、掌握UML的可见性规则和构造型的作用。
实验内容
1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。
2、认识各种UML关系及可见性符号,并用工具表示出来。
指导教师批阅:
实验
(二)用例图
实验目的
1、掌握用例的概念、UML用例图的组成、作用以及使用场合。
2、掌握用例与用例之间的各种关系。
3、用rationalrose工具练习教材中的用例图。
实验内容
1、用例图中有哪些组成元素?
在UML中是如何表示的?
答:
用例图包含六个元素,分别是:
参与者(Actor)、用例(UseCase)、关联关系(Association)、包含关系(Include)、扩展关系(Extend)以及泛化关系(Generalization)。
参与者用名字写在下面的人形图标表示,用例用一个椭圆表示,关联关系用箭头来表示,包含关系用虚线箭头和include字样表示,扩展关系用虚线箭头和extend字样表示,泛化关系用一个三角箭头从子用例指向父用例表示。
2、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?
它们之间有何区别?
对以上三种关系各举一例,画出用例图,并进行说明。
答:
包含关系:
一个用例可以简单的包含其他用例的具体行为,并把它所包含的用例行为作为自身行为的一部分。
扩展关系:
一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新的行为插到已有用例中的方法。
泛化关系:
一个用例可以被特别列举为一个或多个子用例。
三者之间的区别:
用例的泛化关系类似于面向对象中的继承,它把多个子用例中的共性抽象成一个父用例,子用例在继承父用例的基础上可以进行修改。
但是子用例和子用例之间又是相互独立的,任何一个子用例的执行不受其他子用例的影响;而包含关系是把多个基础用例中的共性,抽象为一个被包含的用例,可以说被包含用例就是基础用例中的一部分,基础用例的执行必然引起被包含用例的执行。
用例的泛化关系中,所有的子用例都有相似的目的和结构,它们是整体上的相似。
而包含关系中,基础用例在目的上可以完全不相同,但是它们都有一段相似的行为,它们的相似是部分的相似而不是整体的相似。
基础用例的执行并不一定会涉及扩展用例,扩展用例只有在满足一定条件下才会被执行。
而在包含关系中,当基础用例执行后,被包含用例是一定会执行的。
在扩展关系中,基础用例提供了一个或多个插入点,扩展用例为这些插入点提供了需要插入的行为。
而在包含关系中,插入点只能有一个。
即使没有扩展用例,扩展关系中的基础用例本身就是完整的。
而对于包含关系,基础用例在没有被包含用例的情况下就是不完整的存在。
包含关系:
(例图)
扩展关系:
(例图)
泛化关系:
(例图)
3、为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。
主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。
该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,
(1)画出上述系统的用例图;
(2)下是一个用例模型的局部:
小李认为该模型不符合“用例建模”的思想,存在明显的错误。
请说明错误所在,并说明应该如何修改。
答:
用例是系统参与者与系统在交互过程中所需要完成的事务。
确定参与者是房产经济人,还要分析系统所涉及的问题领域和系统运行的主要任务。
根据系统的需求分析可确定:
作为一个物业信息管理系统,要实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。
参与者有房产经纪人,对于房产经纪人来说,系统维护操作主要包括:
录入,修改房源信息而登录和确认信息是包含在登入和修改中的,包含关系的图标按钮应用虚线箭头。
4、阅读下面的用例图,说明该图所表达的信息。
答:
客户可以启动“预定座位”功能。
如果预定人数多,将执行扩展用例“处理等候队列”。
总台服务员可以启动“安排座位”“办理结账”功能。
客户预定座位,服务员安排座位需要先“检查座位信息”。
服务员“办理结账”时需要“收款”,收款时可以现金支付也可以使用银行卡,银行卡必须是银联POS系统。
5、下图是一个描述保险商务系统的简单用例图。
根据该用例图回答问题。
a)“签订保险单”用例可能涉及到哪几个实体类?
答:
客户,保险员,保险单。
b)现实生活中签订保单的基本流程如下:
客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。
如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。
答:
当客户不同意保险条款时,将执行扩展用例“退出签订保单”。
c)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?
答:
保单查询,保单保存;泛化关系。
6、在一个TelephoneSystem(电话系统)中,用户可以使用电话卡或对方付款两种办法来打电话。
1)请画出表示该场景的用例图。
2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。
[分析与讨论]
1、总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。
答:
用例图显示多个外部参与者以及他们与系统提供的用例之间的链接。
通过用例建模可以对外部的角色以及他们所需要的系统功能建模,用例图用于系统分析阶段。
2、在使用用例图的时候应该如何划分用例,应注意些问题?
答:
如何确定用例:
参与者需要从系统中获取哪些功能,参与者与系统要做什么。
参与者是否需要读取、产生、删除、修改或者储存系统中的某种信息。
系统的状态改变是否通知参与者。
是否存在影响系统的外部事件。
3、扩展练习如下:
需求描述如下:
某学校的网上选课系统主要包括如下功能:
管理员通过系统界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
根据以上描述,绘制系统的用例图。
并选择其中一个用例(如添加课程AddCourse)给出其用例描述。
用例的描述格式(参考模板)
描述项
说明
用例名称
表明用户的意图或用例的用途,如“预订图书”
标识符[可选]
惟一标识符,如“UC1701”,在文档其他地方可用标识符来引用这个用例
用例描述
概述用例的几句话
参与者
与此用例相关的参与者列表
优先级
一个有序的排列,1代表优先级最高
状态[可选]
用例的状态,通常为以下几种之一:
进行中、等待审查、通过审查或未通过审查
前置条件
访问用例前必须满足的条件列表
后置条件
用例完成以后得到满足的条件列表
基本操作流程
描述用例中各项工作都正常进行时用例的工作方式
可选操作流程
描述变更工作方式、出现异常或发生错误的情况下所遵循的路径
被泛化的用例
此用例所泛化的用例列表
被包含的用例
此用例所包含的用例列表
被扩展的用例
此用例所扩展的用例列表
修改历史记录[可选]
关于用例的修改时间、修改原因和修改人的详细信息
问题[可选]
与此用例的开发相关的问题列表
决策[可选]
关键决策的列表,将这些决策记录下来以便维护时使用
频率[可选]
参与则访问此用例的频率,如用户是每日访问一次还是每月访问一次
用例“添加图书”的描述
用例名称
添加图书
标识符
UC0001
用例描述
图书管理员在收到新采购的图书后对之进行入库。
参与者
图书管理员
优先级
1
状态
通过审查
前置条件
图书管理员登录进入系统
后置条件
在库图书数目增加
基本操作流程
1.图书管理员录入图书书目;
2.系统检查图书书目是否已存在;
3.系统为这本图书生成唯一书号(条形码);
4.系统添加新的图书书号。
可选操作流程
系统检查图书书目不存在,系统添加新的图书书目;
被泛化的用例
无
被包含的用例
无
被扩展的用例
无
修改历史记录
张三,定义基本操作流程,2009年3月20日
张三,定义可选操作流程,2009年3月20日
指导教师批阅:
实验(三)UML类图
[实验目的和要求]
1、掌握类的定义,类的3要素,UML中类的表示方法。
2、掌握类与类之间的各种关系代表的含义及表示方法。
3、实体类,边界类,控制类,关联类的概念和表示方法。
4、接口和抽象类的概念和表示方法。
类的多重性关系。
5、对一个类图进行相关的描述。
[实验内容和步骤]
1、类的属性和方法的可见性有哪些?
UML中如何表示?
答:
类的属性和方法的可见性有:
公有、私有、现实和受保护的。
2、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML类图.
答:
3、根据以下描述画出类图,并注明多重性关系:
一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
答:
4、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。
(商品信息包括商品编号,商品名称,价格,生产厂商等)
答:
5、如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?
答:
6、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。
publicclassInvoice
{
publicdoubleamount;
publicDatedate=newDate();
publicstringcustomer;
publicstringspecification;
publicstringadministrator=“unspecified”;
staticprivateintnumber_of_invoices()=0;
publicinvoice();
{
number_of_invoices++;
}
publicvoidprint()
{
System.out.println("Thenumberofinvoicesis”+intnumber_of_invoices);
}
}
7、下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。
请指出模型中的错误,说明原因并改正类图。
答:
[分析与讨论]
1、讨论类图在建模过程中的重要作用。
答:
类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,还包括类的内部结构。
类图描述的是一种静态关系,在系统的整个生命周期中都是有效的。
通过分析用例和问题域,就可以得得到相关的类,然后再把逻辑上相关的类封装成包,这样就可以很好的体现系统的分层结构,使得系统层次关系一目了然。
2、总结在设计绘制类图的过程中应注意哪些问题。
答:
UML类图是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。
UML类图是定义其他图的基础,在UML类图基础上,可以使用状态图、协作图、组件图和配置图等进一步描述系统其他方面的特征。
实验(四)对象图
[实验目的和要求]
1、掌握对象的概念,对象的三大特征,对象的表示方法。
2、掌握类与对象的关系。
[实验内容和步骤]
1、什么是对象,对象的三大特征是什么?
答:
对象代表一个单独的,可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确定的角色。
换句话说,对象是边界非常清楚的任何事物。
对象的三大特征是封装、继承和多态。
2、UML中对象的表示方法有哪些?
答:
对象名和属性。
3、在下图中最上面的对象的名称是什么?
该图表示的意思是什么?
请绘制出与其相应的类图。
答:
china:
country.该图表示福建省和四川省都包含在中国中。
4、说明对象图的适用场景以及它的优缺点。
答:
对系统的设计视图建模时,可以使用一组类图完整的描述抽象的语义以及他们之间的关系。
但是使用对象图不能完整的描述系统的对象结构。
[分析与讨论]
1、思考类与对象之间的关系是怎样的?
各举几个实例,说明哪些是类,哪些是对象。
答:
类有3个分栏:
名称属性和操作。
对象只有两个分栏:
名称和属性。
类的名称分栏中只有类名。
对象的名称形式为“对象名:
类名”,匿名对象的名称形式为“:
类名”。
类的属性分栏定义了所有属性的特征。
对象图中不包含操作,因为对于属于同一个类的对象而言,其操作是相同的。
类使用关联连接,关联使用名称、角色、多重性以及约束等特征定义。
类代表的是对对象的分类,所以必须说明可以参与关联的对象的数目。
对象使用链连接,链拥有名称、角色,都是没有多重性。
对象代表的是单独的实体,所有的类都是一对一的,因此不涉及到多重性。
Country、Province是类,而china、fujian和sichuan分别是这两个类中的对象
指导教师批阅:
实验(五)包图
[实验目的和要求]
1、掌握UML包的概念和作用。
2、掌握包与包之间的各种依赖关系的区别。
3、掌握建立包与包之间依赖关系的方法。
4、掌握建立包图过程中需遵循的原则。
[实验内容和步骤]
1、包属于UML中的何种事物?
有何作用?
答:
包是将多个元素组织为语义相关的组的通用机制。
对于复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分类,即把语义相近并倾向于同一变化的元素组织起来加入同一个包中,以方便理解和处理整个模型。
2、UML中包的表示方法有哪几种?
答:
包的绘制用一个小矩形和一个大矩形表示。
3、包与包之间存在哪几种关系?
答:
(1)引入和访问依赖,用于在一个包中引入另一个包输出的元素。
(2)泛化,用于说明包的家族。
4、包与包之间的依赖关系有何特点?
答:
访问依赖,用于在一个包中引入另一个包输入的元素。
5、如何避免包与包之间出现循环依赖关系?
各举一例。
答:
A.dll中的类A引用到了B.dll中的类B,B.dll中的类B又引用到了程序A.dll中的类A。
如果存在这种情况,除非两个程序集(.net中dll就是一个程序集)均编译通过,否则一个程序集出现错误就会导致另一个程序集也编译不通过,于是让这个编译错误就会循环传递,使得编译器告诉我们:
两个程序集不能编译通过。
6、建立包图应注意哪些问题?
答:
1)包的命名要简单、具有描述性。
2)应用包是为了简化。
3)包应该连贯。
4)在包上用版型注明架构层。
5)避免包间的循环依赖。
7、根据下图判断下面哪句话正确的说明了包之间的依赖关系。
A)对Package1包中的元素做了修改后,需检查Package2包中的元素和Package3包中的元素是否要做相应修改。
B)对Package1包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package3包中元素也要做相应修改。
C)对Package3包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package1包中元素也要做相应修改。
D)对Package3包中的元素做了修改后,需检查Package2包中的元素和Package1包中的元素是否要做相应修改。
答:
C
8、下面包图设计中是否存在问题?
应如何改进。
答:
存在问题,出现了循环依赖关系,A图中B不能即依赖C同时还依赖E。
B修改后:
B)
[分析与讨论]
1、结合一个具体例子,分析UML建模过程中包图所起的作用。
答:
作用:
1)对语义上相关的元素进行分组;
2)定义模型中的“语义边界”;
3)提供配置管理单元;
4)在设计时,提供并行工作的单元;
5)提供封装的命名空间,其中所有名称必须惟一。
指导教师批阅:
实验(六)动态模型图
实验目的和要求
1.掌握序列图(时序图)与协作图、状态图及活动图的概念及作用。
2.掌握上述动态模型图的构成及画法。
[画法]参考教材及课后上机题。
实验内容和步骤
1、交互图中有哪几种消息?
它们之间具体有何分别?
应如何表示?
答:
简单消息:
简单控制流;同步:
嵌套控制流;异步:
异步控制流。
讲一个简单消息和一个同步消息合并成一个消息。
对于消息的这几种控制流不知道怎么具体区分,比如一个老师让一个学生发言属于什么消息?
简单控制流?
简单消息:
做完一件事再做另外一件事。
买票是同步;异步是不等结果的返回就去做另外一件事,比如洗衣服,洗衣机洗衣服的时候可以去做饭。
乙方发送了一个消息后不必等待甲方回应。
而同步必须是等到回应后才能做另外一件事。
2、假设有一系统得协作图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?
(写出计算过程)
答:
最终打印出的值是9。
执行3次循环,所以test=1!
+2!
+3!
=9
3、状态和对象的关系是怎样的?
下面描述中哪些是对象,哪些是状态?
支票已付,汽车停在那儿,小王正在工作。
答:
支票是对象,已付是状态;汽车是对象,停在那儿是状态;小王是对象,正在工作是状态。
4、出下面状态的状态名和各种转换、事件。
状态名:
Lighting
转换:
eventSelfTest/defer
事件:
入口动作entry/turnOn
do/blinkFiveTimes
eventPowerOff/powerSupplySelf
出口动作exit/turnoff
5、说出下面状态图所表达的信息。
答:
状态开始,状态1:
关闭,事件1没水,打开放水,事件2烧水,状态2打开,事件3水开了关闭,回到状态1.分支1烧水时烧坏了,状态结束。
6、说出下面状态图所表达的信息,并指出蓝色部分代表的含义。
答:
状态开始,状态1注册课程,状态2课程评价,嵌套状态图1:
开始,状态实验1,进入实验室,事件1完成实验,实验2,完成实验。
嵌套状态2:
实验室团队项目,事件项目完成,结束。
嵌套状态3:
开始,状态考试,事件1考试及格,事件2考试不及格,课程不通过,补考。
3个嵌套状态后,课程通过。
7、说明下面网上书店系统某一活动图所表达的信息。
答:
用户下订单后系统生成送货单,用户选择支付方式,判断用户是否取消订单或订单超过时限,如果是,则取消订单,如果否,则进行收款。
之后供应商送货,修改订单项状态,然后判断是否所有订单已送货完毕。
如果是,那么订单完成。
指导教师批阅:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中南 民族大学 管理学院 UML 实验 报告