UML实验报告
2020-04-24
来源:意榕旅游网
UML 实 验 报 告 实验一 用例图 一、实验结果 1、整理实验结果 2、小结实验心得体会 用例模型用于需求分析阶段,它描述了待开发系统的功能需求,并驱动了需求分析之后各阶段的开发工作。用例图是UML中用来对系统的动态方面进行建模的7种图之一。用例图描述了用例、参与者以及它们之间的关系。用例图从用户角度描述系统功能,并指出各功能的操作者。 通过本次实验,我熟悉 Rational Rose 建模环境,更加清楚的了解了用例图的语义和功能,如何清晰明了的识别参与者、用例,学会了如何使用事件流描述用例。同时掌握了用例间的类属关系、Include关系和Extend关系的语义、功能和应用。最后通过本次实验学习了如何使用用例图为系统的上下文以及系统的需求建模。 二、思考题 1、如果要删除参与者、用例,请问是在导航窗口删除,还是在绘图窗口删除? 答:都可以删除,但在绘图窗口中有两种删除方式:一种是只删除参与者、用例,而不改变其在导航窗口中的存在,另一种是从建模中完全删除。 2、如果要删除参与者和用例的联系,用例和用例的联系,请问是在绘图中删除,还是在参与者或用例的设置对话框中删除? 答:都可以删除。 实验二 类对象模型的建立 一、实验结果 1.整理实验结果。 2.小结实验心得体会。 类图是面向对象系统建模最常用的图,描述了类图、接口集、协作以及它们之间的关系。类图描述了系统的静态设计视,该视主要体现系统的功能需求,即系统应该提供给用户的服务。 通过本次实验,加深了我对类图语义的理解和功能的应用,掌握了类之间的联系,关联、依赖、聚合等,同时基本掌握了在 Rational Rose中绘制类的关联、依赖、泛化关系。 二、思考题 选中一个模型对象,点击鼠标右键,比较快捷菜单项“Edit——Delete”与“Edit——Delete from Model” ,它们二者之间区别在哪里? 答:“Edit——Delete”只删除绘图窗口中的图形,而不改变其在导航窗口中的存在;“Edit——Delete from Model” 是从建模中完全删除。 实验三 顺序图、协作图 一、实验结果 1.整理实验结果。 2.小结实验心得体会 顺序图描述了对象之间的动态合作关系,它强调对象之间消息发送的时间顺序,同时显示对象之间的交互。协作图与顺序图是同构的,Rose 可自动转换。顺序图是强调消息的交互作用图,协作图描述了对象间的关系,是强调发送和接收消息的对象的组织结构的交互作用图。 通过本次实验,掌握了对图书管理功能中的借书用例、还书用例进行动态建模。实验过程中由于对Rational Rose工具软件的不熟识,导致出现了不该出现的错误。在设计阶段,顺序图中需要引入边界类和控制类,在识别对象职责的基础上,需要将消息转换为类的方法,为方法定义参数、返回值类型,便于计算机的实现。其中,为方法定义参数、返回值类型的时候,还是不能够快速准确的作出判断。 实验四 活动图 一、实验结果 1.整理实验结果。 2.小结实验心得体会 在UML中,活动图是为系统的动态方面建模的7个图之一。活动图主要是一个流图,它描述了从活动到活动的控制流,它还可以用来描述对象在控制流的不同点从一个状态转移到另一个状态时的对象流。 通过本次实验,我对活动图的语义和功能有了更深层次的理解和应用,并对活动图的组成部分,包括动作状态、活动状态、分支、分叉和泳道、对象流,逐一进行了学习。同时基本掌握了用活动图来描述系统中“借出图书”用例的业务过程。实验过后本应该有完整的截图,由于自己的粗心马虎,造成截图的不完整性。 实验五 状态图 一、实验结果 1.整理实验结果。 2. 小结实验心得体会。 状态图描述了一个特定对象的所有可能状态,以及引起状态跃迁的事件。状态图用来模拟系统的动态方面,这些动态方面指系统对象按事件发生顺序排序的行为。状态图可以用来描述整个系统、子系统或类的动态方面,还可以用来描述用力的一个脚本。 通过本次实验,我熟悉了状态图的基本功能和使用方法。掌握了如何使用建模工具绘制状态图方法。同时完成了图书管理业务中,资源项“ResourceItem”的状态图。 实验六 组件图和部署图 一、实验结果 1.整理实验结果。 2.小结实验心得体会。 组件图和部署图是用来为面向对象系统的物理实现建模的两种图。组件图描述了组件、组件间的关系,表示了组件之间的组织和依赖关系,它用来为系统的静态实现视建模。部署图描述了节点和运行其上的组件的配置,它用来模拟系统的静态部署视。 通过本次实验,我理解了组件图的基本概念及组件图的应用:逻辑部署。 理解了部署图的基本概念。 及部署图的应用:物理部署。掌握了组件图和部署图绘制的方法。完成了系统的组件图和系统的部署图。 二、思考题 1. 为什么要求相对应的类名、组件名和实现组件的文件名相同? 答:相应的名字中能够找到相应的类的信息。如果组件名、类名和 Java 文件名不相同,会出现实体类的语法错误。 实验七 正向工程 一、实验报告要求 1.整理实验结果。 2.小结实验心得体会。 正向工程是对一个系统物理结构实现的高层抽象性、逻辑性及独立性设计的传统处理过程。通过本次试验,学会了利用 Rose 工具生成代码框架及生成数据库脚本 ,同时在实现过程中使用转换后的代码和数据库脚本。了解了Java 编程综合练习。 二、思考题 1.在本案例中,并未对实体类 ResourceTitle 设置主键,系统在生成数据库脚本时是如何处理的? 答:(1)设置类的持久化特性和主键:在导航窗口右击类,如“Loan”,选择快捷菜单“Open Standard Specification”菜单项,打开类设置对话框。选中“Detail”选项卡中的“Persistent”特性。点击 OK按钮,关闭设置对话框。然后,在导航窗口中展开类的属性,鼠标右击类的某个属性,如类“Loan”的属性“LoanID”,选中快捷菜单中的“Data Modeler”的“Part of Object Identity”属性,这样,在生成数据模型时,该属性就成为表 Loan 的主键。(2)创建数据库组件。(3)在导航窗口中选择所生成的数据库模式 S_0,单击鼠标右键,选择快捷菜单项“Data Modeler——Forward Engineer”,出现生成数据库脚本的导航界面,鼠标单击“Next”按钮,在导航界面输入脚本文件的保存路径,注意 SQL Server2000 的脚本文件扩展名用.sql。单击“Next”直至完成脚本文件的生成。 2. 本案例中,ResourceTitle 与BookTitle、DiscTitle的继承关系,SQL Server 2000 关系型数据库的转换合理吗?如不合理,请问该如何修改? 答:不合理。