0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

软件需求基本面基本知识详解

汽车电子工程知识体系 ? 来源:汽车电子硬件设计 ? 作者:汽车电子硬件设计 ? 2021-02-16 10:05 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

介绍

软件需求知识领域(KA)涉及软件需求的获取、分析、规范和验证,以及软件产品整个生命周期的需求管理。研究人员和行业从业者普遍认为,当需求相关的活动执行得不好时,软件项目是非常脆弱的。

软件需求表达了软件产品上的需求和约束,这些需求和约束有助于解决一些现实世界的问题。

术语“需求工程”在该领域中被广泛使用,以表示对需求的系统处理。出于一致性的原因,除了软件工程本身之外,术语“工程”将不会在这个知识领域中使用。

出于同样的原因,在一些文献中出现的术语“需求工程师”也不会被使用。相反,术语“软件工程师”或者,在某些特定的情况下,“需求专家”将被使用,后者所涉及的角色通常是由个人而不是软件工程师来执行的。然而,这并不意味着软件工程师不能执行该功能。

拟议故障的内在风险是,可能会推断出类似瀑布的过程。为了防止这种情况发生,主题2,需求过程,被设计为通过列出过程运行和配置它的资源和约束来提供一个高层次的需求过程概述。

可选的分解可以使用基于产品的结构(系统需求、软件需求、原型、用例,等等)。基于过程的分解反映了这样一个事实,即需求过程如果要成功,就必须被看作是一个包含复杂的紧密耦合活动(包括顺序的和并发的)的过程,而不是在软件开发项目开始时执行的离散的、一次性的活动。

软件需求知识领域与软件设计、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程模型和方法、软件质量知识领域密切相关。

1.软件需求基本面

1.1软件需求的定义

从最基本的意义上说,软件需求是为了解决现实世界中的某些问题而必须表现出来的一种属性。它的目标可能是自动化某个人的部分任务,以支持组织的业务过程,纠正现有软件的缺陷,或控制设备——这只是软件解决方案可能解决的众多问题中的一小部分。用户、业务过程和设备的运作方式通常是复杂的。因此,通过扩展,对特定软件的需求通常是来自组织不同级别的各种人员的复杂组合,这些人员以某种方式涉及到或与软件将在其中运行的环境中的此特性有关。

所有软件需求的一个基本属性是,它们可以作为功能需求的单个特性进行验证,或者在系统层面上作为非功能需求进行验证。验证某些软件需求可能是困难的或昂贵的。例如,验证呼叫中心的吞吐量需求可能需要开发仿真软件。软件需求、软件测试和质量人员必须确保在可用的资源限制范围内验证需求。

除了行为属性之外,需求还有其他属性。常见的例子包括在资源有限的情况下使用优先级评级来进行权衡,以及使用状态值来监控项目进度。通常,软件需求是唯一确定的,这样它们就可以在整个软件特性和软件的生命周期中接受软件配置管理。

1.2产品和过程要求

产品需求是对要开发的软件的需求或约束(例如,“在学生注册一门课程之前,软件应该验证他或她满足了所有的先决条件”)。过程需求本质上是软件开发的约束(例如,“软件应该使用RUP过程开发”)。

一些软件需求生成隐式过程需求。选择验证技术就是一个例子。另一种可能是使用特别严格的分析技术(例如形式规范方法)来减少可能导致不充分可靠性的错误。过程需求也可能由开发组织、他们的客户或第三方(如安全监管者)直接施加。

1.3功能性和非功能性需求

功能需求描述软件要执行的功能;例如,格式化一些文本或调制一个信号。它们有时被称为功能或特性。功能性需求也可以被描述为可以为其编写有限的测试步骤集来验证其行为的需求。

非功能性需求是用来约束解决方案的需求。非功能性需求有时被称为约束或质量需求。根据它们是性能需求、可维护性需求、安全性需求、可靠性需求、安全性需求、互操作性需求还是许多其他类型的软件需求之一,它们可以被进一步分类(参见软件质量知识领域中的模型和质量特征)。

