Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在软件工程中区分“特性”和“需求”的标准是什么?

在软件工程中区分“特性”和“需求”的标准是什么?
EN

Stack Overflow用户
提问于 2015-07-28 00:40:12
回答 1查看 4.6K关注 0票数 0

我现在正在使用一个名为Jama的工具(它不是一个基于java的数学包。它具有相同的名称,但与那个名称完全不同。),它用于管理特性和需求的配置。有一个函数可以在每个特性和需求之间定义和建立关系,但是我不能很好地使用它,因为我无法理解这些概念。

我搜索了一段时间发现了这个。从这一页。在这里输入链接描述

需求是产品必须做的事情,也是产品必须具备的质量。

也发现了这句话。

特性是一组相关的需求,允许用户满足业务目标或需求。

我的问题是。

  1. 功能和需求之间的关系是1:N吗?或者一个需求是否与2个或多个特性有关系?
  2. 功能仅仅是一组需求&关系吗?抽象的层次有什么不同吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-03 04:40:55

对于这些术语没有严格的定义,这在软件行业中是普遍接受的。所以这是我的观点。

功能是功能的子集,用于对系统的描述。需求是构建系统某些部分的工程师的工作订单。

因此,在我看来,它们并不是抽象的不同层次,它们属于不同的领域。您可以从建议的特性列表开始需求分析,但是一旦分析完成,您就有了一组(特定的、可测试的)需求,这些需求就是用来构建系统的。

一旦系统建立,您可以丢弃需求,但这些功能是使用在销售材料。我认为Shrivathsan(派生的)定义过于狭窄(我不会将业务或客户需求放在其中),但这个例子非常好。

至于一对一或一对多,一个需求绝对可以支持多个特性,很明显,一个特性会产生多个需求,因此这种关系将是多对多的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31671321

复制
相关文章
软件工程中的需求分析(软件工程需求分析任务)
目前我校的校园二手交易市场多是利用超级课程表上的“跳蚤市场”以及本校的贴吧进行,两者都形成了一定的规模。但是贴吧上的交易不够规范,而超级课程表改版之后对“跳蚤市场”这一模块也不够重视,对其入口进行了更改,进入不方便了,导致流量减少,目前在上面发布交易信息的人寥寥无几。因此我们建立二手交易市场的目的是:
全栈程序员站长
2022/07/25
9670
软件工程中的需求分析(软件工程需求分析任务)
软件工程---软件需求分析
   需求分析是软件定义时期的最后一个阶段,它的基本任务是准确回答“系统必须做什么?”
令仔很忙
2018/09/14
1.8K0
软件工程---软件需求分析
软件工程:需求开发阶段
需求开发阶段的主要任务就是分析问题,研究问题所发生的现实世界(即问题域),寻找实现软件系统与现实世界有效互动的办法,并严格描述该互动办法。而软件需求开发是一个连接现实世界与计算机世界的活动,是软件工程的起始阶段,设计、实现等后续阶段的正确性都以它的正确性为前提。如果需求开发过程中有错误未能解决,则其后的所有阶段都会受到影响,因此与需求有关的错误修复代价较高,需求问题对软件成败的影响较大。而我们之所以认识不到需求开发阶段的重要性主要是因为学校时间项目的特殊性,具体来说学校的课程设计或实训:
Here_SDUT
2022/09/19
2.2K0
软件工程:需求开发阶段
【说站】python中in和is的区分
1、in:一方面可以用于检查序列(list,range,字符串等)中是否存在某个值。也可以用于遍历for循环中的序列。
很酷的站长
2022/11/23
7230
在JavaScript中,“=” 、“==”和“===”的区别是什么
上述代码中,5 和 "5" 在使用 == 进行比较时会被转换为相同的类型,然后判断它们的值是否相等。
王小婷
2023/10/16
5430
软件工程part02-软件需求与需求规约
“软件工程”课程是软件工程专业的核心课程,是用工程化方法指导软件开发、维护与管理的一门综合性课程,内容涉及软件分析、设计、实现、维护及项目管理相关的理论、技术、方法和CASE工具。
用户2225445
2023/10/16
3140
软件工程part02-软件需求与需求规约
软件工程part02-软件需求与需求规约
“软件工程”课程是软件工程专业的核心课程,是用工程化方法指导软件开发、维护与管理的一门综合性课程,内容涉及软件分析、设计、实现、维护及项目管理相关的理论、技术、方法和CASE工具。
用户2225445
2023/10/16
3060
软件工程part02-软件需求与需求规约
软件工程是什么<谷歌的软件工程师笔记>
对于谷歌工作的经验,是每个软件工程师都需要学习的知识,也许我们对于谷歌内部组织以及如何运行可能有不同的思考。
小诚信驿站
2022/04/27
2.3K0
软件工程是什么<谷歌的软件工程师笔记>
sdn和nfv是什么_他她它怎么区分
SDN初始于园区网络,一群研究者(斯坦福的达人们)在进行科研时发现,每次进行新的协议部署尝试时,都需要改变网络设备的软件,这让他们非常郁闷,于是乎,他们开始考虑让这些网络硬件设备可编程化,并且可以被集中的一个盒子所管理和控制,就这样,诞生了当今SDN的基本定义和元素
全栈程序员站长
2022/09/30
5350
sdn和nfv是什么_他她它怎么区分
【信管1.7】软件工程(一)需求工程
在软件工程的第一课中,我们要学习的就是需求。需求这个东西太重要了,因为在大部分失败的项目中,需求有误都是最主要的一个失败原因。具体的需求问题可能包含方方面面,可能是客户都搞不清楚他们想要什么,也可能是开发团队的理解有误,也有可能是技术实现问题。总之,需求非常重要。传统的软件工程中,需求都是非常重要的一个章节。不过在现在的真实业务开发中,需求这一块更多是由 产品经理 来把控,项目经理或者技术人员往往是和产品经理来进行沟通的。虽说可能需求分析对于现在的我们来说接触得比较少了,但是,对于软件工程这个学科来说,依然是一个核心的内容。因此,今天整篇文章的内容都是重点!
硬核项目经理
2023/03/02
2800
【信管1.7】软件工程(一)需求工程
功能点方法在需求管理中的应用
  软件项目面临的一个普遍困难就是需求的不确定与频繁变更, 有效管理软件需求要解决的一个基本问题是确定变更的粒度大小以及对项目的影响程度。
