面向对象分析及设计实验指导书新.docx
《面向对象分析及设计实验指导书新.docx》由会员分享,可在线阅读,更多相关《面向对象分析及设计实验指导书新.docx(10页珍藏版)》请在冰豆网上搜索。
面向对象分析及设计实验指导书新
《面向对象分析与设计》
实验指导书
(试用版)
内蒙古工业大学信息工程学院软件系
2014.3
《面向对象分析与设计》实验大纲
一、基本信息
课程编码
020214023
课程学时
32
课程类别
学科基础课
实验总学时
8
开出学期
第六学期
开出单位
计算机系软件工程实验室
适用专业
软件工程
二、实验安排
序号
实验项目
实验学时
每组人数
实验类型
开出要求
1
基于UML的类模型设计
2
1
验证
必做
2
基于UML的功能设计
2
1
验证
必做
3
基于UML的综合设计
4
1
综合
必做
三、实验目的、内容与要求
(一)基于UML的类模型设计(2学时)
1、实验目的
1)熟练使用Rationalrose2003或其它UML建模工具,掌握类图的创建方法
2)掌握类的设计方法
3)掌握类间的关系(继承、关联)的设计方法
2、实验内容
选课系统的类的设计
3、验要求
1)寻找系统中的类,完成类的属性和方法的设计;
2)确定类间的继承关系,创建类间的继承关系;
3)确定类间的关联关系,创建类间的关联关系。
(二)基于UML的功能设计(2学时)
1、实验目的
1)熟练使用Rationalrose2003或其它UML建模工具
2)掌握组件图的绘制方法
3)掌握配置图的绘制方法
4)双向工程的实施过程
2、实验内容
1)选课系统的组件图设计;
2)选课系统的配置图的设计;
3)选课系统的正向工程;
4)选课系统的逆向工程;
3、实验要求
1)绘制选课系统的组件图;
2)绘制选课系统的配置图;
3)使用Rose的正向工程,为类People、Student和Registrar生成代码;
4)使用Rose的逆向工程,为Student的代码建立同步模型。
(三)基于UML的综合设计(4学时)
1、实验目的
1)熟练使用Rationalrose2003或其它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]GradyBooch,RobertA.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、熟练使用Rationalrose2003或其它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)创建类
选择浏览器中的“LogicalView”-〉单击右键-〉“New”-〉“Class”-〉类命名;
(2)添加属性
选择类-〉单击右键-〉“New”-〉“Attribute”-〉添加属性名;
(3)修改属性
选择属性-〉单击右键-〉“OpenSpecification…”-〉General选项卡
(4)添加操作
选择类-〉单击右键-〉“New”-〉“Operation”-〉添加操作名;
实验二基于UML的功能设计
[实验名称]
基于UML的功能设计
[实验目的]
1、熟练使用Rationalrose2003或其它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)打开组件图窗口
在浏览器窗口打开“ComponentView”文件夹-〉双击“Main”图标。
(2)建立新组件
浏览器中右键单击“ComponentView”-〉“New”-〉“Component”建立了新组件;
(3)修改组件属性
右键单击所建立的组件-〉“OpenSpecification”-〉在“General”选项卡中设置组件名称、组件版型和实现的语言。
在“Files”选项卡中-〉列表框中单击右键-〉“InsertFile”,建立Main.java文件。
(4)组件图中增加组件
将所建立的组件拖入组件图即可。
(2)设置组件和类的关系
使用上面的方法建立组件,然后打开组件的属性框,选择“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或其它UML建模工具。
2、综合应用用例图、类图、序列图、活动图和状态图进行面向对象的分析和设计。
[实验内容]
题目:
图书管理系统的分析和设计
描述:
在一个图书馆中,书可外借1个月,期刊可外借3天,学生可以预约已被借出的书。
当一本书被归还时,如果已经有学生预约了这本书,则这本书将放在大厅中的借书处,否则放回书库。
倘若过了预约期限还没有人来取,预约的书也将放回书库。
图书馆工作人员由1位领导、20位正式的图书管理员和10位学生图书管理员(帮助大厅借书处或书库中工作的正式图书管理员)组成。
在任何时候,大厅中的借书处有两位正式的图书管理员、两位学生管理员以及另外可能是领导、学生图书管理员或正式图书管理员的人。
正式图书管理员负责监督学生图书管理员并向领导汇报工作。
该图书馆准备开发一个图书借阅系统,学生可以利用该系统借书。
在使用该系统时,如果想借的书在图书馆,这本书将借给借阅者。
该系统由一个扩展版供图书馆管理员们维护图书馆的数据库并跟踪借阅情况和发送过期通知。
完成:
1)给出学生使用该系统的用例图;
2)给出描述学生借书的序列图;
3)给出描述图书馆中工作人员的类图;
4)给出一本书在流通过程中的状态图;
5)为每个用例制作活动图。
[实验报告]
实验报告包括:
实验题目、实验目的、实验环境、实验过程、实验结果(要求截屏)、实验心得。
按上述要求认真填写实验报告,打印相关内容。
[备注]
实验前要进行实验预习,并书写预习报告。
预习报告包括:
实验题目、实验目的、分析题目并手工绘制UML图。