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

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

  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 结束语
  软件开发过程模型的出现不是偶然的,它是软件开发活动到达一定程度后的必然结果。软件开发活动的多样性,决定了软件开发过程模型在形式上的多样性。每一个软件开发过程模型都有不同于其它模型的特点,这个特点体现了需要被解决的某一类问题所具有的特殊性。人的思维在发展,开发技术和工具在发展,推动着软件开发过程模型更新发展。在目前的基础上,研究软件开发过程模型的发展问题,对于提高软件开发的质量和效率具有重要的意义。

浅谈医学图书馆嵌入临床循证医学信息服务模式构建循证医学信息服务是指作为服务主体的医学图书馆临床医学馆员面向临床医师循证医学实践而提供所需信息的服务。模式意指某种事物的标准形式或可以使人照着做的标准,实质是指解决某类问题的方法论浅谈临床医学专业建设实践与认证体会2001年6月,世界医学教育联合会(WFME)公布本科医学教育国际标准,全球共有91个国家依据此标准建立了国家级医学教育认证体系。2008年教育部卫生部联合颁发本科医学教育标准临床临床医学教师双重角色定位的冲突探究与化解研究我国医学教育肩负着适应医学模式转变培养高素质医学人才和促进卫生事业发展的重任,临床医学教师是医学教育的中坚力量,然而临床医学教师既是医务工作者又是教学工作者的双重角色使得他们面临着研究分析临床医学专业学位研究生培养与住院医师规范化培训并轨长效机制1国内外培养与培训情况分析临床医学不仅要求学生掌握扎实的医学理论知识,更重要的是培养其临床思维与实践能力,临床医学专业学位研究生的培养更是如此。然而,在我国传统的研究生培养中,仍存研究分析临床医学(53一体化)专业学生骨科临床实习带教模式2015年,教育部将七年制临床医学专业调整为临床医学(53一体化)专业,即5年本科阶段合格者直接进入本校接受与住院医师规范化培训有机衔接的3年临床医学硕士专业学位研究生教育。人才培研究分析地方院校医学本科生临床技能培训需求临床医学五年制本科教育的培养目标是培养临床医学应用型人才,临床技能是指解决病人问题的能力。医学生应具备的临床技能内涵广泛,世界卫生组织专家委员会认为临床技能的项目包括采集书写病史的微信新媒体在临床医学英语教学中的合理应用思考医学院校学生科室轮转实习时间安排得非常紧凑,因此,临床医学英语的学习时间非常有限,显得捉襟见肘,且学习过程相对枯燥乏味,传统死记硬背和机械式教学训练方法收效不甚明显。目前,随着网络辉南县庆阳镇提升农村公共卫生质量辉南县庆阳镇提升农村公共卫生质量辉南县庆阳镇积极推进农村公共卫生工作,扩大服务面,提高基础设施建设水平。筹措资金争取项目,投资10万元,提升镇级卫生院服务水平。解决卫生院楼体陈旧和综合医院公共卫生管理探究综合医院公共卫生管理探究随着社会进步与经济的发展,人们对健康需求不断提高,医院在公共卫生中的作用突显出来。因此,做好综合医院的公共卫生管理工作是有着重大而深远的意义。1。综合性医院我国环境侵权社会化救济制度的分析与研究1环境侵权社会化救济内涵随着工业化程度的不断加剧,工商业发展所引发的社会问题早已逐步显现,其中受影响最深刻的就是环境。环境问题的日益严重使得人们不得不对环境救济问题进行重新认识与深加强我国农村食品安全监管的法律对策的分析与研究民以食为天,农村已经构成我国最大的食品流通市场,农民是我国最大的食品消费群体。随着农村食品安全事件的不断发生,政府加强农村食品安全监管刻不容缓。一我国当前农村食品安全现状对我国食品
分享本科毕业论文评分标准毕业论文是指高等学校(或某些专业)为对本科学生集中进行科学研究训练而要求学生在毕业前撰写的论文。下面是关于分享本科毕业论文评分标准的内容,欢迎阅读!本科毕业论文是本科生完成学业证明理学本科生毕业优秀论文改革开放以来,我国化学工业发展呈日新月异的态势,总体发展速度水平超过历史上任何一个时期。尤其是九五的前三年,我国化学工业的发展经受了国内外经济环境和化工产品市场急剧变化的冲击,接下技能训练课高中的地理论文一切实高效的课堂教学模式是提高教学有效性的基本保障通过长时间的摸索,针对我校学生实际,我对技能训练课的教学模式总结如下(1)旧知梳理。先进行知识点的梳理提问在反复中让学生重新熟悉主合格的心理学毕业论文如何写每个毕业生都要写一份毕业论文,这是不了避免的事,今天小编就为大家介绍合格的心理学毕业论文如何写吧。选好主题。选择自己熟悉的感兴趣的擅长的主题,优势在于自己本身就有丰富的理论或实操经浅谈道德教育中的价值主体性论文摘要提要道德教育存在价值取向问题。道德教育价值取向的主体性就是强调教育对象的能动性对达成道德教育的效果的重要作用。与此相应的极其重要的问题是强调主体性价值取向的道德教育的教学者在其浅析系统科学下的工业产品设计观论文摘要系统科学作为现代的科学方法论,极大地改变人类的思维方式。工业产品作为一个复杂的系统,需要以系统科学的理论来研究。系统科学从不同的角度对工业产品系统进行剖析,对工业产品设计具有一试论西游记中玉帝执法的严明与糊涂的论文摘要玉帝是神,是人们理想的化身。千百年来,人人景仰,个个敬畏。其实,人有糊涂的时候,神也有糊涂的时候。是信人还是信神?在社会高速发展的今天,我们无论是对人,还是对神,都应该有个清醒珠宝玉石设计理念分析论文1回归自然的设计理念有些设计追求原生态事物的真实状态,例如做出枯叶卷曲的状态,以体现其脆弱和柔美。这是一种对大自然的美的重现和保存,虽说是单纯的模仿,但是由于注入了设计师的理解和感以茅盾与节本红楼梦为题的红学论文茅盾与节本红楼梦古耜在很多时候,特别是在文学高手的笔下,琐屑的故事往往就充注着写实精神与社会意义,前者是后者的载体,删掉了前者,后者也就不复存在。茅盾先生并非专门的红学家,但在红学关于红楼梦悲剧精神的新境界论文摘要在中国文学历史上,红楼梦有着不可动摇的地位。因为,红楼梦不仅继承了中国数千年来的悲剧文化,还对这种文化进行了创新,从而体现出了一种现实主义精神,进而展现出了现代的悲剧文化。因此红楼梦中林黛玉的性格形成因素分析论文摘要红楼梦为我国的四大名著之一,在我国的乃至世界文学上都有着很好高的文学成就,而林黛玉作为书中的主人公之一,具有着复杂的性格,本文就作品中林黛玉的复杂的性格进行梳理与分析,找到这种