什么是软件需求?以及需求的最佳实践?

news2024/11/15 9:03:05

什么是软件需求

业务需求是反应企业组织对软件系统的高层次目标要求,换句话说就是软件系统的建设目标,常常体现在这两个方面:问题和机会。

要记住:出发点不同,精神面貌就完全不一样,当然如果目标过于夸大也是不行的。可能会导致不必要的资源浪费。

用户需求

用户需求是指描述的是用户使用软件需要完成什么样的任务,怎样完成的需求。通常是在业务需求定义的基础上进行用户访谈、调查、,对用户的使用场景进行整理,从而建立用户角度的需求。换句话说就是用户需求是需求捕捉的产物,所具有的特点如下:

软件需求

正如前面所说到的,用户需求具有零散、存在矛盾的特点。以需求分析人员还需要对其进行分析、整理和提炼,从而生成知道代发的、更精确的软件需求。换句话说就是软件需求是需求分析与建模的产物。

  • 问题:解决企业运作的过程中遇到的问题。
  • 机会:抓住外部环境变化所带来的机会,以便为企业带来新的发展。
  • 零散:用户会提出不同角度和不同层面不同粒度的需求,而且通常是以一句话的实行表示出来。
  • 存在矛盾:由于用户处于企业的不同层面,因此难免出现盲人摸象的现象。

需求的三种类型

功能需求

对于软件需求而言最为关键的就是如何进行组织否则一句话、一句话地描述就会显得十分零散。而且很难保证开发人员注意满足这些需求。

非功能需求

其中典型的问题有两个:

  • 信息传递的无效性:很多需求规格说明书里面会通过一个名为设计原则的小节来说明非功能需求。
  • 忽略了非功能需求的局部性:更为科学的做法是抓住具体的场景来描述

设计约束

  • 非技术因素决定的技术类型:对于软件开发而言,有些技术选型并不是由技术团队决定,而会受到企业实际情况的影响。

  • 预期的软硬件环境:技术开发团队在决定架构、选择实现技术时会受到企业实际的软硬件环境的影响。

优秀需求的标准

完整性:就是使需求没有遗漏,也就是在需求变更中,新需求所占的比例的量不大。而且这些新需求都是因为外部环境的变化而产生的。

不失真:需求的正确性和无歧义性是一组相关的要求,指的是确保需求在信息传递的过程中不失真。

有优先级:想要更好地对项目进行管理就需要有效的区分优先级。

需求工程解析

需求工程的范畴

需求工程包括需求开发和需求管理两大范畴,需求开发是收集、分析、整理、编写、验证需求的全过程。重点在于开发出高质量的需求规格说明。需求管理则是对需求的实现、变化进行追踪的全过程,重点在于确保开发的软件满足这些需求。

需求工程工作要点

需求获取:需求获取也是需求捕获,但是其中出现的问题主要体现在捕获范围不足、缺乏计划性、捕获对象不明确、捕获手段不明确。

需求分析:需求分析是需求开发过程中的核心任务。

编写规范:编写规范就是将需求分析结果文档化的过程,对于比较规范化的开发组织而言,都会重视这个活动。

需求验证:对于需求验证工作,大多数组织都不够重视,有时只是找一个客户代表签字确认,有时甚至直到交付系统通过测试系统来验证。

需求管理工作要点

具体来说,需求管理工作包括基线管理、变更管理和需求跟踪。

统一、明确的需求项划分标准:要对需求进行有效的管理、就必须有清晰、统一、明确的标准将需求划分为具体的需求项。

引入基线管理:就会把需求分为两大类,一类是已经开始的基线内的需求、另一类就是还没有安排开发的待处理项目。

引入变更管理:引入变更管理是十分重要的,就需求管理的范畴而言,重点在于完成业务影响分析、技术影响分析、项目影响分析三方面。

引入需求跟踪:在对变更的影响进行分析时,就会发现很难精确的评价变更将影响那些需求项、那些设计元素、只能凭借印象和经验。而要想真正的做到精确的量化评估,就需要通过跟踪活动来积累信息。

需求分析人员的技能组成

需求分析人员的来源

他的三大技能是横跨文、理两大学科的,因此想要找集三方面特长于一身的人 很难,因此通常需求通过团队协作来解决这一矛盾。

