软件工程中的功能需求和非功能需求的区别是什么

 我来答
仁昌爱娱乐
高粉答主

2020-02-14 · 专注关心娱乐
仁昌爱娱乐
采纳数:760 获赞数:459856

向TA提问 私信TA
展开全部

软件工程中的功能需求和非功能需求的区别为:性质不同、约束不同、关联不同。

一、性质不同

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

2、非功能需求:非功能需求描述了系统展现给用户的行为和执行的操作等。

二、约束不同

1、功能需求:功能需求定义了对系统提供的服务或功能的约束,包括时间约束、空间约束、开发过程约束及应遵循的标准等。

2、非功能需求:非功能需求源于用户的限制,包括预算的约束、机构政策、与其他软硬件系统间的互操作,以及如安全规章、隐私权保护的立法等外部因素。

三、关联不同

1、功能需求:功能需求与软件系统本身有关。

2、非功能需求:非功能需求不仅与软件系统本身有关,还与系统的开发过程有关。

享知信息
2023-10-16 广告
上海享知信息科技有限公司的敏捷开发需求管理工具旨在提高项目效率。该工具采用易于理解的简明语言,允许团队成员轻松共享、讨论和管理需求。它支持灵活的需求变更,可帮助团队实时响应并跟踪项目进展。同时,工具的分层结构使得需求与设计、代码相关联,为整... 点击进入详情页
本回答由享知信息提供
匿名用户
2016-03-31
展开全部
软件需求包括 3 个不同的层次――业务需求、用户需求和功能需求。除此之外,每个系统还有各种非功能需求。需求的分类是软件需求阶段必不可少的工作,它可以指导开发人员理解不同的行业的业务、了解用户的真实需求,清楚这些之后确立好功能项;当开发人员对整体需求有了明确的目标后,就可以按部就班快速有效地进行功能项开发,一般就不会背离系统开发需求的初衷。
1、业务需求
业务需求(Business requirement)表示组织或客户高层次的目标。业务需求通常来自项目投资人、购买产品的客户、实际用户的管理者、市场营销部门或产品策划部门。业务需求描述了组织为什么要开发一个系统,即组织希望达到的目标。使用前景和范围( vision and scope )文档来记录业务需求,这份文档有时也被称作项目轮廓图或市场需求( project charter 或 market requirement )文档。
2、用户需求
用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。用例、场景描述和事件――响应表都是表达用户需求的有效途径。也就是说用户需求描述了用户能使用系统来做些什么。
3、功能需求
功能需求(functional requirement)规定开发人员必须在产品中实现的软件功能,用户利用这些功能来完成任务,满足业务需求。功能需求有时也被称作行为需求( behavioral requirement ),因为习惯上总是用“应该”对其进行描述:“系统应该发送电子邮件来通知用户已接受其预定”。功能需求描述是开发人员需要实现什么。
4、非功能性需求
4-1、系统需求(system requirement)用于描述包含多个子系统的产品(即系统)的顶级需求。系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。人也可以是系统的一部分,因此某些系统功能可能要由人来承担。
4-2、业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。业务规划本身并非软件需求,因为它们不属于任何特定软件系统的范围。然而,业务规则常常会限制谁能够执行某些特定用例,或者规定系统为符合相关规则必须实现某些特定功能。有时,功能中特定的质量属性(通过功能实现)也源于业务规则。所以,对某些功能需求进行追溯时,会发现其来源正是一条特定的业务规则。
4-3、功能需求记录在软件需求规格说明( SRS )中。 SRS 完整地描述了软件系统的预期特性。 SRS 我们一般把它当作文档,其实, SRS 还可以是包含需求信息的数据库或电子表格;或者是存储在商业需求管理工具中的信息;而对于小型项目,甚至可能是一叠索引卡片。开发、测试、质量保证、项目管理和其他相关的项目功能都要用到 SRS 。除了功能需求外, SRS 中还包含非功能需求,包括性能指标和对质量属性的描述。
4-4、质量属性(quality attribute)对产品的功能描述作了补充,它从不同方面描述了产品的各种特性。这些特性包括可用性、可移植性、完整性、效率和健壮性,它们对用户或开发人员都很重要。其他的非功能需求包括系统与外部世界的外部界面,以及对设计与实现的约束。
4-5、约束(constraint)限制了开发人员设计和构建系统时的选择范围,如局限于软件工程学科。
注:分清楚那些是业务需求、哪些是用户需求、哪些是功能性需求和非功能性需求对软件的开发有着重大的指导意义,绝不可以以偏概全,错误地去揣摩用户的心思;对于开发者而言,所有软件功能的开发我们都应该一一征求用户的意见,对需求有了清晰的认识后再进行实质性的开发工作。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式