第章软件工程原理与应用_第1页
第章软件工程原理与应用_第2页
第章软件工程原理与应用_第3页
第章软件工程原理与应用_第4页
第章软件工程原理与应用_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章软件生存周期2.1软件工程过程2.2软件生存周期2.3软件生存周期瀑布模型2.4软件生存周期原型模型2.5软件生存周期其他模型2.1软件工程过程2.1.1什么是软件工程过程

软件工程是一种层次化的技术。如图2.1所示

图2.1软件工程层次

软件过程定义了一组关键过程域,它们构成软件项目管理的基础,并规定了技术方法的采用、工程产品(模型、文档、数据、报告以及表格等)的产生、里程碑的建立、质量的管理以及适当的变更控制。2.1软件工程过程软件过程是软件生存期中的一系列相关软件工程活动的集合。每一个软件过程又是由一组工作任务、项目里程碑、软件工程产品和交付物以及质量保证(SQA)点等组成。一个软件过程可以用图2.2的形式来表示。

图2.2软件过程2.1软件工程过程2.1.2软件过程模型软件工程过程模型的选择基于项目和应用的特点、采用的方法和工具、要求的控制和需交付的产品.所有的软件开发都可以看成是一个问题循环解决过程,如图2.3所示。

其中包括四个截然不同的阶段:状态捕获、问题定义、技术开发和方案综合。状态捕获表示了事物的当前状态;问题定义标识了需要解决的特定问题;技术开发利用某些技术来解决问题;方案综合导出最终的结果(如文档、程序、数据、新的事务功能、新的产品)。2.1软件工程过程以上的问题循环解决过程可以用于软件工程的不同开发级别上。它可用于考虑整个应用系统的宏观级,也可用于建造程序构件的中间级,甚至还可用于源代码行级。因此,可以用分级几何表示来给出过程的理想化的视图。首先定义一个分级几何表示的模式,然后相继地在更小的规模上递归地应用分级几何表示:模式中嵌套模式。在图2.4中,问题循环解决过程的每一个阶段又包含一个同样的问题循环解决过程,该循环中每一个步骤中还可以再包含另一个问题循环解决过程。这样一直继续下去,直到某个合理的边界为止。对于软件来说,就是源代码行。

2.1软件工程过程图2.4问题循环解决过程中阶段嵌套阶段2.1软件工程过程2.1.3过程建造技术

为了使得软件过程模型适合于软件项目组的使用,需要开发一些过程技术工具,以帮助软件开发组织分析它们当前的过程,组织工作任务,控制和监控进度,管理技术质量。使用过程技术工具,可以建造一个自动模型,模型包含前面提到的公共过程框架、任务集合及保护伞活动。该模型一般表示成一个网络,对其加以分析,就能够确定典型的工作流程,考察可能导致减少开发时间、降低开发成本的可选的过程结构。一旦创建了一个可接受的过程,就可以使用其他过程技术工具来分配、监视、甚至控制在软件过程模型中定义的所有软件工程任务。软件项目组的每一个成员都可以使用这样的工具来开发检查表,列出所有将要执行的工作任务、将要产生的工作产品和将要实施的软件质量保证活动。2.2软件生存周期如同任何事物一样,软件也有一个孕育、诞生、成长、成熟、衰亡的生存过程。软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件生存周期。根据这一思想我们可以得到软件生存周期的三个时期:软件定义、软件开发、软件使用与维护,如图2.5所示。图2.5软件生存周期

2.2软件生存周期2.2.1软件定义

软件定义可分为软件系统的可行性研究和需求分析两个阶段:软件系统的可行性研究可行性研究的任务是了解用户要求和现实环境,从技术、经济、市场等方面研究并论证开发该软件系统的可行性。即这个软件系统是否值得开发,是否有可行的技术去开发。系统分析员一般需通过以下途径完成此阶段的任务:调查和了解用户要求和现实环境。撰写调查报告。可行性论证和分析(技术可行性、操作可行性和经济可行性)如可行,制定初步项目开发计划(成本估算、人员组织、进度安排等)。

