软考 系统分析师系列知识点之需求管理(3)

 接前一篇文章:软考 系统分析师系列知识点之需求管理(2)

所属章节:

第11章. 软件需求工程

        第8节. 需求管理

11.8.4 需求跟踪

根据IEEE的定义,可跟踪性包含两个层面的含义一个是开发过程的两个或多个产品之间能够建立关系的程度,尤其是那些具有前后关系或主从关系的产品。例如,某个给定构件的需求和设计的匹配程度;另一个是软件开发产品中每个元素能够建立其存在理由的程度。例如,DFD中的每个元素定位它所满足需求的程度。

可跟踪性是软件需求的一个重要特征,需求跟踪是将单个需求和其它系统元素之间的依赖关系和逻辑联系建立跟踪。这些元素包括包括各种类型的需求、业务规则、系统架构和构件、源代码、测试用例以及帮助文件等。CMMI也要求具备需求跟踪能力,其对需求跟踪的定义是“在软件工作产品之间维护一致性”,其中工作产品包括软件计划、过程描述、分配需求、软件需求、软件设计、程序代码、测试计划和测试过程。CMMI中的“分配需求”是指项目启动前分配给该项目的需求,其实也就是用户的原始需求。

1. 需求跟踪的内容

根据国家标准GB/T8567-2006,SRS中的每个软件配置项的需求到其涉及的系统(或子系统)需求都要有双向可追踪性。所谓双向跟踪,包括正向跟踪和反向跟踪正向跟踪是指检查SRS中的每个需求是否能在后续工作成果中找到对应点反向跟踪也成为逆向跟踪,是指检查设计文档、代码、测试用例等工作成果是否都能在SRS中找到出处。需求跟踪涉及5种类型,如下图所示:

上图中的箭头表示需求跟踪能力联系链,它能跟踪需求使用的整个周期,即从需求建议到交付的全过程。

上图的左半部分表明,从用户原始需求可向前追溯到软件需求,这样就能区分出开发过程中或开发结束后由于变更而受到影响的需求,也确保了SRS中包括了所有用户需求;同样,可以从软件需求回溯到相应的用户原始需求,确认每个软件需求的出处。如果以用例的形式来描述用户需求,左半部分就是用例和功能性需求之间的跟踪情况。

上图的右半部分表明,由于在开发过程中,软件需求转变为设计和编码等实现元素,因此通过定义单个软件需求和特定的产品元素之间的联系链,可以从软件需求追溯到产品元素。这种联系链使开发人员知道每个需求对应的产品元素,从而确保产品元素满足每个需求。第四类联系链是从产品元素回溯到软件需求,使开发人员知道每个产品元素存在的原因。绝大多数项目不包括与用户需求直接相关的代码,但开发人员应该知道为什么要写这一行代码。如果不能把设计元素、代码段或测试用例回溯到一个软件需求,就可能出现画蛇添足的现象。当然,如果某个孤立的产品元素表明了一个正当的功能,则说明SRS漏掉了一项需求。

第五类联系链是软件需求之间的跟踪。这种跟踪便于更好地处理软件需求之间的逻辑相关性,检查需求分解中可能出现的错误或遗漏

2. 需求跟踪的目的

需求跟踪是一项劳动强度很大的任务,在整个系统开发、运行和维护的过程中,要始终保持联系链信息与实际相符。在项目实践中,使用需求追踪能力,可以获得如下好处:

(1)审核。跟踪能力信息可以帮助开发人员审核和确保所有需求都被正确应用。

(2)变更影响分析。在增、删、改需求时,跟踪能力可以确保不忽略每个受到影响的系统元素。

(3)维护。可靠的跟踪能力信息使得维护能够正确而完整地实施变更,从而提高生产率。

(4)项目跟踪。认真记录跟踪能力数据,就可以获得计划功能当前实现状态的记录。

(5)再工程。可以列出遗留系统中将要替换的功能,记录它们在新系统中的需求和在软件构件中的位置。

(6)重复利用。跟踪能力信息可以帮助开发人员在新系统中对相同的功能利用现有系统的相关资源。

(7)减小风险。需求联系文档化可减少由于项目团队关键成员离职带来的风险。

