常见项目管理模型的研究与分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
研究生课程考试成绩单
院系软件学院专业软件工程学生姓名凌升杭学号143522 课程名称软件项目管理
授课时间2014年9月至2014年12月周学时 3 学分 2
简
要
评
语
考核论题常见项目管理模型的研究与分析
总评成绩
(含平时成绩)
备注
任课教师签名:
日期:
注:1. 以论文或大作业为考核方式的课程必须填此表,综合考试可不填。“简要评语”栏缺填无效。
2. 任课教师填写后与试卷一起送院系研究生秘书处。
3. 学位课总评成绩以百分制计分。
常见项目管理模型的研究与分析
在现代软件产品的开发过程中,存在着许多各种各样的问题。其中有技术问题,管理问题,需求问题等。针对这些问题,一系列软件过程模型也被提了出来。针对不同的模型有一定的适应环境和范围。
首先介绍一下软件过程,它是指一套关于项目的阶段、状态、方法、技术和开发、维护软件的人员以及相关的文档组成。一个好的软件过程可以提高软件开发组织的生产效率、提高软件质量、降低成本并减少风险。
软件项目开发早期,由于规模不大,一般可由几个人经过简单分析就进入编码实现阶段。随着需求不断增加,软件项目的规模也越来愈大。从1970年,由Royce提出了第一个软件过程模型-瀑布模型之后,有陆续出现了快速原型模型、增量模型、螺旋模型、喷泉模型等传统模型。等到现代软件过程模型又包括基于构建的开发模型、形式化方法模型、面向对象的模型、领域模型等多种新模型。其中不管是传统还是现代模型都代表了一种将本质上无序的活动有序化的企图,每个模型都具有能够帮助实际软件项目控制及协助的特性。
下面就从模型的优缺点、适用范围等方面分析一下一些常用的软件过程模型。
软件过程模型比较分析
一、瀑布模型
瀑布模型是采用软件生命周期模型。瀑布模型的优点是结构简单、清晰、是线性顺序模型。其缺点是如果不带有反馈环的,需求难以十分完善。它只适用于项目开始时需求已确定的情况。
二、增量模型
增量模型是将软件产品分解成一系列的增量构建,在增量开发迭代中逐步加入。它的优点是能在较短时间内向用户提交可以完成一些有用的工作产品。每一次增量均可发布一个可操作的产品。所以它的缺点也很明显,就是增量包之间存在相交的情况不好处理。它适用在不能再设定的期限内完成产品时,先推出核心产品。
三、螺旋模型
软件开发几乎总要冒一定的风险。所以在软件开发过程中必须及时识别和分析风险,并采用适当的措施以消除或减少风险的危害。它将瀑布模型和快速原型模型结合起来,并加入
风险分析。优点是对可选方案和约束条件的强调有利于已有软件的重用,也有助于把软件质量作为软件开发的一个重要目标。同时减少了过多测试或测试不足所带来的风险。
四、基于构建的开发模型
基于构建的软件模型是强调使用可复用的软件构件来设计和构造基于计算机的系统的过程。它本质上是演进模型,需要以迭代方式构件软件。其优点是通过大量使用可复用构件,采用基于构件的建造方法赢得快速开发。缺点是时间约束需要一个可以伸缩的范围。这个可以用在对模块化要求比较高的信息系统。
五、形式化方法模型
形式化系统开发模型是一种基于形式化属性变换的软件开发方法,它可将系统规格说明转化成可执行的程序。形式化方法提供了一种机制,使得在软件开发中可以避免一些问题,而这些问题在使用其他软件工程模型时难以克服。比如,奇异性问题,不完整问题,不一致问题都能够容易地被发现和改正。
六、RUP模型
在RUP模型中,有五个核心工作流,即需求工作流、分析工作流、设计工作流、实现工作流和测试工作流。统一过程有4个阶段,分别是初始阶段、细化阶段、构造阶段和移交阶段。使用RUP模型的优点是它对所有关键的开发活动为每个开发成员提供了必要的准则、模板和工具指导,并确保全体成员共享相同的知识基础。缺点是没有涵盖软件过程中的全部内容,没有支持多项目的开发结构,这在一定程度上降低了再开发组织内大范围实现重用的可能性。这个适用于面向对象且基于网络的程序开发。
七、敏捷过程模型
敏捷软件开发是一种新的软件开发管理模式,用来代替以文档驱动开发的瀑布模式。敏捷方式也称为轻量级开发方法。在现代生活中,很难甚至无法预测一个基于计算机的系统如何随时间推移而演化。外部环境飞快变化,用户需求不断变更,新的竞争威胁不断出现,因此,在很多情况下必须足够敏捷地相应各种变化和挑战。敏捷过程模型有很多种:1、极限编程。2、自适应软件开发。
小结
软件工程是集成计算机软件开发的过程、方法和工具的学科,已经产生的一系列的软件工程过程模型各自有其优点和缺点,但是它们均有一系列共同的一般阶段。
软件过程模型发展经历了以下阶段。
1、以软件需求完全确定为前提的第1代软件过程模型,如瀑布模型等。这类开发模型的特点是软件需求在开发阶段已经被完全确定,将生命周期的各项活动依顺序固定,强调开发的阶段性;其缺点是开发后期要改正早期存在的问题需要付出很高的代价,用户需要等待较长时间才能够看到软件产品,增加了风险系数。并且如果在开发过程存在阻塞问题,则影响开发效率。
2、在开始阶段只能提供基本需求的渐进式开发模型,如螺旋模型和原型实现模型等。这类开发模型的特点是软件开发开始阶段只有基本的需求,软件开发过程的各个活动是迭代的。通过迭代过程实现软件的逐步演化,最终得到软件产品。在此引入了风险管理,采取早期预防措施,增加项目成功几率,提高软件质量;其缺点是由于需求的不完全性,从而为软件的总体设计带来了困难和削弱了产品设计的完整性,并要求对风险技能管理水平的高要求。
3、以体系结构为基础的基于构件组装的开发模型,如基于构件的开发模型和基于体系结构的开发模型等。这类模型的特点是利用需求分析结果设计出软件的总体结构,通过基于构件的组装方法来构造软件系统。软件体系结构的出现使得软件的结构框架更清晰,有利于系统的设计、开发和维护。
综上所述,软件开发模型随着软件设计思想的改变而发展,经历了由最初以结构化程序设计思想为指导的瀑布模型等,到以面向对象思想为指导的喷泉模型等,到以构件开发思想为指导的基于体系结构的开发模型等,到现在的4GT技术。每次新的软件设计思想的突破都会出现新的软件开发过程模型,以达到提高软件的生产效率和质量为目标,提出新的解决“软件危机”问题的方案