需求分析阶段:
1 和客户探讨需求、
收集和分析需求,最后具体的需求罗列出来,包括功能需求和非功能需求。
2 设计用例和场景(视项目的复杂程度而定),使用工具如UML的用例图。如果是简单项目,也可以用简单的纸笔工具进行归纳。
3 根据1,2 将用例转换为草图(可以用纸笔简单勾勒),和客户做第一次确认,把一些理解上比较大的分歧先挑出来。
从客户处得到反馈后修改草图,再次和客户沟通,直至消除分歧。
4 使用Axure 制作高保真原型图,请客户确认,此时仍然有可能需要修改,需求的变化,或者是3处遗漏的分歧。沟通,修改。
5 使用ps 制作最终效果图,客户确认,有异议可以修改,最终定稿。
6 设计出E-R图(仅作为一种工具帮助设计)
7 美工可以将PS图中的素材切出来。
概要设计阶段:
1 从非功能需求推导出系统性能,安全性,可维可测性,可用性方面的体现,选择合适的服务器架构,数据库方案,以及通信框架。
2 从E-R图设计出关系表(这个表不是一次能完成,有个不断完善的过程)
3 根据关系表和用例,定义系统接口(外部接口,内部接口)
4 系统功能模块划分
5 错误处理
详细设计阶段
1 类,对象的设计(UML2.0 类图,对象图)
2 描述复杂功能的程序流图
3 描述对象间交互的序列图
4 接口的实现逻辑设计
编码实现阶段
1 客户端与服务端的编码实现,
2 自动测试用例的编写
3 构建每日集成与测试
2,3 非常重要,无论是对于大项目还是小项目,自动化测试可以发现大部分问题,并且避免重复的手工操作,节省大量的时间。在夜间执行jenkins job,早上分析结果,使得软件质量大幅度提升。