【计算机三级数据库备考】第二章 需求分析
·
第二章 需求分析
需求分析是数据库应用系统(DBAS)开发的第一步,其核心任务是准确理解和分析用户的需求,并转化为后续开发阶段可用的规格说明。主要产出包括数据需求、功能需求、性能需求等。
一、 需求分析的任务与层次
-
核心任务:
- 需求获取:与用户交流,收集各方需求。
- 需求分析:分析和提炼所收集的需求,建立模型。
- 需求规格说明:编写需求规格说明书(SRS),这是正式的交付文档。
- 需求验证:评审需求文档,确保其正确性、完整性和一致性。
-
DBAS需求分析的三个层次:
- 业务需求:反映企业或组织的高层目标,从宏观角度描述项目为什么要实施。
- 用户需求:从用户角度描述系统必须完成的任务或提供的服务。
- 系统需求:详细描述系统应该实现的功能、性能、约束等,是设计开发的直接依据。可进一步分为:
- 功能需求:系统应提供的功能或服务。
- 性能需求:系统应达到的技术指标(如响应时间、吞吐量、并发用户数)。
- 其他需求:安全性、可靠性、备份恢复等。
二、 需求获取的方法与主要难点
-
常用方法:
- 面谈、问卷调查、查阅资料、现场观察、原型法 等。
-
主要难点(考点):
- 存在“误解”:开发人员与用户背景不同,容易产生理解偏差。
- 存在“遗漏”:用户无法完整描述所有需求,特别是异常流程。
- 存在“混淆”:用户需求经常变化,或不同用户提出矛盾的需求。
- 存在“不一致”:不同来源的需求可能存在冲突。
三、 系统分析建模方法(重点)
需求分析的核心是建立模型,从不同视角描述系统。最常考的是功能模型和数据模型。
| 模型类型 | 描述 | 常用工具 | 考点聚焦 |
|---|---|---|---|
| 功能模型 | 描述系统应提供的功能和服务,以及功能之间的数据流。 | 数据流图(DFD) | 最常考! 描述数据在系统中的流动和处理过程。 |
| 数据模型 | 描述系统涉及的数据、数据之间的关系以及数据的约束。 | ER图、IDEF1x | 概念数据模型,与具体DBMS无关。 |
| 行为模型 | 描述系统在特定事件触发下的状态变化和行为。 | 状态转换图、UML活动图 | 描述系统状态如何响应外部事件而改变。 |
1. 数据流图(DFD - Data Flow Diagram) - 重中之重
(逻辑模型:抽象性概括性)
-
作用:描绘数据的来源、流向、处理、存储。
-
核心元素:
符号 名称 描述 实例 ○ 或 →□→ 处理/过程 (Process) 对输入数据进行变换产生输出数据。 “计算工资”、“验证登录” → 数据流 (Data Flow) 数据的流动方向,必须有箭头。 “订单信息”、“查询请求” 〓 数据存储 (Data Store) 逻辑上存储数据的地方(文件、数据库表)。 “库存记录”、“用户表” □ 外部实体 (External Entity) 系统之外的数据源或使用者(人、系统)。 “客户”、“财务系统” -
分层结构:
- 顶层图(Context Diagram):将整个系统视为一个处理,展示系统与外部实体的数据交互。只有一个处理。
- 逐层分解:将顶层图的处理分解为更详细的子图(0层图,1层图…),直至功能足够清晰。
-
考点:
- 识别DFD中的元素。
- 判断给定的DFD是否正确(如:数据流必须要么从处理出发/结束,要么连接存储和实体;处理必须有输入和输出等)。
- 补充缺失的数据流。
2. IDEF0 图(功能建模)
- 特点:更强调功能和控制,而DFD更强调数据。
- 核心元素:
- 功能活动:用方框表示。
- 输入(I):活动消耗或变换的内容。
- 输出(O):活动产生的内容。
- 控制(C):活动受到的约束或规则。
- 机制(M):执行活动所需的资源(人、设备)。
- 与DFD对比:IDEF0的“控制(C)”和“机制(M)”是DFD所没有的明确区分。
四、 需求规格说明书与数据字典(DD)
-
需求规格说明书(SRS)
- 是需求分析阶段的最终交付成果。
- 必须得到用户和开发方的共同确认。
- 是后续设计、测试、验收的基准。
-
数据字典(Data Dictionary) - 高频考点
- 是什么:对数据流图(DFD)中所有数据的详细、精确的定义和说明。“关于数据的数据”(元数据)。
- 内容:描述数据的数据结构、数据项、数据流、数据存储等。
- 谁管理:由数据库系统本身管理和维护(非常重要!)。
- 作用:
- 为数据库分析、设计和管理提供依据。
- 确保数据在系统中的一致性和完整性。
五、 事务规范
- 事务:构成一个逻辑工作单元的一系列数据库操作的集合(如:银行的取款交易,包含查询、计算、更新等多个操作)。
- 事务规范:在需求分析阶段,需要描述关键事务的:
- 事务名称:做什么。
- 事务描述:详细流程。
- 事务用户:谁触发。
- 事务所访问的数据项:读写哪些数据。
- 事务性能要求:期望的响应时间等。
总结对比与应试关键词
| 概念 | 核心描述 | 考试关键词 |
|---|---|---|
| 需求分析任务 | 获取、分析、规约、验证 | 需求规格说明书(SRS) |
| DFD | 描述数据流、处理、存储、实体 | 数据流、处理/过程、数据存储、外部实体 |
| IDEF0 | 强调功能、输入、输出、控制、机制 | ICOM(输入、控制、输出、机制) |
| 数据字典(DD) | 对DFD中数据的详细定义 | “关于数据的数据”、由DBMS管理维护 |
| 事务规范 | 描述关键业务操作的单元 | 逻辑工作单元、访问的数据项、性能要求 |
答题技巧:
- 选择题常直接考查基本概念,如“数据字典由谁管理?”(DBMS)。
- 填空题可能填写DFD的四个元素名称或IDEF0的四个接口名称。
- 应用题很可能给一个简单的业务描述,要求绘制或补充DFD图的元素(特别是数据流),或指出图中的错误。务必掌握DFD的绘制规则。
六.刷题心得
1.一个基本表最多只能建立一个聚簇索引
2.问系统功能建模,选有功能的选项
3.控制(矩形上方的箭头)指影响整个活动进行的事件或约束条件,机制(下方的箭头)标识实施该活动的物理手段或所需要的资源(计算机系统,人或组织)
4.IDEF1X中多对多不确定联系需要分解为一对多联系
5.用户视图在项目规划里
6.DBMS提供了数据定义语句DDL,数据定义语句经过DDL编译器编译后,各种对象的描述信息存放在数据库的数据字典里
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)