软件开发过程模型的发展.pdf
《软件开发过程模型的发展.pdf》由会员分享,可在线阅读,更多相关《软件开发过程模型的发展.pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、收稿日期:2007-10-22基金项目:浙江省教育科研项目(20050127)作者简介:高?禹(1954-),男,吉林长春人,副教授,研究方向为软件工程、数值分析。软件开发过程模型的发展高?禹,毕振波(浙江海洋学院 计算机系,浙江 舟山 316000)摘?要:针对软件开发过程模型的发展问题进行研讨。通过分析几个典型的软件开发过程模型:瀑布模型、快速原型化模型、增量模型、螺旋模型、构件组装模型,分析每个模型的产生情况,研究软件开发过程模型整体的发展过程,寻找其中规律性的东西。讨论了促使软件开发过程模型发展的两个主要因素:一是需要新的软件开发过程模型来处理新情况和新问题;二是需要新的软件开发过程模
2、型来提高开发的效率和质量。指出了软件开发过程模型可以按照三个方向去发展:一是通过对现有模型进行改进、扩充、综合去发展;二是遵循新的思维方式去发展;三是借助新技术和新工具去发展。关键词:软件工程;软件开发过程模型;发展中图分类号:TP311.5?文献标识码:A?文章编号:1673-629X(2008)07-0083-04Development of Software Exploitation Process ModelGAO Yu,BI Zhen?bo(Department of Computer,Zhejiang Ocean University,Zhoushan 316000,China)A
3、bstract:Aims at studying and discussing the problems of the development of the software exploitation process model.Analyzes severaltypical software exploitation process models,namely Waterfall Model,Rapid Prototyping Model,Incremental Model,Spiral Model andComponent Integration M odel,and origin of
4、each model.Studies the overall course of software exploitation process model,and finds therelevant law.The two main factors are provided as follows so as to advance software exploitation process model.One is new things andproblems should be done with and solved by new model,the other is software dev
5、elopment efficiency and quality should be improved bynew model.Finally,points out the three directions of software exploitation process model,one direction is the existed software exploitationprocess modes should be improved,extended and developed synthetically,the second is the existed models shoul
6、d be developed according toa new thinking,the last is the existed models should be developed through adopting new technology and tools.Key words:software engineering;software exploitation process model;development0?引?言从第一个软件开发过程模型?瀑布模型!的产生到现 在,人们 陆续 推出了 许多 软件 开发 过程模型1 4。这些软件开发过程模型是如何产生和发展的?软件开发过程模型还
7、会发展吗?软件开发过程模型如何发展?研究这些问题对于推动软件工程理论向前发展具有重要意义。下面对这些问题进行研讨。1?对几个典型的软件开发过程模型的分析下面分析几个典型的软件开发过程模型的产生情况,通过分析,既可以看到它们的内容又可以了解它们产生的原因。同时,也可以从整体上看到软件开发过程模型发展的大致过程,在此基础上思考软件开发过程模型的产生和发展问题。1.1?瀑布模型的产生情况早期的软件开发活动带有明显的个体化特征,非常不规范,随意性很强,人们错误地认为软件就是程序,对程序之外的数据和相关的文档材料没有给予重视,对编写程序之外的软件开发活动(如需求分析、概要设计、详细设计、软件维护等等)没
8、有给予重视,结果出现了软件危机。软件危机的典型表现有:开发成本急剧上升、开发进度一再拖延、软件难以维护甚至无法维护、软件质量无法保证、开发出的产品不能满足用户需要,等等。为了摆脱软件危机,人们开始研究软件开发方法,1968 年提出 软件工程!的概念,主要思路是将人类从事各种工程项目积累起来的行之有效的原理和方法应用于软件的开发和维护活动中。在这种情况下,1970 年瀑布模型被推出。一个软件从开始计划到开发成功、交付使用,再到第 18 卷?第 7 期2008 年 7 月?计 算 机 技 术 与 发 展COM PUT ER TECHNOLOGY AND DEVELOPMENT?Vol.18?No.
9、7Jul.?2008废弃不用,有一个完整的生命周期,称为软件的生命周期。瀑布模型按照软件的生命周期,将软件过程分为:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、维护等几个阶段。软件开发活动按顺序一个阶段接着一个阶段地进行,每个阶段完成一项特定任务,每个阶段的结果经审查合格后方能进入下一个阶段。瀑布模型严格地规定了每个阶段必须提交的文档,强迫开发人员采用规范的方法,要求每个阶段提交的产品必须经过专家的仔细验证。这样,软件质量得到了保证。由于各阶段提交了规范的文档,软件维护变得容易一些。瀑布模型的成功在很大程度上是由于它是文档驱动的模型。瀑布模型的推出,是人们为了摆脱软件危机迈
10、出的重要的一步。按照瀑布模型去进行软件开发活动,克服了开发中的个体随意性和不规范倾向,使软件开发有章可循,有效地遏制了日益蔓延的软件危机。1.2?快速原型化模型的产生情况按照瀑布模型开发软件,虽然很有效,但灵活性不强,因为瀑布模型是按阶段顺序来操作的,必须在前一阶段的工作完成后才能进行下一阶段的工作。需求分析是一个重要的阶段,由于在开发早期用户的需求往往是模糊的,或由于某些原因用户的需求要发生变化,导致需求分析阶段的工作无法结束,造成下一阶段的概要设计工作无法进行。这时如果继续采用瀑布模型进行软件开发活动,显然不妥,因此为了解决这类软件开发问题,必须构建新的软件开发过程模型。在这种情况下,快速
11、原型化模型被推出。人们认识未知的事物,往往按照 实践、认识、再实践、再认识,逐步完善!的规律去做,经过反复多次的迭代式的实践和认识过程,达到基本了解事物情况的目的。快速原型化模型按照这个规律进行软件开发活动,首先快速建立一个能反映用户主要需求的原型系统,请用户在计算机上试用,通过试用,用户提出修改意见;开发人员按照用户意见快速地修改原型系统,然后再让用户试用;然后开发人员按照用户意见再去修改;如此反复多次,直到原型系统完全满足用户需求为止。采用快速原型化模型进行开发活动,有效地解决了用户需求模糊不清和用户需求不断变化的问题。可以认为快速原型化模型是对瀑布模型的补充和完善,瀑布模型是用静止的观点
12、来看待软件开发活动,将用户需求看成是固定不变的,这样实际上是将用户需求简单化了,这种理想状态实际很难找到。快速原型化模型是从变化的观点来看待软件开发活动,符合客观实际情况,所以许多后来推出的模型都吸收了快速原型化模型的这种观点。1.3?增量模型的产生情况采用瀑布模型或采用快速原型化模型来开发软件时,是按照模型规定的开发过程,完成各开发环节的所有任务,得到一个完整的软件,将其提交给用户。面对软件规模越来越大、软件市场竞争越来越激烈、用户要求越来越高的形势,这样开发存在很多问题。当你将一个大的完整产品提交给用户后,用户要花费很多时间来学习这个新产品,短时间内很难适应这个新产品,给工作中应用该产品带
13、来不便;这个产品完整提交后,用户再去评价和提出修改意见就没有意义了。这样,使开发风险加大,使开发时间增长,使用户满意度降低。为了解决这个问题,必须构建新的软件开发过程模型。在这种情况下,增量模型被推出。人们解决大问题时,往往是将大问题分解为若干个小问题,每个小问题比较容易解决(其中有一个小问题是核心的关键问题),将这些小问题分别给予解决(对于核心的关键问题首先给予解决),那么大问题也就被解决了。一般来说,分解出的每个小问题具有相对独立性,即每个小问题与其它每个小问题联系不紧密,这样,既可以一个接着一个地顺序去解决每个小问题,也可以同时去解决多个小问题。增量模型按照这样的方法进行软件开发,将一个
14、大的软件分解为一系列较小的 增量!,每个增量分别进行开发,通常开发的第一个增量是软件的核心部分,实现软件的基本需求。向用户一个增量接着一个增量地分批提交软件产品。采用增量模型,用户从拿到第一个增量时开始,就可以学习和熟悉软件,通过使用来评价软件及提出修改意见;开发人员根据用户对已经提交的增量的反馈,可以改进软件产品。这样,提交所有增量后,软件产品就达到比较完善的程度,也提高了用户满意度。1.4?螺旋模型的产生情况软件开发从始到终都存在着风险,项目规模越大、软件越复杂,开发该项目所冒的风险就越大。并且风险具有不确定性,可能发生也可能不发生,但是一旦风险变为现实,就会造成损失,甚至产生恶性后果。因
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 开发 过程 模型 发展
限制150内