仓库综合管理系统优秀课程设计.doc
安徽工程大学 信息10 课程设计论文仓库管理系统目录第一章 概述31.1 项目背景:31.2编写目标:31.3软件定义:4第二章 需求分析52.1系统步骤图5 2.2数据流图:5 2.3.数据字典92.4性能分析15第三章 概念结构设计163.1 设计分E-R图163.2 合并成E-R图17第四章 逻辑结构设计184.1 表结构19第五章 软件功效设计22第六章 代码设计和界面设计23第一章 概述1.1 项目背景: 仓库在现实生活中用途十分广泛,多种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,所以仓库管理成了一项十分关键工作。人工管理仓库既费时又费力,而且轻易造成混乱,严重时会影响商城、企业正常运作,造成恶劣后果。伴随信息技术发展,办公自动化普及,怎样快速,高效,便捷管理仓库受到了高度关注;所以为了处理这个问题我们提供这个系统以满足仓库管理需求,本系统是基于超市仓库管理系统。本系统关键针对于商品管理信息、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。用户能够经过对应模块,对仓库里物品基础情况和库存数量进行查询,管理员经过简单操作即可轻松管理仓库,查询各项相关信息,并能进行入库和出库操作等。 本系统会提升办公效率和设备可靠性,降低工作人员劳动强度,降低办公耗材,提升现代化管理水平。企业面对市场竞争巨大压力,要求企业发明新利润源,这为企业怎样配置有限资源,利用优异计算机技术不停开发出操作简便、界面友好、灵活、实用、安全,更具时效性设备信息管理系统有着更高要求。 1.2编写目标:(一): 编写实用仓库管理系统为仓库管理系统提供一个基础,方便企业商品管理。(二):完成课程设计经过课程设计,达成以下目标:1、依据教材上数据库设计部分原理和方法,结合软件工程相关知识,能针对部分简单数据库系统设计问题,进行必需分析和设计。2、巩固学生学习数据库原理、程序设计语言等课程基础知识,训练学生分析和处理数据库系统实际问题能力。3、能查阅资料处理数据库技术方面问题。1.3软件定义: 企业仓库管理系统(Equipment Management System):是实现企业对货物出、入库进行高效管理。经过应用系统应能对商品基础信息进行管理。新商品信息入库、出库等操作也是其中一部分。同时根据一定条件查询、统计符合条件商品信息。1.4、开发环境开发环境:Windows 8辅助工具:Visual Studio 数据库管理系统:SQL Server 运行环境:Windows XP/Vista/7/8开发模式:windows窗体程序第二章 需求分析说明:本系统要处理问题是:一个小型通用仓库管理系统是实现企业对库存商品出库、入库进行高效管理。经过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作。根据一定条件,查询、统计符合条件商品信息;而且对查询、统计结果有一定输出。强调是做什么,而不是怎么做。2.1系统步骤图2.1.1系统步骤图符号图2.1所表示:处理输入输出联机存放图2.1系统步骤图符号说明2.1.2本系统使用总系统步骤图:查询操作 出库处理入库处理仓库管理系统存放文件入库信息身份验证2.2数据流图: 2.2.1仓库管理系统数据流图符号说明以下: 外部环境 处理 数据存放 数据流2.2.2顶层数据流图: 2.2.3一层数据流图:_ P4 打印_ P1 入库管理 商品入库信息1 商品入库信息 入库单 出库单 商品出库信息1_ P_2_出库管理 管理员 商品出库信息 管理员_ P_3商品信息管理 商品信息 商品信息1 12.2.4、二层数据流图: P1.1 查对供货信息(1)入库管理细化:管理员 供货单 反馈信息 满足入库信息_P1.2 入库入库信息存放库存信息表 入库信息 商品信息 入库信息1 入库单 P4 打印 管理员 P2.1 查对提货信息(2)出库管理细化:管理员 提货单 反馈信息 满足出库信息_P2.2 出库出库信息存放库存信息表 出库信息 商品信息 出库信息1 出库单管理员 P4 打印 (3)商品信息管理细化: P3.1 查询出入库、库存 管理员 管理员 查询条件 查询结果 2.3数据字典2.3.1数据流数据流名称:入库信息说明:立即装入仓库商品信息数据流起源:采购入库信息表数据流流向:仓库管理员数据流组成:商品编号+商品名称+商品数量+商品进价+供给商编号+供给商名称+此次入库时间数据流量:依据事物需要,通常很频繁数据流名称:出库信息说明:销售后立即出库商品信息数据流起源:销售出库信息表数据流流向:仓库管理员数据流组成:商品编号+商品名称+商品数量+商品进价+此次出库时间数据流量:依据事物需要,通常很频繁数据流名称:商品信息说明:对仓库中全部货物信息统计数据流起源:商品信息表数据流流向:仓库管理员数据流组成:商品=商品编号+商品名称+商品进价+商品售价+供给商编号数据流名称:供货单说明:供给商返回所定货物清单信息数据流起源:供给商数据流流向:加工1.1数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地数据流量:数据流名称:正确供货单说明:供给商所发货物信息是正确数据流起源:供给商数据流流向:加工1.24数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地数据流量:数据流名称:不能满足提货单数据流别名:无说明:仓库中商品不能够提货数据流起源:销售部门数据流流向:销售部门数据流组成:商品编号+商品名称+商品种类 +货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地+此次提货员编号+此次提货员姓名+此次提货时间数据流名称:错误供货单数据流别名:无说明:供给商所发货物信息由错误地方数据流起源:供给商数据流流向:供给商数据流组成:商品编号+商品名称+商品种类 +货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地数据流量;数据流名称:提货单数据流别名:无说明:所需要提取商品信息数据流起源:销售部门数据流流向:加工6.1数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地+此次提货员编号+此次提货员姓名+此次提货时间数据流名称:可满足提货单数据流别名:无说明:仓库中商品能够提货数据流起源:销售部门数据流流向:加工6.2数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地+此次提货员编号+此次提货员姓名+此次提货时间2.3.2数据项数据项名称:商品编号数据项别名:商品号说明:仓库中商品唯一标识类型:字符型长度:10数据项名称:商品名称数据项别名:商品名说明:商品名称类型:字符型长度:20数据项名称:商品售价数据项别名:售价说明:无类型:数值型长度:10数据项名称:商品进价数据项别名:进价说明:无类型:数值型长度:10数据项名称:此次出货时间数据项别名:出货时间说明:货物出库时间类型:时间日期型长度:8数据项名称:此次提货员编号数据项别名:采购员编号说明:采购员唯一标识类型:字符型长度:10数据项名称:商品种类数据项别名:类别说明:货物类型类型:字符型长度:10数据项名称:此次入库时间数据项别名:入库时间说明:货物入库时间类型:时间日期型长度:82.3.3数据文件数据文件名称:入库信息表说明:全部商品入库信息数据文件组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供给商编号+供给商名称+入库时间+商品产地组织方法:按货物编号从小到大排序存取方法:次序存取频率:随机数据文件名称:出库信息表说明:全部商品出库信息数据文件组成:商品编号+商品名称+商品种类 +货物数量+商品进价+供给商编号+供给商名称+发货时间+商品产地+此次提货员编号+此次提货员姓名+出库时间组织方法:按货物编号从小到大排序存取方法:次序存取频率:随机数据文件名称:供给商信息表说明:供给商全部信息数据文件组成:供给商编号+供给商名称+供给商地址+供给商电话组织方法:按用户编号从小到大排序存取方法:次序存取频率:随机 数据文件名称:商品信息表说明:仓库中全部商品信息数据文件组成:商品=商品编号+商品名称+商品种类+商品数量+商品进价+商品售价组织方法:按货物编号从小到大排序存取方法:次序存取频率:随机数据文件名称:库存表说明:仓库中剩下商品信息数据文件组成:商品编号+商品名称+商品产地+商品剩下量组织方法:按货物编号从小到大排序存取方法:次序存取频率:随机数据文件名称:用户信息表说明:管理仓库用户信息数据文件组成:用户=用户编号+用户姓名+用户密码+用户权限组织方法:按用户编号从小到大排序存取方法:次序存取频率:随机2.3.4数据加工数据加工名称:查对发货单加工编号:1.1说明:对比订单及发货单输入数据流:订单,发货单输出数据流:到货单核准加工逻辑:将供给商发货单进行比较,不一致时,将发货单返回给供给商,当一致时进行下个事物数据加工名称:查对提货信息加工编号:2.1说明:检验提货单输入数据流:货物信息表输出数据流:可满足提货单,不可满足提货单加工逻辑:将提货单和货物信息表,库存信息表进行对比,看能否满足,能满足,交给加工过程2.4.不能满足、则交给提货人员数据加工名称:入库加工编号:1.2说明:货物入库输入数据流:订单,可满足供货单输出数据流:商品信息表,销售入库信息表加工逻辑:根据供货单进行货物入库库,完成后修改库存表,并在销售入库库信息表中添加统计数据加工名称:出库加工编号:2.2说明:货物出库输入数据流:订单,可满足订单输出数据流:库存表,销售出库信息表加工逻辑:根据订单进行货物出库,完成后修改库存表,并在销售出库信息表中添加统计数据加工名称:查询加工编号:3.1说明:对供给商,商品信息进行查询输入数据流:供给商编号,商品编号输出数据流:商品信息,供给商信息加工逻辑:按编号对商品和供给商查询,将查询结果显示出来数据加工名称:打印加工编号:4说明:将所需信息打印输入数据流:入库信息,出库信息,商品信息,供给商信息输出数据流:所需要清单加工逻辑:2.4性能分析需实现很多性能特征,实用性、灵活性、可扩展性、易维护性、可靠性、安全保密性等等。1、实用性实用性是衡量一个应用系统好坏关键指标。是否和业务紧密结合,是否含有严格业务针对性,是系统成败关键。2、灵活性灵活性能够达成更高效率、更佳界面直观效果。3、可扩展性伴随系统应用普及和推广,系统功效扩展将是不可避免,所以,提升系统可扩展性、可维护性是提升整个系统性能肯定要求。4、易维护性本系统采取多层架构设计,使系统结构更清楚,分工更明确,有利于后期维护。5、可靠性社会向信息时代快速发展同时也有潜在危机,即对信息技术依靠程度越高,系统失效可能造成危害和影响也就越大。所以,采取良好操作系统和数据库,确保数据一致性和完整性,并使系统免受病毒感染,确保系统运行可靠性含相关键意义。6、安全保密性整体系统安全性是本系统中必需考虑关键要求。在该系统设计中,安全、可靠将作为第一要素。同时,利用细分权限管理,拒绝非法用户进入系统和正当用户越权操作,避免系统遭到恶意破坏,预防系统数据被窃取和篡改。另外,还有良好用户身份认证体制和灵活密码更改模块;用户权限也能够经过管理员灵活修改。 第三章 概念结构设计 说明:概念设计是独立于任何一个数据模型信息结构,采取自底乡上方法,首先定义各局部应用概念结构,然后集成起来,得到全局概念结构。描述概念模型最有力工具是E-R模型。3.1 设计分E-R图1、仓库管理员 编号仓库管理员 用户名密码权限2. 商品 商品生产日期商品编号商品名称供给商编号仓库3 .仓库仓库编号仓库地址仓库面积供给商4、供给商供给商编号供给商电话供给商名称3.2 合并成E-R图消除以上各个分E-R图属性冲突、命名冲突和结构冲突形成初步E-R图。在初步E-R图中,可能存在部分冗余数据和实体间冗余联络。所谓冗余数据是指有基础数据导出数据,冗余联络是指可由其它联络导出联络。冗余数据和冗余联络统一破坏数据库完整性,给数据库维护增加困难,应该给予消除。消除了冗余后初步E-R图称为基础E-R图。权限编号姓名密码 仓库管理员仓库地址管理 n仓库编号 1仓库面积仓库入库时间出库时间 操作员编号入库 n n出库 m操作员编号库存入库数量 出库数量库存数量 n m m商品名称 商品生产日期商品编号 m供给商名称供给商电话供给商供给商编号供给供给商编号供给商供给商电话供给商名称n 第四章 逻辑结构设计逻辑结构设计任务就是把概念结构设计阶段设计好基础E-R图转换为选择DBMS产品所支持数据模型相符合逻辑结构。把基础E-R图转换成关系模型。4.1 表结构1、用户Users属性名数据类型可否为空含义完整性约束Userno Char(10)否用户编号主属性Username Char(12)否用户名UserPassword Char(6)否登陆密码6位字母或数字Usercon Char(2)否是否管理员“是”、“否”之一2、商品Goods属性名数据类型可否为空含义完整性约束GnoChar(4)否商品编号主属性GnameChar(20)否商品名称PnoChar(20)否供给商编号外部码,级联GdateDatetime可生产日期3、仓库表 Storages属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号主属性SdressChar(20)可仓库地址SnameChar(20)否仓库名称4、库存表 Storage 属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号主属性,外部码,级联GnoChar(4)否商品编号主属性,外部码,级联Gnumint否库存数量默认值为05、入库Inputstorage属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号外部码,级联GnoChar(4)否商品编号外部码,级联IndateDatetime否入库时间主属性UsernoChar(10)否用户编号外部码,级联Addnumint否入库数量6、出库Outstorage属性名数据类型可否为空含义完整性约束SnoChar(4)否仓库编号外部码,级联GnoChar(4)否 商品编号外部码,级联OutdateDatetime否出库时间主属性UsernoChar(4)否用户编号外部码,级联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('是','否') 2、商品信息表Goodscreate 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) ) 3、仓库表 Storages create table Storages( Sno char (4) primary key, Sname char (20) , Sdress char (20) )4、库存表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、入库信息表Instoragecreate 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), foreign key (Sno ) references Storages(Sno), foreign key(Userno) references Users(Userno) )6、出库信息表Outstoragecreate 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) ) 7供给商 Providercreate table Provider( Pno char (4) primary key, Pname char (20) , Phone char (20) )第五章 软件功效设计说明:本章关键描述软件功效设计,具体模块分析。5.1功效设计用户登录:供不一样权限用户登陆;信息管理:可对商品进行增、删、改、查四类操作,完成对商品库存管理功效;库存管理:对商品入库、出库管理,和查询商品出入库统计情况;查询商品:此功效可对商品基础信息进行管理;用户管理:方便管理员增删通常见户,和用户对本身信息修改;退出系统:当完成对 品处理操作后,退出系统。5.2系统功效结构 可得以下系统功效结构图:仓库管理系统用户登录信息管理库存管理用户管理新增商品删除商品商品入库查询商品修改商品商品出库出入查询增删用户修改密码退出系统第六章 代码设计和界面设计说明:本章关键展示代码和系统界面截图,对界面进行具体设计6.1关键界面及其代码登陆界面:登陆处理代码:6.2关键代码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('是','否') 2、商品信息表Goodscreate 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) ) 3、仓库表 Storages create table Storages( Sno char (4) primary key, Sname char (20) , Sdress char (20) )4、库存表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、入库信息表Instoragecreate 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), foreign key (Sno ) references Storages(Sno), foreign key(Userno) references Users(Userno) )6、出库信息表Outstoragecreate 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) ) 7供给商 Providercreate table Provider( Pno char (4) primary key, Pname char (20) , Phone char (20) )数据库连接和处理类:public class DBhelper public 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 Username='0'and UserPassword='1'and Usercon ='2'", usersname, password, IS); try connection.Open(); SqlCommand command = new SqlCommand(sql, connection); int num = (int)command.ExecuteScalar(); if (num > 0) return true; else return false; catch (Exception ex) MessageBox.Show(ex.Message, "操作数据库犯错", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return false; finally connection.Close(); public bool SelectUser(string usersname, string password, string user) string sql = String.Format("select Username from Users where Username='0'and UserPassword='1'and Usercon ='2'", usersname, password); try connection.Open(); SqlCommand command = new SqlCommand(sql, connection); SqlDataReader reader = command.ExecuteReader(); while(reader.Read( ) user=rea