【系统架构设计师】需求工程

news/2025/2/22 2:00:18

目录

          • 1. 说明
          • 2. 软件需求
          • 3. 需求阶段
          • 4. 需求管理
          • 5. 例题
            • 5.1 例题1

1. 说明
  • 1.软件需求目前并没有统一的定义,但都包含以下几方面的内容。
  • 2.用户解决问题达到目标所需条件或权能(Capability)。系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能。一种反映前两点所述条件或权能的文档说明。
  • 3.它包括功能性需求非功能性需求,非功能性需求对设计和实现提出了限制,比如性能要求、质量标准或者设计限制。
  • 4.在经典的瀑布软件过程模型中,将需求分析作为软件开发的第1个阶段,明确指出该阶段的输出成果为用户原始需求说明书软件需求描述规约
  • 5.从这点看,需求阶段首先需要定义用户的原始需求,并与用户、客户达成一致;其次,需要这对原始需求进行分析,给出一个初步的软件解决方案,并给出该软件的需求描述规约,以指导后续的软件开发。
  • 6.这两个文档之间存在一个转换过程。
  • 7.p185。
2. 软件需求
  • 1.软件需求包括3个不同的层次:业务需求用户需求功能需求(也包括非功能需求)。
  • 2.业务需求(business requirement)反映了组织机构或客户对系统、产品高层次的目标要求。
  • 3.用户需求(user requirement)描述了用户使用产品必须要完成的任务,是用户对该软件产品的期望。这两种构成了用户原始需求文档的内容。
  • 4.功能需求(functional requirement)定义了开发人员必须实现的软件功能,使得用户能完成他们的任务,从而满足业务需求。
  • 5.所谓特性(feature)是指逻辑上相关的功能需求的集合,给用户提供处理能力并满足业务需求。
  • 6.作为补充,软件需求规格说明还应包括非功能需求,它描述了系统展现给用户的行为执行的操作等。
  • 7.它包括产品必须遵从的标准、规范和合约;外部界面的具体细节;性能要求;设计和实现的约束条件及质量属性。
  • 8.所谓约束是指对开发人员在软件产品设计和构造上的限制,常见的有设计约束和过程约束。
  • 9.质量属性是通过多种角度对产品的特点进行描述,从而反映产品功能。
  • 10.多角度描述产品对用户和开发人员都极为重要。
  • 11.开发软件系统最困难的部分就是准确说明开发什么,因为用户往往很难给出完整正确的原始需求,也很难想象出未来的软件应该提供哪些功能,以解决自己的业务问题。
  • 12.这些都需要软件开发人员协助,通过多次的讨论方能最终确认。
  • 13.而如果前期需求分析不透彻,一旦出错,将最终会给系统带来极大损害,并且以后再对它进行修改也极为困难,容易导致项目失败。
  • 14.1987年,Frederick Brooks在“No Silver Bullet:Essence and Accidents of Software Engineering”中,充分说明了需求过程在软件项目中扮演的重要角色。
  • 15.20世纪80年代中期,形成了软件工程的子领域,需求工程(Requirement Engineering,RE)。
  • 16.需求工程是随着计算机的发展而发展的,在计算机发展的初期,软件规模不大,软件开发所关注的是代码编写,需求分析很少受到重视。
  • 17.随着软件系统规模的扩大,需求分析与定义在整个软件开发与维护过程中越来越重要,直接关系到软件的成功与否。
  • 18.人们逐渐认识到需求分析活动不再仅限于软件开发的最初阶段,它贯穿于系统开发的整个生命周期。
  • 19.需求工程是指应用已证实有效的原理、方法,通过合适的工具和记号,系统地描述待开发系统及其行为特征和相关约束。
  • 20.需求工程覆盖了体系结构设计之前的各项开发活动,主要包括分析客户要求、对未来系统的各项功能性及非功能性需求进行规格说明。
  • 21.需求工程的目标简单明了:确定客户需求,定义设想中系统的所有外部特征。
  • 22.软件需求开发的最终文档经过评审批准后,则定义了开发工作的需求基线(Baseline)。这个基线在客户和开发者之间构筑了计划产品功能需求和非功能需求的一个约定(Agreement)。需求约定是需求开发和需求管理之间的桥梁。
3. 需求阶段
  • 1.需求获取:通过与用户的交流,对现有系统的观察及对任务进行分析,从而开发、捕获和修订用户的需求。
  • 2.需求分析:为系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义。
  • 3.形成需求规格(或称之为需求文档化):按照相关标准,生成需求模型的文档描述,用户原始需求书作为用户和开发者之间的一个协约,往往被作为合同的附件;软件需求描述规约作为后续软件系统开发的指南。
  • 4.需求确认与验证:以需求规格说明为输入,通过用户确认、复审会议、符号执行、模拟仿真或快速原型等途径与方法,确认和验证需求规格的完整性、正确性、一致性、可测试性和可行性,包含有效性检查、一致性检查、可行性检查和确认可验证性。
  • 5.需求管理:包括需求文档的追踪管理、变更控制、版本控制等管理性活动。
