《2023年UML实验报告.pdf》由会员分享,可在线阅读,更多相关《2023年UML实验报告.pdf(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 面向对象分析与设计U ML实验报告学 号:姓 名:庞志伟班 级:08级软件2班指导老师:姚宇峰实验及作业一一 实验目的了解软件工程等基础知识,为后续的统一建模语言UM L知识的学习做好准备工作。二、实验设备与环境装有 V i s i o、Ra t h i o n a l Ro s e 的计算机。三 实验内容1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺陷,写成实验报告。2、熟悉UML软件设计工具V i s i o、Rati o n a 1 Ro s e 的安装及环境四 实验过程及结果1、软件工程开发模型有(1)瀑布模型,(2)原型模型,(3)螺旋模型,(4)喷泉模型(1)瀑
2、布模型将功能的实现与设计分开,便于分工协作,即采用结构化的分析与设计方法将逻辑实现与物理实现分开。将软件生命周期划分为制定计划、需求分析、软件设计、程序编写、软件测试和运营维护等六个基本活动,并且规定了它们自上而下、互相衔接的固定顺序,如同瀑布流水,逐级下落。优点:1)为项目提供了按阶段划分的检瀑布模型查点。2)当前一阶段完毕后,您只需要去关注后续阶段。3)可在迭代模型中应用瀑布模型。缺陷:1)在项目各个阶段之间很少有反馈。2)只有在项目生命周期的后期才干看到结果。3)通过过多的强制完毕I I期和里程碑来跟踪各个项目阶段。(2)原型模型原型模型又称快速原型,它是增量模型的另一种形式;它是在开发
3、真实系统之前,构造一个原型,在该原型的基础上,逐渐完毕整个系统的开发工作。快速原型模型的第一步是建造一个快速原型,实现客户或未来的用户与系统的交互,用户或客户对原型进行评价,进一步细化待开发软件的需求。通过逐步调整原型使其满足客户的规定,开发人员可以拟定客户的真正需求是什么;第二步则在第一步的基础上开发客户满意的软件产品。优点:克服瀑布模型的缺陷,减少由于软件需求不明确带来的开发风险。缺陷:所选用的开发技术和工具不一定符合主流的发展;快速建立起来的系统结构加上连续的修改也许会导致产品质量低下。(3)螺旋模型螺旋模型采用一种周期性的方法来进行系统开发。这会导致开发杰出多的中间版本。使用它,项目经
4、理在初期就可认为客户实证某些概念。该模型是快速原型法,以进化的开发方式为中心,在每个项目阶段使用瀑布模型法。这种模型的每一个周期都涉及需求定义、风险分析、工程实现和评审4个阶段,由这4个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。螺旋模型基本做法是在“瀑布模型”的每一个开发阶段前引入一个非常严格的风险辨认、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标记一个或多个重要风险,直到所有的重要风险因素都被拟定。优点:1 )设计上的灵活性,可以在项目的各个阶段进行变更。2)以小的分段来构建大型系统,使成本计算变得简朴容易。3)客户始终参与每个阶段的开发,保证了项目
5、不偏离对的方向以及项目的可控性。4)随着项目推动,客户始终掌握项目的最新信息,从而他或她可以和管理层有效地交互。5)客户认可这种公司内部的开发方式带来的良好的沟通和高质量的产品。缺陷:很难让用户确信这种演化方法的结果是可以控制的。建设周期长,而软件技术发展比较快,所以经常出现软件开发完毕后,和当前的技术水平有了较大的差距,无法满足当前用户需求。(4)喷泉模型喷泉模型是一种以用户需求为动力,以对象为驱动的模型,重要用于采用对象技术的软件开发项目。该模型认为软件开发过程自下而上周期的各阶段是互相迭代和无间隙的特性。软件的某个部分经常被反复工作多次,相关对象在每次迭代中随之加入渐进的软件成分。无间隙
6、指在各项活动之间无明显边界,如分析和设计活动之间没有明显的界线,由于对象概念的引入,表达分析、设计、实现等活动只用对象类和关系,从而可以较为容易地实现活动的迭代和无间隙,使其开发自然地涉及复用。优点:喷泉模型不像瀑布模型那样,需要分析活动结束后才开始设计活动,设计活动结束后才开始编码活动。该模型的各个阶段没有明显的界线,开发人员可以同步进行开发。其优点是可以提高软件项目开发效率,节省开发时间,适应于面向对象的软件开发过程。缺陷:由于喷泉模型在各个开发阶段是重叠的,因此在开发过程中需要大量的开发人员,因此不利于项目的管理。此外这种模型规定严格管理文档,使得审核的难度加大,特别是面对也许随时加入各
7、种信息、需求与资料的情况。五、实验小结:通过本次实验让我了解了软件工程开发的4 中重要模型和这些模型的优缺陷。初次安装并使用UML软件设计工具V i s i o 和 Ration a 1 Rose使我初步结识了软件开发中UML的设计。实验及作业二一、实验目的1、了解面向对象的基本概念2、熟悉面向对象的分析、设计过程3、了解基于UML的面向对象分析设计过程二 实验设备与环境装有 Vis i Os RathionalRose 的计算机。三、实验内容1、熟悉R ati o n al R ose的使用。2、熟悉运用统一建模语言进行分析、设计软件的过程,完毕作业:论述面向对象(O O)方法的特点、优势以
8、及存在的问题。四 实验过程及结果面向对象方法(Objec t-Or i e n ted M e t h od)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称0 0 (Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和允许的操作组成的封装体,与客观实体有直接相应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来结识、理解、刻画客观世界和设计、构建相应的软件系统。重要特性:封装性,多态性优势:(1)强调从现实世
9、界中客观存在的事物(对象)出发来结识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。(2)运用人类平常的思维方法和原则(体现于00方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的相应,从而显著地提高了系统的开发效率与质量,并大大减少系统维护的难度。(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能
10、力。(6 )对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。存在的问题:(1)软件重用性差(2)软件可维护性差(3)开发出的软件不能满足用户需要五、实验小结:通过本次实验了解R a t io n a l R o s e 的使用。学习运用统一建模语言进行分析、设计软件的过程,通过上网查询,了解有关面向对象(0 0)方法的特点、优势以及存在的问题。实验及作业三三、实验目的1、讲解用例、参与者、UML语境建模技术和UML需求建模技术。2、通过实例使学生有一个初步结识,为后面的学习打下坚实的基础。四 实验设备与环境装有 V i s i o、Rati o n alRos e 的计算
11、机。四、实验内容1、掌 握“参与者”、“用例”、“各种关系”在 V i s i。或 R a t i o n a l R o s e中的设计方法。体会用例图的设计方法。2、以图书馆管理系统为例,完毕其用例图的设计。并书写实验报告。四 实验过程及结果图书管理系统中的参与者有读者、图书管理员和系统管理员。读者可以进行查询,借 书(有扩展关系预定和续借),还书,罚款(有扩展关系超期罚款和损坏罚款),登陆;图书管理员可以进行登陆,解决借书,解决还书(有扩展关系收罚金),解除预定;删除预订信息图书管理员系统管理员可以进行登陆,管理用户和管理图书目录(有扩展关系新增书籍和删除书记);新增图书系统维护删除图书
12、读者信息维护五、实验小结:通过本次实验第一次使用ROSE画用例图使我初步了解了什么是用例图,如何进行画用例图。通过画图书管理系统的用例图后,使我可以对的使用 ROSE软件画用例图。实验及作业四一实验目的讲解静态视图中的类图、对象图等建模知识,并通过图书馆管理系统的静态视图进行实例讲解,为学生以后的学习打下坚实的基础。二、实验设备与环境装有 Vi s io、Rationa 1 Ros e 的计算机。三 实验内容实现并改善图书馆管理系统中的类图。四、实验过程及结果根据实验三的用例图画出如下的类图。1、读者,图书管理员,和系统管理员都是用户,是用户类的泛化;2、登录和用户是依赖关系,登录需要取决于用
13、户类里的用户名和密码。UiraMA令0oMctjnoneyO而j五、实验小结:通过本次实验是我初步了解了如何将用例图转换成相应的类图。在画类图是需要弄清楚类与类之间的各种关系,只有弄清楚类之间的关系后才干画好类图。面向对象分析与设计(UML)实验五一、实验目的了解动态视图中的状态图的设计、建模,涉及:状态机、状态、转移等概念。二、实验设备与环境装有 Visio Ra t i o nalR o s e 的计算机。三 实验内容实现并改善图书馆管理系统中的状态图。四、实验过程及结果可借书达借书上限五、实验小结:通过本次实验的练习,让我初步了解并使用R o se画图书管理系统的状态图。在画图中通过度析
14、画出图书管理系统的每个状态过程。面向对象分析与设计(UML)实验六一、实验目的了解活动图的设计方法及建模技术。重点介绍了活动图的构成要素、鉴定、对象流、泳道等概念,以及活动图与状态图的关系、活动图与流程图的区别。二、实验设备与环境装有 V i s i o、R a t i o n a l R o s e 的计算机。三、实验内容实现并改善图书馆管理系统中的活动图。四、实验过程及结果借阅者图书瞥理/借阅者V登录五、实睑小结:通过本实验的练习是我初步了解了如何画活动图。面向对象分析与设计(UML)实验七一、实验目的了解动态视图中的时序图、协作图的设计、建模。二、实验设备与环境装有 V i sio Ra
15、 t ion a IRose 的计算机。三 实验内容实现并改善图书馆管理系统的时序图,并在此基础上做出相应的协作图。四 实验过程及结果图书管理系统时序图:1、借阅者预定图书2、系统管理员添加新图书3、系统管理员删除旧图书图书管理员 也 图书名 借阅者 借书记录图书条目扫描 查找删除借阅蛰找图书条目更新借阅者可借图更新图书4、图书管理员解决还书5、图书管理员解决借书图书管理吊 借书 图书名 借阅者 借书记录图书条目直找图 查找查找图书验证借阅者、直找:创建借阅协作图如下:1、借阅者借书2、图书管理员解决还书借书记录A 9 A4:还书q:更新记录1:查找借阅者ID2:还书V图书名3:更新目录图书目
16、录3、图书管理员解决借书4:验证是否达借书数量上限4、系统管理员新增图书1:添加新书 2:查找f 图书系 一统系统管理员图书名3:更新目录V图书目录5、系统管理员删除旧图系鬻理书图需系2:查找V3:更新图书名 图书目录五 实验小结通 过 这8个课时的课程学习,使我初步了解什么是时序图和协作图,如何使用Rose画时序图和协作图。时序图是消息时间顺序的交互图,描述了对象之间消息传递的时间顺序,在实验课上通过度析和画出了图书管理系统的时序图。而协作图描述的是和对象结构相关的信息,表达一个类操作的实现。通过时序图可以清楚的了解到图书管理系统所有对象之间消息传递的时间顺序,通过协作图又可以清楚的看到各个
17、对象之间的结构关系。R O S E双向工程实验八五 实验目的1、了解UML模型与代码的相应关系。2、了解ROSE的双向工程。六 实验设备与环境装有 Vis i o、Rat i o nalRose 的计算机。六 实验内容1、掌握正向工程在V i sio 或 Rat i o n al Rose中的实现。体会类图中类关系在源代码中的体现。(1)简朴类、在类中添加属性和方法、类可见性设立。(2)类图中的关系:泛化关系、关联关系(涉及一对一关联、一对多关联、多对多关联、聚合关系、组合关系)、依赖关系、实现关系。请依次将上述实验内容的UML图与生成的代码附在实验过程及结果中,并说明UML中的模型在源代码中
18、是否体现。2、掌握逆向工程在V isio或Ration a 1 Ro s e 中的实现。体会R a tional Rose在阅读代码中的好处。六 实验过程及结果1.1 在 Ro s e 的Logic a 1 View下新建简朴类Pe o p ie 如下:People加ame01d通过使用U”8 函1 ML中的正向工程得到代码如下:E P eople,java 一 记事本文件g 编辑格式查看&L帮助但)/Source File:E:NewPackagePeople.jauapackage NewPackage;public class People1.2类图中的关系A:泛化关系PeopePeop
19、teO生成代码如下:L People-aan.java-记事本口回区文件也)媪辑d)格 式 )查看更)帮助电)/Source F ile:E:实验NewPackagePeopIe_man.jauapackage NeviPackage;public class People_nan extends People/*Qroseuid 4CF347C70119*/public People_man()B People,java-记事本 叵区|文 件 但)编 辑 豆)格 式)查 看W)帮助国)/Source F ile:E:N ew PackagePeople.jauapackage NeuPack
20、age;public class People/*roseuid 4CF347CFO0OF*/public People()B:关联关系(!)一对一:NewClass-AhtewOass A01NtewCtess-B1 NewOass_B)生成代码如下:匚 Hewlass_B.java-记 事 本|口文 件 任)编 辑 圾)格 式 )查 看 9 帮 助QD/Source f i l e:E:NewPackageNewClass_B.jauapackage NeviPackage;public class NewClass_B/*Oroseuid 4CF34AE6002E*/public New
21、Class_B()HewClass_A.java 记 事 本 ,口 1 0文 件 但)编 辑 格 式(Q)查看国)帮助国)/Source file :E:NewPackageNewClass_A.jauapackage NewPackage;public class NewClass_A/*Qroseuid 4CF34AF403C8*/public NewClass_A()(2)一对多NewClassNewClass2生成代码如下:NewdassO 1n NewClass2()I文 件 但)编 辑 更)格 式Q)查看 9 帮助国)/Source file:E:NewPackageNewClas
22、s.jauapackage NeuPackage;public class NewClass/*roseuid 4CF34CCE0290*/public NevjClass()E NevClass2.java-记事本BE文件更)编辑更)格式)查看包)帮助童)/Source F ile:E:NewPackageNewClass2.jauapackage NewPackage;public class NewClass2|/*roseuid 4CF34CD7034B*/public NewClass2()(3)多对多NewQass3Netess,)nNewQass4n NewQass40生成代码如
23、下:C Nevlass4.java 一记事本文件9 编辑 格 式 )查看9 帮助国)/Source F ile:E:NewPackageNewClass4.jauapackage NewPackage;public class NewClass4/*Oroseuid 4CF34D7B0177*/public NeuClass4()f!Nevlass3.java-记事本文件鱼)编辑起)格式也)查看W)帮助国)/Source F ile:E:NewPackageNewClass3.jauapackage NeuPackage;public class NeviClass3/*roseuid 4CF
24、34D720148*/public NeviClass3()(4)聚合关系BillCustomer生成代码如下:匚 Customer,java 一 记事本文件()编辑()格 式 )查 看 9 帮助国)_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _/Source F ile:E:New PackageCustoner.jaupackage NevjPackage;public class CustomerQroseuid 4CF34F1A00CB*/public Customer()P B ill,java 二 记事本 Q文 件 更)编 辑 格 式Q)查看
25、 帮助团/Source F ile:E:实 验NewPackageBill.jauapackage Nev/Package;public class B ill/*Qroseuid 4CF34F2203B9*/public B illf)C:依赖关系:gC D iscount,java-记事本生成代码如下:文件g 编辑起)格式)查看9 帮助国)/Source file:E:NewPackageDiscount.package NeuPackage;public class Discount/*droseuid 4CF3510DO1A5*/public Discount()/*Qroseuid
26、4CF35076029F*/public void getdiscount()E1 B ill,java-记事本文件d)编辑 格式)查看9 帮助/Source f il e:E:实验NeiuPackageBill.jauapackage NewPackage;public class B illQroseuid 4CF350BD001F*/public B ill()i.o r n r-n n o o-4 c iz.D:实现关系:一。PaymentcounterB川生 成代码如下:B B ill,java 一 记事本文件9 编辑。格 式 纹 查看”帮助国)/Source f i l e:E:实
27、验NewPackageBill.jauapackage NeviPackage;public class B ill implements Paynentcounter/*Qroseuid 4CF351EF00CB*/public B ill()七 实验小结:通过本次课程的学习和实验的联系是我初步了解到如何使用Rose进行UML的正向工程和逆向工程,通过正向工程可以将类图转化成代码,通过逆向工程可以将代码转换正相应的类。组件图和配置图设计实验九一 实验目的1、了解组件图的概念及应用。2、了解配置图的概念及应用。二 实验设备与环境装有 Visio、Rationa 1 Ro s e 的计算机。三 实验内容1、实现并完善图书管理系统中的组件图、配置图。四 实验过程及结果1、组件图:通过对系统中的组件和组件的接口进行建模得到如下图书馆管理系统组件图:2、部署图:通过对系统中的节点进行建模得到如下图书管理系统的部署图:五、实验小结:通过这次课时的学习,使我初步了解了什么是组件图和部署图。组件图描述了软件的各种组件和它们之间的依赖关系。而部署图即配置图,配置图描述了运营软件的系统中硬件和软件的物理结构。通过实验的练习,我完毕的图书管理系统的组件图和部署图。
限制150内