实验一UML建模基础一、实验目的1.熟悉UML建模工具Rational rose的可视化环境。
2.掌握利用Rational rose进行建模的步骤。
二、实验内容1.熟悉Rational rose建模环境(1)单击“开始—>所有程序—>IBM Rational—>Rational Rose Enterprise Edition”,启动Rational Rose建模环境,软件启动后产生如图1.1所示的建模模型窗口。
图1.1 Rational rose 启动提示界面(2)选项卡【new】用来选择新建模型时采用的模板。
单机【Details】按钮可以查看选中模板的描述。
【Existing】选项卡用于打开一个已经存在的模型。
【Recent】选项卡可以打开一个最近打开的模型文件。
如暂时不需要任何模板,只需要建立一个新的空白模型文件,单击【Cancel】按钮,显示Rational rose主界面,如图1.2所示。
图1.1 Rational rose主界面(3)主界面包含五大部分:导航窗口、绘图窗口、工具栏、文档窗口和日志窗口。
①导航窗口:用于在模型中迅速漫游。
导航窗口类似于windows操作系统的资源管理器,它以树形结构显示了模型中的所有元素,包括参与者、用例、类、组件等。
利用导航窗口可以:a)增加模型元素参与者、用例、类、组件、框图。
b)浏览现有模型元素。
c)浏览现有模型元素间的关系。
d)移动模型元素。
e)更名模型元素。
f)将模型元素加进框图。
g)将文件或UML链接到元素。
h)将元素组成包。
i)访问元素的详细规范。
j)打开图形。
图1.3 导航窗口导航窗口四个视图根结点。
a)用例视图(Use Case View):用于管理需求分析获取的所有用例、参与者和用例图。
b)逻辑视图(Logic View):分析和设计完成的所有制品(如类图、对象图、顺序图、活动图、状态图等)放置在逻辑视图中。
c)组件视图(Component View):逻辑视图中的类实现后成为软件的组件,可以放在组件视图中创建这些组件,并绘制组件图描述它们之间的依赖关系。
d)部署视图(Deployment View):系统最终要实现物理部署,在部署视图中创建物理系统中的节点和节点的连接,并描述软件组件在物理节点中的分布。
②绘图窗口:当在导航窗口中选中某个图双击后,就会打开一个绘图窗口并显示该图,可以使用左边工具栏进行绘图。
根据图型的不同,工具栏提供与之相应的图形符号。
③工具栏:提供了所有UML中的图示符号,包括用例、参与者、类、关系、注释等等,按下任意一个图形元素,就可以在绘图窗口中绘制出来。
④文档窗口:图形符号提供的信息经过了抽象和压缩,提供的信息量有限,每张图或每个图形元素的详细信息可以补充在文档窗口中。
比如书写用例规约时,只要在绘图窗口中点击选中某个用例,然后在文档窗口中输入规约内容,系统就会自动保存文档内容,并与该用例关联起来。
⑤日志窗口:使用Rose工具时,有些信息会在日志窗口中显示出来,比如在生成代码时可能发生的任何错误。
2.建模基本步骤(1)启动Rational rose软件,建立空白模型文件。
(2)双击Use Case View 节点下的main,出现如图1.4所示,为绘制用例图做好准备。
图1.4 绘制用例图(3)添加参与者:在图1.4中的工具栏选取Actor图标,在右边的图中添加一个Actor,选中新添加的Actor,单击鼠标右键,出现如图1.5所示的快捷菜单,选择“Open Specification”(4)项,打开该Actor的设置对话框,如图1.6所示。
在name框中为该参与者命名为学生,单击【OK】按钮。
图1.5 Actor设置图1.6 Actor命名(5)添加用例:如图1.7在左边的用例工具栏选取用例图标,在右边的图中添加一个Use Case,选中新添加的“Use Case”,单击鼠标右键,选择“Open Specification”项,打开该Use Case的设置对话框,如图1.8所示。
在name框中为该用例命名为“登陆系统”,在Documentation框中键入“登陆”的用例规格说明,单击【OK】按钮。
从此以后只要选中“登陆系统”用例,则界面上的文档窗口就会显示其对应的用例规格说明。
图1.7 添加用例图1.8 用例命名(5) 按照(4)反复操作,分别加入“成绩查询”、“退出系统”、“输入系统密码”、“找回系统密码”用例,如图1.9所示。
图1.9 用例添加(6) 用例的实现:在绘出了参与者和用例后,接下来的是绘制参与者与用例实现,如图1.10所示。
图1.10 用例实现(7) 绘制用例间的关系:根据需求分析可得出“找回系统密码”是“登陆系统”的扩展,用例“登陆系统”包含用例“输入密码”。
如图1.11,利用工具栏依赖关系图标绘制相应关系。
同时右键在Open Specification按钮(如图1.12),在相应对话框中设计依赖关系的类型,设置结果如图1.13所示。
图1.11 用例间关系1.12 类型设置1.13 图形结果(8) 保存模型:选择菜单栏【File->Save】或者标准工具栏的【Save】按钮,可以保存已建立好的系统模型,UML中模型文件扩展名为.mdl。
3.结合日常生活中实际使用的系统,模仿2中的用例模型绘制用例图,并保存模型,熟悉利用Rational rose的建模过程,要求绘制的用例图中用例与2中的用例图不相同。
实验二用例图一、实验目的1.熟悉UML用例图的基本图形元素。
2.掌握用例与用例之间的各种关系。
3.熟悉针对具体场景使用例图进行软件建模的方法。
4.掌握用例规格说明的概念和基本结构,以及用例规格说明的作用。
二、实验内容1.根据实验一建模实例,熟悉利用Raional rose软件绘制用例图的基本方法。
2.通过对“学生信息管理系统”的需求描述,确定系统用例图:“学生信息管理系统”的需求描述如下:在每个新学年开始都会有新生入学,这时系统的管理人员可以通过系统将这些新生的学籍、年龄、家庭住址、性别、身高、学生证号、身份证号等基本信息存入数据库,每个新生都对应一个唯一的编号,此编号可以是学生,在日程管理中,系统管理员还可以对所有学生的基本信息进行查询、修改和删除等操作;同时校领导可以查询、修改全校所有学生的基本信息。
•学校领导可以通过本系统了解每个班的任课教师、辅导员、学生姓名、学生人数、专业等班级基本信息。
系统管理员可以进行查询班级基本信息、添加班级、修改班级基本信息、删除班级等操作。
•在考试结束以后,教师可以将学生的考试成绩录入系统,还可以对学生的成绩进行查询和修改。
学生可以通过本系统进行成绩的查询。
•学生还可以在网上选择自己选修的课程(必修课必须上,所以不用选),学生通过本系统可以看到有哪些课程可以选以及课程的基本信息。
课程的基本信息包括:课程号、所属专业、课程名称、开课学期、学时数、学分、任课教师等。
每个学生每学期的选修课程数不得大于6门,如果已经选择了6门课程则不能再选择其他课程。
只有将已选择的课程删除掉才能再选择新课程。
系统管理员负责修改、增加、删除选修课程。
•系统管理员可以对系统的账号进行添加、设置、删除、查询等操作,同时可以设置每个账号的权限以及对应的个人信息。
a)请根据上述描述,确定系统的参与者b)确定系统的用例并绘制完整的用例图。
3.根据2中所绘制的“学生信息管理系统”用例图,写出学生“选择课程”用例的用例规格说明。
“选择课程”用例规格说明用例编号:UC21用例名称:选择课程简要说明:用户选择课程并保存参与者:学生、教师、校领导、管理员前置条件:用户正确登录系统后置条件:成功完成选课并保存基本事件流 1.用户向系统发送选课请求2.用户选择欲选课程3.系统核对用户身份条件4.选课成功并且自动保存扩展事件流:3a身份条件验证失败,显示选择所需条件并提示重新选择或者放弃选课3a 1)用户重新选择课程,跳转到23a 2)放弃选课,终止操作4.考虑一个网络订餐系统的需求,并绘制出完整的用例图。
实验三类图一、实验目的1.熟悉UML中类的定义和图形符号。
2.掌握类与类之间的各种关系代表的含义及表示方法。
3.掌握类图的绘制方法。
4.了解对象图的绘制方法。
二、实验内容1.按照如下操作要求,绘制图书管理系统各类图,掌握绘制类图的步骤:(1) 新建模型文件,打开模型文件中的逻辑视图(Logical View),用鼠标右击逻辑视图,在弹出来的菜单中选择“New→Class diagram”项,创建“图书馆业务功能”类图,如图3.1所示。
图3.1 新建类图(2) 双击新建的“图书馆业务功能”类图,并点右边控件集中选中的“Class”图标,并用鼠标在图中拖出一个类图,并命名为Book,如图3.2所示。
图3.2 新建类(3) 下一步为设置Book类的属性,在类图中双击Book类,可以在打开的“Class Specification”对话框中设置Book类的属性和方法等其他的信息;点击“Attributes”选项卡,此选项卡可以设置类的属性,在图中间单击右键,可以看到有一个“Insert”的选项,选中这个选项,然后在出现的对话框中输入相关信息,即书本的ISBN号属性,在“Type”方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般将属性设置为“private”。
Book类的其他属性也可以按照以上的做法设置,具体操作过程如图3.3所示。
图3.3 类的属性设置(4) 设置好Book类的属性,即可以设置Book类的方法(操作)。
双击Book 类后在“Class Specification”对话框中选“operations”选项卡,在图中的空白地方,单击右键,在弹出的菜单中选“insert”选项,输入方法名,同时可以设置该方法的返回类型以及可见性,并可以在Documentation的方框内填写一些相关的方法说明,具体设置方法见图3.4。
图3.4 类的方法设置(5)完成上述操作即可完成类的设置,如图3.5所示。
图3.5 类2.根据以下描述画出类图,并注明多重性关系(省略类的属性和关系):一个学生可以选修多门课程,也可能没有任何课程;一门课程可以被多个学生选修;一个老师可以教多门课程或者不教课;每门课程至少有一个老师,也可以有多个老师任教;每门课程可以有0或1本教材,每本教材只能用于一门课程。
3.根据下面的代码画出Course类的类图,要求标明各属性的类型和可见性以及类方法。
class Course{private:string courseName;string teacher;string student[100];const int courseNum;static double courseAverScore;public:Course();void SetCourseTeacher(string teacher);double CaculateScore(int studentNum=1);};double Course::courseAverScore=0.0;4. 根据以下描述,画出相应的UML 类图:(1) 神舟六号飞船是神州飞船系列的一种,它由轨道舱、返回舱、推进舱和逃逸救生塔等组成。