软件构造的常用技术
软件复用(将已有软件的各种有关知识建立新的软件,以缩减软件开发和维护的花费)、抽象数据类型、类的设计和使用、合约编程、错误处理、单元测试、重构、极限编程。
软件开发流程
问题定义、需求分析、规划构建、软件架构、详细设计、编码调试、单元测试、集成测试、集成、系统测试、保障维护。
软件构建主要包括
编码和调试,还有详细设计、集成和部分测试活动。
什么是软件构建
软件构建是一个包含软件开发生命周期中大部分活动的过程,而不仅仅是软件开发中的一个步骤。软件构建贯穿于整个软件项目开发过程,主要包括编码和调试,但也涉及详细设计、规划构建、单元测试、集成、集成测试等其他活动。完善的软件构建活动有利于提高软件项目开发的质量和效率。
软件构造前期准备活动
完善的问题定义、正式的需求分析、了解自己的软件类型、合理的架构设计。
构建活动的准备工作的根本目标在于降低风险。
软件构建中的设计
防御式编程的主要思想
子程序不应该由于传入错误数据而被破坏,哪怕是由其他子程序传入的错误数据。
防御式编程常用技术
断言、错误处理技术、异常、隔离程序、辅助调试代码。
断言
在开发期间使用,让程序在运行时进行自检的代码(通常是一个子程序或者一个宏),断言是给程序员看的。
什么时候用断言
用错误处理代码来处理预期会发生的错误,用断言来处理绝不应该会发生的情况。
常见的关键决策
使用什么语言、制定编程约定、制定核对表。
测试分为两大类:黑盒和白盒。
构建有时被认为是编码或编程。