第二章 需求分析

需求分析是数据库应用系统(DBAS)开发的第一步,其核心任务是准确理解和分析用户的需求,并转化为后续开发阶段可用的规格说明。主要产出包括数据需求功能需求性能需求等。

一、 需求分析的任务与层次
  1. 核心任务

    • 需求获取:与用户交流,收集各方需求。
    • 需求分析:分析和提炼所收集的需求,建立模型。
    • 需求规格说明:编写需求规格说明书(SRS),这是正式的交付文档。
    • 需求验证:评审需求文档,确保其正确性、完整性和一致性。
  2. DBAS需求分析的三个层次

    • 业务需求:反映企业或组织的高层目标,从宏观角度描述项目为什么要实施。
    • 用户需求:从用户角度描述系统必须完成的任务或提供的服务。
    • 系统需求:详细描述系统应该实现的功能、性能、约束等,是设计开发的直接依据。可进一步分为:
      • 功能需求:系统应提供的功能或服务。
      • 性能需求:系统应达到的技术指标(如响应时间、吞吐量、并发用户数)。
      • 其他需求:安全性、可靠性、备份恢复等。
二、 需求获取的方法与主要难点
  1. 常用方法

    • 面谈问卷调查查阅资料现场观察原型法 等。
  2. 主要难点(考点)

    • 存在“误解”:开发人员与用户背景不同,容易产生理解偏差。
    • 存在“遗漏”:用户无法完整描述所有需求,特别是异常流程。
    • 存在“混淆”:用户需求经常变化,或不同用户提出矛盾的需求。
    • 存在“不一致”:不同来源的需求可能存在冲突。
三、 系统分析建模方法(重点)

需求分析的核心是建立模型,从不同视角描述系统。最常考的是功能模型数据模型

模型类型描述常用工具考点聚焦
功能模型描述系统应提供的功能服务,以及功能之间的数据流数据流图(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)
  1. 需求规格说明书(SRS)

    • 是需求分析阶段的最终交付成果
    • 必须得到用户和开发方的共同确认。
    • 是后续设计、测试、验收的基准
  2. 数据字典(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编译器编译后,各种对象的描述信息存放在数据库的数据字典里

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