北京理工大学 BEIJING INSTITUTE OF TECHNOLOGY 软件工程基础 需求工程 刘驰
软件工程基础 需求工程 刘 驰
北京理工大学 讲授内容 口软件需求 口需求工程过程 需求建模 口形式化描述
讲授内容 软件需求 需求工程过程 需求建模 形式化描述
北京理工大学 1.什么是需求? 口需求是对系统应该提供的服务和所受约束的描述 口由于需求要向不同类型的涉众(读者)传达不同层 次的信息,可以将需求分为 用户需求(目标需求):用用户所熟悉的表达形式给出 需求描述。 系统需求〔产品需求):详细地给出系统将提供的服务以 及系统所受到的约束,比用户需求更具体,更形式化。 ■软件设计描述(设计层需求):在系统需求描述的基础上 再加入更加详细的设计层面的需求细节
1. 什么是需求? 需求是对系统应该提供的服务和所受约束的描述。 由于需求要向不同类型的涉众(读者)传达不同层 次的信息,可以将需求分为: ◼ 用户需求(目标需求) :用用户所熟悉的表达形式给出 需求描述。 ◼ 系统需求(产品需求):详细地给出系统将提供的服务以 及系统所受到的约束,比用户需求更具体,更形式化。 ◼ 软件设计描述(设计层需求):在系统需求描述的基础上 再加入更加详细的设计层面的需求细节
北京理工大学 示例1 用户需求 1.软件必须能够访问外部文件,这些外部文件是由其它工具 创建的 2 系统需求 1.1为用户提供定义外部文件类型的工具。 1.2每种外部文件类型在界面上用一种专门的图标来表示。 1.3当用户选择一个代表外部文件的图标时,与该外部文件 类型相关联的工具启动 1.4 2.1…
示例1 用户需求 1. 软件必须能够访问外部文件,这些外部文件是由其它工具 创建的 2. …… 系统需求 1.1 为用户提供定义外部文件类型的工具。 1.2 每种外部文件类型在界面上用一种专门的图标来表示 。 1.3 当用户选择一个代表外部文件的图标时,与该外部文件 类型相关联的工具启动。 1.4 …… 2.1 …
北京理工大学 示例2 R1预算误差<5% 目标需求 R2.支持报价注册、更新,以及根据业务需求 需求随时调整报价 R3产品应具有记录、检索历史报价产品需求 的功能 R4系统界面大致如附件xX所示 目标需求
示例2 R1. 预算误差<5% R2. 支持报价注册、更新,以及根据 需求随时调整报价 R3. 产品应具有记录、检索历史报价 的功能 R4.系统界面大致如附件xx所示 目标需求 业务需求 产品需求 目标需求
北京理工大学 口用自然语言描述的用户需求 ■描述不够清楚(二义性) ˉ需求混乱(功能需求、非功能需求、系统目标和设计 信息无法清晰地区分) 需求混合(多个不同的需求交织在一起,以一个需求 的形式给出) 口描述系统需求可能用到多种不同模型,如:对象 模型、数据流模型等
用自然语言描述的用户需求 ◼ 描述不够清楚(二义性) ◼ 需求混乱(功能需求、非功能需求、系统目标和设计 信息无法清晰地区分) ◼ 需求混合(多个不同的需求交织在一起,以一个需求 的形式给出) 描述系统需求可能用到多种不同模型,如:对象 模型、数据流模型等
北京理工大学 口原则上讲,系统需求仅仅描述做什么,而不应该描述 如何实现。然而,要给出细节需求而不提到任何设计 信息,事实上也是不可能的: ■通常系统需求依照构成系统的各个子系统结构来给 出,即由初始的系统体系结构来构造需求描述: ■通常目标系统和已有系统互操作,这就约束了目标 系统的设计,同时这些约束又构成了新系统的需求; 口某些特别的设计(如NVP)是系统的一个外部 需求
原则上讲,系统需求仅仅描述做什么,而不应该描述 如何实现。然而,要给出细节需求而不提到任何设计 信息,事实上也是不可能的: ◼ 通常系统需求依照构成系统的各个子系统结构来给 出,即由初始的系统体系结构来构造需求描述; ◼ 通常目标系统和已有系统互操作,这就约束了目标 系统的设计,同时这些约束又构成了新系统的需求; 某些特别的设计(如NVP)是系统的一个外部 需求
北京理工大学 系统需求描述工具 描述工具 说明 结构化自然语 依赖于定义标准格式或模板来表达需求 PDL语言 比一般的计算机高级语言更接近自然语言 图形化工具通过图形语言(辅之于文本注释)来定义系 统的功能需求。如SADT,基于用例的描述等 形式化工具于有限状态机、集合等数学工具形式化地 描述需求
系统需求描述工具 描述工具 说明 结构化自然语 言 依赖于定义标准格式或模板来表达需求 PDL语言 比一般的计算机高级语言更接近自然语言 图形化工具 通过图形语言(辅之于文本注释)来定义系 统的功能需求。如SADT,基于用例的描述等 形式化工具 基于有限状态机、集合等数学工具形式化地 描述需求
SADT More General Structured Analysis and More Detailed Design Techniques This box is the parent of this diagram. A4 NOTE: Node numbers shov here indicate that the box been detailed. The C-numb or page number of the chile diagram could have been L instead of the node numbe 匚A42□
SADT: Structured Analysis and Design Techniques
北京理工大学 2需求的另一种划分 业务需求 用户需求 ■功能需求 非功能需求 口业务需求( Business Requirement) ■反映了组织机构或客户对系统、产品的高层次目标要求 反映目标系统所处领域的特点 在项目视图与范围文档中予以说明
2. 需求的另一种划分 ◼ 业务需求 ◼ 用户需求 ◼ 功能需求 ◼ 非功能需求 业务需求(Business Requirement) ◼ 反映了组织机构或客户对系统、产品的高层次目标要求 ◼ 反映目标系统所处领域的特点 ◼ 在项目视图与范围文档中予以说明