1.4突现属性

有些需求代表了软件的突现特性——也就是说,这些需求不能由单个组件解决,而是依赖于所有软件组件如何互操作。例如,呼叫中心的吞吐量需求取决于电话系统、信息系统和操作员在实际操作条件下如何相互作用。突现属性非常依赖于系统架构。

1.5可量化的需求

软件需求应该尽可能清晰和明确地表述,如果合适的话,还应该定量地表述。重要的是要避免模糊和无法验证的需求,这些需求依赖于主观判断的解释(“软件应该是可靠的”;“本软件应易于使用”)。这对于非功能性需求尤其重要。量化需求的两个例子如下:呼叫中心的软件必须将该中心的吞吐量提高20%;和一个系统都有一个概率生成一个致命错误在任何小于1 * 10-8小时的运行。吞吐量需求处于非常高的水平,将需要用于派生许多详细的需求。可靠性要求将严格限制系统的架构。

1.6系统需求和软件需求

在本主题中,“系统”指的是实现既定目标的要素相互作用的组合。这些包括硬件、软件、固件、人员、信息、技术、设施、服务和其他支持元素,根据国际软件和系统工程委员会(INCOSE)的定义。

系统需求是对整个系统的需求。在一个包含软件组件的系统中,软件需求是从系统需求派生出来的。

这个知识领域以一种受限的方式定义了“用户需求”,即系统的客户或最终用户的需求。相比之下,系统需求包含用户需求、其他利益攸关方的需求(比如监管部门),以及没有可识别的人力资源的需求。

责任编辑:PSY

原文标题:软件需求基本面

文章出处:【微信公众号:汽车电子硬件设计】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5182

    浏览量

    89659
  • 智能硬件
    +关注

    关注

    205

    文章

    2389

    浏览量

    109475
  • 需求量
    +关注

    关注

    0

    文章

    3

    浏览量

    2435

原文标题:软件需求基本面

