您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 统一建模语言UML实验报告
学生实验报告目录实验一UML建模基础及用例图....3实验二对象图及交互图..........11实验三UML类图................16实验四包图...................20实验五状态图..................25实验六活动图.................30实验七时序图与协作图.........34实验一UML建模基础及用例图[实验目的和要求]1、熟悉UML建模工具RationalRose的基本菜单及操作。2、掌握UML的可见性规则和构造型的作用。3、掌握用例的概念;掌握UML用例图的组成及作用。4、掌握用例与用例之间的各种关系。[实验内容和步骤]1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。2、认识各种UML关系及可见性符号,并用工具表示出来。UML关系表示方法关联关系依赖关系泛化关系实现关系聚合关系可见性表示方法公有(Public)““+”私有(Private)“-”受保护(Protected)“#”包内公有(Package)“~”。3什么是用例,什么是场景?用例和场景之间的关系是怎样的?答:用例是外部可见的系统功能单元,这些功能由系统单元所提供,并通过一系列系统单元与一个或多个参与者之间交换的消息所表达。事件触发时的情景便形成了场景4用例图中有哪些组成元素?在UML中是如何表示的?答:用例图包含6个元素,分别是:参与者、用例、关联关系、包含关系、扩展关系以及泛化关系。参与者用人形图标表示,用例图用椭圆形符号表示,连线表示它们之间的关系。5用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。答:包含关系:一个用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为作为自身行为的一部分。扩展关系:一个用例也可以被定义为基础用例的增量扩展,这称作扩展关系,扩展关系是把新的行为插入到已有用例中的方法。泛化关系:一个用例可以被特别列举为一个或多个子用例。包含关系把几个用例的公共步骤分离成一个单独的被包含用例。被包含用例称作提供者用例,包含用例称作客户用例,提供者用例提供功能给客户使用。用例间的包含关系允许包含提供者用例的行为到客户用例的事件中。包含关系使一个用例的功能可以在另一个用例中使用。(1)如果两个以上用例有大量一致的功能,则可以将这个功能分解到另一个用例中。其他用例也可以和这个用例建立包含关系。(2)一个用例的功能太多时,可以用包含关系建模两个小用例。用例间的包含关系示例图基础用例的执行不会涉及到扩展用例,只有特定的条件发生,扩展用例才被执行。用例间的扩展关系示例用例泛化当父用例能够被使用时,任何子用例也可以被使用。子用例从父用例处继承行为和属性,还可以添加、覆盖或改变继承的行为。如果一个系统中一个或多个用例是某个一般用例的特殊化时,就需要使用用例的泛化关系。用例间的泛化关系示例6为了满足物业中介行业的信息化要求,甲公司基于详尽的需求调研与分析,准备研发一套符合市场需要的、实用的信息管理系统。主要将实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。该公司小王,通过多次的与潜在客户的交流与沟通,完成了最初的用例模型的开发,下是一个用例模型的局部:录入房源信息确认提交信息房产经纪人修改房源信息打开房源信息页面登录信息include小李认为该模型不符合“用例建模”的思想,存在明显的错误。请用200字以内说明错误所在,并说明应该如何修改。答:用例是系统参与者与系统在交互过程中所需要完成的事务。确定参与者是房产经济人,还要分析系统所涉及的问题领域和系统运行的主要任务。根据系统的需求分析可确定:作为一个物业信息管理系统,要实现客户资料信息管理、客户委托(出租、出售、租赁、购买)信息管理、业务线索生成与管理、房源状态自动更新、权限管理、到期用户管理、房源组合查询等功能。参与者有房产经纪人,对于房产经纪人来说,系统维护操作主要包括:录入,修改房源信息而登录和确认信息是包含在登入和修改中的,包含关系的图标按钮应用虚线箭头。修改后应该是:7.阅读下面的用例图,说明该图所表达的信息。答:客户可以启动“预定座位”功能。如果预定人数多,将执行扩展用例“处理等候队列”。总台服务员可以启动“安排座位”“办理结账”功能。客户预定座位、服务员安排座位需要先“检查座位信息”。服务员“办理结账”时需要“收款”,收款时可以现金支付也可以使用银行卡,银行卡必须是银联POS系统。8、下图是一个描述保险商务系统的简单用例图。根据该用例图回答问题。a)“签订保险单”用例可能涉及到哪几个实体类?答:客户、保险员、保险单。b)现实生活中签订保单的基本流程如下:客户提出购买需求,保险员根据客户需求选择相应的保险服务,客户阅读保险条款,同意后打印保单样据,客户签字并支付保金,保单开始生效,保险员做相关系统纪录。如需要根据以上信息,请列举这个用例描述中可能存在扩展事件流。答:当客户不同意保险条款时,将执行扩展用例“退出签订保单”。c)保单管理用例在实际开发过程中可以泛化出若干小用例,列出可能存在的子用例,并且说明这些用例和“保单管理”用例之间应该是什么关系?答:保单查询、保单保存。泛化关系。7、在一个TelephoneSystem(电话系统)中,用户可以使用电话卡或对方付款两种办法来打电话。1)请画出表示该场景的用例图。2)在前图的基础上,继续画出可能存在的包含用例和扩展用例。[分析与讨论]1、总结UML在软件工程中的作用以及使用UML建模的必要性。答:UML是一种定义良好、易于表达、功能强大且普遍适用的建模语言。它溶入了软件工程领域的新思想、新方法和新技术。它的作用域不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。使用UML可以对已有的用各种方法建立的模型进行描述,并比原来的方法描述得更好。在软件开发的生命期方面,UML对于开发的要求具有无缝性。开发过程的不同阶段可以采用相同的一套概念和表示法,在同一个模型中它们可以混合使用。在开发的不同阶段,不必转换概念和表示。这种无缝性对迭代式的、增量式软件开发是至关重要的。在应用领域方面,UML适用于各种应用领域的建模,包括大型的、复杂的、实时的、分布式的、集中式数据或计算的。2、总结用例图的重要作用,讨论并指出哪些场合下可以使用用例图。答:用例图显示多个外部参与者以及他们与系统提供的用例之间的连接。通过用例建模可以对外部的角色以及他们所需要的系统功能建模。用例图用于系统分析阶段。3、讨论用例分析技术和结构化分析之间的关系和区别。?答:区别:用例分析是面向对象(ObjectOriented)的开发方法。结构化系统开发方法是指把整个系统开发过程分成若干阶段,每个阶段进行若干活动,每项活动应用系统标准、规范、方法和技术,完成一个或多个任务,形成符合给定规范的软件产品。联系:它们都可以是软件的开发更容易4、在使用用例图的时候应该如何划分用例,应注意哪些问题?答:如何确定用例:a参与者需要从系统中获取哪种功能?及参与者要系统做什么?b参与者是否需要读取、产生、删除、修改或存储系统中的某种信息?c系统的状态改变是是否通知参与者?d是否存在影响系统的外部事件?e系统需要什么样的输入、输出信息?需要注意的是:一定不要再用例图中使用两种命名方法。即在椭圆之外和椭圆之内。实验二对象图及交互图[实验目的和要求]1、掌握对象的概念,对象的表示方法,掌握类与对象的关系。2、掌握时序图(顺序图)与协作图(通信图)这两种交互图的概念及作用。3、掌握UML中静态图形和动态图形的区别和联系。4、掌握UML时序图与协作图的基本图形,了解它们各自的组成元素、特定作用和适用场合。5、重点掌握时序图的画法以及其中元素所代表的意义。[实验内容和步骤]1、什么是对象,对象的三大特征是什么?UML中对象的表示方法有哪些?答:对象代表一个单独的,可确认的物体、单元或实体,它可以是具体的也可以是抽象的,在问题领域里有确切定义的角色。换句话说,对象是边界非常清楚的任何事物。对象的三大特征是封装、继承和多态。UML中对象的表示方法有:对象名和属性。2、在下图中最上面的对象的名称是什么?该图表示的意思是什么?请绘制出与其相应的类图。fuJian:ProvinceChina:CountrysiChuan:Province答;china:country.该图表示福建省和四川省都包含在中国中。相应的类图:3、说明对象图的适用场景以及它的优缺点。答:对系统的设计视图建模时,可以使用一组类图完整地描述抽象的语义以及它们之间的关系。但是使用对象图不能完整地描述系统的对象结构。4、UML中的时序图与协作图之间各有什么区别和联系?答:两者都是表示交互的方式,但时序图描述时间交互的各种信息,协作图描述的是和对象结构相关的信息。5、在顺序图和协作图中,应如何表示“循环”,“判断”等结构?答:整个消息的传递过程就形成了一个完整的序列,因此通过在每个消息的前面加上一个用冒号隔开的顺序号来表示其顺序6、什么是消息?消息在交互中扮演什么角色?答:对象之间某种形式的通信,可以激发某个操作、唤起信号或导致目标对象的创建或撤销。两个对象之间的单路通信。7、交互图中有哪几种消息?它们之间具体有何分别?应如何表示?答:简单消息:简单控制流;同步:嵌套控制流异步:异步控制流。可以讲一个简单消息和一个同步消息合并成一个消息。对于消息的这几种控制流不知道怎么具体区分,比如一个老师让一个学生发言属于什么消息?简单控制流?简单消息:做完一件事再做另外一件事。买票是同步;异步是不等结果的返回就去做另外一件事,比如洗衣服,洗衣机洗衣服的时候可以去做饭。乙方发送了一个消息后不必等待甲方回应。而同步必须是等到回应后才能做另外一件事。8、假设有一系统得协作图局部如图所示,print方法的功能是将传入的参数的值打印在屏幕上,fact方法是计算阶乘,如果test的初值为1,那么最终将打印出什么?(写出计算过程):A:B1:print(test)2:*[i=1..3]1.1:test=test+fact(test)[分析与讨论]1、思考类与对象之间的关系是怎样的?各举几个实例,说明哪些是类,哪些是对象。答:类有3个分栏:名称属性和操作。对象只有两个分栏:名称和属性。类的名称分栏中只有类名。对象的名称形式为“对象名:类名”,匿名对象的名称形式为“:类名”。类的属性分栏定义了所有属性的特征。对象图中不包含操作,因为对于属于同一个类的对象而言,其操作是相同的。类使用关联连接,关联使用名称、角色、多重性以及约束等特征定义。类代表的是对对象的分类,所以必须说明可以参与关联的对象的数目。对象使用链连接,链拥有名称、角色,都是没有多重性。对象代表的是单独的实体,所有的类都是一对一的,因此不涉及到多重性。Country、Province是类,而china、fujian和sichuan分别是这两个类中的对象2、思考在具体场景中应该如何区分类与对象。答:从定义和图形表示发区分。对象就是类的实例,所以如果是抽像的不存在的就是类,而具体的存在的就是对象。3、讨论并总结在建模过程中运用交互图的重要作用及意义。答:交互视图描述了执行系统功能的各个角色之间相互传递消息的顺序关系。类元是对在系统内交互关系中起特定作用的一个对象的描述,这使它区别于同类的其他对象。交互视图显示了跨越多个对象的系统控制流程。交互视图可用两种图来表示:顺序图和协作图,它们各有不同的侧重点顺序图的一个用途是用来表示用例中的行为顺序。当执行一个用例行为时,顺序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件。协作图的一个用途是表示一个类操作的实现。协作图可以说明类操作中用到的参数和局部变量以及操作中的永久链。当实现一个行为时,消息编号对应了程序中嵌套调用结构和信号传递过程。实验三UML类图[实验目的和要求]1、掌握类
本文标题:统一建模语言UML实验报告
链接地址:https://www.777doc.com/doc-4893513 .html