需求工程概述()
需求获取(**
)
需求分析(**)
需求定义(
)
需求验证()
需求管理(
)

需求工程概述

image.png

image.png

需求开发- 需求分类

image.png

image.png

需求开发— 需求获取

image.png

image.png

image.png

需求开发 - 需求分析

结构化需求分析
瀑布模型
数据流图(DFD)
ER模型
面向对象的需求分析
UML
用例模型和类模型

需求开发 - 需求分析-结构化需求分析

以功能模型(数据流图)为核心
image.png

结构化需求分析- 数据流图

基本概念
image.png
数据字典
image.png

结构化需求分析- 数据流图平衡原则

分层数据流

image.png
image.png
image.png

答题技巧

image.png
image.png
image.png

状态转换图 SA- STD

image.png

SA - ER图

image.png

需求开发 -需求分析- 面向对象

相关概念:
image.png

面向对象OOA

类: 是描述具有相同属性,方法,关系和语义的对象的集合,一个类实现一个或多个接口.
接口:是指类或者构件提供特定服务的一组操作的集合,接口描述了类或者构件的对外的可见性
构件:是物理上或可替换的系统部分,它实现了一个接口集合
包:是一种将有组织的元素分组的机制.
用例:是描述一系类的动作,产生有价值的结果
协作:定义了交互的操作,是一些角色和其它事物一起工作,提供一些合作的动作,这些动作比事物的总和要大
节点:是一个物理元素,它在运行时存在,代表一个可计算的资源,通常占用一些内存和具有处理能力.

面向对象OOA - UML

  1. 构造块

事物:
结构事物: 最静态的部分, 包括: 类,接口,协作,用例,活动类,构件和节点.
行为事物:代表时间和空间上的动作.包括:消息,动作次序,连接
分组事物: 看成是个盒子,如包,构件
注释事物: UML模型的解释部分.描述,说明和标注模型的元素.
关系:

图:

  1. 规则

范围:给一个名字以特定的含义和语境
可见性: 怎样使用或者看见名称
完整性: 事物如何正确,一致地相互联系
执行: 运行或模拟动态模型的含义是什么

  1. 公共机制

规格说明: 事物语义的细节描述,它是模型真正的核心
修饰: 通过修饰来表达更多的信息
公共分类:类和对象,接口与实现
扩展机制: 允许添加新的规则

UML图的分类

静态图:
类图: 一组类,接口,协作和他们之间的关系
对象图:可以租对象及他们之间的关系
构件图:一个封装的类和它的接口
部署图:软硬件之间的映射
制品图:系统的物理结构
包图:由模型本身分解而成的组织单元,以及他们之间的依赖关系
组合结构图:
动态图:
用例图: 系统与外部参与者的交互
顺序图: 强调按时间顺序
通信图: 协作图
状态图: 状态转换变迁
活动图: 类似程序流程图, 并行行为
定时图: 清掉实际时间
交互概览图:

OOA-UML-4+1视图

image.png

用例图

image.png

包含关系: 其中这个提取出来的公共用例称作抽象用例, 而把原始用例称为基本基本用例或者基础用例系: 当可以从两个或者两个以上的用例中提取公共行为时,应该使用包含关系来表示它们, 箭头指向公共用例 include

扩展关系: 如果一个用例明显的混合了两种或者两种以上的不同场景, 根据情况可能发生多种分支,则可以将这个用例分为一个基本用例和一个或多个扩展用例,这样使描述可能更加清晰. 箭头指向基本用例, extend

泛化关系: 当多个用例共同拥有一种类似的结构和行为的时候, 可以将它们的共性抽象称为父用例,其他的用例作为泛化关系中的子用例. 在用例的泛化关系中, 子用例是父用例的一种特殊形式,子用例继承了父用例的所有的结构.行为和关系.

类图与对象图

image.png

实现关系 虚线 实现接口
泛化关系 实线 继承父类

顺序图(sequence diagram, 序列图)

是一种交互图
image.png

活动图(activity diagram)

image.png

状态图(state diagram)

image.png

通信图(communication diagram)

image.png

构件图(component )

image.png

部署图(deployment diagram)

image.png

需求建模

image.png
image.png
image.png

image.png

image.png image.png

image.png

需求开发—需求定义

严格定义法 (瀑布法)
所有需求都能够被预先定义
开发人员与用户之间能够准确而清晰的交流

原型法
并非所有的需求都能在开发前被准确地说明

需求开发—需求验证

需求验证 —-需求评审,需求测试———正式评审, 非正式评审,

用户签字确认
验收标准之一

需求管理—- 定义需求基线

image.png

需求管理— 需求跟踪

image.png

需求管理- 需求风险管理

无足够用户参与
忽略了用户分类
用户需求的不断增加
模棱两可的需求
不必要的特性
过于精简的SRS(需求规格说明书)
不精准的估算

带有风险的做法

image.png

image.png

image.png

image.png

image.png