需求工程

时间:2024-04-09 22:02:58

1 导论

1 需求工程的定义

课本p12

需求工程是所有需求开发活动的综合,它获取整理需求信息、 分析需求问题、记录需求、验证需求的正确性、管理需求。

2 基本活动

需求工程

2 需求基础

1 需求的定义

定义:

​ 课本p23

  • (1)定义1:用户为了解决问题或达到某些目标所需要具备的条件或能力

  • (2)定义2:系统或系统部件为了满足合同、标准、规范或其它正式文档所规定的要求而需要具备的条件或能力

  • (3)对1或2中的一个条件或一种能力的一种文档化表述

总结:

  • 理解1:解决问题所需要的条件或能力

  • 理解2:改善现实,满足用户期望的条件或能力

2 问题域和解系统

课本p24

  • 问题域::问题解决的基本范围-—解决问题必须涉及的事件和事物。

  • 解系统:用来解决问题的软件系统,是软件解决方案在计算机上的实现。

解系统 = 软件解决方案 + 软件系统

软件解决方案 = 需求规格说明(文档)

3 需求的层次

p29

  • 业务需求:描述软件系统的目标和效益,适合决策者; (可以从现实获取)

  • 用户需求:描述了软件系统的具体任务,适合使用系统的各类用户;(可以从现实获取)

  • 系统需求:关注软件系统的功能,适合软件开发者(只能在用户需求上分析转换获得)

需求工程

需求工程

3 需求工程过程

需求工程

1 需求开发的活动

p53

  • 需求获取

  • 需求分析

  • 需求规格说明

  • 需求验证

    需求工程

2 需求开发的成果文档

需求工程

3 过程特性

  • 并发性
  • 迭代性

4 需求获取

1 获取的过程

p79

需求工程

需求工程

2 获取的内容

  • 需求:业务需求和用户需求;
  • 问题域描述: 描述现实世界的业务运行情况(事物、事件…);
  • 环境与约束:解系统运行的环境和约束。

4 成果文档

  • 项目前景和范围文档(业务需求)
  • 用例模型(用户需求)

5 确定项目的前景和范围

1 确定过程

需求工程

6 涉众分析

需求工程

9 原型

9.1 原型定义

需求工程

9.2 为什么使用原型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Y3fNr2kD-1605847895381)(C:/Users/啊发/AppData/Roaming/Typora/typora-user-images/1605029925023.png)]

9.3 原型分类及应用

需求工程

需求工程

9.4 原型开发

需求工程

需求工程

需求工程

9.5 控制成本及风险

简单的介质来降低成本。

需求工程

需求工程

需求工程

11 需求分析的概述

需求工程

11.1 需求分析的根本任务

需求工程

建立模型:

需求工程

创建软件解决方案

需求工程11.2 需求分析的技术

需求工程

11.3 需求分析的方法

  1. 传统分析
  2. 结构化
    • 以数据和功能为基础,核心技术是数据流图跟实体关系图
  3. 信息工程
    • 简化结构化的功能需求处理,强调建立数据模型
  4. 面向对象
    • 建模以对象为基础,主要是建立对象模型

需求工程

11.4 需求分析的活动

需求工程

  • 需求细化

    需求工程

  • 确定需求的优先级

  • 需求协商

需求工程

12 过程建模

12.1 过程建模

技术包括:

  • 上下文图
  • 数据流图
  • 微规格说明
  • 数据字典

12.2 数据流图

需求工程

需求工程

需求工程

12.3 层次结构

  • 上下文图

    **上下文图是数据流图最高层次的图,是系统功能的最高抽象。**所以有且只存在一个过程,表示整个系统。

    需求工程

需求工程

  • 0层图

  • 需求工程

    需求工程

  • N层图

需求工程

原始DFD图 展开为 微规格说明 和 数据字典

12.4 层次结构的建立过程

  • 在需求获取阶段获得的业务需求项目前景与范围可以用来帮助建立系 统的上下文图
  • 根据用户需求建立系统子系统,或者可以每个子系统对应一类用户(涉众)
  • 需求工程
  • 分解为N层图

有两个例子,详见12章PPT

12.5 微规格说明

  • 结构化英语(伪代码)

  • 行为图

    需求工程

  • 决策表

    需求工程

  • 决策树

    需求工程

12.6 数据字典

  • 定义

    需求工程

  • 需求工程

举例:

  1. 数据项

    需求工程

  2. 数据结构

    需求工程

  3. 数据流

    需求工程

  4. 数据存储

    需求工程

  5. 数据过程

    需求工程

12.7 总结

需求工程

13 数据建模

13.1 数据模型

  • 描述数据的定义、结构和关系等特性的模型
  • 建立数据模型的过程被称为数据建模 (ERD)
  • 面向对象分析中的类图也可以建立数据模型

13.2 ERD

  1. 实体
    • 概念实体 student
    • 逻辑实体 student(ID,Name)
    • 进程实体 选课(时间,地点)
  2. 属性
    • 属性是实体的特征,不是数据
    • 属性对应的数据被成为属性的值
    • 属性的值的合法范围成为域
    • 有主键和候选键之分
  3. 联系
    • 实体与实体之间的联系
    • 需求工程

14 面向对象

14.1 类图

14.2 顺序图

14.3 状态图

分析中的类图也可以建立数据模型

13.2 ERD

  1. 实体
    • 概念实体 student
    • 逻辑实体 student(ID,Name)
    • 进程实体 选课(时间,地点)
  2. 属性
    • 属性是实体的特征,不是数据
    • 属性对应的数据被成为属性的值
    • 属性的值的合法范围成为域
    • 有主键和候选键之分
  3. 联系
    • 实体与实体之间的联系
    • [外链图片转存中…(img-ve4KbK4F-1605847895441)]

14 面向对象

14.1 类图

14.2 顺序图

14.3 状态图