软件造价评估联盟
2019/06/17
9100
功能点方法在需求管理中的应用
经典软件工程复兴?大模型驱动的软件工程实践标准化
简单来说,本文探讨了大模型驱动的软件工程实践标准化,以及如何将需求和设计规范化为 DSL 格式。通过这种方式,可以让 AI 更自动化、高效地编写代码。
Phodal
2023/08/11
8950
经典软件工程复兴?大模型驱动的软件工程实践标准化
软件工程需求分析实验_实验设备管理系统需求分析
(2)对于由严重问题(故障)的要及时修理,并记录修理日期、设备名、编号、修理厂家、修理费用、责任人等。
全栈程序员站长
2022/11/04
7660
软件工程需求分析实验_实验设备管理系统需求分析
在React 中,state和props区别是什么?
在 React 中,props 和 state 是两个核心概念,用于管理组件的数据和状态。
王小婷
2023/09/17
4130
命令模式及其在Apache IoTDB中的应用丨社区分享
回想我们刚开始编程的时候,我们为了实现一个函数,于是根据这个函数开始设计它的输入输出,输入在写代码时我们一个一个敲入了函数接口中形成一堆参数,输出则放在函数的返回值中。
Apache IoTDB
2022/03/31
4440
命令模式及其在Apache IoTDB中的应用丨社区分享
需求变化的根源是什么?
在不按时算薪的行业里,软件开发应该是加班最多的一个行业。码农,是很多程序员用以自嘲的称谓。长时间的加班,大量的BUG,无穷无尽的特性,永远都在做的重构,伴随着程序员职业生涯的始终。对比国外的微软、GOOGLE公司那种轻松愉快的工作,国内的程序员的工作真的就如同面朝黄土背朝天的农民一样艰辛。很多程序员都坦承软件开发是一件体力活,程序员干不到三十岁的论断,也流传甚广。 软件项目一直是一种高风险的项目,除了产品是否畅销的市场风险,还有大量的产品在开发过程中夭折。 比如软件项目的主要开发团队离职,旧的代码无法给新的
韩伟
2018/03/05
1.4K0
需求变化的根源是什么?
软件架构-redis特性和集群特性(中)
1.slave向master发送sync命令。2.master开启子进程执行bgsave写入rdb文件,同时将子进程接收到的写命令缓存起来。3.子进程写完,父进程得知,开始将RDB文件发送给slave。4.master发送完RDB文件,将缓存的命令也发给slave。5.master增量的把写命令发给slave。
IT架构圈
2021/09/17
3690
软件架构-redis特性和集群特性(中)
Apply Changes 在 Android 11 中的增强特性
Apply Changes 是 Android Studio 中的一项功能,我们在 Android Studio 3.5 中引入了这项功能,以帮助开发者快速迭代您对应用所做的更改。Apply Changes 通过 JVMTI API 来判断是否可以使用此方式进行变更。在 Android 11 上,ART (Android 运行时) 扩展了 JVMTI API,引入了一个名为 Structural Class Redefinition (类的结构性重定义) 的新功能。该功能使 Apply Changes 在 Android 11 设备上增加了一类新的应用场景。现在,可以使用 Apply Changes 将更复杂的修改快速部署到正在运行的应用上,这包括:
Android 开发者
2021/01/29
9130
Apply Changes 在 Android 11 中的增强特性
Apply Changes 在 Android 11 中的增强特性
Apply Changes 是 Android Studio 中的一项功能,我们在 Android Studio 3.5 中引入了这项功能,以帮助开发者快速迭代您对应用所做的更改。Apply Changes 通过 JVMTI API 来判断是否可以使用此方式进行变更。在 Android 11 上,ART (Android 运行时) 扩展了 JVMTI API,引入了一个名为 Structural Class Redefinition (类的结构性重定义) 的新功能。该功能使 Apply Changes 在 Android 11 设备上增加了一类新的应用场景。现在,可以使用 Apply Changes 将更复杂的修改快速部署到正在运行的应用上,这包括:
Android 开发者
2021/01/29
6950
点击加载更多

相似问题

软件工程术语的需求本体

13

C标准中的条件特性是什么?

24

测试框架的标准特性是什么?

11

非交互式功能需求软件工程

117

将需求映射到Redmine中的特性的最佳方法是什么?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档