What is Software Consturction
- 定义问题 problem definition
- 需求分析 requirements planning
- 规划构建 construction planning
- 软件构架 software architecture ,高层设计 high-level design
- 编码与调试 coding and debugging
- 单元测试 unit testing
- 集成测试 integration testing
- 集成 integration
- 系统测试 system testing
- 保障维护 corrective maintenance
构建活动中的具体任务(task)
- 验证有关的基础工作已经完成,因此构建活动可以顺利进行下去
- 确定如何测试所写的代码
- 设计并编写类(class)和子程序(routine)
- 创建并命名变量(variable)和具名常量(named constant)
- 选择控制结构(control structure),组织语句块
- 对代码进行单元测试和集成测试,并排除其中的错误
- 评审开发团队其他成员的底层设计和代码,并让他们评审你的工作
- 润饰代码,仔细进行代码的格式化和注释
- 将单独开发的多个软件集成为一体
- 调整代码,让他更快更省资源
Importance of Prerequisites
前期准备的重要性
准备工作的中心就是降低风险,目前软件开发中最常见的项目风险是糟糕的需求分析和项目计划
从食物链来类比软件开发
发现错误的时间要尽可能接近引入该错误的时间。缺陷在软件食物链里呆的时间越长,它对食物链最后级造成的损害就越严重。