《面向对象分析与设计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的设计。实验及作业二一、实验目的1、了解面向对象的基本概念2、熟悉面向对象的分析、设计过程3、了解基于UML的面向对象分析设计过程二、实验设备与环境装有Visio、RathionalRose的计算机。三、实验内容1、熟悉RationalRose的使用。2、熟悉利用统一建模语言进行分析、设计软件的过程,完成作业:论述面向对象(OO)方法的特点、优势以及存在的问题。四、实验过程及结果面向对象方法(Object-OrientedMethod)是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO(Object-Oriented)方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。主要特征:封装性,多态性优势:(1)强调从现实世界中客观存在的事物(对象)出发来认识问题域和构造系统,这就使系统开发者大大减少了对问题域的理解难度,从而使系统能更准确地反映问题域。(2)运用人类日常的思维方法和原则(体现于OO方法的抽象、分类、继承、封装、消息通讯等基本原则)进行系统开发,有益于发挥人类的思维能力,并有效地控制了系统复杂性。(3)对象的概念贯穿于开发过程的终,使各个开发阶段的系统成分具良好的对应,从而显著地提高了系统的开发效率与质量,并大大降低系统维护的难度。(4)对象概念的一致性,使参与系统开发的各类人员在开发的各所段具有共同语言,有效地改善了人员之间的交流和协作。(5)对象的相对稳定性和对易变因素隔离,增强了系统的应变能力。(6)对象类之间的继承关系和对象的相对独立性,对软件复用提供了强有力的支持。存在的问题:(1)软件重用性差(2)软件可维护性差(3)开发出的软件不能满足用户需要五、实验小结:通过本次实验了解RationalRose的使用。学习利用统一建模语言进行分析、设计软件的过程,通过上网查询,了解有关面向对象(OO)方法的特点、优势以及存在的问题。实验及作业三三、实验目的1、讲解用例、参与者、UML语境建模技术和UML需求建模技术。2、通过实例使学生有一个初步认识,为后面的学习打下坚实的基础。四、实验设备与环境装有Visio、RationalRose的计算机。四、实验内容1、掌握“参与者”、“用例”、“各种关系”在Visio或RationalRose中的设计方法。体会用例图的设计方法。2、以图书馆管理系统为例,完成其用例图的设计。并书写实验报告。四、实验过程及结果图书管理系统中的参与者有读者、图书管理员和系统管理员。读者能够进行查询,借书(有扩展关系预定和续借),还书,罚款(有扩展关系超期罚款和损坏罚款),登陆;图书管理员能够进行登陆,处理借书,处理还书(有扩展关系收罚金),解除预定;读者订书借书还书删除预订信息图书管理员extend罚款extend系统管理员能够进行登陆,管理用户和管理图书目录(有扩展关系新增书籍和删除书记);图书维护读者信息维护新增图书删除图书系统维护系统管理员五、实验小结:通过本次实验第一次使用ROSE画用例图使我初步了解了什么是用例图,如何进行画用例图。通过画图书管理系统的用例图后,使我能够正确使用ROSE软件画用例图。实验及作业四一、实验目的讲解静态视图中的类图、对象图等建模知识,并通过图书馆管理系统的静态视图进行实例讲解,为学生以后的学习打下坚实的基础。二、实验设备与环境装有Visio、RationalRose的计算机。三、实验内容实现并改进图书馆管理系统中的类图。四、实验过程及结果根据实验三的用例图画出如下的类图。1、读者,图书管理员,和系统管理员都是用户,是用户类的泛化;2、登录和用户是依赖关系,登录需要取决于用户类里的用户名和密码。五、实验小结:通过本次实验是我初步了解了如何将用例图转换成相应的类图。在画类图是需要弄清楚类与类之间的各种关系,只有弄清楚类之间的关系后才能画好类图。《面向对象分析与设计(UML)》实验五一、实验目的了解动态视图中的状态图的设计、建模,包括:状态机、状态、转移等概念。二、实验设备与环境装有Visio、RationalRose的计算机。三、实验内容实现并改进图书馆管理系统中的状态图。四、实验过程及结果新书可借书删除已预定已借书借书预定借书还书取消预定新用户账户可借书可借书不可借书还书达借书上限删除用户户欠款还款借书超期或者损坏五、实验小结:通过本次实验的练习,让我初步了解并使用Rose画图书管理系统的状态图。在画图中通过分析画出图书管理系统的每个状态过程。《面向对象分析与设计(UML)》实验六一、实验目的了解活动图的设计方法及建模技术。重点介绍了活动图的构成要素、判定、对象流、泳道等概念,以及活动图与状态图的关系、活动图与流程图的区别。二、实验设备与环境装有Visio、RationalRose的计算机。三、实验内容实现并改进图书馆管理系统中的活动图。四、实验过程及结果登录更新用户信息更新新图书信息五、实验小结:通过本实验的练习是我初步了解了如何画活动图。《面向对象分析与设计(UML)》实验七一、实验目的了解动态视图中的时序图、协作图的设计、建模。二、实验设备与环境装有Visio、RationalRose的计算机。三、实验内容实现并改进图书馆管理系统的时序图,并在此基础上做出相应的协作图。四、实验过程及结果图书管理系统时序图:1、借阅者预定图书2、系统管理员添加新图书借阅者图书系统图书名预定记录登陆查找返回查找...预定图书生成预定记录3、系统管理员删除旧图书系统管理员图书系统图书名图书条目添加...查找返回创建新...系统管理员图书系统图书名图书条录删除图书...查找返回删除图书...删除...4、图书管理员处理还书5、图书管理员处理借书图书管理员还书图书名借阅者借书记录图书条目扫描...查找图书条目更新图书...删除借阅...更新借阅者可借图...查找图书管理员借书图书名借阅者借书记录图书条目查找图...查找查找图书...查找...验证借阅者...查找创建借阅...协作图如下:1、借阅者借书2、图书管理员处理还书借阅者图书系统图书名图书目录借书记录1:验证借阅者ID2:预定图书4:预定3:查找图书名5:创建借书记录图书管理员图书系统借书记录图书名图书目录1:查找借阅者ID2:还书4:还书5:更新记录3:更新目录3、图书管理员处理借书4、系统管理员新增图书5、系统管理员删除旧图图书管理员图书系统借书记录图书目录图书名预定记录4:验证是否达借书数量上限1:验证借阅者ID5:借书2:查找是否有预定记录3:更新借书记录6:更新记录系统管理员图书系统图书名图书目录1:添加新书2:查找3:更新目录系统管理员图书系统图书名图书目录删除图书1:2:查找3:更新五、实验小结通过这8个课时的课程学习,使我初步了解什么是时序图和协作图,如何使用Rose画时序图和协作图。时序图是消息时间顺序的交互图,描述了对象之间消息传递的时间顺序,在实验课上通过分析和画出了图书管理系统的时序图。而协作图描述的是和对象结构相关的信息,表示一个类操作的实现。通过时序图可以清楚的了解到图书管理系统所有对象之间消息传递的时间顺序,通过协作图又能够清楚的看到各个对象之间的结构关系。ROSE双向工程实验八五、实验