需求工程的基本概念
需求的定义
-
A condition or capability needed by a user to solve a problem or achieve an objective.
用户解决问题或达到目标所需的条件或能力
-
A condition or capability that must be met or possessed by a system or system component to satisfy a contract, standard, specification, or other formally imposed documents.
为满足合同、标准、规范或其他正式规定文件的要求系统或系统部件所应具备的条件换能力。
-
A documented representation of a condition or capability as in (1) or (2).
描述(1)、(2)中条件或能力的说明文件
stakeholder
涉众(干系人)在待开发系统中存在潜在利益的人或者组织
users, administrators, the management, legal entities, institutions, etc
需求工程的主要过程
软件项目生存期模型
简介:
- 过程性框架
- 定义过程
- 不同项目,不同模型
- 模型特点
- 主要阶段
- 阶段中的主要过程和活动
- 输入和输出
Requirement Types(需求的类型)
Functional Requirement(功能性需求)
- 定义了待开发系统所提供的功能
- 功能、行为、数据
A functional requirement is a requirement concerning a result of behavior that shall be provided by a function of the system.
Quality Requirement(质量需求)
- 待开发系统的质量期望,往往比功能性需求更能影响系统的架构
- 用户关心的:可用性、效率、可靠性、易用性
- 开发者关心的:可维护性、可测试性、可移植性…
A quality requirement is a requirement that pertains to a quality concern that is not covered by functional requirements.
Constraint(约束)
- 限制了解决方案超出那些必要的能够满足规定的功能性需求和质量需求之外的空间
A constraint is a requirement that limits the solution space beyond what is necessary for meeting the given functional requirements and quality requirements.
不合格需求的主要原因
- 用户参与不够
- 用户需求不断增加
- 需求说明模糊
- 忽视stakeholders,不对用户进行分类