清华大学出版社 TSINGHUA UNIVERSITY PRESS 第10章系统开发实例
第10章 系统开发实例
清华大学出版社 TSINGHUA UNIVERSITY PRESS 10.1开发ⅤFP数据库应用系统的一般步骤 需求分析 充分调研 需求分析 写出需求规范说明书 数据分 功能分 数据库设计 逻辑设计 数据库设计 应用程序设计 物理设计 数据代码设计 系统试运行联调」 应用程序设计 创建子类 满意否? 用户界面设计与编码 数据输出设计 系统运行与维护 数据库维护功能 构造VFP应用程序 软件测试 图101以处理为中心的数据库应用系统开发示意图 应用程序发布 系统运行与维护
需求分析 充分调研 写出需求规范说明书 数据库设计 逻辑设计 物理设计 数据代码设计 应用程序设计 创建子类 用户界面设计与编码 数据输出设计 数据库维护功能 构造VFP应用程序 软件测试 应用程序发布 系统运行与维护 图10.1 以处理为中心的数据库应用系统开发示意图 10.1 开发VFP数据库应用系统的一般步骤
清华大学出版社 10.2一个实例:“汽车修理管理系统”的开发 需求分析 开发目的: (1)能对汽车修理有关的各类数据进行输入、修改与查询。 (2)编制季度零件订货计划。 (3)打印汽车修理发票和工资月报表 数据需求 输入单据包括修车登记单、汽车修理单、零件入库单和零件出库单等4种 输出单据包括季度零件订货计划、汽车修理发票和工资月报表等3种 功能需求 1.数据登记 登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。这些单据包 括修车登记单、汽车修理单、零件入库单和零件出库单 2、查询 能査询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。 3.编制并显示季度零件订货计划 编制零件订货计划需要找出要订货的零件,订货条件为:零件库存量<最低库存量。 订货量可由用户输入或修改 4.打印发票 发票中除包含顾客、汽车及修理项目等数据外,还要计算出修车费,修车费包括修理费和零件费,按下列各 式计算: 零件费=∑(零件价格×耗用数量) 修理费=小时工资×修理工时×3 总计=零件费+修理费 5,打印修理工工资月报表 某修理工的月工资=∑修理小时×小时工资
10.2 一个实例:“汽车修理管理系统”的开发 需求分析 开发目的: (1) 能对汽车修理有关的各类数据进行输入、修改与查询。 (2) 编制季度零件订货计划。 (3) 打印汽车修理发票和工资月报表。 数据需求 输入单据包括修车登记单、汽车修理单、零件入库单和零件出库单等4种 输出单据包括季度零件订货计划、汽车修理发票和工资月报表等3种。 功能需求 1. 数据登记 登记功能用于把各种手填单据中的数据及时登记到系统将要定义的表中,还要求能进行修改。这些单据包 括修车登记单、汽车修理单、零件入库单和零件出库单。 2. 查询 能查询登记单、修理单、汽车、车主、修理工、零件库存的有关数据。 3. 编制并显示季度零件订货计划 编制零件订货计划需要找出要订货的零件,订货条件为:零件库存量<最低库存量。 订货量可由用户输入或修改。 4. 打印发票 发票中除包含顾客、汽车及修理项目等数据外,还要计算出修车费,修车费包括修理费和零件费,按下列各 式计算: 零件费=(零件价格×耗用数量) 修理费=小时工资×修理工时×3 总计=零件费+修理费 5. 打印修理工工资月报表 某修理工的月工资=修理小时×小时工资
数据库设计 TSINGHUA UNIVERSITY PRESS 逻辑设计 (1)修理单:ⅫD(编号,牌号,工号,修理项目,修理小时,送修日期,完工日期) (2)汽车:QC(牌号,型号,生产厂,车主名) (3)车主:CZ(车主名,地址,电话) (4)修理工:ⅪG(工号,姓名,地址,电话,出生日期,进厂日期,小时工资) (5)零件用量:LJYL(编号,零件号,数量 (6)零件库存:LJKC(零件号,零件名,成本,价格,库存量,最低库存,订货量) 汽车 车主名「车主 修理单 工号修理工 编号 零件用量 零件号 零件库存 图109表间关联的设计
数据库设计 逻辑设计 (1) 修理单: XLD(编号,牌号,工号,修理项目,修理小时,送修日期,完工日期) (2) 汽车: QC(牌号,型号,生产厂,车主名) (3) 车主: CZ(车主名,地址,电话) (4) 修理工: XLG(工号,姓名,地址,电话,出生日期,进厂日期,小时工资) (5) 零件用量: LJYL(编号,零件号,数量) (6) 零件库存: LJKC(零件号,零件名,成本,价格,库存量,最低库存,订货量) 图10.9 表间关联的设计
华大学出版社 物理设计 TSINGHUA UNIVERSITY PRESS 1.修理单(C:\QCXL\ XLDDBI xld(编号c(4,牌号c(⑧)修理项目c(12,送修日期d完工日期d,工号c(4普通索引,修理小时 n(41) 2.汽车 C:\QCXL\QC. DBF qc(牌号c⑧)普通索引,型号c(,生产厂c(20),车主名c(⑧) 3.车主 C:\QCXL\ CZ. DBF) cz(车主名c(⑧)普通索引,地址c(16,电话c() 4修理工(C\QCXL\ XLG.DBF) xg(工号c(4普通索引,姓名c(8),地址c(16,电话c(⑦,出生日期d,进厂日期d小时工资n(5.2) 5零件用量(C: QCXL\LJYLDBF ljJ(编号c(A普通索引,零件号c(,数量n(2) 6零件库存(C: QCXL\ LJKC DBF lkc(零件号c(6普通索引,零件名c(10,成本n(8.2)价格n(8.2,库存量n(3),最低库存n(3),订货 量n(3) 7.零件入库表为 JRK.DBF,其结构与 LJKC.DBF相同 8.零件出库表 C: QCXL (LJCK DBF ik(零件号c(6,数量n(2)
物理设计 1. 修理单(C:\QCXL\XLD.DBF) xld(编号 c(4), 牌号 c(8), 修理项目 c(12), 送修日期 d, 完工日期 d, 工号 c(4) 普通索引, 修理小时 n(4.1)) 2.汽车(C:\QCXL\QC.DBF) qc(牌号 c(8) 普通索引, 型号 c(6), 生产厂 c(20), 车主名 c(8)) 3.车主(C:\QCXL\CZ.DBF) cz(车主名 c(8) 普通索引, 地址 c(16), 电话 c(7)) 4. 修理工(C:\QCXL\XLG.DBF) xlg (工号 c(4) 普通索引, 姓名 c(8), 地址 c(16), 电话 c(7), 出生日期 d, 进厂日期 d, 小时工资 n(5.2)) 5. 零件用量(C:\QCXL\LJYL.DBF) ljyl(编号 c(4) 普通索引, 零件号 c(6), 数量 n(2)) 6. 零件库存(C:\QCXL\LJKC.DBF) ljkc(零件号 c(6) 普通索引, 零件名 c(10), 成本 n(8.2), 价格 n(8.2), 库存量 n(3), 最低库存 n(3), 订货 量 n(3)) 7. 零件入库表为LJRK.DBF,其结构与LJKC.DBF相同 8. 零件出库表(C:\QCXL\LJCK.DBF) ljck(零件号 c(6), 数量 n(2))