UML实验报告.docx
- 文档编号:4428972
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:23
- 大小:259.38KB
UML实验报告.docx
《UML实验报告.docx》由会员分享,可在线阅读,更多相关《UML实验报告.docx(23页珍藏版)》请在冰豆网上搜索。
UML实验报告
《面向对象分析与设计
实验报告
号:
180108213
名:
庞志伟
级:
08级软件2班
指导老师:
姚宇峰
UML》
实验及作业一
、实验目的
二、实验设备与环境
装有Visio、RathionalRose的计算机。
三、实验内容
1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。
2、熟悉UML软件设计工具Visio、RationalRose的安装及环境
四、实验过程及结果
1、软件工程开发模型有
(1)瀑布模型,
(2)原型模型,(3)螺旋模型,(4)喷泉模型
(1)瀑布模型
将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。
将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运行维护等六个基本活动,并且规定了它们自上而下、相互衔接的固定次序,如同瀑布流
水,逐级下落。
优点:
1)为项目提供了按阶段划分的检瀑布模型查点。
2)当前一阶段完成后,您只需要去关注后续阶段。
3)可在迭代模型中应用瀑布模型。
缺点:
1)在项目各个阶段之间极少有反馈。
2)只有在项目生命周期的后期才能看到结果。
3)通过过多的强制完成日期和里程碑来跟踪各个项目阶段。
(2)原型模型
原型模型又称快速原型,它是增量模型的另一种形式;它是在开发真实系统之前,构造一个原型,在该原型的基础上,逐渐完成整个系统的开发工作。
快速原型模型的第一步是建造一
个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细
化待开发软件的需求。
通过逐步调整原型使其满足客户的要求,开发人员可以确定客户的真
正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。
优点:
克服瀑布模型的缺点,减少由于软件需求不明确带来的开发风险。
快速建立起来的系统结构加上连续
缺点:
所选用的开发技术和工具不一定符合主流的发展;的修改可能会导致产品质量低下。
(3)螺旋模型
螺旋模型采用一种周期性的方法来进行系统开发。
这会导致开发出众多的中间版本。
使用它,
项目经理在早期就能够为客户实证某些概念。
该模型是快速原型法,以进化的开发方式为中
心,在每个项目阶段使用瀑布模型法。
这种模型的每一个周期都包括需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。
软件开发过程每迭代一次,软件开发又
前进一个层次。
螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。
每个小项目都标识
一个或多个主要风险,直到所有的主要风险因素都被确定。
设计上的灵活性,可以在项目的各个阶段进行变更。
以小的分段来构建大型系统,使成本计算变得简单容易。
客户始终参与每个阶段的开发,保证了项目不偏离正确方向以及项目的可控性。
随着项目推进,客户始终掌握项目的最新信息,从而他或她能够和管理层有效地交互。
客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。
优点:
1)2)
3)
4)
5)
缺点:
很难让用户确信这种演化方法的结果是可以控制的。
建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。
(4)喷泉模型
喷泉模型是一种以用户需求为动力,以对象为驱动的模型,主要用于采用对象技术的软件开
发项目。
该模型认为软件开发过程自下而上周期的各阶段是相互迭代和无间隙的特性。
软件
的某个部分常常被重复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。
无间隙
指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界限,由于对象概念的引
入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地包括复用。
优点:
喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。
该模型的各个阶段没有明显的界限,开发人员可以同步进行开发。
其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。
缺点:
因此不利
由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,
于项目的管理。
此外这种模型要求严格管理文档,使得审核的难度加大,尤其是面对可能随
时加入各种信息、需求与资料的情况。
五、实验小结:
通过本次实验让我了解了软件工程开发的4中主要模型和这些模型的优缺点。
初次安装
并使用UML软件设计工具Visio和RationalRose使我初步认识了软件开发中UML的设计。
实验及作业
、实验目的
二、实验设备与环境
装有Visio、RathionalRose的计算机。
、实验内容
1、熟悉RationalRose的使用。
00)方
2、熟悉利用统一建模语言进行分析、设计软件的过程,完成作业:
论述面向对象(法的特点、优势以及存在的问题。
四、实验过程及结果
面向对象方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基
础上的方法学。
对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一
个对象类定义了具有相似性质的一组对象。
而每继承性是对具有层次关系的类的属性和操作
进行共享的一种方式。
所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造
机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。
主要特征:
封装性,多态性
优势:
(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。
(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息
通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂
性。
(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。
(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效
地改善了人员之间的交流和协作。
(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。
(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。
存在的问题:
(1)软件重用性差
(2)软件可维护性差
(3)开发出的软件不能满足用户需要
五、实验小结:
通过本次实验了解RationalRose的使用。
学习利用统一建模语言进行分析、设计软件
的过程,通过上网查询,了解有关面向对象(00)方法的特点、优势以及存在的问题。
实验及作业三
三、实验目的
1、讲解用例、参与者、UML语境建模技术和UMI需求建模技术。
2、通过实例使学生有一个初步认识,为后面的学习打下坚实的基础。
四、实验设备与环境
装有Visio、RationalRose的计算机。
四、实验内容
1、掌握“参与者”、“用例”、“各种关系”在Visio或RationalRose中的
设计方法。
体会用例图的设计方法。
2、以图书馆管理系统为例,完成其用例图的设计。
并书写实验报告。
四、实验过程及结果图书管理系统中的参与者有读者、图书管理员和系统管理员。
读者能够进行查询,借书(有扩展关系预定和续借),还书,罚款(有扩展关系超期罚
款和损坏罚款),登陆;
,解除预定;
图书管理员能够进行登陆,处理借书,处理还书(有扩展关系收罚金)
<
V,
还书
<
删除预订信息
记);
五、实验小结:
一——十
新增图书
图书维护
删除图书
读者信息维护
图,如何进行画用例图。
通过画图书管理系统的用例图后,使我能够正确使用ROS歆件画用例图。
实验及作业四
、实验目的
讲解静态视图中的类图、对象图等建模知识,并通过图书馆管理系统的静态视图进行实例讲解,为学生以后的学习打下坚实的基础。
、实验设备与环境
装有Visio、RationalRose的计算机。
、实验内容
实现并改进图书馆管理系统中的类图。
四、实验过程及结果
根据实验三的用例图画出如下的类图。
1读者,图书管理员,和系统管理员都是用户,是用户类的泛化;
2、登录和用户是依赖关系,登录需要取决于用户类里的用户名和密码。
♦DeeteO
*coilsa_rrion»yO
*3*arch(>
五、实验小结:
通过本次实验是我初步了解了如何将用例图转换成相应的类图。
在画类
图是需要弄清楚类与类之间的各种关系,只有弄清楚类之间的关系后才能画好类图。
《面向对象分析与设计(UML)》实验五
、实验目的
了解动态视图中的状态图的设计、建模,包括:
状态机、状态、转移等概念。
二、实验设备与环境
装有Visio、RationalRose的计算机。
三、实验内容
实现并改进图书馆管理系统中的状态图。
四、实验过程及结果
五、实验小结:
通过本次实验的练习,让我初步了解并使用Rose画图书管理系统的状态图。
在画图中通过分析画出图书管理系统的每个状态过程。
《面向对象分析与设计(UML)》实验六
、实验目的
了解活动图的设计方法及建模技术。
重点介绍了活动图的构成要素、判定、对象流、泳道等概念,以及活动图与状态图的关系、活动图与流程图的区别。
、实验设备与环境
装有Visio、RationalRose的计算机。
、实验内容
实现并改进图书馆管理系统中的活动图。
四、实验过程及结果
登录
五、实验小结:
通过本实验的练习是我初步了解了如何画活动图。
《面向对象分析与设计(UML)》实验七
、实验目的
了解动态视图中的时序图、协作图的设计、建模。
、实验设备与环境
装有Visio、RationalRose的计算机。
、实验内容
并在此基础上做出相应的协作图。
实现并改进图书馆管理系统的时序图,
四、实验过程及结果图书管理系统时序图:
1、借阅者预定图书
2、系统管理员添加新图书
3、系统管理员删除旧图书
4、图书管理员处理还书
5、图书管理员处理借书
协作图如下:
1、借阅者借书
2、图书管理员处理还书
3、图书管理员处理借书
4:
验证是否达借书数量上限
■—、
4、系统管理员新增图书
1:
添加新书
2:
查找
5、系统管理员删除旧图
1:
五、实验小结
通过这8个课时的课程学习,使我初步了解什么是时序图和协作图,如何使用Rose
画时序图和协作图。
时序图是消息时间顺序的交互图,描述了对象之间消息传递的时间顺序,在实验课上通过分析和画出了图书管理系统的时序图。
而协作图描述的是和对象结构相关的
信息,表示一个类操作的实现。
通过时序图可以清楚的了解到图书管理系统所有对象之间消息传递的时间顺序,通过协作图又能够清楚的看到各个对象之间的结构关系。
ROSE双向工程实验八
五、实验目的
1、了解UML莫型与代码的对应关系。
2、了解ROSE勺双向工程。
六、实验设备与环境
装有Visio、RationalRose的计算机。
六、实验内容
1、掌握正向工程在Visio或RationaiRose中的实现。
体会类图中类关系在源代码中的体现。
(1)简单类、在类中添加属性和方法、类可见性设置。
(2)类图中的关系:
泛化关系、关联关系(包括一对一关联、一对多关联、多对多关联、聚合关系、组合关系)、依赖关系、实现关系。
请依次将上述实验内容的UML图与生成的代码附在实验过程及结果中,并说明UML中的模型在源代码中是否体现。
2、掌握逆向工程在Visio或RationaiRose中的实现。
体会RationaiRose在阅读代码中的好处。
六、实验过程及结果1.1在Rose的LogicalView下新建简单类Peopie如下:
People李name夕Id
>rtwrkt)亀i诟0^PeopleQ
BE
通过使用UM冲的正向工程得到代码如下:
匕People-java-记茅本
PHewFackagp:
PublicclassPeople
卩uDlicintndmeipublicintId;
Qroseuidi publicPeople() eroseuid4CF33FC701F4*/ publicvoidtfork() UHogeuld11CF33FCD031C*/ liue() 卩Ublicuold 1.2类图中的关系 A: 泛化关系 People *PeopleO PeopJeiTian ^Peoplenian(> 生成代码如下: java记事木 口件③漏辑⑧格式a直看里)荼肚耳 //Sourcefile: E: \\.实5fe\\HewPackage\\People_iian_jaua 卩ackage publicclassFeoplp_nanextendsPeople /** Qroseuld^CF3117C7B119*/ publicPe(]pl9_nan(> 二I回区 F P-People,java-记事本 文井①輪辑迅〕格式ca)查看①衲助⑩ //Sourcefile: 实验WNEuPdckag君\\PEt)pl.E・j日u日 packageNewPacRage; publiccld55Peopl£ @rO5euid4CF3^*7CF0e0F*/ publicPeopleC0 B: 关联关系 (1)一对一: NewCl.assA NewClassB *^htewClassA{) 11 ♦NewClassB{) 生成代码如下: F■”-亠-.~—亠■~ iNuwCTIg畀JB.jea-记事卞 』口! 立件©輪辑®格式①查■看© 帮助妁 //Sourcefile: E: W^^WWewPackageWNewClassB.jaua p^ckag^HpuPschago; publicclassNewClass_B <一 /** Groseuid4CF3MAEaeO2E*/ publicN^uClassB(> < > SHe>Cl: a3s_A-java—记辜斗 0® 文编辑⑥格式©查看① 帮尉胆〕 //Sourcefile: E: \\实验\\MeviP日cl packageNeuPackage; publicclassNgwClassA f** @raseuldliCF34nF£iO3C8*Z publicNewClass_A() (2)—对多 NewOass NewCJass2 ^NewQassO 1n *NewCla&s2() 生成代码如下: E石后E寒TFKi£'两射im //Sourcefile: E: \\^3&\\HewPackage\\HeuClass.jaua publicclassMeiyCIass /** @roseuid4CF34CCEQ29Q*/ public: E: HkClassZjava—记事丰 pjck-ageNeuPackage; publiccl-assMewClaE52 /*4f 防0丸応d4CF3UCD703UB*/ publicNeuClass2() (3)多对多 NewClass3 NewOass4 *iNewClass3<) nn ^NewOass4() fNi: rClas54-javii b. -1[ 文件世1編辑©格丈0 查看迪帮曲⑩ y/Sourcefile: E: \\实脸\\NewPdckag芒\\N日如Cldssb.javm packageIHpuPackage; publicclassHewClassi* f**@roseuid4CF34D7B0177 */ publicHeiiClassiiO 薛HevClass^.Java—记事 packageNewPdckngm; publicclassNeviClassS /*« @ro5eul(l>iCF34D72ai48 */ publicHeuClassSQ (4)聚合关系 Bill 'O: Customer y/SouHcefile: E: W^^WNewPackagp\.\.Custoiier.jaui packageNeuPackage; publicclassCustcner GHOseuid4CF34F-|flO0CBpubTLicCustomer() 巴Bill,java—记事本 packageNeuPackage; publicclassBill /»* Qroseuid11CF34F2203B9*/ publicBillC) C: 依赖关系: Discount •getdiscount0 'H〒卫」肃隔10匸世亡胪帮計口i 'Sourcefile: E实验\\New卩mck日ge\\Discount・” packageNewPackage; publicclassDiscount /*-» I@r05eilid4CF3510DBIAS ■#/ publicDiscount]) /*丑 @ro5eiiid4CF35a76029F*/ publicvoidgetdi5count() CBill,java-记事本 pachagpHpu publiccla^sBill / QposeuidiiCFS&BBDSOIF*/ publicQillC) 7** nik-rK-nii-! ri“C匚a匚nriEnpDA Bill D: 实现关系: -Q Paymentcounter 生成代码如下: BBillpjaTa-记事* packageNeuPackage; publicclassBillinplementsPjynentcounter QroseuldtiCF351EF00CB*/ publicBillO 七、实验小结: 通过本次课程的学习和实验的联系是我初步了解到如何使用Rose进行UML 的正向工程和逆向工程,通过正向工程可以将类图转化成代码,通过逆向工程可以将代码转换正相应的类。 组件图和配置图设计实验九 、实验目的 1、了解组件图的概念及应用。 2、了解配置图的概念及应用。 二、实验设备与环境 装有Visio、RationalRose的计算机。 三、实验内容 1、实现并完善图书管理系统中的组件图、配置图。 四、实验过程及结果 1、组件图: 通过对系统中的组件和组件的接口进行建模得到如下图书馆管理系统组件图: 借书记录 图书 2、部署图: 通过对系统中的节点进行建模得到如下图书管理系统的部署图: 数据库服务器 图书管 理员 系统管 理员 五、实验小结: 通过这次课时的学习,使我初步了解了什么是组件图和部署图。 组件图描述了软件的各种组件和它们之间的依赖关系。 而部署图即配置图,配置图描述了运行软件的系统中硬件和软件的物理结构。 通过实验的练习,我完成的图书管理系统的组件图和部署图。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)