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

什么是软件需求

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

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

用户需求

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

软件需求

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

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

需求的三种类型

功能需求

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

非功能需求

其中典型的问题有两个:

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

设计约束

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

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

优秀需求的标准

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

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

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

需求工程解析

需求工程的范畴

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

需求工程工作要点

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

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

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

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

需求管理工作要点

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

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

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

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

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

需求分析人员的技能组成

需求分析人员的来源

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

各种能力培养的要点

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

SERU模型概述

需求定义阶段

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

理清脉络阶段

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

填充细节阶段

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

推荐一款适合做智慧旅游的前端模板

目录 前言 一、功能介绍 二、前端技术介绍 三、功能及界面设计介绍 1、数据概览 2、车辆监控 3、地图界面 4、其它功能 四、扩展说明 总结 前言 智慧旅游是一种全新的旅游业务模式,它充分利用先进的信息技术,提升旅游体验,优化旅游管…

【机器学习】Nonlinear Independent Component Analysis - Aapo Hyvärinen

Linear independent component analysis (ICA) x i ( k ) ∑ j 1 n a i j s j ( k ) for all i 1 … n , k 1 … K ( ) x_i(k) \sum_{j1}^{n} a_{ij}s_j(k) \quad \text{for all } i 1 \ldots n, k 1 \ldots K \tag{} xi​(k)j1∑n​aij​sj​(k)for all i1…n,k1…K()…

【done+重点】剑指Offer56-I:找出数组中2个只出现1次的整数

力扣,https://leetcode.cn/problems/shu-zu-zhong-shu-zi-chu-xian-de-ci-shu-lcof/description/ 题目:一个整型数组nums里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间…

前缀和——DP35 【模板】二维前缀和

文章目录 🍎1. 题目🍒2. 算法原理🍅3. 代码实现 🍎1. 题目 题目链接:【模板】二维前缀和_牛客题霸_牛客网 (nowcoder.com) 描述 给你一个 n 行 m 列的矩阵 A ,下标从1开始。 接下来有 q 次查询&#xff0…

Can‘t open the append-only file: Permission denied

redis rdb aof-CSDN博客 Cant open the append-only file: Permission denied E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit\redis.conf 还是不行,就要修改权限了,windows【完全控…

智慧储能边缘计算网关应用,提升能源效率

智慧储能通过边缘计算网关物联网技术来实现对储能电池等设备的在线监控和远程管理。边缘计算网关可以将储能数据转化为可用的信息,并传输到储能系统中,为储能管理提供优化与调度等数据支持。 边缘计算网关在智慧储能系统中起到了关键的作用。IR4000边缘计…

探究Kafka原理-1.初识Kafka

👏作者简介:大家好,我是爱吃芝士的土豆倪,24届校招生Java选手,很高兴认识大家📕系列专栏:Spring源码、JUC源码、Kafka原理🔥如果感觉博主的文章还不错的话,请&#x1f44…

PCIE链路训练-状态跳转1

A:12ms超时,或者再任何lane上检测到Electrical Idle Exit; B: 1.发送“receiver detection”之后没有一个lane的接收逻辑被rx检测到 2.不满足条件c,比如两次detection出现差别; C:发送端在没…

HarmonyOS(三)—— 应用程序入口—UIAbility

前言 学习过android的同学都是知道Activity,Activity是Android组件中最基本也是最为常见用的四大组件之一,用户可以用来交互为了完成某项任务。 Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setCon…

leetcode:520. 检测大写字母

一、题目: 链接:520. 检测大写字母 - 力扣(LeetCode) 函数原型:bool detectCapitalUse(char* word) 二、思路: 本题较为简单,分为三种情况: 1.首字母大写,其余小写 2.首字…

基于STM32的色彩识别与分类算法优化

基于STM32的色彩识别与分类算法优化是一项与图像处理和机器学习相关的研究任务,旨在实现高效的色彩识别和分类算法在STM32微控制器上的运行。本文将介绍基于STM32的色彩识别与分类算法优化的原理和实现步骤,并提供相应的代码示例。 1. 色彩识别与分类概…

红黑树java实现

红黑树的性质 红黑树是一课二叉搜索树,它在每个结点上增加了一个存储位来表示结点的颜色,可以使RED或BLACK。通过对任何一条从根到叶子的简单路径上各个结点的颜色进行约束,红黑树确保没有一条路径会比其他路径长出2倍,因而是近似…