范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

探讨软件开发过程模型的发展论文

  0引言
  从第一个软件开发过程模型一"瀑布模型"的产生到现在,人们陆续推出了许多软件开发过程模型11。这些软件开发过程模型是如何产生和发展的?软件开发过程模型还会发展吗?软件开发过程模型如何发展?研究这些问题对于推动软件工程理论向前发展具有重要意义。下面对这些问题进行研讨。
  1对几个典型的软件开发过程模型的分析
  下面分析几个典型的软件开发过程模型的产生情况,通过分析,既可以看到它们的内容又可以了解它们产生的原因。同时,也可以从整体上看到软件开发过程模型发展的大致过程,在此基础上思考软件开发过程模型的产生和发展问题。
  1.1瀑布模型的产生情况
  早期的软件开发活动带有明显的个体化特征,非常不规范,随意性很强,人们错误地认为软件就是程序,对程序之外的数据和相关的文档材料没有给予重视,对编写程序之外的软件开发活动(如需求分析、概要设计、详细设计、软件维护等等)没有给予重视,结果出现了软件危机。软件危机的典型表现有:开发成本急剧上升、开发进度一再拖延、软件难以维护甚至无法维护、软件质量无法保证、开发出的产品不能满足用户需要,等等。为了摆脱软件危机,人们开始研究软件开发方法,1968年提出"软件工程"的概念,主要思路是将人类从事各种工程项目积累起来的行之有效的原理和方法应用于软件的开发和维护活动中。在这种情况下,1970年瀑布模型被推出。
  计划到开发成功、交删,再到废弃不用,有一个完整的生命周期,称为软件的生命周期。瀑布模型按照软件的生命周期,将软件过程分为:问题定义、可行性研究、需求分析、概要设计、详细设计、编码、测试、维护等几个阶段。软件开发活动按顺序一个阶段接着一个阶段地进行,每个阶段完成一项特定任务,每个阶段的结果经审查合格后方能进入下一个阶段。瀑布模型严格地规定了每个阶段必须提交的文档,强迫开发人员采用规范的方法,要求每个阶段提交的产品必须经过专家的仔细验证。这样,软件质量得到了保证。由于各阶段提交了规范的文档,软件维护变得容易一些。瀑布模型的成功在很大程度上是由于它是文档驱动的模型。
  瀑布模型的推出,是人们为了摆脱软件危机迈出的重要的一步。按照瀑布模型去进行软件开发活动,克服了开发中的个体随意性和不规范倾向,使软件开发有章可循,有效地遏制了日益蔓延的软件危机。
  1.2快速原型化模型的产生情况
  按照瀑布模型开发软件,虽然很有效,但灵活性不强,因为瀑布模型是按阶段顺序来操作的,必须在前一阶段的工作完成后才能进行下一阶段的工作。需求分析是一个重要的阶段,由于在开发早期用户的需求往往是模糊的,或由于某些原因用户的需求要发生变化,导致需求分析阶段的工作无法结束,造成下一阶段的概要设计工作无法进行。这时如果继续采用瀑布模型进行软件开发活动,显然不妥,因此为了解决这类软件开发问题,必须构建新的软件开发过程模型。在这种情况下,快速原型化模型被推出。
  人们认识未知的事物,往往按照"实践、认识、再实践、再认识,逐步完善"的规律去做,经过反复多次的迭代式的实践和认识过程,达到基本了解事物情况的目的。快速原型化模型按照这个规律进行软件开发活动,首先快速建立一个能反映用户主要需求的原型系统,请用户在计算机上试用,通过试用,用户提出修改意见;开发人员按照用户意见快速地修改原型系统,然后再让用户试用;然后开发人员按照用户意见再去修改;如此反复多次,直到原型系统完全满足用户需求为止。
  采用快速原型化模型进行开发活动,有效地解决了用户需求模糊不清和用户需求不断变化的问题。可以认为快速原型化模型是对瀑布模型的补充和完善,瀑布模型是用静止的观点来看待软件开发活动,将用户需求看成是固定不变的,这样实际上是将用户需求简单化了,这种理想状态实际很难找到。快速原型化模型是从变化的观点来看待软件开发活动,符合客观型化模型的这种观点。
  1.3增量模型的产生情况
  采用瀑布模型或采用快速原型化模型来开发软件时,是按照模型规定的开发过程,完成各开发环节的所有任务,得到一个完整的软件,将其提交给用户。面对软件规模越来越大、软件市场竞争越来越激烈、用户要求越来越高的形势,这样开发存在很多问题。当你将一个大的完整产品提交给用户后,用户要花费很多时间来学习这个新产品,短时间内很难适应这个新产品,给工作中应用该产品带来不便;这个产品完整提交后,用户再去评价和提出修改意见就没有意义了。这样,使开发风险加大,使开发时间增长,使用户满意度降低。为了解决这个问题,必须构建新的软件开发过程模型。在这种情况下,增量模型被推出。
  人们解决大问题时,往往是将大问题分解为若干个小问题,每个小问题比较容易解决(其中有一个小问题是核心的关键问题)将这些小问题分别给予解决(对于核心的关键问题首先给予解决),那么大问题也就被解决了。一般来说,分解出的每个小问题具有相对独立性,即每个小问题与其它每个小问题联系不紧密,这样,既可以一个接着一个地顺序去解决每个小问题,也可以同时去解决多个小问题。增量模型按照这样的方法进行软件开发,将一个大的软件分解为一系列较小的"增量",每个增量分别进行开发,通常开发的第一个增量是软件的核心部分,实现软件的基本需求。向用户一个增量接着一个增量地分批提交软件产品。采用增量模型,用户从拿到第一个增量时开始,就可以学习和熟悉软件,通过使用来评价软件及提出修改意见;开发人员根据用户对已经提交的增量的反馈,可以改进软件产品。这样,提交所有增量后,软件产品就达到比较完善的程度,也提高了用户满意度。
  1.4螺旋模型的产生情况
  软件开发从始到终都存在着风险,项目规模越大、软件越复杂,开发该项目所冒的风险就越大。并且风险具有不确定性,可能发生也可能不发生,但是一旦风险变为现实,就会造成损失,甚至产生恶性后果。因此,如何识别风险、预测风险、驾驭风险,将风险可能造成的危害消除或减少,是软件开发中必须要考虑的问题。但是在螺旋模型之前所提出的各种软件开发过程模型,都没有强调"风险分析"。在这种情况下,螺旋模型被推出。
  其实人们做任何事情之前,都要考虑风险。如果存在风险,那么一定要想办法去消除,否则成功希望渺茫。螺旋模型是在结合瀑布模型和快速原型化模型的发框架上,带有瀑布模型的系统性、顺序性和"边开发,边评审"的特点。螺旋模型也是一种迭代模型,每一次迭代均可采用快速原型化模型方法,每一次迭代均作风险分析。螺旋模型由若干个螺旋周期组成,每一周期都包括需求定义、风险分析、工程实现和评审四个阶段,当项目按顺时针方向沿螺旋线移动时,每迭代一次,螺旋线就前进一个周期,软件开发又前进一个层次,系统又生成一个新版本(即构造一个新的原型,这个新原型是在风险被排除后得到的),当迭代过程进行到用户允许或可接受的范围时,迭代结束。
  螺旋模型的推出,强化了人们的风险意识。通过使用原型来降低风险是一种行之有效的方法。螺旋模型集成了瀑布模型和快速原型化模型的优点,又有自身的特点,是一个实用性很强的软件开发过程模型。
  1.5构件组装模型的"产生情况
  面向对象技术出现之前所提出的各种软件开发过程模型,一般很少考虑"软件构件"的重复使用问题,即使编程时重复使用了一些库函数,量也不大,并且粒度小。因此,软件开发的任何一项工作基本是从头开始做,完整地做到尾。这样开发的缺点是成本高、时间长,当然出错的可能性也大。这里的"软件构件"一般指源代码,现在将需求规格说明、用户界面、软件体系结构等等也作为"软件构件"。人们考虑:如果在开发新软件时,能大量地重复使用已经开发过的软件中的内容,开发时间和成本不就降低了吗?又由于已经开发过的软件经过了严格的测试,重复使用这些内容在质量上当然是有保证的。面向对象技术的出现,为这个想法开辟了道路。在这种情况下,构件组装模型被推出。
  重复使用的思想早已在许多领域广泛应用了,例如在工业生产中,重复使用各种零部件来组装生产新产品。在软件生产中,由于每个软件与其它软件都不同,在面向对象技术出现之前,重复使用难度比较大。面向对象技术将数据和操作该数据的算法封装在一起,做成一个个的"类",将一个或多个相关"类"组合成一个"软件构件",在某领域内使用过的所有"软件构件"被放到一个"软件构件库"中,这样为重复使用打下了基础,构件组装模型就是通过重复使用"软件构件库"中的软件构件来进行软件开发。使用构件组装模型开发软件时,根据被开发软件的目标和开发方案,选取软件构件库中的软件构件,组装成一个完整的软件版本。
  构件组装模型的推出,使前人的劳动成果被有效地利用了起来。按此模型进行开发活动,可以节省时现,使软件开发工作开始进入一个新时代。
  1.6几个软件开发过程模型产生情况小结
  从以上分析几个典型的软件开发过程模型的产生情况可以看出:软件开发过程模型的出现,是人们为了消除软件危机、使软件开发活动有序化和规范化、高效率地得到高质量的软件产品而不断研究总结的结果,每一种新的软件开发过程模型的出现,都为当时软件开发遇到的某一类问题提供了解决方案,从而丰富了软件工程的内容,推动了软件工程理论向前发展。
  2.促使软件开发过程模型发展的主要因素
  现在已经有了这么多的软件开发过程模型,软件开发过程模型还会发展吗?答案是肯定的。通过上面的分析过程和深入的思考,可以得出促使软件开发过程模型发展的两个主要因素:
  第一,客观世界的情况在变化,不断出现新的问题,需要用计算机处理。面对新情况和新问题,原有的软件开发过程模型无法胜任,因此需要推出新的软件开发过程模型来处理新情况和新问题。回顾软件开发过程模型的变化和发展的历史,许多软件开发过程模型是为了处理新情况和新问题而推出的。例如快速原型化模型是针对用户需求不完整和用户需求不断变化的情况而推出的。例如螺旋模型是针对风险控制问题而推出的。例如文献[5]所介绍的建立在面向Agent技术上的Gaia模型,是针对现有的软件开发过程模型在开发复杂分布软件系统时常常遇到困难而推出的。例如文献[6]所介绍的一种基于Agent的自适应软件过程模型,是针对软件过程所处的环境发生变化问题而推出的。
  第二,人们希望软件开发的效率更高、质量更好、速度更快,因此人们不会满足现状,势必要研究并推出新的软件开发过程模型。例如构件组装模型的推出,就是人们不满足现状、遵循"重复使用"的思想所推出的软件开发过程模型。再如文献[7]所介绍轻载(敏捷)软件开发方法中的XP模型(极限编程),也是人们不满足现状,针对传统模型存在的问题,按照新的理念所推出的软件开发过程模型。以上两个主要因素显然会长期存在,因此软件开发过程模型必然还要发展。
  3.软件开发过程模型如何发展
  既然还会有新的软件开发过程模型被推出,就是说软件开发过程模型还要发展,因此人们要思考软件开发过程模型如何发展这个问题。根据对软件开发过间.降低成本,软件质量也有紙构件组装模型的出程模型有关情况的分析研究,软件开发过程模型可以
  按以下三个方向去发展:
  第一,可以通过对现有模型进行改进、扩充、综合去发展。
  结合新问题的内容,针对现有模型存在的适用面窄、考虑问题欠周到等情况,可以通过改进和扩充某个软件开发过程模型的内容而得到一个新模型,或者通过综合运用几种软件开发过程模型的内容而得到一个新模型。如文献[8]介绍的一种新的软件开发过程模型,是在瀑布模型基础上进行改进和扩充的结果。再如增量模型,是综合运用瀑布模型和快速原型化模型的结果。再如文献[9]介绍的一种新的软件开发过程模型,是综合运用瀑布模型和构件组装模型的结果。再如文献[10]介绍的一种新的软件开发过程模型,是综合运用构件组装模型和并行过程模型的结果。
  第二,软件开发过程模型可以遵循新的思维方式去发展。
  现有的软件开发过程模型,每一个都体现出各自不同的思维方式,例如瀑布模型是所有采用线性思维方式模型的典型代表,快速原型化模型是所有采用反复循环迭代思维方式模型的典型代表。遵循新的思维方式去发展,就是说,新建立的软件开发过程模型应该是新的思维方式的体现,即按照新的想法去组织软件开发活动。例如XP模型(极限编程)就是按照新的思维方式去发展起来的。从Agent具有自主性、反应性、社会性等角度看,各种面向Agent的软件开发过程模型都是按照新的思维方式发展起来的。
  第三,软件开发过程模型可以借助新技术和新工具去发展。
  任何软件开发过程模型都是建立在一定的技术和工具基础之上,技术和工具的进步对软件开发过程模型的影响是巨大的,当新技术和新工具出现后,传统的开发方式势必要被改变,所以说新技术和新工具会推动软件开发过程模型更新发展。如构件组装模型、基于体系结构的软件开发过程模型,就是在面向对象技术基础上发展起来的。再如RUP[12]模型,就是在UML这个开发工具基础上发展起来的。
  4 结束语
  软件开发过程模型的出现不是偶然的,它是软件开发活动到达一定程度后的必然结果。软件开发活动的多样性,决定了软件开发过程模型在形式上的多样性。每一个软件开发过程模型都有不同于其它模型的特点,这个特点体现了需要被解决的某一类问题所具有的特殊性。人的思维在发展,开发技术和工具在发展,推动着软件开发过程模型更新发展。在目前的基础上,研究软件开发过程模型的发展问题,对于提高软件开发的质量和效率具有重要的意义。

