预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共26页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

《面向对象分析与设计UML》 实验报告 实验及作业一 实验目的 了解软件工程等基础知识,为后续的统一建模语言UML知识的学习做好准备工作。 实验设备与环境 装有Visio、RationalRose的计算机。 实验内容 1、复习阐述“软件工程开发模型”的相关概念,并分析各种模型的优缺点,写成实验报告。 2、熟悉UML软件设计工具Visio、RationalRose的安装及环境 四、实验过程及结果 经过上网搜索相关信息进行了解软件工程开发模型的相关概念与优缺点 一,什么是软件工程概念模型模型就是抽象,就是有意识地忽略事物的某些特征。抽象带来的好处是能够反映模型中元素之间的关系,清晰把握大局。概念模型是模型的一种,简单说就是抽象程度极高的一种模型。软件工程概念模型是对软件工程领域进行抽象描述的模型,它能够使我们对软件工程有一个完整把握。 二,软件工程开发模型的种类以及优缺点 瀑布模型由W.Royce于1970年首先提出。根据软件工程生存周期各个阶段的任务,瀑布模型从可行性研究开始,逐步进行阶段性变换,直至通过确认测试并得到用户确认的软件产品为止。瀑布模型上一阶段的变换结果是下一阶段变换的输入,相邻两个阶段具有因果关系,紧密联系。一个阶段的失误将蔓延到以后的各个阶段。为了保障软件开发的正确性,每一阶段任务完成后,都必须对它的阶段性产品进行评审,确认之后再转入下一阶段的工作。评审过程发现错误和疏漏后,应该及时反馈到前面的有关阶段修正错误或弥补疏漏,然后再重复前面的工作,直至某一阶段通过评审后再进入下一阶段。瀑布模型如图1.1所示。 瀑布模型有许多优点,如可强迫开发人员采用规范的方法;严格规定了每个阶段必须提交的文档;要求每个阶段交出的所有产品都必须经过质量保证小组的仔细验证等。 但瀑布模型也存在缺点,其主要表现在:①在软件开发的初始阶段指明软件系统的全部需求是困难的,有时甚至是不现实的。而瀑布模型在需求分析阶段要求客户和系统分析员必须做到这一点才能开展后续阶段的工作。②确定需求后,用户和软件项目负责人要等相当长的时间才能得到一份软件的最初版本。如果用户对这个软件提出比较大的修改意见,那么整个软件项目将会蒙受巨大的人力、财力和时间方面的损失。 原型模型又称演化模型,主要是针对事先不能完整定义需求的软件项目开发而言的。许多软件开发项目由于人们对软件需求的认识模糊,很难一次开发成功,返工再开发难以避免。因此,人们对需开发的软件给出基本需求,作第一次试验开发,其目标仅在于探索可行性和弄清需求,取得有效的反馈信息,以支持软件的最终设计和实现。通常我们把第一次实验性开发出的软件称为原型(prototype)。这种开发模型可以减少由于需求不明给开发工作带来的风险,有较好的效果。相对瀑布模型来说,原型模型更符合人类认识真理的过程和思维,是目前较流行的一种实用的软件开发方法。原型模型如图4.2所示。 原型化模型有丢弃型、样品型和渐增式演化型三种形式。丢弃型是指原型开发后,已获得了更为清晰的需求反馈信息,原型无需保留而丢弃,开发的原型仅以演示为目的,这往往用在软件的用户界面的开发上。样品型是指原型规模与最终产品相似,只是原型仅供研究用。渐增式演化型是指原型作为最终产品的一部分,它可以满足用户的部分需求,经用户试用后提出精华系统、增强系统能力的需求,开发人员根据反馈信息,实施开发的迭代过程。如果在一次迭代过程中,有些需求还不能满足用户的需求,可以在下一迭代过程中予以修正,整个实现后软件才可最终交付使用。 螺旋模型是瀑布模型与原型模型相结合,并增加两者所忽略的风险分析而产生的一种模型,该模型通常用来指导大型软件项目的开发,它将开发划分为制定计划、风险计划、实施开发和客户评估四类活动。沿着螺旋线每转一圈,表示开发出一个更完善的新的软件版本。如果开发风险过大,开发机构和客户无法接受,项目有可能就此中止;多数情况下,会沿着螺旋线继续下去,自内向外逐步延伸,最终得到满意的软件产品。该模型是由TRW公司的B.Boehm于1988年提出的。 图1.3显示了螺旋模型的原理,沿着螺旋线旋转,在笛卡儿坐标的四个像限上分别表达了四类活动。 制定计划:确定软件目标,选定实施方案,弄清项目开发的限制条件; 风险分析:分析所选方案,考虑如何识别和消除风险; 实施开发:实施软件开发; 客户评估:评价软件功能和性能,提出修正建议。 螺旋模型有许多优点,主要表现在:对可选方案和约束的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标,减少了过多测试或测试不足所带来的风险。但是要求许多客户接受和相信并不容易,使用该模型需要具有相当丰富的风险评估经验和专门知识,如果项目风险较大,又未必能及时发现,势必造成重点