




已阅读5页,还剩157页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 162 质质量量管管理理体体系系培培训训教教材材 一一 北北京京博博思思美美亚亚科科技技发发展展公公司司 秘秘 密密 仅限于内部使用仅限于内部使用 2 162 目目 录录 公司标准软件过程体系文件导读公司标准软件过程体系文件导读 2 软件生命周期模型软件生命周期模型 2 软件开发过程软件开发过程 2 技术类评审技术类评审 2 项目估算指南项目估算指南 2 标准软件过程总体裁剪指南标准软件过程总体裁剪指南 2 1 162 公司标准软件过程体系文件导读公司标准软件过程体系文件导读 目目 录录 1 概述 概述 2 1 1 目的 2 1 2 适用范围 2 1 3 引用文件 2 1 4 术语 2 1 5 参考资料 2 2 公司标准软件过程的开发 公司标准软件过程的开发 2 2 1 开发历程 2 2 2 公司标准软件过程总体结构 2 3 软件过程体系文件 软件过程体系文件 2 3 1 过程管理 2 3 2 软件开发过程 2 3 3 项目管理 2 3 4 资源管理 2 3 5 指南性文件 2 2 162 1 概述 概述 1 1 目的目的 本文件对公司软件过程及其体系文件的总体结构进行描述 为与软件过程 的开发 维护 改进 执行 管理和跟踪等有关的人员学习 理解和使用软件 过程体系文件提供指南 1 2 适用范围适用范围 适用于 SEPG 高层经理 项目经理 软件开发人员 测试人员 软件质 量保证人员 软件配置管理人员及其他支持人员为了按规范开展各自的业务活 动 学习 理解和使用软件过程体系文件 1 3 引用文件引用文件 无 1 4 术语术语 无 1 5 参考资料参考资料 Software Project Management Guidebook Version 2 0 Process Strategies Inc 软件工程 实践者的研究方法 美 Roger S Pressman 著 黄柏素 梅宏译 机械工业出版社出版 1999 年 10 月 实践中的 CMM INFOSYS 公司实施软件项目之过程 潘卡 杰罗特著 杨慧鸣 李光龙泽 2001 年 7 月 3 162 2 公司标准软件过程的开发 公司标准软件过程的开发 2 1 开发历程开发历程 为了使软件过程保持长期稳定并能持续改进 必须开发组织 即公司 级 的标准软件过程 为此 公司组织了以软件工程过程组 SEPG 为主体的标准 软件过程开发和文件编写组 具体实施上述任务 公司标准软件过程是在公司 范围内的软件项目全面执行 CMM 二级的基础上 在软件工程一般理论的指导 下 收集公司全部软件项目所采用的软件过程 经过分析 归纳 提炼 分类 总结等一系列步骤开发而成 又在开发标准软件过程的基础上 形成了描述这 些标准软件过程的相互关联的程序文件体系 本程序文件体系对组成标准软件过程的基本软件过程要紧 以及软件过程 要素之间的关系 软件过程结构 进行描述 描述的重点放在过程的可操作性 上 此外 与此相关联 开发或编写了公司的软件过程数据库 与软件过程相 关的文档库 软件生命周期描述文件和标准软件过程裁剪指南 它们和公司标 准软件过程一起 组成了公司的软件过程资产 公司的软件过程资产为规范公司软件项目的软件过程提供了基础和保证 各软件项目按标准软件过程裁剪指南 根据项目的实际情况 主要是客户需求 对公司标准软件过程进行裁剪 开发适合项目特定特性的项目软件过程 项目 软件过程开发的重点在软件过程的可用性 以及附加到该项目的价值 项目以 项目定义的软件过程为基础 制订项目软件开发计划 按计划执行项目的软件 开发活动 产生相应的软件工作产品及其他开发成果 开发过程中的数据以及 项目结束后进行总结的数据 经过一定的手续 反馈到公司的软件过程数据和 软件过程相关文档库 丰富公司的软件过程资产 如此反复循环 促使软件过 程得以持续改进 以上过程和关系可以用图 1 表示 图中 表示实体 例如 分配到软件的需求 表示活动 例如 选择项目的软件生命周期 图中上半部分用粗线框围起来的部分即公司的软件过程资产部分 它由描 述公司标准软件过程的程序文件 软件过程数据库 与软件过程相关的文档库 4 162 软件生命周期描述文件和标准软件过程裁剪指南组成 下半部分则描述公司软件过程资产的利用过程 软件项目按标准软件过程 裁剪指南 根据项目的实际情况 主要是客户需求 对公司标准软件过程进行 裁剪 开发适合项目特定特性的项目软件过程 制订项目软件开发计划 并按 计划执行项目的软件开发活动 将项目数据 包括开发过程中的数据以及项目 结束后进行总结的数据 反馈到公司的软件过程数据库和软件过程相关文档库 5 162 图图 1 公司软件过程资产的开发和利用公司软件过程资产的开发和利用 6 162 2 2 公司标准软件过程总体结构公司标准软件过程总体结构 图 2 为公司标准软件过程的总体结构 由于本公司的产品 项目 除了纯 软件产品 项目 外 还包括软件和硬件兼有的产品 项目 考虑到过程的完 整性以及便于理解软件过程和其他过程之间的接口关系 图中的项目开发过程 反映了软件和硬件兼有的产品的整个开发过程 但其中非软件过程部分均采用 虚线 以示区别 有关内容说明如下 1 项目 项目生命周期和软件生命周期 项目 项目生命周期和软件生命周期 项目是由一组有起止日期 相互协调的受控活动组成的独特过程 该过程 要求达到符合包括时间 成本和资源等约束条件在内的规定要求的目标 其结 果将产生产品 而软件项目则是为了开发软件产品 包括系统 而建立的项目 项目和产品都具有一定的生命周期 项目生命周期是指从项目启动到项目结束为止的时间间隔 项目生命周期 一般包括 初期策划阶段 主要是可行性分析 开发策划阶段 开发前的人 财 物等的计划和准备 实施阶段 具体实施项目开发计划 保证项目的质量 成本 进度的顺利 完成 结束阶段 评审 鉴定及项目交付和组织结束工作 在整个项目生命周期 所涉及的过程可以分为两类 项目开发过程 和被开发产品的实现直接相关 项目管理过程 对项目的开发过程进行管理和控制 软件生命周期则是指软件产品的生命周期 即是指从设想 软件产品开始 到软件不再供使用为止的时间间隔 软件生命周期一般包括 概念阶段 需求 阶段 设计阶段 实现阶段 测试阶段 安装和调整阶段 运行和维护阶段 有时还包括退役阶段 显然 项目生命周期和软件生命周期在时间上是相关的 但在概念上是完 全不同的 一般来说 项目生命周期不会超过该项目所开发的软件产品的生命 7 162 周期 2 项目开发过程 项目开发过程 图中的下部表示项目的开发过程 它从客户需求开始 通过系统分析 将 客户需求分解成软件部分的需求和硬件部分的需求 从此处项目将分成软件项 目和硬件项目两部分 其中 软件项目从软件需求定义阶段 设计阶段 实现 阶段 测试阶段 验收交付阶段到项目总结 表示整个软件开发的结束 一般 来说 作为软件开发项目到此就意味着结束了 但软件产品的生命周期并未结 束 软件产品交付后 将经历使用过程中的维护阶段 维护阶段的时间可能和 项目合同有关 直到最后产品退役 3 项目管理过程 项目管理过程 图中的中部表示项目的管理过程 即对项目的开发过程实施管理的过程 对于软件和硬件兼有的项目来说 项目管理的主要过程如下 初期策划 主要针对系统分析 可行性分析进行策划 开发策划 开发前的人 财 物等的计划和准备 项目跟踪与监控 对项目初期的系统分析 可行性分析 以及项目开发过 程中软件需求定义 设计 实现 测试 验收交付等活动进行跟踪与监控 软件质量保证 SQA 对项目的软件过程和软件产品的符合性进行质量监 控 它贯穿于软件项目的始终 软件配置管理 SCM 为确保软件产品的完整性和正确性进行的管理 它 贯穿于软件项目的始终 需求管理 为确保满足客户需求进行的管理 它贯穿于项目的始终 评审过程 包括同行评审等技术类评审和计划评审等管理类评审 项目结束处理 包括项目的鉴定 验收 交付 以及进行项目总结 此外 在项目管理活动中 还可能有以下管理过程 项目培训 组间协调等 4 过程资产 本公司的软件过程资产分两个层次 公司级资产和项目级资产 a 公司级资产 包括 8 162 过程数据库 含软件过程和其他过程的资产 过程相关文档库 人力资源库 b 项目级资产 包括 项目控制数据库 项目经理控制 用于保存项目数据 以便对项目进行跟 踪与监控 SQA 管理库 SQA 控制 用于保存项目的软件质量保证数据 SCM 管理库 SCM 控制 用于保存项目的软件配置管理数据 SCM 库 SCM 控制 用于保存项目的所有配置项 通过一定的手续 项目的项目控制数据库和 SQA 管理库中的数据 经过选 择 将补充到公司的过程数据库和过程相关文档库中 此外 根据实际需要 总部一级也可能需要有人力资源库 9 162 图图 2 软件过程结构图软件过程结构图 10 162 3 软件过程体系文件 软件过程体系文件 公司的软件过程体系文件的组成如图 3 所示 图图 3 软件过程体系文件软件过程体系文件 按文件的使用目的 公司的软件过程体系文件分为五类 过程管理 软件 开发过程 项目管理 资源管理和指南 3 1 过程管理过程管理 过程管理是指对软件过程进行管理 此类文件的使用人员主要是对软件过 软件过程体系文 件 过程管理项目管理软件开发过程资源管理指南性文件 软件开发过程程序文件 标准软件过程开发与维护 过程描述文件编写规范 一 过程描述文件编写规范 二 质量管理体系 数据库管理和维护文件 软件生命周期模型描述文件 标识规范 术 语 文件控制程序 客户需求管理程序文件 项目策划程序文件 项目跟踪与监控程序文件 项目总结程序文件 软件质量保证程序文件 软件配置管理程序文件 组间协调程序文件 技术类评审程序文件 高层验证程序文件 培训程序 项目估算指南 标准软件过程 总体裁剪指南 公司标准软件 过程体系文件 导读 11 162 程进行开发 维护 改进的人员 例如 SEPG 成员 项目经理 SQA 等 有关 文件说明如下 1 标准软件过程开发与维护 使用人员 SEPG 和软件过程描述文件编写人员 内容提要 本文件对如何开发和管理公司的标准软件过程 如何编写软件 过程描述文件 如何编写标准软件过程裁剪指南等作出了规定 2 过程描述文件编写规范 一 使用人员 软件过程描述文件编写人员 内容提要 为能分解成若干过程元素的较大过程编写的描述文件编写规范 3 过程描述文件编写规范 二 使用人员 软件过程描述文件编写人员 内容提要 为没有明显的入口和出口准则的过程 例如日常管理类的过程 编写的描述文件编写规范 4 质量管理体系数据库管理和维护文件 使用人员 SEPG 项目经理 SQA 和数据库的管理和维护人员 内容提要 本文件对公司的软件过程数据库和与过程相关文档库的管理和 维护作出了规定 考虑到将来需要扩充 ISO9001 要求的其他数据库 故起此名 5 软件生命周期模型描述文件 使用人员 项目经理以及参与项目软件过程定义的有关人员 内容提要 本文件对公司所确定的软件生命周期模型进行描述 作为公司 的过程资产之一 供项目选择适合项目情况的软件生命周期模型时参考 6 标识规范 使用人员 对被标识对象进行标识的人中员 内容提要 为规范包括文件 表格 产品的标识而制订的规范 7 术语 使用人员 SEPG 和软件过程描述文件编写人员 内容提要 本文件定义了本软件过程体系文件所使用的专用术语 8 文件控制程序 12 162 使用人员 文件管理人员 内容提要 本文件对文件的编写 评审 批准 发布 发放 回收等文件 管理要求作出了规定 是整个质量管理体系所要求的用于对受控文件进行管理 的文件 3 2 软件开发过程软件开发过程 软件开发过程是指与软件开发有关的过程 相关文件的使用人员主要是和 软件开发有关的人员 9 软件开发过程程序文件 使用人员 项目经理以及参与项目软件过程定义的有关人员 内容提要 本程序文件针对本公司软件项目所采用的典型开发过程 分解 成过程要素进行描述 供各软件项目根据标准软件过程裁剪指南 定义项目自 己的软件过程时使用 3 3 项目管理项目管理 与项目管理有关的文件如下 10 客户需求管理程序文件 使用人员 项目经理 SQA SCM 和软件开发人员 内容提要 本文件是为了确保项目满足客户需求和如何确保满足客户需求 为项目编写的有关客户需求管理的程序文件 11 项目策划程序文件 使用人员 项目经理以及参与项目策划的其他有关人员 内容提要 为指导软件项目进行项目的初期策划和开发策划而编写的程序 文件 12 项目跟踪与监控程序文件 使用人员 高层经理 项目经理 SQA SCM 和软件开发人员 内容提要 指导软件项目在项目计划执行过程中如何对项目进行跟踪与监 控的程序文件 13 项目总结程序文件 13 162 使用人员 项目经理 SQA SCM 和软件开发人员 内容提要 指导软件项目在项目结束阶段如何进行项目总结的程序文件 14 软件质量保证程序文件 使用人员 SQA 项目经理 SCM 和软件开发人员 内容提要 指导软件项目的 SQA 如何执行项目的软件质量保证活动 以 及项目的其他人员如何配合的程序文件 15 软件配置管理程序文件 使用人员 SCM 项目经理 SQA 和软件开发人员 内容提要 指导软件项目的 SCM 如何执行项目的软件配置管理活动 以 及项目的其他人员如何配合的程序文件 16 组间协调程序文件 使用人员 项目经理 SQA SCM 和软件开发人员 内容提要 项目在进行项目策划时 应考虑有无组间协调的情况 本程序 文件提供这方面的要求和指导 17 技术类评审程序文件 使用人员 项目经理 软件开发人员 SQA 以及其他参与评审的人员 内容提要 本程序文件为项目进行技术类评审 包括同行评审及其他类型 的技术评审 规定要求和提供指导 18 高层验证程序文件 使用人员 高层经理 项目经理 SQA SCM 和软件开发人员 内容提要 在公司标准软件过程的开发和改进以及项目在执行软件开发活 动的过程中 高层经理应在哪些环节进行验证 如何进行验证 项目的有关人 员如何配合 本程序文件为高层经理的验证活动提出要求并提供指导 3 4 资源管理资源管理 资源管理主要包括人力资源 设备 环境等方面的管理 19 培训程序 使用人员 公司培训组 高层经理 项目经理 SQA SCM 和软件开发 人员 14 162 内容提要 对公司级培训和项目级培训的实施要求作出规定 包括培训需 求的收集 培训计划 培训实施和培训总结等 3 5 指南性文件指南性文件 目前提供以下指南性文件 20 项目估算指南 使用人员 项目经理及其他参与估算的人员 内容提要 本指南为项目估算的方法 例如 规模估算 工作量估算等 提供指南 21 标准软件过程总体裁剪指南 使用人员 项目经理及其他参与项目软件过程定义的人员 内容提要 总体裁剪指南是公司标准软件过程裁剪指南中的高层裁剪指南 或一般性裁剪指南 它为软件项目在对公司标准软件过程进行裁剪时 提供 对一般性活动进行裁剪的指南 裁剪结果为项目进行详细的过程裁剪提供框架 性的指导方针 详细裁剪指南分散在各程序文件的 详细裁剪指南 中 22 软件过程体系文件导读 即本文件 使用人员 SEPG 高层经理 项目经理 软件开发人员 测试人员 软 件质量保证人员 软件配置管理人员等为了按规范开展各自的业务活动 需要 学习 理解和使用软件过程体系文件的所有人员 内容提要 对公司标准软件过程开发的背景 开发过程 标准软件过程的 总体结构 以及相应的软件过程体系文件进行导读性的说明 15 162 软件生命周期模型软件生命周期模型 目目 录录 1 概述 概述 2 1 1 目的 2 1 2 适用范围 2 1 3 引用文件 2 1 4 术语 2 1 5 参考资料 2 2 软件生命周期模型描述 软件生命周期模型描述 2 2 1 瀑布模型 2 2 2 原型 瀑布模型 2 2 3 增量模型 2 2 4 增量的迭代过程模型 2 2 5 快速应用开发模型 2 3 几种模型的比较 几种模型的比较 2 4 其它模型采用说明 其它模型采用说明 2 5 附录 附录 2 16 162 1 概述 概述 1 1 目的目的 描述公司级定义的软件生命周期模型 供项目策划时根据项目的具体情况 选择或裁剪使用 由此确定软件项目开发过程的各种不同的阶段以及各阶段的 执行顺序 1 2 适用范围适用范围 适用于本公司的软件项目策划 1 3 引用文件引用文件 软件开发过程程序文件 QMS OP01 V1 0 标准软件过程开发和维护 QMS PSM01 V1 0 项目策划程序文件 QMS PTM02 V2 0 1 4 术语术语 软件生命周期 从软件设想开始到软件不再使用而结束的时间周期 软件 生命周期一般包括系统分析 软件需求分析 设计 实现 测试 验收 运行 和维护各阶段 有时还包括退役阶段 软件过程 有关开发和维护软件及其相关产品 例如 项目计划 设计文 档 代码 测试用例 用户手册等 的活动 方法 实践和变更的集合 1 5 参考资料参考资料 软件工程 Java 语言实现 Stephen R Schach 著 袁兆山等译 机械工 业出版社 1999 年 9 月 软件工程实践者的研究方法 Roger S Pressman 著 黄柏素 梅宏等 译 机械工业出版社 1999 年 10 月 17 162 Software Project Management Guidebook Frank J Koch 著 2001 年 7 月 实用软件工程 郑人杰 殷人昆 陶永雷著 清华大学出版社 1997 年 4 月 软件需求 Karl E Wiegers 著 陆丽娜 王忠民 王志敏等译 机械工 业出版社 2000 年 7 月 统一软件开发过程 Ivar Jacobson Grady Booch James Rumbaugh 著 周伯生 冯学民 樊东平等译 机械工业出版社 2002 年 1 月 2 软件生命周期模型描述 软件生命周期模型描述 所有的项目软件开发过程都应遵循一个生命周期模型 每个模型都具有能 够帮助实际软件项目进行控制及协调的特征 定义生命周期模型的目的在于将 本质上无序的活动有序化 在开发策划期间 必须仔细考虑项目的特征和目标 之后 再选择生命周期模型 本文件根据组织内项目的类型 描述常用的几个 软件生命周期模型 项目可根据实际情况选择或按规定剪裁使用 但应注意与 公司的标准软件开发过程相兼容 见附录 软件过程结构图 其中的项目软件 开发过程即为一个选择瀑布模型的典型项目过程 2 1 瀑布模型瀑布模型 1 模型描述 该模型首先由 Royce 1970 提出 又称线性顺序模型 包括图 2 1 所示的 典型的几个阶段 其重要特点是 只有当一个阶段的文档已编制好 且该阶段 的产品得到 SQA 认可后 该阶段才算完成 测试或验证在每个阶段都必须执行 一旦产品完成提交用户 其后的任何修改均属于维护阶段 如果需求明确 能较好理解且较稳定 可以考虑选择瀑布模型 18 162 图图 2 1 瀑布模型瀑布模型 2 缺点 由于其线性顺序的特点 故只有在项目开发的后期才能得到具有全部功能 的软件版本 如果有未定义或未实施的需求 将会引起重复劳动 甚至开发出 的产品不是用户所需要的 3 本企业适合的项目类型 操作系统产品 译星产品 嵌入式产品开发 对日软件外包项目等 2 2 原型 瀑布模型原型 瀑布模型 1 模型描述 原型模型本身是一个迭代的模型 是为了解决在产品开发的早期阶段存在 的不确定性 二义性和不完整性等问题 通过建立原型使开发者进一步确定其 应开发的产品 使开发者的想象更具体化 也更易于被客户所理解 原型只是 真实系统的一部分或一个模型 完全可能不完成任何有用的事情 通常包括抛 系统分析 软件需求分析 设 计 实 现 测 试 验 收 维 护 19 162 弃型和进化型两种 抛弃型指原型建立 分析之后要扔掉 整个系统重新分析 和设计 进化型则是对需求的定义较清楚的情形 原型建立之后要保留 作为 系逐渐增加的基础 采用进化型一定要重视软件设计的系统性和完整性 并且 在质量要求方面没有捷径 因此 对于描述相同的功能 建立进化型原型比建 立抛弃型原型所花的时间要多 原型建立确认需求之后采用瀑布模型的方式完 成项目开发 原型 瀑布模型的开发流程如图 2 2 所示 图图 2 2 原型 瀑布模型原型 瀑布模型 以下情形建议考虑选择原型 瀑布模型 a 项目包含一种新技术 例 新硬件 新的开发语言 新的系统架构等 b 需求不很清楚 c 存在关于性能 可靠性和可行性方面的主要的 未解决的问题 d 用户界面对系统成功是很关键的 但不很清楚 2 缺点 由于原型并非最终产品 如果原型不能利用 可能导致成本的增加 同时 会引起客户的误解 以为产品即将完成 3 本企业适合的项目类型 新领域的应用项目的开发 Web 开发项目等 2 3 增量模型增量模型 1 模型描述 增量模型是一种进化软件过程模型 融合了线性顺序模型的基本成分 重 多次迭代原型逐渐完善 部分系统软件需求 或软件需求分析 原型设计原型实现原型测试瀑布测试 20 162 复地应用 和原型模型的迭代特征 如下图所示 当使用增量模型时 第一个 增量往往是核心产品 即实现了基本的需求 核心产品交用户使用 或进行更 详细的复审 使用和 或评估的结果是下一个增量的开发计划 该计划包括对 核心产品的修改 使其能更好的满足用户的需要 并发布一些新增的特点和功 能 增量模型和原型模型不一样 强调每一个增量均要发布一个可操作产品 早期的增量是最终产品的 可拆卸 版本 但能提供用户服务功能和用户评估的 平台 增量模型开发流程见图 2 3 图图 2 3 增量模型增量模型 2 缺点 由于增量模型的灵活性 往往容易退化成边做边改方法 使软件过程的控 制丧失了整体性 最终的产品也不是开放的 而是成为维护人员的恶梦 3 本企业适合的项目类型 各种中 大规模的项目类型 已有系统技术路线发生改变但需求明确的移 植类项目 系统 分析 软件需求 分析 软件结构 设计 详细 设计 1 实现 1测试 1验收 1 详细 设计 2 实现 2测试 2验收 2 详细 设计 n 实现 n测试 n验收 n 维护 增量 1 增量 2 增量 n 21 162 2 4 增量的迭代过程模型增量的迭代过程模型 1 模型描述 该模型是一个不断迭代和增量的过程 迭代过程首先要处理一组客户的业 务需求 这些业务需求合起来能够揙所开发产品的可用性 其次 迭代过程要 解决最突出的风险问题 后续的迭代过程建立在前一次的迭代过程末期所产生 的产品之一 一个增量不一定是对原有产品的增加 尤其在生命周期初期 开 发人员可能用更加详细和更加完善的设计来代替最初简单的设计 在较后的阶 段 增量通常是对原有产品的增加 采用此种模型最好是基于构件和有相应的 构件开发工具 如 RUP 配置管理工具等 图图 2 4 增量的迭代模型增量的迭代模型 2 缺点 需要相当的风险评估的技术 每个迭代循环控制不好会变成边做边改模式 3 本企业适合的项目类型 较复杂的应用项目 迭代 1 系统 分析 1 软件需求 分析 1 设计 1实现 1测试 1验收 1 系统 分析 2 软件需求 分析 2 设计 2实现 2测试 2验收 2 系统 分析 n 软件需求 分析 n 设计 n实现 n测试 n验收 n 迭代 2 迭代 3 维护 22 162 2 5 快速应用开发模型快速应用开发模型 1 模型描述 快速应用开发模型 RAD 是一个线性顺序的软件开发模型 强调极短的 开发周期 2 3 个月 该模型是线性顺序模型的一个 高速 变种 如果需求 理解得很好 且约束了项目范围 就可通过使用基于构件或可得用软件包的建 造方法获得快速开发 快速应用开发模型流程见图 2 5 适用于信息系统应用 软件的开发 图图 2 5 快速应用开发模型快速应用开发模型 2 缺点 对大型的 但可伸缩的项目 RAD 需要足够的人力以创建足够的 RAD 小 组 RAD 要求开发者和用户在一个很短的时间内完成一个系统 如果双方中的 任何一方没完成约定 都会导致 RAD 项目失败 3 本企业适合的项目类型 具有可重用的构件库和 CASE 工具的应用项目 信息系统等 小组 1 业务 建模 1 数据 建模 1 处理 建模 1 应用 生成 1 测试 1 业务 建模 2 数据 建模 2 处理 建模 2 应用 生成 2 测试 2 业务 建模 n 数据 建模 n 处理 建模 n 应用 生成 n 测试 n 集成 测试 验收维护小组 2 小组 n 23 162 3 几种模型的比较 几种模型的比较 软件生命软件生命 周期模型周期模型 是否首先定义好绝是否首先定义好绝 大部分的需求 大部分的需求 是否有多个是否有多个 开发周期 开发周期 是否有是否有 中间软件发布中间软件发布 瀑布模型有无无 原型 瀑布模型没有有有 增量模型有有可能 增量的迭代模型没有有有 快速应用开发模型没有有可能 4 其它模型采用说明 其它模型采用说明 如果在实际工作中 基于特定项目的经验积累和总结 可能需要形成新的 软件生命周期模型 此时可依照一定的规程 参见 标准软件过程开发和维护 要求 项目策划程序文件 将其定义和描述加入到本文件中 5 附录 附录 附录 1 软件过程结构图 说明 图中 项目软件开发过程 一层延伸到产品退役 即体现出软件的生 命周期 采用不同的生命周期模型在该层面的 系统分析 和 软件开发 阶段对 应不同的过程 24 162 软件过程结构图软件过程结构图 25 162 软件开发过程软件开发过程 目目 录录 1 概述 概述 2 1 1 目的 2 1 2 适用范围 2 1 3 引用文件 2 1 4 术语 2 1 5 参考资料 2 2 过程总体描述 过程总体描述 2 2 1 过程概述 2 2 2 结构描述 2 2 3 过程级裁剪指南 2 3 过程元素 过程元素 2 3 1 系统分析 2 3 2 软件需求分析 2 3 3 结构设计 2 3 4 详细设计 2 3 5 编码 2 3 6 集成测试 2 3 7 系统测试 2 3 8 验收 2 3 9 验收 2 3 10 软件问题管理 2 4 附录 附录 2 附录 2 3 1 中大型软件工程项目的标准软件开发过程 2 附录 2 3 2 中小型软件工程项目的标准软件开发过程 2 附录 2 3 3 小型软件工程项目的标准软件开发过程 2 附录 3 1 1 系统架构和业务需求说明书 文档编写规范 2 26 162 附录 3 1 2 可行性分析报告 文档编写规范 2 附录 3 1 3 系统需求规格说明书 文档编写规范 2 附录 3 2 1 需求分析方法指南 2 附录 3 2 2 结构化分析法 2 附录 3 2 3 面向对象分析法 OOA 2 附录 3 2 4 快速原型法 2 附录 3 2 5 软件需求规格说明书 文档编写规范 2 附录 3 2 6 测试计划 文档编写规范 2 附录 3 3 1 软件结构设计说明书 文档编写规范 2 附录 3 4 1 软件详细设计说明书 文档编写规范 2 附录 3 5 1 测试报告 文档编写规范 2 附录 3 6 1 集成工作单 2 附录 3 6 2 集成测试工作单 2 附录 3 9 1 软件维护实施计划 文档编写规范 2 附录 3 10 1 软件问题报告单 2 附录 3 10 2 软件问题状态登记表 2 27 162 1 概述 概述 1 1 目的目的 本程序文件定义了公司内部的软件开发过程 以指导和规范软件项目中开 发过程的定义和相应的实施 1 2 适用范围适用范围 整个公司内的软件项目 1 3 引用文件引用文件 过程描述文件编写规范 一 QMS PSM02 V1 0 标准软件过程的开发和维护 QMS PSM01 V1 0 软件生命周期模型描述文件 QMS PSM05 V1 0 客户需求管理程序文件 QMS PTM01 V2 0 技术类评审程序文件 QMS PTM09 V1 0 软件配置管理程序文件 QMS PTM09 V1 0 术语 QMS PSM07 V1 0 1 4 术语术语 过程 把输入转换为输出的一组彼此相关的活动 构造 将源代码进行编译 连接 生成目标代码的过程 构造环境 主要指与源码一起进行编译 连接的环境 在 C 语言中一般是 指由编译 连接命令 环境参数 操作语句等构成的一系列脚本程序的组合 白盒测试 基于源码进行的测试 主要的形式包括语句覆盖 分支覆盖 路径覆盖等 黑盒测试 基于目标代码的测试 主要的形式为功能测试 回归测试 对新增的功能或更正错误的部分 包括与其相关的部分 进行 的测试 而不是对软件系统全面的测试 28 162 其他术语参见 术语 文件 1 5 参考资料参考资料 软件能力成熟度模型 CMM 方法及其应用 杨一平等著 人民邮电出 版社 2001 年 4 月 实践中的 CMM INFOSYS 公司实施软件项目之过程 潘卡 杰罗特著 杨慧鸣 李光龙泽 2001 年 7 月 Managing the Software Process Watts S Humphrey Addison Wesley Longman Inc 1989 Recommended Approach to Software Development SEL 81 305 1992 6 软件需求 Karl E Wiegers 著 陆丽那 王忠民 王志敏等译 机械工 业出版社 2000 年 7 月 软件工程 Java 语言实现 Stephen R Schach 著 袁兆山等译 机械工 业出版社 1999 年 9 月 软件工程实践者的研究方法 Roger S Pressman 著 黄柏素 梅宏等 译 机械工业出版社 1999 年 10 月 国际 信息技术 软件生存周期过程指南 GB T8566 2002 军标 软件开发与文档编制 SJ20778 2000 2 过程总体描述 过程总体描述 2 1 过程概述过程概述 软件开发过程是指软件产品开发活动中所有阶段 任务的组合 该过程可 划分为一系列子过程 包括 系统分析 软件需求分析 设计 编码 测试 验收 维护 每个子过程又由一系列任务和活动组成 如设计过程又可分为结 构设计和详细设计 本程序文件描述公司通用的软件开发过程的组成 称之为 过程元素 彼 此之间的关系 输入 输出接口 以及相应的裁剪指南 具体的软件开发项目 可以根据其范围 规模和复杂度 确定软件生命周期模型 参见 软件生命周 29 162 期模型描述文件 然后根据通用的软件开发过程和裁剪指南 确定项目具体的 软件开发过程 本程序文件涉及的裁剪指南分为两个层次 一层为过程级 主要针对不同 的项目所采取的过程的剪裁 以定义不同的典型过程 另一层为过程元素内部 主要针对元素内部的各个任务的剪裁 2 2 结构描述结构描述 软件开发过程在整个标准软件过程中的位置及组成见下图 2 2 1 图图 2 2 1 软件过程结构图软件过程结构图 30 162 本程序文件所描述的软件开发过程的元素的组成见下表 过程元素过程元素 阶段阶段 需求分析需求分析设计设计实现实现测试测试验收验收维护维护 系统分析 软件需求分析 结构设计 详细设计 编 码 集成测试 系统测试 验 收 维 护 每个过程元素的具体描述和工作要求见本程序文件第三节的 过程元素 描 述 2 3 过程级裁剪指南过程级裁剪指南 活活 动动可裁剪属性可裁剪属性选选 择择裁剪指导方针裁剪指导方针 开发过程开发过程 全过程 附录 2 3 1 执行执行针对中大型软件工程项目或 系统需求明确完全自行设计 实现的项 目 简化过程 1 1 附录 2 3 2 执行执行针对中小型软件工程项目 自编 移植软件 简化过程 1 2 附录 2 3 2 执行执行针对中小型软件工程项目 自由软件 简化过程 2 1执行执行针对小型软件工程项目 31 162 附录 2 3 3 自编 移植软件 简化过程 2 2 附录 2 3 3 执行执行针对中小型软件工程项目 自由软件 软件开发过程中的技术类评审方式软件开发过程中的技术类评审方式 见 技术类评审程序文件 中相应裁剪指南 3 过程元素 过程元素 以下分别对软件开发过程中的各个元素进行描述 3 1 系统分析系统分析 3 1 1 元素概述元素概述 系统分析的目的是形成一个清楚的 完整的 一致的和可验收测试的系统 需求规格说明书 与其它过程元素的关系如下图所示 来自客户的需求可以是招标书 项目说明书或意向书等任何形式的客户需 求 系统分析是整个软件生命周期的开始 应分析待开发系统特定的预期使用 要求 以规定系统需求 软件需求分析 硬件设计 实现 集成 系统分析 系统需求规格说明书 系统分配给 软件的需求 系统分配给 硬件的需求 来自客户 的需求 系统架构和业 务需求说明书 可行性 分析报告 32 162 在此阶段 系统工程组要用一种反复迭代的方法逐渐扩充 完善系统需求 使其达到完整 对系统结构进行设计 建立系统的顶层结构 并标出硬件部分 软件部分和人工操作部分 应确保所有系统需求分配到各部分中 分配以各部 分的系统需求及其相关系统结构应形成文档 对软件必须要实现的每个功能和 每个要满足的关键点进行详细描述 通过实施本过程元素 完成 系统架构和业务需求说明书 附录 3 1 1 可行性分析报告 附录 3 1 2 和 系统需求规格说明书 附录 3 1 2 为软硬件开发人员正确建立所要求的系统提供基础 如上图所示 系统需求规格说明书 应包括分配到软件部分的需求和分配 到硬件部分的需求两部分 但在本文件中 如无特别说明 系统需求均指系统 分配给软件部分的需求 也属于客户需求 系统需求规格说明书 均指系统 分配给软件部分的需求的规格说明书 3 1 2 入口准则和出口准则入口准则和出口准则 1 入口准则 要要 素素判断准则判断准则 招标书 项目说明书或意向书等客户需 求 已接受 2 出口准则 要要 素素判断准则判断准则 可行性分析报告经过评审并批准执行 系统架构和业务需求说明书 系统需求规格说明书 进行了评审并经 SCCB 批准作为客户需 求基线 评审发现的问题已关闭 3 1 3 任务任务 1 系统架构和业务需求定义及系统可行性分析 具体过程如下图所示 业务需求定义 系统架构和 业务需求评审 可行性分析重用分析系统架构识别 来自客户 的需求 来自早期 项目的文档 来自客户 的需求 系统架构和 业务需求书 33 162 a 系统架构识别 收集和逐条列出所有系统的高层需求 指最高层的产品业务目标 描述满足这些高层需求系统必须实施的基本功能 着重从系统寿命 使用 期限 性能 安全 可靠性和数据项等方面的问题去考虑 通过这些功能描述 得到识别软件程序和所有主要接口的系统架构 详细说明所有主要数据接口的格式 如 文件 显示 打印输出等 b 重用分析 如果客户要求的功能与已有的产品很相似 则可评审已有的产品的 系统 架构和业务需求说明书 系统需求规格说明书 用户手册 和相关源代码 等来识别重用候选项 选择较强的候选荐并估算相应的成本 评价其可靠性等 根据将开发项目的具体情况 对是否选用重用项作出一个相对折中的选择 调整体系结构来说明采用的可重用软件 把所有重用分析的结果以重用建 议的形式记录下来 写入 系统架构和业务需求说明书 文档中 c 业务需求定义 清楚地定义系统必须如何在其业务环境下运行 包括针对所有主要业务模 式的业务方案脚本 又称使用实例 形成的描述写入 系统架构和业务需求说 明书 文档 由于最终用户是系统的直接使用者 需要时可请他们作为产品代表 帮助 建立业务方案脚本 d 系统架构和业务需求的评审 就系统架构和业务需求请系统和领域专家进行评审 e 可行性分析 在上述结果的基础上 进一步分析高层需求 从技术 经济 商业以及管 理等方面进行可行性研究 可行性分析报告 34 162 编写 可行性研究报告 对可行性分析报告进行评价 作出项目是否可行的判断和决策 如果项目 可行 则进入下一过程 否则终止系统分析 2 开发系统需求 系统需求的开发过程如下图所示 35 162 a 细化需求 基于高层需求和系统概念及体系结构 向下定义子系统层的所有需求 即 细化的用户工作流程 如果系统很大 有很多子系统 或如果将与其它系统接 口 就要清楚地定义所有外部接口 确定系统性能和可靠性需求 如果某个接受准则对应到某条需求 如 满 足特定的响应时间 则需说明这条需求的测试准则 b 编写系统需求规格说明书 在用户已有业务系统的层面 识别需要满足需求的输入和输出的数据 用 结构化或面向对象的分析方法 派生出软件必须实施的底层功能和算法 定义 所有的文件 报告和显示等 并指出哪些数据用户必须能够修改等 保持设计和语言的中立性 即集中在软件需要做什么方面 而不是怎么做 创建一个追溯矩阵来映射每个底层的功能或数据说明使其能够得到实现 将上述结果形成文件 完成 系统需求规格说明书 的编写 作为软件开 发的基础 c 系统需求规格说明书评审 对 系统需求规格说明书 进行同行评审 评审后的 系统需求规格说明书 必须经 SCCB 批准 作为需求基线 纳 入配置库 开发系统需求细化需求 系统需求规格 说明书评审 系统架构和 业务需求说明 书 来自早期 项目的信息 可行性 分析报告 系统需求规格 说明书 36 162 3 1 4 工作产品工作产品 系统架构和业务需求说明书 可行性分析报告 系统需求规格说明书 追溯表 MT PTM01B MT PTM01C 3 1 5 职责职责 1 系统工程组 负责完成本过程元素所要求的所有活动 并填写 追溯 表 见 客户需求管理程序文件 2 项目经理 负责制订系统分析阶段的计划 在执行过程中可能需要进 行计划修订 管理 度量此过程 并负责安排同行评审 3 SCM 统计已定义的需求项的个数和已进行说明的需求的百分比 填写 客户需求统计表 见 客户需求管理程序文件 3 1 6 资源和能力要求资源和能力要求 必要的培训资源 支持系统需求分析的设备 支持系统需求分析的工具 3 1 7 度量度量 统计已定义的需求项的个数和已进行说明的需求的百分比 质量 同行评审缺陷统计 完成本元素的工作所花费的工时 3 1 8 详细裁剪指南详细裁剪指南 37 162 活活 动动可裁剪属性可裁剪属性选选 择择裁剪指导方针裁剪指导方针 系统构架和业务需求定义及系统可行性分析系统构架和业务需求定义及系统可行性分析 执行新项目或有新的需求的项目系统架构识别执行 不执行无需修改客户需求的项目 执行有可重用构件库或是已有版本的产品进行重用分析执行 不执行新产品或无可重用构件库 执行新项目或要修改业务需求定义的项目执行 不执行无需修改业务需求定义的项目 编写规模较大的 复杂的项目 业务需求定义 文档 不编写规模较小的项目或快速原型开发 可与系统需求规格说明书合并 执行规模较大的 复杂的项目系统架构和业 务需求说明书 评审 执行 不执行规模较小的项目可不进行 将其放到系 统需求说明规格说明书中一起评审 执行对系统需求能否实现不清楚执行 不执行对系统需求能否实现清楚 编写规模较大 较复杂的项目上 执行了可 行性分析活动 要求出此报告 可行性分析 文档 不编写 规模较小 无需执行可行性分析活动 或规模较大 较复杂的项目 执行了可 行性分析活动 但不要求单独出此报告 可合并到系统需求规格说明书中 开发系统需求开发系统需求 执行新项目或需求需要进一步细化的项目细化需求执行 不执行针对旧项目 细化的需求已存在 3 2 软件需求分析软件需求分析 3 2 1 元素概述元素概述 38 162 软件需求分析是按照项目定义的软件开发过程 根据系统分配给软件的需 求 见 系统需求规格说明书 进行软件质量特性规格说明的过程 该过程 包括进一步明确软件运行环境 明确对软件的功能 性能和数据要求 以及软 件与硬件 软件与软件之间的接口要求等 并对软件需求进行验证和文档化 即完成对软件需求的分析与规格定义 有关软件需求的变更管理 请参见 软 件配置管理程序文件 本元素在整个过程中的位置如下图所示 3 2 2 入口准则和出口准则入口准则和出口准则 1 入口准则 要要 素素判断准则判断准则 客户需求 系统需求规格说明书 已由 SCCB 批准为基线 已进入配置库 2 出口准则 要要 素素判断准则判断准则 软件需求规格说明书 已经过审查 已批准为开发基线 已进入配置库 系统测试计划 系统测试案例 已经过审查 已获得批准 已进入配置库 用户手册 概要 已编写 软件需求分析结构设计系统分配给软件的需求 39 162 3 2 3 任务任务 各工作阶段如下图所示 1 准备阶段 a 必要时对软件需求分析员进行相关培训 包括有关的技术和业务知识 培训 以及有关的工具使用培训 b 审查客户需求 识别并解决影响软件需求的问题 c 选择适当的需求分析方法 参见附录 3 2 1 附录 3 2 2 附录 3 2 3 附录 3 2 4 并准备相应的分析工具 建议采用的需求分析方法包括 结构化分析法 面向对象分析法和快速原 型法等 如果需要采用上述分析法以外的其它需求分析法 应该得到 SEPG 的 批准 结构化分析法 采用结构化的分析技术 后续过程 设计 实现 通常也应该采用结构化 技术 适用于中 小规模的软件项目 面向对象分析法 采用面向对象的分析技术 后续过程 设计 实现 通常也应该采用面向 对象技术 适用于各种规模的软件项目 快速原型法 借助快速开发工具 以提供原型的方式 迅速掌握客户对软件的需求 适用于客户描述不清楚对软件的全部或部分需求 建立满足客户需求的原型后 根据所采用的工具和实际需要确定是否重新进行 定 义 收 集 分 析 评 审 准 备 系统分配给 软件的需求 软件需求 规格说明书 40 162 软件需求规格定义 快速原型不能作为惟一的软件需求规格表达方式 必须辅 之以适当的软件需求规格说明书 快速原型法可以与结构化分析或面向对象分析技术结合使用 2 收集 分析阶段 本阶段需要与客户不断接触 协商 通过对收集到的信息进行分析 归纳 界定出对软件的需求 明确在目标产品中需要什么和以什么形式来表现 与客户交流的基本形式通常有两种 客户访谈调查 正式的和非正式的 书面调查 书面报告和调查表 此外 通过对客户使用的表格和所处的情景进 行分析 从而获取需求 也是常用的方法 这些方法对前面推荐的三种需求分 析中采用的分析法与后续过程的设计和实现方法有一定的关联关系 通常应该 保持所选用的表达方法一致 详见需求分析方法指南 除了调查客户正常业务处理要求以外 特别需要关注的是异常处理和例外 处理要求 这些处理要求往往在软件需求中占有很大的比例 却容易被忽视 收集 分析可重用的软件或功能模块 确定可用项 本阶段的工作步骤如下 编制工作计划 特别是与受访者协商确定调查 访谈日程安排 运用选定的需求分析方法 收集 识别是 导出软件需求 收集 筛选 确定可能重用的软件或功能模块 3 定义阶段 a 根据软件需求分析结果 选择适当的实现方案并说明选择理由 形成 软件系统的初步设计方案 包括对系统体系结构 数据体系结构和接口的初步 设计 b 描述软件需求规格 编制 软件需求规格说明书 附录 3 2 5 c 编
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年计算机系统配套用各种消耗品项目合作计划书
- 2025年未硫化复合橡胶及其制品项目建议书
- 2025年自动检票验票机合作协议书
- 小学生防性防侵害安全教育
- 2025年企业人力资源管理师之三级人力资源管理师题库练习试卷A卷附答案
- 2019-2025年监理工程师之合同管理题库检测试卷A卷附答案
- 圣诞节活动主题策划方案
- 狼图腾介绍课件
- 脱硫安全文明施工方案
- bim一级考试试题及答案
- 战略管理教学ppt课件(完整版)
- 艾滋病感染孕产妇所生儿童艾滋病早期诊断与抗体检测流程图
- 统筹监管金融基础设施工作方案
- 云南锂电池项目可行性研究报告
- 博物馆学概论:第十讲 数字博物馆
- 危险化学品企业安全标准化规范课件
- 客户退货处理流程图
- 中国民主同盟入盟申请表(样表)
- 毕业设计(论文)-轴向柱塞泵设计(含全套CAD图纸)
- 公安机关通用告知书模板
- 山东省初中学业水平考试信息技术学科命题要求
评论
0/150
提交评论