当前位置:文档之家› UML统一建模语言实验报告

UML统一建模语言实验报告

实验(一)UML建模基础及用例图实验目的1、熟悉UML建模工具Rational Rose的基本菜单及操作。

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

3、掌握用例的概念;掌握UML用例图的组成及作用。

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

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

2、认识各种UML关系,并用工具表示出来。

3、什么是用例?用例图中有哪些组成元素?在UML中是如何表示的?答:用例是参与者可以感受到的系统服务或功能单元。

用例图的组成部分是参与者、用例、系统边界和关联。

参与者用人形图标表示,用例图用椭圆形符号表示,连线表示它们之间的关系。

4、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。

答:包含关系:是指用例可以简单的包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。

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

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

5、完成书中94页例子,体会用例图建模的分析过程并模仿来画出该学生信息管理系统的用例图。

画出课后习题101页第4题。

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

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

该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下是一个用例模型的局部:修改房源信息小李认为该模型不符合“用例建模”的思想,存在明显的错误。

请用200字以内说明错误所在,并说明应该如何修改。

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

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

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

参与者有房产经纪人,对于房产经纪人来说,系统维护操作主要包括:录入,修改房源信息而登录和确认信息是包含在登入和修改中的,包含关系的图标按钮应用虚线箭头。

修改后应该是:7、阅读下面的用例图,说明该图所表达的信息。

客户进入棋牌管理系统内之后,可以预定座位,如果预定的人较多,需要等候队列的排队,预定成功后应该检查座位信息是否正确。

总服务台需要为客户安排座位,安排座位后需要检查座位信息是否正确,信息正确就要办理结账,结账收款可以有两种付款方式,分别是现金结账和银行卡结账。

进行银行卡结账需要连接到银联POS系统。

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

根据该用例图回答问题。

a) “签订保险单”用例可能涉及到哪几个实体类?答:客户、保险员和保险单。

b) 现实生活中签订保单的基本流程如下:客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。

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

答:当客户不同意保险条款时,将执行扩展用例“退出签订保单”。

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

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

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

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

[分析与讨论]1、总结UML在软件工程中的作用以及使用UML建模的必要性。

答:对象建模的目标是要为正在开发的系统制定一个精确、简明和易懂的面向对象模型。

UML已经成为工业标准的对象建模语言。

建模能够帮助开发组织者更好地对系统计划进行可视化,并帮助他们正确地进行构造,使开发共作进展得更快。

在软件开发的生命期方面,UML对于开发的要求具有无缝性。

开发过程的不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用。

在开发的不同阶段,不必转换概念和表示。

这种无缝性对迭代式的、增量式软件开发是至关重要的。

在应用领域方面,UML适用于各种应用领域的建模,包括大型的、复杂的、实时的、分布式的、集中式数据或计算的2、总结用例图的重要作用,指出哪些场合下可以使用用例图。

答:作用:用例图是从软件需求分析到最终实现的第一步,它显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。

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

用例方法完全是从外部来定义系统功能的,它把需求和设计完全分离开来,使用户不用关心系统内部是如何完成各种功能的。

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

3、讨论用例分析技术和结构化分析之间的关系和区别。

答:区别:用例分析是面向对象(Object Oriented)的开发方法。

结构化系统开发方法是指把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用系统标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的软件产品。

联系:它们都可以是软件的开发更容易。

4、在使用用例图的时候应该如何划分用例,应注意哪些问题?答:如何确定用例:a 参与者需要从系统中获取哪种功能?及参与者要系统做什么?b 参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?c 系统的状态改变是是否通知参与者?d 是否存在影响系统的外部事件?e 系统需要什么样的输入、输出信息?需要注意的是:一定不要再用例图中使用两种命名方法。

即在椭圆之外和椭圆之内。

指导教师批阅:1、实验态度:不认真(),较认真(),认真()2、实验目的:不明确(),较明确(),明确()3、实验内容:不完整(),较完整(),完整()4、实验步骤:混乱(),较清晰(),清晰()5、实验结果:错误(),基本正确(),正确()6、实验结果分析:无(),不充分(),较充分(),充分()7、其它补充:总评成绩:评阅教师(签字):评阅时间:实验(二)类图与对象图实验目的1、掌握类的定义,类的3要素,UML中类的表示方法。

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

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

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

类的多重性关系。

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

6、掌握对象的概念,对象的表示方法,掌握类与对象的关系。

7、掌握UML中静态图形和动态图形的区别和联系实验内容1、类的属性和方法的可见性有哪些?UML中如何表示?答:类的属性和方法的可见性有:公有public(符号“+”)、私有 private (符号“-”)和受保护protected(符号“#”),2、已知三个类A.B和C.其中类A由类B的一个实类和类C的1个或多个实类构成.请画出能够正确表示类A,B和C之间关系的UML类图.3、根据以下描述画出类图,并注明多重性关系:一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。

4、现有一系统需要对商品进行管理,包括添加,删除商品,修改商品信息三项功能,画出系统类图。

(商品信息包括商品编号,商品名称,价格,生产厂商等)5、上题,如果现在系统需求发生变化,需要能够对损坏商品进行打折,以及可以按照商品的颜色和外形进行查询,则系统类图应该如何修改?6、根据下面的代码画出Invoice类的类图,要求标明各属性的类型和可见性以及类方法。

public class Invoice{public double amount;public Date date = new Date();public string customer;public string specification;public string administrator = “unspecified”;static private int number_of_invoices()=0;public invoice();{number_of_invoices++;}public void print(){System.out.println("The number of invoices is”+ intnumber_of_invoices);}}7、下图是一个仓库管理系统的类模型局部,其中IncomeOrder是指入库单,OrderItem是指入库中的每一项,Product则是产品信息。

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

8、在下图中最上面的对象的名称是什么?该图表示的意思是什么?。

[分析与讨论]1、讨论类图在建模过程中的重要作用。

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

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

指导教师批阅:8、实验态度:不认真(),较认真(),认真()9、实验目的:不明确(),较明确(),明确()10、实验内容:不完整(),较完整(),完整()11、实验步骤:混乱(),较清晰(),清晰()12、实验结果:错误(),基本正确(),正确()13、实验结果分析:无(),不充分(),较充分(),充分()14、其它补充:总评成绩:评阅教师(签字):评阅时间:实验(三)序列图与协作图实验目的1、掌握序列图(时序图)与协作图的概念及作用。

2、掌握UML中静态图形和动态图形的区别和联系。

3、掌握UML时序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适用场合。

4、重点掌握时序图的画法以及其中元素所代表的意义。

实验内容1、UML中的序列图与协作图之间各有什么区别和联系?2、在顺序图和协作图中,应如何表示“循环”,“判断”等结构?3、什么是消息?消息在交互中扮演什么角色?答:消息是指从一个对象(发送者)向另一个对象或其他几个对象(接受者)发送信号,或有一个对象(发送者或调用者)调用另一个对象(接受者)的操作。

由三部分组成。

分别是发送者、接受者和活动。

4、交互图中有哪几种消息?它们之间具体有何分别?应如何表示?5、已知某一个用例实现的类图如下,下面四个选项中的时序图(图中省略了消息编号、名称和返回消息),画出一个能和该类图对应的时序图。

相关主题