第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步:部署
上线。
说明
开发流程的顺序是相对的,并不一定有严格的顺序。比如 测试工作在需求分析和原型出来之后,可能就已经开始编写测试用例了。
开发计划
开发过程中,可能需要制定一个开发计划。有些客户会定期检查项目的进展。
开发计划又分为:对外计划和对内计划
对外计划给客户看。
对内计划给内部人士看。