第1节 需求分析
1.1 需求分析的基本任务
基本任务:
(应用需求:有哪些应用;数据需求:涉及哪些数据)
- 详细调查客观世界(处理对象,包括事和物)
- 充分了解系统工作概况(客观运作流程)
- 明确用户的详细需求(哪些应用&处理要求)
- 描述新系统的应用功能(应用计算过程&涉及相关数据)
1.2 需求分析的基本方法
- 数据流图
- 面向对象分析方法UML(用例图/类图/时序图/…)
1.3 需求分析的结果
最终结果:一套形式化的规范文档!
1.4 需求分析的其他任务
任务还应包括:
- 数据约束
- 使用频率
- 性能要求
- 使用环境
- 界面友好性
- 安全要求,等方面
第2节 数据流程图(针对一个应用系统)
2.1 基本要素
特别说明:表示方法可用多种多样,甚至增加新的要素,但最重要的是给出对要素的注释(含义和作用)
2.2 数据流程图
- 数据流程图(也称数据流图,date flow diagram , DFD)
- 是一种便于用户理解和分析系统业务模型的图形化工具
- 它摆脱了系统实现技术的束缚
- 数据流程图抽象地描述应用系统的业务模型(形式化建模)包含如下一些方面:
- 处理环节
- 处理流程
- 数据传输
- 数据输入和输出保存数据。
2.3 分层的数据流程图
- 复杂的应用系统需要采用分层数据流程图分层来描述。
- 自顶向下,由粗到细
数据流程图的作用与特点,什么是分层数据数据流程图?
- 作用:是一种能全面低描述信息系统逻辑模型的主要工具,可以用少数几种符号综合地放映出信息在系统中的流动、处理和储存情况
- 特点:抽象性和概括性。
- 分层数据流程图:是为了描述复杂的软件系统的信息流向和加工,可采用分层的DFO来描述,分层的DFO的顶层、中层和底层之分。
2.4 分层数据流图示例
2.4.1 顶层数据流程图
- 用户购买商品、下定单,企业采购商品、保存、供货
- 顶层图(输入输出图,仅一张):把整个系统视为一个加工,并标出系统从外部对象接收哪些数据流和发送哪些数据流到外部对象
2.4.2 0层数据流程图
- 0层图(顶层加工细化,仅一张):对系统的顶层加工进行细化,标出这些加工与外部对象和与这些加工的公共保存文件间的数据流向。
2.4.3 分层数据流程图
- 画分层数据流图(循环进行):把上层加工看作是由下层多个子加工形成的子系统,就象从0层图画出1层图一样,画出该加工的分层数据流程图
2.4.4 特别注意事项
- 上下层之间的一致性(接口吻合)!!
2.5 数据字典
- 数据流图表达了数据、处理过程、及相互作用关系抽象的拓扑结构
- 对流程图中外部对象、数据流、保存文件和加工等要素的详细描述必需借助数据字典(Data Dictionary)对其逐一描述。
- 数据字典包含内容:
- 数据项的说明(是数据的最小单位)
- 数据结构的说明(描述某些数据项之间的组成关系)
- 数据流的说明(由一个或一组固定的数据项或数据结构组成结构)
- 加工的说明(对加工逻辑进行说明)
- 保存文件的说明(描述具体的逻辑存储结构,不涉及物理组织)
- 外部对象的说明(定义外部对象的编号、名称、简述等)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-owtOHE3c-1591949209181)(/Users/rodrick/Documents/study/数据库/ppt/未命名文件夹/图片17.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FwRrUaJf-1591949209182)(/Users/rodrick/Documents/study/数据库/ppt/未命名文件夹/图片18.png)]
第3节 UML类图的作用(针对一个应用系统)
- UML
- 指统一建模语言(Unified Modeling Language)
- 采用面向对象软件工程方法来描述一个软件系统的不同部分
- 主要包括:
- 类图(class diagram):描述数据对象以及对象关系
- 用况图(use case diagram):描述用户与系统之间的交互关系,又称“用例图”
- 活动图(activity diagram):描述系统的不同部分之间的任务流(任务处理过程),又称“时序图/顺序图”
第4节 数据库需求分析(针对一个应用系统)
4.1 基本任务
- 与需求分析的不同
- 需求分析要同时考虑应用功能和所涉及的数据,数据库需求分析仅考虑需要保存哪些数据
- 两者是包含关系
- 数据库需求分析的核心任务
- 数据库需求分析不仅要确定所有待保存的“数据对象”,而且要了解清楚这些数据对象之间存在哪些关联!
- 同样地,要给出每个数据对象和数据关联的数据字典文件!
4.2 数据库需求分析的其他任务
- 首先,要描述清楚一个应用系统(业务模型)涉及的所有数据对象和数据间关联
- 同时,还需要对下述方面进行认真分析:
- 数据约束
- 数据访问频率
- 数据访问安全
- 数据可靠性
- 数据响应效率,等。
- 特别强说明:后者是保证数据库真正可用的关键!
4.3 数据库需求分析人员应具备的能力
- 沟通能力:挖掘客户需求;
- 演讲能力:与客户、开发人员、测试人员达成一致;
- 逻辑思维能力:分析客户散乱的需求,解决问题;
- 原型设计能力:熟悉客户体验,使用设计工具,了解开发过程或现有产品;
- Office能力:输出需求规格说明书(word或excel);
- 团队工作能力;
特别注释:未必一定要是数据库技术专家!一个数据库技术专家未必一定是一个优秀的数据库需求分析人员!