用户提需求是为了解决问题或者是达成业务目标,那么要求系统能提供功能去解决问题,或者是满足非功能性约束的业务目标。
用户提的需求转换成软件的功能,在这个过程中会出现需求失真,需求实例化是解决的一种方法。下图是实例化需求的基本流程。
定系统是绘制系统架构,划定系统边界(能力边界)。使用Uml的用例图的方式。
找用户:找到系统边界后,向外找寻用户是谁。用户是系统行为和流程的触发者,用户是直接使用系统,间接的不算。 也可以使用关系人法找用户。(实际运作中我找到是间接用户,直接用户忽略了,因为直接用户不是人而是子系统.我犯过的错误)
问目的:找到用户后,问问用户他想要的到底是什么?这里有3个层次:1want 表象需求,片面 2need 背后的动机和诉求,需要挖掘探寻 3win 人性中深藏的本性,需要深刻的洞察。他关注什么,担忧什么。业务目的,管理目的和维护目的各是什么。
画场景:作为用户为了达到什么目的,做了什么操作 as for do.可以使用流程图,活动图,时序图和数据流图。按场景补充非功能需求。
列功能:满足用户场景需要提供哪些功能。包括功能的验收条件是什么,(实际就是用户的使用场景,而且是要覆盖到上面画场景中列出的所有场景,闭环),在这个阶段可以分析波及分析。