电气设备状态检测的意义与环节论文冶金行业为各行各业的发展提供原材料,其行业本身具有技术性高工艺复杂的特点,其对于控制系统的各项性能(系统的响应速度设备可靠性等)也有较高的要求。包括检测技术控制技术执行机构技术以及地方财政部门创新资产管理措施分析论文摘要资产管理是推动经济和公共事业发展的重要前提条件,就当前地方财政部门的资产管理情况来看,仍然存在着很多弊端,有碍经济发展。而随着财政改革的全面推进,资产管理也越来越被财务人员所重大学生创业课论文未来国际社会的竞争是高科技的竞争,同时也是人才的竞争,因此我国必须发展创新型的知识经济,培养创新型的人才。本文就来分享一篇大学生创业课论文,希望对大家能有所帮助!第一篇90后大学生马克思货币资本理论的主要内容与当代价值论文马克思的货币资本理论是马克思经济理论体系的重要组成部分,是对市场经济体制科学而又独特的认识,具有深刻的内涵。随着资本主义制度的发展和市场经济制度的全面建立,金融日渐成为现代经济的核教师愿景对教师发展的作用及可的负面影响论文教师愿景包括教师对自己工作的愿景对教学的愿景和对自己学生的发展愿景等几个方面。科学良好的教师愿景可以促进教师和学生乃至整个教育事业的发展和进步。鉴于此,我们要努力研究关于教师愿景的青年教师语文阅读教学论文摘要在传统的语文教学中,通常只要学生在掌握词句的基础上,能弄清文章的表达顺序,体会作者的思想感情,初步知道文章的表达方法就可以了。我认为,在阅读教学中,教师要激发学生读书兴趣,培养论文网络伦理现状与前景内容提要本文将产生在计算机网络中的伦理现象伦理问题作为考察对象,对网络伦理研究的必要性和当前的一些重要研究成果及研究趋向进行了论述和分析。并结合实际,指出现有网络伦理规范中存在的诸天然气营销对策的研讨论文摘要从整个天然气产业链上看,天然气价格可由三部分组成,即井口价格管输价格和终端市场价格。我国的天然气处于发展初期,天然气的开发利用程度远远落后于世界发达国家,而制约其发展的一个关键试谈培养小学数学动手能力的路径论文教师在指导学生进行解题时,要学会分析优秀题库,不断开阔学生的视野,从而实现解题能力的提升,举例来说班级举行活动,共有45名同学参加,其中,42名玩碰碰车,10名玩过山车,2名迟到,体育游戏在幼儿教学的作用论文一体育游戏在幼儿教学中的作用1。有利于提升幼儿身体素质。体育游戏本身就是锻炼和提高幼儿身体素质的最好方式。体育游戏可以加强幼儿的身体循环,促进新陈代谢,有效调节身体的各项机能,使幼能力导向型软件工程课程研究论文1能力导向培养的重要性随着知识经济及信息产业的快速发展,信息产业已经成为推动国家经济发展的主导产业,其中的软件产业年均增长率达38,对信息产业和国民经济的发展起着重要的支撑作用。同
果蔬农产品应急物流体系优化研究随着人们生活水平的提高,对新鲜水果和蔬菜类农产品的需求逐渐增大,果蔬成为人们每天必不可少的食物,为了满足人们的需要,果蔬农产品物流得到了较快发展。由于果蔬农产品的生长和运输受区域气咸宁市构建农产品物流网络营销体系的对策探究咸宁市绿色生态得天独厚,具有中国桂花之乡中国苎麻之乡中国茶叶之乡中国楠竹之乡等美誉。农产品借助互联网平台发挥其在分销渠道中的优势,找到营销环境中的新机会点,从而实现企业传统营销模式贵州生态农业体系发展路径探析贵州是全国唯一没有平原支撑的内陆山区省份,国土面积中山地丘陵占92。5,喀斯特岩溶出露面积占61。2,是西南喀斯特生态脆弱区中心。贵州农业发展面临着耕地坡度大土层浅薄肥力较低水土保延安市生态农业建设中粮食增产技术体系研究1延安生态农业建设的现状目前,延安地区的沟壑面积约占总土地面积的39,面积广大的沟壑,既是水土流失的主要源头,同时广阔的土地面积也意味着丰富的农田耕作资源。据统计,延安地区的沟壑耕探讨科研经费的管理写论文很多都设计到专业知识,格式还有要求,从初稿到定稿,都需要有指导老师的指导,写论文就好像在做一件大事,只能细心的去对待,才能一次性的通过。以下是由品学网范文大全为大家整理的探讨关于英国疑欧主义的探究分析英国首相卡梅伦宣布将于2016年6月23日就是否留在欧盟举行全民公投(简称脱欧公投),公投结果具有法律效力,将最终决定英国是否离开欧盟。近些年来,英国国内的疑欧情绪普遍上扬,朝野就探究加减乘除对辽宁包装业的影响辽宁作为国家的老工业基地,从2003年起,乘着中央振兴东北老工业基地国策的东风,实现了快速发展,2013年经济总量突破2。7万亿元,年均增长12。5,公共财政预算收入年均增长21。农产品质量检测中无损检测技术的发展研究随着全球经济一体化进程的发展,我国各个领域都已经出现了国际化的趋势,在农产品行业也是如此,所以相应地,农产品的质量也就被提出了更高的要求。旧有的产品质量检测技术已经无法适应当前时代加强农药监管保障农产品质量安全新修订的农药管理条例(以下简称新条例)已于2017年6月1日起施行。新条例立足农药管理工作实际情况,针对当前存在的问题,顺应行政体制改革和行业发展要求,对农药管理的体制制度措施等进新经济环境下企业资金管理工作思考论文摘要随着市场经济的迅猛发展,企业在资金管理工作上也需要作出相应的调整。企业的发展与内部的管理工作有着密切的联系,资金管理作为企业运行的核心工作,需要引起企业管理者的足够重视。在新经专家农民手拉手生态农业创品牌在中国林科院专家的指导下,我们村流转出去的土地全部都种上了核桃。现在,我们夫妻俩在收取土地流转费的同时,还可以在园区打工,挣双份收入。8月12日,在凉山州德昌县王所镇响地村,贫困村