知识卡片

数据库设计五阶段流程及与软件开发过程的同步关系

结构图卡

内容

数据库设计不是孤立于软件开发之外的一个独立环节,而是跟软件开发生命 周期的每个阶段一一对应、同步推进的:需求分析是软件需求分析里”数据 需求”这一部分的具体化;概念结构设计(画E-R图)大致落在软件的概要 设计阶段,此时要确定用什么结构管理数据(关系数据库/图数据库/非关系 数据库)以及具体用哪个数据库管理系统的哪个版本;逻辑结构设计与物理 结构设计包含在软件的详细设计、编码测试阶段,因为编码前必须先有数据库 的逻辑和物理结构才能开始写跟数据相关的代码;数据库实施与维护则跟软件 的运行维护阶段同步——软件编码测试阶段数据库里存的是测试数据,只有 软件正式上线后数据库才开始存储和管理真实数据。这个对应关系说明”先 设计好数据库再开发软件”和”数据库设计与软件开发完全独立”都是错误的 理解:数据库设计的每一步都嵌在对应的软件开发阶段里,被后者的进度和 决策约束,同时也反过来约束软件的编码实现方式。

结构图

flowchart LR
    A[需求分析] --> B[概念结构设计<br/>E-R图]
    B --> C[逻辑结构设计]
    C --> D[物理结构设计]
    D --> E[数据库实施与维护]
    A2[软件需求分析] -.同步.- A
    B2[软件概要设计<br/>确定DBMS及版本] -.同步.- B
    C2[软件详细设计/编码测试] -.同步.- C
    D2[软件详细设计/编码测试] -.同步.- D
    E2[软件运行维护] -.同步.- E

参考来源

- 位置:《数据库原理(微课版)》第6章《数据库设计》6.1.3节"数据库设计 步骤"(源文件:_epub-src/index_split_004.html) - 结论依据:原文明确"数据库的需求分析是软件需求分析的一部分……数据库 的概念结构设计大致包含在软件的概要设计阶段……数据库的逻辑结构设计 与物理结构设计包含在软件详细设计、编码测试工作中……在软件进入运行 维护阶段时,数据库同样进入运行维护阶段",因此可以推出数据库设计 五阶段与软件开发生命周期各阶段一一对应、同步推进的结论。 - 原始内容:数据库的需求分析是软件需求分析的一部分……数据库的概念 结构设计大致包含在软件的概要设计阶段……数据库的逻辑结构设计与物理 结构设计包含在软件详细设计、编码测试工作中。