(8)测试。测试模块、需求和代码段之间的联系链,可以在测试出错时指出最可能有问题的代码段。

3. 需求跟踪矩阵

表示需求和其它系统元素之间的联系链的最普遍方式是使用需求跟踪(能力)矩阵。不论采用何种跟踪方式,都要建立与维护需求跟踪矩阵需求跟踪矩阵保存了需求与后继工作成果的对应关系。例如,从用户原始需求到软件需求之间的跟踪,可以采用如下表所示的矩阵:

                 用例

原始需求

UC-1UC-2UC-3……UC-n
FR-1
FR-2
……
FR-m

对于从软件需求到下游工作产品之间的跟踪,可以采用如下表所示的矩阵:

上表明确展示了每个用例是如何连接到一个或多个设计、编码和测试元素的。其中设计元素可以是模型中的对象,例如,DFD、E-R图或类图等;代码模块可以是类中的方法、源代码文件名、过程或函数。需求跟踪矩阵中可以定义各种系统元素类型间的一对一、一对多和多对多关系,也就是说,允许在上表的一个单元格中填入多个元素来实现这些特征。例如,一个代码模块对应一个设计元素,多个测试用例验证一个功能点,每个用例导致多个功能点等。

至此,“11.8 需求管理”的内容就全部讲解完了。

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

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

相关文章

统计图表在线配置服务-百度 SugarBI的学习笔记

最近,有个产品要支持统计图表在线可配置,这样,当用户有新增统计指标的需求时,运维人员通过界面化配置,就可以增加统计指标了,不用开发写代码,画页面了。 上网查了下相关的组件,感觉…

OSPF排错

目录 实验拓扑图 实验要求 实验排错 故障一 故障现象 故障分析 故障解决 故障二 故障现象 故障分析 故障解决 故障三 故障现象 故障分析 故障解决 故障四 故障现象 故障分析 故障解决 故障五 故障现象 故障分析 故障解决 故障六 故障现象 故障分析 …

Linux服务详解

如有错误或有补充,以及任何改进的意见,请在评论区留下您的高见,同时文中给出大部分命令的示例,即是您暂时无法在Linux中查看,您也可以知道各种操作的功能以及输出 如果觉得本文写的不错,不妨点个赞&#x…

曲线拟合、多项式拟合、最小二乘法

最近在做自车轨迹预测的工作,遇到 曲线拟合、多项式拟合、最小二乘法这些概念有点不清晰, 做一些概念区别的总结: 曲线拟合用于查找一系列数据点的“最佳拟合”线或曲线。 大多数情况下,曲线拟合将产生一个函数,可用于…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现SPI控制OLED屏幕

