《2章过程.pptVIP

  • 2
  • 0
  • 约1万字
  • 约 41页
  • 2016-12-31 发布于北京
  • 举报
第二章 软件过程 概要 理解软件开发过程 软件过程模型 CMM(能力成熟度模型)——对过程质量的评估和改进的方法 2.1 理解软件过程 2.1.1 软件过程的定义 软件过程的定义 软件过程是一个为建造高质量软件所需要完成的任务的框架 ——R.Pressman 软件过程是对产生软件产品的互相连贯的一组活动极其结果的描述 ——I.Sommerville 2.1.1 软件过程的定义 软件过程是指制作软件产品的一组活动及其结果。这些活动主要由软件工程人员完成。所有的软件过程都包含四项基本的活动: 1、软件描述 必须定义软件功能以及对其使用的限制。现在常称为需求工程。有四个主要的阶段:可行性研究、需求导出和分析、需求描述、需求有效性验证。 2、软件设计和实现 必须制作出满足描述的软件。 3、软件有效性验证 软件必须经过验证以保证能够满足客户要求。 4、软件进化 软件必须随客户需求的变化不断改进。 2.1.2 过程告诉我们什么 软件开发要干哪些事——活动 每件事怎么算干完了——阶段产品 什么事先干、什么事后干——活动关系 事实上软件过程代表了一种将无序的软件开发活动进行有序化安排的企图。 ——R.Pressman (1) 主要活动和阶段产品 通常情况下,软件开发过程包括如下基本活动 需求分析:需求规格说明书 确定并规范化的表示对目标系统的要求 系统设计(总体设计):系统体系结构设计方案 确定组成系统的“程序部件”——模块及相互协作的关系。 程序设计(详细设计):详细设计说明书 确定每个模块的实现细节(算法、参数、数据结构) 程序实现:可执行程序单元和程序文档 开发或购买所需要的模块 测试与集成:测试报告和可执行系统 验证模块和组装后的目标系统的正确性 系统发布与维护 确保系统能有效应用的相关工作(安装、配置、人员培训、维护等等) 需求规格模板 a. 引言 a.1 目的 a.2 文档约定 a.3 预期的读者和阅读建议 a.4 产品范围 a.5 参考文献 b. 综合描述 b.1 产品的前景 b.2 产品的功能 b.3 用户类和特征 b.4 运行环境 b.5 设计和实现上的限制 b.6 假设和依赖 需求规格模板 c. 外部接口需求 c.1 用户界面 c.2 硬件接口 c.3 软件接口 c.4 通信接口 d. 系统特性 d.1 说明和优先级 d.2 激励/响应序列 d.3 功能需求 需求规格模板 e. 其他非功能需求 e.1 性能需求 e.2 安全设施需求 e.3 安全性需求 e.4 软件质量属性 e.5 业务规则 e.6 用户文档 f. 其他需求 附录A 词汇表 附录B 分析模型 附录C 待确定问题的列表 2.1.3 建立软件过程的意义 对软件的生产进行了结构化分解 符合工业化生产“精细分工”的原则,有助于提高生产效率。 便于将管理、估算、度量、质量保证等工程管理手段实施在“粒度”更小的过程活动上,进而保证效果和准确性。 过程的稳定性保证了开发经验的积累和传递 完整、合理的软件过程是取得软件开发成功的基础——“好的过程必然导致好的结果”。 2.2 软件过程模型 2.2.1什么是过程模型 过程模型是以一个特定角度对某种软件过程的简化表示,通常我们可以为软件过程建立 工作流模型——活动次序 描述软件过程中各种活动的序列、输入输出、约束和相互依赖性 数据流模型——阶段产品 将软件过程描述成一组活动,以及活动如何完成一次产品形态的变换,重点在于体现出阶段产品和最终产品是如何产生的。 角色/动作模型——活动承担者 描述参与软件过程的人的不同角色及负责的活动,体现出软件过程中的人员分工和组织。 例子:角色动作模型 2.2.2 通用过程模型 通用过程模型有时又叫过程范型,是在软件工程的实践中被总结出来的,并被广泛接受和使用的软件过程。 典型的通用过程模型: 瀑布模型——传统 迭代式开发模型 基于构件的软件开发模型 2.2.3 瀑布/线性模型 (1) 瀑布模型的特点 瀑布模型借鉴了制造行业“流水线生产”的思想,是在软件工程历史上最早也是影响最广泛的一个过程模型 按线性关系组织过程活动,强调活动执行次序的单向性和活动之间的相邻依赖性 焦点是文档和交付产品,每个活动在结束点上必须交付规定的文档和阶段产品;并完成质量审查,才能转移到下一个活动。 体现了推迟实现的观点。 (2) 瀑布模型的问题 瀑布模型对过程活动的组织过于理想化,忽略了软件开发相对于生产有形产品的特殊性。 对问题和解决方案的理解在开发过程中不断深化,因此过程活动之间必然存在一定的重叠和反复。 后期活动对前期活

文档评论(0)

1亿VIP精品文档

相关文档