图书仓库管理系统的开发和设计
谢艳昕陈 灿宋宝卫禹定臣
湖南商务职业技术学院 郑州轻工业学院 黄淮学院
2004年8月19日
1 / 18
小组成员:
吉林农业科技学院
图书仓库管理系统的开发和设计
1.引言
1.1 编写的目的
本系统主要完成对图书仓库的库存管理功能,它包括图书入库、出库、库存,员工信息,供应商信息以及系统维护管理等六个方面,并可以完成对各类信息的浏览、查询、添加、删除、修改和报表输出等功能。
通过该系统的分析、设计和实现,熟悉和掌握MicroSoft Access2000开发环境、建立和修改表、建立索引、插入数据、查询数据、修改和删除数据,理解数据库的基本知识―――表、索引、主码等,并熟练掌握语句查询功能。 1.2项目背景
人们需要了解和掌握大量的信息,用于生活质量的提高和帮助人类适应这充满竞争和机会的社会,而书籍做为人类的精神食粮,在现代社会中越来越受到重视,由此造成市场上涌现出大批的书籍,人们有了各种各样不同的选择,但也造就图书管理的混乱。随着计算机和通信技术的蓬勃发展,将计算机这一信息处理利器应用于仓库的日常管理已是势必所然,而且这也将为仓库管理带来前所未有的改变,它可以带来意想不到的效益,
2 / 18
同时也会为企业的飞速发展提供无限潜力。采用计算机管理信息系统已成为仓库管理科学化和现代化的重要标志,它给企业管理来了明显的经济效益和社会效益。 1.3 参考资料
[1] 关系型数据库应用基础 Microsoft 著 高等教育出版社2003
[2] 数据库基本原理,萨师宣 王姗 著 高等教育出版社 2000 [3] 软件工程 张海藩 著 清华大学出版社2000 2.任务概述 2.1 目标
采用软件工程和数据库技术完成图书仓管理系统的分析个设计,包括系统功能的分析和数据库的分析和设计,并采用Microsoft Office中的Access 2000本系统主要完成对图书仓管理系统的实现。 2.2 范围
本系统主要讨论图书仓管理系统中图书入库、出库、库存,员工信息管理几方面,并完成对各类信息的浏览、查询、添加、删除、修改、报表输出等功能。 2.3 约束限制
3 / 18
不同用户拥有对系统的使用权限。如普通用户只拥有对系统的浏览查询等基本功能,而系统管理员拥有最高权限,可完成对系统的维护和管理。
对管理系统所涉及的数据都有一定的规定和限制。 3. 运行的环境 3.1 硬件环境
Pentium 3或更高配置的计算机 运行内存的要求最低为32兆 3.2 软件环境
系统软件平台:Windows 2000 或更高版本 数据库平台: Microsoft access 2000或高版本 4.功能需求
4.1 功能划分
1) 入库管理 2) 出库管理 3) 库存管理 4) 员工管理
4 / 18
5) 供应商管理 6) 用户管理 4.2 功能描述
入库管理 出库管理
。。。。
5. 性能要求 5.1 数据精确性
如书号,员工号等数据字段的正确性 5.2 时间特性
应用系统对操作的响应时间 5.3 适应性
系统对用户 的正确性和稳定性
6.运行的要求
6.1 用户界面
交互友好的类windows视窗界面风格,主张简单,朴实实用
5 / 18
6.2 硬件接口
支持Pentium系列微机 6.3 软件接口
客户和服务器端的要求
8.其他要求
安全性、适应性和扩展性的要求。
2.图书仓管理系统的分析、设计和实现
2.1 系统的需求分析
1. 功能分析
本系统采用结构化分析方法(Structured Analysis,简称SA)完成。SA是面向数据流进行需求分析的方法,像所有的软件分析方法(如面向对象分析方法、IDEF方法等等)一样,SA也是一种建模活动,它使用简单易读的符号,根据软件内部数据传递、变换的关系,自顶向下逐层分解,描绘满足功能要求的软件模型。在系统中我采用数据流图(DFD)这种半形式化的描述方式表达需求。它是一种功能模型,以图形的方式描绘数据在系统中流动和处理的过程,只反映系统必须完成的逻辑功能。它有四种基本图形符号:
◆ →:箭头,表示数据流;
6 / 18
◆ 〇:圆或椭圆,表示加工; ◆ ═:双杠,表示数据存储;
◆ □:方框,表示数据的源点或终点。
为了表达较为复杂问题的数据处理过程,用一张数据流图是不够的,要按照问题的层次结构进行逐步分解,并以一套分层的数据流图反映这种结构关系。在这里我一共使用了三层数据流图,即顶层图,0层图和1层图(也是底层图)。
在多层数据流图中,顶层流图仅包含一个加工,它代表被开发系统,它的输入流是该系统的输入数据了,输出流是该系统的输出数据;底层流图是指其加工不需要再做分解的数据流图,中间层流图表示对其上层父图的细化,它的每一步加工可能继续细化成子图。经过对系统的分析首先得到系统的顶层DFD,如下: 书库管理员 工作人员 书入库信息,书出苦信息 图书仓管理系统 订 单 入库信息表 出库信息表 库存信息表 。。。。。。。。 供应商 工作人员 图书仓管理系统顶层图
进一步细化得到系统的0层DFD,如下:
1.书入库信息管理 书库管理员 书入库信息,书出苦信息 7 / 18 书入库信息 书入库和出库信息,书库存信息等 供应商 工作人员
3.书库存信息管理
图书仓库管理系统0层图
再进一步细化每一个数据加工功能,得到系统的1层DFD图。下图以书的入库信息管理的dfd图进行简单说明。
D2 库存信息表 工作人员 书入库 的信息 书的入库信息 报表 1.1 处理事务 1 . 2 产生报表 信息 书入库信息 输出信息 D1 入库信息表 工作人员 一层书入库信息管理dfd图
简要功能说明:
1) 入库信息管理模块
8 / 18
根据库存信息,决定书的入库
打开数据库和入库信息表 向入库信息表中插入记录 计算入库后库存图书数量 将修改后的库存图书数量显示
在完成入库信息的添加后,修改库存记录 修改库存记录中图书数量
2) 出库信息管理模块
信息完整性的检查,如检查出库数量是否小于库存数量
添加出库记录
计算出库后库存图书数量 显示出库后库存图书数量 修改库存图书数量
3) 库存信息管理模块
。。。。。。
2. 数据分析
9 / 18
从以上的系统分析中,可以得出本系统府哦涉及的数据表,各个
表的说明如下:
1) 库存信息表 2) 入库信息表 3) 出库信息表 4)员工信息表 5)供应商信息表 6)密码信息表。
2.2 概念设计
通过以上对数据流图的分析之后,我们已大体地了解了系统的功能和目标,接下来所要做的就是系统的概要设计,在此主要完成数据库的概念设计,即将用户的要求转换为数据库管理系统所支持的概念模型,也就是实体及实体联系图的确定,并对实体联系图中的各数据项给相互详细说明。
2.2.1 E-R图
10 / 18
2.2.2 数据词典
。。。。。
2.3 逻辑设计
将上述结果转换为Microsoft access 2000数据库管理系统所支持的数据模型,并进行优化,即符合二、三范式的要求,并这种描述系统的体系结构,给出每个功能模块的详细的设计说明。
2.3.1 表的结构
11 / 18
根据系统ER图,针对本系统的特点,在对所搜集的数据进行规范化之后,定义了如下六张表格,分别是库存信息表,入库信息表,出库信息表,员工信息表,供应商信息表和密码信息表。通过对这六张表格的操作可以较好地完成系统设计的各项功能,六张表格之间有着不同程度的联系。(说明:在以下数据表中,K代表主键,#代表外键,字段值不为空。) 1) BookRecord 表(库存信息表)
字段名 类型 名称
BookID 数字 图书编号(pk) BookName 文本 图书名 Author 文本 作者
Publisher 文本 出版社 PubDate 日期/时间 出版日期 Price 货币 价格 BookType 文本 图书类型 Number1 数字库存数量 Addition 文本备注
注释:库存信息表,要用于记录仓库中现存放的所有图书的详细信息,包括图书编号、书名、作者、出版社、图书类型等有关图书的各类信息。
2) Employee 表(员工信息表)
12 / 18
字段名 类型 名称 EmployeeID 数字 员工编号 EmployeeName 文本 工姓名 Sex 文本 性别 BornDate 日期/时间 出生日期 Grade 文本 职称 WorkDate 日期/时间 工作日期 Telephone 文本 联系电话 Address 文本 联系地
注释:员工信息表,主要用于记录有关员工的各类信息,包括姓名、职称、出生日期、联系电话、联系地址等。它主要用来为系统提供员工的有关信息,因为在系统中,入库和出库操作均和员工有着一定的联系,在查询入库信息和出库信息时,有时需要查找有关此项记录有关的员工信息
3)Shopkeeper 表(供应商信息表)
字段名 类型 名称 ShopkeeperID 数字 供应商编号 ShopkeeperName 文本 供应商姓名 Address 文本 地址 PostNo 数字 邮编
13 / 18
OfficePhone 文本 办公电话 HomePhone 文本 住宅电话 Email 文本 E-mail
注释:供应商信息表,主要用于记录有关供应商的各类信息,包括姓名、地址、电话、付款方式等。它主要用来为系统提供供应商的有关信息,在系统中入库记录是和供应商记录相联系的,通过入库记录可以查找相关的供应商信息。
4)InRecord 表(入库信息表)
字段名 类型 名称 InID 数字 入库编号 BookID 数字 图书编号 EmployeeID 数字 员工编号 ShopkeeperID 数字 供应商编号 Number 数字 入库数量 BuyDate 日期/时间 入库日期
注释:入库信息表主要用于记录有关入库的详细信息,包括入库数量、入库日期以及图书、员工、供应商三方的编号,以便查询。
5) OutRecord 表(出库信息表)
14 / 18
字段名 类型 名称 OutID 数字 出库编号 BookID 数字 图书编号 EmployeeID 数字 员工编号 Number2 数字 出库数量 OutDate 日期/时间 出库日期
注释:出库信息表用于记录有关出库的详细信息,包括出库数量、出库日期以及图书、员工的编号。
6) Key表(密码信息表)
字段名称 数据类型 说明 KeyName 文本 用户姓名 KeyNo 文本 用户密码
注释:密码信息表主要用于记录所有的用户名和用户密码。它是在用户登陆时用来确定用户和密码的正确性,以防止非法用户登陆。 2.3.2 系统的体系结构
逻辑设计中最重要的就是系统的体系结构,即给出系统的功能框架,并细化模块。而模块化是指解决一个复杂问题时自项向下逐层把软件系统划分成若干个模块的过程。每个模块完成一个特定的功能,所有的模块按某种方法组织起来,成为一个整体,完成整个系统所要求的功能,它能降低软件系统的复杂性,提高可读性、可维护性。系统的总体结构如下:
15 / 18
库存管理 图书仓库管理系统 供应商管理 出库管理 员工管理 。。。。。。。 。。。。。 。。。
数据检索 数据修改 数据打印 。。。。 系统包括用户管理、库存管理、入库管理、出库管理、员工管理和供应商管理6个小模块。然后,进一步细分模块,添加细节。比如,用户管理又将其分为用户注册、用户注销、密码修改;库存管理分为库存记录查询、库存记录修改、库存记录打印等等.在此基础上将各模块经过进一步地细化,得一系统的子功能模块图,在这就不一一讲述。
2.3.3 功能模块的说明
。。。。。。。
2.4 物理实现
16 / 18
将逻辑模型的描述转换为数据库管理系统所支持的物理结构,采用合理的数据组织和存储方式
1) 数据库的建立过程
。。。。。。。
2) 表的建立
如:Employee 表(员工信息表)的创建: create table Employee
EmployeeID integer(12) EmployeeName char(20) Sex char(2) BornDate date Grade char(20) WorkDate date Telephone char(12) Address vchar(50) …………………
2.5 实现的过程
17 / 18
通过以上步骤,基本上完成了对整个系统的总体设计,接下来所要做的就是软件的编码工作。系统总体设计的好坏直接影响着下一步工作,只有在这一阶段设计出好的模块图和程序流程图,才能更有利于编码,产生好的软件系统。
2.6 运行和维护 3. 总结
本系统是一个具有一定实用性的数据库信息管理系统。它主要完成对图书仓库的一系列管理,包括入库、出库、库存以及员工和供应商信息管理。主要目的是熟悉数据库管理系统的开发过程和对数据库管理软件Microsoft Access2000的熟悉和使用。
由于时间关系,只给出简单的分析和设计过程,没给出太多细节的处理。
18 / 18
因篇幅问题不能全部显示,请点此查看更多更全内容