1、库存管理设计第一章设计内容与目标1.1系统概述商品库存管理系统是一个企业不可缺少的部分,它的内容对于企业的决策者和管理者来说都至关重要,所以商品库存管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理仓库中的各种物资设备,这种管理方式存在着许多缺点,如:效率低、另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 作为计算机应用的一部分,使用计算机对物资信息进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化
2、、正规化管理,与世界接轨的重要条件。 因此,开发这样一套库存管理软件成为很有必要的事情。1.2设计内容该库存管理系统的主要功能分别有登陆权限,入库、出库管理,库存盘点、库存预警、统计报表。系统结构严谨、性能稳定、使用方便。系统中具有操作员权限、密码管理等功能模块,确保系统运行安全。全面的查询和报表功能,全面、及时地反映当前库存状况。该库存管理系统来提高库存管理工作的效率,这对信息的规范管理、科学统计和快速查询,减少管理方面的工作量,同时对于调动广大员工的工作积极性,提高企业的生产效率,都具有十分重要的现实意义。1.3设计目标设计和实现商品库存管理系统,使库存管理的工作系统化、规范化和自动化,从
3、而达到提高管理效率的目的。 (1) 利用计算机系统实现商品库存管理;(2) 流程符合商品库存要求;(3) 查询方便,无论是按商品编号、名称、类别、厂商、时间其中任一项都可以进行有效查询; (4) 友好的用户界面,既面向系统开发者,又面向用户。第二章 总体设计2.1 模块化设计总方案本系统在设计时采用结构化程序的设计方法,具体设计的功能模块如下:(1)入库管理模块该模块是商品入库管理模块。进货入库管理模块可添加商品和修改存在仓库的商品信息,并能对进货单据、退货单据和当前库存进行查询。(2)出库管理模块该模块是商品出库管理模块。商品出库管理模块可添加和修改出库商品,并能对出货单据、退货单据和当前库
4、存进行查询。(3)库存管理模块该模块包括库存盘点模块和库存报警模块。(4)统计报表模块该模块由五个子模块构成,分别是:进货统计模块、出货统计模块、,每个子模块都具有强大的统计功能。根据以上系统功能的分析与设计,五个系统功能模块的划分,具体的功能模块图如下图所示:图2.1 系统功能模块图2.2 模块功能设计通过需求分析,对商品库存进行有效的管理,使之形成完善的应用系统。数据库设计中要合理设置商品信息和库存信息等,用来实现商品信息的新增,修改、删除等功能,使得商家有较详细的数据统计与分析。 下面就介绍一些此商品库存管理系统的模块基本功能:(1) 登录认证作为一个企业实际应用项目,登录认证是必不可少
5、的。本项目的用户登录管理比较简单,分为操作员和管理员登录,操作员和管理员有不同的权限。越权操作会有提示信息,只有合法用户才能进行操作。(2) 入库管理入库管理主要是操作员对仓库商品进货入库,操作人员通过该功能模块把每天的入库单据及上面的入库商品明细输入数据库并对商品信息进行修改和删除。该模块支持按商品编号和商品名称关键词查询进货单据和当前库存量并对单据进行删除。(3) 出库管理出库管理模块与入库管理模块相似,主要是对货品出库进行管理及对出货单据进行管理。操作人员通过该功能模块对出库商品进行出库操作。另外,还能对出库单据和当前库存按商品编号或商品名称进行查询和删除。(4) 库存管理库存管理模块主
6、要是对已库存的商品进行操作,包括对商品的仓库信息进行修改。另外,可以按商品名称、仓库和商品类别对所有商品进行盘点,当仓库中某种商品少于某个数量时,设置了库存报警。(5) 统计报表统计报表模块包括库存统计、进货统计、出货统计、退货出库统计和客户退货统计的功能。各个统计都可以按照不同时间和各个关键字进行统计查询并能打印单据。2.3 系统可行性分析可行性分析研究的目的就是用最小的代价在尽可能短的时间里确定问题是否能解决,通过复杂系统的规模与目标,研究与此类似的系统后,我们具体从下面三方面考虑。2.3.1 经济可行性商品库存管理系统是一个小型的管理系统, 在开发时需要软件开发人员花费一定的时间和精力,
7、因此需要一定的资金。但它给企业带来的利润是不可估量的,节省了许多人力,物力上的开支,使库存管理工作变繁为简,使其更加合理化、规范化。工作效率的提高就意为着整体水平的提高,是非常值得投资的。2.3.2技术可行性系统采用Java语言作为开发工具。Java是一种简单的,面象对象的,分布式的,解释的,键壮的安全的,结构的中立的,可移植的,性能很优异的多线程的动态的语言。它具有理论严密、使用方便、易学易用等特点,利用它设计的系统具有界面友好、工具丰富速度较快的特点。再结合SQL Server 2000数据库技术,编写SQL语言访问数据库,实现强大的查询、修改、入库、出库操作2.3.3社会可行性由于其它语
8、言开发的管理方面的软件移植性较差,而基于JAVA语言的开发的软件可以基于不同平台,移植性和使用广泛,为用户提供可视化的操作界面,易于操作和使用。本系统基于Windows的图形用户界面,即使不懂电脑知识的人也很容易上手。超市管理系统采用最友好的交互界面,不需要专业的开发人员进行操作,同时维护易于简单,操作人员不需要了解太多的数据库方面的知识,只要进行简单的操作就行。经过上述分析,无论从那个方面来讲,基于JAVA语言的超市管理系统都有很高的开发价值。 2.4用户需求分析通过需求分析,对商品库存进行有效的管理,使之形成完善的应用系统。数据库设计中要合理设置商品信息和库存信息等,用来实现商品信息的新增
9、,修改、删除等功能,使得商家有较详细的数据统计与分析。 下面就介绍一些此商品库存管理系统的基本功能:(1) 登录认证作为一个企业实际应用项目,登录认证是必不可少的。本项目的用户登录管理比较简单,分为操作员和管理员登录,操作员和管理员有不同的权限。越权操作会有提示信息,只有合法用户才能进行操作。(2) 入库管理进货管理主要是操作员对仓库进行进货入库和退货出库操作,操作人员通过该功能模块把每天的入库单据及上面的入库商品明细输入数据库并对商品信息进行修改和删除。该模块支持按商品编号和商品名称关键词查询进货单据、退货单据和当前库存量并对单据进行删除。(3) 出库管理出货管理模块与进货管理模块相似,主要
10、是对货品出库和客户退货进行管理及对出货单据进行管理。操作人员通过该功能模块对出库商品进行出库操作和对客户退货商品进行退货入库操作。另外,还能对出货单据、退货单据和当前库存按商品编号或商品名称进行查询和删除。(4) 库存管理库存管理模块主要是对已库存的商品进行操作,及进行库存调拨,包括对商品的仓库信息进行修改。另外,可以按商品名称、仓库和商品类别对所有商品进行盘点,并对调拨单据进行查询,当仓库中某种商品少于某个数量时,设置了库存报警。(5) 统计报表统计报表模块包括库存统计、进货统计、出货统计、退货出库统计和客户退货统计的功能。各个统计都可以按照不同时间和各个关键字进行统计查询并能打印单据。2.
11、5业务流程图: 入库单送到仓管员手中,根据库存的需求,是否设置库存,之后根据入库单将货物入库,保存入库单;当商品需要出库,根据库存的最低数量,决定商品是否出货,商品出库之后,设置库存数据,保存出库单。在一定时期进行库存盘点,然后和账面是否一致,盘盈就做入库处理,盘亏就做出库处理,达到账面一致。2.6数据流图: 2.7数据字典:表格的形式;外部项编号S-01名称车间简述生产产品入库输入数据流:D-03输出数据流:D-01编号S-02名称销售部简述商品出库输入数据流:D-05输出数据流:D-07数据流编号D-01数据流名称入库单简述车间开出的产品入库单进行审核数据流来源车间数据流去向入库单审核模块
12、编号D-05名称出库单简述库存商品出库数据流来源销售部出示的出库单数据流去向出库单审核模块数据存储编号F-01名称库存台账简述记录库存所有的出入库账单数据存储结构出库单,入库单有关的数据流D-04 F-01 , D-05 F-01编号F-02名称库存日常查询表简述记录库存的每日统计报表数据存储结构出库单,入库单有关的数据流P-04 F-02 编号F-03名称库存月报表简述记录库存的每月统计报表数据存储结构出库单,入库单有关的数据流P-04 F-03 5.3数据库设计:5.3.1 E-R图5.3.2 数据库表设计本系统是一个商品库存管理系统,在系统详细设计之前应该对系统中所涉及到的对象实体进行信
13、息建模,并最终得到完整的数据库表结构。 (1) 人员信息表(User)人员包括管理员和操作员,其中操作员负责所有商品入库、出库的操作,此表用来保存合法的操作员信息,包括的属性有操作员编号、操作员姓名和操作员密码,具体结构设计如表5.1所示:表5.1 User表结构字段名称数据类型是否为空值约束描述userid IntNO主键操作员编号username Varchar(10)NO操作员姓名usertypeidIntNO操作员类别编号userpasswordVarchar(10)NO密码(2)人员类别表(UserType)表5.2 UserType表结构字段名称数据类型是否为空值约束描述usert
14、ypeid IntNO主键操作员类别编号usertypename Varchar(10)NO操作员类别 (3) 货物库存表(Stock)货物库存表是用来保存现库存的商品的相关信息,具体的结构设计如表5.3所示:表5.3 Stock 表结构字段名称数据类型是否为空值约束描述stockidIntNO主键单号goodsidIntNO商品编号goodsnameVarchar (10)NO商品名称goodstypeidIntNO商品类型编号inpriceFloatNO入库价outpriceFloatNO出库价unitVarchar (10)NO单位minstockIntNO最低库存量quantityIn
15、tNO数量(4)库存类别表(StockType)表5.4 StockType 表结构字段名称数据类型是否为空值约束描述typeidintNO主键库存类型编号stocktypenamevarchar(10)NO库存类型名称(5) 商品入库表(Instock)商品入库表是用来保存所有入库商品的相关信息的表,该表的具体结构设计如表5.5所示:表5.5 Instock 表结构字段名称数据类型是否为空值约束描述instockidintNO主键入库单号goodsidintNO商品编号goodsname Varchar(10)NO商品名quantity INTNO数量inpriceFloatNO入库价格go
16、odstypeid Varchar(20)NO商品类别编号amountFloatNO合计indatedate NO入库日期inmaker Varchar(10)NO入库制单人typeid IntNO入库类别编号(6) 商品出库表(Outstock)商品出库表是用来保存所有出库商品的相关信息的表,该表的具体结构设计如表5.6所示:表5.6 Outstock表结构字段名称数据类型是否为空值约束描述outstockidintNO主键出库单号goodsidintNO商品编号goodsname Varchar(10)NO商品名quantity INTNO数量outpriceFloatNO出库价格good
17、stypeid Varchar(20)NO商品类别编号amountFLOATNO合计outdatedate NO出库日期outmaker Varchar(10)NO出库制单人typeid IntNO出库类别编号(7)统计表(DateForm)按日期统计库存的各种报表,如表5.7所示:表5.7 DateForm 表结构字段名称数据类型是否为空值约束描述onedatedateNO主键报表单号goodsidIntNO商品编号indateIntNO入库时间inpriceIntNO入库价格outdateIntNO出库时间outpriceIntNO出库价格(8)商品类型表(GoodsType)表5.8 G
18、oodsType 表结构字段名称数据类型是否为空值约束描述typeidIntNO主键商品类型编号typenameVarchar(10)NO商品类型名称第三章 详细设计3.1数据结构设计3.1.1用户结构设计package classes.dao.vo;public class User private int userid; private String username; private String usertype; private String password; public User(int userid, String username, String usertype, Str
19、ing password) super(); this.userid = userid; this.username = username; this.usertype = usertype; this.password = password; public void setUsername(String username) this.username = username; public String getUsername() return this.username; public void setPassword(String password) this.password = pas
20、sword; public String getPassword() return this.password; public int getUserid() return userid; public void setUserid(int userid) this.userid = userid; public String getUsertype() return usertype; public void setUsertype(String usertype) this.usertype = usertype; 3.1.2库存结构设计package classes.dao.vo;pub
21、lic class Stock private int stockid; private int goodsid; private String goodsname; private String goodstype; private float inprice; private float outprice; private String unit; private int minstock; private int quantity; public Stock(int stockid,int goodsid,String goodsname,String goodstype,float i
22、nprice,float outprice,String unit,int minstock,int quantity) setStockid(stockid); setGoodsid(goodsid); setGoodsname(goodsname); setGoodstype(goodstype); setInprice(inprice); setOutprice(outprice); setUnit(unit); setMinstock(minstock); setQuantity(quantity); public void setStockid(int stockid) this.s
23、tockid=stockid; public int getStockid() return this.stockid; public void setGoodsid(int goodsid) this.goodsid=goodsid; public int getGoodsid() return this.goodsid; public void setGoodsname(String goodsname) this.goodsname=goodsname; public String getGoodsname() return this.goodsname; public void set
24、Goodstype(String goodstype) this.goodstype=goodstype;public String getGoodstype() return this.goodstype;public void setInprice(float inprice) this.inprice=inprice;public float getInprice() return this.inprice;public void setOutprice(float outprice) this.outprice=outprice;public float getOutprice() r
25、eturn this.outprice;public void setUnit(String unit) this.unit=unit;public String getUnit() return this.unit; public void setMinstock(int minstock) this.minstock = minstock; public int getMinstock() return this.minstock; public void setQuantity(int quantity) this.quantity=quantity; public int getQua
26、ntity() return this.quantity; 3.1.3入库结构设计package classes.dao.vo;import java.sql.Date;public class Instock_bill private int instockid; private int goodsid; private String goodsname; private int quantity; private float inprice; private String goodstype; private float amount; private Date indate; priva
27、te String inmaker; private int typeid; public Instock_bill(int instockid,int goodsid,String goodsname,int quantity,float inprice,String goodstype,float amount,Date indate,String inmaker,int typeid) setInstockid(instockid); setGoodsid(goodsid); setGoodsname(goodsname); setQuantity(quantity); setInpri
28、ce(inprice); setGoodstype(goodstype); setAmount(amount); setIndate(indate); setInmaker(inmaker); setTypeid(typeid); public int getInstockid() return this.instockid; public void setGoodsid(int goodsid) this.goodsid=goodsid; public int getGoodsid() return this.goodsid; public void setGoodsname(String goodsname) this.goodsname=goodsname; public String getGoodsname() return this.goodsname; public void setQuantity(int q
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1