课 程 设 计 任 务 书
课程设计题目: 图书进销存管理的设计与实现 |
|
起止日期:2022.12.12-2022.12.16 |
设计地点:计算机学院实验室 |
设计任务及日程安排: (一) 问题描述 一个小型书店的图书进销存的主要业务主要包括图书进货、退货、统计、销售、查询等业务处理过程。各个业务处理过程如下: ①进货业务:根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。 ②退货业务:顾客把已买的书籍退还给书店。输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。 ③统计业务:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜等信息。 ④销售业务:输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。 ⑤查询业务:允许用户设置条件进行进货、退货、统计、销售和库存书籍的信息查询。 (二)系统设计要求: 1.请根据该业务过程示意图绘制数据流图、画出E-R图(属性按自己的理解设定,但一定要有基本信息、图书分类号、出版社、主编等信息); 2.再将其转换成关系模式(要求达到3NF); 3.写出创建各表的SQL语句(要含主键、外部键及其它的完整性定义),并指出各表应建哪些索引信息。
第一天 选题,做充分的系统分析,形成初步的需求分析文档。 第二天 细化完成数据字典,设计系统概念模型。 第三天 设计系统逻辑模型(符合第3范式即可)。 第四天 在MySQL(或其它RDBMS)下创建数据库、实现安全性、完整性及应用开发。 第五天 撰写实验报告、答辩。 要求在MySQL(或其它RDBMS)环境下调试程序,实现上述设计任务,在设计过程中教师每天要随时答疑和检查,最后进行答辩。设计完成后撰写课程设计报告,以班级为单位上交。 |
注:此任务书由指导教师在课程设计前填写,发给学生作为本课程设计的依据。
目录
一、问题描述:
一个小型书店的图书进销存的主要业务主要包括图书进货、退货、统计、销售、查询等业务处理过程。各个业务处理过程如下:
①进货业务:根据某种书籍的库存量及销售情况确定进货数量,根据供应商报价选择供应商。输出一份进货单并自动修改库存量,把本次进货的信息添加到进货库中。
②退货业务:顾客把已买的书籍退还给书店。输出一份退货单并自动修改库存量,把本次退货的信息添加到退货库中。
③统计业务:根据销售情况输出统计的报表。一般内容为每月的销售总额、销售总量及排行榜等信息。
④销售业务:输入顾客要买书籍的信息,自动显示此书的库存量,如果可以销售,打印销售单并修改库存,同时把此次销售的有关信息添加到日销售库中。
⑤查询业务:允许用户设置条件进行进货、退货、统计、销售和库存书籍的信息查询。
二、需求分析:
为了解决现代书店管理中存在的有关销售管理、采购管理、管理管理的问题,特此开发此系统已实现书店现代化、便捷化、科学化的管理,最大限度的减轻管理人员的工作,提供全面的服务。根据书店所存在的问题,该系统功能主要包括以下几个方面:实现图书入库及出库操作;实现图书销售信息的编辑功能;实现库存查询功能:实现信息的查询功能等。进货员主要生成订单交由老板审批、销售员可以查询库存信息以及生成销售订单等。
顶层数据流图:
第0层数据流图:
第1层数据流图:
三、数据字典:
数据流名称:销售单 别名:book_sale 描述:用于存储全部销售信息 定义:销售单=销售编号+销售时间+数量+顾客编号+图书编号 组织方式:索引文件,以销售单编号为关键字 查询要求:要求能随时查询 位置:销售库信息存储在b_shop数据库的book_sale表中 |
数据流名称:退货单 别名:book_return 描述:用于存储全部退货信息 定义:退货单=退货编号+退货时间+数量+顾客编号+图书编号 组织方式:索引文件,以退货编号为关键字 查询要求:要求能随时查询 位置:退货库信息存储在b_shop数据库的book_return表中 |
数据流名称:进货单 别名:book_stock 描述:用于存储全部进货信息 定义:进货单=进货编号+进货时间+数量+供应商编号+图书编号 组织方式:索引文件,以进货单编号为关键字 查询要求:要求能随时查询 位置:进货库信息存储在b_shop数据库的book_stock表中 |
数据流名称:管理记录表 别名:record 描述:用于存储全部管理记录信息 定义:管理记录表=管理编号+图书编号+管理员编号+时间+操作 组织方式:索引文件,以管理编号编号为关键字 查询要求:要求能随时查询 位置:进货库信息存储在b_shop数据库的record表中 |
数据存储名称:仓库 别名: repertory 描述:用于存储仓库信息 定义:仓库信息=仓库编号+仓库地址 组织方式:索引文件,以仓库编号为关键字 查询要求:要求能随时查询 位置:库存信息存储在b_shop数据库的repertory表中 |
数据存储名称:图书 别名:book 描述:用于描述图书的基本信息 定义:图书信息=图书编号+书名+作者+出版商+进价+售价+数量+仓库编号 组织方式:索引文件,以图书编号为关键字 查询要求:要求能随时查询 位置:图书信息存储在b_shop数据库的book表中 |
数据存储名称:顾客 别名:customer 描述:管理顾客的基本信息 定义:顾客=顾客编号+姓名+联系方式 组织方式:索引文件,以顾客姓名为关键字 查询要求:要求能随时查询 位置:客户信息存储在b_shop数据库的customer表中 |
数据存储名称:供货商 别名: supplier 描述:管理供货商的基本信息 定义:供货商信息=供货商编号+供货商名称+联系方式 组织方式:索引文件,以供货商名称为关键字 查询要求:要求能随时查询 位置:供货商信息存储在b_shop数据库的book_ supplier表中 |
数据项名称:图书编号 简述:用来唯一标识图书的文字 类型:整型int 长度:20 |
数据项名称:图书名 别名: name 简述:图书名称 类型:字符串varchar 长度:100 |
数据项名称:图书售价 别名:price 简述:图书的零售价格 类型:整数int 长度:4 |
数据项名称:图书数量 别名:number 简述:图书的数量 类型:整数int 长度:20 取值范围及含义:非负数 |
数据项名称:销售时间 别名: time 简述:每日销售的具体时间 类型:datetime 长度:8 取值范围及含义: 第1-8位:取值范围为:“1000-01-01 00:00:00----9999-12-31 23:59:59 |
数据项名称:供货商编号 简述:唯一标识供货商家的编号 类型:整数int 长度:20 |
数据项名称:进价 别名:bid 简述:图书的进货价格 类型:整数int 长度:4 |
数据项名称:作者 别名:author 简述:图书的作者名字 类型:字符串varchar 长度:5 |
数据项名称:出版商 别名:publisher 简述:图书的出版商家 类型:字符串varchar 长度:20 |
四、数据模型
实体属性:
e-r图:
关系模式:
图书:(图书编号,书名,作者,出版商,进价,售价,数量,仓库编号)其中,仓库编号为外码
仓库:(仓库编号,仓库地址)
图书管理员:(管理员编号,姓名)
管理记录表:(管理编号,图书编号,管理员编号,时间,操作)
购货方:(姓名,联系方式)
退货人:(姓名,联系方式)
供应商:(名称,联系方式)
供应信息表:(供应编号,供应商编号,图书编号,价格)
退货单:(退货编号,退货时间,数量,姓名,图书编号)其中,姓名和图书编号为外码
进货单:(进货编号,进货时间,数量,姓名,图书编号)其中,姓名和图书编号为外码
销售单:(销售编号,销售时间,数量,姓名,图书编号)其中,姓名和图书编号为外码
图书表(book)
序号 |
字段名 |
字段描述 |
类型 |
长度 |
主键 |
1 |
id |
图书编号 |
varchar |
20 |
是 |
2 |
name |
书名 |
varchar |
50 |
否 |
3 |
author |
作者 |
varchar |
50 |
否 |
4 |
publisher |
出版商 |
varchar |
50 |
否 |
5 |
bid |
进价 |