文章出处:【微信号:QCDZYJ,微信公众号:汽车电子工程知识体系】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    润和软件“润知“知识处理大模型荣登“2025中国大模型TOP30”榜单

    知识处理大模型成功入选。这一荣誉不仅体现了润和软件在多模态大模型技术上的领先地位,也标志着其在推动企业智能化转型方面迈出了坚实一步。 ?润和软件“润知”知识处理大模型荣登“2025中
    的头像 发表于 08-22 10:13 ?1189次阅读

    知识分享 | 敏捷方法在基于模型的软件开发项目中的应用

    传统的瀑布式软件开发流程存在诸多局限,这使得应用敏捷原则变得尤为重要,尤其是面对复杂且不断变化的开发环境时。作为最高效的软件开发方法之一,基于模型的开发(MBD)具有诸多优势。将敏捷原则融入MBD
    的头像 发表于 07-16 16:52 ?779次阅读
    <b class='flag-5'>知识</b>分享 | 敏捷方法在基于模型的<b class='flag-5'>软件</b>开发项目中的应用

    北京顶尖软件开发公司大盘点:谁能满足您的定制需求

    软件
    北京华盛恒辉科技
    发布于 :2025年06月06日 14:50:13

    PanDao应用:形参数

    什么是“形参数”? 在PanDao软件中,每个光学元件的保护倒角(protective chamfers)成本已包含在中心研磨成本中。 所谓的形台阶结构是通过模压成型或在完成中心研磨步骤后(在
    发表于 06-04 08:42

    一体化设计+模块化生产:垫机如何适配圆柱电池多规格需求

    提出了极高要求。垫机,作为圆柱电池生产过程中的重要设备,其一体化设计与模块化生产理念,为适配多规格电池需求提供了有效解决方案。 一体化设计:提升设备整体性能 一体化设计是指将垫机的各个功能模块进行有机整合,形成一个紧
    的头像 发表于 04-10 10:24 ?330次阅读

    简体中文版 永磁同步电机磁场定向控制 (PMSM FOC)软件库 V2.0

    ,永磁电机驱动器和功率逆变器的硬件的基本知识。需要定制现有模块和添加一个新型的完整应用开发时才需要深入了解 STM32F103xx 功能。 本用户手册介绍了永磁同步电机(PMSM)FOC 软件库,STM32F103xx 微控制器就是针对磁场定向控制(FOC)3 相永磁电机
    发表于 03-04 21:27

    直流电机基本知识彩色PDF来啦

    1 直流电机的工作原理、主要结构、额定值 2直流电机的电枢绕组 3直流电机的电枢反应 4电枢绕组感应电动势和电磁转矩 5直流电机换向 一文带你了解直流电机基本知识,免费下载
    发表于 02-28 01:28

    干货推荐!去耦电容的基本知识

    忽视的感抗。电源不完美的需求响应特性也会造成影响。最终,即使是看似微不足道的数字切换也可能在整个电路中引起显著的电压波动和电气噪声。 下面的示波器图显示了常用的 ATmega MCU 反复切换几个未
    发表于 02-17 11:21

    架构性需求的基础知识

    第一次接触“架构性需求”,大约在六年前,当时一位大佬指导我们说,在前期产品规划时,最重要的就是找到“架构性需求”。本人就一头的问号,“架构性需求”是什么?我没有听错吧?当时也没怎么放在心上,直到近年
    的头像 发表于 11-15 11:01 ?720次阅读
    架构性<b class='flag-5'>需求</b>的基础<b class='flag-5'>知识</b>

    详解MySQL多实例部署

    详解MySQL多实例部署
    的头像 发表于 11-11 11:10 ?736次阅读

    IGB基本知识汇总

    本文对IGBT领域的深入研究与综合剖析成果,首先与您分享关于IGBT的基本原理及其构成元素,如芯片、单管及模块等方面的知识。接下来将共同关注的是IGBT在各个行业中的广泛应用。
    的头像 发表于 10-29 10:15 ?1320次阅读
    IGB<b class='flag-5'>基本知识</b>汇总

    知识分享 | 轻松实现优质建模

    知识分享在知识分享栏目中,我们会定期与读者分享来自MES模赛思的基于模型的软件开发相关Know-How干货,关注公众号,随时掌握基于模型的软件设计的技术
    的头像 发表于 09-12 08:08 ?830次阅读
    <b class='flag-5'>知识</b>分享 | 轻松实现优质建模

    IPV6基础知识详解

    IPv6是互联网协议的第6版,用于替代广泛使用的IPv4协议。随着互联网的快速发展,IPv4地址空间逐渐枯竭,无法满足全球不断增长的设备连接需求。IPV6具有庞大的地址空间,能够为全球每一台设备都
    的头像 发表于 09-05 10:56 ?1953次阅读
    IPV6基础<b class='flag-5'>知识</b><b class='flag-5'>详解</b>

    堆栈和内存的基本知识

    本文主要聊聊关于堆栈的内容。包括堆栈和内存的基本知识。常见和堆栈相关的 bug,如栈溢出,内存泄漏,堆内存分配失败等。后面介绍软件中堆栈统计的重要性,以及如何使用工具工具软件中堆栈使用的范围,并给出在
    的头像 发表于 08-29 14:10 ?1135次阅读
    堆栈和内存的<b class='flag-5'>基本知识</b>

    光刻工艺的基本知识

    在万物互联,AI革命兴起的今天,半导体芯片已成为推动现代社会进步的心脏。而光刻(Lithography)技术,作为先进制造中最为精细和关键的工艺,不管是半导体芯片、MEMS器件,还是微纳光学元件都离不开光刻工艺的参与,其重要性不言而喻。本文将带您一起认识光刻工艺的基本知识
    的头像 发表于 08-26 10:10 ?2346次阅读
    光刻工艺的<b class='flag-5'>基本知识</b>