本部分描述基本开发流程,过程示意如下:
流程并不是完全瀑布式的,各阶段可适当迭代交叉进行;各阶段内都应遵循MVP(最小化可行产品)原则,紧紧围绕主流程不断完备本阶段交付物。
1.需求确认阶段
(1)需求面对面沟通:现场感的描述;
(2)需求分析文档:主要体现项目背景和目标、业务流程(图)、现场感的业务描述(案例描述)、各角色功能清单、主要界面草图;
(3)需求确认文档:客户代表签字;作为项目合同附件;
(4)项目合同:合同金额、支付方式、违约责任,界面原型设计周期、功能开发周期、部署交付周期,销售、设计、开发三方经理沟通项目风险并确认合同内容,客户确认。
工具:需求分析文档模板、项目合同模板、各确认文档模板、项目风险分析文档模板。
2.界面确认阶段
(1)界面原型草图:纸上原型(手工线框图),体现各角色操作流程;
(2)高保真界面原型:H5界面,无后端逻辑代码的真实软件,前端即软件;体现各角色真实操作流程和界面效果;与后端无缝对接的代码架构;
(3)原型确认文档:原型交付、沟通调整,客户确认。
工具:纸上原型、H5/jQuery、UI框架/模板。
备注:本阶段可称为前端设计/开发阶段,需要需求分析、设计、前端开发等能力的集成。可交叉进行数据结构设计、架构设计和关键技术探索,但就是不写后端逻辑代码。
3.系统设计阶段
(1)数据库设计:数据库表结构文档、数据库初始化SQL脚本;数据库实际是数据结构,是软件的高度抽象,是系统业务的灵魂,是架构设计和代码开发的根基,设计阶段要极度重视!
(2)代码架构设计:逻辑模块分解(Solution/Project/Package)、目录结构设计、主要程序文件名确定;Code First实体类代码生成;
(3)交互接口设计:前后/端交互接口设计(如JSON数据格式、QueryString传参内容)、核心函数接口设计;
(4)关键技术突破:公共基础代码编写(要逐步模板化,如认证、权限、日志、异常处理),关键点/难点技术突破、易错问题预先避免的设计。
工具:数据库设计规范、代码架构设计规范、交互接口设计规范、代码自动生成工具、项目代码模板;
4.功能开发阶段
(1)进度清单:进度清单(进度优先级),任务分工,里程碑节点;进度清单更新频率;
(2)任务细分:项目经理要将开发模块任务细分,明确任务效果——逐条列出任务效果要求,并不断检查任务效果。
(3)主流程畅通:优先实现主流程,紧紧围绕主流程,确保主流程畅通;优先解决关键路径上的关键问题;
(4)面向界面编程:界面即结果,结果倒推过程。开发人员要面向界面编程、面向接口编程。
(5)用注释理思路:找到设计感,理清思路再动手,画草图理流程,列出实现步骤;
(6)版本控制;
(7)一键发布:自动化部署。
工具:开发进度一览表模板,任务细分清单模板,单元测试工具,SVN/CVS,自动编译部署工具。
5.系统测试阶段
(1)主流程测试:不断测试主流程、梳理优化主流程;与开发迭代进行;
(2)系统功能全面测试:人工测试,可用性测试,边界测试;
(3)上线运行试用:部署文档;针对特殊系统的应用情况自动记录 告;
(4)Bug追踪管理:Bug记录,Bug处理,统计分析。
工具:主流程测试用例、系统功能测试用例、Bug管理工具。
6.软件交付阶段
(1)软件发布包/安装包;
(2)软件部署手册;
(3)用户使用手册: 体现业务流程;
(4)售后服务:客户沟通与反馈处理。
采越软件:http://www.cyjysoft.com/
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!