《面向对象分析与设计》实验指导书V1103.docx
- 文档编号:23791249
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:32
- 大小:864.74KB
《面向对象分析与设计》实验指导书V1103.docx
《《面向对象分析与设计》实验指导书V1103.docx》由会员分享,可在线阅读,更多相关《《面向对象分析与设计》实验指导书V1103.docx(32页珍藏版)》请在冰豆网上搜索。
《面向对象分析与设计》实验指导书V1103
面向对象分析与设计实验指导书
课程号:
000600062
适用专业:
计算机大类
撰写人:
冯元勇
广州大学
计算机科学与教育软件学院
1目录
2前言
《面向对象分析与设计》课程是计算机科学与技术本科专业的一门重要的专业课.通过本课程的学习,使学生在已有的计算机软,硬件基础知识,程序设计知识,数据库和网络通信知识的基础上系统掌握面向对象分析与设计的基本方法和技术,并具有针对特定环境下的应用问题进行信息系统开发(包括系统分析,设计与实现)的能力。
通过学习本课程学生可以理解和掌握面向对象系统的分析和设计的方法和分步过程、掌握面向对象系统分析和设计的建模标准UML语言,能够利用RationalRose(或MicrosoftViso)软件以某一信息系统为例进行系统分析和设计。
本课程主要介绍系统原理的基本概念、系统开发过程RUP、对面向对象分析和面向对象设计的方法、对面向对象分析和设计的建模标准UML等内容。
通过本课程的学习,学生掌握的知识、内容及掌握的程度要求为:
1.使学生理解面向对象的信息系统的开发过程、系统分析和设计的原则和方法;
2.使学生掌握UML语言的基础知识,以及UML在面向对象的软件系统分析和设计中的应用,并能使用UML工具建立系统模型;
3.使学生掌握在UML系统模型下应用高级语言建立应用系统的方法;
4.通过案例教学和实验,提高学生在应用面向对象技术开发软件方面的动手能力和解决问题的能力,并鼓励创新。
本实验课程参考的建模工具为RationalRose2003。
3实验过程要求
在《面向对象设计与开发》的课程实验过程中,要求学生做到:
(1)预习实验指导书有关部分,认真做好实验内容的准备,就实验可能出现的情况提前思考和分析。
(2)仔细观察上机时出现的各种现象,记录主要情况,做出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
机器号
(5)每次上机应按照真实所用的机器在签到表内的签名栏签到登记。
若所用机器编号大于50(签到表最大编号),则应在实际编号-50所得的编号行内账户名栏内签到,并在姓名前后用括号括起来。
第一次上机时选择与自己的班序号相同编号的机器。
此后每次使用上次所用机器(如忘记,可参考考勤签到表上的签名),不得自行更改。
教师将以登记的机号作为学生考勤与课堂纪律巡查的依据。
如果登记的机号上无人,则视为该机号登记的学生缺勤。
如果学生没有在登记的机器上操作,则视为该学生缺勤,而该机号对应登记的学生到勤。
假设姓名为“张三”,签到格式为:
机器号
帐户名
签名
3(53)
机器号
帐户名
签名
3(53)
若所使用的机器不在课表指定的课室,则还应注明课室号。
机器号
帐户名
签名
3(53)
机器号
帐户名
签名
3(53)
如果按班序号或上次登记所使用的机器故障,需要换机时,应首先告知指导教师,经确认后可以换到其它机器(机器号应大于最大班序号,且以往没有其他同学占用),并要求在课程的后续上机中使用该机器、签到。
若在课中更换了机器,除了在实际机位签名上,还应另行在签到表的下部空表中再次签名,注明更换前后的机器号,并用小号字体注明换机原因(同时应通知机房管理员在原故障机上标注故障)。
故障机器号
新机器号
签名
3(键盘坏)
38
故障机器号
新机器号
签名
3(键盘坏)
38
(6)考勤员/学委/班长/其他班干部/其他同学在上课前到机房管理室417领取实验日志并填写实验项目、时间等内容后传给各位同学签名,课后放回原处。
(7)实验课程不得迟到。
未能正常出勤者,所缺实验不补。
实验的验收将分为两个部分。
第一部分是上机操作,包括检查程序运行和即时提问。
第二部分是提交书面的实验报告。
此外,针对以前教学中出现的问题,本实验将采用阶段检查方式,每个实验都将应当在规定的时间内完成并检查通过,过期视为未完成该实验,不计成绩。
以避免期末集中检查产生的诸多不良问题,希望同学们抓紧时间,合理安排,认真完成。
4实验报告要求
1.无论是否为团队实验,每个实验均应以个人为单位单独撰写一份实验报告,且在该实验大纲结束的后一周上系统提交。
每迟交一周扣除等级分一级。
第十七周结束前必须提交所有实验报告,此后不再接收。
2.实验报告不必列出操作步骤细节,但应体现出独立工作的成果,不得雷同:
a)问题的描述;
b)整体的解决思路、流程或算法;
c)重要的实验结果。
该结果应由学生自已独立实验所得,体现出个人所用的实验数据、思路、算法;
d)实验中遇到的困难及解决办法、心得。
3.实验报告中的图、表、核心代码尽量不使用屏幕截图,而是通过复制、粘贴或者重新组织等方式保留必要的报告资料,以便批改、查看,同时减少报告文档的存储空间。
4.实验一和实验二只需给出一个子系统范围内的静态模型和动态模型即可。
实验三要求给出完整的系统模型,并在实验一、二的基础上加入设计的内容并全面优化模型。
5.本指导书仅用作实验工具的操作指导,其示例系统为图书馆管理系统。
请学生按学号从“附录一:
系统分析与设计题目限选清单”中选择题目进行实验并提交报告。
6.实验报告电子版的文件夹名称为学生姓名_学号,其实验报告文件名格式为:
姓名_学号.doc,其它文件名格式为:
姓名_学号_文档标题.doc/mdl/…,其中实验报告文件必须包含实验的全部成果,并按打印要求排版。
7.最后一次提交实验报告时,由学委(亦可委托班长等班干部代办)将全班所有同学的实验报告集中起来,以非压缩的格式刻录到一张光盘上。
文件夹格式为:
5实验一静态建模
一、实验目的
1.熟悉类模型的基本功能和使用方法。
2.熟悉从问题陈述等文档资源中识别领域类的分析方法
3.掌握如何使用建模工具绘制用类图方法。
二、实验器材
1.计算机一台;
2.RationalRose工具软件。
三、实验内容
本实验需要完成如下任务:
1.识别一个子系统中的用例,绘制用例图,进行用例描述;
2.对子系统中的类建模,绘制类图。
6实验二动态建模
一、实验目的
1.熟悉活动图的基本功能,掌握如何使用建模工具绘制活动图方法;
2.熟悉状态图的基本功能,掌握如何使用建模工具绘制状态图方法;
3.理解顺序图的基本概念,掌握如何使用建模工具绘制顺序图方法。
二、实验器材
2.计算机一台;
3.RationalRose工具软件。
三、实验内容
要对前面所选定的用例描述其动态特性:
1.对用例进行动态建模;
2.用活动图来描述系统中已知用例的业务过程;
3.用状态图描述用例中的关键状态类;
4.在实验一的基础上,形成(至少一个子系统)完整的需求分析报告。
7实验三应用系统分析与设计
一、实验目的
1.在实验一和实验二的基础上,进一步了解系统分析与设计的迭代过程;
2.加深对类模型、状态模型和交互模型的理解;
3.理解包图与组件图的基本概念;
4.掌握在RationalRose中绘制对象图和包。
二、实验器材
1.计算机一台;
2.RationalRose工具软件。
三、实验内容
根据设计的需要,进一步完善静态模型和动态模型:
1.绘制对象图,详细描述某个特定的场景/业务所涉及的对象(类实例)是如何满足需求约束的;
2.完成系统的包图、组件图,体现相应的体系结构、接口;
3.在实验一和实验二的基础上,形成完整的、优化了的系统设计报告(如果篇幅太大,可只做部分系统)。
8附录一:
实验步骤示例
1.建立项目模型文档
打开RationalRose,在对话框中选择“New”页,新建“RationalUnifiedProcess”类型的项目。
该过程也可在打开应用后,通过菜单操作实现。
注意:
软件使用过程中可能会出现意想不到的状况,因此应随时保存文档(快捷键是Ctrl-S)。
2.绘制用例图
(1)右击Rose中的用例视图(UseCaseView)。
(2)在弹出来的菜单中选择“New→UseCaseDiagram”项,创建用例图,如图1所示。
图1创建用例图
(3)命名用例图。
(4)双击打开用例图
(5)点击工作区左侧工具条的椭圆图标(
,表示用例)
(6)在工作区空白处点击,新建一个用例并命名。
如图2:
图2一个用例
图3一个外部参与者
注意,模型中所有类型的元素,如果已经建立,则可直接将其从左侧的资源浏览栏中拖拉到图中。
相应地,简单地从某图中删除某元素并不意味着从模型中删除。
若要删除,需从资源浏览栏中右键弹出菜单中选取Delete操作来完成。
(7)点击工作区左侧工具条的人形图标(
,表示外部参与者)
(8)在工作区空白处点击,新建一个外部参与并命名。
如图3。
(9)点击工作区左侧工具条的关联图标(
),在外部参与者处按下鼠标不放,移至相应的用例上放开,建立外部参与者与用例之间的关联。
形成如下用例图:
图4一个简单的用例图
(10)依次添加其它外部参与者及用例。
注意,Rose中的RUP范本还提供了许多其它的特性,请查阅参考相关的资料或多多研究本工具软件(如程序菜单)。
本实验指导书仅给基本的使用技巧。
本指导书所列业务及其建模思路也仅出于示范的目的,具体的实验操作请自行斟酌。
3.绘制类图
(1)右击Rose中的用例视图(UseCaseView)或逻辑视图(LogicalView),前者建议在需求分析时选用(此时最好在相应的用例上建立类图,方法是右击该用例。
),后者建议在系统设计时选用。
此后的顺序图、状态图、活动图的新建议方法类似。
(2)在弹出来的菜单中选择“New→Classdiagram”项,创建类图,如图5所示。
图5新建类图
(3)双击新建的类图,并点右边控件集中选中的类的图标,并用鼠标在图中分别拖出一个类图,并命名为Book,如图6所示。
图6新建类
(4)接下来的一步为设置类的属性,在新的类中双击该类,在打开属性面板中,可以看到在此可以设置类的属性和方法等其他的信息,见图7所示;后撞击Attributes这个栏目,此栏目为设置类的属性的选项,在图中间的单击右键,可以看到有一个“Insert”的选项,选中这个选项,图9所示,后在出现的对话框中输入相关信息如图9所示;如书本的ISBN号,在Type这个方框内输入此属性的类型值,同时可以看到一栏可以设置此属性的访问权限,一般这些属性都设置Private这个权限,如图10所示。
这个类的其他属性也可以按照以上的做法设置,最后得到的结果是图11所示。
图7设置类属性
图8插入属性
图9设置属性信息
图10设置private权限
(5)设置好类的属性,现在来设置类的方法(也是操作),双击类后在弹出的菜单上选operations这个选项,可以看到图12所示,在图中的空白地方,单击右键,在弹出的菜单中选insert这个选项,也就只有这个选项可用,见图13,接着输入方法名,同时可以设置该方法的返回类型,也可以在Documentations的方框内填写一些相关的方法说明,如图16所示,设置好该方法的访问权限,见图17。
类的其他方法也可以按上面来设置好,最后,得到该类的其他方法见图18。
图11一个设置好的类
图12查看操作列表
图13插入操作
图14定义操作
图15双击操作
图16定义操作细节
图17描述操作
图18定义好了的操作列表
(6)至此,类的方法和属性都设置好了,如图19所示。
图19类图中的book类
(7)接下来为书目类设置,按照上面的步骤可以设置好该类的属性和方法,如图20和图21所示。
图20书目类的属性列表
图21书目类的操作列表
(8)最后,绘制出由分析得出的各个类,如图22所示,此时,类图便完成。
图22无类间关联的类图
(9)根据分析情况,进一步细化添加相关的类。
4.绘制类间的关系
(1)打开上面做好的类图,添加管理员类,用户类,界面类。
首先,添加一个管理员类(可从左侧资源浏览栏中直接拖拉而来),如图23。
并按照上面所说方法添加类的各种属性和方法,见图24、图25。
(2)可以依照上面的操作来添加其他的类。
(3)其他的类添加完后,就可以为各个类添加关系了,由关联、泛化、依赖等关系相互协作来静态描述业务系,所以,各个类的关系也由这几个关系来完成。
如图26,Person类是administrator类和reader类两个类的父类,他们之间为泛化关系。
administrator类和reader类是继承Person类。
BoobItem类是继承Book类的,其他的类为一般的依赖关系。
(4)根据分析设计情况,进一步细化各类之间的关系。
图23添加了管理员的类图
图24打开管理员类
图25设置好管理员类的属性
图26添加了类间关系的类图(部分)
5.绘制状态图
分析:
还书的状态图,还书的主要业务都是由管理员来完成,首先管理员必须先登录系统,并通过验证后,便可以进行下一步的操作,查找该书的相关信息,如存在,则进行还书操作,如不存在该信息,则给出提示信息;
绘图步骤:
(1)在用例图中的还书(reversion)用例,单击右键,如图27所示,新建一个状态图,命名为reversion状态图。
图27新建状态图
(2)双击“receivesion”状态图,展开后,在左边的工具栏上选取一个实心圆点,此结点为开始结点,图28所示;当还书的时候,操作者先要询问系统的状态,如果系统忙,操作者则必需等待,因此,得到系统的两种状态,如图29所示。
图28开始状态
图29开始后的两个状态
(3)操作者在询问系统和状态后,得到两种状态。
如果系统忙,操作者必需要等待、结束,如图30所示,重返步骤
(1)。
图30系统忙时等待
(4)如系统空闲,则进行对还书的信息进行查询操作;查询也有两种结果,一是查询得到该书的相关信息,二查询不到该书的相关信息;则此时有两种状态,需要建立两种状态,如图31所示。
图31查询状态
(5)最后,操作者进行了操作后,系统会给出操作的结果给操作者;操作成功或失败,都会有提示信息给出。
整个的还书的过程便完成;图32所示。
(7)根据分析设计情况,进一步添加或细化状态图。
图32较完整的状态图
6.绘制顺序图
1.分析:
根据演示部分对图书业务功能模块中的交互操作进行动态建模的操作步骤和方法,请你对书籍管理模块中的交互操作进行动态建模。
该模块中主要存在新增书籍、修改书籍信息和删除书籍三种交互操作。
2.请根据教材中示例部分在RationalRose中绘制上述的交互图。
绘图步骤:
(1)在Rose软件的左边栏目上的LogiclView单击右键,新建一个顺序图,顺序图是交互图一种表示,可以用时序来表示;在此,先单间介绍一下用法:
图中的直线箭头是发送消息;虚线箭头是返回消息;曲折线是对象自己给自己发送消息并调用。
(2)接下来的是添加类,系统中的类是其他的方法的边界,在上面做好的类找到可以直接拖拉来图中,见图33所示。
图33初始的顺序图
(3)添加类后,便可以添加方法了,开始是必需是外面的实体向系统发送消息,如图34所示,是管理员登录时向系统发送的消息;
图34加入第一条消息
(5)可以按上一步的方法来完成其他的方法,如viladate(验证),返回验证结果。
当用户正常登录后便能进行增加图书。
最后得到的顺序图如图35所示。
图35增加图书顺序图
(7)剩下的更新图书信息和删除图书信息的交互图在此不再一一详细的介绍。
7.绘制活动图
绘制“删除读者信息”用例的活动图。
删除读者信息一般按照以下步骤进行:
(1)管理员在录入界面,输入待删除的读者名;
(2)“业务逻辑”组件在数据库中,查找待删除的读者名;
(3)如果不存在,则显示出错信息,返回步骤
(1),如果存在则继续;
(4)“业务逻辑”组件判断“待删除的读者”是否可以删除;
(5)如果不可以,则显示出错信息,返回步骤(8),如果可以则继续;
(6)在数据库中,删除相关信息;
(7)显示删除成功信息;
(8)结束。
绘图步骤:
(1)在用例图中,找到删除图书用例。
在删除图书用例上单击右键,在弹出的快捷菜单中选“New”,Rose工具也会弹出一个菜单,选”ActivityDiagram”,选中后单击,便可以新建好一个活动图。
图36为用例添加活动图
(2)新建好活动图后,双击删除图书活动图,在左边的工具栏内点击“Swinlane“,在右边的图添加一个泳道(也可直接拖拉一个类以建立泳道)并命名.按照此步骤,再添加另一个泳道,并命名为SystemTool,得到图37。
图37只有泳道的活动图
(3)接着在左边的工具上选取开始点,并在administrator的泳道上添加,如图38所示;添加完开始结点后,再来为此活动图添加活动;在左边的工具栏上选中Activity图标,在administrator这边的泳道上添加一个活动,命名为登录(login),再在开始结点和活动登录(login)之间添加活动关系,如图39所示。
图38泳道图上的初始状态
图39login活动
(3)根据需求添加活动图中的其它元素,形成最终的活动图,如图40所示。
图40最终的活动图
9附录二:
常见问题及解决办法
1.Rose打开和退出时异常
答:
可能是破解的原因,不必理会。
但注意,退出前一定要保存好文档。
2.文档重新打开后,没有显示上次所制作的图
答:
观察左侧资源浏览栏,找到相应的图(可能隐藏资源树中的某处),双击打开。
3.上次保存的文档突然打不开,或者突然无法存盘
答:
磁盘坏、内存不足、病毒入侵这么低概率的事件都让你撞上了,还不去买彩票?
当然,如果你只想老老实实地保住自己辛勤工作的成果,那么平时就要养成好习惯:
(1)随时保存(Ctrl-S);
(2)多处、多次备份,在不同的磁盘位置保存为不同名字(版本)的文件,不要在一棵树上吊死。
4.如何将Rose工作成果放到Word文档中展示?
答:
如果是图,可按如下操作:
1.打开该图,
2.全选(Ctrl-A)
3.右击某个图元素
4.复制(Copy)
5.转到Word文档,定位到待插入的位置
6.右击
7.粘贴(Paste)
8.调整图片的大小,使得图内文字与正文文字大小相当或小半号
9.添加其它相关的文档内容,如图表的解读说明等
注意,尽量不要使用截图的方法。
另外,这法也可应用到从其它工具复制到另外类型的文档中。
5.如何定义类间关联的多重性?
答:
双击关联,点击“RoleADetail”页,找到“Multiplicity”下拉框,选择或填入关联的A端的多重性。
类似地,可以定义B端的多重性。
6.如何在顺序图中画出断续的激活生命线?
照正常的方式画,然后在需要断开的时间点上,鼠标左键按住消息,向下拖,再松开,就可以了。
7.如何画对象图?
对象图是类图的实例,因此可按类图来画。
只是不必给出操作,同时标识对象名称和类名称,并给出相关属性的取值。
8.Rose2003打开文件提示unsupportedpetalversion
应该是因为mdl文件由其他版本的ROSE创建的,和当前ROSE版本不一致。
如果原来安装的是RationalRoseEnterpriseEdition2003,打开时出错。
那么试试RationalRoseProfessionalDataModelerEdition2003,应该可以正常打开了。
9.ROSE2003启动时提示"java.lang.ClassNotFoundException"
方法一:
下载SHW32.DLL文件覆盖Rose2003中的该原文件即可。
1、解压缩下载的文件。
2、复制文件“shw32.dll”到系统目录下。
3、系统目录一般为:
C:
\WINNT\System3264位系统为C:
\Windows\SysWOW64。
4、最后点击开始菜单-->运行-->输入regsvr32shw32.dll后,回车即可解决错误提示。
方法二:
修改注册表
1.打开注册表
2.定位到"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\JavaVM"
3.新建项TrustedClasspath[REG_SZ](字符串值)
4.其数值数据为
(1)windows2000
"c:
\winnt\java\trustlib\rosedatamodeler.zip;c:
\winnt\java\trustlib\comwrappers.zip;c:
\winnt\java\trustlib\xerces.jar;"
(2)windows8/7/visit/xp/2003都适用
"c:
\windows\java\trustlib\rosedatamodeler.zip;c:
\windows\java\trustlib\comwrappers.zip;c:
\windows\java\trustlib\xerces.jar;"
5.重新运行Rose,在"Add-InManager"选项卡中选中"WebModeleradd-inusing".
10.用例间的泛化与扩展关系有什么区别,如何使用?
答:
泛化是ISA的关系,概念上具有特征上包含关系。
而扩展表示行为序列上的整体与部分包含关系。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向对象分析与设计 面向 对象 分析 设计 实验 指导书 V1103
![提示](https://static.bdocx.com/images/bang_tan.gif)