No.11软件工程的过程管理

软件工程的过程管理

软件过程是软件生命周期中的一系列相关活,即用于开发和维护软件即相关产品的一系列活动。软件产品的质量取决于软件过程,具有良好软件过程的组织能够开发出高质量的软件产品。

在软件过程管理方面,最著名的是能力成熟度模型集成,它融合了多种模型,形成了组织范围内过程改进的单一集成模型,其主要目的是消除不同模型之间的不一致和重复,降低基于模型进行改进的成本。

阶段式模型

阶段式模型沿袭CMM模型框架,仍保持4个成熟等级,但关键过程域做了一些调整和扩充

过程域的阶段式分组

成熟度等级 过程域
可管理级 需求管理、项目计划、配置管理、项目监督与控制、供应商合同管理、度量和分析过程和产品质量保证
已定义级 需求开发、技术解决方案、产品集成、验证、确认、组织级过程焦点、组织级过程定义、组织级培训、集成项目管理
量化管理级 组织级过程性能、定量项目管理
优化管理级 组织级改革与实践、因果分析和解决方案

当组织通过了某已登机过程域中的全部过程,即意味着该组织的成熟度达到了这一等级。利用阶段式模型对组织进行成熟度度量,概念清晰、易于理解、便于操作。

连续式模型

与阶段式模型项目,连续式模型没有与组织成熟度相关的几个阶段,连续式模型将24个过程域按照功能划分为过程管理、项目管理、过程和支持四个过程组。如下:

连续式分组 过程域
过程管理 组织级过程焦点、组织级过程定义、组织级培训、组织级过程性能、组织级改革与实施
项目管理 项目计划、项目监督与控制、供应商合同管理、集成项目管理、风险管理、集成化的团队、定量项目管理
工程 需求管理、需求开发、技术解决方案、产品集成、验证、确认
支持 配置管理、度量和分析、过程和产品质量保证、决策分析和解决方案、组织级集成环境、因果分析和解决方案

软件测试及其管理

软件测试是在将软件交付给客户之前所必须完成的重要步骤。根据国家标准《计算机软件测试规范(GB/T 15532-2008)》,软件测试的目的是验证软件是否满足软件开发合同火项目开发计划、系统/子系统设计文档、SRS、软件设计说明和软件产品说明等规定的软件质量要求。通过测试、发现软件缺陷,为软件产品的质量测量和评价提供依据。

测试的方法

软件测试方法:静态测试、动态测试

静态测试:指被测试程序不在机器上运行,而采用人工检测和计算机辅助静态分析的手段对程序进行检测。

动态测试:指在计算机上实际运行程序进行软件测试,一般采用白盒测试和黑盒测试方法。

  • 白盒测试:称为结构测试,用于单元测试中,它的主要思想是,降程序看作是一个透明的白盒,测试人员完全清楚程序的结构和处理算法,按照程序内部逻辑结构设计测试用例,检测程序中的主要执行通路是否按照预定要求正确工作。白盒的测试方法主要有控制流测试、数据流测试、和程序变异测试等。

  • 黑盒测试称为功能测试,主要用于集成测试、确认测试和系统测试中

测试的类型

根据国家标准GB/T 15532-2008,软件测试可分为单元测试、集成测试、确认测试、系统测试、配置项测试和回归测试等类别。

  • 单元测试。称为模块测试,测试的对象是可独立变异或汇编的程序模块、软件构建或OO软件中的类(统称为模块),其目的是检查每个模块能否正确地实现设计说明中的功能、向能、接口和其他设计约束等条件,发现模块内可能存在的各种差错。

  • 集成测试。目的是检查模块之间,以及模块和已集成的软件之间的接口关系,并验证已集成的软件是否符合设计要求。集成测试的技术依据是软件概要设计文档。

  • 确认测试。主要用于验证软件的功能、性能和其他特性是否与用户需求一致。根据铜壶的参与成都,通常报考一下类型。

  • 系统测试。系统测试的对象是完整的、集成的计算机系统,系统测试的目的是在真实系统工作环境下,验证完整的软件配置项能否和系统正确连接,并满足系统、子系统设计文档和软件开发合同规定的要求。

  • 配置项测试。测试的对象是软件的配置项,配置项测试的目的检验软件配置项与SRS的一致性。配置项测试的技术依据是SRS。

  • 回归测试。目的是软件变更之后,变更部分的正确性和对变更要求的符合性,以及软件原油的、正确的功能、性能和其他规定的要求的不损害。

你可能感兴趣的:(高项笔记,软件工程,python,数据挖掘)