|
本帖最后由 zhouf 于 2016-8-10 22:41 编辑
建议:新产品研发过程
第一部分:总产品框架
- 产品总监 -> 编写“总产品框架图 (草稿)”;
- 产品总监 -> 编写“各模组的主体功能(做什么)与边界(不做什么)”;
- 产品总监 -> 发送草稿给项目组成员;(提前一周)
- 项目讨论 -> 总产品框架,与各模组的主体功能与边界;
- 产品总监 -> 定案“总产品框架主体功能与边界”;
- 产品总监 -> 发布至各产品经理;
第二部分:标准件开发
- 系统平台(客户端+服务端)
- 系统管理(用户,权限,菜单,消息,AppJob)
- 通用模组(导航图,电子审批,数据导入,通用查询,甘特图排程,队列排程,通用单表、通用主从表)
- 其他可预见的通用组件;
第三部分:子产品模组研发
- 产品经理 -> 确定主体功能(做什么)与模组边界(不做什么);
- 主体功能描述需要解决哪些问题;
- 边界说明产品当前版本不处理哪些业务;
- 产品经理 -> 确定对外接口;
- 读取哪些模组的哪些单据内容?
- 需要回写哪些单据值?
- 回写数据时不允许直接写表,而是调用对方模组开放的存储过程Action;
- 产品经理 -> 确定“模组业务流程图”;
- 必须参照模组主体功能与边界;
- 必须符合总产品框架的要求;
- 产品经理 -> 通过“模组业务流程图”解析“用例清单,单据清单,字典清单”;
- 用例清单:哪些角色完成哪些业务操作(区分系统内,系统外);
- 单据清单:模组中需要流转哪些单据才达到产品功能;需要注明单据是否存在权限要求?
- 字典清单:模组中涉及哪些系统字段,与用户字典;
- 产品经理 -> 通过“模组业务流程图,用例清单,单据清单,字典清单”解析“统计分析报表”
- 基础类统计报表
- 查询条件:时间段,其他业务类型过滤条件;
- 分析维度,具体有哪些,列举出来;
- 分析结果(可能有图表),分析结果有些栏位;
- 产品经理 -> 通过“单据清单”解析“单据流转关系图”;
- 单据流转关系图:A单据业务结束后,流转到B单据或C单据,B/C单据接收后做哪些业务;
- 单据流转关系图:A单据建立时,可以引用哪些其他单据,引用的关键业务栏位有哪些?
- 流转关系图中,需要区分“物流、资金流、单据流”
- 物流:货物流转单据;
- 资金流:财务结算单据;
- 单据流:不涉及物流与资金流的例如计划单据,申请单据;
- 产品经理 -> 通过“单据流转关系图”解析“单据流转Action”;
- 服务哪个单据类型?
- 由哪个动作(保存/删除/送审/审核/etc.)触发?
- 业务方向(向下流转,还是回滚业务)
- 处理哪些数据(物流数据,资金流数据,单据流数据);
- 改变哪些单据的单据状态?
- 本单据,由哪些状态下才能执行本Action, 执行完成后状态变成什么?
- 处理详细步骤(描述业务内容)
- 调用哪些外部模组接口?
- 调用哪些内部其他Action?
- 例如:采购入库审核,需要调用入库单更新现存量,回写采购订单明细入库量,不处理追加采购暂估余额,由存货核算时处理。等等)
- Action执行前,需要判断:时间缀是否变化?状态是否符合条件?单据是否被锁定?
- Action执行时,锁定单据,执行业务处理,更新单据状态,解锁单据。
- 产品经理 -> 通过“用例清单,单据清单,字典清单”,创建表结构;
- 表名,尽量与以往系统中的命名规则一致
- 字段名,这里主要保证业务核心字段,命名规则同上;
- 添加表备注,业务唯一字段是哪些?
- 添加字段备注;字段是参照的,请注明参照ID与值内容;
- 产品经理 -> 通过“单据流转Action”转换成“系统存储过程”;
- 列举Action清单(Excel档) (过程名,参数,功能简述,预计工时);
- 指定存储过程实现的功能(从单据流转Action中copy需要实现的功能与步骤);
- 指定存储过程参数;
- 创建好这些空存储过程(空过程,内容仅raise 所有参数值, UI调用时方便查看参数是否传入正确)
- 通过Excel中的存储过程清单,分解开发任务;
- 产品经理 -> 通过“用例清单,单据清单,字典清单”,画UI效果图;
- 列举所有UI画面清单(Excel档)(画面名,窗体参数,功能简述,预计工时)
- 画UI效果图
- 列举每个UI上的按钮调用Action (可能是空存储过程);
- 列举每个UI上用到的localSql功能 (不需要实现,只写明功能要求)
- 通过Excel中的UI清单,分解开发任务;
- UI开发人员 -> 开发UI,连接Action对应的存储过程;并做UI测试与存储过程单点测试;
- 实现UI效果;
- 实现数据集的查询与显示(注意单据权限);
- 注意数据表是否存在表分区?如有,查询配置时,需要注明默认分区条件
- 例如:出入库单按“业务日期”进行分区,那么界面打开时,默认强制过滤条件为“近两年”,这样其他年份的数据不会被检索;
- (表分区相关技术问题,可安排单独的培训课程)
- 实现用户点击[编辑]与[保存]时,校对时间缀,单据是否锁定?
- 实现画面上的Lookup, List 等控件取数 (可能存在字典权限, 例如:客户信息可能需要按权限过滤)
- 关联UI上按钮与Action(存储过程)的对应;
- 测试UI
- 数据是否能正常保存,所有按钮都能调用后台存储过程成功;
- 不同单据状态下,对应各个按钮禁用状态是否正常;
- 提交每个UI测试结果;
- 业务开发人员 -> 开发存储过程,实现“单据流转Action”转换成“系统存储过程”;
- 按“单据流转Action”中标注的功能要求(注意实现步骤)实现代码;
- 注意Sql脚本的性能;
- 注意数据表中是否存在表分区?(表分区能大大改善脚本执行性能)
- 注意尽量地少用游标(SqlServer中的游标性能不如Oralce),尽量采用 update 变量的方式实现 (可开课讲解);
- 前台测试action
- 需要回写的单据是否成功?特别是某些数量汇总的。
- (例如:采购入库数量,更新时是做加减的,测试前需要先记录好原数量是多少)
- 单据状态是否写入正确?
- Action 执行时,后台更新单据时间缀,是否正常报错?
- 等等其他需要测试的内容;
- 提交每个Action (存储过程) 的测试结果;
- 第五阶段:整体测试 (特别重要, 需要选型测试工具来完成)
- 测试经理 -> 编写“模组测试流程”;
- 参照“模组业务流程图”,按数据流文向,准备基础资料并导入;
- 准备流程图中原始手工进入系统中单据资料,并导入生成草稿单;(Excel 或 可事先准备好edi数据表)
- 按单据流转流程,编写测试用例;(配置执行单据 action, 每个 action 执行完成后,测试用例需要判断后台数据是否按要求写入, 如果没有按要求写入数据,需要报错)
- 注意,测试用例需要包括单据正向流转,还要包含回滚流转;
- 测试人员 -> 按测试用例测试结果,根据测试结果提交bug, 区分UIbug, BusinessBug;
- 测试人员 -> 按FormId 从 bug 平台中遇到的一些异常数据处理方法;
- 例如:取消一张生产订单时,首先在系统中查询哪些内容?先删除哪些数据,后删除哪些数据;测试过程中发生的异常数据处理过程需要全部记录下来,为最终用户手册提供解决方案;
- 测试人员 -> 破化性测试,登记bug;如果测试出是因为某些系统设置引起的错误,直接写明解决办法,后期编写《用户手册》时可以编入;
- 目的:大伙儿看到实际产品后,再提出一些功能边界内的建设性意见;
- 产品经理 -> 系统演示,是否满足产品功能范围,公司内部专业人员验收;
- 产品经理 -> 模组输出哪些统计报表;
- 产品经理 -> 重点功能,企业应用后带来哪些好处;
第五部分:整体测试
- 按产品全局流程图,调用每个模组中的中的测试用例,从销售订单->最终销售出库->应收应付->成本结算->存货核算;
- 最终目的,达到系统可全局拉通,正常跑通,能反向回滚业务;
- 破化性测试,登记bug;如果测试出是因为某些系统设置引起的错误,直接写明解决办法,后期编写《用户手册》时可以编入;
第六部分:产品封装
- 第一阶段:测试模组之间的接口调用;
- 第二阶段:编写用户手册;注意模组测试阶段,有一些异常处理解决方案,也需要写入到《用户手册》中;
- 第三阶段:从系统测试过程中提取业务数据初始化,按国内业务操作习惯初始化
- 例如,币种事先维护好,汇率同步工具预置好,数据库备份预置好;
- 工厂信息按纺织行业预置好,同时系统中添加常规必备的基础资料(例如:单位、车间、工段、工序、公司)
- 这样实施人员部署时,只需要修改名称,或禁用一些不需要业务节点就可以了,这样可以降低实施时间;
- 第四阶段:编写实施操作文档;
- 编写产品实施进度检测工具:实施人员可以通过此工具查看哪些业务点用户的使用情况;
- 其他对实施人员有帮助的工具…………
产品研发过程结束,开始进入实际项目实施实践!!!
|
|