各种能力培养的要点

沟通能力是最重要的,通过改变思维模式不断训练是可以提高的。

SERU模型概述

需求定义阶段

需求定义阶段就是项目的立项阶段,也与RUP的初始化阶段相对应。

理清脉络阶段

相当于需求捕获、分析和建模的阶段一,对应RUP中细化阶段的第一次迭代。

填充细节阶段

相当于需求捕获、分析与建模的阶段二、在RUP中将从细化阶段的第二次迭代开始直到构建阶段完成。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1236141.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SMU可以供电的同时测量电流和电压

SMU可以供电的同时测量电流和电压 SMU本身能够提供电流或电压,同时测量负载或被测设备(DUT:Device Under Test)上的电流和电压。这是与传统电源相比使用SMU的优势之一。 SMU测量的电流和电压值将反映在NI-DCPower软面板中&#…

flutter创建不同样式的按钮,背景色,边框,圆角,圆形,大小都可以设置

在ui设计中,可能按钮会有不同的样式需要你来写出来,所以按钮的不同样式,应该是最基础的功能,在这里我们赶紧学起来吧,web端可能展示有问题,需要优化,但是基本样式还是出来了 我是将所有的按钮放…

【ARFoundation学习笔记】2D图像检测跟踪

写在前面的话 本系列笔记旨在记录作者在学习Unity中的AR开发过程中需要记录的问题和知识点。主要目的是为了加深记忆。其中难免出现纰漏,更多详细内容请阅读原文以及官方文档。 汪老师博客 文章目录 2D图像检测创建一个图像检测工程图像追踪的禁用和启用多图像追踪…

基于AVR单片机的移动目标视觉追踪系统设计与实现

基于AVR单片机的移动目标视觉追踪系统是一种常见的应用领域,旨在通过摄像头采集图像数据并使用图像处理和追踪算法实现对移动目标的实时追踪。本文将介绍基于AVR单片机的移动目标视觉追踪系统的设计原理和实现步骤,并提供相应的代码示例。 1. 设计概述 …

完美解决k8s master节点无法ping node节点中的IP或Service NodePort的IP

