软件过程框架与软件过程模型.
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
13
主要的开发和支持过程
1、软件需求分析 任务:收集、分析、理解、确定用户的要求;然后把用户的要求精确、完 整地描述表达出来。 目的:要回答“要解决什么问题?”, 既系统“做什么?”。 输入:系统需求文档/问题陈述、本过程相关工作计划 步骤:可行性研究、需求分析、制定相关开发计划 输出:可行性报告、需求规范、下一过程开发计划 需求说明书是让用户理解:“什么是他们真正需要的”; 让开发者理解“什么是他们真正的开发目标”。
14
Review Item Discrepancy
15
2、软件设计
任务:给出实现系统的实施蓝图。 目的:要回答“如何解决该问题?”, 既系统“怎样做?”。 输入:软件需求规范、本过程相关计划 步骤: 概要设计:解决系统的子系统/模块划分、子系统/模块的 层次结构及数据库设计; 详细设计:解决每个模块/类内部算法和数据结构; 制定下一过程相关计划。 输出:体系结构设计说明书、详细设计说明书、下一过程相关 计划
9
公共软件过程框架
公共过程框架 技术性活动
任务集合
工作任务 里程碑、交付物 SQA(软件质量保证)点
支持性活动
10
一个公共过程框架,是通过定义若干框架活动来建立的,如果不 考虑其规模和复杂性,这些活动适用于所有软件项目。
任务集合——每一个集合都由软件工程工作任务、项目里程碑、 软件工程产品和交付物以及质量保证点组成——使得框架活动适应 于不同软件项目的特征和项目组的需求。
4
源自文库
如何定义软件开发活动? - 名称 - 任务 - 输入: 开始所必需满足的条件 - 输出: 完成时所必须满足的条件以及结果 - 实施: 做什么,怎么做(详细的步骤),或者如何从输入产生输出
输入
软件开发活动
输出
5
软件活动例子:
- 名字: 单元测试 - 任务 对软件基本单元模块进行测试,判断是否有错 - 输入 有一个已完成、被文档化和批准的软件单元测试计划 供测试的软件单元模块代码 - 实施 遵循单元测试计划,运行所有的测试用例 撰写单元测试报告 - 输出 单元测试报告
6
为什么需要软件过程?
- 明确了软件开发的过程和步骤,促进工程化软件开发 - 便于制定软件项目计划 - 为软件开发提供了可视性,便于对软件开发过程进行管理和控制 - 便于细化和安排任务,使得每个人员明确各自的工作
7
软件开发过程模型
软件开发过程模型 - 软件开发过程模型是软件开发全过程、软件开发活动以及它们之间 关系的结构框架 - 指导软件开发以及软件开发过程的定义 常用的软件开发过程模型 - 瀑布模型 - 原型模型 - 增量模型 - 迭代模型 - 螺旋模型
19
4、软件测试
任务:检查、发现程序中的错误,提高系统可靠性。 目的:保证系统的正确性、可靠性和可用性。 回答:“该系统是否能实现规定的操作?”。 输入:已经完成的代码、本过程相关的计划 步骤:集成测试、系统测试、确认测试 输出:测试报告和软件修改报告等。
20
5、软件维护
任务:改正软件系统在使用过程中发现的隐含错误,扩充在 使用过程中新的功能要求。 目的:维护软件系统的正常运行。 回答:系统是否满足用户的应用要求。 输入:问题报告 步骤:问题报告审批、问题修改、审核 输出:软件修改报告。
16
17
18
3、软件构造
任务:根据设计说明书中每个模块的控制流程编写出相应 的源程序。 目的:写出高质量的代码和相应的文档。 - 构造要注意使系统更易于使用和系统的可重用性。 - 选择合适的开发工具及系统软件、数据库软件、中间 件等。制定编程规范。 输入:软件设计文档、本过程相关计划 步骤:编程、单元测试、制定下一阶段相关计划、编制用 户文档 输出:源程序和相关文档、下一过程相关计划
软件开发活动的例子 - 需求分析 - 体系结构设计 开发活动的顺序例子 - 先做需求分析,然后再做体系结构设计 ……
3
在按任务性质,软件开发活动可分为二种形式 技术活动 - 对软件项目实施开发,产生软件产品 - 例如,需求分析,概要设计,编码,单元测试等等 管理活动 - 对软件项目中的人、产品和过程等实施管理的活动 - 例如,制订软件项目计划,软件配置等等
支持性活动——如软件质量保证,软件配置管理和测度,它们 贯穿于整个过程模型之中。支持性活动独立于任何一个框架活动, 且贯穿于整个过程。
11
管理性活动
- 软件项目跟踪和控制 允许项目组根据计划来评估项目进度,并且采取必要的措施保证项目按 进度计划进行。 - 风险管理 评估可能对项目成果或者产品质量产生影响的风险。 - 软件质量保证 确定和执行用以保证软件质量的活动。 ·正式技术评审: 评估软件工程产品,尽量在错误传播到下一个动作 或活动之前,发现并清除错误。 ·V&V(Verification and Validation):验证与确认。
8
软件过程分类 - 基本过程类 是构成软件生存周期主要部分的那些过程, 包括:定义、 构建、维护等过程.
- 支持过程类 可穿插到基本过程中提供支持的一系列过程, 包括:文档开 发、 配置管理、 质量保证、验证、确认、联合评审、审计、 问题解决等程.
- 组织过程类 一个组织用来建立、实施一种基础结构, 并不断改进该基 础结构的过程, 包括:管理、计划、改进、培训等过程.
12
- 测量 定义和收集过程、项目和产品的度量,以帮助团队在发布软件的时候满足 客户要求。同时,测量还可与其它框架协同使用。 - 软件配置管理 管理整个软件过程中变更所带来的影响。 - 可复用管理 定义产品复用的标准(包括软件构件),并且建立构件复用机制。 - 工作产品(Work Product)的准备和生产 包括了创建产品所必须的活动如建模、文档、日志、表格和列表等。
第三讲 软件过程框架与软件过程模型
软件过程框架
什么是过程? 针对一个给定目标的一系列操作步骤。 例如 - 目标:去火车站 - 操作步骤:去南门/东门公共汽车站,乘50/17路汽车,… 每个过程都有明确的目的以及具体的操作步骤,操作步骤说明了 有哪些操作以及按照什么样的方式来执行操作。
2
什么是软件开发过程? 按照项目的进度、成本和质量限制,开发和维护满足用户需求的 软件所必需的一组有序的软件开发活动集合。