软考 系统分析师系列知识点之需求获取(7)

所属章节:

第11章. 软件需求工程

        第2节. 需求获取

需求获取是一个确定和理解不同的项目干系人的需求和约束的过程。需求获取是一件看上去很简单、做起来却很难的事情。需求获取是否科学、准备是否充分,对获取出来的结果影响很大,这是因为大部分用户无法完整地描述需求,而且也不可能看到系统的全貌。因此,需求获取只有通过系统分析师与用户的有效合作才能成功。系统分析师必须建立一个对问题进行彻底探讨的环境,而这些问题与将要开发的系统有关。让用户明确了解,对于某些功能的讨论并不意味着将在系统中实现它。

作为一名系统分析师,掌握各种不同的需求获取技术,并且熟练地在实践中运用它,是十分必要的。本节就一些最常用的需求获取技术进行展开讨论。

11.2.6 需求记录技术

在需求获取的过程中,将会产生大量的信息,系统分析师要将这些信息有条理地记录下来,就需要借助一些工具。在信息系统开发实践中,有时候进行需求获取的人员和进行需求分析的人员不是同一个人或团队,有时候在同一个项目中有多个系统分析师参加需求获取,因此,需要统一需求记录工具,以便让所有人的获取结果是同一口径的

常用的需求记录工具任务卡片场景说明用户故事Volere白卡等。

1. 任务卡片

在各种需求记录工具中,任务卡片是一种比较简单的工具,它特别适合对业务活动级的信息收集与整理。常用的任务卡片如图11-2所示:

在图11-2中,各个项目的内容及解释如表11-3所示:

增强版任务卡片在基本任务卡片的基础上,增加了问题点描述和解决方案提示。其中,方案示例是针对问题点,系统需要实现什么样的功能,以便验证这些解决方案是否能够解决用户提出的问题。

2. 场景说明

有时候,系统分析师可能很难总结出子任务和任务变体,因为这需要对任务执行过程进行抽象。此时,系统分析师可以使用场景说明来对用户的描述进行整理,抽象出子任务。简单地理解,场景说明就是用户对其工作场景和过程的详细描述,这些描述将在编写测试用例用户培训手册中再次用到。

3. 用户故事

用户故事描述了对用户有价值的功能,可包括三个方面内容,分别是:书面描述(用于计划和备忘)交谈(细化故事)测试用例(验证故事实现)用户故事描述的传统形式是手工书写的用户故事卡。系统分析师辅助用户编写,告诉用户所编写的故事是进一步讨论的引子,而不是详细的需求规范。在任何项目中,需要用户团队根据故事的重要性来安排开发工作,回答所有开发问题,编写所有的故事在编写故事之前应该建立用户角色模型,必须包含对项目成功至关重要的角色尽量保证所有用户对系统完全满意

用户故事具有6个基本属性独立性可协商性对用户有价值可预测性短小精悍可测试性

(1)独立性

尽可能避免故事之间存在依赖关系,因为依赖关系会产生优先级和规划问题。

(2)可协商性

故事是可协商的,不是必须实现的书面合同或者需求。

(3)对用户有价值

确保每个故事对用户有价值的最好方式是让用户编写故事。

(4)可预测性

系统分析师应该能够预测(至少大致猜测)故事的规模,以及实现所需要的工作量

(5)短小精悍

故事规模对实现有影响,何种故事规模最合适,取决于开发团队的规模和能力,以及技术实现等方面

(6)可测试性

所编写的故事必须是可测试的

4. Volere白卡

Volere白卡是一种类似于任务卡片的需求记录工具,其格式如图11-4所示:

用户故事和Volere白卡定位的是最小的需求项,因此在实际应用中会导致量比较大,一般在敏捷方法中使用

系统分析师在选择需求记录工具时,既可以借鉴现有的模板,也可以根据自己的需要进行扩展或重新定义。另外,选择记录工具时要考虑项目团队所使用的开发方法用户的实际情况系统分析师的技能等因素

至此,“11.2.6 需求记录技术”的全部内容就讲解完了。“11.2 需求获取”的全部内容也都讲解完了。

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

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

相关文章

Leetcode刷题(十八)

一、203. 移除链表元素 代码: class Solution:def removeElements(self, head: Optional[ListNode], val: int) -> Optional[ListNode]:while head and head.val val:head head.nextpre, cur head, headwhile cur:if cur.val val:pre.next cur.nextelse:p…

全闪存加速信创数据库数仓一体机解决方案

立足行业,深度解读 在新的大数据生态中,传统数据库/数据仓库技术和产品成为大数据生态中的组成部分,对结构化数据的存储和计算进行支撑。 数据库&数据仓库一体机是高端、核心数据管理产品,在我国党政、银行、交通等领域广泛…

nginx出现 “414 request-uri too large”

nginx出现 “414 request-uri too large” 1.修改传参方式 POST 2.字段能变成后端获取就自己获取,不用前端传 3.修改nginx配置,添加client_header_buffer_size 512k;large_client_header_buffers 4 512k;配置

2022年CSP-J认证 CCF信息学奥赛C++ 中小学初级组 第一轮真题-完善程序题解析

2022CCF认证第一轮&#xff08;CSP-J&#xff09;真题 三、完善程序题 第一题 枚举因数 从小到大打印正整数n的所有正因数。试补全枚举程序 #include <iostream> using namespace std;int main(){int n;cin >> n;vector<int> fac;fac.reserve((int)ceil(…

C++的引用

