一、什么是需求
我对需求的理解就是要达到什么样的目的(需求一定是有一个明确的目标的),是系统设计的最终目标。
如果一个系统最终实现没有达到最终目的,那么就是跟需求脱节了,这样的产品用户验收是基本不可能通过的(这个不敢说死,毕竟有些大佬设计的比用户自己想的好多了)
二、流程
从需求到功能设计一般包含以下几个关键环节(每个环节之间的交流沟通都极其重要)
1. 用户需求
用户需求一般都很模糊,甚至让人崩溃。一句话需求比比皆是,甚至更多的时候用户自己都不知道想要什么
所以个人感觉,第二步很重要,因为它涉及到跟用户的交流、确认,这一步出现误差的话后边很难顺利进行。
2. 需求拆分,形成需求规格说明书
productor owner通过user story(用户故事)分析场景,细化需求,画出原型图
所有需求都可以被描述成“我需要一个XX,以达到XX目的”
需求规格说明书不一定要多漂亮,列出条目及必要说明,能保证开发人员不产生理解偏差即可。
3. 系统实现
根据原型图和需求规格说明书进行功能设计,功能设计必须保证闭环。
辅助技能:各种流程图,思维导图
上面这应该是最简化的软件开发流程了,每个步骤都不可或缺,而且每个环节都必须保证不存在理解偏差的问题才能尽量保证整个开发的顺利进行。至于为什么是尽量,因为想要需求不变除非地球毁灭。
三、实例分析
-
用户需求:我需要对用户进行管理
-
需求拆分
用户管理一般包含:增删改查
- 我需要一个用户列表,以达到查看、检索所有用户信息的目的
- 我需要一个增加功能,已达到添加用户的目的
- 我需要一个修改功能,已达到对已存在用户信息修改的目的
- 我需要一个删除功能,已达到删除特定用户的目的
根据上面的User Story画原型图(此处省略……)
-
系统设计
根据每个用户story进行设计,要保证闭环。所有的设计都必须保证是理论可行的。
- 用户列表:用户基本信息展现、按条件检索、分页
- 用户添加:添加按钮、添加的用户信息(用户名、昵称……)、添加完后回到列表页、参数验证等(比如昵称最长不能超过10个字、不能包含特殊字符等等)
- 用户修改:获取当前用户的信息展现、修改、参数验证等
- 用户删除:删除按钮,点击删除后提示是否确认(确认则删除、取消不删除)
-
根据设计进行开发
PS:上面这个例子是一个很简单的例子,只是为了说明下这个简单的流程
写在最后
这个流程是个人根据工作过程中的经验以及向别人请教梳理出来的,仅供参考。
如果你觉得我的经验对你有所帮助,随手点个赞吧~
网友评论