您的位置:首页 > 其它

什么是软件需求

2011-01-11 09:21 495 查看
需求对于搞软件行业的人都不会感到陌生,我们经常会看到这些术语,如:软件需求,系统需求,业务需求,用户需求,功能需求,非功能性需求等等.这么多术语,需求到底是什么,我们有没有一个清晰的认识,有没有一个标准.对于上述这些术语,相信很多人也会有困惑,分不清之间的异同.现在我来说说我对需求的认识.

需求应从两个角度去看:

一。站在开发人员的角度,从内部看;
软件需求(系统需求)可分为:1。功能性需求;2。非功能性需求(质量属性和约束规则)。平时我们经常提到的软件需求规格说明书应该是从这个层面去描述软件需求的,即为了完成某种目标或任务,软件应该具备哪些功能。

二。站在客户的角度,从外部看
根据客户的层次可以分为三类:决算出资人,部门领导人,基层做事的人。

根据三类用户,我们可以从客户的角度把需求分为三类:1。业务需求;2。用户需求;3。行为需求。

这三类需求的粒度从粗到细,最终都是为了满足业务需求(目标远景),这三类需求中,业务需求和用户需求是相对稳定的,

而行为需求是最容易发生变化的。

以上两种需求的分法,实际上是在陈述这样一件事实:即软件是用来解决什么问题,为了解决问题,软件应该具备什么样的功能。

客户需要什么(从外部描述需求);软件提供什么样的功能去满足。

再说几个在做需求过程中常见的一些不容易区分的概念:

业务用例:描述用户需求(外部),即描述职责及任务;

系统用例:描述功能需求(内部),即描述系统功能,及操作步骤。

通过系统用例和用例规约,可以把业务需求和功能性需求有机的联系起来,实现需求的可跟踪性。

目标->职责任务->系统功能->操作步骤

业务需求->用户需求->功能需求->行为需求
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: