- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.1 软件过程概述 软件过程具有以下一些特征: (1) 过程描述了所有的主要活动。 (2) 过程在一定限制下使用资源、产生中间和最终的产品。 (3) 过程由以某种方式连接的子过程构成,活动以一定的顺序组织。 (4) 每个过程活动都有入口和出口准则以便确立活动的开始和结束。 (5) 每个过程都有达到活动目标的相关指导原则。 软件过程可概括为三类:基本过程类、支持过程类和组织过程类。 基本过程类包括需求获取和定义过程、设计过程、实现过程、验证过程和维护过程;支持过程类包括文档过程、配置管理过程、质量保证过程、联合评审过程、审计过程等;组织过程类包括基础设施过程、改进过程以及培训过程。 2.2 软件过程模型 软件开发过程也被称作为软件生命周期,因为它描述了一个软件产品从建立概念到实现、交付、使用、维护的过程。 软件过程模型是对软件开发过程的抽象描述。模型一般来说是对实际过程的简化,过程模型通常包括软件活动、软件产品和人员的角色等。尽管从不同的角度可以构造很多不同的软件过程模型,但一般来说,有一些通用的软件开发模式和模型。 2.2.1 瀑布模型 瀑布模型是被广泛认可的第一个软件工程模型。在模型中,过程的主要活动按需求分析和定义、系统和软件设计、编码和单元测试、集成和系统测试、运行和维护几个阶段顺序展开,瀑布模型的这几个活动阶段与软件生存期相吻合,模型示意如图2.1所示。 图2.1 瀑布模型 1.需求分析和定义 需求分析和定义阶段着重回答“软件要解决什么问题?”。这个阶段,通过咨询用户和与用户商讨准确地分析和定义系统的功能、限制和目标,分析和定义的结果被详细地用需求规格说明来描述。需求分析和定义是软件过程的早期阶段活动,若需求定义不准确将会造成所交付的软件存在严重的问题,并会为软件的修改付出很大的代价。 2.系统和软件设计 设计阶段需要回答“系统应该如何实现?”这个问题,因此设计阶段主要是要根据需求划分系统的组件,包括建立系统总体结构(又称为概要设计或初步设计)和确立构成系统的组件的细节(又称详细设计)。 3.编码和单元测试 编码和单元测试阶段又称为实现阶段。实现阶段通过采用适合的程序设计语言,编码完成软件的设计,形成系统的程序集合。单元模块的测试通常在本阶段内完成。 4.集成和系统测试 这个阶段对已通过单元测试的程序单元进行集成和测试,以保证整个系统可以满足用户的需求。在测试完成后系统可以被交付给用户。 5.运行和维护 软件交付后并不意味着开发机构完成了所有的开发任务,一般来说,运行和维护是软件生存期中最长的一个阶段。软件的本质特性决定了软件交付后不可避免地会遭遇变更,维护涉及对未被发现的错误的纠正和对用户提出的新需求的完善。 2.2.2 演化式开发模型 很多时候,软件开发的初期并不能准确、全面地发掘出软件的需求,软件的开发只能从并非准确的需求描述开始。演化式开发的主要思想是:首先经过概要的分析构建一个初始的系统(原型),将原型提交给用户评价,根据反馈信息改进系统形成新的原型(中间系统),重复这个过程直至系统可以满足用户的需要而产生最终可交付的系统。图2.2为演化式开发模型。 图2.2 演化式开发模型 演化式开发过程中包含着并行的、循环的需求分析、开发和验证等活动。一般来说有两种类型的演化式开发过程,即探索式开发和抛弃式开发。 探索式开发:通过与用户一起工作,探索需求逐步开发直至交付一个最终的系统。通常开发从理解系统的部分需求开始,通过加入用户提出的新的需求不断改进系统。 抛弃式开发:主要目标是帮助更好地理解用户的需求和进行准确的需求定义。一旦系统真正的需求被确立,原型即被抛弃。通常适用于需求难以导出的项目。 2.2.3 形式化变换模型 某些安全性、可靠性要求很高的软件系统,可以采用形式转化模型来开发。在形式化变换模型中,开发过程实际上是一个数学变换过程,系统的需求定义是一个用数学语言描述的形式化定义,传统的设计、实现和单元测试过程被形式化变换过程所取代,软件的开发过程是通过一系列的数学变换将形式化的需求定义转换成可执行程序的过程。图2.3和图2.4反映了该过程。变换过程的每一步都会将形式化模型转换成更详细、更具体的数学表达直到转换成等价的程序。 图2.3 形式化开发过程 图2.4 形式化变换过程 2.2.4 面向复用的开发 面向复用的开发模型如图2.5所示。开发人员在确定需求的基础上,寻找可以符合要求的已有组件,这些组件可以是可购买到的通用组件,也可以是自身机构已开发成功的组件。之后应对获得的组件信息进行分析,在此基础上适当修改需求以适应组件,然后根据设计和选用的体系结构框架及选
您可能关注的文档
- (嵌入式Linux开发入门)第5章内核移植与编译.ppt
- (嵌入式Linux开发入门)第6章嵌入式Linux设备驱动程序的设计与实现.ppt
- (嵌入式实时操作系统uC OS-2教程)第1章嵌入式系统导论.ppt
- (嵌入式实时操作系统uC OS-2教程)第2章嵌入式操作系统中的基本概念.ppt
- (嵌入式实时操作系统uC OS-2教程)第3章任务管理.ppt
- (嵌入式实时操作系统uC OS-2教程)第4章中断处理与时间管理.ppt
- (嵌入式实时操作系统uC OS-2教程)第6章消息.ppt
- (嵌入式实时操作系统uC OS-2教程)第7章信号量与互斥信号量.ppt
- (嵌入式实时操作系统uC OS-2教程)第9章内存管理.ppt
- (嵌入式实时操作系统uC OS-2教程)第11章μCOS-Ⅱ几个版本的区别.ppt
文档评论(0)