2.2软件生存周期需求分析这个阶段的任务主要是确定待开发软件的功能需求、性能需求和运行环境约束、编制软件需求规格说明、软件系统的确认测试准则和用户手册概要。软件的功能需求应该指明软件必须完成的功能。软件的性能需求包括:软件的安全性、可靠性、可维护性、精度、错误处理、适应性及用户培训等。软件系统的运行环境约束指软件系统必须满足的运行环境方面(硬件环境、系统平台)的要求。

2.2软软件件生存存周期期软件需需求分分析不不仅是是软件件开发发依据据,而而且也也是软软件验验收的的标准准。系统需需求一一般由由用户户提出出。由由于用用户往往往缺缺乏软软件开开发的的知识识和经经验,,系统统分析析员和和软件件开发发人员员不得得不与与用户户反复复讨论论、协协商、、使用用户需需求逐逐步精精确化化、一一致化化、完完全化化。需求分分析的的一项项重要要任务务是建建立面面向开开发者者的软软件需需求规规格说说明((SoftwareRequirementsSpecification,简称称SRS)。多多数场场合面面向开开发者者的软软件需需求用用需求求规格格说明明语言言描述述。SRS应该指指明软软件系系统的的功能能需求求、性性能需需求、、接口口需求求、设设计需需求、、基本本结构构,以以及开开发标标准和和验收收原则则,等等等。。SRS是软件件开发发的基基础,,建立立SRS是软件件开发发成败败的关关键。。2.2软软件件生存存周期期软件开开发在软件件生存存周期期模型型中,,软件件开发发由概概要设设计、、详细细设计计、实实现、、集成成测试试和确确认测测试五五个阶阶段组组成。。概要设设计概要设设计的的任务务是根根据软软件需需求规规格说说明((SRS)建立立软件件系统统的总总体结结构和和模块块间的的关系系,定定义各各功能能模块块的接接口,,设计计全局局数据据库或或数据据结构构,规规定设设计约约束,,制定定组装装测试试计划划。对对于大大型软软件系系统,,应对对软件件需求求进行行分解解,将将其划划分为为若干干个子子系统统,对对每个个子系系统定定义功功能模模块和和各功功能模模块之之间的的关系系,并并给出出各子子系统统接口口界面面的定定义;;对于于一般般的软软件系系统可可以直直接定定义各各功能能模块块以及及它们们之间间的关关系概要设设计应应提供供概要要设计计说明明书、、数据据库或或数据据结构构设计计说明明书、、组装装测试试计划划等文文件。。2.2软软件件生存存周期期详细设设计详细设设计的的任务务是对对概要要设计计产生生的功功能模模块逐逐步细细化,,形成成若干干个可可编程程的程程序模模块,,用某某种过过程设设计语语言((ProcedureDesignLanguage)设设计计程程序序模模块块的的内内部部细细节节,,包包括括算算法法、、数数据据结结构构和和各各程程序序模模块块之之间间的的详详细细接接口口信信息息,,为为编编写写源源代代码码提提供供必必要要的的说说明明,,建建立立““模模块块开开发发卷卷宗宗””,,拟拟定定模模块块测测试试方方案案。。详细细设设计计需需根根据据软软件件需需求求规规格格说说明明((SRS)和和概概要要设设计计的的结结果果进进行行,,可可以以选选用用的的方方法法和和工工具具是是比比较较多多的的,,如如结结构构化化的的设设计计方方法法、、面面向向对对象象的的设设计计等等方方法法和和RationaRose、VisualModel及MicrosoftVisio等工工具具。。软软件件开开发发人人员员可可以以根根据据实实际际情情况况选选用用适适当当的的方方法法和和工工具具。。详详细细设设计计应应该该遵遵循循的的原原则则是是::设设计计应应与与软软件件需需求求保保持持一一致致,,设设计计的的软软件件结结构构应应支支持持模模块块化化、、信信息息隐隐藏藏等等。。详细细设设计计应应该该提提供供详详细细设设计计规规格格说说明明书书和和单单元元测测试试计计划划。。2.2软软件件生生存存周周期期实现现实现现的的主主要要任任务务是是,,根根据据详详细细设设计计文文档档将将详详细细设设计计转转化化为为所所要要求求的的编编程程语语言言或或数数据据库库语语言言的的程程序序,,并并对对这这些些程程序序进进行行调调试试和和程程序序单单元元测测试试,,验验证证程程序序模模块块接接口口与与详详细细设设计计文文档档的的一一致致性性。。集成成测测试试集成成测测试试的的任任务务是是根根据据概概要要设设计计各各功功能能模模块块的的说说明明及及制制定定的的集集成成测测试试计计划划,,将将经经过过单单元元测测试试的的模模块块逐逐步步进进行行集集成成和和测测试试。。集集成成测测试试应应对对系系统统各各模模块块间间的的连连接接正正确确性性进进行行测测试试;;测测试试软软件件系系统统或或子子系系统统的的输输入入//输输出出处处理理是是否否达达到到设设计计要要求求;;测测试试软软件件系系统统或或子子系系统统正正确确处处理理能能力力和和承承受受错错误误的的能能力力等等。。通过集成成测试的的软件应应生成满满足概要要设计要要求、可可运行的的系统源源程序清清单和集集成测试试报告。2.2软软件件生存周周期确认测试试确认测试试的任务务是根据据软件需需求规格格说明定定义的全全部功能能和性能能要求及及软件确确认测试试计划对对软件系系统进行行测试,,测试系系统是否否达到了了系统需需求或是是否满足足用户的的需求。。确认测试试应有客客户参加加,以软软件需求求规格说说明书为为依据,,使用专专用的测测试工具具进行确确认测试试。为验验证软件件产品是是否满足足软件需需求规格格说明的的要求,,必须按按照测试试计划的的要求编编制大量量的测试试用例、、采用多多种方法法和工具具、组织织专门的的测试队队伍并严严格组织织实施。。确认测试试阶段应应向用户户提交最最终的用用户手册册、操作作手册、、源程序序清单及及其他软软件文档档。确认认测试结结束时应应生成确确认测试试报告、、项目开开发总结结报告。。2.2软软件件生存周周期软件使用用、维护护和退役役软件的使使用将软件安安装在用用户确定定的运行行环境中中,测试试通过后后移交用用户使用用。软件件的使用用是软件件发挥社社会和经经济效益益的重要要阶段。。由于软软件是逻逻辑产品品,软件件发行的的份数越越多,软软件的社社会和经经济效益益越显著著。因此此应大力力推广软软件的使使用。软软件在使使用过程程中客户户或维护护人员必必须认真真收集被被发现的的软件错错误,定定期或阶阶段性地地撰写““软件问问题报告告”和““软件修修改报告告”。软件的维维护当发现软软件产品品中的潜潜伏错误误,或用用户提出出要对软软件需求求进行修修改,或或软件运运行环境境发生变变化时,,都需要要对软件件进行维维护。软软件维护护不仅针针对程序序代码,,而且还还针对软软件定义义、开发发的各个个阶段生生成的文文档.软软件在设设计阶段段很难预预料到这这个软件件交给谁谁,在什什么时候候进行什什么样的的维护工工作。2.2软软件件生存周周期软件维护护的依据据只能靠靠软件文文档和有有关的设设计信息息。这样样,软件件维护人人员不得得不花费费大量的的劳动,,用于软软件系统统的再分分析和对对软件信信息的理理解。软软件的维维护直接接影响软软件的应应用和软软件的生生存期,,而软件件的可维维护性又又与软件件的设计计密切相相关,因因此软件件在开发发过程中中应该重重视对软软件可维维护性的的支持。。软件的退退役软件的退退役是软软件生存存周期中中的最后后一个阶阶段,即即终止对对软件产产品的支支持,停停止使用用该软件件。2.3软软件件生存周周期瀑布布模型瀑布(waterfallmodel)模型也也称软件件生存周周期模型型(如图图2.6所示),,由W.Royce于1970年首先提提出。根根据软件件生存周周期各个个阶段的的任务,,瀑布模模型从可可行性研研究(或或称系统统分析))开始,,逐步进进行阶段段性变换换,直至至通过确确认测试试并得到到用户确确认的软软件产品品为止。。瀑布模模型上一一阶段的的变换结结果是下下一阶段段变换的的输入,,相邻两两个阶段段具有因因果关系系,紧密密相联。。一个阶阶段工作作的失误误将蔓延延到以后后的各个个阶段。。为了保保障软件件开发的的正确性性,每一一阶段任任务完成成后,都都必须对对它的阶阶段性产产品进行行评审,,确认之之后再转转入下一一阶段的的工作。。评审过过程发现现错误和和疏漏后后,应该该反馈到到前面的的有关阶阶段修正正错误、、弥补疏疏漏,然然后再重重复前面面的工作作,直至至某一阶阶段通过过评审后后再进入入下一阶阶段。瀑布模型型在软件件工程中中占有重重要的地地位,它它提供了了软件开开发的基基本框架架,它有有利于大大型软件件开发过过程中人人员的组组织、管管理,有有利于软软件开发发方法和和工具的的研究与与使用,,从而提提高了大大型软件件项目开开发的质质量和效效率。2.3软软件件生存周周期瀑布布模型图2.6软件生生存周周期的的瀑布布模型型2.3软软件件生存存周期期瀑布布模型型瀑布模模型的的主要要缺点点如下下:在软件件开发发的初初始阶阶段指指明软软件系系统的的全部部需求求是困困难的的,有有时甚甚至是是不现现实的的。而而瀑布布模型型在需需求分分析阶阶段要要求客客户和和系统统分析析员必必须做做到这这一点点才能能开展展后续续阶段段的工工作。。需求确确定后后,用用户和和软件件项目目负责责人要要等相相当长长的时时间((经过过设计计、实实现、、测试试、运运行))才能能得到到一份份软件件的最最初版版本。。如果果用户户对这这个软软件提提出比比较大大的修修改意意见,,那么么整个个软件件项目目将会会蒙受受巨大大的人人力、、财力力和时时间方方面的的损失失。瀑瀑布模模型的的应用用有一一定的的局限限性。。2.4软件生生存周周期原原型模模型由于在在软件件开发发的初初始阶阶段人人们对对软件件的需需求认认识常常常不不够清清晰,,因而而使得得所开开发的的软件件项目目难于于做到到一次次性开开发成成功,,出现现返工工再开开发在在所难难免,,这样样会造造成软软件开开发进进度的的延长长、开开发成成本的的上升升。因因此,,我们们可以以先做做试验验开发发,其其目标标只是是在于于探索索可行行性,,弄清清软件件需求求,然然后在在此基基础上上获得得较为为满意意的软软件产产品。。通常常我们们把第第一次次得到到的试试验性性产品品称为为“原原型””。软件开开发人人员根根据客客户提提出的的软件件定义义,快快速地地开发发一个个原型型,它它向客客户展展示了了待开开发软软件系系统的的全部部或部部分功功能和和性能能,在在征求求客户户对原原型意意见的的过程程中,,进一一步修修改、、完善善、确确认软软件系系统的的需求求并达达到一一致的的理解解。2.4软件生生存周周期原原型模模型快速开开发原原型的的途径径有三三种::利用个个人计计算机机模拟拟软件件系统统的人人机界界面和和人机机交互互方式式。开发一一个工工作原原型,,实现现软件件系统统的部部分功功能,,而这这部分分功能能是重重要的的,也也可能能是容容易产产生误误解的的。找来一一个或或几个个正在在运行行的类类似软软件,,利用用这些些软件件向客客户展展示软软件需需求中中的部部分或或全部部功能能。为了快快速开开发原原型,,要尽尽量采采用软软件重重用技技术,,在算算法的的时//空开开销方方面也也可以以让步步,以以便争争取时时间,,尽快快向客客户提提供原原型。。原型型应充充分展展示软软件的的可见见部分分,如如数据据的输输入方方式、、人机机界面面、数数据的的输出出格式式等。。由于于原型型是客客户和和软件件开发发人员员共同同设计计和评评审的的,因因此利利用原原型能能统一一客户户和软软件开开发人人员对对软件件项目目需求求的理理解,,有助助于需需求的的定义义和确确认。。原型型开发发模型型如图图2.7所示。。利用用原型型定义义和确确认软软件需需求之之后,,就可可以对对软件件系统统进行行设计计、编编码、、测试试和维维护。。2.4软件生生存周周期原原型模模型图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论