文章适用于计算机等级考试NCRE三级数据库技术,内容来源于网络,文章内容侵删,如果文章和个人的理解有出入,请务必以自己的知识储备为准,仅做参考
2.1 需求分析
2.1.1 需求分析的概念与意义
需求是用户对软件的功能和性能的需求。需求分析是在计算机系统的软件功能分配和软件设计之间起重要桥梁作用的一项软件工程活动,描述待开发的系统所要完成的功能。
需求分析是系统工程师能够刻画出软件的功能和性能,指明软件和系统其他元素的接口,并建立软件必须满足的约束
2.1.2 需求分析的困难点
- 软件功能复杂
- 需求的可变性
- 软件产品的不可见性
2.1.3 需求获取的方法
面谈、实地观察、问卷调查、查阅资料
2.1.4 需求分析的过程
- 标识问题: 通过对问题和标识获得的对所有求解问题及其运行环境的理解
- 建立需求模型: 用结构化分析模型或面向对象分析模型
- 描述需求: 需求、功能、信息、性能、环境、其他需求
- 确认需求: 需求确认及评审
2.2 需求分析方法
目前在信息系统的需求分析中可使用结构化分析与建模方法(SA,structure analysis),或面向对象分析与建模方法(OOA,object oriented analysis)
DBAS中常见的需求建模有:UML、DFD、IDEF0
2.2.1 结构化分析任务
- 建立分析模型: 模型包含功能模型、数据模型、行为模型
- 编写需求规格说明书: SRS是分析阶段编写的以文字为主的文档,主要内容包括:引言、信息描述、功能描述、行为描述、质量保证、接口描述等
2.2.2 DFD需求建模分析方法
数据流图(DFD,data flow diagram):DFD建模方法的核心是数据流从应用系统的数据流着手,以图形方法刻画和表示一个具体业务系统的数据处理过程和数据流
2.2.3 DFD建模组成元素
1.数据流
数据流是数据在系统内容传播的路径,由一组成分固定的数据组成。数据流必须有流向,除了与数据存储之间的数据流不用命名外,数据流应用名词或名词短语命名
2.数据源(终点/外部项)
代表系统之外的实体,可以是人、物、软件系统
3.处理(数据的加工)
加工是对数据进行处理的单元,接收一定的数据输入,对齐进行处理,并产生输出
4.数据存储
表示信息的静态存储,可以代表文件、文件的一部分、数据库的元素等
| 数据流 | 箭头 |
|---|---|
| 处理 | 矩形框 |
| 数据存储 | 圆角矩形框 |
| 外部项 | 圆角框/平行四边形框 |
2.2.4 DFD建模过程
1.明确目标,确定系统范围
将用户对目标系统的功能需求完整、准确、一致地描述出来
2.建立顶层DFD图
说明系统边界,即系统的输入和输出数据流,顶层DFD只有一张
3.构件第一层DFD分解图
中间层DFD,描述了某个过程的分解,其组成部分需要进一步分解
4.开发DFD层次结构图
底层DFD,由一些不可再分解的过程组成
5.检查确认DFD图
- 父图中描述过的数据流必须在相应子图出现
- 一个处理至少有一个输入流和输出流
- 一个存储必定有流入的数据流和流出的数据流
- 一个数据流至少有一端是处理框
- 表达描述的信息是全面、完整、正确、一致的
2.2.5 IDEF需求建模
IDEF方法(ICAM DEFinition Method),从IDEF0到IDEF14(包括IDEF1X在内)共计16套方法,每套方法都是通过建模程序来获取某个特定类型的信息,常用的是IDEF0(需求建模)、IDEF2(动态建模)、IDEF1X(数据建模)
1.IDEF0
在需求分析阶段,描述系统功能及其相互关系,核心元素是四个箭头:ICOM
- Input(输入): 表示被活动处理或转换的数据/物料
- Control(控制): 表示约束活动的条件、规则或标准
- Output(输出): 表示活动产生的结果
- Mechanism(机制): 表示执行活动所需的资源
2.IDEF2
3.IDEF1X
用于数据库逻辑设计,由实体、联系、基数组成
| 实体 | 独立实体 | 其实例的存在不依赖于其他实体,拥有自己的主键,使用直角矩形框表示 |
|---|---|---|
| 从属实体 | 其实例的存在依赖于另一个实体(父实体),主键部分或全部来自于父实体,使用圆角矩形框表示 | |
| 联系 | 标定联系 | 子实体的主键包含父实体的主键,依赖父实体而存在 |
| 非标定联系 | 父实体的主键迁移到子实体中,但仅作为外键,不是子实体主键的一部分 | |
| 基数 | 连接线末端的符号表示数量关系 |
2.2.6 UML用例建模方法
UML方法采用现象对象思想建模,使用用例图来描述系统功能需求,由系统、角色、用例三种模型元素及其之间的关系构成