需求工程连载软件需求概述及整理

软件开发发展越来越快,很多造成软件过高成本的是开发需求不准确,最大成本是软件复用性低,后面再讲为何最大成本是软件复用性低。职能部门越来越细,现在细分出来专业的软件需求工程师,有软件需求工程师能够仔细聆听客户的需求,将客户需求仔细记录,并且能做出各种文件清晰的表达客户需求。如果需求工程师把需求跟客户沟通清楚了,会降低20%的返工成本,如果系统架构师或者CTO跟甲方沟通清楚,将开发需求罗列清楚、把资源和技术、源码用到极致,将代码可复用化加强,可以节省40%的开发时间和成本。我个人做了一个秒音集团秒道app的项目将各方面用到极致,开发时间和成本节省了65%,3个月开发了一个物联网加综合型商城系统。

需求工程连载软件需求概述及整理_第1张图片

 

1为何出现需求工程师是因为需求不准确,或者技术理解不对造成过多的错误开发,小公司是产品经理在规划这个工作,大公司是系统架构设计师主动收集需求,需求工程师协助记录。因为甲方只有用自己的语言描述出来,有的技术听不懂或者有的的产品经理看不懂。针对甲方从事的行业比较多,或者只懂自己行业的专业东西。但是技术只懂代码,很多不理解甲方深沉次需求或者实现的逻辑,也不能根据沟通内容进行先后串联起来。所以出现比较大的偏差,甚至甲方自己都会搞不清楚那个需求是主要还是次要,到底要实现什么逻辑,一般收集需求只有记录,然后技术不懂其中的商业模式和逻辑,只知道甲方说的话。所以现在很多软硬件公司都是采用敏捷开发,收集需求-系统分析-列思维导图-做原型-设计ui-前端开发-后端开发,这样大大的降低了开发效率增加了开发成本和开发时间。

需求工程连载软件需求概述及整理_第2张图片

 

2、软件需求工程是包括创建和维护软件秀气文档所必需的一切活动过程,可以分为需求开发和需求管理两大工作。需求开发包括需求获取、需求分析、编写需求规格说明书(需求定义)和需求验证的四个阶段。在需求开发阶段需要确定软件所期望的用户类型、用户角色、比如会员、推广员、分销商、代理商、商家、管理员、团长、团队长、股东等各个角色定位、他们的功能和权利定位、他们的消费和收入定位,他们的相互关联性定位。获取每种用户类型的需求、了解实际用户的任务和目标,对需求优先级分类、将收集的需求编写需求规格说明书和需求分析模型,以及对需求进行评审。需求管理通常包含定义需求基线,处理需求变更,和需求跟踪等方面的工作。需求开发是主线,是目标,需求管理是支持是保障。

3、如何定义需求基线,跟客户沟通的时候首先要定义需求基线,一般都是问甲方,大概想要做个小程序、app还是pc网站、还是web软件,他的用途是干嘛、大概有什么角色、产品是什么、商业模式大概是咋样,B2B、CRM、B2C、O2O等各种商业模式、盈利模式是咋样、或者有没有已经看好的小程序或者app、或者网站用来参考做细化修改。在这个时候系统架构师需要定义技术开发框架,这个框架生态咋样、后台和前端有哪些可复用的代码。我们现在开发项目,将应用拆分成构件。在每个新项目需要开发的时候就在构件库去调用可复用的构件。我们就能快速开发项目和开发成本也降低。

需求工程连载软件需求概述及整理_第3张图片

 

4如何编写软件需求概述,软件需求概述是指甲方对新系统在功能、行为、性能、设计约束等方面的期望。软件需求是指用户解决问题或达到目标所需的条件或能力。是系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或能力。需求概述需要写1需求的层次就是指软件必须完成的事以及具备的品质。需求也是多层次,包含业务需求、用户需求、和系统需求。2质量功能部署也叫OFD是指一种将用户要求转化为软件需求的技术。

5QFD三大需求介绍,(1)常规需求也叫基本需求,也就是甲方认为系统应该做到的功能和性质,核心功能有哪些,基本逻辑有哪些,流程和角色有哪些。一般通过思维导图来表现基本需求,将架构做出来。(2)期望需求是指甲方想当然的认为系统应具备的功能或者性能,前端的布局排版,后端的功能细化点和逻辑。(3)意外需求也称为兴奋需求,是指用户在需求范围外的功能或者性能。我经常跟甲方沟通,只要客户真的有意向合作,在跟同行竞争我都有明显的优势就是因为我擅长沟通意外需求,每次甲方沟通需求的时候,我都会基于他的需求继续描述深度的东西,开发了这个功能能给他带来什么好处,开发时间不多我都会免费赠送。这样让甲方买到一个物超所值的东西,甲方肯定兴奋。

你可能感兴趣的:(需求分析,产品运营,架构,需求分析)