河南城建学院《典型数据库》课程设计报告课程名称:《典型数据库》课程设计设计题目:仓库管理系统指导教师:班级:学号:学生姓名:同组人员:计算机科学与工程学院2016年1月10日目录第1章概述选题的背景与意义1、背景:随着信息技术的发展和国内外互联网技术应用水平的逐步提高,在企业管理过程中,传统的工作方式和管理模式已经难以满足现代社会的必然需求,实现企业现代化综合管理已经是提高国家政府机关和企事业单位各部门工作效率、规范化管理的必然发展趋势。
随着经济全球化、信息网络化和物流现代化进程的全面推进,仓储供需量呈现爆炸式的增长,传统的仓库管理模式和管理系统,已根本满足不了现代社会全面信息化的严峻挑战,如何加强以信息化为指导的现代仓库管理技术已成为物流现代化走向成功的有效途径,如何将互联网技术和仓储物流的信息化技术紧密结合起来,开发出适应当前社会发展需要的、先进的现代化物流仓储管理技术平台,是现代化物流发展技术中一项基础的、又是很关键的、特别值得研究的子课题。
ASP技术是面向对象编程的技术,可实现复杂数据库的操作;用ASP开发的Web应用程序安装在网络服务器上,运行在网络服务器上,因而ASP源程序的隐密安全系数性高;而ASP又是基于B/S模型架构的、开放式的Web服务器的应用程序开发技术,因此,采用ASP技术开发运行在服务器端的仓库管理信息系统平台是众多软件设计与开发人士的首要选择。
本文比较全面地阐述了与ASP、ADO、B/S模式有关的理论技术,为构建Web仓库管理信息系统提供了必要的理论支持。
首先分析了ASP技术的优势、特点及其工作原理,剖析了ASP工作的核心内涵,搭建了ASP技术的工作环境,为开发系统功能提供的必需的技术运行环境;分析了目前Web数据库最佳访问组件ADO技术的对象与数据集之间的关系,直接搭建了Web应用程序与数据库访问的联系梁;根据现代仓储市场的需求特点,对拟开发系统的功能进行了细致地分析与设计,建立了仓储数据管理的E-R模型图、数据库结构,分析了B/S架构模式的三层框架,构建了以该框架为模型的仓库管理信息系统,重点分析介绍了有关功能模块的ASP实现过程,成功地实现了基于ASP运行环境的仓库管理信息系统的开发与设计;并对本系统的各项功能进行了测试与分析,发现系统运行状态良好,人机交互友好,程序设计实现合理,达到了项目设计的目的和要求。
最后,对本次的项目设计进行了总结与展望,发现了系统的构架模式关系着程序开发效率,对开发系统有着重要的影响意义,好马配好鞍,优秀的软件必然有优秀的构架。
作为软件开发设计人员既要努力学好软件技术又要重视相关模式的学习,这样,就能达到事半功倍的效果,设计开发出更加优秀的应用系统来。
2、意义仓库管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护,以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库,而对于后者则要求应用程序功能完备、易使用等特点。
经过分析,我们使用Microsoft公司的数据库开发工具SQL Server2008和Microsoft Visual Studio 2010,利用其提供的各种面向对象的开发工具和数据库的结合比较方便,我们开发了这套库存管理系统,包括仓库管理、入库管理、出库管理、库存管理以及查询等模块。
仓库管理可用于配置企业的仓库信息;出库、入库管理可以使管理人员管理各种类型的货物进出;库存管理可提供便捷的库存查询管理。
仓库管理系统实现了企业对货物的管理,用来控制存储货物的数量,以保证稳定的货物支持正常的运转,但又最小限度地占用资本。
它是一种相关的、动态的及真实的库存控制系统。
它能够结合、满足相关部门的需求,随时间变化动态地调整库存,精确地反映库存现状,加强库存环节管理,有效地控制货物收发,降低了库存,优化了库存结构;能够及时了解货物状态,全方位的仓库管理可以及时了解货物分布,避免了货物短缺、积压、过期变质,及时了解货物的收发成本,货物数据共享。
相关技术分析此系统采用了成熟且完善的oracle 11g及Microsoft Visual Studio 2010软件开发工具来进行后台数据库的管理、操作和维护。
该软件功能强大,可用性强,完全可以满足我们开发项目的要求。
第2章系统功能设计系统总体结构设计图系统要具备如下功能:登录界面统一,用户登录系统时进行身份验证,如不是系统用户则禁止登录;添加新员工时,通过系统管理员进行添加,并能采集员工的基本信息;仓库货品信息的管理,系统包括仓库管理、入库、出库和一些统计查询等几部分组成。
仓库管理系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和操作员信息的查看及维护。
仓库管理人员可以浏览、查询、添加、删除等产品的基本信息。
图系统功能图系统功能模块登录模块登录模块可以分为系统管理员登录和管理员登录。
如果用户要进行登陆时,系统会进去数据库进行帐号密码匹配,同时也要进行权限匹配,如果匹配成功才可以登录。
根据其选择的用户不同,输入不同的用户与密码,接入不同的用户界面,管理不同的界面。
图登陆模块基本信息模块分为仓库基本信息,操作员基本信息,客户基本信息,仓库基本信息又分为管理员管理,提货员管理,采购员管理。
图基本信息管理模块货物信息管理模块货物信息管理模块分为添加货物信息,修改货物信息,删除货物信息。
图货物信息管理仓库货物管理模块分为入库操作和出库操作。
图仓库货物管理查询信息信息模块查询信息管理模块分为查询货物信息,查询仓库信息,查询客户信息。
图查询信息管理仓库警报功能模块在货物不足时提示。
图警报功能信息导出功能模块信息导出功能模块分为导出货物信息,导出入库信息,导出出库信息。
图信息导出功能第3章数据库设计需求分析数据流程图仓库客户货物操作员仓库管理系统出货进货出库入库查询操作返回结果购货供货图顶层数据流图图系统数据流图详细设计图管理员-货物图管理员-入库、出库图管理员-客户图管理员-仓库数据字典(1)仓库表字段名称数据类型描述Sno int 仓库编号,主键Sname varchar2(10) 仓库名称Sadress varchar2(50) 仓库地址Sbig number 仓库大小Ano varchar2(10) 管理员编号外键字段名称数据类型描述Gno Int 货物编号外键Bno int 采购员编号外键Sno Int 仓库编号外键Idate Date 采购日期Inum Int 采购数量Ano varchar2(10) 管理员编号外键字段名称数据类型描述Gno Int 货物编号外键Pno int 提货员编号外键(10)采购员表数据库概念结构设计E-R图设计方法1).属性必须是不可分的数据项。
2).属性不能与其他实体具有联系,联系只能发生在实体之间。
全局E-R图图全局E-R图局部E-R图、仓库-货物-采购员图仓库-货物-采购员、仓库-货物-提货员图仓库-货物-提货员、仓库-货物(存储情况)图仓库-货物(存储情况)、客户-提货员图客户-提货员、系统管理员-采购员图管理员-采购员、管理员-仓库图管理员-仓库、系统管理员-提货员图系统管理员-提货员数据库逻辑结构设计1、仓库-货物-采购员(入库)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_InStorage(Gno, Sno ,Idate,Inum,Bno);2、仓库-货物-提货员(出库)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_OutStorage(Gno, Sno ,Odate,Onum,Pno);3、仓库-货物(存储情况)(M-N)Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);Tb_Good(Gno,Gname,Gdate,Gfactory,Gprice,Idate)Tb_Kc(Gno, Sno ,Knum,Kdate);4、客户-提货员(N-M)Tb_Client(Cno,Cname,Ctype,Cmethod,Ccode,Cphone,Cbz,Pno);Tb_Picker(Pno,Pname,Psex,Pmethod,Paddress);5、管理员-仓库(1-N)Tb_Admin(Ano,Aname,Asex,Amethod,Aaddress);Tb_Storage(Sno,Sname,Sadress,Sbig,Ano);仓库键约束:管理员表中作为主键的管理员编号在仓库表中作为外键使用:constraint gly_key foreign key(Ano) references Tb_Admin(Ano)提货员表中作为主键的提货员编号在客户表中作为外键使用:constraint thy_key foreign key(Pno) references Tb_Picker(Pno)货物表中作为主键的货物编号在库存表中作为外键使用:constraint hw_key foreign key(Gno) references Tb_Good(Gno)仓库表中作为主键的的仓库编号在库存表中作为外键使用:constraint ck_key foreign key(Sno) references Tb_Storage(Sno)货物编号,仓库编号,提货员编号,管理员编号在出库表中作为外键使用:constraint hw1_key foreign key(Gno) references Tb_Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint thy1_key foreign key(Pno) references Tb_Picker(Pno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano)货物编号,仓库编号,采货员编号,管理员编号在出库表中作为外键使用:constraint hw1_key foreign key(Gno) references Tb_Good(Gno)constraint ck1_key foreign key(Sno) references Tb_Storage(Sno)constraint cgy2_key foreign key(Bno) references Tb_Buyer(Bno)constraint gly1_key foreign key(Ano) references Tb_Admin(Ano) 约束check约束:Bsex varchar2(3) check (Bsex in('男','女')),Psex varchar2(3) check (Psex in('男','女')), key 约束管理员表:Ano varchar2(10) primary key,仓库表:Sno int primary key,采购员表:Bno int primary key,提货员表:Pno int primary key,货物表:Gno int primary key,客户表:Cno int primary key,第4章数据库维护与查询序列1.提货员序列create sequence Picker_seqstart with 1001increment by 12.采购员序列create sequence Buyer_seqstart with 2001increment by 1;3.货物序列create sequence Good_seqstart with 3001increment by 1;4.仓库序列create sequence Storage_seqstart with 4001increment by 15.客户序列create sequence Client_seqstart with 5001increment by 1;触发器1.提货员触发器create or replace trigger add_Picker_triggerbefore inserton TB_Pickerfor each rowbeginif : is null thenselect into : from dual;end if;end add_Picker_trigger;2.采购员触发器create or replace trigger add_Buyer_trigger before inserton TB_Buyerfor each rowbeginif : is null thenselect into : from dual;end if;end add_Buyer_trigger;3.货物触发器create or replace trigger add_Good_trigger before inserton TB_Goodfor each rowbeginif : is null thenselect into : from dual;end if;end add_Good_trigger;4.仓库触发器create or replace trigger add_Storage_trigger before inserton TB_Storagefor each rowbeginif : is null thenselect into : from dual;end if;end add_Storage_trigger;5.客户触发器create or replace trigger add_Client_trigger before inserton TB_Clientfor each rowbeginif : is null thenselect into : from dual;end if;end add_Client_trigger;第5章UI设计与代码实现UI设计仓库管理员1. 登录界面设计登录模块可以分为系统管理员登录和管理员登录。