AI总结
笔记总结与重点分析
笔记总结
本笔记系统阐述了需求工程的核心内容,包括其定义(应用工程化方法开发管理需求)、目的(获取高质量需求)和六大任务流程。重点解析了软件需求的双重定义(用户角度/系统角度)、需求质量特性(8个核心因素)和五类需求分类(目标/业务/功能/性能/约束)。同时明确了需求规格说明的重要性和内容,以及软件开发人员与涉众的角色定义。
重点/易考点分析 (名词解释)
什么是需求工程?
需求工程是指应用工程化的方法、技术和规格来开发和管理软件的需求,其目的是为了获得高质量的软件需求。
需求工程的任务包括哪些步骤?
- 确定用户类并获取需求信息
- 分析分类需求信息
- 建立逻辑模型并确认非功能需求
- 编写需求规格说明文档
- 评审需求规格说明
- 管理需求变更
软件需求的定义包含哪两个维度?
- 用户解决问题或达到目标所需的条件或能力(用户角度)
- 系统满足合同、标准等文档所需的条件或能力(系统角度)
目标需求的定义是什么?
目标需求反映组织机构或客户提出的高层次目标要求,限定项目范围和应达到的目标。
业务需求的主要作用是什么?
业务需求描述软件系统必须完成的任务和实际业务流程,用于提取功能需求和非功能需求。
功能需求的核心定义是什么?
功能需求指开发人员必须实现的软件功能或系统应具有的外部行为。
性能需求(非功能性需求)包括哪些技术指标?
包括可靠性、可用性、有效性、可维护性、可移植性五个技术指标。
约束与限制指什么?
指开发人员在系统设计和实现时的限制条件,如开发平台、数据库选择等。
需求规格说明的核心内容是什么?
应精确描述软件系统必须提供的功能、性能,以及需要考虑的约束条件与限制。
软件开发人员的角色定义是什么?
软件开发人员(supplier)是为客户开发软件系统的人。
涉众(stakeholder)包含哪些人?
包括所有用户、客户和软件开发人员,是软件需求的来源主体。 (我还没有掌握有关知识,此回答为大模型自动生成)
需求工程概述
需求工程概述
是软件工程的一个分支/部分
需求工程是指应用工程化的方法、技术和规格来开发和管理软件的需求。
目的是为了获得高质量的软件需求。
需求工程的任务
- 确定待开发的软件系统的用户类,并获取他们的需求信息。
- 分析用户的需求信息,并按软件需求的类型分类这些需求信息,同时也区别出不是需求的信息。
- 根据软件需求信息建立软件系统的逻辑模型或需求模型,并确认非功能需求和约束条件及限制。
- 根据收集的需求信息和逻辑模型编写需求规格说明及其文档。
- 评审需求规格说明。
- 当需求发生变更时,对需求规格说明及需求变更实施进行管理。
什么是软件需求
- 用户解决问题或达到目标所需的条件或能力;(用户的角度 )
- 系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或能力。(软件系统的角度 )
好的需求应该具有的特性
- 歧义因素
- 完整性因素
- 一致性因素
- 可检验性因素
- 确定性因素
- 可跟踪性因素
- 可行性因素
- 必要性因素
需求的分类
软件需求的分类
- 目标需求
- 反映组织机构或客户对系统和产品提出的高层次的目标要求,其限定了项目的范围和项目应达到的目标
- 业务需求
- 主要描述软件系统必须完成的任务、实际业务或工作流程等,软件开发人员通常可从业务需求中提取出功能需求和非功能需求。
- 功能需求
- 指开发人员必须实现的软件功能或软件系统应具有的外部行为。
- 性能需求(非功能性需求):
- 指实现的软件系统应能达到的技术指标,包括
- 可靠性
- 可用性
- 有效性
- 可维护性
- 可移植性
- 指实现的软件系统应能达到的技术指标,包括
- 约束与限制
- 指开发人员在设计和实现系统时的限制,如开发平台,数据库等。
需求规格说明
需求规格说明RS是软件所应满足的全部需求,并可以文档的方式完整和精确陈述这些需求。
- 重要性:需求规格说明是项目相关人员对将要开发的软件系统所达成的共识,是进行系统设计、实现、测试和验收的基本依据,也是整个软件开发过程中最重要的文档。
- 内容:需求规格说明应精确地描述一个软件系统必须提供的功能和性能,以及所要考虑的约束条件与限制。
需求工程的相关角色
软件开发人员(supplier)为客户开发软件系统的人。
涉众(stakeholder)指与提出和定义软件需求相关的人,其包括所有的用户、客户和软件开发人员。这些人都是软件需求的来源,只是他们站在不同的立场看待将要开发的软件系统。