第0步:可行性分析

拿到项目,项目是否可行。

产品

技术可行性/法律/
第1步:需求分析

收集和整理需求,知道项目要做什么。

可能的产物:需求分析文档、功能点文档、性能分析

第2步:制作原型

根据需求,把前端界面做出来。原型可能需要和客户沟通。

高保真(完全一样)--静态

低保真(展示功能)--静态
第3步:后台开发

a.架构

数据库设计:非常关键的一步。

采用哪个数据库、有多少表、有哪些字段,这一步做好了,实现起来就很容易了。

需求的变化,往往会导致 数据库表的改变。为防止需求变更,表的设计一定要有 良好的 可扩展性。

框架的选择:

Servlet+JSP+JavaBean(框架的本质还是这个)

Struts2+Spring3+Hibernate3

SpringMVC+Spring3+Mybatis

选择点:是否使用MVC框架,Struts2还是SpringMVC还是别的
是否使用Spring管理 事务、数据库连接,依赖注入。(Google有个轻量级的Guice依赖注入框架)
是否使用持久层框架,JDBC、Hibernate、Mybatis。

其它技术选择:

前端使用JavaScript,JavaScript框架(jquery等)

是否使用AJAX,数据交换的格式(JSON)

b.详细设计

数据库和数据库表

框架配置

分解功能,考虑如何实现
c.编码
第4步:测试

a.功能测试。手动测试网站的功能是否 符合需求。

单元测试--整体测试

b.兼容性测试。不同浏览器的效果是否一致,美观。

c.性能测试。响应速度(比如1s内)、并发数(200个人同时登录)

d.稳定性。内存泄漏、数据库连接池、文件 及时关闭。

第5步:验收

客户验收。

第6步:部署

上线。

说明

开发流程的顺序是相对的,并不一定有严格的顺序。比如 测试工作在需求分析和原型出来之后,可能就已经开始编写测试用例了。

开发计划

开发过程中,可能需要制定一个开发计划。有些客户会定期检查项目的进展。

开发计划又分为:对外计划和对内计划

对外计划给客户看。

对内计划给内部人士看。