UML实验报告要点.docx

上传人:b****0 文档编号:9357243 上传时间:2023-05-18 格式:DOCX 页数:30 大小:822.84KB
下载 相关 举报
UML实验报告要点.docx_第1页
第1页 / 共30页
UML实验报告要点.docx_第2页
第2页 / 共30页
UML实验报告要点.docx_第3页
第3页 / 共30页
UML实验报告要点.docx_第4页
第4页 / 共30页
UML实验报告要点.docx_第5页
第5页 / 共30页
UML实验报告要点.docx_第6页
第6页 / 共30页
UML实验报告要点.docx_第7页
第7页 / 共30页
UML实验报告要点.docx_第8页
第8页 / 共30页
UML实验报告要点.docx_第9页
第9页 / 共30页
UML实验报告要点.docx_第10页
第10页 / 共30页
UML实验报告要点.docx_第11页
第11页 / 共30页
UML实验报告要点.docx_第12页
第12页 / 共30页
UML实验报告要点.docx_第13页
第13页 / 共30页
UML实验报告要点.docx_第14页
第14页 / 共30页
UML实验报告要点.docx_第15页
第15页 / 共30页
UML实验报告要点.docx_第16页
第16页 / 共30页
UML实验报告要点.docx_第17页
第17页 / 共30页
UML实验报告要点.docx_第18页
第18页 / 共30页
UML实验报告要点.docx_第19页
第19页 / 共30页
UML实验报告要点.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

UML实验报告要点.docx

《UML实验报告要点.docx》由会员分享,可在线阅读,更多相关《UML实验报告要点.docx(30页珍藏版)》请在冰点文库上搜索。

UML实验报告要点.docx

UML实验报告要点

中南民族大学管理学院学生实验报告

课程名称:

UML面向对象分析与设计教程

年 

专 

级:

  

业:

信息管理与信息系统号:

名:

指导教师:

 

实验地点:

管理学院综合实验室

2013

学年至

2014

学年度第2学期

中南民族大学管理学院学生实验报告

实验一

实验二

实验三

实验四

UML建模基础用例图

UML类图

对象图

实验五

实验六

动态模型图

实验

(一)

实验时间:

实验目的

中南民族大学管理学院学生实验报告UML建模基础

1.

2.

1.

熟悉UML建模工具RationalRose的基本菜单及操作。

掌握UML的三大组成部分及各部分作用。

掌握UML的可见性规则和构造型的作用。

实验内容

1.

练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。

2.认识各种UML关系及可见性符号,并用工具表示出来。

答:

各种UML关系如下:

UML关系

表示方法

关联关系

依赖关系

泛化关系

实现关系

可见性

表示方法

公有(Public)

“+”

私有(Private)

“—”

受保护(Protected)

“#”

中南民族大学管理学院学生实验报告

分析与讨论

1.总结UML在软件工程中的作用以及使用UML建模的必要性。

答:

统一建模语言(UML)是用来对软件密集系统进行可视化建模的一种语言,也是为面向对象开发系统的产品进行说明、可视化、构造和编制文档的一种语言。

UML作为一种模型语言,它使开发人员专注于建立产品的模型和结构,而不是选用什么程序语言和算法实现。

当模型建立之后,模型可以被UML工具转化成指定的程序语言代码。

UML可以贯穿软件开发周期中的每一个阶段,最适于数据建模、业务建模、对象建模、组件建模。

UML展现了一系列最佳工程实践,这些最佳实践在对大规模、复杂系统进行建模方面,特别是在软件架构层次方面已经被验证有效。

UML是一种功能强大的,面向对象的可视化系统分析的建模语言,它的各个模型可以帮助开发人员更好地理解业务流程,建立更可靠,更完善的系统模型,从而使用户和开发人员对问题的描述达到相同的理解,以减少语义差异,保障分析的正确性。

指导教师批阅:

实验

(二)

实验时间:

实验目的

用例图

1.

2.

3.

掌握用例的概念、UML用例图的组成、作用以及使用场合。

掌握用例与用例之间的各种关系。

用RationalRose工具练习教材中的用例图。

实验内容

1.用例图中有哪些组成元素?

在UML中是如何表示的?

答:

用例图有:

用例、参与者、关联、(系统边界)等元素;用来显示在系统(或其它实体)内的用例与系统参与者之间的关系;主要用于需求获取、定义和分析。

2.用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?

它们之间有何区别?

对以上三种关系各举一例,画出用例图,并进行说明。

答:

包含关系:

用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。

基本用例描述在多个用例中都有的公共行为。

包含关系本质上是比较特殊的依赖关系,它比一般的依赖关系多了一些语义。

在包含关系中箭头的方向是从基本用例到包含用例。

中南民族大学管理学院学生实验报告

扩展关系:

