第5章 需求工程与需求分析(面向对象软件工程)

第5章 需求工程与需求分析(面向对象软件工程)

介绍一种面向对象的需求建模方法---基于用例模型的软件需求建模

1. 软件需求工程

1.1 软件需求的定义

软件需求主要指一个软件系统必须遵循的条件或具备的能力

软件需求一般包含三个不同的层次:业务需求、用户需求和功能需求

1.2 软件需求的特性

功能性

可用性

可靠性

性能

可支持性

设计约束

1.3 需求工程(RE)的由来

软件需求工程:应用有效的技术和方法、合适的工具和符号,来确定、管理和描述目标系统及其外部行为特征的学科

2. 需求分析与建模

2.1 需求分析与需求工程的区别

需求工程是软件工程的一个子领域,贯穿于软件整个生存周期的始终

需求分析通常指软件开发的第一项活动,而该项活动的目的主要是为待开发的软件系统进行需求定义与分析,并建立一个需求模型

2.2 需求分析的步骤

一般包括4步骤:需求获取、需求建模、需求描述、需求验证,是一个迭代过程,直到所编写的SRS真正符合用户的需求为止

需求分析的主要任务:建立需求模型

需求描述即编写软件需求规格说明书(SRS),必须用统一格式的文档进行描述

3. 需求获取的常用方法

3.1 常规的需求获取方法

建立联合分析小组(FAST(Facilitated Application Specification techniques)便利的应用规约技术)

客户访谈

问题分析与确认

3.2 用快速原型法获取需求

快速原型法可以用作一种有效的需求分析方法

若需求已经建立,并且可以预见是相当稳定的,则不需要采用快速原型法

4. 需求模型

建立分析模型是需求分析的首要任务

4.1 需求模型概述

许多需求建模的方法,其中占据主导地位的有结构化分析建模和面向对象分析建模两种

结构化需求模型

面向对象需求模型

面向对象需求模型由3个部分组成:用例模型、补充规约和术语表,其中用例模型又包括用例图和用例规约

用例图主要用于显示软件系统的功能,包括用例和参与者两方面内容,用例规约则是对软件系统中每个功能的具体描述

补充规约:用于对全局性功能和可靠性、性能等非功能性需求进行文字性描述

术语表:用于描述与系统需求相关的术语的定义

4.2 面向对象的需求建模

4.2.1 画用例图

用例是一组动作序列及其变体的描述,主体执行这些动作序列为特定的参与者提供一个可观测的、有价值的结果。

用例—基于用户,功能—基于开发者

用例图从总体上描述了系统所能提供的各种服务,让我们对系统的功能有一个大致的认识

4.2.2 写用例规约

用例规约用来描述每一个用例的功能,一个用例对应一个用例规约,用来描述用例的细节

用例规约一般包含:

* 简要说明

* 事件流:包括基本流和备选流

* 特殊需求:描述与该用例相关的非功能性需求和设计约束

* 前置条件和后置条件

特殊需求通常是非功能性需求,记录的是专属于该用例的特殊需求;对于一些全局的非功能性需求和设计约束,则应把它们记录在补充规约中

4.2.3 描述补充规约

是指不与任何特定的用例相关联的非功能性需求,用于记录在用例模型不易表述的系统需求

4.2.4 编写术语表

术语表主要用于定义软件开发项目特定的术语

4.2.5 调整用例模型

5. 软件需求描述

软件需求规格说明书(SRS):是软件开发人员在分析阶段需要完成的用于描述需求的文档

SRS包含:

引言:主要叙述在问题定义阶段确定的关于软件的目标与范围,简要介绍系统背景、概貌和参考资料等

信息描述:给出对软件所含信息的详细描述,包括信息的内容、关系、数据流向、控制流向和结构等

功能描述:对软件功能需求的描述,包括系统功能划分、每个功能的处理说明、限制和控制描述等

行为描述:包括对系统状态变化以及事件和动作的叙述,据此可以检查外部事件和软件内部的控制特征

质量保证:阐明在软件交付使用前需要进行的功能测试和性能测试,并且规定源程序和文档应该遵守的各种标准

接口描述包括新系统的用户界面、硬件接口、软件接口和通信接口等的说明

其它描述阐述系统设计和实现上的限制,系统的假设和依赖等其他需要说明的内容

6. 需求管理

一种获取、组织并记录系统需求的系统化方案

6.1 需求管理的内容

6.1.1 需求实践示意图

6.1.2 需求管理的管理流程

需求确认

需求追踪

需求变更

6.2 需求变更控制

需求变更流程图

相关推荐

《王者荣耀》2022新手用什么英雄好 十个必买英雄推荐
qq截图保存在哪里
365娱乐平台网址

qq截图保存在哪里

06-27 👁️ 4379
苹果手机翻新机大揭秘,你需要知道的一切!
365bet亚洲官网

苹果手机翻新机大揭秘,你需要知道的一切!

08-25 👁️ 2493