软件需求

软工看完了迷迷糊糊的开始写文档。文档不写不知道,一开始写我就止步了。只是打开文档看目录我都有点丈二和尚——摸不着头脑,因为有许多专业术语搞不清楚。首先第一个要理解的就是软件需求。不要把它想的太单纯哦。


软件需求包含了三个含义,分别是业务需求,用户需求,功能需求。他们之间的关系是依次细化,到具体的。

先看一下官方解释

业务需求( businessrequirement)反映了组织机构或客户对系统、产品高层次的目标要求,它们在项目视图与范围文档中予以说明。

用户需求(userrequirement) 文档描述了用户使用产品必须要完成的任务,这在使用实例(use case)文档或方案脚本(scenario)说明中予以说明。

功能需求(functionalrequirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足了业务需求。

 

自我理解:

通常我们了解一个软件需要问这么三个问题:为什么要开发这款软件?这款软件可以做什么?这款软件是怎么实现的?三个不同的问题是站在不同的角度来提问的,同时也是软件需求的三个层次。

第一,业务需求,即:为什么要开发这款软件?这是客户或者机构提出来的问题。他们很抽象的表示要开发一个达到什么目的的软件。

第二,用户需求,即:这款软件可以做什么?这个答案要使用这款软件的人来回答,也就是用户。所以要和用户进行沟通,把客户描述的抽象的软件进行细化,明确软件的任务。一款软件产品(非功能单一的简单小软件)的用户可以通过它来实现自己的很多目的,或者一个系统可能不是一个人使用,有多个不同层次用户要使用,这样的产品在开发之前必须要确定用户需求,而且还要全,细。所以确定用户需求很重要。

第三,功能需求,即这款软件是怎么实现的。当软件目标有了,用户需求定了,剩下就是开发者的开发工作了。开发出满足用户需求的软件,这款软件所完成的工作就是软件功能。要怎么实现这个功能,开发者需要采用什么样的算法,数据结构,等这些就是功能需求。

 

当然并不是所有的用户需求都是可以实现的,这样进过分析人员分析,决定可以实现的用户需求,跟用户沟通,最后确定用户需求,在进行功能需求的开发。功能需求是从业务需求,用户需求逐步细化来的。

 

一个简单的小例子来说明一下:一个部门要让员工从北京到海南旅行。

部门对运输部说:想办法让员工从北京到海南。目的,业务需求

员工说:我们需要从北京到海南的工具。怎么做,用户需求

运输部给出答案:乘飞机。实现,功能需求

在运输部给出答案可以有很多如:乘飞机/坐火车/坐汽车/做轮船。为什么选乘飞机,这就是软件工程中具体的实施后而进行的选择了,不在多说。

希望对大家理解有帮助!不足之处请多指正。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值