软件项目管理 第五讲软件项目需求管理

article/2025/1/11 23:38:52

文章目录

    • 项目案例
    • 软件需求管理的基本概念
      • 什么是软件需求?
      • 关于软件需求的注意事项
      • 软件需求的重要性
    • 软件需求开发
      • 软件需求工程的产生
      • 什么是软件需求开发?
      • 软件需求开发的任务
      • 软件需求开发的过程
        • 步骤1:收集和获取软件需求
        • 步骤2:软件需求建模
        • 步骤3:文档化软件需求
        • 步骤4:软件需求验证
    • 软件需求管理
      • 需求管理的目标
      • 需求管理的原则
      • 需求管理活动
        • 需求变更管理
        • 需求跟踪

项目案例

软件需求管理的基本概念

什么是软件需求?

待开发软件产品的目标用户对该软件产品的功能、性能、设计约束和其它方面的期望和要求,即就是用户希望软件能做什么事情,完成什么样的功能,达到什么性能。

关于软件需求的注意事项

软件需求关注用户的期望、要求和需要,不是解决方案
要区分what和How
例如,要采用什么算法,不是用户需求
并不是所有方面的要求都是软件需求
功能、性能、设计约束、时间进度等
例如,重量、软件大小等不是用户需求
并不是所有用户的期望和要求都是软件需求
用户需求必须中肯,有意义
例如,记录图书的厚度等不是用户需求

软件需求的重要性

  1. 软件开发的基础和前提
  2. 制定软件开发计划的基础
  3. 最终目标软件系统验收的标准

软件需求开发

软件需求工程的产生

形成于80年代中期,90年代以后取得很大的发展。
需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题,并定义目标系统的所有外部特征的一门学科。
它通过合适的工具和记号系统地描述待开发系统及其行为特征和相关约束,形成需求文档,并对用户不断变化的需求演进给予支持。

什么是软件需求开发?

需求开发是指从用户处获得需求、形成与用户需求相一致的、可供阅读的软件需求规格说明书的过程。

软件需求开发的任务

通过对应用问题及其环境的理解和分析,准确、一致和完全地刻划用户需求,并达成一致,形成软件需求规格说明书SRS

软件需求开发的过程

在这里插入图片描述

步骤1:收集和获取软件需求

步骤2:软件需求建模

需求建模的方法

  1. 用例分析方法
  2. 原型分析方法
  3. 结构化分析方法

步骤3:文档化软件需求

  1. 任务
    根据软件需求初步描述和软件需求模型,撰写软件需求规格说明书(SRS)。
  2. 需求规格说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。

步骤4:软件需求验证

  1. 目的
    由多方(客户代表和开发人员共同参与)对软件需求规格说明书进行评审,分析需求的正确性,完整性以及可行性等等,确保需求说明准确、无二义性并完整地表达系统功能以及必要的质量特性。

软件需求管理

需求管理的目标

需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。具体来说,需求管理的目标有二个
(1) 使软件需求受控,并建立供软件工程和管理使用的需求基线。
需求变更控制和版本控制
(2) 使软件计划、产品和活动与软件需求保持一致。
需求跟踪

需求管理的原则

  1. 需求一定要分类管理:目标性、业务需求和操作性
  2. 需求必须分优先级:需求过多、需要裁剪
  3. 需求必须文档化:记录,避免忽略重要需求
  4. 需求一旦变化,就必须对需求变更的影响进行评估
  5. 需求管理必须与需求工程的其他活动紧密整合

需求管理活动

  1. 需求管理规划:
     需求识别、变更管理过程、需求跟踪和自动化工具
  2. 需求管理是一个对系统需求变更了解和控制的过程。需求管理的过程是与其他需求工程过程相互关联的。初始需求导出的同时就启动了需求管理规划,一旦形成了需求文档的草稿版本,需求管理活动就开始了。

需求变更管理

  1. 需求变更的原因
    (1) 在项目的早期所有的问题不可能被完全定义,软件需求是不完全的,注定了需求需要变更。
    (2) 随着软件项目的进行,软件开发人员对问题的理解会发生变化,这些变化也要反馈到需求中去。
    (3) 不同类型的用户的需求可能是冲突的或是矛盾的,最后的系统需求是它们之间的一个妥协。这种妥协的程度在项目进行过程中有可能发生改变,从而导致系统需求的改变。
    (4) 系统购买者或系统最终用户很少是同一人,有的系统客户对系统提出的一些需求可能和最终用户需求不一致。

