2024年2月8日发(作者:)
安徽工程大学 信息10 课程设计论文
仓库管理系统
目录
第一章 概述 ................................................................................................................. 2
1.1 项目背景: ........................................................................................................................ 2
1.2编写目的: ......................................................................................................................... 2
1.3软件定义: ......................................................................................................................... 3
第二章 需求分析 ......................................................................................................... 4
2.1系统流程图 ......................................................................................................................... 4
2.2数据流图: ........................................................................................................ 5
2.3.数据字典 ......................................................................................................... 8
2.4性能分析 ........................................................................................................................... 14
第三章 概念结构设计 ............................................................................................... 15
3.1 设计分E-R图 ................................................................................................................. 15
3.2 合并成E-R图 ................................................................................................................. 17
第四章 逻辑结构设计 ............................................................................................... 19
4.1 表结构 .............................................................................................................................. 19
第五章 软件功能设计 ............................................................................................... 24
第六章 代码设计和界面设计 ................................................................................... 25
第一章 概述
1.1 项目背景:
仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。
人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注;因此为了解决这个问题我们提供这个系统以满足仓库管理需求,本系统是基于超市仓库的管理系统。
本系统主要针对于商品管理信息、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等。
本系统会提高办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高现代化管理水平。企业面对市场竞争的巨大压力,要求企业创造新的利润源,这为企业如何配置有限资源,利用先进计算机技术不断开发出操作简便、界面友好、灵活、实用、安全,更具时效性的设备信息管理系统有着更高的要求。
1.2编写目的:
(一):
编写实用的仓库管理系统为仓库管理系统提供一个基础,方便企业的
商品管理。
(二):
完成课程设计
通过课程设计,达到以下目的:
1、根据教材上数据库设计部分的原理和方法,结合软件工程相关知识,能针对一些简单的数据库系统设计问题,进行必要的分析和设计。
2、巩固学生学习的数据库原理、程序设计语言等课程的基础知识,训练学生分析和解决数据库系统的实际问题的能力。
3、能查阅资料解决数据库技术方面的问题。
1.3软件定义:
企业仓库管理系统(Equipment Management System):是实现企业对货物的出、入库进行高效的管理。通过应用系统应能对商品基本信息进行管理。新的商品信息的入库、出库等操作也是其中的一部分。同时按照一定的条件查询、统计符合条件的商品信息。
1.4、开发环境
开发环境:Windows 8
辅助工具:Visual Studio 2012
数据库管理系统:SQL Server 2008
运行环境: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顶层数据流图:
管理员用户商品信息 P _
仓库管理系统用户商品信息管理员
2.2.3一层数据流图:
商品入库信息1
_ P1
入库管
理
_ P4
打印
商品入库信息 入库单
出库单
商品出库信息1
___ P_2__
出库管理
商品出库信息
管理员
商品信息
商品信息1 1
___ P_3
商品信息
管理
管理员
2.2.4、二层数据流图:
(1)入库管理细化:
供货单
管理员
反馈信息
满足的入库信息
_P1.2
入库信息
库存信息 商品信息
入库
表
P1.1
核对供货信息
入库信息存储
入库信息1
入库单
P4
打印
管理员
(2)出库管理细化:
提货单
P2.1
管理员
核对提
货信息
反馈信息
满足的出库信息
_P2.2
出库信息
出库信息
库存信息 商品信息
出库
存储
表
出库信息1
出库单
P4
打印
管理员
(3)商品信息管理的细化:
P3.1
管理员 查询条件
查询结果
查询出入
库、库存
管理员
2.3数据字典
2.3.1数据流
数据流名称:入库信息
说明:即将装入仓库的商品的信息
数据流来源:采购入库信息表
数据流流向:仓库管理员
数据流组成:商品编号+商品名称+商品数量+商品进价+供应商编号+供应商名称+本次入库时间
数据流量:根据事物的需要,一般很频繁
数据流名称:出库信息
说明:销售后即将出库的商品的信息
数据流来源:销售出库信息表
数据流流向:仓库管理员
数据流组成:商品编号+商品名称+商品数量+商品进价+本次出库时间
数据流量:根据事物的需要,一般很频繁
数据流名称:供货单
说明:供应商返回的所定货物的清单信息
数据流来源:供应商
数据流流向:加工1.1
数据流组成:商品编号+商品名称 +商
数据流名称:商品信息
说明:对仓库中的所有货物的信息的统计
数据流来源:商品信息表
数据流流向:仓库管理员
数据流组成:商品=商品编号+商品名称
+商品进价+商品售价+供应商编号
品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地
数据流量:
数据流名称:正确的供货单
说明:供应商所发的货物信息是正确的
数据流来源:供应商
数据流流向:加工1.2
4数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地
数据流量:
数据流名称:不能满足的提货单
数据流别名:无
说明:仓库中的商品不能够提货
数据流来源:销售部门
数据流流向:销售部门
数据流组成:商品编号+商品名称+商品种类 +货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地+本次提货员编号+本次提货员姓名+本次提货时间
数据流名称:错误的供货单
数据流别名:无
说明:供应商所发的货物信息由错误的地方
数据流来源:供应商
数据流流向:供应商
数据流组成:商品编号+商品名称+商品种类 +货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地
数据流量;
数据流名称:提货单
数据流别名:无
说明:所需要提取的商品的信息
数据流来源:销售部门
数据流流向:加工6.1
数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地+本次提货员编号+本次提货员姓名+本次提货时间
数据流名称:可满足的提货单
数据流别名:无
说明:仓库中的商品能够提货
数据流来源:销售部门
数据流流向:加工6.2
数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地+本次提货员编号+本次提货员姓名+本次提货时间
2.3.2数据项
数据项名称:商品编号
数据项别名:商品号
说明:仓库中的商品的唯一标识
类型:字符型
长度:10
数据项名称:商品名称
数据项别名:商品名
说明:商品的名称
类型:字符型
长度:20
数据项名称:商品售价
数据项别名:售价
说明:无
类型:数值型
长度:10
数据项名称:本次出货时间
数据项别名:出货时间
说明:货物出库的时间
类型:时间日期型
长度:8
数据项名称:本次提货员编号
数据项别名:采购员编号
说明:采购员的唯一标识
类型:字符型
长度:10
数据项名称:商品进价
数据项别名:进价
说明:无
类型:数值型
长度:10
数据项名称:商品种类
数据项别名:类别
说明:货物的类型
类型:字符型
长度:10
数据项名称:本次入库时间
数据项别名:入库时间
说明:货物入库的时间
类型:时间日期型
长度:8
2.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
Username
UserPassword
Usercon
2、商品Goods
属性名
Gno
Gname
Pno
Gdate
3、仓库表 Storages
属性名
Sno
Sdress
Sname
4、库存表 Storage
属性名
Sno
Gno
Gnum
数据类型
Char(4)
Char(4)
int
可否为空
否
否
否
含义
仓库编号
商品编号
库存数量
完整性约束
主属性,外部码,级联
主属性,外部码,级联
默认值为0
数据类型
Char(4)
Char(20)
Char(20)
可否为空
否
可
否
含义
仓库编号
仓库地址
仓库名称
完整性约束
主属性
数据类型
Char(4)
Char(20)
Char(20)
Datetime
可否为空
否
否
否
可
含义
商品编号
商品名称
供应商编号
生产日期
完整性约束
主属性
外部码,级联
数据类型
Char(10)
Char(12)
Char(6)
Char(2)
可否为空
否
否
否
否
含义
用户编号
用户名
登陆密码
是否管理员
完整性约束
主属性
6位字母或数字
“是”、“否”之一
5、入库Inputstorage
属性名
Sno
Gno
Indate
Userno
Addnum
6、出库Outstorage
属性名
Sno
Gno
Outdate
Userno
Denum
7.供应商 Provider
属性名
Pno
Phone
Pname
1、用户信息——表Users
create 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('是','否'))
)
数据类型
Char(4)
Char(20)
Char(20)
可否为空
否
可
否
含义
供应商编号
供应商电话
供应商名称
完整性约束
主属性
数据类型
Char(4)
Char(4)
Datetime
Char(4)
int
可否为空
否
否
否
否
否
含义
仓库编号
商品编号
出库时间
用户编号
出库数量
完整性约束
外部码,级联
外部码,级联
主属性
外部码,级联
数据类型
Char(4)
Char(4)
Datetime
Char(10)
int
可否为空
否
否
否
否
否
含义
仓库编号
商品编号
入库时间
用户编号
入库数量
完整性约束
外部码,级联
外部码,级联
主属性
外部码,级联
2、商品信息——表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)
)
3、仓库表 Storages
create table Storages
(
Sno char (4) primary key,
Sname char (20) ,
Sdress char (20)
)
4、库存表——Storage
create 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 (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、出库信息——表Outstorage
create 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供应商 Provider
create table Provider
(
Pno char (4) primary key,
Pname char (20) ,
Phone char (20)
)
第五章 软件功能设计
说明:本章主要描述软件的功能设计,具体的模块分析。
5.1功能设计
用户登录:供不同权限的用户登陆;
信息管理:可对商品进行增、删、改、查四类操作,完成对商品库存管理的功能;
库存管理:对商品入库、出库的管理,以及查询商品出入库记录的情况;
查询商品:此功能可对商品的基本信息进行管理;
用户管理:方便管理员增删一般用户,以及用户对自身信息的修改;
退出系统:当完成对 品处理的操作后,退出系统。
5.2系统功能结构
可得如下系统功能结构图:
仓库管理系统
用户登录
信息管理 库存管理
新删修查商商出增 除改询品品入商商商商入出查品 品 品 品 库 库 询
第六章 代码设计和界面设计
说明:本章主要展示代码和系统界面截图,对界面进行详细设计
6.1主要界面及其代码
登陆界面:
用户管理
增修退删改出用密系户 码 统
登陆处理代码:
6.2核心代码
1、用户信息——表Users
create 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、商品信息——表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)
)
3、仓库表 Storages
create table Storages
(
Sno char (4) primary key,
Sname char (20) ,
Sdress char (20)
)
4、库存表——Storage
create 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 (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、出库信息——表Outstorage
create 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供应商 Provider
create 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 = ("select count(*) from Users where Username='{0}'and
UserPassword='{1}'and Usercon ='{2}'", usersname, password, IS);
try
{
();
SqlCommand command = new SqlCommand(sql, connection);
int num = (int)eScalar();
if (num > 0)
{
return true;
}
else
{
return false;
}
}
catch (Exception ex)
{
(e, "操作数据库出错", ,
ation);
return false;
}
finally
{
();
}
}
public bool SelectUser(string usersname, string password, string user)
{
string sql = ("select Username from Users where Username='{0}'and
UserPassword='{1}'and Usercon ='{2}'", usersname, password);
try
{
();
SqlCommand command = new SqlCommand(sql, connection);
SqlDataReader reader = eReader();
while(( ))
{
user=ing(0);
}
return true;
}
catch (Exception ex)
{
(e, "操作数据库出错", ,
ation);
return false;
}
finally
{
();
}
}
public bool AddUser(string usno, string usersname, string password, string IS)
{
string
usersname, password, IS);
try
{
();
SqlCommand command = new SqlCommand(sql, connection);
int num = (int)eNonQuery();
if (num > 0)
{
("添加用户成功", "添加成功", ,
ation);
return true;
}
else
{
("添加用户失败", "添加失败", ,
ation);
return false;
}
}
catch (Exception ex)
{
(e, "操作数据库出错", ,
ation);
return false;
sql = ("INSERT INTO
Users(Userno,Username,UserPassword,Usercon)" + "VALUES('{0}','{1}','{2}','{3}')", usno,
}
finally
{
();
}
}
public bool DeleteUser(string usno)
{
String sql = ("Delete From users Where Userno='{0}'", usno);
try
{
();
SqlCommand command = new SqlCommand(sql, connection);
int num = (int)eNonQuery();
if (num > 0)
{
("删除用户成功", "删除成功", ,
ation);
return true;
}
else
{
("删除用户失败", "删除失败", ,
ation);
return false;
}
}
catch (Exception ex)
{
(e, "操作数据库出错", ,
ation);
return false;
}
finally
{
();
}
}
public bool ChangePWD(String Usno, string Usname, string Uspassword, string
newpassword)
{
string sql = ("UPDATE users set UserPassword='{0}'where
Userno='{1}'", newpassword, Usno);
string sqla = ("select count(*) from Users where Userno='{0}'and
Username='{1}'and UserPassword='{2}'", Usno, Usname, Uspassword);
try
{
();
SqlCommand command = new SqlCommand(sqla, connection);
int num = (int)eScalar();
if (num > 0)
{
SqlCommand commands = new SqlCommand(sql, connection);
try
{
("修改密码成功", "修改密码成功",
, ation);
return true;
}
catch
{
("修改密码失败", "修改密码失败",
, ation);
return false;
}
}
else
{
("密码验证失败", "请确认密码用户名编号是否正确",
, ation);
return false;
}
}
catch (Exception ex)
{
(e, "操作数据库出错", ,
ation);
return false;
}
finally
{
();
}
}
}
本文发布于:2024-02-08 04:46:08,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170733876866570.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |