基于WEB的库存管理系统.docx
- 文档编号:16704105
- 上传时间:2023-07-16
- 格式:DOCX
- 页数:39
- 大小:1.05MB
基于WEB的库存管理系统.docx
《基于WEB的库存管理系统.docx》由会员分享,可在线阅读,更多相关《基于WEB的库存管理系统.docx(39页珍藏版)》请在冰点文库上搜索。
基于WEB的库存管理系统
课程:
信息系统工程与实践
基于 WEB 的库存管理系统
系电子系
专业 计算机科学与技术
班级 文计 0912
姓名 徐荣
学号 200990514243
任课教师 贺秉庚
第一部分 课题可行性分析
本部分主要介绍开发基于web的库存管理系统的意义及对开发该系统所需工具进行了简
要的描述。
1.1选题背景
现代企业的最大特点是信息处理量比较大,所管理的物资设备、原材料及零部件种类
繁多,而且由于入库单、出库单等单据发生量特别大,关联信息多,查询和统计的方式各
不相同,因此在管理上实现起来有一定的困难。
动态变化的制造环境对库存管理系统提出
了新的要求,所以很有必要设计出一套系统来管理企业的库存运作,而传统的库存管理系
统操作复杂,效率低。
因此,本文根据现代制造企业库存管理的特点和要求,讨论了基于web的库存管理系统
的体系结构,通过实现用户界面、应用程序与数据的相互独立,提高库存管理的敏捷性、
可维护性和数据完整性。
1.2开发工具简介
本系统主要应用Microsoft Visual Web Developer 2005中的Asp.Net辅以Microsoft
SQL Server2000实现。
1.2.1Microsoft Visual Web Developer 2005 简介
Visual Web Developer 2005 速成版是 Microsoft Visual Studio 2005 系列产品的
一部分,该环境提供一个同类最佳的 HTML 源代码编辑器、一个改进的可视化页设计器、
一个新的项目系统、对数据操作的更好的支持以及对 XHTML 标准的完全支持。
此外,它还
集成了许多ASP.NET开发应用的组件,用户可以直接应用这些组件创建ASP.NET应用程序,
极大地方便了用户编程[3]。
1.2.2ASP.NET 简介
Asp.Net是目前最流行的Web开发技术之一,是微软公司用于创建功能强大的网站的工
具,该技术基于.NET环境开发,具有简易性、自定义性、扩展性、安全性、可管理性、可
缩放性等优点,而且支持多种语言,包括:
Visual Basic.Net、C#、Jscript等,本系统主
要利用C#语言进行编写[4]。
1.2.3SQL Server2000 简介
SQL Server2000 是微软公司于 2000 年推出的一款面向高端的数据库管理系统,支持关系数
据库的结构化查询语言 SQL,具有动态自动管理和优化功能。
它还支持大型 web 站点,对
数据的操作和管理都有很好的支持,深受客户的喜爱,使用非常广泛[5]。
第二部分 需求分析
需求分析是系统开发的第一步也是最重要的一步[6]。
开发一个仓库管理信息系统之前,
开发者首先要了解和澄清用户的需求。
开发者只有和客户充分理解了需求之后才能开始设
计系统;否则,对需求定义的任何改进,设计上都必须大量的返工。
2.1任务概述
基于 web 的库存管理系统具有对仓库信息、货物信息及所涉及到的员工信息进行管理
及维护的功能,也具有对每一次仓库货物变动情况进行记录以及自动生成订货报表的功能。
其目标是提高仓库的存储效率,减少仓库管理漏洞。
2.2用户对系统的需求
该系统主要面向三类用户:
仓库主管、分仓库管理员和采购员。
不同的用户对系统的
需求不同。
具体所列如下:
2.2.1 仓库总管对功能的需求
(1)员工信息管理
● 浏览所有员工信息
● 按员工号查找某位员工的具体信息
● 对员工信息进行录入、修改及删除
(2)仓库信息管理
● 浏览所有仓库的基本信息
● 按仓库编号查找某个仓库的具体信息
● 对仓库信息进行录入、修改及删除
(3)货物信息管理
● 浏览所有仓库中的货物信息
● 按货物编号查找某项货物的具体信息
● 对货物信息进行录入、修改及删除
(4)存储规则管理
存储规则是用来管理仓库的货物存放规则信息,包括最大存量、最低警戒线等。
● 浏览所有货物存放规则信息
● 按存储规则编号查找某项货物存放规则信息
● 录入、修改及删除货物存放规则信息。
(5)对所有货物的进出信息进行浏览
2.2.2分仓库管理员对功能的需求
录入仓库货物的变动信息,内容主要包括货物名称,当前货物存量,最大存储量,最
低警戒线以及实际操作的进货/出货数量,负责人等。
变动包括进货和出货两类,分仓库管
理员要根据货物的存放规则合理进出货,即进货时不能超过最大库存量,出货时不能大于
当前的货物存储值等。
2.2.3采购员对功能的需求
根据库存情况,系统生成采购信息的浏览。
并根据货物需求的紧急程度进行采购。
采
购信息内容主要包括货物名称、所需仓库、仓库地址、仓库描述、货物描述、所需数量、
当前价格、供应商和紧急程度等。
2.3系统功能模块划分
仓库管理信息系统所需要实现的功能可以细分为几个模块:
员工管理、仓库管理、货
物管理、存储规则管理、货物进出记录、货物进出控制及仓库需求生成。
2.3.1系统登录模块
该模块是针对用户登录的用户管理模块。
用户先选择自己的员工类型,然后输入自己
的员工号及密码,经系统验证后,便可以使用该系统与其权限相对应的功能。
另外,当用户需要离开系统或切换用户时,该模块还提供了注销功能。
2.3.2员工管理模块
该模块负责管理所有参与仓库管理运作的员工信息,包括添加、删除、修改和查找员
工信息。
系统各功能操作按照员工的工作类别区别给予,系统分为3种权限:
仓库总管、分
仓库管理员和采购员。
其中,仓库总管可以管理所有员工信息,而分仓库管理员及采购员只能对自己的信息
进行修改和维护。
2.3.3仓库管理模块
该模块负责管理本系统所涉及的所有仓库信息,包括添加、删除、修改和查找仓库信
息。
只有仓库总管才具有对仓库信息进行维护的权利。
2.3.4货物管理模块
该模块负责管理所有在仓库中存放的货物的详细信息,包括添加、删除、修改和查找
货物信息。
只有仓库总管有权对货物信息进行维护。
2.3.5存储规则管理模块
该模块负责管理仓库的货物存放规则信息,包括添加、删除、修改存储规则信息。
由
仓库总管决定各种货物对应的存放规则,何种物品存放在何仓库,限量多少,最低警戒线
多少等。
存储规则作为一种关系存在,联系仓库与货物这两个孤立的信息。
只有仓库主管才具有对存储规则进行维护的权利。
2.3.6货物进出控制模块
货物进出控制就是对进仓、出仓的货物进行登记管理,分仓库管理员将担负起这个职
责,当有货物进出仓库是,分仓库管理员调用这个模块,按照预先设定好的存储规则对合
法货物进行进出控制。
2.3.7仓库需求生成模块
我们对仓库进行管理的最终目的是及时发现当前仓库的需求,当前需求主要是提供给
采购部门信息的浏览,它不提供给任何人删除以及修改的权利,仓库需求中系统将会根据
目前仓库的存储情况,赋予每一个订单一个量化的紧急程度值,供采购部门安排采购时确
定采购顺序。
2.3.8货物进出记录模块
每一笔货物的进出显然要做到有据可查,查阅的内容包括货物名称,仓库信息,进出
库数量,进出库产生日期,负责人,经手人等。
以上信息我们都会在对货物进出进行控制
时产生,但是货物进出记录一旦生成就不可修改、删除,这也提供了仓库管理信息系统的
可靠性。
只有仓库管理员才具有对所有货物的进出信息进行浏览的权利。
2.4系统流程分析
为了更清楚地说明系统框架,以便更好地设计该系统的解决方案,画出该系统流程图,
如图2-1所示。
系统流程图展示了该系统所有功能模块之间的逻辑关系,其中的各个功能模
块基本上都代表了一个或多个独立的页面,并将在下面的系统设计阶段得到体现[7]。
编 号
列 名
数 据 结 构
说 明
1
员工号
Char(10)
该表的主键,前4位-年,第5位-员工类型,
6-性别,7-10位-流水号
表3.1 用户信息表
系统登陆
分仓库管理员
采购员
仓库总管
功能列表
货物进出控制
仓库需求生成
员工管理仓库管理货物管理存储规则管理货物进出记录
图 2-1 系统流程图
由流程图可以看出,用户验证通过后,系统会根据该用户的账户信息进行授权。
其中,当
有货物进或出仓时,各分仓库管理员可以通过货物进出控制模块进行控制,同时受到存储
规则的约束,比如,进仓的货物数量不能大于存储规则中所设定的最大存储量等。
当货物
出库后,如果货物在仓库中的数量低于存储规则所设定的存放底线时,系统会通过仓库需
求生成模块自动生成需求清单,以指导采购员对货物进行采购。
第三部分 系统设计
3.1数据库设计:
(1)鲜花信息表
该表用于存放仓库管理信息系统中所有参与人员的信息,其结构如表3.1所示:
2
姓名
Varchar(50)
3
性别
Bit
0-男,1-女
4
地址
Varchar(50)
5
电话
Varchar(50)
6
电子邮箱
Varchar(50)
7
用户类型
Int(4)
1-仓库总管2-分仓库管理员3-采购员
8
密码
Varchar(50)
6—20位之间
9
所属仓库号
Char(10)
外码,参照表为仓库信息表
编 号
列 名
数 据 结 构
说 明
1
仓库编号
Char(10)
主键,4-建库日期,5-7所在城市,后3
位流水号
2
仓库名称
Varchar(50)
3
仓库所在地
Varchar(50)
4
仓库大小
Float(8)
单位为:
平方米
5
仓库描述
Varchar(50)
对该仓库所存货物的简单描述
编 号
列 名
数 据 结 构
说 明
1
供应商号
Char(4)
主键,流水号
2
供应商名
Varchar(50)
3
供应所在地
Varchar(50)
4
联系电话
Char(11)
其中,该表中的每一项都不能为空。
(2)仓库信息表
该表用于存放当前公司所有涉及到的仓库信息,其结构如表3.2所示:
表3.2 仓库信息表
在该表中,除了仓库描述字段可以为空外,其余各字段均不能为空。
(3)供应商表
该表描述了供应商的基本信息,其结构如表3.3所示:
表3.3 供应商表
供应商表中各项均不能为空。
(4)货物信息表
该表记录当前仓库存储的货物信息,其结构如表3.4所示:
编 号
列 名
数 据 结 构
说 明
1
货物进出号
Int(4)
主键,流水号
2
货物编号
Char(10)
外码,与货物表中的货物号相关联
3
仓库编号
Char(10)
外码,与仓库表中的仓库号相关联
4
出入库数量
Float(8)
该项要参照存储规则
5
是否入库
Bit
1-入库,2-出库
6
管理员编号
Char(10)
登陆该系统的分仓库管理员编号
7
经手人
Varchar(50)
不能为空
编 号
列 名
数 据 结 构
说 明
1
存储规则号
Char(10)
主键,4-入库日期,后几位为流水号
2
货物编号
Varchar(50)
外码,与货物表中的货物号相关联
3
仓库编号
Float(8)
外码,与仓库表中的仓库号相关联
4
最高存储量
Float(8)
5
最低警戒线
Float(8)
6
当前货物量
Float(8)
编 号
列 名
数 据 结 构
说 明
1
货物编号
Char(10)
主键,4-入库日期,后几位为流水号
2
货物名称
Varchar(50)
3
当前价格
Float(8)
单位为:
元
4
供应商号
Char(4)
外码,参照表为:
供应商表
5
货物描述
Varchar(50)
对该该货物的简单描述
表3.6 货物进出库记录表
表3.4 货物信息表
在该表中,除了货物描述字段可以为空外,其余各字段均不能为空。
(5)存放规则信息表:
该表用来存放货物的存储规则,其结构如表3.5所示:
表3.5 存放规则信息表
在该表中,各项均不能为空。
其中,该表与货物信息表、仓库信息表都是多对一的
关系。
(6)货物进出库记录表
货物进出记录表用来存储每次商品的进仓、出仓记录,其结构如表3.6所示:
3.2关系图设计:
3.3建表完成后,得到如下图 3-1 所示的关系图:
图3-1数据库各表关系图
3.3整体功能模块图
该系统的整体功能模块图如图3-2所示:
基于 web 的库存管理系
统
用
户
登
陆
模
块
员
工
管
理
模
块
货
物
管
理
模
块
仓
库
管
理
模
块
存
储
规
则
管
理
仓
库
需
求
生
成
货
物
进
出
控
制
货
物
进
出
记
录
模
块
模
块
模
块
模
块
图 3-2 整体功能模块图
3.4某些模块功能图
3.4.1 员工管理模块
员工管理模块
查
找
员
工
信
息
添
加
员
工
信
息
删
除
员
工
信
息
修
改
员
工
信
息
些
图 3-3 员工管理模块功能图
第四部分 详细设计
在了解了上述功能模块之后,开始进行详细设计。
本章主要对用户登陆模块、仓库信
息管理模块及货物进出模块进行详细分析。
4.1 用户登陆模块
用户登陆模块主要由登陆页面(Login.aspx)实现,该页面设计比较简单,主要由两
个文本框组成,用户在上述文本框中输入自己的员工号及密码,若员工号和密码存在且匹
配,则根据
其员工
进入用户登陆页面
类型,
转入到不同
的主界面;
输入员工号和密码
若员工号或
密码输入错
误,则
是
是否正确
否
显示
错误信息,
清空文
中的内
要求用
新进行
由此画
由存储过程的返
回值,得用户类
型
按其用户类型转到
相应的界面
显示错误信息,并清空
文本输入框中的内容
本框
容,
户重
输入。
出本
模块的
图 4-1 用户登陆模块流程图
流程
图如图4-1所
示:
画出流程图之后,我们就可以开始对此模块进行编码了,由于该模块需要判断用户名
和密码是否正确,因此需要先与数据库进行连接。
连接的语句如下所示:
public SqlConnection con;
con = new SqlConnection("server=SONY-PC;database=库存管理系统;uid=sa;pwd=");
con.Open();
为了判断用户输入的员工号和密码是否正确,在数据库中建立存储过程Pr_loginUser并
在login.aspx.cx中进行调用。
调用语句如下:
SqlCommand myCommand = new SqlCommand("Pr_loginUser", con);
myCommand.CommandType = CommandType.StoredProcedure;
//从TextBox1中获得值,并将其传入存储过程Pr_loginUser的UserID参数中:
SqlParameter parameterUserName = new SqlParameter("@UserID", SqlDbType.Char);
parameterUserName.Value =TextBox1.Text.ToString();
myCommand.Parameters.Add(parameterUserName);
//从TextBox2中获得值,并将其传入存储过程Pr_loginUser的参数pwd中:
SqlParameter parameterpwd = new SqlParameter("@pwd", SqlDbType.VarChar);
parameterpwd.Value = TextBox2.Text.ToString();
myCommand.Parameters.Add(parameterpwd);
上述语句向存储过程中传入用户输入的员工号和密码,存储过程根据这两个参数,通
过查找员工信息表,判断是否存在相应的员工记录。
若存在,则将其员工号及密码保存在
相应的session值中,并根据其员工类型转入相应的主界面;若不存在这样的记录,则显示
错误信息。
该部分所对应的语句如下所示:
SqlDataReader dr = null;
try
{dr= myCommand.ExecuteReader();}//执行存储过程
catch (Exception ex)
{Response.Write(""); }
String userId="";String pwd="";int role = 0;
if(dr.Read() )//存储过程正确执行时,返回值为true
{Session["userId"] = dr["员工号"].ToString();
Session["pwd"] = dr["密码"].ToString();
role = Convert.ToInt32(dr["用户类型"].ToString());
}
if ((Session["pwd"] == null))//若没有匹配的员工记录
{ Response.Write("");
TextBox1.Text=null; TextBox2.Text = null;//清空文本框中的记录}
Else//若匹配,则根据角色转入到相应的界面 {if
(role == 1)
Response.Redirect("main1.aspx");
else if (role == 2)
Response.Redirect("main2.aspx");
else if (role == 3)
Response.Redirect("main3.aspx");
}}
至此,商品列表模块就设计好了。
保存在session集合中的员工号和密码值,可在个人
密码修改时使用,即当用户点击个人密码修改界面(PasswordModify.aspx,如图4-2所示)
时,先从session中取出该用户的员工号和及密码值,用户只需填写两次正确的新密码值,
即可。
接下来为大家介绍仓库信息管理模块。
图4-2密码修改设计界面
4.2 仓库信息管理模块
仓库信息管理模块主要由仓库管理页面(GoodsManage.aspx)实现,此页面只有仓库
主管有权对其进行仓库管理,即添加、编辑、删除和查询某项仓库信息,该模块的流程图
如图 4-3 所示:
进入仓库信息管理界面
浏览所有仓库的信息
点击“查询”,并输入
所要查询的仓库编号
是否正确
否是
A
点击“删除”or“编
辑”or“添加”
填写相应的信息,并
执行对应的操作
若操作执行成功
显示错
误信息
显示该仓库的详细信
息
返回至仓库管理界面
A
图 4-3 仓库信息管理模块流程图
该仓库管理的设计界面如下图 4-4 所示:
图4-4 仓库管理设计页面
由上图可以看出,此页面右下方采用一个GridView控件与DataSet数据集的绑定来显示
所有仓库的具体信息。
在进行数据绑定时,首先先配置数据源,即在“配置数据源窗口中”
选择数据库文件,设置来源数据表“仓库”,并单击“测试查询”。
其次,创建GridView控
件,选择刚才建立的数据源,再设置相关的选项,如在上图中,该控件的第一列及第二列
均设为EditCommandColumn列,分别定义了“编辑”(更新、取消)按钮,及 “删除”按钮,
分别用于实现仓库信息的编辑及删除功能,并选用了启用分页等功能[8]。
再看该页面右上方,有一个添加新仓库信息的链接,该链接连接到GoodsAdd.aspx页面,
如下图4-5所示,该页面主要通过填写表单来增添商品信息,由一些简单的label控件和
textbox控件来实现,具体代码就不再介绍。
图4-5 添加新的仓库信息
点击上述页面中的“返回”,则链接到仓库管理主页面。
在此页面右上方的另一个链接
按钮,用于完成对某项仓库进行查询的功能,该页面通过调用存储过程Pr_Goodsno,判断用
户输入的仓库号是否存在,若存在,则显示出该仓库的详细信息;若不存在,则显示错误
信息。
下图4-6为查询仓库号不存在的界面。
图4-6 查询设计界面及错误提示信息
4. 3 货物进出库模块
货物进出库模块主要由货物进出页面(GoodsReserve.aspx)实现,此页面只有分仓库
管理员有权对其进行操作,即对进仓、出仓的货物进行登记管理,该模块的流程图如图4-7
所示:
进入货物进出库页面
输入进/出货的货物名称
名称
给出该货物的信息:
当前货物存量、最大
是
选择进出货
是否
进货数量是
否合理?
是
调用存储过程
Pr_in,并修改数据
否
提示错误
信息
否
出货数量是
否合理?
是
调用存储过程 Pr_out,
并修改数据库
库
图 4-7 货物进出模块流程图
在下图4-8中,分仓库管理员先根据需要,输入要进货/出货的货物名称,点击“提交”
按钮,在该按钮的事件void Button1_Click(object sender, EventArgs e)中,建立与数
据库的连接,调用存储过程Pr_ GoodsReserve,查看该货物的当前库存量,最高存储值及
最低警戒线。
并根据上述值计算得当前该货物的最大出货量maxout及最大进货量maxin,并
将填入到页面相对应的文本框之中。
然后,用户根据需要选择“进货”或者“出货”,按存储规则填写数量之后,提交,分
别调用存储过程Pr_in,Pr_out,即完成对数据库的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 WEB 库存 管理 系统
![提示](https://static.bingdoc.com/images/bang_tan.gif)