实验四 状态图和活动图
- 格式:doc
- 大小:124.00 KB
- 文档页数:10
U M L--实验4-图书管理系统活动图和状态图(总4页)
本页仅作为文档封面,使用时可以删除
This document is for reference only-rar21year.March
实验4 状态图和活动图
实验目的
1.熟悉状态图和活动图的基本功能和使用方法。
2.掌握如何使用建模工具绘制状态图和活动图方法。
实验学时
4学时,必做。
实验内容
(1)分析图书管理系统中的书和借书证的状态,画出它们的状态图;
(2)分析管理员的活动状态,画出管理员的活动图。
实验步骤
1.分析
在图书管理系统中,分析书的状态如下:
1.可借
2.被借
3.被预约
4.删除
借书证的状态如下:
1.可用
2.不可用
3.删除
管理员的活动如下:
1.处理还书
2.处理借书
3.处理罚款
2.绘图步骤:
下面介绍在Rose中创建类和它们之间关系的过程:
书和借书证的状态图:
(1)、新建状态图
(2)、画出书的状态图
(3)、画出借书证的状态图
管理员活动图
(1)新建活动图
(2)
进入图书管理系统输入图书条
形码
找到此书籍输入借阅者
信息验证
进行验证借阅
者信息
不正确
添加借书信
息
正确。
目录实验一 UML建模基础及用例图实验二类图与对象图实验三序列图与协作图实验四状态图实验五活动图实验(一)UML建模基础及用例图实验目的1、熟悉UML建模工具Rational Rose的基本菜单及操作。
2、掌握UML的可见性规则和构造型的作用。
3、掌握用例的概念;掌握UML用例图的组成及作用。
4、掌握用例与用例之间的各种关系。
实验内容1、练习使用建模工具建立各种UML图形,并对图形进行相应编辑和修改。
2、认识各种UML关系,并用工具表示出来。
中南民族大学管理学院学生实验报告3、什么是用例?用例图中有哪些组成元素?在UML中是如何表示的?答:用例是对系统功能的描述,是向参与者提供重要价值的操作序列。
用例图有:用例、参与者、关联(系统边界)等元素。
用来显示在系统或其他实体内的用例与系统参与者之间的关系。
主要使用场合:需求获取、定义、分析4、用例与用例之间的包含关系、扩展关系和泛化关系各代表什么含义?它们之间有何区别?对以上三种关系各举一例,画出用例图,并进行说明。
(1)包含关系:基本用例的行为包含另一用例的行为。
基本用例描述在多个用例中都有的公共行为。
包含关系是本质上比较特殊的依赖关系,它比一般的依赖关系多了一些语义。
在包含关系中箭头的放向是从基本用例到包含用例的。
(2)扩展关系:扩展关系的基本含义和泛化关系相似,但在扩展关系中,对于扩展用例有更多的规则限制。
基本用例必须声明扩展点,而扩展用例只能在扩展点上增加新的行为和含义。
(3)泛化关系:代表一般与特殊的关系。
UML用例图中泛化关系的意思和面向对象程序设计中的继承的概念是类似的。
不同的是继承使用在实施阶段,泛化使用在分析、设计阶段。
在泛化关系中子用例继承了父用例的行为和含义,子用例也可以增加新的行为和含义或者覆盖父用例中的行为和含义。
5、完成书中94页例子,体会用例图建模的分析过程并模仿来画出该学生信息管理系统的用例图。
画出课后习题101页第4题。
学号 **********
统一建模语言UML B
实验报告
实验4 状态图和活动图
学生姓名黄源
专业、班级14软件(2)班
指导教师高天迎
成绩
计算机与信息工程学院
年月日
一、实验目的
在熟悉状态、活动概念与应用的基础上,掌握状态图和活动图的建立。
1.理解什么状态和状态图。
2.掌握状态图的建立。
3.掌握活动图的建立。
二、实验内容
1.建立图书管理系统的状态图。
2.建立图书管理系统的活动图。
三、实验思想
1.分析:根据图书管理系统的需求分析和用例模型,对系统中的用例进行动态建模。
2.在Rational Rose工具中绘制状态图和活动图。
四、实验结果
1.状态图:
(1)登陆
(2)增添新书
(3)借阅者
2.活动图
(1)借阅者(2)图书管理员
(3)系统管理员管理借阅者信息(4)系统管理员维护图书信息
五、实验心得
这次实验学习的是状态图和活动图,感觉这次实验和前面实验相比较要容易一些,这些图按顺序来的,感觉会和我们传统的思维模式比较吻合,用心去绘制就很容易画出来。
UML实验心得体会uml实验报告学院班级学号姓名uml实验报告实验一:用例图实验结果:小结实验心得体会:用例模型用于需求分析阶段,它描述了待开发系统的功能需求,并驱动了需求分析之后各阶段的开发工作。
用例图是uml中用来对系统的动态方面进行建模的7种图之一。
用例图描述了用例、参与者以及它们之间的关系。
用例图从用户角度描述系统功能,并指出各功能的操作者。
通过本次实验,我熟悉rational rose建模环境,更加清楚的了解了用例图的语义和功能,如何清晰明了的识别参与者、用例,学会了如何使用事件流描述用归还图书1.借出图书协作图:1.归还图书2.借出图书小结实验心得体会:顺序图描述了对象之间的动态合作关系,它强调对象之间消息发送的时间顺序,同时显示对象之间的交互。
协作图与顺序图是同构的,rose可自动转换。
顺序图是强调消息的交互作用图,协作图描述了对象间的关系,是强调发送和接收消息的对象的组织结构的交互作用图。
通过本次实验,掌握了对图书管理功能中的借书用例、还书用例进行动态建模。
实验过程中由于对rational rose 工具软件的不熟识,导致出现了不该出现的错误。
在设计阶段,顺序图中需要引入边界类和控制类,在识别对象职责的基础上,需要将消息转换为类的方法,为方法定义参数、返回值类型,便于计算机的实现。
其中,为方法定义参数、返回值类型的时候,还是不能够快速准确的作出判断。
实验四:活动图实验结果:篇二:uml实验总结实验一1.源代码生成,在逻辑视图中绘制下图,生成java源文件生成代码步骤:“tools”-〉“java”-〉“genenate codes”。
public class meeting {private string username;private string scheduled_user; private date start_time; private date end_time; private string label;public string getuser() {return null; }public string getother() {return null; }public date getstart(){return null; }public date getend() {return null; }public string getlabel() {return null; }public string tostring() {return null; }public void main(string args) { return null; } }2.进行逆向工程,自行找到一个项目软件源代码,进行逆向工程。
UML建模课程实验三、UML状态图、活动图模型的设计班级:信息0702 组别:指导老师:徐凯波姓名:王姗学号:2007030331205一、实验要求:掌握利用UML建模工具建立状态图和活动图的方法。
二、实验内容:利用UML建模工具设计状态图和活动图三、实验环境:Windows 2000 Professional以上环境、Rational Rose2003、Sybase Power Designer 10四、操作步骤:(一)状态图(二)活动图五、遇到的问题和解决方法:状态图:学生登陆选课系统进行选课,每个学生每个学期最多只能选3门课,如果学生选课没有达到3门课,就可以进行选课,但学生选课如果达到了3门,则选课失败,不能进行选课。
活动图:管理员再添加课程时,根据本学期实际情况设定课程人数的下限于上限,统计每门课程的选课人数,如果本门课程低于设定的下限,则删除此课程,如果选课人数高于设定的上限,则此门课可则不能再选。
在画活动图的时候,我犯了一个致命的错误,就是没有画泳道,泳道是老师在课堂上反复强调的内容,但在实际操作中,依然这方面出错,这说明老师课上反复强调的东西是多么的重要,还有就是一定要将课堂与实际相联系,才能将知识真正的掌握。
六、实验心得和体会:通过这学期的UML课程,我最大的感触解释做任何事情都要端正态度,在刚上徐老师课的时候,总觉得许老师要求的过严,后来才知道,老师的要求是有根据的,许老师是希望我们通过这一学期的课程真正的掌握UML的知识,学有所用,在画活动图的时候,我已经习惯了先自己动脑去想,真是做不下去的时候,才向老师、同学询问,通过仔细全过程的认真思考,我掌握了关于UML一些制图的方法,可是只掌握这些还是远远不够的,徐老师说够,RationalRose软件还能做许多与编程有关的东西,我们所学习的只是一些皮毛而已,我会继续学习这个软件的,不会的难点,还会想徐老师请教!。
实验四状态图和活动图(2学时)[实验目的]掌握状态图、活动图的绘制方法。
[实验内容]用Rose绘制图书馆管理系统的状态图与活动图。
[实验要点及说明]一、状态图建模技术建模。
状态图一般用于对系统中的某些对象,比如类、用例和系统的行为建模。
建模的时候要找出对象所处的状态、触发状态改变的动作,以及对象状态改变时应执行的动作。
具体的建模步骤如下:①找出适合用模型描述其行为的类。
②确定对象可能存在的状态。
③确定引起状态转换的事件。
④确定转换进行时对象执行的相应动作。
⑤对建模的结果进行相应的精化和细化。
实例——图书馆管理系统的状态图1.使用Rational Rose绘制状态图的步骤。
①创建状态图。
在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New →Statechart Diagram。
点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的状态图“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的状态图的名字。
双击状态图图标,出现状态图的编辑区和编辑工具栏。
②状态图工具栏按钮简介。
状态图工具栏中各个按钮的图标及其作用如图4-1所示。
③加入开始状态和终止状态。
状态图中可以加入两个特殊的状态:开始状态和终止状态。
开始状态在图中显示为实心圆,点击工具栏中的开始状态图标,然后在绘制区域要绘制开始状态的地方单击鼠标左键就可以加入开始状态。
终止状态的加入方法与开始状态相同。
④增加状态。
增加状态的步骤如下:增加状态。
点击工具栏中的状态图标,然后在绘制区域要绘制状态的地方单击鼠标左键。
双击状态图标,在弹出的对话框中可设置状态的属性。
图4-1 状态图工具栏各个按钮的图标及作用⏹增加入口动作。
入口动作是对象进入某个状态时发生的动作,进入动作在状态内显示,前面有“Entry/”前缀。
添加入口动作可以在状态属性对话框里进行:点击对话框的“Actions”选项卡,在空白处单击鼠标右键,在弹出菜单中选择Insert菜单项。
接着,双击出现的动作类型“Entry/”,在出现的对话框的“When”选项的下拉列表中选择“On Entry”,在“Name”选项中填入动作的名字。
点击“OK”按钮,退出此对话框,然后再点击属性设置对话框的“OK”按钮,状态图的入口动作就添加完成。
⏹增加出口动作。
出口动作与入口动作相似,不过它在对象退出某个状态时发生。
它的添加方法也和入口动作相似,只不过在“When”选项的下拉列表中选择“On Exit”。
⏹增加活动。
活动是对象在特定状态时进行的行为,活动与入口动作/出口动作不同,活动是可以中断的。
增加活动与增加入口动作和出口动作类似,只要在“When”选项的下拉列表中选择“Do”即可。
⑤增加转换。
转换是从一种状态到另一种状态的过渡,在UML中转换用一条带箭头的直线表示。
增加转换的步骤如下:⏹加入转换图标。
转换要在两个状态之间进行,要增加转换,首先点击工具栏中的图标按钮,然后单击转换的源状态,即转换开始的状态,向目标状态拖动一条直线。
⏹增加事件。
事件导致对象从一种状态变到另一种状态。
在框图中,事件可以用操作名和有意义的字符串表示。
要增加事件,可以双击转换的图标,在出现的对话框的“General”选项卡里增加。
在此对话框中,可以在“Event”选项中添加触发转换得事件,在“Argument(参数)”选项中添加事件的参数,还可以在“Document”选项中对事件的描述。
⏹增加动作。
动作是转换过程中发生的不可中断的行为,大多数动作要在转换时发生。
要增加动作,可以双击转换的图标,在出现的对话框中选择“Detail”选项卡,在“Action”选项中填入要发生的动作。
⑥增加历史状态。
状态图的绘制过程中有时要使用历史状态。
历史状态的添加方法如下:⏹双击要添加历史状态的状态,在打开的对话框中选择“General”选项卡。
⏹将左下角的“State/Activity History”复选框勾选,就可以增加历史状态了。
2.图书馆管理系统中的状态图。
在图书馆管理系统中,有明确状态转换的类包括:书籍和借阅者的账户(相当于包含特定个人信息的电子借阅凭证)。
可以在系统中为这两类事物建立状态图。
①书的状态图(如图4-2)。
图4-2 书的状态图[状态图说明]⏹New book:还未入库的新书。
⏹Delete:已经从书库里删除的书。
⏹Available:书籍处于可用状态,即可以外借的状态。
⏹Reserved:预订状态。
⏹Borrowed:借出状态。
②借阅者账户的状态图(如图4-3)。
图4-3 借阅者账户的状态图[状态图说明]⏹New Borrow:新加入的借阅者的账户。
⏹Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅数目的上限。
⏹Account Unavailable:借阅账户为不可用状态,即所借的书籍数已达到规定的书籍借阅数目上限,不能再借阅书籍了。
⏹Delete Account:个人账户被删除状态。
二、活动图建模技术活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流。
活动图在本质上是一种流程图。
用活动图对工作流建模可遵循如下步骤:①识别要对其工作流描述的类或对象。
②确定工作流的初始状态和终止状态,明确工作流的边界。
③对动作状态或活动状态建模。
④对动作流建模。
⑤对对象流建模。
⑥对建立的模型进行精化和细化实例——图书馆管理系统的活动图1.使用Rational Rose绘制活动图的步骤。
①创建活动图。
在浏览器窗口中,在“Logic View”的图标上单击鼠标右键,在弹出的菜单中选择New →Activity Diagram。
点击菜单项后,在“Logic View”目录下创建“State/Activity Model”子目录,目录下是新建的活动图“New Diagram”的图标,右键单击此图标,在弹出的菜单中选择Rename菜单项,可以更改新创建的活动图的名字。
[注意] 此时创建的State/Activity Model模块和新建状态图时创建的模块其实是一个模块,新建的状态图或者活动图都处于“State/Activity Model”目录树下。
如果创建状态图时已经创建了一个State/Activity Model模块,要创建活动图,只需要在“State/Activity Model”的图标上单击鼠标右键,在弹出的菜单中选择New →Activity Diagram即可。
双击活动图图标,出现活动图的编辑区和编辑工具栏。
②活动图工具栏按钮简介(如图4-4)。
图4-4 活动图工具栏各个按钮的图标及作用③加入初态和终态。
初态在图中显示为实心圆,点击工具栏中的开始状态图标,然后在绘制区域要绘制初态的地方单击鼠标左键就可以加入开始状态。
终态的加入方法与初态相同。
④增加动作状态。
首先点击工具栏中的状态图标,然后在绘制区域要绘制动作状态的地方单击鼠标左键。
双击动作状态图标,在弹出的对话框中可设置动作状态的属性。
⑤增加活动状态。
活动状态的表示图标和动作状态相同,与动作状态不同的是活动状态能够添加动作。
⑥增加动作流。
动作流显示了活动之间的移动。
动作流在两个状态之间进行,要增加动作流,点击工具栏中的图标按钮,然后在两个要转换的动作状态之间拖动一条直线。
⑦增加分支与合并。
分支与合并描述对象的并发行为。
要增加分支与合并,点击工具栏中的图标按钮,然后在绘制区域要加入分支与合并的地方单击鼠标左键。
⑧增加分叉与汇合。
分叉与汇合描述对象的条件行为。
要增加分叉与汇合,点击工具栏中的图标按钮,在绘制区域要加入分叉与汇合的地方单击鼠标左键。
⑨增加泳道。
泳道用于将活动图中的活动分组。
要绘制泳道,可以点击工具栏中的图标按钮,然后在绘制区域点击鼠标左键,泳道就绘制出来了。
⑩增加对象与对象流。
可以通过对象流显示工作流如何影响或使用对象。
对象与活动间的带箭头的虚线表示对象流。
2.图书馆管理系统中的活动图。
在图书馆管理系统中,有明确活动的类包括借阅者、图书馆管理员和系统管理员。
可以在系统中为这3个类建立活动图。
借阅者的活动图(如图4-5)。
图4-5 借阅者的活动图[活动图说明]⏹Self-help Service:打开图书馆负责自助服务的计算机。
⏹Search for books:查询需要的书籍。
⏹Login:登陆管理系统。
⏹View book information:查看书籍信息。
⏹Reserve the book:预订书籍。
⏹Exit System:退出系统。
⏹Leave Computer:离开自助服务的计算机。
①图书管理员的活动图(如图4-6)。
图4-6 图书管理员的活动图[活动图说明]⏹Login the system:图书管理员登陆系统。
⏹Get book:处理还书操作。
⏹Lend book:处理借书操作。
⏹Update borrower’s information:更新借阅者借阅凭证的信息。
⏹Accept money:收取罚金。
②系统管理员的活动图。
系统管理员要处理的内容比较多,活动图也比较大,所以将其分为3个图。
A.系统管理员维护借阅者账户的活动图(如图4-7)。
B.系统管理员维护书目信息的活动图(如图4-8)。
C.系统管理员维护书籍信息的活动图(如图4-9)。
图4-7 系统管理员维护借阅者账户的活动图图4-8 系统管理员维护书目信息的活动图图4-9 系统管理员维护书籍信息的活动图[活动图说明]⏹Login the system:登陆系统。
⏹Operation on borrower:对借阅者账户操作。
⏹Operation on title:对书目进行操作。
⏹Operation on book:对书籍进行操作。
⏹Query borrower info:查阅借阅者信息。
⏹New borrower:添加新的借阅者账户。
⏹Remove or Update borrower:删除或更新借阅者账户。
⏹Query title:查询书目信息。
⏹New title:增加新的书目。
⏹Remove or Update title:删除或更新书目。
⏹Add book:增加书籍信息。
⏹Remove book:删除书籍信息。
⏹Exit the system:退出系统。