UML实验指导书.docx
- 文档编号:10004655
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:20
- 大小:162.04KB
UML实验指导书.docx
《UML实验指导书.docx》由会员分享,可在线阅读,更多相关《UML实验指导书.docx(20页珍藏版)》请在冰豆网上搜索。
UML实验指导书
《软件过程与UML建模》
实验指导书
(试用版)
内蒙古工业大学信息工程学院计算机系
2011.2
目录
《软件过程与UML建模》实验教学大纲1
实验一基于UML的类模型设计5
实验二基于UML的需求分析7
实验三基于UML的对象设计9
实验四基于UML的功能设计11
实验五基于UML的综合设计
(一)14
实验六基于UML的综合设计
(二)15
《软件过程与UML建模》实验教学大纲
一、基本信息
课程编码
020213003
课程学时
32
课程类别
学科基础课
实验总学时
10
开出学期
第六学期
开出单位
计算机系软件工程实验室
适用专业
软件工程
二、实验安排
序号
实验项目
实验学时
每组人数
实验类型
开出要求
1
基于UML的类模型设计
2
1
验证
必做
2
基于UML的需求分析
2
1
验证
必做
3
基于UML的对象设计
2
1
验证
必做
4
基于UML的功能设计
2
1
验证
必做
5
基于UML的综合设计
(一)
4
1
综合
必做
6
基于UML的综合设计
(二)
4
1
综合
必做
三、实验目的、内容与要求
(一)基于UML的类模型设计(2学时)
1、实验目的
1)熟练使用Rationalrose2003,掌握类图的创建方法
2)掌握类的设计方法
3)掌握类间的关系(继承、关联)的设计方法
2、实验内容
选课系统的类的设计
3、验要求
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
(二)基于UML的需求分析(2学时)
1、实验目的
1)熟练使用Rationalrose2003,掌握用例图和活动图的绘制方法
2)掌握用例的设计方法
3)掌握活动图的设计方法
2、实验内容
网上选课系统的需求分析
3、实验要求
1)使用JAVA语言通过三层模型MVC(数据核心层、显示层和业务逻辑层)实现;
2)分析系统,确定参与者和用例,绘制选课系统的用例图;
3)使用文本详细描述每个用例的事件流;
4)为每个用例制作活动图;
5)确定类间的关联关系,创建类间的关联关系;
(三)基于UML的对象设计(2学时)
1、实验目的
1)熟练使用Rationalrose2003,掌握用例图和活动图的绘制方法
2)掌握序列图和协作图的绘制方法,使用这两种方法进行对象的设计
3)掌握状态图的绘制方法,为对象的设计提供帮助
2、实验内容
1)网上选课系统的对象设计;
2)课程类对象的状态图设计。
3、实验要求
1)为用例绘制序列图;
2)为用例绘制协作图;
3)绘制课程对象的状态图。
(四)基于UML的功能设计(2学时)
1、实验目的
1)熟练使用Rationalrose2003
2)掌握组件图的绘制方法
3)掌握配置图的绘制方法
4)双向工程的实施过程
2、实验内容
1)选课系统的组件图设计;
2)选课系统的配置图的设计;
3)选课系统的正向工程;
4)选课系统的逆向工程;
3、实验要求
1)绘制选课系统的组件图;
2)绘制选课系统的配置图;
3)使用Rose的正向工程,为类People、Student和Registrar生成代码;
4)使用Rose的逆向工程,为Student的代码建立同步模型。
(五)基于UML的综合设计
(一)(2学时)
1、实验目的
1)熟练使用Rationalrose2003
2)综合应用用例图、类图、序列图和状态图进行面向对象的分析和设计
2、实验内容
图书管理系统的分析和设计
3、实验要求
1)给出学生使用该系统的用例图;
2)给出描述学生借书的序列图;
3)给出描述图书馆中工作人员的类图;
4)给出一本书在流通过程中的状态图。
(六)基于UML的综合设计
(二)(2学时)
1、实验目的
1)熟练使用Rationalrose2003
2)综合应用用例图、类图、序列图和状态图进行面向对象的分析和设计
2、实验内容
学校汽车调度系统的分析和设计
3、实验要求
1)请给出与调度员相关的主要用例;
2)请用一个协作图描述从学生家长到司机的消息传递过程;
3)请用序列图描述增添新路线的过程;
4)请用状态图描述司机的状态。
四、考核方式
根据实验预习、实验能力、实验效果和实验报告的完成情况确定最终的实验成绩。
实验成绩占课程总成绩的20%。
五、建议教材与教学参考书
1、建议教材
[1]吴建,郑潮,汪杰著.UML基础与Rose建模案例.第二版.北京:
人民邮电出版社,2007
[2]自编.软件过程与UML建模实验指导书
2、教学参考书
[1](美)CraigLarman著.李洋,郑龚等译.UML和模式应用..第一版.北京:
机械工业出版社,2006
[2](美)TomPender著.耿国栋,史立奇,叶卓映译.UML宝典.第一版.北京:
电子工业出版社,2004
[3](美)WendyBoggs,MichaelBogge著.邱仲潘等译.UML与RationalRose2002从入门到精通.第一版.北京:
机械工业出版社,2002
[4](美)RobertC.Martin著.邓辉译.敏捷软件开发原则、模式与实践.第一版.北京:
清华大学出版社,2003
[5]杨国强,路萍,张志军等著.ERWIN数据建模.第一版.北京:
电子工业出版社,2004
[6]董兰芳,刘振安等著.UML课程设计.第一版.北京:
机械工业出版社,2006
[7]徐宝文,周毓明,卢红梅著.UML与软件建模.第一版.北京:
清华大学出版社,2006
[8]MartinFowler,KendallScott.UMLDistilledSecondEditionABriefGuidetotheStandardObjectModelingLanguage.AddisonWesley,1999
六、编制说明
编制者:
组长:
执笔人:
编制时间:
2009年3月
实验一基于UML的类模型设计
[实验名称]
基于UML的类模型设计
[实验目的]
1、熟练使用Rationalrose2003,掌握类图的创建方法。
2、掌握类的设计方法。
3、掌握类间的关系(继承、关联)的设计方法。
[实验内容]
题目1:
选课系统的类的设计
描述:
课程管理系统中,管理员负责添加课程,学生选择课程。
课程包括课程编号、课程名称、课程性质、开课时间、开课教师等信息;学生通过系统可以完成登录,修改口令,查询课程信息(包括课程名、课程编号、课程性质、开课时间等)以及选课的操作;教师包括教师编号、教师姓名等信息。
完成:
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
题目2*:
交通工具的类的设计
描述:
汽车和自行车都是交通工具。
一辆自行车只能归一个人拥有,但一辆汽车可归一个人或者两个人拥有。
一个人可能没有自行车或汽车,也可能拥有多辆自行车或汽车。
人分男女两类,每个人都有年龄和名字。
在任何时候,一辆汽车上可以载有0个或多个乘客。
每辆汽车都有自己的颜色和商标。
特别地,每辆汽车都只有两个前灯和一台发动机。
完成:
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验内容中的题目后加有*号的题目为选做。
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]
1)寻找类
类一般分为三类:
实体类(entity)、边界类(boundary)和控制类(control)。
实体类是指保存要永久存储体的信息。
实体类通常是对用户有意义的类,通常采用业务领域术语命名。
边界类位于系统与外界的交接处,包括窗体、报表以及打印机等硬件接口。
边界类使角色能与系统交互。
控制类负责协调其它类的工作,每个用例通常都有一个控制类,控制用例中的时间顺序。
边界类和控制类都是虚构类。
寻找类的方法:
(1)从事件流中寻找名词或名词词组(或交互图中的对象),将性质相同的归为一类,或性质内容值正负相反的归为一类。
(2)去除应是归类为属性的项目。
(3)给这些类起一个合适的名字,可以参考现实系统的命名规则。
寻找关联的方法:
(1)动词与介词词组。
(2)类间存在依赖关系。
(3)隐含的关系。
2)Rose的使用
(1)创建类
选择浏览器中的“LogicalView”-〉单击右键-〉“New”-〉“Class”-〉类命名;
(2)添加属性
选择类-〉单击右键-〉“New”-〉“Attribute”-〉添加属性名;
(3)修改属性
选择属性-〉单击右键-〉“OpenSpecification…”-〉General选项卡
(4)添加操作
选择类-〉单击右键-〉“New”-〉“Operation”-〉添加操作名;
实验二基于UML的需求分析
[实验名称]
基于UML的需求分析
[实验目的]
1、熟练使用Rationalrose2003,掌握用例图和活动图的绘制方法。
2、掌握用例的设计方法。
3、掌握活动图的设计方法。
[实验内容]
题目1:
网上选课系统的需求分析
描述:
某学校的网上选课系统主要包括如下功能:
管理员通过系统管理界面进入,建立本学期要开设的各种课程、将课程信息保存在数据库中并可以对课程进行改动和删除。
学生通过客户机浏览器根据学号和密码进入选课界面,在这里学生可以进行三种操作:
查询已选课程、选课以及付费。
同样,通过业务层,这些操作结果存入数据库中。
要求:
使用JAVA语言通过三层模型MVC(数据核心层、显示层和业务逻辑层)实现。
完成:
1)分析系统,确定参与者和用例,绘制选课系统的用例图;
2)使用文本详细描述每个用例的事件流。
3)为每个用例制作活动图。
题目2*:
现金购买商品的用例设计
描述:
顾客带着商品到达收银台,收银员扫描每件商品的标识号(如果商品的标识号不正确,就报错)。
系统查询每件商品的价格并将这些信息汇总为一个交易。
一旦扫描完所有的商品,收银员就告诉系统系统商品统计完成。
系统将计算并打印总的销售额,收银员告诉顾客应付多少金额。
顾客用现金支付(如果现金不够,收银员就取消这次交易),收银员记录收到的现金总额,系统显示应找金额并打印收据。
收银员找零并把收据交给顾客,当用户带着商品离开时,用例结束。
完成:
1)使用文本描述该用例;
2)使用活动图描述该用例。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验内容中的题目后加有*号的题目为选做。
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]
1)用例图的绘制
(1)添加参与者(Actor)
按住鼠标左键拖动工具栏上的Actor图标到用例窗口中。
(2)添加用例(UseCase)
采用上面的方法,拖动工具栏上的UseCase图标到用例窗口中。
(3)添加事件流
双击用例,弹出UseCaseSpecification对话框,在General选项卡上的Documents文本框中书写用例的事件流。
2)活动图的绘制
(1)创建活动图
在浏览器中,右键单击“UseCaseView”-〉“New”-〉“ActivityDiagram”,则在“UseCaseView”下增加了一项“State/ActivityModel”,该项产生名为“NewDiagram”的活动图,将其修改为自己的活动图名。
(2)增加泳道
单击工具栏上的“Swimlane”,在活动图窗口中单击左键,即可增加一个新的泳道。
(3)增加活动
单击工具栏上的“Activity”,在活动图窗口中单击左键,即可增加一个新的活动。
实验三基于UML的对象设计
[实验名称]
基于UML的对象设计
[实验目的]
1、熟练使用Rationalrose2003。
2、掌握序列图和协作图的绘制方法,使用这两种方法进行对象的设计。
3、掌握状态图的绘制方法,为对象的设计提供帮助。
[实验内容]
题目1:
网上选课系统的对象设计
描述:
参见实验二的题目1。
完成:
1)根据实验二中所定义的用例,为每个用例绘制序列图;
2)根据实验二中所定义的用例,为每个用例绘制协作图;
题目2:
课程类对象的状态图设计
描述:
课程对象被创建,添加到数据库中。
管理员可以删除、修改课程信息,在某个学期,开设该课程,如果选修人数超过指定人数,就不再允许学生选这门课。
学期结束,课程的状态终止。
完成:
1)绘制课程对象的状态图。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]
1)序列图的绘制
(1)创建序列图
在浏览器中右键单击“UseCaseView”-〉“New”-〉“SequenceDiagram”。
(2)添加对象
使用工具栏上的“CreateaObject”按钮,在序列图中增加对象。
如果该对象的类型是已知的,则在Class中选择已定义的类,否则,则选择“New”,定义为新的类型。
2)协作图的绘制
(1)创建协作图
在浏览器中右键单击“UseCaseView”-〉“New”-〉“CollaborationDiagram”。
(2)添加对象
与序列图的绘制方法一致。
(3)添加连接
在工具栏上选择“ObjectLink”图标,然后用鼠标由“源对象”指向“目标对象”。
(4)添加消息
在工具栏上选择“ObjectMessage”,点击连接,则增加消息。
3)状态图的绘制
(1)创建状态图
在浏览器中选择“LogicalView”-〉右键单击-〉“New”-〉“StateChartDiagram”。
(2)添加状态
在工具栏上选择“State”图标,放到状态图窗口中。
(3)添加状态转移
在工具栏上选择“StateTransition”图标,从“源状态”指向“目标状态”。
实验四基于UML的功能设计
[实验名称]
基于UML的功能设计
[实验目的]
1、熟练使用Rationalrose2003。
2、掌握组件图的绘制方法。
3、掌握布局图的绘制方法。
4、双向工程的实施过程。
[实验内容]
题目1:
选课系统的组件图设计
描述:
在选课系统中,包括MainProgram类(主程序)、People类、FormObject类、ControlObject类、Student类、Registrar类(管理员)、Course类和DataBase类。
People类是Student类和Registrar类的基类,所以Student类和Registrar类依赖People类。
FormObject类和ControlObject类都和Course类相关,FormObject类和ControlObject类依赖Course类,ControlObject类和DataBase类相关,ControlObject类依赖DataBase类。
完成:
1)绘制选课系统的组件图。
题目2:
选课系统的布局图的设计
描述:
服务器使用了两台主机,一台作为数据库服务器,使用了Oracle服务器,另一台是同一局域网上的机器,作为HTTP服务器,上面运行了HTTP服务器进程以及业务逻辑,同时连接了打印机。
而客户端则是在因特网上任意具有Web浏览功能的机器,客户端和HTTP服务器通过因特网连接,从HTTP服务器获取信息。
完成:
1)绘制选课系统的布局图。
题目3:
选课系统的正向工程
描述:
见题目1。
完成:
1)使用Rose的正向工程,为类People、Student和Registrar生成代码;
2)使用同样的方法,为其它类也生成代码。
题目4:
选课系统的逆向工程
描述:
根据题目3正向工程执行的结果,在类Student的代码中增加一个TestOperation的空操作。
完成:
1)使用Rose的逆向工程,为Student的代码建立同步模型。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验内容中的题目后加有*号的题目为选做。
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]
1)组件图的绘制
(1)打开组件图窗口
在浏览器窗口打开“ComponentView”文件夹-〉双击“Main”图标。
(2)建立新组件
浏览器中右键单击“ComponentView”-〉“New”-〉“Component”建立了新组件;
(3)修改组件属性
右键单击所建立的组件-〉“OpenSpecification”-〉在“General”选项卡中设置组件名称、组件版型和实现的语言。
在“Files”选项卡中-〉列表框中单击右键-〉“InsertFile”,建立Main.java文件。
(4)组件图中增加组件
将所建立的组件拖入组件图即可。
(5)设置组件和类的关系
使用上面的方法建立组件,然后打开组件的属性框,选择“Realizes”选项卡,右键单击类名,选择“Assign”,可以建立类和组件之间的关系。
2)布局图的绘制
(1)打开布局图窗口
在浏览器中选择“DeploymentView”并双击,打开了布局图窗口。
(2)增加处理器
在布局图窗口工具栏上选择“Processor”图标-〉放置到“布局图”窗口中。
(3)设置处理器属性
右键单击新建的处理器-〉“OpenSpecification”-〉选择“Detail”选项卡-〉在“Processes”列表框中单击右键-〉“Insert”-〉设置处理器上运行的进程。
3)正向工程的实现
(1)一般性检查
“Tools”-〉“CheckModel”,如果模型有问题,将在日志窗口中给出。
(2)发现访问问题
“Report”-〉“ShowAccessViolations”,在访问问题窗口中显示访问问题。
(3)语言独立检查
假设使用Java语言,“Tools”-〉“Java”-〉“SyntaxCheck”。
(4)生成代码
“Tools”-〉“Java”-〉“GenenateCodes”。
4)逆向工程的实现
“Tools”->“Java”-〉“ReverseEngineerJava…”。
实验五基于UML的综合设计
(一)
[实验名称]
基于UML的综合设计
[实验目的]
1、熟练使用Rationalrose2003。
2、综合应用用例图、类图、序列图和状态图进行面向对象的分析和设计。
[实验内容]
题目:
图书管理系统的分析和设计
描述:
在一个图书馆中,书可外借1个月,期刊可外借3天,学生可以预约已被借出的书。
当一本书被归还时,如果已经有学生预约了这本书,则这本书将放在大厅中的借书处,否则放回书库。
倘若过了预约期限还没有人来取,预约的书也将放回书库。
图书馆工作人员由1位领导、20位正式的图书管理员和10位学生图书管理员(帮助大厅借书处或书库中工作的正式图书管理员)组成。
在任何时候,大厅中的借书处有两位正式的图书管理员、两位学生管理员以及另外可能是领导、学生图书管理员或正式图书管理员的人。
正式图书管理员负责监督学生图书管理员并向领导汇报工作。
该图书馆准备开发一个图书借阅系统,学生可以利用该系统借书。
在使用该系统时,如果想借的书在图书馆,这本书将借给借阅者。
该系统由一个扩展版供图书馆管理员们维护图书馆的数据库并跟踪借阅情况和发送过期通知。
完成:
1)给出学生使用该系统的用例图;
2)给出描述学生借书的序列图;
3)给出描述图书馆中工作人员的类图;
4)给出一本书在流通过程中的状态图。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]参考实验一到实验四的实验提示。
实验六基于UML的综合设计
(二)
[实验名称]
基于UML的综合设计
[实验目的]
1、熟练使用Rationalrose2003。
2、综合应用用例图、类图、序列图和状态图进行面向对象的分析和设计。
[实验内容]
题目:
学校汽车调度系统的分析和设计
描述:
假设学校的汽车专门为学生服务,它拥有40辆汽车,服务对象是1600个学生。
汽车日常行驶的路线有30条,但在节假日等特殊日子里会临时增加新的路线。
每条路线上设有许多站牌,学生们可在这些地方上下车。
公司雇用了20个全职的司机和30个兼职的司机。
汽车公司设用一个调度员,专门负责司机和路线的安排。
该调度员也负责将学生和家长们上下车的地点以及时间等方面的特别要求传达给司机。
当路线变更或增添新路线时,调度员必须将这些信息传达给司机、学生和家长。
公司经常会收到学生或家长们对司机的投诉。
如果投诉的情况相当严重,司机有可能会被停职甚至被解雇。
另外,公司也可能会招募新员工,以替代被解雇和退休的职工,或配备给新的路线。
完成:
1)请给出与调度员相关的主要用例;
2)请用一个协作图描述从学生家长到司机的消息传递过程;
3)请用序列图描述增添新路线的过程;
4)请用状态图描述司机的状态。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。
[实验提示]
参考实验一到实验四的实验提示。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 实验 指导书
![提示](https://static.bdocx.com/images/bang_tan.gif)