1、问题一 使用搭建好了K8S集群,先是node节点加入k8s集群时,用的内网IP,导致master节点无法操作node节点中的pod(这里的不能操作,指定是无法查看node节点中pod的日志、启动描述、无法进入pod内部,即 kubec…

北邮22级信通院数电:Verilog-FPGA(10)第十周实验 实现移位寄存器74LS595(仿真方法验证)

北邮22信通一枚~ 跟随课程进度更新北邮信通院数字系统设计的笔记、代码和文章 持续关注作者 迎接数电实验学习~ 获取更多文章,请访问专栏: 北邮22级信通院数电实验_青山如墨雨如画的博客-CSDN博客 使用FPGA开发板验证的教程,请参考 北邮…

HarmonyOS ArkTS 基础组件的使用(四)

1 组件介绍 组件(Component)是界面搭建与显示的最小单位,HarmonyOS ArkUI声明式开发范式为开发者提供了丰富多样的UI组件,我们可以使用这些组件轻松的编写出更加丰富、漂亮的界面。 组件根据功能可以分为以下五大类:…

HCIP-三、VRRP+BFD

三、VRRPBFD 实验拓扑实验需求及解法 实验拓扑 实验需求及解法 //本实验模拟某公司网关冗余结构,按以下要求完成配置: //1.如图所示,配置 R1/2/3 的设备名称及 IP 地址。 //2.内外网通信。 //2.1 在 R1/2 上配置默认路由,保证 R1…

武汉凯迪正大—盐雾试验机

产品概述 武汉凯迪正大KDYD-YW盐雾试验箱乃针对各种材质表面处理,包含涂料、电镀、有机及无机皮膜,阳极处理,防锈油等防腐处理后测试其耐腐蚀性,从而确立产品的质量。 产品特点 1、结构紧凑,体积小、携带方便&#…

vue中原生H5拖拽排序_拖拽图片也是同样的道理

原文地址【vue中原生H5拖拽排序_拖拽图片也是同样的道理】 H5有基于拖拽的事件机制&#xff0c;如果你还不熟悉&#xff0c;请看我之前的文章【拖拽上传】中有介绍。 原生拖拽API实现 由于比较简单直接上代码了&#xff1a; <!DOCTYPE html> <html lang"en&qu…

【DevOps】Git 图文详解(六):Git 利器 - 分支

Git 利器 - 分支 1.分支 Branch2.分支指令 &#x1f525;3.分支的切换 checkout4.合并 merge & 冲突4.1 &#x1f538; 快速合并&#xff08;Fast forward&#xff09;4.2 &#x1f538; 普通合并4.3 处理冲突 <<<<<<< HEAD 5.变基 rebase 分支是从主…

CFCA证书——基于SM2/3算法的安全信任

在中国金融认证中心&#xff08;CFCA&#xff09;发行的证书中&#xff0c;采用了最新的国密SM2/3算法来提供更高的安全保障。这一创新举措进一步增强了我国网络安全能力&#xff0c;并为用户提供了一种更可靠、更安全的选择。 SM2/3算法是中国自主研发的非对称加密算法&#…

hisi芯片常见专有名词总结SVP MPP NNIE ACL

1.SVP&#xff1a; Smart Vision Platform是海思媒体处理芯片智能视觉异构加速平台。该平台包含了 CPU、DSP、NNIE(Neural Network Inference Engine)等多个硬件处理单元和运行在这些 硬件上 SDK 开发环境&#xff0c;以及配套的工具链开发环境。 不同芯片下的 SVP 硬件资源…

基于SpringBoot+MyBatis-Plus的校园图书管理系统

基于SpringBootMyBatis-Plus的校园图书管理系统 校园图书管理系统开发技术功能模块代码结构数据库设计运行截图源码获取 校园图书管理系统 欢迎访问此博客&#xff0c;是否为自己的毕业设计而担忧呢&#xff1f;是否感觉自己的时间不够做毕业设计呢&#xff1f;那你不妨看一下…

7.Gin 路由详解 - 路由分组 - 路由文件抽离

7.Gin 路由详解 - 路由分组 - 路由文件抽离 前言 在前面的示例中&#xff0c;我们直接将路由的定义全部写在 main.go 文件中&#xff0c;如果后面 路由越来越多&#xff0c;那将会越来越不好管理。 所以&#xff0c;下一步我们应该考虑将路由进行分组管理&#xff0c;并且将其抽…

pygame播放视频并实现音视频同步

一、前言 在我接触pygame时最新的pygame已经不支持movie模块&#xff0c;这就导致在pygame播放视频变成一个问题&#xff0c;网上搜了下解决方案有两个&#xff1a; 一是使用opencv播放视频&#xff0c;再结合pygame.mixer来播放音频 二是使用moviepy播放视频&#xff0c;再…

iOS越狱检测总结

文章目录 前言检测越狱文件私有目录检测检测越狱软件检测系统目录是否变为链接动态库检测环境变量检测系统调用检测指令集调用检测其他方式检测 前言 在之前的文章中&#xff0c;已经带大家一起制作了一个屏蔽越狱检测的Tweak。本文就和大家一起学习整理一下iOS系统中有哪些越…

某60区块链安全之Call函数簇滥用实战一学习记录

区块链安全 文章目录 区块链安全Call函数簇滥用实战一实验目的实验环境实验原理实验内容实验过程 Call函数簇滥用实战一 实验目的 学会使用python3的web3模块 学会以太坊Delegatecall漏洞分析及利用 实验环境 Ubuntu18.04操作机 实验工具 python3 实验原理 call 外部调用…

Java项目实战《苍穹外卖》 三、登录功能

测测你是什么人格吧&#xff0c;地址&#xff1a; MBTI 16种人格测试官网 系列文章目录 苍穹外卖是黑马程序员2023年的Java实战项目&#xff0c;作为业余练手用&#xff0c;需要源码或者课程的可以找我&#xff0c;无偿分享 Java项目实战《苍穹外卖》 一、项目概述Java项目实战…

c语言上机作业:给函数增加防御机制

1.题目 2.思路 1.首先&#xff0c;我们可以知道&#xff0c;我们必须先要把z求出来&#xff0c;但这里需要注意的是x&#xff0c;y并不包含了全部的定义域&#xff0c;所以我们必须先判断是否输入的数据满足条件。而这&#xff0c;就是我们所需要突破的函数的防御&#xff0c;…