4. 需求管理
  • 1.需求管理是一个对系统需求变更、了解和控制的过程。需求管理过程与需求开发过程相互关联,当初始需求导出的同时就启动了需求管理规划,一旦形成了需求文档的初稿,需求管理活动就开始了。

  • 2.需求管理的主要活动图:
    在这里插入图片描述

  • 3.需求管理强调的内容:
    (1)控制对需求基线的变动。
    (2)保持项目计划与需求一致。
    (3)控制单个需求和需求文档的版本情况。
    (4)管理需求和联系链,或管理单个需求和其他项目可交付产品之间的依赖关系。
    (5)跟踪基线中的需求状态。

5. 例题
5.1 例题1
  • 1.题目
1.软件需求开发的最终文档,通过评审后定义了开发工作的(A),它在客户和开发者之间构筑了产品功能需求和非功能需求的一个
(C),是需求开发和需求管理之间的桥梁。
问题1
A.需求基线
B.需求标准
C.需求用例
D.需求分析
问题2
A.需求用例
B.需求管理标准
C.需求约定
D.需求变更
  • 2.解析
1.软件需求开发的最终文档经过评审批准后,则定义了开发工作的需求基线(baseline)。
2.这个基线在用户和开发人员之间就构筑了计划产品功能需求和非功能需求的一个约定(agreement),它是需求开发和需求管理之间的桥梁。

http://www.niftyadmin.cn/n/5861516.html

相关文章

2月17日c语言框架

C语言框架以及常用函数 1,scanf() 2,printf() 1scanf()函数的特点,必须填写参数,不然一定会报错 2输入一个整数,按回车之后,会出…

alt+tab切换导致linux桌面卡死的急救方案

环境 debian12 gnome43.9 解决办法 观察状态栏,其实系统是没有完全死机的,而且gnome也可能没有完全死机。 1. alt f4 关闭桌面上的程序,因为这个方案是我刚刚看到的,所以不确定能不能用,比起重启系统,…

嵌入式 Linux:使用设备树驱动GPIO全流程

文章目录 前言 一、设备树配置 1.1 添加 pinctrl 节点 1.2 添加 LED 设备节点 二、编写驱动程序 2.1 驱动程序框架 2.2 编译驱动程序 三、测试 总结 前言 在嵌入式 Linux 开发中,设备树(Device Tree)和 GPIO 子系统是控制硬件设备的重要工具…

多人协同开发 —— Git Aoneflow工作流

一、Aoneflow工作流核心架构 #mermaid-svg-rwTOe9qYwzG3wkdy {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-rwTOe9qYwzG3wkdy .error-icon{fill:#552222;}#mermaid-svg-rwTOe9qYwzG3wkdy .error-text{fill:#552222…

LeetCode热题100——滑动窗口/子串

文章目录 1. 无重复字符的最长子串1.1 题目链接1.2 题目描述1.3 解题代码1.4 解题思路 2. 找到字符串中所有字母异位词2.1 题目链接2.2 题目描述2.3 解题代码2.4 解题思路 3、和为 K 的子数组3.1 题目链接3.2 题目描述3.3 解题代码3.4 解题思路 4. 滑动窗口最大值4.1 题目链接4…

【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(8-15)

【学习笔记】Cadence电子设计全流程(二)原理图库的创建与设计(下) 2.8 Cadence 软件自带元件库2.9 原理图元器件关联PCB2.10 原理图元器件库的移植2.11 已有原理图输出元器件库2.12 原理图设计中调用元器件库2.13 原理图元器件库关…

SuperMap GIS基础产品FAQ集锦(20250217)

一、SuperMap iServer 问题1:GPA算子是否有相关文档? 11.1.1 【解决办法】该功能算子可参考帮助文档:https://help.supermap.com/iServer/Server_Service_Management/Geoprocessing/GPFun/FunctionDescription/FunctionMD/GeoprocessingFunctionMD.z…

2024年国赛高教杯数学建模A题板凳龙闹元宵解题全过程文档及程序

2024年国赛高教杯数学建模 A题 板凳龙闹元宵 原题再现 “板凳龙”,又称“盘龙”,是浙闽地区的传统地方民俗文化活动。人们将少则几十条,多则上百条的板凳首尾相连,形成蜿蜒曲折的板凳龙。盘龙时,龙头在前领头&#x…