在一定条件下,把新的行为加入到已有的用例中,获得的新用例叫做扩展用例,原有的用例叫做基础用例,从扩展用例到基础用例的关系就是扩展关系。

扩展关系的基本含义和泛化关系类似,但在扩展关系中,对于扩展用例有更多的规则限制,基本用例必须声明扩展点,扩展用例只能在扩展点上增加新的行为和含义。

泛化关系:

用例的泛化指的是一个父用例可以被特化形成多个子用例,而父用例和子用例之间的关系就是泛化关系。

中南民族大学管理学院学生实验报告

3.

为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。

主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。

该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,

(1)画出上述系统的用例图;

中南民族大学管理学院学生实验报告

(2)下是一个用例模型的局部:

打开房源信息页面

房产经纪人

<>

登录信息

录入房源信息

确认提交信息

修改房源信息

小李认为该模型不符合“用例建模”的思想,存在明显的错误。

请说明错误所在,并说明应该如何修改。

答:

用例是系统参与者与系统在交互过程中所需要完成的事务。

确定参与者是房产经济人,还要分析系统所涉及的问题领域和系统运行的主要任务。

根据系统的需求分析可确定:

作为一个物业信息管理系统,要实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。

参与者有房产经纪人,对于房产经纪人来说,系统维护操作主

中南民族大学管理学院学生实验报告

要包括:

录入,修改房源信息而登录和确认信息是包含在登入和修改中的,包含关系的图标按钮应用虚线箭头。

修改后应该是:

4.

阅读下面的用例图,说明该图所表达的信息。

答:

参与者是客户和服务人员。

主要关系有包含关系和拓展关系。

当有客户来预定座位时,如果前面有别的客户,他就进行等待,服务人员进行信息查询,把空闲座位分配给客户,然后办理结账,有现金结账和银行卡(必须是银联POS系统)结账两种方式供客户选择,然后收款。

5.

下图是一个描述保险商务系统的简单用例图。

根据该用例图回答问题。

中南民族大学管理学院学生实验报告

6.

(1)“签订保险单”用例可能涉及到哪几个实体类?

答:

有客户和保险员两个实体类。

(2)现实生活中签订保单的基本流程如下:

客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。

如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。

答:

客户阅读保险条款,同意后客户签字并支付保金,否则不同意就不签订保单。

(3)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?

答:

单查询和保单保存可能是存在的子用例,这些用例和“保单管理”用例之间应该是泛化关系。

在一个TelephoneSystem(电话系统)中,用户可以使用电话卡或对方付款两种办法来打电话。

(1)请画出表示该场景的用例图。

中南民族大学管理学院学生实验报告

(2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。

分析与讨论

1.总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。

答:

用例图显示多个外部参与者和它们与系统提供的用例之间的链接。

过用例建模可以对外部的角色以及它们所需要的系统功能建模。

用例图可视化地表达了系统的需求,具有直观、规范等优点,克服了纯文字性说明的不足。

用例图可用于系统的分析阶段。

2.在使用用例图的时候应该如何划分用例,应注意哪些问题?

答:

确定用例:

1)参与者需要从系统中获取哪些功能及参与者要求系统做些什么?

2)参与者是否需要读取、产生、删除、修改或是存储系统中的某些

信息?

3)系统状态的改变是否通知参与者?

4)是否存在影响系统的外部事件?

3)系统需要什么样的输入、输出信息?

需注意,在用例图中,一定不要使用两种命名的方法,即在椭圆之内命名又在椭圆之外命名。

3.

扩展练习如下:

需求描述如下:

某学校的网上选课系统主要包括如下功能:

管理员通过系统界面进入,建立本学期要开的各种课程,将课程信息保存在数据库中并可以对课程进行改动和删除。

学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:

查询已选课程、选课以及付费。

同样,通过业务层,这些操作结果存入数据库中。

根据以上描述,绘制系统的用例图。

中南民族大学管理学院学生实验报告

用例“修改课程”的描述

用例名称

修改课程

标识符

UC0001

用例描述

课程管理员接到通知后修改已有课程信息

参与者

课程管理员

优先级

1

状态

通过审查

前置条件

课程管理员登录课程,课程已存在

后置条件

系统修改已有课程信息

基本操作流程

1.课程管理员录入课程;

2.系统检查该课程是否已存在;3.系统显示该课程信息;

4.系统修改已有课程信息。

可选操作流程

系统检查该课程不存在,系统修改已有课程

被泛化的用例

被包含的用例

被扩展的用例

修改历史记录

,定义基本操作流程,201年月日

指导教师批阅:

实验(三)

实验时间:

实验目的

UML类图

1.

2.

3.

4.

5.

掌握类的定义,类的3要素,UML中类的表示方法。

掌握类与类之间的各种关系代表的含义及表示方法。

实体类,边界类,控制类,关联类的概念和表示方法。