目录 引用 常引用 指针与引用的关系 小拓展 引用的价值 做形参 传值、传引用的效率比较 做返回值 函数传值返回 函数传引用返回&#xff08;错误示范&#xff09; 野引用&#xff08;错误示范&#xff09; 引用的正常应用 值和引用作为返回值类型的性能比较 引用和…

spring-boot-starter-parent和spring-boot-dependencies介绍

springboot项目的pom文件中&#xff0c;我们经常看见这样(下图)两种springboot的版本依赖管理方式&#xff1b;图片中的这两种依赖声明方式任意用其中一种都可以。文章后面会简单阐述一下区别和使用场景。 事例中完整的pom文件 <?xml version"1.0" encoding&quo…

阿尔卡特Adixen ADP/ADS 系列 2 干泵使用说明

阿尔卡特Adixen ADP/ADS 系列 2 干泵使用说明

HTML教程(3)——常用标签(1)

一、图片标签 1.场景&#xff1a;在网页中显示图片 2.基本写法&#xff1a; <img src""> 3.特点&#xff1a;单标签&#xff0c;img标签需要展示对应的效果&#xff0c;需要借助其属性进行设置 4常用属性&#xff1a; src&#xff1a;其属性值为目标图片…

【框架】Spring 框架重点解析

Spring 框架重点解析 1. Spring 框架中的单例 bean 是线程安全的吗&#xff1f; 不是线程安全的 Spring 框架中有一个 Scope 注解&#xff0c;默认的值是 singleton&#xff0c;即单例的&#xff1b;因为一般在 Spring 的 bean 对象都是无状态的&#xff08;在生命周期中不被…

解决Mybatis报Type interface *.*Mapper is not known to the MapperRegis

解决Mybatis报Type interface *.*Mapper is not known to the MapperRegis 问题发现问题解决方法一&#xff1a;检查Mapper文件的namespace路径是否正确方法二&#xff1a;使用其他方法是否正确 问题发现 在学习MyBatis框架的时候&#xff0c;不使用 XML 构建 SqlSessionFacto…

Project_Euler-44 题解

Project_Euler-44 题解 题目 思路 题目给出了一个性质&#xff0c;让我在对应性质的数据中找出目标值&#xff0c;这种问题首先想到的就是枚举。 我们可以枚举 P k P_k Pk​ &#xff0c;对于每一个 P k P_k Pk​ &#xff0c;我们再枚举 P j P_j Pj​&#xff0c; P j P_…

【ue5】滑铲系统蓝图笔记

大致逻辑如下&#xff1a; 一、导入动画 滑铲蹲待机蹲行走 导入到文件夹中 可以右键设置颜色&#xff0c;便于区分。 二、调整动画 1.启动根运动 启动根运动后&#xff0c;人物才可以位移&#xff0c;不然只能在原地。 打开动画序列&#xff0c;勾选启用根运动Enabled…

用node或者vscode开启一个简单的本地server服务器,加载html网页

使用Live Server 想要加载本地html页面可以快速能让它在你本地浏览器中打开&#xff0c;可以有好多种方式&#xff0c;如果你有使用vscode&#xff0c;可以安装一个插件&#xff1a;Live Server&#xff0c;然后直接在vscode中直接右键就可以开启这个服务&#xff1a; 安装好之…

C++基于多设计模式下的同步异步日志系统day2

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;C基于多设计模式下的同步&异步日志系统 &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 主要内容实现了日志代码设计的实…

select,poll和epoll有什么区别

它们都是NIO中多路复用的三种实现机制&#xff0c;是由linux操作系统提供的。 用户空间和内核空间&#xff1a;操作系统为了保证系统安全&#xff0c;将内核分为两个部分&#xff0c;一个是用户空间&#xff0c;一个是内核空间。用户空间不能直接访问底层的硬件设备&#xff0…

IT廉连看——Uniapp——配置文件pages

IT廉连看——Uniapp——配置文件pages [IT廉连看] 本堂课主要为大家介绍pages.json这个配置文件 一、打开官网查看pages.json可以配置哪些属性。 下面边写边讲解 新建一个home页面理解一下这句话。 以下一些页面的通用配置 通用设置里我们可以对导航栏和状态栏进行一些设…

Android修行手册-集成Python开发环境

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

Apache Flink连载(三十五):Flink基于Kubernetes部署(5)-Kubernetes 集群搭建-1

🏡 个人主页:IT贫道-CSDN博客 🚩 私聊博主:私聊博主加WX好友,获取更多资料哦~ 🔔 博主个人B栈地址:豹哥教你学编程的个人空间-豹哥教你学编程个人主页-哔哩哔哩视频 目录 ​编辑

Python爬虫——Urllib库-2

编解码 问题引入 例如&#xff1a; https://www.baidu.com/s?wd章若楠 https://www.baidu.com/s?wd%E7%AB%A0%E8%8B%A5%E6%A5%A0 第二部分的一串乱码就是章若楠 如果这里是写的章若楠就会 产生这样的错误 所以我们就可以使用get请求方式的quote方法了 get请求方式的q…

laravel ApiResponse接口统一响应封装

一&#xff0c;新增接口返回码配置文件 在config中新增配置文件apicode.php <?phpreturn [ apicodes>[/*** Message("OK")* 对成功的 GET、PUT、PATCH 或 DELETE 操作进行响应。也可以被用在不创建新资源的 POST 操作上*/HTTP_OK > 200,/*** Message(&qu…