🗄️ 第五章 引入数据库-数据库的结构与表的设计
📄 一句话概括

需求定义是设计的原料采集:把「用户要什么、系统用来干什么」一条条写清楚——表结构是从需求里长出来的,不是拍脑袋定的。

📝 本节和前面几节的关系

5-1 流程里「需求定义」排在设计之前,本节展开它。从这里到 5-9 是一条链:需求 → 实体 → 关系 → E-R 图 → 模型——每一节都是上一节的加工品,最后 5-16~5-19 用书评网站把整条链走一遍。

一、需求定义回答三个问题

  1. 谁用:哪些角色要用这个系统(5-2 的角色)
  2. 干什么:每类角色要完成什么操作(录入、查询、统计……)
  3. 保什么:要存哪些数据、保留多久、谁有权动

二、怎么采集:听、看、追

方法 做法
听 访谈用户:现在怎么干、哪里最烦
看 看现用表格/单据——它们就是事实上的「数据模型」
追 追问异常流:改分怎么改?退课怎么退?——异常流程才是设计难点

第三条最容易被漏:正常流程谁都答得上来,「成绩登错了怎么办」一问,才知道需要「修改人、修改时间」两列。

三、产出:一份清单

需求定义的交付物是一张功能/数据清单,例如书评网站(本章贯穿案例的预告):

四、动手 Demo:把一句抱怨翻译成需求

用户说:「每次找哪个班谁没交作业都要翻聊天记录。」 翻译:需要作业提交记录表(谁、哪科、哪次、交没交、何时交)+ 查询功能(按班/科目/次号筛未交名单)。 一句抱怨 → 两行需求——这就是需求定义的日常。

五、30 秒实验

给「班级成绩管理」追三个异常流问题:成绩登错怎么改?学生转学记录留不留?期末报表谁出?——每问一次,清单就多一两行。

六、常见误区

自测三问 1. 需求定义回答哪三个问题?(谁用/干什么/保什么) 2. 三种采集方法?(听访谈/看现用表格/追异常流) 3. 为什么异常流程最关键?(正常流程人人会答,设计难点全在异常)

相关笔记