接口和抽象类的概念和表示方法。

类的多重性关系。

对一个类图进行相关的描述。

实验内容

1.类的属性和方法的可见性有哪些?

UML中如何表示?

答:

类中属性的可见性主要有三种,分别是公有类型(public)、受保护类型(protected)和私有类型(private),在RationalRose2003中,类的操作设置中添加了实现类型(Implementation)。

在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("Thenumberofinvoices

is”+intnumber_of_invoices);

}

}

答:

7.

下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。

请指出模型中的错误,说明原因并改正类图。

中南民族大学管理学院学生实验报告

1

1

答:

Orderltem与IncomeOrder的关系并不是泛化关系,而应该是包含关系。

改正后为:

分析与讨论

1.讨论类图在建模过程中的重要作用。

答:

类图描述系统中类的静态结构,它不仅定义系统中的类,描述类之间的联系,还包括类的内部结构。

类图描述的是一种静态关系,在系统的整个生命周期中都是有效的。

通过分析用例和问题域,就可以得到相关的类,然后再把逻辑上相关的类封装成包,这样可以很好的体现系统的分层结构,是得系统层次关系一目了然。

2.总结在设计绘制类图的过程中应注意哪些问题。

答:

UML类图(ClassDiagram)是描述类、接口、协作以及它们之间关系的图,用来显示系统中各个类的静态结构。

UML类图是定义其他图的基础,在UML类图基础上,可以使用状态图、协作图、组件图和配臵图等进一步描述系统其他方面的特性。

UML类图包括七个元素:

类(Class)、接口(Interface)、协作(Collaboration)、依赖关系(Dependency)、泛化关系

(Generalization)、关联关系(Association)及实现关系

(Realization)。

指导教师批阅:

实验(四)

实验时间:

实验目的

对象图

1.

1.

掌握对象的概念,对象的三大特征,对象的表示方法;掌握类与对象的关系。

实验内容

1.什么是对象,对象的三大特征是什么?

答:

对象代表一个单独的,可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。

换句话说,对象是边界非常清楚的任何事物。

对象的三大特征是状态(属性)、行为(方法、事件)和标识(名字)。

2.UML中对象的表示方法有哪些?

答:

对象名和属性。

3.

在下图中最上面的对象的名称是什么?

该图表示的意思是什么?

请绘制出与其相应的类图。

答:

最上面的对象的名称是china:

country。

该图表示福建省和四川省都包含在对象中国中。

相应的类图:

中南民族大学管理学院学生实验报告

4.说明对象图的适用场景以及它的优缺点。

答:

对象图是同于论证模型的设计以及对源代码进行分析和说明,其优点是可以直观的理解出系统运行时的实时状态。

但是使用对象图不能完整地描述系统的对象结构且比较复杂,工作量大。

分析与讨论

1.思考类与对象之间的关系是怎样的?

各举几个实例,说明哪些是类,哪些是对象。

答:

类有3个分栏:

名称、属性和操作;对象只有两个分栏:

名称和属性。

类的名称分栏中只有类名;对象的名称形式为“对象名:

类名”,匿名对象的名称形式为“:

类名”。

类的属性分栏定义了所有属性的特征;对象图中不包含操作,因为对于属于同一个类的对象而言,其操作是相同的。

类使用关联连接,关联使用名称、角色、多重性以及约束等特征定义。

类代表的是对对象的分类,所以必须说明可以参与关联的对象的数目;对象使用链连接,链拥有名称、角色,都是没有多重性。

对象代表的是单独的实体,所有的类都是一对一的,因此不涉及到多重性。

例如:

Country、Province是类,而china、fujian和sichuan分别是这两个类中的对象

指导教师批阅:

中南民族大学管理学院学生实验报告

实验(五)

实验时间:

实验目的

1.

2.

3.

4.

掌握UML包的概念和作用。

掌握包与包之间的各种依赖关系的区别。

掌握建立包与包之间依赖关系的方法。

掌握建立包图过程中需遵循的原则。

实验内容

1.包属于UML中的何种事物?

有何作用?

答:

包是将多个元素组织为语义相关的组的通用机制。

在实践中,一般使用术语子系统来描述包。

对于复杂系统进行建模时,经常需要处理大量的类、接口、组件、节点和图,这时就有必要将这些元素进行分类,即把语义相近并倾向于同一变化的元素组织起来加入同一个包中,以方便理解和处理整个模型。

2.UML中包的表示方法有哪几种?

答:

包的绘制用一个小矩形和一个大矩形表示。

3.包与包之间存在哪几种关系?

答:

包与包之间存在两种关系:

1)引入和访问依赖,用于在一个包中引入另一个包输出的元素;

2)泛化,用于说明包的家族。

4.包与包之间的依赖关系有何特点?

答:

包与包之间的依赖关系特点是单向传递和不可传递。

