首页 > 其他分享 >高架学习笔记之需求工程

高架学习笔记之需求工程

时间:2024-03-24 09:04:16浏览次数:25  
标签:需求 软件系统 用户 笔记 学习 变更 高架 2.5 跟踪

目录

一、什么是软件需求

二、需求工程

2.1. 需求获取

2.2. 需求分析

2.3. 形成需求规格

2.4. 需求确认

2.5. 需求管理

2.5.1. 变更控制

2.5.2. 版本控制

2.5.3. 需求跟踪

2.5.4. 需求状态跟踪


一、什么是软件需求

    软件需求目前没有统一的定义,一般是指用户为了解决问题或达到目标所需要的条件或权能,系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能,以及反映上述两种条件或权能的文档说明。

    软件需求包括业务需求、用户需求以及系统需求,其中业务需求是企业或组织对系统或产品的高层次的期望,反映了企业或组织期望通过系统或产品达到一个什么样的目标;用户需求是系统的实际用户对产品的期望,如财务人员需要系统能够完成哪些任务,管理人员又需要系统完成哪些任务;系统需求则是对需求的计算机化,系统需求包括功能需求,性能需求以及设计约束,其中功能需求直接定义了开发人员必须完成哪些功能,性能需求对系统的响应时间、吞吐率等指标做出要求,设计约束则是指对软件系统设计和实现过程中的限制、规范或条件,比如指定软件系统运行所需的硬件设备或环境要求,规定软件系统需要与特定软件或技术集成或兼容的要求等。

    从项目管理的维度,可以把软件需求分为基本需求、期望需求和兴奋需求;基本需求是指用户明确提出需要有的功能性或非功能性需求,期望需求是指用户没有明确提出,但认为是不需要额外说明也一定要有的功能或非功能性需求,是隐含的需求,兴奋需求则是用户不认为需要有的功能或非功能性需求,实现了兴奋需求不仅需要付出额外的成本,用户也未必会觉得有用,而且兴奋需求的实现一般不会带来额外的回报,所以兴奋需求的实现是有成本且有风险的。

二、需求工程

    需求工程旨在确保软件系统开发过程中对用户需求的准确理解、明确定义和有效管理。需求工程的活动主要划分 需求获取、需求分析、形成需求规格、需求确认、需求管理5个阶段,其中前4个阶段可以统称为需求的开发阶段,而需求的管理阶段又可划分为变更控制、版本控制、需求跟踪、需求状态跟踪四个阶段:

2.1. 需求获取

    需求获取是指识别和收集与软件系统相关的各种需求。这包括与利益相关者沟通、分析现有系统和文档、进行用户调研等活动,以获取全面的需求信息。

    需求获取的方法包括:用户面谈、需求专题讨论会、问卷调查、现场观察、原型化方法、头脑风暴法等。

2.2. 需求分析

    需求分析是在需求识别的基础上,对收集到的需求进行分析和整理,以理解需求之间的关系、优先级和约束条件。需求分析包括结构化分析以及面向对象分析

2.3. 形成需求规格

    形成需求规格也称为需求文档化或需求定义, 目的在于按照相关标准,形成需求规格说明书(SRS),作为后续软件系统开发的指南。主要有两种方法:严格定义法和原型法。严格定义法要求所有需求都能预先定义,有结构化的思想在里面;原型法通过开发实际的、可供用户参与的模型来加强项目参与者之间的交流,其需求往往无法在开发前就被准确地说明,通过增量迭代的方法来完成需求的定义。

2.4. 需求确认

    需求确认是指在需求规范完成后,需求工程师会与利益相关者一起验证需求,确保需求的正确性、完整性、一致性、可测试性和可行性。包含有效性检查、一致性检查、可行性检查和确认可验证性。需求经过确认之后会形成需求的基线,后续的管理工作将围绕着需求的基线进行管理。

    需求确认的方法主要有需求评审和需求测试两种,需求评审包括正式评审和非正式评审,需要甲乙双方共同参与,确认需求内容;需求测试是通过提出一些场景来验证按照需求开发出来的系统是否符合标准。最终由用户签字确认需求,并成为最终软件的验收标准之一。

2.5. 需求管理

2.5.1. 变更控制

    需求的变更就是对需求基线的变更,变更控制过程用来评估提议的变更并对其进行跟踪,变更控制过程包括变更申请、变更评估、变更决策、变更实施、变更验证、沟通存档。其中对变更进行决策时需要变更控制委员会(Change Control Board, CCB)的参与。

    变更控制委员会(CCB)负责裁定接受哪些变更。CCB由多方成员共同组成,只决定是否接受变更,而不提出变更方案。

2.5.2. 版本控制

    需求基线的每次变更都会产生一个版本,版本控制即为对不同版本的管理和控制。

