需求分析与难点
需求分析:
确定新系统的目的、范围、定义和功能时所要做的所有工作。难点在于把握客户真实需求,往往需求方提出的只是表象,而不是真实需求的本质,研发部门要让开发工作变得容易,必须把握住表象之下的软件/程序设计相关的本质。
主要目的
主要目的:
让项目实现的功能/过程是可预见的。企业级项目开发,需要在敲代码前进行需求分析、总体设计、详细设计。在设计的过程中会发现最初需求/实现流程/技术栈等要求不合理的地方,越早地发现不合理的地方纠错成本越低。
编码前的(至少)三个会议
编码前至少三个评审会议:
做不做(技术、人员、经济、法律等各方面是否允许)
怎么做(需求、原型、设计、架构等)
谁来做(人员、工期、迭代周期等)
今天王小姐来开会,提出了一些要求,她需要的网站是什么样,下面的是王小姐的大致原话:
我们要做一个在线购物系统销售月饼、嫦娥吴刚神话书籍以及月兔等周边玩偶。顾客第一次访问网站,主页将显示一些特色产品、分类列表,还要有搜索框供顾客搜索。顶部要有一个导航条。产品列表中要包含产品缩略图,产品名称,点击它可以进入产品详情页面。一个产品可以属于多个分类。还要有个页面让我们自己添加新的产品类别和相关产品,但是只有店长才能使用这个功能,普通员工是不允许的。网站上线之后,要使顾客能够通过搜索引擎搜索到我们的网站。产品可以被添加到一个购物车。订单结算页面是单独的,这个页面向顾客展示当次购物结算信息以及让顾客提交订单给我们,还可以使用支付宝在线付款。要保证顾客信息、订单信息等数据的存储安全,不能被黑客拿去了。还需要对网站交易进行分析,需要知道哪些人,在哪些地方,买了哪种东西,方便我们做更有效的推荐商品。还要知道订单的转化率。当订单提交以后,顾客可以查看订单的处理状态,比如是“已提交”,“正在处理产品”,“已发货”,“已完成”等等。顾客也可能退货,退货时需要把钱退给顾客,以及我们会扣一部分手续费,让顾客能方便地看到我们的退货政策。本购物系统需求清单:...
然后对其话进行翻译成开发文档:
- 本购物系统需求清单:
- 多种产品的销售(通用的产品模型)
- 产品分类模型
- 特殊产品的处理
- 产品搜索
- 导航条
- 产品列表页面
- 产品详情页面
- 产品类别及产品的管理(增、删、改、查 CRUD )
- 权限管理
- SEO,搜索引擎优化(生成站点地图)
- 购物车模块
- 订单结算页面
- 订单结算系统
- 在线支付模块
- 系统网络安全(尽量避免bug,以及不能出现XSS之类的漏洞)
- 订单数据统计(分析)
- 订单状态跟踪
- 退货、退款
- 信息发布与管理(CMS)
大型项目必要文档:
总体设计:项目架构、技术选型、系统模型等说明文档
项目管理:需求分析、预算、风险、人员安排、进度计划 等
使用文档:项目运行的必要信息、步骤、系统环境等
需求文档:定义项目应该做什么
详细设计:定义项目应该怎么做
支持文档:面向技术支持团队的培训资料,问题解决方案
用户文档:使用说明书,接口指南等
小型项目文档应有内容:
概述项目的作用,要解决的问题
项目采用的分发许可证
使用例子(quick start)
安装指南
指向社区支持、邮件列表、论坛的链接
指向bug跟踪、问题反馈、代码提交的链接
源码链接
Sphinx & reStructuredText
Sphinx是一个文档生成工具,采用reStructuredText语法格式。
Markdown
Markdown 语法说明 (简体中文版)
Mastering Markdown
网友评论