《仓库管理系统课程设计79701.docx》由会员分享,可在线阅读,更多相关《仓库管理系统课程设计79701.docx(51页珍藏版)》请在三一办公上搜索。
1、安徽工程大学信息10课程设计论文仓库管理系统目录第一章概述31.1项目背景:31.2编写目的:41.3软件定义:4第二章需求分析52.1系统流程图62.2数据流图:72.3.数据字典112.4性能分析19第三章概念结构设计213.1设计分E-R图213.2合并成E-R图2325第四章逻辑结构设计4.1表结构25第五章软件功能设计32第六章代码设计和界面设计33第一章概述1.1项目背景:仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药 房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成 品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且
2、容易造成混乱,严重时会影响商城、企业 的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何 快速,高效,便捷的管理仓库受到了高度的关注;因此为了解决这个问题我们提 供这个系统以满足仓库管理需求,本系统是基于超市仓库的管理系统。本系统主要针对于商品管理信息、入库操作、入库查询统计、出库操作、出 库查询统计、库存查询统计等处理情况。用户可以通过相应的模块,对仓库里的 物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓 库,查询各项相关信息,并能进行入库和出库操作等。本系统会提高办公效率和设备可靠性,减少工作人员的劳动强度,减少办 公耗材,提高现代化管理水平。企
3、业面对市场竞争的巨大压力,要求企业创造新 的利润源,这为企业如何配置有限资源,利用先进计算机技术不断开发出操作简 便、界面友好、灵活、实用、安全,更具时效性的设备信息管理系统有着更高的 要求。1.2编写目的:(一):编写实用的仓库管理系统为仓库管理系统提供一个基础,方便企业的商品管理。(二):完成课程设计通过课程设计,达到以下目的:1、根据教材上数据库设计部分的原理和方法,结合软件工程相关知识,能针对一些简 单的数据库系统设计问题,进行必要的分析和设计。2、巩固学生学习的数据库原理、程序设计语言等课程的基础知识,训练学生分析和解 决数据库系统的实际问题的能力。3、能查阅资料解决数据库技术方面的
4、问题。1.3软件定义:企业仓库管理系统(Equipment Management System):是实现企业对货物的出、 入库进行高效的管理。通过应用系统应能对商品基本信息进行管理。新的商品信 息的入库、出库等操作也是其中的一部分。同时按照一定的条件查询、统计符合 条件的商品信息。1.4、开发环境开发环境:Windows 8辅助工具:Visual Studio 2012 数据库管理系统:SQLServer 2008运行环境:Windows XP/Vista/7/8开发模式:windows窗体程序第二章需求分析说明:本系统要解决的问题是:一个小型通用的仓库管理系统是实现企业对 库存商品出库、入库
5、进行高效的管理。通过应用系统应能结合销售情况对库存商 品进行录入、删除、修改等操作。按照一定的条件,查询、统计符合条件的商品 信息;并且对查询、统计的结果有一定的输出。强调的是做什么,而不是怎么做。2.1系统流程图2.1.1系统流程图符号如图2.1所示:联机存储图2.1系统流程图符号说明2.1.2本系统使用的总的系统流程图:入库信息查询操作出库处身份验证2.2数据流图:2.2.1仓库管理系统数据流图符号说明如下:外部环境数据流2.2.2顶层数据流图:2.2.3 层数据流图:P4打印商品出库信息1出库管理商品信商品信息P2P3入库管商品入库信息P1商品入库信息1入库单出库单商品哽信息管理员管理员
6、2.24、二层数据流图:入库信息1入库单满足的出库信息出库信息1出库单管理员(3)商品信息管理的细化:2.3数据字典2.3.1数据流数据流名称:入库信息说明:即将装入仓库的商品的信息数据流来源:采购入库信息表数据流流向:仓库管理员数据流组成:商品编号+商品名称+商品数量+商品进价+供应商编号+供应商名称+本次入库时间数据流量:根据事物的需要,一般很频繁数据流名称:出库信息说明:销售后即将出库的商品的信息数据流来源:销售出库信息表数据流流向:仓库管理员数据流组成:商品编号+商品名称+商品数量+商品进价+本次出库时间数据流量:根据事物的需要,一般很频繁数据流名称:商品信息说明:对仓库中的所有货物的
7、信息的统计数据流来源:商品信息表数据流流向:仓库管理员数据流组成:商品=商品编号+商品名称+商品进价+商品售价+供应商编号数据流名称:供货单说明:供应商返回的所定货物的清单信 息数据流来源:供应商数据流流向:加工1.1数据流组成:商品编号+商品名称+商 品种类+货物数量+商品进价+供应商编 号+供应商名称+发货时间+商品产地 数据流量:数据流名称:正确的供货单数据流名称:不能满足的提货单说明:供应商所发的货物信息是正确的 数据流来源:供应商数据流流向:加工1.24数据流组成:商品编号+商品名称+ 商品种类+货物数量+商品进价+供应商 编号+供应商名称+发货时间+商品产地 数据流量:数据流别名:
8、无说明:仓库中的商品不能够提货数据流来源:销售部门 数据流流向:销售部门数据流组成:商品编号+商品名称+商品 种类+货物数量+商品进价+供应商编 号+供应商名称+发货时间+商品产地+ 本次提货员编号+本次提货员姓名+本 次提货时间数据流名称:错误的供货单数据流别名:无说明:供应商所发的货物信息由错误的 地方数据流来源:供应商数据流流向:供应商数据流组成:商品编号+商品名称+商品 种类+货物数量+商品进价+供应商编 号+供应商名称+发货时间+商品产地 数据流量;数据流名称:提货单数据流别名:无说明:所需要提取的商品的信息数据流来源:销售部门数据流流向:加工6.1数据流组成:商品编号+商品名称+商
9、 品种类+货物数量+商品进价+供应商编 号+供应商名称+发货时间+商品产地+ 本次提货员编号+本次提货员姓名+本 次提货时间数据流名称:可满足的提货单数据流别名:无说明:仓库中的商品能够提货数据流来源:销售部门数据流流向:加工6.2数据流组成:商品编号+商品名称+商 品种类+货物数量+商品进价+供应商编 号+供应商名称+发货时间+商品产地+ 本次提货员编号+本次提货员姓名+本 次提货时间2.3.2数据项数据项名称:商品编号数据项别名:商品号说明:仓库中的商品的唯一标识类型:字符型长度:10数据项名称:商品名称数据项别名:商品名说明:商品的名称类型:字符型长度:20数据项名称:商品售价数据项别名
10、:售价说明:无类型:数值型长度:10数据项名称:商品进价数据项别名:进价说明:无类型:数值型长度:10数据项名称:本次出货 时间数据项别名:出货时间 说明:货物出库的时间 类型:时间日期型 长度:8数据项名称:本次提货员编号数据项别名:采购员编号说明:采购员的唯一标识类型:字符型长度:10数据项名称:商品种类数据项别名:类别说明:货物的类型类型:字符型长度:10数据项名称:本次入库 时间数据项别名:入库时间说明:货物入库的时间类型:时间日期型长度:82.3.3数据文件数据文件名称:入库信息表说明:所有的商品的入库信息数据文件组成:商品编号+商品名称+商品种类+货物数量+商品进价+供应商编号+供
11、应商名称+入库时间+商品产地组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:出库信息表说明:所有商品的出库信息数据文件组成:商品编号+商品名称+商品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地+本次提货员编号+本次提货员姓名+出库时间组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:供应商信息表说明:供应商的所有信息数据文件组成:供应商编号+供应商名称+供应商地址+供应商电话组织方式:按客户编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:商品信息表说明:仓库中的所有商品的信息数据文件组成:商品=商品编号+商品名
12、称+商品种类+商品数量+商品进价+商品售价组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:库存表说明:仓库中的剩余的商品的信息数据文件组成:商品编号+商品名称+商品产地+商品剩余量组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:用户信息表说明:管理仓库的用户信息数据文件组成:用户=用户编号+用户姓名+用户密码+用户权限组织方式:按用户编号从小到大排序存取方式:顺序存取频率:随机2.3.4数据加工数据加工名称:核对发货单加工编号:1.1说明:对比订单及发货单输入数据流:订单,发货单输出数据流:到货单核准加工逻辑:将供应商的发货单进行比较,不一致
13、时,将发货单返回给供应商,当一致时进行下个事物数据加工名称:核对提货信息加工编号:2.1说明:检查提货单输入数据流:货物信息表输出数据流:可满足的提货单,不可满足的提货单加工逻辑:将提货单与货物信息表,库存信息表进行对比,看能否满足,能满足,交给加工过程2.4 .不能满足、则交给提货人员数据加工名称:入库加工编号:1.2说明:货物的入库输入数据流:订单,可满足的供货单输出数据流:商品信息表,销售入库信息表加工逻辑:按照供货单进行货物的入库库,完成后修改库存表,并在销售入库库信息表中添加记录数据加工名称:出库加工编号:2.2说明:货物的出库输入数据流:订单,可满足的订单输出数据流:库存表,销售出
14、库信息表加工逻辑:按照订单进行货物的出库,完成后修改库存表,并在销售出库信息表中添加记录数据加工名称:查询加工编号:3.1说明:对供应商,商品的信息进行查询输入数据流:供应商编号,商品编号输出数据流:商品信息,供应商信息加工逻辑:按编号对商品和供应商查询,将查询的的结果显示出来数据加工名称:打印加工编号:4说明:将所需信息打印输入数据流:入库信息,出库信息,商品信息,供应商信息输出数据流:所需要的清单加工逻辑:2.4性能分析需实现许多性能特性,实用性、灵活性、可扩展性、易维护性、可靠性、安 全保密性等等。1、实用性实用性是衡量一个应用系统好坏的重要指标。是否与业务紧密结合,是否具 有严格的业务
15、针对性,是系统成败的关键。2、灵活性灵活性可以达到更高效率、更佳界面直观的效果。3、可扩展性随着系统应用的普及和推广,系统功能的扩展将是不可避免的,因此,提高 系统的可扩展性、可维护性是提高整个系统性能的必然要求。4、易维护性本系统采用多层架构设计,使系统结构更清楚,分工更明确,有利于后期的 维护。5、可靠性社会向信息时代迅速发展的同时也有潜在危机,即对信息技术的依赖程度越 高,系统失效可能造成的危害和影响也就越大。因此,采用良好的操作系统和数 据库,确保数据的一致性和完整性,并使系统免受病毒感染,确保系统运行的可 靠性具有重要意义。6、安全保密性整体的系统安全性是本系统中必须考虑的重点要求。
16、在该系统设计中,安全、 可靠将作为第一要素。同时,利用细分的权限管理,拒绝非法用户进入系统和合 法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被窃取和篡改。此外, 还有良好的用户身份认证体制和灵活的密码更改模块;用户权限也可以通过管理 员灵活修改。第三章概念结构设计说明:概念设计是独立于任何一种数据模型的信息结构,采用自底乡上的方法,首先 定义各局部应用的概念结构,然后集成起来,得到全局概念结构。描述概念模型最有力 的工具是E-R模型。3.1设计分E-R图1、仓库管理员2. 商品3 .仓库仓库供应商4、供应商3.2合并成E-R图消除以上各个分E-R图的属性冲突、命名冲突和结构冲突形成初步
17、E-R图。在初步E-R图中,可能存在一些冗余的数据和实体间冗余的联系。所谓冗余的数据是指有基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系统一破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除了冗余后的初步E-R图称为基本E-R图。第四章逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本 E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。把基本E-R图转换成关系模型。4.1表结构1、用户 Users属性名数据类型可否为空含义完整性约束UsernoChar(10)否用户编号主属性UsernameChar(12)否用户名UserPa
18、sswordChar(6)否登陆密码6位字母或数字UserconChar(2)否是否管理员“是”、“否,之一2、商品 Goods属性名数据类型可否为空含义完整性约束GnoChar(4)否商品编号主属性GnameChar(20)否商品名称PnoChar(20)否供应商编号外部码,级联GdateDatetime可生产日期3、仓库表 Storages属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号主属性SdressChar(20)可仓库地址SnameChar(20)否仓库名称4、库存表Storage属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号主属性,外部码,级
19、联GnoChar(4)否商品编号主属性,外部码,级联Gnumint否库存数量默认值为05、入库 Inputstorage属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号外部码,级联GnoChar(4)否商品编号外部码,级联IndateDatetime否入库时间主属性UsernoChar(10)否用户编号外部码,级联Addnumint否入库数量6、出库 Outstorage属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号外部码,级联GnoChar(4)否商品编号外部码,级联OutdateDatetime否出库时间主属性UsernoChar(4)否用户编号外部码
20、,级联Denumint否出库数量7.供应商 Provider属性名数据类型可否为空含义完整性约束PnoChar(4)否供应商编号主属性PhoneChar(20)可供应商电话PnameChar(20)否供应商名称1、用户信息表Userscreate table Users (Userno char(10) primary key,Username char(20) not null,UserPassword char(20) not null,Usercon char(2) not null check(Usercon in(是,否) )COMPUTEHWMS_Project - dbo.Use
21、rs QLQuety1.iql - C列名数据类型 允祥皿值遂charflO)Usernamecha仞0)如如)Usereoncharts2、商品信息表Goods create table Goods(Gno char(4) primary key,Gname char(20) not null,Pno char(4) not null,Gdate datetime,foreign key (Pno ) references Provider(Pno)CaMPUTEHWMS_Froject - dbo.G-oo-ds SQLQueryl.列名数据类型 允许Null值7char(4)Gnanec
22、h 日(20)Pno如Gdatedatetime田3、仓库表 Storagescreate table Storages (Sno char (4) primary key,Sname char (20),Sdress char (20) )COMPUTERWMsTProjeet - dbo.Drag& SQLQuerl刊名数据类型允许Null值由a3Snamechar(20)0Sdresschar2C)sn4、库存表Storagecreate table Storage(Gno char (4) primary key,Sno char (4) not null,Gnum int not n
23、ull check(Gnum=0),foreign key (Sno ) references Storages(Sno),foreign key (Gno) references Goods(Gno)5、入库信息表Instorage create table Instorage (Gno char (4) not null,Indate datetime primary key,Userno char (10) not null,Addnum int not null,Sno char (4) not null,foreign key (Gno) references Goods(Gno),
24、foreign key (Sno ) references Storages(Sno),foreign key(Userno) references Users(Userno)COMPUTER.WMGLPraj.t - dbolHtorage COMPUTER列名数据类型允许Null值BE如啊IndatEdatetimeUsernochar(lO)AddnurnintSnochar4)口6、出库信息表Outstoragecreate table Outstorage (Gno char (4) not null,Indate datetime primary key,Userno char (
25、10) not null,Denum int not null,Sno char (4) not null,foreign key (Gno) references Goods(Gno),foreign key (Sno ) references Storages(Sno),foreign key(Userno) references Users(Userno) )OOM PUT EH W M S_Pr. - dbo.Out storage COMPUTER. WD/列名数据类型允许Null值char(4)Indatedate timeUsernochar(lQ)DenunnirtSnocia
26、r(4)7供应商Provider create table Provider (Pno char (4) primary key,Pname char (20),Phone char (20)COMPUTEHWMS_Prcjert - dbo.Pravid&r COMPUTER列名数据类型 允许西5值S3char(4)Pnamechar(20)0Phonetiar(20)0第五章软件功能设计说明:本章主要描述软件的功能设计,具体的模块分析。5.1功能设计用户登录:供不同权限的用户登陆;信息管理:可对商品进行增、删、改、查四类操作,完成对商品库存管理的功能;库存管理:对商品入库、出库的管理,以及
27、查询商品出入库记录的情况;查询商品:此功能可对商品的基本信息进行管理;用户管理:方便管理员增删一般用户,以及用户对自身信息的修改;退出系统:当完成对品处理的操作后,退出系统。5.2系统功能结构可得如下系统功能结构图:第六章代码设计和界面设计说明:本章主要展示代码和系统界面截图,对界面进行详细设计6.1主要界面及其代码登陆界面:Main_ 商品管坦用户管理登陆处理代码:商品理布户查问耽肖6.2核心代码1、用户信息表Userscreate table Users (Userno char(10) primary key,Username char(20) not null,UserPassword
28、 char(20) not null,Usercon char(2) not null check(Usercon in(是,否) )COMPUTEHWMS_Project - dbo.Users QLQuety1.iql - C列名数据类型 允祥皿值遂charflO)Usernamecha仞0)如如)Usereoncharts2、商品信息表Goods create table Goods(Gno char(4) primary key,Gname char(20) not null,Pno char(4) not null,Gdate datetime,foreign key (Pno )
29、references Provider(Pno)CaMPUTEHWMS_Froject - dbo.G-oo-ds SQLQueryl.列名数据类型 允许Null值7char(4)Gnanech 日(20)Pno如Gdatedatetime田3、仓库表 Storagescreate table Storages (Sno char (4) primary key,Sname char (20),Sdress char (20) )COMPUTERWMsTProjeet - dbo.Drag& SQLQuerl刊名数据类型允许Null值由a3Snamechar(20)0Sdresschar2C)
30、sn4、库存表Storagecreate table Storage(Gno char (4) primary key,Sno char (4) not null,Gnum int not null check(Gnum=0),foreign key (Sno ) references Storages(Sno),foreign key (Gno) references Goods(Gno)5、入库信息表Instorage create table Instorage (Gno char (4) not null,Indate datetime primary key,Userno char
31、(10) not null,Addnum int not null,Sno char (4) not null,foreign key (Gno) references Goods(Gno),foreign key (Sno ) references Storages(Sno),foreign key(Userno) references Users(Userno)COMPUTER.WMGLPraj.t - dbolHtorage COMPUTER列名数据类型允许Null值BE如啊IndatEdatetimeUsernochar(lO)AddnurnintSnochar4)口6、出库信息表Ou
32、tstoragecreate table Outstorage (Gno char (4) not null,Indate datetime primary key,Userno char (10) not null,Denum int not null,Sno char (4) not null,foreign key (Gno) references Goods(Gno),foreign key (Sno ) references Storages(Sno),foreign key(Userno) references Users(Userno) )OOM PUT EH W M S_Pr.
33、 - dbo.Out storage COMPUTER. WD/列名数据类型允许Null值char(4)Indatedate timeUsernochar(lQ)DenunnirtSnociar(4)7供应商Provider create table Provider (Pno char (4) primary key,Pname char (20),Phone char (20)COMPUTEHWMS_Prcjert - dbo.Pravid&r COMPUTER列名数据类型 允许西5值S3char(4)Pnamechar(20)0Phonetiar(20)0数据库连接与处理类:public
34、 class DBhelperpublic static string connSting = Data Source=(local);Database = WMS_Project;User ID =李鹏; Pwd=123;SqlConnection connection = new SqlConnection(connSting);public bool Userselect(string usersname, string password, string IS)string sql = String.Format(select count(*) from Users where User
35、name=0andUserPassword=1and Usercon =2, usersname, password, IS);tryconnection.Open();SqlCommand command = new SqlCommand(sql, connection); int num = (int)command.ExecuteScalar();if (num 0)return true;elsereturn false;catch (Exception ex)MessageBox.Show(ex.Message,操作数据库出错,MessageBoxButtons.OK,Message
36、BoxIcon.Exclamation);return false;finallyconnection.Close();public bool SelectUser(string usersname, string password, string user)string sql = String.Format(select Username from Users where Username=0and UserPassword=1and Usercon =2, usersname, password);tryconnection.Open();SqlCommand command = new
37、 SqlCommand(sql, connection);SqlDataReader reader = command.ExecuteReader();while(reader.Read()user=reader.GetString(0);return true;catch (Exception ex)MessageBox.Show(ex.Message,操作数据库出错,MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return false;finallyconnection.Close();public bool AddUser(strin
38、g usno, string usersname, string password, string IS)string sql = String.Format(INSERT INTO Users(Userno,Username,UserPassword,Usercon) + VALUESC/0/,/1/,/2/,/3/), usno, usersname, password, IS);tryconnection.Open();SqlCommand command = new SqlCommand(sql, connection);int num = (int)command,ExecuteNo
39、nQuery();if (num 0)MessageBox.Show(添加用户成功,添加成功,MessageBoxButtons.OK,MessageBoxIcon.Information);return true;elseMessageBox.Show(添加用户失败,添加失败,MessageBoxButtons.OK,MessageBoxIcon.Information);return false;catch (Exception ex)MessageBox.Show(ex.Message,操作数据库出错, MessageBoxButtons.OK,MessageBoxIcon.Exclamation);return false;finallyconnection.Close();public bool DeleteUser(string usno)String sql = String.Format(Delete From users Where Userno=0, usno);tryconnection.Open();SqlC