2.5.3. 需求跟踪

    需求跟踪是对需求基线的落实及实现的跟踪,它提供了由需求到产品实现整个过程范围的明确查阅能力,它的目的是维护“需求-设计-编程-测试”之间的一致性,确保所有的工作成果符合用户需求。需求跟踪有两种方式:正向跟踪及逆向跟踪。正向跟踪是指跟踪所有的需求是否都得到了实现;逆向跟踪则是指系统所有的功能是否都能在需求中找到出处。

2.5.4. 需求状态跟踪

    需求状态跟踪是指在软件开发项目中追踪每个需求的当前状态和进展情况。需求状态通常包括需求的提出、分析、设计、实现、测试、验证等不同阶段。需求状态跟踪的主要目的是帮助团队了解每个需求的当前状态,及时发现和解决可能存在的问题或延迟,以确保项目按时交付并满足质量标准。

标签:需求,软件系统,用户,笔记,学习,变更,高架,2.5,跟踪
From: https://blog.csdn.net/shunda_zhou/article/details/136965623

相关文章

  • 黑马Java0基础课程学习记录第五天(p49-p53)-3.23
    day05-循环高级训练+leecode练习1.无限循环2.条件控制语句breakcontinuecontinue:不能单独存在的,只能存在于循环当中。表示:跳过本次循环,继续执行下次循环。eg:break:不能单独存在的。可以用在switch和循环中,表示结束,跳出的意思。eg:练习1:逢7过游戏:从1-100打印......
  • 前端学习-vue视频学习012-路由
    尚硅谷视频教程路由简介路由就是一组key-value的对应关系多个路由,需要经过路由器的管理怎样才能使用路由器安装路由器npmivue-router在src内新增文件夹router在router文件夹新增文件index.ts,在其中创建路由器并暴露出去//创建一个路由并暴露出去//引入createR......
  • 深度学习入门 基于Python的理论与实现
    深度学习入门基于Python的理论与实现感知机由美国学者FrankRosenblatt在1957年提出,是作为神经网络(深度学习)的起源的算法。感知机接收多个输入信号,输出一个信号信号只有0和1两种取值感知机将输入信号乘以相应的权重后求和,若大于阈值则输出1,否则输出0若用\(x_{1},x_{2}\)......
  • 后缀数组学习笔记(未完成
    后缀数组定义与实现定义后缀从字符串某个位置i到字符串末尾的子串,定义s的第i个字符为第一个元素的后缀为suf(i)。后缀数组把s的每一个后缀按照字典序排序,后缀数组sa[i]表示排名为i的后缀的起始位置的下标。rk[i]数组代表起始位置为i的后缀的排名。rk[]和sa[]是一一对应关系......
  • LaTex学习实践(简易快速LaTex上手例子)
    目录前言正文完全参考前言这篇博客完全是博客https://blog.csdn.net/NSJim/article/details/109066847?spm=1001.2014.3001.5506的实践产物因为写的太好了,所以我进行了实践(overleaf平台)所有的代码和图片我已上传,下载后,上传到自己的overleaf平台即可编......
  • 笔记本连接WiFi没有网络
    现象WiFi显示连接,能够登录QQ微信聊天,可以打开部分网页如百度,B站,但是大部分网页提示网络异常,连接超时等,如下图:解决这种问题大概率是因为IP分配的问题,解决办法如下:win+i打开设置选择网络和Internet进去,高级网络设置选择网络重置,立即重置网络重置选......
  • 【离散数学-学习日记】2024-3-23
    有向欧拉图的判别法【定理4-3】有向图D是欧拉图当且仅当D是强连通的且每个顶点的入度都等于出度。【定理4-4】有向图D是半欧拉图当且仅当D是单向连通的,且D中恰好有两个奇度顶点,其中一个的入度比出度大1,另一个的出度比入度大1,而其余顶点的入度都等于出度。【定理4-5】G是......
  • 大数据学习笔记7-Mysql高级
    知识点1:DQL之排序查询--排序查询:就是按照指定字段的大小进行排序,排序规则分为升序和降序--升序(ASC):从小到大依次递增--降序(DESC):从大到小依次递减--关键字:orderby--格式:select列...from表where条件orderby排序规则[ASC|DESC];--0.使......
  • 安装OpenStack认证服务组件KeyStone--笔记
       以下笔记根据腾讯专家讲解的《云计算与OpenStack》网络课程,地址:1KeyStone简介_哔哩哔哩_bilibili,整理并亲手操作,特此感谢。 OpenStack框架图 KeyStone简介  早期的OpenStack版本,并没有KeyStone身份认证模块。用户、消息、API调用的认证都是放在Nova模块中的......
  • Streamlit实战手册:从数据应用到机器学习模型部署
    Streamlit实战手册:从数据应用到机器学习模型部署简介Streamlit核心功能介绍Streamlit的安装创建第一个Streamlit应用界面布局与导航数据处理与展示Streamlit的进阶应用交互式组件按钮复选框单选按钮滑块图表与可视化使用Matplotlib绘图使用Plotly创建交互式图表状态管......