目录一绪论.................................................11.1课题背景及现状....................................11.2开发工具介绍......................................1二需求分析.............................................2三概要设计.............................................5四逻辑设计............................................8五详细设计............................................10六测试结果............................................22七小结................................................22参考文献...............................................26第1页一绪论1.1课题背景及现状软件定义:仓库管理系统在当今时代,随着社会,技术,尤其是计算机的发展,人工智能已经成为时代的需求,而纯人工已经成为过去。在这样一个背景下!仓库的存储作为一个时代的产物,信息化,智能化也成为必须了。同时开发一个仓库管理系统也变得紧迫的需要。仓库管理系统用于对企业出入库的日常管理,是一套高效的信息管理系统。它能够为企业提供先进的业务信息管理解决方案,改进传统的工作方式,提高企业所经营物品的供、销、存的运转效率,缩短管理周期,减少因为重复操作而带来的人为差错,减轻管理人员的工作强度、降低管理成本。软件定义:从客户的需求开始,从对客户的需求的分析,到数据流程图完成,然后,概念设计,E-R图的设计,接下来,将E-R图转换成关系模型,当然这个关系模型要满足一定的范式地要求,这样要是根据实际的情况决定的!再接下来,设计数据库,进行详细的设计,根据客户的需求选择是做成c/s,还是b/s形式!!最后是软件的测试和维护。这个整个的过程是一个完整的流程,这个过程被称为软件开发。成品为软件。1.2开发工具介绍这次项目主要是使用Eclipse和MicrosoftSQLServer2000。Sqlsever2000数据开发工具!Sqlsever2000是微软公司开发的智能的,大型的实用型的数据库设计工具!目前在市场上大部分公司用的是oracle,bb2等数据开发工具。因为我们课堂上介绍的是Sqlsever2000,我就选用了它。Eclipse是开放源代码的项目,其本身是用Java语言编写。Eclipse是我们在学习Java中使用过的工具,它的功能比较完整!乍一看起来,Eclipse的界面有点象JBuilder,但实际操作进程中会发现它更象IVJ,毕竟开发Eclipse的主导用量是开发IVJ的原班人马。Eclipse开发环境和IVJ一样,Eclipse开发环境被称为Workbench,它主要由三个部分组成:视图(Perspective),编辑窗口(Editor)和观察窗口(View)。在下面的介绍中,希望读者能知道Java视图,Java包浏览窗口,资源视图,资源浏览窗口等区别(其实最主要的也就是要区别视图和窗口)。第2页Asp运行在装有Microsoft的IIs操作系统中,所以创建Asp应用程序之前,需要安装相关的操作系统和Web服务器。二需求分析2.1目标设计:仓库管理系统需要实现的功能相对来说比较简单,最重要的是物品的入库操作、出库操作和提货单的管理,对供应商、提货单位的管理功能,以及对库存中物品数目的管理功能。另外,作为一个完整的系统,为了保证系统的安全,还有必要对使用本系统的用户进行身份的验证以及权限的管理等。仓库管理系统实现的功能如下:1.系统的用户登录以及身份验证●系统用户进入系统需要经过身份验证。●系统用户在登录系统以后,在不同页面跳转浏览时的身份验证。2.库存管理功能●库存信息的管理,包括添加仓库、查看仓库、删除仓库。●提货单为信息的添加。●货物类别信息的添加。●物品信息的添加。●提货单的管理。3.权限的管理功能在本系统中,将权限分为俩种,一种为超级管理员权限,该权限可以管理系统中定义的所有仓库;而另一种为普通管理员权限,该权限只能管理分配给他的某个仓库。2.2数据流图:商品入库数据流图:第3页入库单事务事务商品出货数据流图:出库单事务事务商品订货数据流图:供应商更新数据库处理事务产生入库表仓库管理员库存清单商品入库登记仓库管理员更新数据库处理事务产生出库表采购员库存清单商品出库登记订货信息第4页事务事务订货单2.3数据字典:1:名字:用户表描述:记录所有可以登录该系统的用户名、密码和其他相关数据;定义:用户名+密码+备注+IP地址;位置:输出到打印机;2:名字:供应商信息表描述:此表记录所有供应商的信息。;定义:供应商名称+供应商编号+备注;位置:输出到打印机;3:名字:提货单位信息表描述:该表是指某物在出库时提货者的信息;、定义:使用编号+名称+备注;位置:输出到打印机;4:名字:仓库信息表描述:一个企业可能会有许多仓库,就存放在这个表中;定义:仓库编号+仓库名称+备注;位置:输出到打印机;5:名字:物品类别信息表描述:该表记录仓库中具体的物件名称和其他相关的信息;定义:类别名称+类型编号+所属仓库名位置:输出到打印机;6.名字:物品信息表描述:此表记录仓库中具体的物件名称和其他相关的信息;定义:仓库编号+类型编号+品名编号+品名物品的名称+计量单位+仓库管理员更新数据库产生订货表采购员处理事务库存清单第5页当前库存数+当前库存总金额+最大储存量+最小储存量+储存地点+规格+货号+货名;位置:输出到打印机;7.名字:入库/出库明细表描述:该表记录所有各个仓库的入库、出库的记录,每当进行出库或者入库操作是,就会有一条记录插入该表;定义:编号+记录日期+种类+号数+收入数量+收入单价+收入金额+发出数量+发出单价+发出金额+结存数量+结存单价+结存金额+品名编号+仓库编号+供应商编号+接受这编号+剩余数量位置:输出到打印机;三概要设计这一设计阶段是在需求分析的基础上,设计出能够满足需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。本实例根据上面的设计规划出的实体有员工实体、供应商实体、提货单位实体、仓库实体、物品类别实体、物品信息实体、出库/入库实体。各个实体的E-R图及其关系描述如下。1.员工实体E-R图(用户编号,用户名,密码,是否在线,备注,IP地址)2.供应商实体E-R图(供应号,供应商名称,备注)UserUser-idusernamepasswordisonliememoip第6页3.提货单位实体E-R图(使用编号,使用名称,备注)4.仓库实体实体E-R图(仓库编号,仓库名称,备注)5.物品类别实体E-R图(类型名称,类型编号,该类别所属仓库)ProvideProvider-idProvider-namememoUsesUses-idUses-namememoStorageStorage-idStorage-namememo第7页6.物品实体E-R图(仓库编号,类型编号,品名编号,物品名称,记量单位,当前库存数,当前库存总金额,最大储存量,最小储存量,储存地点,规格,货号,货名)7.入库/出库实体E-R图(编号,记录日期,种类,号数,收入数量,收入单价,收入金额,发出数量,发出单价,发出金额,结存数量,结存单价,结存金额,品名编号,仓库编号,供应商编号,用户编号,剩余数量)StockStorage-idnoType-idName-idunitNow-stocnow-stocmaxrulehmaddressminTypetype-nameType-idin-storage第8页四逻辑设计4.1基本表关系:1.员工(用户编号,用户名,密码,是否在线,备注,IP地址)2.供应商(供应编号,供应商名称,备注)3.提货单位(使用编号,使用名称,备注)4.仓库(仓库编号,仓库名称,备注)5.物品类别(类型名称,类型编号,该类别所属仓库)6.物品(仓库编号,类型编号,品名编号,物品名称,记量单位,当前库存数,当前库存总金额,最大储存量,最小储存量,储存地点,规格,货号,货名)7.入库/出库(编号,记录日期,种类,号数,收入数量,收入单价,收入金额,发出数量,发出单价,发出金额,结存数量,结存单价,结存金额,品名编号,仓库编号,供应商编号,用户编号,剩余数量)4.2数据库截图员工:供应商:DetailIn-pricerqzlhsIn-numIn-sumidOut-sumOut-priceOut-sumNow-priceNow-sumName-idProvider-idStorage-idLeft-numUses-id第9页提货单位仓库信息:物品类别信息:物品信息:入库/出库:前5个关系达到了BC范式,后俩个达到3范式。4.3定义权限:管理:用户表user中的字段in_storage意思是所属仓库,在表storage中存放着仓库,且表中字段storage_id就是仓库的编号,in_storage与之对应,而storage_id是自动编号产生的,所以不会有小于等于0的数字的,根据这样,当in_storage值为0时,即不属于任何仓库的用户,即他们可第10页以管理任何仓库,也即可以称之管理员了!查看:用户表user中的字段viewother是查看其他的仓库,一个用户是否可以查看全部的仓库首先看他是否可以管理全部仓库,如果可以就可以查看其他的仓库,如果不可以,即只能管理一个仓库,那么就要看字段viewother的值为什么,如果为“是”那么可以查看其他的仓库,如果为“否”则不能看其他仓库。五详细设计在该系统中主要由基本信息维护模块、库存管理模块和安全管理模块3大模块组成。1系统功能模块图2基本信息模块图库存管理系统基本信息维护模块库存管理模块安全管理模块基本信息维护模块员工信息仓库信息管理第11页3库存管理模块4安全管理5.1功能说明:1.登录:登录模块在文件default.asp中,即仓库的首页中,在登录时需要填写“用户名、密码、选择仓库”三项,如果用户名和密码有至少一个不正确时,就提示“用户名或密码错误”。2、分类查看库存-type.asp因为该界面使用一种目录树的结构概念,进入时显示总分类的类别,总分类下也可直接创建物品,但一般都不会有。库存管理模块入库管理出库管理提货单管理安全管理模块权限管理用户管理第12页3、浏览库存(管理库存)-brow.asp他适合于规模小,分类简单的仓库,而且在上面将该仓库的所有分类名称列出来,可以很方便的选择哪个分类来查看该类别下的所有库存。4、今日库存报表-report.asp日报表是将今日所有仓库中的物品根据出、入库情况进行填充报表表格,他可以自动计算某样物品今日的所有出库数量、出库金额、入库数量、入库金额、当前库存数、当前库存金额。5、查看全部库存-all.asp只有在这里才可以一览全部仓库的情况,可以很方便的选择某个仓库再选择其下的某个类别进行查看,或查找时,是针对全部仓库来找的,要进入此页面,必须该用户具有可以查看其他仓库的权限。6、修改密码-chkpass.asp修改密码是让用户在线时的进行修改自己的密码,要先以自己的用户名和密码登录进去,新密码和校验密码一致时才可以正确修改密码。7、查看在线人数online.asp可以查看当前在线的人数,以及他们的用户名,登录时间和其IP地址。8、新增用户-newuser.asp在线式的进行增加用户名,这种方式具有权限继承性,即只有可以管理全部仓库的才可以分配给新用户这种权限,只有可以查看全部仓库的才可以分配给新用户这种权限。9、新增分类typemanage.asp只是新增总分类下的类别。Newtype.as