下列软件开发阶段的关键问题有助于记住每个软件开发阶段的目的:
● 需求阶段
什么是我们的上下文?
要达到什么目的?
● 分析阶段
要处理什么实体?
如何确保有正确的实体?
● 系统设计阶段
如何解决问题?
在完成的系统中需要什么硬件和软件?
● 子系统设计阶段
如何实现解决方案?
源代码和支持文件有哪些?
● 规范阶段
哪些规则控制着系统组件之间的接口?
可以去除模糊,确保正确吗?
● 实现阶段
如何编写组件,符合规范的要求?
如何编写漂亮的代码?
● 测试阶段
完成的系统满足要求吗?
可以攻破系统吗?
● 部署阶段
系统管理员必须做什么?
如何培训最终用户?
● 维护阶段
可以找出和更正错误吗?
可以改进系统吗?