《面向对象分析与设计》实验指导书
(试用版)
工业大学信息工程学院软件系
2014.3
目录
《面向对象分析与设计》实验大纲1 实验一基于UML的类模型设计4
实验二基于UML的功能设计6
实验三基于UML的综合设计9
《面向对象分析与设计》实验大纲
一、基本信息
二、实验安排
三、实验目的、容与要求
(一)基于UML的类模型设计(2学时)
1、实验目的
1)熟练使用Rational rose2003或其它UML建模工具,掌握类图的创建方法
2)掌握类的设计方法
3)掌握类间的关系(继承、关联)的设计方法
2、实验容
选课系统的类的设计
3、验要求
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
(二)基于UML的功能设计(2学时)
1、实验目的
1)熟练使用Rational rose2003或其它UML建模工具
2)掌握组件图的绘制方法
3)掌握配置图的绘制方法
4)双向工程的实施过程
2、实验容
1)选课系统的组件图设计;
2)选课系统的配置图的设计;
3)选课系统的正向工程;
4)选课系统的逆向工程;
3、实验要求
1)绘制选课系统的组件图;
2)绘制选课系统的配置图;
3)使用Rose的正向工程,为类People、Student和Registrar生成代码;
4)使用Rose的逆向工程,为Student的代码建立同步模型。
(三)基于UML的综合设计(4学时)
1、实验目的
1)熟练使用Rational rose2003或其它UML建模工具
2)综合应用用例图、类图、序列图和状态图进行面向对象的分析和设计
2、实验容
图书管理系统的分析和设计
3、实验要求
1)给出学生使用该系统的用例图;
2)给出描述学生借书的序列图;
3)给出描述图书馆中工作人员的类图;
4)给出一本书在流通过程中的状态图。
5)为每个用例制作活动图。
四、考核方式
根据实验预习、实验能力、实验效果和实验报告的完成情况确定最终的实验成绩。实验成绩占课程总成绩的20%。
五、建议教材与教学参考书
1、建议教材
[1] 谭火彬著.UML2面向对象分析与设计. 第一版.:清华大学,2013
[2] 自编.面向对象分析与设计实验指导书
2、教学参考书
[1] 邵维忠,芙清著.面向对象的分析与设计. 第一版.:清华大学,2013
[2]星星编著.UML基础与Rose建模实用教程. 第一版. :清华大学,2011
[3]王爱国,辉林著. UML基础与建模实践.第一版. :清华大学,2012
[4]麻志毅编.面向对象分析与设计.第二版. :机械工业,2013
[5]Grady Booch, Robert A.Maksimchuk等著. 面向对象分析与设计.第三版. :电子工业,
2013
[6]武雪芳,班娅萌著.UML统模项目教程. 第一版. :中国人民大学.2011
[7]唐红杰,史琳琳著. UML基础与Rose建模实训教程. 第一版. :清华大学,2011
[8]弘平,吕海华著. UML基础、建模与设计实践. 第一版. :清华大学,
2012
[9]洪海著.UML面向对象需求与建模教程. 第一版. :清华大学,2012
[10]王菁,元庆著.UML建模设计与分析标准教程(2013-2015版)第一版. :清华大
学,2013
[11]星星,小松著.UML统模教程与实验指导. 第一版. :清华大学,2013
[12]承欢著.UML与Rose软件建模案例教程. 第一版. :人民邮电,2010
[13]董兰芳,振安等著.UML课程设计.第一版.:机械工业,2006
[14]徐宝文,周毓明,卢红梅著.UML与软件建模.第一版.:清华大学,2006
[15] 吴建,潮,汪杰著.UML基础与Rose建模案例.第三版.:人民邮电,2012
六、编制说明
编制者:软件工程课程组组长:马志强
执笔人:丽霞编制时间:2014年3月
实验一基于UML的类模型设计
[实验名称]
基于UML的类模型设计
[实验目的]
1、熟练使用Rational rose2003或其它UML建模工具,掌握类图的创建方法。
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)创建类
选择浏览器中的“Logical View”-〉单击右键-〉“New”-〉“Class”
-〉类命名;
(2)添加属性
选择类-〉单击右键-〉“New”-〉“Attribute”-〉添加属性名;
(3)修改属性
选择属性-〉单击右键-〉“Open Specification…”-〉General选项卡(4)添加操作
选择类-〉单击右键-〉“New”-〉“Operation”-〉添加操作名;
实验二基于UML的功能设计
[实验名称]
基于UML的功能设计
[实验目的]
1、熟练使用Rational rose2003或其它UML建模工具。
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)打开组件图窗口
在浏览器窗口打开“ponent View”文件夹-〉双击“Main”图标。
(2)建立新组件
浏览器中右键单击“ponent View”-〉“New”-〉“ponent”建立了新组件;
(3)修改组件属性
右键单击所建立的组件-〉“Open Specification”-〉在“General”
选项卡中设置组件名称、组件版型和实现的语言。
在“Files”选项卡中-〉列表框中单击右键-〉“Insert File”,建立Main.java文件。
(4)组件图中增加组件
将所建立的组件拖入组件图即可。
(2)设置组件和类的关系
使用上面的方法建立组件,然后打开组件的属性框,选择“Realizes”选项卡,右键单击类名,选择“Assign”,可以建立类
和组件之间的关系。
2)布局图的绘制
(1)打开布局图窗口
在浏览器中选择“Deployment View”并双击,打开了布局图窗口。
(2)增加处理器
在布局图窗口工具栏上选择“Processor”图标-〉放置到“布局图”窗口中。
(3)设置处理器属性
右键单击新建的处理器-〉“Open Specification”-〉选择“Detail”
选项卡-〉在“Processes”列表框中单击右键-〉“Insert”-〉设置
处理器上运行的进程。
3)正向工程的实现
(1)一般性检查
“Tools”-〉“Check Model”,如果模型有问题,将在日志窗口中给出。
(2)发现访问问题
“Report”-〉“Show Access Violations”,在访问问题窗口中显示访问问题。
(3)语言独立检查
假设使用Java语言,“Tools”-〉“Java”-〉“Syntax Check”。
(4)生成代码
“Tools”-〉“Java”-〉“Genenate Codes”。
4)逆向工程的实现
“Tools”->“Java”-〉“Reverse Engineer Java…”。
实验三基于UML的综合设计
[实验名称]
基于UML的综合设计
[实验目的]
1、熟练使用Rational rose2003或其它UML建模工具。
2、综合应用用例图、类图、序列图、活动图和状态图进行面向对象的分析
和设计。
[实验容]
题目:图书管理系统的分析和设计
描述:在一个图书馆中,书可外借1个月,期刊可外借3天,学生可以预约已被借出的书。当一本书被归还时,如果已经有学生预约了这
本书,则这本书将放在大厅中的借书处,否则放回书库。倘若过
了预约期限还没有人来取,预约的书也将放回书库。图书馆工作
人员由1位领导、20位正式的图书管理员和10位学生图书管理员
(帮助大厅借书处或书库中工作的正式图书管理员)组成。在任
何时候,大厅中的借书处有两位正式的图书管理员、两位学生管
理员以及另外可能是领导、学生图书管理员或正式图书管理员的
人。正式图书管理员负责监督学生图书管理员并向领导汇报工作。
该图书馆准备开发一个图书借阅系统,学生可以利用该系统借书。
在使用该系统时,如果想借的书在图书馆,这本书将借给借阅者。
该系统由一个扩展版供图书馆管理员们维护图书馆的数据库并跟
踪借阅情况和发送过期通知。
完成:
1)给出学生使用该系统的用例图;
2)给出描述学生借书的序列图;
3)给出描述图书馆中工作人员的类图;
4)给出一本书在流通过程中的状态图;
5)为每个用例制作活动图。
[实验报告]
实验报告包括:实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。按上述要求认真填写实验报告,打印相关容。
[备注]
实验前要进行实验预习,并书写预习报告。预习报告包括:实验题目、实验
目的、分析题目并手工绘制UML图。