需求跟踪

  1. 需求跟踪的必要性
    (1)进行需求跟踪的目的是建立和维护从用户需求开始到测试之间的一致性与完整性,确保所有的实现都以用户需求为基础,而实现的需求也全部覆盖了预期的需求,同时确保所有的输出与用户需求的符合性。
    (2)跟踪能力信息使得变更影响分析十分便利,有利于确认和评估实现某个建议的需求变更所必须的工作。
    (3)软件工程重视过程能力。

  2. 需求跟踪有两种方式,正向跟踪和逆向跟踪:
    (1) 正向跟踪以用户需求为切入点,检查用户需求说明书或需求规格说明中的每个需求是否都能在后继工作产品中找到对应点。
    (2) 逆向跟踪检查设计文档、代码、测试用例等工作产品是否都能在需求规格说明中找到出处。

  3. 需求跟踪的作用
    (1)在需求验证中的作用
    (2)有助于需求变更影响分析
    (3)便于需求的维护
    (4)便于测试时找出问题所在
    (5)便于项目跟踪
    (6)减小项目的风险
    (7)简化了系统的再设计
    (8)易于软件重用


http://chatgpt.dhexx.cn/article/tlKhtvD7.shtml

相关文章

项目管理学习总结(2)——需求收集和管理

需求收集对于产品经理来说,都已经属于老生常谈了。在产品的立项和设计前需要先做需求调研,在这里我们就来谈谈如何进行需求收集和管理。 一、需求收集目的 需求收集的目的就是了解用户目前所需要的是什么,最迫切需要去解决的问题是什么&#…

END-TO-END OPTIMIZED IMAGE COMPRESSION论文阅读

END-TO-END OPTIMIZED IMAGE COMPRESSION 文章目录 END-TO-END OPTIMIZED IMAGE COMPRESSION单词摘要:1.INTRODUCTION2.CHOICE OF FORWARD, INVERSE, AND PERCEPTUAL TRANSFORMS3.OPTIMIZATION OF NONLINEAR TRANSFORM CODING MODEL3.1 RELATIONSHIP TO VARIATIONAL…

[论文解读] Concolic Testing for Deep Neural Networks

Concolic Testing for Deep Neural Networks 文章目录 Concolic Testing for Deep Neural Networks简介摘要介绍相关工作DNNs的鲁棒性Concolic测试与相关工作对比深度神经网络 DNNS的覆盖测试激活模式形式化测试覆盖标准测试覆盖率指标 具体覆盖要求Lipschitz连续性神经元覆盖率…

【论文翻译】 Clustering by Passing Messages Between Data Points

论文题目:Clustering by Passing Messages Between Data Points 论文来源:Clustering by Passing Messages Between Data Points 翻译人:BDMLCQUT实验室 Clustering by Passing Messages Between Data Points Brendan J. Frey* and Delbert …

二维泊松方程求解--点迭代法

本文目录 1. 问题描述1.1. 泊松方程1.2. 算例 2. 区域离散和方程离散2.1. 边界条件 3. 代数方程组求解3.1. 雅可比迭代3.2. 高斯-赛德尔迭代3.3. SOR迭代3.4. 迭代收敛标准3.5. 迭代法收敛的分析3.6. 上述迭代方法的计算结果 4. 代码 1. 问题描述 本算例来自B站Up主“Red-Gree…

【论文翻译】Clustering by Passing Messages Between Data Points

论文题目:Clustering by Passing Messages Between Data Points 论文来源:Clustering by Passing Messages Between Data Points 翻译人:BDMLCQUT实验室 Clustering by Passing Messages Between Data Points Brendan J. Frey* and Delbert…

数值计算:线性方程组求解及应用

文章目录 一. 实验目的二. 实验内容、过程及结果实验一:使用直接法求解线性方程组①高斯消去法:②列主元法: 实验二:使用迭代法求解线性方程组①Jacobi 迭代法②Gauss-Seidel 迭代法③逐次超松弛迭代法④共轭梯度法⑤令n10、50、1…

A Survey on Knowledge Graphs___Representation, Acquisition and Applications.知识图谱综述:表示,获取,应用

知识图谱综述:表示、获取及应用 这是研究生第一篇综述文章,第一次读也是花了好几天的时间。 摘要:人类的知识提供了对世界的一种形式的理解。表征实体之间结构关系的知识图已成为认知和人的智能研究的热门方向。在这个调查中,我们提供了一…