5.如何避免包与包之间出现循环依赖关系?

各举一例。

答:

将产生依赖的类型分离出来,放到另一个新的程序集中去,或使用接口来接触循环依赖。

6.建立包图应注意哪些问题?

答:

1)包的命名要简单、具有描述性;

2)应用包是为了简化;

3)包应该连贯;

4)在包上用版型注明架构层;

5)避免包间的循环依赖

6)包依赖应该反映内部关系。

7.

根据下图判断下面哪句话正确的说明了包之间的依赖关系。

中南民族大学管理学院学生实验报告

a)对Package1包中的元素做了修改后,需检查Package2包中的元素和Package3包中的元素是否要做相应修改。

b)对Package1包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package3包中元素也要做相应修改。

c)对Package3包中的元素做了修改后,需检查Package2包中的元素是否需要做相应修改,如果是,则需继续检查是否Package1包中元素也要做相应修改。

d)对Package3包中的元素做了修改后,需检查Package2包中的元素和Package1包中的元素是否要做相应修改。

答:

c)证明了包之间的依赖关系。

8.下面包图设计中是否存在问题?

应如何改进。

A)B)

答:

存在问题,出现了循环依赖关系,A图中B不能即依赖C同时还依赖E,B图中循环不正确。

修改后:

中南民族大学管理学院学生实验报告

分析与讨论

1.结合一个具体例子,分析UML建模过程中包图所起的作用。

答:

图书管理系统的包图:

中南民族大学管理学院学生实验报告

作用:

1)对语义上相关的元素进行分组;

2)定义模型中的“语义边界”;

3)提供配臵管理单元;

4)在设计时,提供并行工作的单元;

5)提供封装的命名空间,其中所有名称必须惟一。

指导教师批阅:

实验(六)

实验时间:

实验目的

中南民族大学管理学院学生实验报告

动态模型图

1.

2.

掌握序列图(时序图)与协作图、状态图及活动图的概念及作用。

掌握上述动态模型图的构成及画法。

实验内容

1.交互图中有哪几种消息?

它们之间具体有何分别?

应如何表示?

答:

消息使用箭头表示,箭头的类型表示了消息的类型。

符号

名称

含义

ObjectMessage

两个对象之间的普通消息,消息在单个控制线程中运行

MessagetoSelf

对象的自身消息

ReturnMessage

返回消息

ProcedureCall

两个对象之间的过程调用

Asynchronous

Message

两个对象之间的异步消息,也就是说客户发出消息后不管消息是否接收,继续别的事务

2.

假设有一系统得协作图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?

(写出计算过程)

1:

print(test)

2:

*[i=1..3]1.1:

test=test+fact(test)

:

A

:

B

答:

打印出28。

1:

text=1+1=2;2:

text=2+2*1=4;3:

text=4*3*2*1=28。

3.状态和对象的关系是怎样的?

下面描述中哪些是对象,哪些是状态?

1)支票已付

中南民族大学管理学院学生实验报告

2)汽车停在那儿

3)小王正在工作

答:

状态是对象做出的行为。

支票是对象,已付是状态;

汽车是对象,停在那儿是状态;

小王是对象,正在工作是状态。

4.

出下面状态的状态名和各种转换、事件。

答:

状态名:

Lighting;转换:

turnOn、turnOff、defer;事件:

blinkFiveTimes、eventPowerOff、poweSupplySelf、eventSelfTest。

5.

说出下面状态图所表达的信息。

答:

状态开始,状态1:

关闭,事件1:

没水;打开防水;状态2:

打开,事件2:

烧水;事件3:

水开了关闭,回到状态1。

分支1烧水时烧坏了,状态结束。

6.

说出下面状态图所表达的信息,并指出蓝色部分代表的含义。

中南民族大学管理学院学生实验报告

答:

学生学习一门课程:

注册后开课,在学习过程中要进行三项评测:

实验一完成后进行实验二,两项都要完成;要完成团队项目;考试及格后就可以通过课程,若考试不及格,则需补考,直至考试通过。

蓝色为监护条件。

7.

说明下面网上书店系统某一活动图所表达的信息。

答:

活动图从用户下订单开始,在用户下订单后产生两个支路的行为:

一条是生成送货单,准备送往供货地区;一条是根据顾客选择的支付方

中南民族大学管理学院学生实验报告

式。

在判断确定用户是否取消或订单是否超过时限,若是,则订单取消,活动停止,若不是,则进行收款操作;之后两支路聚合统一。

试订单成功送达,供应商送货;通过系统修改订单状态;最后确认判断是够所有订单项已送货完毕,若是,则订单处理完成,若不是,则继续循环进行供应商的供货检查,即“供应商送货——修改订单项状态——判断是否所有订单已送货完毕”的操作,直至所有订单项均送货完毕为止。

指导教师评阅

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2