需求分析杂记 - zLulus/My_Note GitHub Wiki

越早发现问题并进行处理的成本会越低

1
缺陷被开发人员自己发现,并解决的成本,永远比经过测试人员测试,并提出再次修改的成本低,而且低得多

需求与实现方案存在质量问题

问题隐患一:功能上线时间延误

如果需求制定不清晰、明确;容易在系统功能上线评审时发生大量的需求变更或增加,或者出现更多的潜在需求;导致上线时间的延误。

问题隐患二:功能实现后返工

在功能实现后出现需求变更将引起已实现的功能进行返工或者大量的修改,从而增加项目实施成本;影响项目交付进度。

问题隐患三:沟通交流成本高

在不明确、清晰的需求进行系统开发与测试的过程中,需要大量的开发、测试人员与需求人员的交流;项目成员越多的项目组,沟通交流成本越高。

问题隐患四:影响实施人员士气

不明确、清晰的需求,甚至在影响开发、测试等实施人员的士气;没有人愿意为一个明天就极有可能被推到从来的功能实现努力工作。

软件需求规格说明书

软件需求规格说明书(功能实现方案)根本目的就是以较低成本的沟通与确认方式,明确需求方的业务功能实现需求,以避免在后续开发与测试过程中的扯皮、推诿、以及返工、大量需求变更现象。

功能实现方案(软件需求规格说明书)包含的内容

1.需求用例设计
以功能用例的方式清晰描述目标功能或的整体情况,以达到与信息中心、关键用户、开发团队、测试团队上理解的统一
用户角色定义、功能定义、功能与角色间的引用关系
2.功能及页面设计
以【用例】为线索的分别阐述每一个功能的页面以及详细的实施内容,避免理解上的歧义;
页面设计:对将要实现进行设计的功能页面的布局,显示的方式等系列信息进行详细的描述
重要事件描述:对重要事件的操作,包括其连锁事件,对用户输入信息的控制、校验等
3.逻辑需求及设计
如果待实现的功能描述无法在页面的表达与描述中进行阐述,需要增加逻辑设计的内容:
业务流程实现逻辑:如相关流程步骤的候选人选择方式,流程分支、循环条件等。
数据信息计算逻辑:如数据流信息的计算,变更等方式;数据信息汇总,计算等原则。
4.信息设计模型
待实现功能中所涉及实体间的关系,如多对多、一对多、一对一等逻辑关系。以避免开发、测试过程中产生的由于理解上的歧义而引起的返工,因为一旦信息模型理解的错误将引起的开发过程调整将会产生非常高昂的成本。
5.实施可行性
对技术实现难点,或者需要大量超过核定开发成本才能实现的要求进行实施可行性分析,对一些明确不具备技术实现可行性的需求,需要安排系统实施咨询的方式向需求方建议替代性解决方案。
6.性能要求
包括系统页面的响应时间,对并发用户的承载量要求等需要在需求分析阶段在需求规格说明书中进行详细描述,以作为开发团队性能完成指标以及系统架构设计指标的指导。
7.隐性需求
在进行客户方需求详细分析的过程中,实现方案设计(需求分析)人员必须能够明确地根据客户方的需求,定位其中潜在的功能需求;如维护功能的设计、用户可配置化的设计,某些必要的易用性设计等。
对方案设计责任人员,有向最终用户、客户告知并在允许的情况下安排潜在需求设计的责任,不允许对任何对潜在需求的隐瞒。

功能实现方案(软件需求规格说明书)不合格的现象

1.逻辑前后矛盾
在逻辑性描述的内容中出现前后矛盾的情况,造成开发、测试人员不明确的指引,功能要求上出现两张皮的现象。
2.逻辑表达缺失
在逻辑表达的过程中出现部分逻辑表达缺失,如在系统中展现的报表某些字段的信息来源没有任何包括维护、用户录入、外部接口等任何描述数据信息的来源的情况。
3.内容理解歧义
在文字的表达上,出现模棱两可的表达方式,形成需求方、开发团队、测试团队对功能要求理解上的不同理解。
4.不具备技术可行性
任何待实现的功能或设计,没有明确具备技术可行性,其中包括无法实现(在现有的技术条件下无法实现)或者不具备限定资源时间内的技术可行性。

方案更迭

基本流程

2

在和甲方签订合同的时候,要把各事项写清楚说明白,比如,是否支持多语言、支持的操作系统、支持的浏览器版本、支持的分辨率等等,尽力维护自己团队的利益。

界面的问题

迭代版本的时候,界面可以用线框图画,节约成本
美工在最后一个版本的线框图基础上出图即可
需要保证美工在出图的时候不能漏掉控件

版本更迭技巧

把不确定的问题记录成“待定问题”,以便下一次讨论

UML

UML是用来确定“角色”+“开发范围”的
线框内的即“开发范围”

PRD+流程图 VS 原型

PRD:产品项目由“概念化”阶段进入到“图纸化”阶段的最主要的一个文档,其作用就是“对MRD中的内容进行指标化和技术化”,这个文档的质量好坏直接影响到研发部门是否能够明确产品的功能和性能。

PRD+流程图 原型
开发方式 瀑布流 敏捷
类型 流程性的 客户端

DevOps

一种方法论,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合。
Micro-Update,组件化