【中科院】分子生物学-朱玉贤第四版-笔记-第14-16讲 真核生物基因表达调控

第14-16讲 真核生物基因表达调控 文章目录 10. 真核生物基因表达调控10.1 转录水平的调控 (transcriptional regulation)10.1.1 转录起始调控 Transcriptional initiation10.1.2 组蛋白修饰10.1.3 DNA 甲基化 10.2 转录后水平的调控 (post-transcriptional regulation)10.2.1 前…

线性系统理论笔记

文章目录 三、系统的数学描述3.2 输入输出描述二、初始松弛概念三、线性性质四、因果律五、松驰性六、时不变性七、传递函数阵 小结3.3 状态变量描述3.4 输入输出描述和状态变量描述的关系3.5 组合系统的数学描述一、时变情形二、时不变情形 四、线性动态方程和脉冲响应矩阵4.2…

2.2 SIMPLE系列算法 | 2.3 PISO算法(OpenFOAM理论笔记系列)

2.2 SIMPLE系列算法 2.2.1标准SIMPLE算法 SIMPLE算法(Semi-Implicit Method for PressureLinked Equations)1最初被设计用来求解稳态问题,即控制方程中不包含瞬态项的计算。按照1.3.3节的约定,我们假设计算开始的时候有初始的压力和速度值 P o , U o ⃗…

8月20日计算机视觉理论学习笔记——图像分割

文章目录 前言一、图像分割1、传统图像分割(1)、基于阈值的分割方法(2)、基于边缘的分割方法(3)、基于区域的分割方法(4)、基于图论的分割方法 二、人脸检测1、级联分类器(1)、Boosting 分类器 三、行人检测1、梯度2、HOG 方向梯度直方图(1)、梯度计算(2)、Block 拆分(3)、HOG计…

智能反射面(IRS)在无线通信安全领域应用的论文复现

引言 Zhang Rui老师的将IRS引入无线通信安全的论文《Secure Wireless Communication via Intelligent Reflecting Surface》有较高的引用量,在此给出要论文的复现及代码。 主要问题 该论文的目的是引入IRS并联合优化基站的主动式波束和IRS的被动式波束&#xff0…

线性方程组6种数值解法的对比研究

线性方程组数值解法实验研究 一、实验目的 熟悉求解线性方程组的有关理论和方法;会编写Gauss消去法、LU分解法、Jacobi迭代法、Gauss-Seidel迭代法、超松弛(SOR)迭代法及共轭梯度法的程序;通过实际计算,进一步了解各种方法的优缺点&#xf…

高阶查找算法第二篇

目录 平衡二叉树AVLtree数据结构插入左旋右旋右左双旋左右双旋完整AVLTree插入代码如下 AVLTree的验证AVLTree删除【了解】AVLTree性能分析 红黑树红黑树性质RBTree数据结构插入情况一:cur为红,p为红,g为黑,u存在且为红情况二&…

基于有限体积法 (FVM) 和 SIMPLE 算法求解平行板之间层流的速度、压力和温度附 MATLAB 代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【论文笔记】AP聚类算法解读

文章目录 引子自己体会吸引信息更新公式归属信息更新公式松弛因子引入 缺点评估 论文原文 引子 网络上已经有很多关于AP算法的介绍了,托他们的福,我更快地理解了AP算法。但是感觉他们不说人话,只说了很抽象的概念,公式理解起来还…

r语言 支持向量机实现_支持向量机解密:R中的实现

r语言 支持向量机实现 Support Vector Machine, popularly abbreviated as SVM is a supervised learning algorithm used for both regression and classification but more commonly used for classification. SVMs have been shown to outperform well in a variety of sett…

2017华为软件精英挑战赛小结

// 2017华为软件精英挑战赛小结 // 不说废话&#xff0c;直接上货&#xff01;希望对目前的参赛者&#xff0c;或日后学习的人&#xff0c;提供一些参考和思路。 #include <赛题说明.pdf> // 见附录文件 赛题说明.pdf 或网址传送门&#xff1a;http://codecraft.hua…

19华为软件精英挑战赛止步复赛

2019年华为软件精英挑战赛&#xff0c;京津东北赛区初赛第13&#xff0c;复赛第18&#xff0c;呦车还没我跑的快。 历时一个多月的华为软件精英大赛落下帷幕&#xff0c;很遗憾的止步了三十二强&#xff0c;从初赛到复赛更改了大大小小的版本将近50多个&#xff0c;通过改进调度…