




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上UML建模实验指导书(10学时)哈尔滨理工大学计算机科学与技术学院实验教学中心实验一 Rose基本使用及用例图实验目的1熟悉Rose的系统界面,掌握其基本使用方法。2熟悉模型图标元素。3掌握用例图的绘制方法。实验内容1练习Rose的基本使用。2熟悉UML模型元素及表示方法。3绘制图书馆管理系统的用例图。实验要点及说明一、 Rose简介Rose是美国的Rational公司的面向对象建模工具,利用这个工具,可以建立用UML描述的软件系统的模型,而且可以自动生成和维护C+、Java、VB和Oracle等语言和系统的代码。Ø Rational Rose在建模方面具有
2、以下特点:1.保证模型和代码高度一致。Rose可以实现真正意义上的正向、逆向和双向工程。2.支持多种语言。Rose本身能够支持的语言包括C+、Visual C+、Java、Visual Basic、PowerBuilder等,还可为数据库应用产生数据库描述语言(DDL)。3.为团队开发提供强有力的支持。Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择一种方式进行团队开发。4.支持模型的Internet发布。Rose的Intern
3、et Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器,如IE来浏览该模型。5.生成使用简单且定制灵活的文档。Rose本身提供了直接产生模型文档的功能。6.支持关系型数据库的建模。利用Rose能够进行数据库的建模。Rose能够为ANSI、Oracle、SQL Server等支持标准DDL的数据库自动生成数据描述语言。Ø Rational Rose 基本使用Rational Rose主界面如下图所示::Rose的工作区分为4个部分:浏览器、文档区、编辑区和日志区。1.浏览器用来浏览、创建、删除和修改模型中的模型元素。浏览器是
4、层次结构,组成树形视图样式,用于在Rose模型中迅速定位。浏览器可以显示模型中的所有元素,包括用例、关系、类和组件等,每个模型元素可能又包含其他元素。利用浏览器可以增加模型元素(参与者、用例、类、组件、图等);浏览现有的模型元素;浏览现有的模型元素之间的关系;移动模型元素;更名模型元素;将模型元素添加到图中;将文件或者URL链接到模型元素上;将模型元素组成包;访问模型元素的详细规范;打开图。浏览器中有4个视图:Use Case View(用例视图)、Logical View(逻辑视图)、Component View(组件视图)、Deployment View(配置视图)。2.文档区用来显示和书
5、写各个模型元素的文档注释。文档区用于为Rose模型元素建立文档,例如对浏览器中的每一个参与者写一个简要定义,只要在文档区输入这个定义即可。3.编辑区用来显示和创作模型的各种图。在编辑区中,可以打开模型中的任意一张图,并利用左边的工具栏对图进行浏览和修改。修改图中的模型元素时,Rose会自动更新浏览器。同样,通过浏览器改变元素时,Rose也会自动更新相应的图。这样就可以保证模型的一致性。4.日志区用来记录对模型所做的所有重要动作。Ø Rational Rose的视图Rose模型中有4个视图:Use Case View(用例视图)、Logical View(逻辑视图)、 Componen
6、t View(组件视图)、Deployment View(配置视图)。每个视图针对不同的对象,具有不同的作用。1. Use Case View(用例视图)用例视图包括系统中的所有参与者、用例和用例图,还可能包括一些时序图或协作图。用例视图是系统中与实现无关的视图,它只关注系统功能的高层形状,而不关注系统的具体实现方法。通常在项目开始时要先确定,之后不轻易修改。 2. Logical View(逻辑视图)逻辑视图关注系统如何实现用例中提出的功能,提供系统的详细图形,描述组件之间如何关联。另外,逻辑视图还包括需要的特定类、类图和状态图。利用这些细节元素,开发人员可以构造系统的详细信息。从逻辑视图中
7、可以看到系统的逻辑结构。 3. Component View(组件视图) 组件视图显示代码模块之间的关系。组件视图包含模型代码库、可执行文件、运行库和其他组件的信息。组件是代码的实际模块。在Rose中,组件和组件图在组件视图中显示。从组件视图中可以看出系统实现的物理结构。 4. Deployment View(配置视图)配置视图关注系统的实际配置,可能与系统的逻辑结构有所不同。例如,系统可能使用三层逻辑结构,但配置可能是两层的。配置视图还要处理其他问题,如容错、网络带宽、故障恢复和响应时间等。一个项目只有一个配置视图。Ø 使用Rational Rose建模 1创建模型 Rose模型文
8、件的扩展名是.mdl,要创建模型,需要完成下列步骤:1) 从菜单栏选择“FileNew”,或单击标准工具栏中的“New”按钮;2) 弹出如图2-14所示的对话框,选择要用到的框架,单击“OK”按钮。如果不使用模板,单击“Cancel”按钮。 如果选择使用模板,Rose会自动装入此模板的默认包、类和组件。模板提供了每个包中的类和接口,各有相应的属性和操作。通过创建模板,可以收集类与组件,便于作为基础设计和建立多个系统。如果单击“Cancel”按钮,表示创建一个空项目,用户需要从头开始创建模型。2.保存模型 Rational Rose的保存,类似于其他应用程序。可以通过菜单或者工具栏来实现。1)
9、保存模型:通过选择菜单“FileSave”或者工具栏的“Save”按钮,来保存系统建模。2) 保存日志:激活日志窗口(见图2-30),通过菜单“FileSave Log As”来保存,或者右键单击日志窗口,在弹出的菜单中选择“Save Log As”命令来保存。3.设置全局选项全局选项可以通过菜单ToolsOptions进行设置。1) 设置字体在Options对话框中,可以设置文档窗口字体、日志窗口字体和默认字体,点击不同的Front按钮,就可以分别设置字体。2) 设置颜色 Rose中可以单独修改对象的颜色。点击Options对话框中的Line Color和Fill Color按钮,用户可以分
10、别设置对象的线颜色和填充颜色。二、UML中的模型元素UML中的模型元素包括事物和事物之间的联系。事物是UML中重要的组成部分,它代表任何可以定义的东西。事物之间的关系能够把事物联系在一起,组成有意义的结构模型。每一个模型元素都有一个与之相对应的图形元素。模型元素的图形表示使UML的模型图形化,而图形语言的简明和直观使其成为人们建立问题模型的有力工具。Ø 事物UML模型中的事物可分为结构事物、动作事物、分组事物和注释事物4类。这些事物是UML模型中面向对象的基本的建筑快,他们在模型中属于静态部分,代表物理上或概念上的元素。1. 结构事物 UML模型中最基本的结构化事物共有7种,类、接口
11、、协作、用例、活动类、组件和节点。 (1)类(如图1-1所示)Ø 对具有相同属性、方法、关系和语义的对象的抽象。 (2)接口(如图1-2所示)Ø 类或组件提供特定服务的一组操作的集合。 Ø 描述了类或组件的对外可见的动作。(3)协作(如图1-3所示) Ø 定义了交互操作。 Ø 代表构成系统的模式的实现。(4)用例(如图1-4所示) Ø 描述系统对一个特定角色执行的一系列动作。 Ø 组织动作事物。图1-1 类 图1-2 接口 图1-3 协作 图1-4 用例 (5)活动类(如图1-5所示) Ø 类对象有一个或多个进程或
12、线程的类。 (6)组件(如图1-6所示)Ø 实现了一个接口集合的物理上可替换的系统部分。 (7)节点(如图1-7所示)Ø 在运行时存在的一个物理元素。Ø 代表一个可计算的资源。Ø 通常占用一些内存和具有处理能力。 图1-5 活动类 图1-6 组件 图1-7 节点2. 动作事物 动作事物是UML模型中的动态部分,它们是模型的动词,代表时间和空间上的动作。交互和状态机是UML模型中最基本的两个动态事物元素,它们通常和其他的结构元素、主要的类、对象连接在一起。(1)交互一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作。 在UML中消
13、息表示为带箭头的直线,直线上标注操作名字,如图1-8所示。(2)状态机由一系列对象的状态组成。在UML中状态的图形表示如图1-9所示。3. 分组事物 Ø 分组事物是UML模型中组织的部分。Ø 分组事物只有一种,称为包。Ø 包是一种将有组织的元素分组的机制。Ø 包只存在于开发阶段。Ø 包的图形表示如图1-10所示。4. 注释事物 UML模型的解释部分。在UML中注释事物的图形表示如图1-11所示。图1-8 消息 图1-9 状态 图1-10 包 图1-11 注释 UML中的关系 UML中包括如下几种常用关系。1.关联关系。关联关系连接元素和链接实例
14、,它用连接两个模型元素的实线表示。如图1-12所示2.依赖关系。依赖关系描述一个元素对另一个元素的依附。依赖关系用源模型指向目标模型的带箭头的虚线表示,如图1-13所示。图1-12 关联 图1-13 依赖3.泛化关系。泛化关系也称为继承关系,这种关系意味着一个元素是另一个元素的特例。泛化用一条带空心三角箭头的实线表示,他从表示特殊性事物的模型元素指向表示一般性事物的模型元素,如图1-14所示。4.实现关系。实现关系描述一个元素实现另一个元素。实现关系用一条带空心三角箭头的虚线表示,箭头从源模型指向目标模型,表示源模型元素实现目标元素模型,如图1-15所示。5.聚合关系。聚合关系描述元素之间部分
15、与整体的关系,即一个表示整体的模型元素可能由几个表示部分的模型元素聚合而成。聚合关系用一端带有空心小菱形的直线表示,小菱形端连接表示整体事物的模型元素,另一端连接表示部分事物的模型元素,如图1-16所示。图1-14 泛化 图1-15 实现 图1-16 聚合三、实例图书馆管理系统的用例图 1确定系统涉及的总体信息 读者:n 借书n 还书n 书籍预定 图书馆管理员:n 书籍借出处理n 书籍归还处理n 预定信息处理 系统管理员:n 增加书目n 删除或更新书目n 增加书籍n 减少书籍n 增加读者账户信息n 删除或更新读者账户信息n 书籍信息查询n 读者信息查询 2确定系统的参与者图书馆管理系统的参与者
16、:n 读者(借阅者)n 图书馆管理员n 图书馆管理系统维护者 3确定系统的用例 借阅者请求服务的用例n 登录系统 n 查询自己的借阅信息n 查询书籍信息n 预定书籍n 借阅书籍n 归还书籍 图书馆管理员处理借书、还书的用例n 处理书籍借阅n 处理书籍归还n 删除预定信息 系统管理员进行系统维护的用例n 查询借阅者信息n 查询书籍信息n 增加书目n 删除或更新书目n 增加书籍n 删除书籍n 添加借阅者账户n 删除或更新借阅者账户 4使用Rose绘制用例图的步骤 创建用例图在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New Use Case Diagra
17、m。此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,这个图标就是新建的用例图的图标。右键单击此图标,在弹出的菜单中选择Rename菜单项,可以为用例图重命名。双击用例图图标,出现用例图的编辑区和编辑工具栏。 工具栏的定制用户可以根据需要自行定制和添加工具栏中的图标按钮,操作方法为:右键单击工具栏的空白处,在弹出的菜单中选择Customize菜单项,出现“自定义工具栏”对话框,在此对话框中可以添加工具栏中的图标按钮。 添加参与者与用例n 绘制参与者与用例。参与者和用例的绘制方法相同,首先点击工具栏中的图标按钮,然后在编辑区要绘制的地方单击鼠标左键。n
18、 设置用例的属性。在用例上双击,弹出用例属性设置对话框。也可以在选中的用例上单击右键,在弹出的菜单中选择“Open Specification.”,打开属性设置对话框。n 设置参与者的属性。双击参与者图标,打开参与者属性设置对话框。也可以在选中的参与者上单击右键,在弹出的菜单中选择“Open Specification.”,打开属性设置对话框。 添加参与者与用例之间的关系首先点击工具栏上表示关系的按钮,然后在参与者与用例之间拖动鼠标。此外,还可以修改关系的属性,具体方法可参照参与者与用例的属性设置方法。 添加用例之间的关系 用例之间的关系有关联关系(Association)、包含关系(Incl
19、ude)、扩展关系(Extend)和泛化关系(generalization)4种。关联关系的图标按钮为,包含关系与扩展关系的图标按钮为,泛化关系的图标按钮为。添加用例之间关系,其操作方法参照。5图书馆管理系统中的用例图 借阅者请求服务的用例图(如图1-17所示)用例图说明n Search for book: 书籍查询用例。n Reserve the book: 书籍预定用例。n Logon the system: 登陆系统。n Query Info: 查询借阅信息。n Borrow the book: 借阅书籍。n Return the book: 归还书籍。n Return With Fin
20、e: 还书时缴纳罚金。图1-17 借阅者请求服务的用例图 图书馆管理员处理借书、还书的用例图 (如图1-18所示)用例图说明n Get book: 书籍归还处理。n Lend book: 书籍借阅处理。n Remove Reservation: 删除书籍预定信息。图1-18 图书馆管理员处理借书、还书的用例图 n Get With Fine: 还书时收取罚金。n Check user count: 检查用户借阅凭证的合法性。 系统管理员进行系统维护的用例图 (如图1-19所示)图1-19系统管理员进行系统维护的用例图用例图说明n Query Borrower Info: 查询读者信息。n Qu
21、ery Book Info: 查询书籍信息。n Add Title: 增加书目。n Remove or Update Title: 删除或更新书目。n Add Book: 增加书籍。n Remove Book: 删除书籍。n Add Borrower: 添加借阅者账户。n Remove or Update Borrower: 删除或更新借阅者账户信息。实验二 类图实验二 栈和队列实验目的掌握类图的创建及画法。实验内容用Rose绘制图书馆管理系统的类图。实验要点及说明一、类图的用途类图是系统静态视图的一部分,它主要是用来描述软件系统的静态结构。该视图主要支持系统的功能需求,也就是系统要提供给最终
22、用户的服务。当系统分析师以支持软件系统的功能需求为目的设计静态视图时,通常以下述3种方法之一使用类图。(1)对系统的词汇建模;(2)对简单协作建模;(3)对逻辑数据库模式建模。二、类图建模技术1. 对简单协作建模 协同是软件系统的动态交互在软件系统的静态视图上的映射。协同的静态结构是通过类图表达出来的。在对类图的简单协同建模时,不仅要描述类的职责、结构和服务,还要强调类间的关系。 在协同建模时,要遵循的策略包括:(1)识别要模拟的机制。一个机制描述了被建模的部分系统的一些功能和行为,这些功能和行为是由类、接口等元素交互作用产生的。(2)对每种机制,识别参与协作的类、接口和其他协作,并识别它们间
23、的关系。(3)通过协作的脚本,发现建模的模型是否有被遗漏和语义错误的地方,并更正错误。(4)得出相应类的对象,并确定具体的属性和操作。2. 对数据库模式建模 在为数据库建模时,要遵循的策略包括:(1)在系统中确定的类,它的状态必须超过其应用系统生命周期。(2)创建包含这些类的类图,并把它们标记成永久的(persistent)。(3)展开这些类的结构信息,即详细的描述属性的细节,并注重关联和构造这些类的基数。(4)观察系统中的公共模式(如循环关联、一对一关联等),它们往往使物理数据库设计复杂化。如果必要,系统分析师需要创建简化逻辑结构的中间抽象。(5)考虑这些类的行为,扩充那些对于数据存储和数据
24、完整性很重要的操作。(6)如果可能,用工具来把逻辑设计换成物理设计。三、实例图书馆管理系统的类图 1使用Rose绘制类图的步骤: 创建类图在浏览器窗口中,右键单击“Logic View”图标,从弹出的菜单中选择New Class Diagram。此时,在“Logic View”树形结构下多了一个名为“New Diagram”的图标。要改变图标的名称,只要在创建时直接输入即可。还可以右键单击此图标,在弹出的菜单中选择Rename菜单项,可以为类图重命名。双击类图图标,出现类图的编辑区和编辑工具栏,类图的工作栏及其说明如下图所示。 加入类单击工具栏中类的图标,然后在类图编辑区域中某个位置单击鼠标左
25、键,就可以在该类图中绘制一个类。要改变类的名称,只要在创建时直接输入即可。还可以右键单击编辑区域中类的图标,在弹出的菜单中选择Open Specification. 按钮,在出现的对话框里可以对类进行一定的设置,包括设置类的名字、类型等。 增加类的属性有两种方法可以增加类的属性(即类的成员变量)。n 使用“Class Specification”。按照前面介绍的方法打开“Class Specification”窗口,然后选择“Attributes”选项卡,在窗口空白的地方单击右键,并且单击Insert按钮。 n 选择类的图标,单击右键,在弹出的菜单中选择New Attribute按钮。 增加类
26、的方法类的方法是该类所能进行的操作。增加类的方法与增加类的属性相似,按照前面介绍的方法打开“Class Specification”窗口,然后选择“Operation”选项卡,在窗口空白的地方单击右键,并且单击Insert按钮。还可以选择类的图标,单击右键,在弹出的菜单中选择New Operation按钮。2图书馆管理系统的类图。 在图书馆管理系统的实例中,数据类共有7个:Item、Title、Loan、Reservation、Borrower(项目,名称,借出,预定,借阅者), 5个类之间有一定的关系,如图2-1所示。图2-1 图书馆系统的类图实验三 时序图和协作图实验二 栈和队列实验目的1
27、掌握时序图、协作图的绘制方法。2验证Rose的交互图自动生成功能。实验内容1 用Rose绘制图书馆管理系统的时序图与协作图。2 利用Rose的交互图自动生成功能,将已经设计好的时序图转换成协作图。实验要点及说明一、 时序图建模技术按时间顺序对控制流建模,要遵循如下策略。 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 为每个对象设置生命线。 从引发某个消息的信息开始,在生命线之间画出从顶到底依次展开的消息,显示每个消息的特性(如参数)。 如果需要可视化消息的嵌套或实际计算发生时的时间点,可以用激活修饰每个对象的生命期。 如果需要说明时间或空间的约束,可以用时间标记修饰每个消
28、息,并附上合适的时间和空间约束。 如果需要更形式化的说明某控制流,可以为每个消息附上前置和后置条件。实例1图书馆管理系统的时序图1 使用Rational Rose绘制时序图的步骤。 创建时序图。在浏览器窗口中,在“Use Case View”的图标上单击鼠标右键,在弹出的菜单中选择New Sequence Diagram。此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的时序图的名字。双击时序图图标,出现时序图的编辑区和编辑工具栏。 时序图工具栏按钮简介。时序图工具栏中各个按钮的图
29、标及其作用如图3-1所示。 添加对象。n 向时序图添加对象。首先点击工具栏中的对象图标按钮,然后在编辑区要放置对象的位置单击鼠标左键。图3-1 时序图工具栏各个按钮的图标及作用n 设置对象属性。可以双击相应的对象图标,弹出对象属性设置对话框。也可以选中要改变属性的对象,单击右键,在弹出的菜单中选择“Open Specification.”,打开属性设置对话框。n 设置对象持续性。可以设置每个对象的持续性,Rose中提供了3个选项。“持续(Persistent)”对象保存到数据库或其他形式的永久存储体中,即使程序终止,对象依然存在。“静态(Static)”对象保存在内存中直到程序终止。“临时(T
30、ransient)”对象只是在短时间内保存在内存中。要设置对象的持续性,右键单击要设置持续性的对象,从弹出菜单中选择 “Open Specification.”,打开属性设置对话框,即可进行设置。 添加消息消息是对象间的通信,一个对象可以请求另一个对象做某件事。在时序图中,消息用两个对象生命线之间的箭头表示。n 增加对象间的消息。首先点击工具栏中的图标按钮,然后将鼠标从发送消息的对象或角色的生命线拖动到接收消息的对象或角色的生命线。消息绘制出来以后,还要输入消息文本。双击表示消息的箭头,在弹出的对话框的Name 字段里输入要添加的文本。n 显示或取消消息编号。消息编号在时序图中是可选的,选择菜
31、单栏的ToolsOptions菜单项,在出现的对话框中选择Diagram选项卡,将“Sequence numbering”复选框勾选,就可以显示消息编号;如果不勾选,消息编号不会显示在时序图中。n 显示或取消激活显示。选择菜单栏的ToolsOptions菜单项,在出现的对话框中选择Diagram选项卡,将“Focus of control”复选框勾选,就可以显示激活;如果不勾选,激活不会显示在时序图中。2 图书馆管理系统的时序图。 在图书馆管理系统中,每个用例都可以建立一个时序图,将用例执行中各个参与的对象之间的消息传递过程表现出来。由于图书馆管理系统中用例很多,此处只介绍几个重要的时序图。
32、系统管理员添加书籍的时序图(如图3-2)。图3-2 系统管理员添加书籍的时序图时序图说明n add Item():添加书籍函数。n find(String):根据书籍查找相应书目的函数。n create(Integer, Title):修改书籍数目的函数。 图书管理员处理借书的时序图(不包括预留书籍的情况)。图3-3 图书管理员处理借书的时序图时序图说明n find(String):查找书目的函数。n find_item():查找所要书籍的函数。n find_on_title(Title):根据书目名从数据库中找到书目信息的函数。n identify_borrower():验证借阅者身份的函数
33、。n find(Sting):根据借阅者的登陆账号找到借阅者信息的函数。n create(Borrower, item):修改借阅信息的函数。 系统管理员删除书目的时序图(如图3-4)。时序图说明n find(String):书目类的查找函数。n find_on_title(Title):查找此书目下书籍信息的函数。n destroy:删除书籍信息的函数。n destroy:删除书目信息的函数。图3-4 系统管理员删除书目的时序图 借阅者预留书籍的时序图(如图3-5)。图3-5借阅者预留书籍的时序图时序图说明n Login:登陆系统的函数。n find(string):查找相应书目的函数。n
34、reserve():预订书籍的函数。二、协作图建模技术利用协作图对控制流建模,要遵循如下策略。 设置交互的语境。 通过识别对象在交互中扮演的角色,设置交互的场景。 对每个对象设置初始特性。 描述对象之间可能有信息沿着它传递的链。 从引起交互的消息开始,适当地设置其顺序号,然后将随后的每个消息附到适当的链上。 如果需要说明时间或空间约束,可以用时间标记修饰这个消息,并附上合适的时间和空间约束。 如果需要更形式化地说明这个控制流,可以为每个消息附上前置和后置条件。 实例图书馆管理系统的协作图1 使用Rational Rose绘制协作图的步骤。 创建协作图。在浏览器窗口中,在“Use Case Vi
35、ew”的图标上单击鼠标右键,在弹出的菜单中选择New Collaboration Diagram。此时,在“Use Case View”树形结构下多了一个名为“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的协作图的名字。双击协作图图标,出现协作图的编辑区和编辑工具栏。 协作图工具栏按钮简介。协作图工具栏中各个按钮的图标及其作用如图3-6所示。 添加对象。首先点击工具栏中的图标按钮,然后在绘制区要放置对象的位置单击鼠标左键。协作图中对象的属性及持续性的设置方法见时序图。 添加消息n 添加对象间的消息。在将消息添加到两个对象之间前,首先要建立
36、对象间的通信路径。单击工具栏中的图标按钮,在两个目标对象之间拖动一条直线,就在对象间增加了通信路径。有了通信路径,就可以在路径上增加对象之间的消息了。增加对象间消息的步骤如下:选择工具栏中的图标按钮或,单击两个对象之间的通信路径,就会画出消息箭头。消息绘制出来以后,还要输入消息文本。双击表示消息的箭头,在弹出的对话框的Name 字段里输入要添加的文本。n 添加反身消息。选择工具栏中的图标按钮,然后单击收发消息的对象,为此对象增加一个到它自身的通信路径。反身通信路径在对象上方,显示为半圆形。 图3-6 协作图工具栏各个按钮的图标及作用选择工具栏中的图标按钮,然后在对象的反身通信路径上单击,Ros
37、e就会为对象添加消息。新增加的消息的属性值可以按照前面介绍的方法修改。 添加数据流。数据流描述一个对象向另一个对象发送消息时返回的消息。一般来说,对协作图的每个消息都加上数据流是没有必要的,这样做只会使图中堆满价值不大的信息。只要在一些重要消息上附加数据流即可。 数据流的添加步骤如下:选择工具栏的图标按钮或,单击要返回数据的消息,Rose就会在协作图中添加数据流箭头。2图书馆管理系统的协作图。同时序图类似,在图书馆管理系统中,每个用例也可以建立一个协作图。此处只介绍几个重要的协作图。 系统管理员添加书籍的协作图(如图3-7)。协作图说明n add Item():添加书籍函数。n find(St
38、ring):根据书籍名查找相应书目的函数。n update():修改某类书目下书籍数量的函数。图3-7 系统管理员添加书籍的协作图 图书管理员处理借书的协作图(如图3-8)。图3-8 图书管理员处理借书的协作图协作图说明n identify_borrower():验证借阅者身份的函数。n find_reservation():查找预订信息的函数。n find(Borrow, Title):根据借阅者和借阅的书籍名找到相应预订信息的函数。n borrow():处理借书的函数。n update():更新某一书目下书籍数量的函数。n check_if_max():检查借阅凭证所借书籍数目是否已经超过
39、最大限额的函数。 借阅者预订书籍的协作图(如图3-9)。图3-9 借阅者预订书籍的协作图协作图说明n identify_borrower():验证借阅者身份的函数。n find(String):根据书籍名称查找书目信息的函数。n reserve():预订某一书目下的书籍的函数。n create(Title, Borrower):修改预订信息的函数。 实验四 状态图和活动图实验二 栈和队列实验目的掌握状态图、活动图的绘制方法。实验内容用Rose绘制图书馆管理系统的状态图与活动图。实验要点及说明一、 状态图建模技术建模。状态图一般用于对系统中的某些对象,比如类、用例和系统的行为建模。建模的时候要找
40、出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作。具体的建模步骤如下: 找出适合用模型描述其行为的类。 确定对象可能存在的状态。 确定引起状态转换的事件。 确定转换进行时对象执行的相应动作。 对建模的结果进行相应的精化和细化。实例图书馆管理系统的状态图1 使用Rational Rose绘制状态图的步骤。 创建状态图。在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New Statechart Diagram。点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的状态图“New D
41、iagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的状态图的名字。双击状态图图标,出现状态图的编辑区和编辑工具栏。 状态图工具栏按钮简介。状态图工具栏中各个按钮的图标及其作用如图4-1所示。 加入开始状态和终止状态。状态图中可以加入两个特殊的状态:开始状态和终止状态。开始状态在图中显示为实心圆,点击工具栏中的开始状态图标,然后在绘制区域要绘制开始状态的地方单击鼠标左键就可以加入开始状态。终止状态的加入方法与开始状态相同。 增加状态。增加状态的步骤如下:n 增加状态。点击工具栏中的状态图标,然后在绘制区域要绘制状态的地方单击鼠标左键。双击状态图标,在弹出的
42、对话框中可设置状态的属性。 图4-1 状态图工具栏各个按钮的图标及作用n 增加入口动作。入口动作是对象进入某个状态时发生的动作,进入动作在状态内显示,前面有“Entry/”前缀。添加入口动作可以在状态属性对话框里进行:点击对话框的“Actions”选项卡,在空白处单击鼠标右键,在弹出菜单中选择Insert菜单项。接着,双击出现的动作类型“Entry/”,在出现的对话框的“When”选项的下拉列表中选择“On Entry”,在“Name”选项中填入动作的名字。 点击“OK”按钮,退出此对话框,然后再点击属性设置对话框的“OK”按钮,状态图的入口动作就添加完成。n 增加出口动作。出口动作与入口动作
43、相似,不过它在对象退出某个状态时发生。它的添加方法也和入口动作相似,只不过在“When”选项的下拉列表中选择“On Exit”。n 增加活动。活动是对象在特定状态时进行的行为,活动与入口动作/出口动作不同,活动是可以中断的。增加活动与增加入口动作和出口动作类似,只要在“When”选项的下拉列表中选择“Do”即可。 增加转换。转换是从一种状态到另一种状态的过渡,在UML中转换用一条带箭头的直线表示。增加转换的步骤如下:n 加入转换图标。转换要在两个状态之间进行,要增加转换,首先点击工具栏中的图标按钮,然后单击转换的源状态,即转换开始的状态,向目标状态拖动一条直线。n 增加事件。事件导致对象从一种
44、状态变到另一种状态。在框图中,事件可以用操作名和有意义的字符串表示。要增加事件,可以双击转换的图标,在出现的对话框的“General”选项卡里增加。在此对话框中,可以在“Event”选项中添加触发转换得事件,在“Argument(参数)”选项中添加事件的参数,还可以在“Document”选项中对事件的描述。n 增加动作。动作是转换过程中发生的不可中断的行为,大多数动作要在转换时发生。要增加动作,可以双击转换的图标,在出现的对话框中选择“Detail”选项卡,在“Action”选项中填入要发生的动作。 增加历史状态。状态图的绘制过程中有时要使用历史状态。历史状态的添加方法如下:n 双击要添加历史
45、状态的状态,在打开的对话框中选择“General”选项卡。n 将左下角的“State/Activity History”复选框勾选,就可以增加历史状态了。2 图书馆管理系统中的状态图。 在图书馆管理系统中,有明确状态转换的类包括:书籍和借阅者的账户(相当于包含特定个人信息的电子借阅凭证)。可以在系统中为这两类事物建立状态图。 书的状态图(如图4-2)。图4-2 书的状态图状态图说明n New book:还未入库的新书。n Delete:已经从书库里删除的书。n Available:书籍处于可用状态,即可以外借的状态。n Reserved:预订状态。n Borrowed:借出状态。 借阅者账户的
46、状态图(如图4-3)。图4-3 借阅者账户的状态图状态图说明n New Borrow:新加入的借阅者的账户。n Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅数目的上限。n Account Unavailable:借阅账户为不可用状态,即所借的书籍数已达到规定的书籍借阅数目上限,不能再借阅书籍了。n Delete Account:个人账户被删除状态。二、活动图建模技术活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。活动图在本质上是一种流程图。用活动图对工作流建模可遵循如下步骤: 识别要对其工作流描述
47、的类或对象。 确定工作流的初始状态和终止状态,明确工作流的边界。 对动作状态或活动状态建模。 对动作流建模。 对对象流建模。 对建立的模型进行精化和细化实例图书馆管理系统的活动图1 使用Rational Rose绘制活动图的步骤。 创建活动图。在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New Activity Diagram。点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的活动图“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的活动图
48、的名字。注意 此时创建的State/Activity Model模块和新建状态图时创建的模块其实是一个模块,新建的状态图或者活动图都处于“State/Activity Model”目录树下。如果创建状态图时已经创建了一个State/Activity Model模块,要创建活动图,只需要在“State/Activity Model”的图标上单击鼠标右键,在弹出的菜单中选择New Activity Diagram即可。双击活动图图标,出现活动图的编辑区和编辑工具栏。 活动图工具栏按钮简介(如图4-4)。图4-4 活动图工具栏各个按钮的图标及作用 加入初态和终态。初态在图中显示为实心圆,点击工具栏中
49、的开始状态图标,然后在绘制区域要绘制初态的地方单击鼠标左键就可以加入开始状态。终态的加入方法与初态相同。 增加动作状态。首先点击工具栏中的状态图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键。双击动作状态图标,在弹出的对话框中可设置动作状态的属性。 增加活动状态。活动状态的表示图标和动作状态相同,与动作状态不同的是活动状态能够添加动作。添加动作的步骤如下:n 选中要添加动作的活动状态的图标,右键单击,在弹出的菜单中选择菜单项Open Specificationn 在弹出的对话框中选择“Actions”选项卡,在空白处单击鼠标右键,在弹出菜单中选择Insert菜单项。n 接着双击列表中出现的
50、默认动作“Entry/”,在出现的对话框的“When”选项的下拉列表中有“On Entry”、“On Exit”、“Do”和“On Event”等动作选项。用户可以根据需要进行选择。下面的“Name”字段要求用户加入所添加动作的名称。n 如果选择“On Event”,则要求在相应的字段中输入事件的名称“Event”、“Argument(参数)”和事件发生的条件“Condition”等。n 点击“OK”按钮,退出当前对话框,然后再点击属性设置对话框的“OK”按钮,活动状态的动作就添加完成。 增加动作流。动作流显示了活动之间的移动。动作流在两个状态之间进行,要增加动作流,点击工具栏中的图标按钮,然
51、后在两个要转换的动作状态之间拖动一条直线。 增加分支与合并。分支与合并描述对象的并发行为。要增加分支与合并,点击工具栏中的图标按钮,然后在绘制区域要加入分支与合并的地方单击鼠标左键。 增加分叉与汇合。分叉与汇合描述对象的条件行为。要增加分叉与汇合,点击工具栏中的图标按钮,在绘制区域要加入分叉与汇合的地方单击鼠标左键。 增加泳道。泳道用于将活动图中的活动分组。要绘制泳道,可以点击工具栏中的图标按钮,然后在绘制区域点击鼠标左键,泳道就绘制出来了。可以修改泳道的名字以反映泳道的分组情况,修改方法如下:n 选中相应的泳道,右键单击,在弹出的菜单中选择 Open Specificationn 在弹出的对
52、话框中的“Name”字段中可以修改泳道的名字。 增加对象与对象流。可以通过对象流显示工作流如何影响或使用对象。对象与活动间的带箭头的虚线表示对象流。n 增加对象。点击工具栏中的图标按钮,在绘制区域要绘制对象的地方单击鼠标左键。增加对象以后,右键单击此对象,在弹出的菜单中选择 Open Specification“General”选项卡,此时可以输入对象名、标出对象的状态和增加对象的说明等。n 增加对象流。点击工具栏中的图标按钮,从改变对象的活动拖放到相应对象上,或从对象拖放到使用对象的活动。2 图书馆管理系统中的活动图。在图书馆管理系统中,有明确活动的类包括借阅者、图书馆管理员和系统管理员。可
53、以在系统中为这3个类建立活动图。 借阅者的活动图(如图4-5)。图4-5 借阅者的活动图活动图说明n Self-help Service:打开图书馆负责自助服务的计算机。n Search for books:查询需要的书籍。n Login:登陆管理系统。n View book information:查看书籍信息。n Reserve the book:预订书籍。n Exit System:退出系统。n Leave Computer:离开自助服务的计算机。 图书管理员的活动图(如图4-6)。图4-6 图书管理员的活动图活动图说明n Login the system:图书管理员登陆系统。n Get
54、 book:处理还书操作。n Lend book:处理借书操作。n Update borrowers information:更新借阅者借阅凭证的信息。n Accept money:收取罚金。 系统管理员的活动图。 系统管理员要处理的内容比较多,活动图也比较大,所以将其分为3个图。A. 系统管理员维护借阅者账户的活动图(如图4-7)。B. 系统管理员维护书目信息的活动图(如图4-8)。C. 系统管理员维护书籍信息的活动图(如图4-9)。图4-7 系统管理员维护借阅者账户的活动图图4-8 系统管理员维护书目信息的活动图图4-9 系统管理员维护书籍信息的活动图活动图说明n Login the system:登陆系统。n Operation on borrower:对借阅者账户操作。n Operation on title:对书目进行操作。n Operation on book:对书籍进行操作。n Query borrower info:查阅借阅者信息。n New borrower:添加新的借阅者账户。n Remove or Update borrower:删除或更新借阅者账户。n Query title:查询书目信息。n New title:增加新的书目。n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络安全防护人员劳动合同范本
- 外贸企业代理记账及汇率风险管理合同范本
- 草原资源承包与生态保护合作协议
- 车位租赁与广告合作服务协议
- 车辆临时借用合同示范文本
- 文化旅游产业参股合作协议示范文本
- 成都商铺租赁合同范本:包含租赁合同附件及补充协议
- 信息技术产业园区厂房租赁管理服务协议
- 机电暖通安装合同协议书
- 广东省深圳市龙岗区布吉中学2025年英语七年级第二学期期中教学质量检测模拟试题含答案
- JT-T 1495-2024 公路水运危险性较大工程专项施工方案编制审查规程
- 在线网课知慧《水产动物育种学(海南大学)》单元测试考核答案
- 洗煤厂取水工程或设施核验报告模板
- 体弱儿及肥胖儿护理
- 社保补偿协议书社保缴费义务履行
- 农行合规演讲稿
- 《一轮复习动员》主题班会课件1
- 会计学专业导论
- ZJ17ZB45卷接包设备点巡检作业规程
- 降低压力性损伤发生率品管圈课件
- 《嘭嘭嘭》阅读测试题(附答案)
评论
0/150
提交评论