版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章软件过程软件工程过程是为了获得高质量的软件而要完成的一系列任务的框架,它规定了完成每项任务的工作步骤。2.1软件生命周期的基本任务2.2瀑布模型2.3快速原型模型2.4增量模型2.5螺旋模型2.6喷泉模型,退出,2.1软件生命周期的基本任务一般来说,软件生命周期由三个阶段组成:软件定义、软件开发和运行维护,每个阶段又可以进一步分为几个阶段。以下是对上述阶段应完成的基本任务的简要介绍。1.问题定义问题定义阶段必须回答的关键问题是:“要解决的问题是什么?”。2.在可行性研究的这一阶段,需要回答的关键问题是:“对于前一阶段发现的问题,是否有可行的解决方案?”。3.在需求分析的这个阶段,任务仍然
2、不是具体地解决客户的问题,而是准确地回答“目标系统必须做什么”的问题。这个阶段的另一个重要任务是用正式的文档准确记录目标系统的需求,这通常被称为规范。大纲设计这一阶段的基本任务是回答“如何实现目标系统?”这个问题。概要设计也称为初步设计、逻辑设计、高层设计或总体设计。首先,我们应该设计几种可能的方案来实现目标系统。大纲设计的另一个主要任务是设计程序的体系结构,即确定程序由哪些模块组成以及模块之间的关系。5.在详细设计大纲设计阶段,以更抽象的方式提出问题的解决方案。详细设计阶段的任务是将解决方案具体化,即回答“如何具体实现该系统”这一关键问题。这个阶段的任务不是编写程序,而是设计程序的详细说明。
3、编码和单元测试阶段的关键任务是编写易于理解和维护的正确程序模块。7.综合测试这一阶段的关键任务是通过各种类型的测试(以及相应的调试),使软件满足预定的要求。软件维护的关键任务是通过各种必要的维护活动使系统永远满足用户的需求。通常有四种类型的维护活动:纠正性维护,即诊断和纠正使用过程中发现的软件错误;适应性维护,即修改软件以适应环境的变化;完善维护,即根据用户的要求改进或扩展软件,使其更加完善;预防性维护,即修改软件为将来的维护活动做准备。当实际从事软件开发时,规模、类型、开发环境和开发中使用的技术方法会影响阶段的划分。生命周期模型指定了生命周期被划分成哪些阶段以及每个阶段的执行顺序,因此它也被
4、称为过程模型。20世纪80年代以前,瀑布模型是唯一被广泛使用的生命周期模型,现在它仍然是软件工程中被最广泛使用的过程模型。图2.1展示了传统的瀑布模型。根据传统的瀑布模型开发软件具有以下特点。(1)阶段是连续的和相互依赖的;(2)延迟实现的思想明确区分了逻辑设计和物理设计,并尽可能地延迟程序的物理实现,这是按照瀑布模型开发软件的重要指导思想。图2.1传统瀑布模型(3)质量保证的观点规定的文件必须在每个阶段完成。未能移交合格文件意味着未能完成这一阶段的任务。完成的文件应在每个阶段结束前进行审查,以便尽快发现问题并纠正错误。实际的瀑布模型有一个“反馈回路”,如图2.2所示(图中的实线箭头表示开发过
5、程,虚线箭头表示维护过程)。当在后一阶段发现前一阶段的错误时,有必要沿着图中左侧的反馈线返回前一阶段,纠正前一阶段的产品,然后回来完成后一阶段的任务。图2.2实际瀑布模型2.3快速原型模型所谓的快速原型是一个可以在计算机上运行的快速建立的程序,它的功能通常是最终产品功能的子集。如图2.3所示(图中实线箭头表示开发过程,虚线箭头表示维护过程),快速原型模型的第一步是快速建立一个能够反映用户主要需求的原型系统,这样用户就可以在计算机上进行尝试,并通过实践得到目标系统的概述。通常,用户在试用原型系统后,会提出许多修改意见。开发人员根据用户的意见快速修改原型系统,然后要求用户再试一次。一旦用户认为原型
6、系统能够真正完成他们需要的工作,开发人员就可以根据它编写规范文档,根据这个文档开发的软件就可以满足用户的实际需求。2.3快速原型模型快速原型的本质是“快速”。开发人员应尽快建立原型系统,以加快软件开发过程,节约软件开发成本。原型的目的是了解用户的真实需求。一旦需求确定,原型将被丢弃。2.4增量模型,也称为增量模型,如图2.4所示。当使用增量模型开发软件时,软件产品被设计、编码、集成和测试为一系列增量组件。每个组件由多个交互模块组成,并且可以执行特定的功能。当使用增量模型时,第一个增量组件通常满足软件的基本要求并提供核心功能。图2.4增量模型、图2.5增量模型具有较大的风险、图2.5螺旋模型,软
7、件开发几乎总是要承担一定的风险,因此,在软件开发过程中,必须及时识别和分析风险,并采取适当的措施消除或减少风险的危害。螺旋模型的基本思想是使用原型和其他方法来最小化风险。理解这个模型的一个简单方法是将其视为一个快速原型模型,在每个阶段之前增加风险分析过程,如图2.6所示。完整的螺旋模型如图2.7所示。图中带箭头的虚线长度代表当前累计开发成本,螺旋旋转角度值代表开发进度。图2.6简化螺旋模型,图2.7完整螺旋模型,图2.6喷泉模型。迭代是软件开发中一个普遍的固有属性。经验表明,软件过程的每个阶段之间的迭代或者一个阶段中每个工作步骤之间的迭代在面向对象的范例中比在结构化范例中更常见。图2.8所示的
8、喷泉模型是一个典型的面向对象的生命周期模型。“喷泉”这个词体现了面向对象软件开发过程的迭代和无缝特性。在使用喷泉模型开发软件时,为了避免开发过程中的过度无序,应该将线性过程(例如,快速原型模型或图2.8中的中心垂直线)作为总体目标。然而,还应该记住,面向对象的范例本身需要频繁的迭代或者开发活动的改进。图2.8喷泉模型,概要,软件过程是为了获得高质量的软件产品而要完成的一系列任务的框架,它规定了完成每个任务的工作步骤。为了开发高质量的软件产品,软件过程必须科学合理。根据软件生命周期全过程中要完成的任务的性质,软件生命周期在概念上可以分为八个阶段:问题定义、可行性研究、需求分析、概要设计、详细设计
9、、编码和单元测试、综合测试和维护。在实际从事软件开发时,软件的规模、类型、开发环境和技术方法都影响着阶段的划分。因此,一个科学有效的软件过程应该定义一组适合所承担项目特征的任务。生命周期模型(即软件过程模型)规定了生命周期划分的阶段以及每个阶段的执行顺序。本章介绍了五种典型的软件生命周期模型。瀑布模型历史悠久,广为人知。它的优势在于它的标准和文档驱动的方法。这个模型的问题是最终交付的产品可能不是用户真正需要的。为了克服瀑布模型的缺点,提出了快速原型模型。它可以快速构建一个可行的原型系统,让用户尝试原型并收集用户反馈,从而得到用户的真实需求。增量模型在软件开发的早期阶段具有投资回报明显、易于维护的优点。然而,当使用这种模型来要求软件的开放结构时,这是一个固有的困难。风险驱动的螺旋模型适用于大规模的内部开发项目,但只有当开发人员具备风险分析和风险消除的经验和专业知识时,才能够成功地使用该模型。当使用面向对象的范式开发
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年老师教案资源
- 2025-2026学年小班音乐小毛驴教案
- 2025-2026学年拉丁舞舞蹈教学设计
- 2026年广东轻工职业技术学院单招职业技能考试题库附参考答案详解(综合卷)
- 2026年广东省潮州市单招职业适应性考试题库附参考答案详解(完整版)
- 外贸营销员诚信品质考核试卷含答案
- 小升初数学专项备考高频考点一轮复习系列之:植树问题(解析版)
- 2026年广西安全工程职业技术学院单招职业技能考试题库及答案详解1套
- 2026年山西省阳泉市单招职业适应性测试题库及答案详解(有一套)
- 2026年广东省云浮市单招职业倾向性考试题库含答案详解(培优b卷)
- 2026届吉林省长春二道区七校联考八年级物理第一学期期末学业水平测试试题含解析
- 江苏省水利工程单元工程施工质量验收常用表格(2025.6.18)
- 15 第十五章 DHCP技术
- 小学六年级税率及利率计算题
- 无纸化会议系统的介绍
- 依恋风格与情绪调节-洞察及研究
- 【专家共识】导管相关感染防控最佳护理实践
- DB44T 2627-2025 城市放射性地质调查技术规范
- 福建泉州第五中学2024~2025学年高一下册期中考试数学试题
- 诊疗科目各项管理制度
- 膈疝病人的麻醉管理
评论
0/150
提交评论