上一篇: [嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

Git 怎么设置用户的权限

在团队协作的软件开发中,对于版本控制系统Git来说,确保代码与数据的安全性至关重要。为了实现这一目标,Git提供了灵活且可定制的用户权限管理机制。下面将简单的探讨一下Git如何设置用户的权限,以及如何保护代码和数据。 用户身份…

提高 NFS Azure 文件共享性能

本文内容 适用于增加预读大小以提高读取吞吐量Nconnect另请参阅 本文介绍如何提高 NFS Azure 文件共享的性能。 适用于 展开表 文件共享类型SMBNFS标准文件共享 (GPv2)、LRS/ZRS 标准文件共享 (GPv2)、GRS/GZRS 高级文件共享 (FileStorage)、LRS/ZRS 增加预读大…

Spring Boot集成Redisson详细介绍

Redisson是一个用于Java的分布式和高可用的Java对象的框架,它基于Redis实现。在Spring Boot应用程序中集成Redisson可以帮助我们更轻松地实现分布式锁、分布式对象、分布式集合等功能。本文将介绍如何在Spring Boot项目中集成Redisson,并展示一些基本用法…

git远程仓库基本操作

目录 gitremote (查看远程仓库) git remote add [仓库名] [url] git clone [url](克隆远程仓库到本地) git push [名][分支名](提交到远程仓库)​编辑 git pull [名][分支名]从远程仓库拉取​编辑 注意操作…

混乱字母排序——欧拉路数论

题目描述 小明接到一个神秘的任务:对于给定的 n 个没有顺序的字母对(无序代表这两个字母可以前后顺序颠倒,区分大小写)。请构造一个有 (n1) 个字母的混乱字符串使得每个字母对都在这个字符串中出现。 输入输出格式 输入格式 第…

three.js CSS2DRenderer、CSS2DObject渲染HTML标签

有空的老铁关注一下我的抖音&#xff1a; 效果&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red;position: relative;"><…

SpringCloud_学习笔记_1

SpringCloud01 1.认识微服务 随着互联网行业的发展&#xff0c;对服务的要求也越来越高&#xff0c;服务架构也从单体架构逐渐演变为现在流行的微服务架构。这些架构之间有怎样的差别呢&#xff1f; 1.0.学习目标 了解微服务架构的优缺点 1.1.单体架构 单体架构&#xff…

FairGuard游戏加固入选《CCSIP 2023中国网络安全行业全景册(第六版)》

2024年1月24日&#xff0c; FreeBuf咨询正式发布《CCSIP 2023中国网络安全行业全景册(第六版)》。本次发布的全景图&#xff0c;共计展示20个一级分类、108个细分安全领域&#xff0c;旨在为广大企业提供网络安全产品选型参考&#xff0c;帮助企业了解中国网络安全技术与市场的…

一道sql注入的ctf题目致使用phpmyadmin上传 webshell 拿后台权限

以下均为靶场测试环境渗透&#xff0c;非正式环境。 遇见登录框&#xff0c;直接万能密码’or(11)or’/1 直接登录成功并返回结果: 既然存在sql注入&#xff0c;那就用sqlmap跑一下吧&#xff1a; 输出所有的数据库&#xff1a; sqlmap -u <目标URL> --dbs 要输出数据库…

docker中三种常用的持久化数据的方式

文章目录 介绍1.docker run -v2.volumes3.bind mounts 介绍 “前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。” 在Docker中&#xff0c;有以下三种常用的持久化数据的方式&#xff0c;可…

Kotlin快速入门系列10

Kotlin的委托 委托模式是常见的设计模式之一。在委托模式中&#xff0c;有两个对象参与处理同一个请求&#xff0c;接受请求的对象将请求委托给另一个对象来处理。与Java一样&#xff0c;Kotlin也支持委托模式&#xff0c;通过关键字by。 类委托 类的委托即一个类中定义的方…

2024美赛数学建模A题思路分析 - 资源可用性和性别比例

1 赛题 问题A&#xff1a;资源可用性和性别比例 虽然一些动物物种存在于通常的雄性或雌性性别之外&#xff0c;但大多数物种实质上是雄性或雌性。虽然许多物种在出生时的性别比例为1&#xff1a;1&#xff0c;但其他物种的性别比例并不均匀。这被称为适应性性别比例的变化。例…

【Javaweb程序】【C00155】基于SSM的旅游旅行管理系统(论文+PPT)

基于SSM的旅游旅行管理系统&#xff08;论文PPT&#xff09; 项目简介项目获取开发环境项目技术运行截图 项目简介 这是一个基于SSM的旅游旅行管理系统 本系统分为前台系统模块、管理员模块、用户模块以及商家模块 其中前台系统模块的权限为&#xff1a;当游客打开系统的网址后…

C++ 数论相关题目 博弈论:拆分-Nim游戏

给定 n 堆石子&#xff0c;两位玩家轮流操作&#xff0c;每次操作可以取走其中的一堆石子&#xff0c;然后放入两堆规模更小的石子&#xff08;新堆规模可以为 0 &#xff0c;且两个新堆的石子总数可以大于取走的那堆石子数&#xff09;&#xff0c;最后无法进行操作的人视为失…

Scrum敏捷开发企业培训-敏捷研发管理

课程简介 Scrum是目前运用最为广泛的敏捷开发方法&#xff0c;是一个轻量级的项目管理和产品研发管理框架。 这是一个两天的实训课程&#xff0c;面向研发管理者、项目经理、产品经理、研发团队等&#xff0c;旨在帮助学员全面系统地学习Scrum和敏捷开发, 帮助企业快速启动敏…