Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO 25112 针对软件工程实践,重点关注为软件开发和维护建立严谨的工程纪律。该标准涵盖整个软件工程生命周期,包括需求工程、架构设计、详细设计、实现、验证、确认、运行和维护。它强调在软件系统的开发、运行和维护中应用系统化、规范化和可量化的方法。该标准设计适用于所有类型的软件开发项目,从安全关键嵌入式系统到大型企业信息系统和基于云的服务,认识到不同项目类型在不同工程实践领域可能需要不同程度的严谨性。
该标准按生命周期阶段定义了一套全面的工程实践。每项实践包括:目的描述、预期输入、活动步骤、预期输出、验证标准和工具支持建议。ISO 25112 强调整个生命周期的可追溯性——需求必须可追溯到设计元素,设计元素必须可追溯到代码,代码必须可追溯到测试,测试必须可追溯回需求。这种双向可追溯性使得当需求变更时能够进行影响分析,通过完整性验证确保所有需求都得到解决,以及通过覆盖分析识别未经测试的功能。
需求工程阶段为所有后续开发工作奠定基础。实践包括利益相关方识别、需求获取技术、需求规范和建模、需求排序和需求验证。架构设计阶段将需求转化为高层系统结构,定义组件、连接器、接口以及需求到架构元素的分配。详细设计和实现将架构细化为详细的组件设计和可执行代码,遵循定义的编码标准和设计指南。验证和确认活动通过评审、审查、测试和分析技术的组合,确保软件符合其规范(验证)并满足利益相关方需求(确认)。
| 生命周期阶段 | 关键工程实践 | 验证方法 |
|---|---|---|
| 需求工程 | 利益相关方分析、需求规范、优先级排序、建立可追溯性 | 需求评审、原型验证 |
| 架构设计 | 架构视图、组件分解、接口定义、权衡分析 | 架构评审、ATAM 评估 |
| 详细设计与实现 | 设计模式、编码标准、同行评审、静态分析 | 代码审查、自动化静态分析 |
| 验证与确认 | 测试策略、测试设计、测试执行、缺陷管理 | 测试覆盖率分析、独立 V&V |
| 运行与维护 | 事件管理、变更管理、配置管理、回归测试 | 服务水平监控、实施后评审 |
ISO 25112 极力倡导尽可能采用自动化验证。人工检查和测试对于某些类型的验证(特别是可用性和探索性测试)仍然是必要的,但自动化静态分析、单元测试、集成测试和回归测试应成为验证策略的支柱。该标准建议在项目层面建立”验证与确认计划”,明确说明哪些验证技术适用于哪些工作产品、必须满足的覆盖标准以及每个工作产品的可接受质量标准。该计划应随着项目进展和新风险的识别而进行审查和更新。
该标准还引入了”工程就绪水平”的概念——类似于航空航天领域使用的技术就绪水平(TRL)——用于评估组织内工程实践的成熟度。这些就绪水平为过程改进投资提供了系统化的依据,帮助组织识别哪些工程实践领域最需要关注,并跟踪随时间推移的改进进展。就绪水平评估涵盖软件工程生命周期的所有阶段,生成突出显示跨全部工程实践范围的优势和弱点的概况。
配置管理是 ISO 25112 强调的另一个关键实践。该标准建议建立配置管理系统,识别和控制整个生命周期中的所有工作产品,包括需求、设计模型、源代码、测试用例和部署脚本。配置管理系统应支持并行开发、发布管理和变更跟踪。与版本控制、问题跟踪和构建自动化工具的集成创建了一个无缝的工程环境,在不妨碍开发人员生产力的同时强化纪律。