仓库管理系统课程设计79701.doc
安徽工程大学信息10课程设计论文仓库管理系统目录第一章 概述31.1 项目背景:1。2编写目的:31。软件定义:第二章 需求分析52。1系统流程图2。2数据流图:52。3.数据字典92。4性能分析15第三章概念结构设计3。设计分ER图163.2合并成E-图1第四章 逻辑结构设计14.1 表结构1第五章软件功能设计2第六章 代码设计和界面设计3第一章 概述1。1项目背景:仓库在现实生活中用途十分广泛,各种商城、超市要利用仓库存放物资,药房、医院等要利用仓库存放药品,企业、工厂等要利用仓库存放原材料、生产成品,因此仓库的管理成了一项十分重要的工作。人工管理仓库既费时又费力,而且容易造成混乱,严重时会影响商城、企业的正常运作,造成恶劣的后果。随着信息技术的发展,办公自动化的普及,如何快速,高效,便捷的管理仓库受到了高度的关注;因此为了解决这个问题我们提供这个系统以满足仓库管理需求,本系统是基于超市仓库的管理系统.本系统主要针对于商品管理信息、入库操作、入库查询统计、出库操作、出库查询统计、库存查询统计等处理情况。用户可以通过相应的模块,对仓库里的物品的基本情况和库存数量进行查询,管理员通过简单的操作即可轻松的管理仓库,查询各项相关信息,并能进行入库和出库操作等本系统会提高办公效率和设备可靠性,减少工作人员的劳动强度,减少办公耗材,提高现代化管理水平。企业面对市场竞争的巨大压力,要求企业创造新的利润源,这为企业如何配置有限资源,利用先进计算机技术不断开发出操作简便、界面友好、灵活、实用、安全,更具时效性的设备信息管理系统有着更高的要求。 1。编写目的:(一): 编写实用的仓库管理系统为仓库管理系统提供一个基础,方便企业的商品管理.(二):完成课程设计通过课程设计,达到以下目的:1、根据教材上数据库设计部分的原理和方法,结合软件工程相关知识,能针对一些简单的数据库系统设计问题,进行必要的分析和设计.2、巩固学生学习的数据库原理、程序设计语言等课程的基础知识,训练学生分析和解决数据库系统的实际问题的能力。3、能查阅资料解决数据库技术方面的问题。1。3软件定义: 企业仓库管理系统(Eupment Manaeen System):是实现企业对货物的出、入库进行高效的管理。通过应用系统应能对商品基本信息进行管理。新的商品信息的入库、出库等操作也是其中的一部分.同时按照一定的条件查询、统计符合条件的商品信息。1.4、开发环境开发环境:inows辅助工具:isal Sudio2012数据库管理系统:SQLSrver 08运行环境:WnwsXPVista/7/8开发模式:ows窗体程序第二章 需求分析说明:本系统要解决的问题是:一个小型通用的仓库管理系统是实现企业对库存商品出库、入库进行高效的管理.通过应用系统应能结合销售情况对库存商品进行录入、删除、修改等操作。按照一定的条件,查询、统计符合条件的商品信息;并且对查询、统计的结果有一定的输出。强调的是做什么,而不是怎么做。2。1系统流程图2。.系统流程图符号如图.1所示:处理输入输出联机存储图2.1系统流程图符号说明2.2本系统使用的总的系统流程图:查询操作出库处理入库处理仓库管理系统存储文件入库信息身份验证.2数据流图:2。仓库管理系统数据流图符号说明如下: 外部环境 处理 数据存储 数据流22。2顶层数据流图:2。2.3一层数据流图:_ P4 打印_ P1 入库管理 商品入库信息1 商品入库信息 入库单 出库单 商品出库信息_ P_2_出库管理管理员商品出库信息 管理员_ P_3商品信息管理 商品信息 商品信息1 12。2.、二层数据流图: P1.1 核对供货信息(1)入库管理细化:管理员 供货单 反馈信息 满足的入库信息_P1.2 入库入库信息存储库存信息表 入库信息 商品信息 入库信息1 入库单 P4 打印 管理员 P2.1 核对提货信息(2)出库管理细化:管理员 提货单 反馈信息 满足的出库信息_P2.2 出库出库信息存储库存信息表 出库信息 商品信息 出库信息1 出库单管理员 P4 打印 (3)商品信息管理的细化: P3.1 查询出入库、库存管理员管理员 查询条件查询结果2.3数据字典.3。数据流数据流名称:入库信息说明:即将装入仓库的商品的信息数据流来源:采购入库信息表数据流流向:仓库管理员数据流组成:商品编号+商品名称+商品数量商品进价+供应商编号+供应商名称+本次入库时间数据流量:根据事物的需要,一般很频繁数据流名称:出库信息说明:销售后即将出库的商品的信息数据流来源:销售出库信息表数据流流向:仓库管理员数据流组成:商品编号商品名称+商品数量+商品进价+本次出库时间数据流量:根据事物的需要,一般很频繁数据流名称:商品信息说明:对仓库中的所有货物的信息的统计数据流来源:商品信息表数据流流向:仓库管理员数据流组成:商品=商品编号商品名称+商品进价+商品售价供应商编号数据流名称:供货单说明:供应商返回的所定货物的清单信息数据流来源:供应商数据流流向:加工11数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价+供应商编号+供应商名称+发货时间+商品产地数据流量:数据流名称:正确的供货单说明:供应商所发的货物信息是正确的数据流来源:供应商数据流流向:加工1。24数据流组成:商品编号商品名称 +商品种类货物数量+商品进价+供应商编号+供应商名称发货时间+商品产地数据流量:数据流名称:不能满足的提货单数据流别名:无说明:仓库中的商品不能够提货数据流来源:销售部门数据流流向:销售部门数据流组成:商品编号+商品名称商品种类 货物数量+商品进价供应商编号+供应商名称+发货时间+商品产地本次提货员编号本次提货员姓名+本次提货时间数据流名称:错误的供货单数据流别名:无说明:供应商所发的货物信息由错误的地方数据流来源:供应商数据流流向:供应商数据流组成:商品编号+商品名称+商品种类 +货物数量+商品进价供应商编号+供应商名称发货时间+商品产地数据流量;数据流名称:提货单数据流别名:无说明:所需要提取的商品的信息数据流来源:销售部门数据流流向:加工6。数据流组成:商品编号+商品名称 +商品种类+货物数量+商品进价供应商编号+供应商名称+发货时间商品产地+本次提货员编号+本次提货员姓名+本次提货时间数据流名称:可满足的提货单数据流别名:无说明:仓库中的商品能够提货数据流来源:销售部门数据流流向:加工6。2数据流组成:商品编号+商品名称 +商品种类+货物数量商品进价+供应商编号+供应商名称+发货时间+商品产地+本次提货员编号本次提货员姓名+本次提货时间2。2数据项数据项名称:商品编号数据项别名:商品号说明:仓库中的商品的唯一标识类型:字符型长度:1数据项名称:商品名称数据项别名:商品名说明:商品的名称类型:字符型长度:2数据项名称:商品售价数据项别名:售价说明:无类型:数值型长度:0数据项名称:商品进价数据项别名:进价说明:无类型:数值型长度:10数据项名称:本次出货时间数据项别名:出货时间说明:货物出库的时间类型:时间日期型长度:8数据项名称:本次提货员编号数据项别名:采购员编号说明:采购员的唯一标识类型:字符型长度:0数据项名称:商品种类数据项别名:类别说明:货物的类型类型:字符型长度:10数据项名称:本次入库时间数据项别名:入库时间说明:货物入库的时间类型:时间日期型长度:82。数据文件数据文件名称:入库信息表说明:所有的商品的入库信息数据文件组成:商品编号+商品名称 +商品种类+货物数量+商品进价供应商编号+供应商名称+入库时间商品产地组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:出库信息表说明:所有商品的出库信息数据文件组成:商品编号+商品名称商品种类 +货物数量+商品进价供应商编号+供应商名称+发货时间商品产地+本次提货员编号+本次提货员姓名+出库时间组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:供应商信息表说明:供应商的所有信息数据文件组成:供应商编号+供应商名称+供应商地址+供应商电话组织方式:按客户编号从小到大排序存取方式:顺序存取频率:随机 数据文件名称:商品信息表说明:仓库中的所有商品的信息数据文件组成:商品=商品编号商品名称+商品种类商品数量商品进价+商品售价组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:库存表说明:仓库中的剩余的商品的信息数据文件组成:商品编号商品名称+商品产地商品剩余量组织方式:按货物编号从小到大排序存取方式:顺序存取频率:随机数据文件名称:用户信息表说明:管理仓库的用户信息数据文件组成:用户用户编号用户姓名+用户密码+用户权限组织方式:按用户编号从小到大排序存取方式:顺序存取频率:随机2。4数据加工数据加工名称:核对发货单加工编号:1。1说明:对比订单及发货单输入数据流:订单,发货单输出数据流:到货单核准加工逻辑:将供应商的发货单进行比较,不一致时,将发货单返回给供应商,当一致时进行下个事物数据加工名称:核对提货信息加工编号:2。说明:检查提货单输入数据流:货物信息表输出数据流:可满足的提货单,不可满足的提货单加工逻辑:将提货单与货物信息表,库存信息表进行对比,看能否满足,能满足,交给加工过程2.4。不能满足、则交给提货人员数据加工名称:入库加工编号:1.2说明:货物的入库输入数据流:订单,可满足的供货单输出数据流:商品信息表,销售入库信息表加工逻辑:按照供货单进行货物的入库库,完成后修改库存表,并在销售入库库信息表中添加记录数据加工名称:出库加工编号:2.2说明:货物的出库输入数据流:订单,可满足的订单输出数据流:库存表,销售出库信息表加工逻辑:按照订单进行货物的出库,完成后修改库存表,并在销售出库信息表中添加记录数据加工名称:查询加工编号:。1说明:对供应商,商品的信息进行查询输入数据流:供应商编号,商品编号输出数据流:商品信息,供应商信息加工逻辑:按编号对商品和供应商查询,将查询的的结果显示出来数据加工名称:打印加工编号:4说明:将所需信息打印输入数据流:入库信息,出库信息,商品信息,供应商信息输出数据流:所需要的清单加工逻辑:2.4性能分析需实现许多性能特性,实用性、灵活性、可扩展性、易维护性、可靠性、安全保密性等等。1、实用性实用性是衡量一个应用系统好坏的重要指标.是否与业务紧密结合,是否具有严格的业务针对性,是系统成败的关键.2、灵活性灵活性可以达到更高效率、更佳界面直观的效果。3、可扩展性随着系统应用的普及和推广,系统功能的扩展将是不可避免的,因此,提高系统的可扩展性、可维护性是提高整个系统性能的必然要求.4、易维护性本系统采用多层架构设计,使系统结构更清楚,分工更明确,有利于后期的维护。5、可靠性社会向信息时代迅速发展的同时也有潜在危机,即对信息技术的依赖程度越高,系统失效可能造成的危害和影响也就越大。因此,采用良好的操作系统和数据库,确保数据的一致性和完整性,并使系统免受病毒感染,确保系统运行的可靠性具有重要意义。6、安全保密性整体的系统安全性是本系统中必须考虑的重点要求在该系统设计中,安全、可靠将作为第一要素。同时,利用细分的权限管理,拒绝非法用户进入系统和合法用户的越权操作,避免系统遭到恶意破坏,防止系统数据被窃取和篡改.此外,还有良好的用户身份认证体制和灵活的密码更改模块;用户权限也可以通过管理员灵活修改。 第三章 概念结构设计 说明:概念设计是独立于任何一种数据模型的信息结构,采用自底乡上的方法,首先定义各局部应用的概念结构,然后集成起来,得到全局概念结构。描述概念模型最有力的工具是模型。.1 设计分ER图1、仓库管理员编号仓库管理员 用户名密码权限2. 商品 商品生产日期商品编号商品名称供应商编号仓库3.仓库仓库编号仓库地址仓库面积供应商4、供应商供应商编号供应商电话供应商名称.2合并成ER图消除以上各个分ER图的属性冲突、命名冲突和结构冲突形成初步E图。在初步ER图中,可能存在一些冗余的数据和实体间冗余的联系。所谓冗余的数据是指有基本数据导出的数据,冗余的联系是指可由其他联系导出的联系。冗余数据和冗余联系统一破坏数据库的完整性,给数据库维护增加困难,应当予以消除。消除了冗余后的初步R图称为基本ER图。权限编号姓名密码 仓库管理员仓库地址管理 n仓库编号 1仓库面积仓库入库时间出库时间操作员编号入库 n n出库 m操作员编号库存入库数量出库数量库存数量 n m m商品名称 商品生产日期商品编号 m供应商名称供应商电话供应商供应商编号供应供应商编号供应商供应商电话供应商名称n第四章 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本R图转换为选用B产品所支持的数据模型相符合的逻辑结构。把基本E图转换成关系模型。4。表结构1、用户srs属性名数据类型可否为空含义完整性约束UenoCar(10)否用户编号主属性UeramChr(2)否用户名UerPswdhar(6)否登陆密码6位字母或数字UseconCar(2)否是否管理员“是”、“否之一、商品Goods属性名数据类型可否为空含义完整性约束GoC(4)否商品编号主属性GnameCh(20)否商品名称nohar(0)否供应商编号外部码,级联Gatateime可生产日期3、仓库表 trags属性名数据类型可否为空含义完整性约束Sha(4)否仓库编号主属性Sdressa(0)可仓库地址Snaeha(0)否仓库名称4、库存表 Storae属性名数据类型可否为空含义完整性约束SnoCha(4)否仓库编号主属性,外部码,级联noChar(4)否商品编号主属性,外部码,级联umint否库存数量默认值为05、入库npsorage属性名数据类型可否为空含义完整性约束SnoCar()否仓库编号外部码,级联GnoChr()否商品编号外部码,级联IdteDateie否入库时间主属性UsenoChar(0)否用户编号外部码,级联Addnumint否入库数量6、出库Ousora属性名数据类型可否为空含义完整性约束nohr(4)否仓库编号外部码,级联noChar(4)否 商品编号外部码,级联utdateatime否出库时间主属性UrnCha()否用户编号外部码,级联Deumnt否出库数量7. 供应商Provide属性名数据类型可否为空含义完整性约束Pnohar(4)否供应商编号主属性hnCar(20)可供应商电话PameCar(20)否供应商名称1、用户信息-表UsrscreattabUes(Usernc(10)primae,Useramechar(0)onull,Usersswrdca(20)notull,Usrcochr(2)ntnullch(sercoin(是,否')2、商品信息表GoodsratetableGoos(Gnochar(4)rimarykey,Gamechr(0)tull,Pnochar(4)notnul,Gatdteime,foreigke(Pn)rfrncesProidr(Pno))3、仓库表 ragesceaetableSorge(Snoha (4)priarky,Snmcar(0),Sdrsschar (0))4、库存表-SoragecratetableSoage(Gocha ()prayk,Sca (4)notnull,Gnuminnotnlcec(Gum),foignke (Sno)rfercsStrags(So),forignkey(Gno)efencsGds(no)、入库信息-表nstoageatetlIstre(Gnochar (4)notl,ndaedatetimerimrykey,Usrnoch(10)notnll,dnumintnnul,Soca (4)notnul,foreigney (Go)eferenceGoods(n),freiny(no)refrencstrges(So),oregney(Urno)eferencsUes(sern)6、出库信息-表OuttoageretetableOtsorge(Gochar(4)otul,Inaedaetimeprirye,Uernochar (1)nnull,Denuintnonll,Socha (4)notnl,finkey (no)referencesGoods(no),forenkey (Sno)refrncesStorges(Sno),foegnkey(Usero)reerncesUser(se)7供应商 ridercreateablProvdr(Pnocar ()rimyey,necar (2),Phonehar (20))第五章 软件功能设计说明:本章主要描述软件的功能设计,具体的模块分析.5。1功能设计用户登录:供不同权限的用户登陆;信息管理:可对商品进行增、删、改、查四类操作,完成对商品库存管理的功能;库存管理:对商品入库、出库的管理,以及查询商品出入库记录的情况;查询商品:此功能可对商品的基本信息进行管理;用户管理:方便管理员增删一般用户,以及用户对自身信息的修改;退出系统:当完成对 品处理的操作后,退出系统。5.系统功能结构可得如下系统功能结构图:仓库管理系统用户登录信息管理库存管理用户管理新增商品删除商品商品入库查询商品修改商品商品出库出入查询增删用户修改密码退出系统第六章代码设计和界面设计说明:本章主要展示代码和系统界面截图,对界面进行详细设计。1主要界面及其代码登陆界面:登陆处理代码:。核心代码1、用户信息表serscratetleUse(seoar(10)rimark,Usernmechr(20)ntnull,UserPswrdhr(20)notnul,Usconhar(2)nonullhec(Useconin(是,否'))2、商品信息-表GoscreattbleGods(Gnocr(4)rimakey,Gamchar(20)tnul,Pnocha(4)notll,Gdatdattme,foegey (Pno)refeecePovide(Pno)3、仓库表 SoragescreatetablSras(nchar (4)pimarykey,nmha (2),Sdschar (20)、库存表-StrgecreatetableStorage(nocha ()prmyey,Sca ()nonll,uminttnulchek(Gnm=0),foeignky (no)reerencsStrgs(Sno),foriy (Gno)rfercesGod(Gno)5、入库信息表nstoracreaetabeIstorae(nochar (4)notu,Inddtmpiary,srohar(10)noull,Addntntu,Socar ()notnu,foreignkey (Go)referecesGoods(Gno),forigney (Sno)referencsStoage(no),orignkey(Usero)rferensUes(sero))6、出库信息表OustoagereatetableOtsoae(Gncr(4)otnull,Indtdtetimeprimary,Usnoha (10)nul,Deuntntnl,no()nnull,forekey (Gno)rfreesoods(Gno),foregnkey (n)rerecsStag(S),foeinkey(Userno)reerenceUsers(Usrno))7供应商roidrreatetablPovider(Pnochar (4)primkey,Pnamch (20),Phonechar (0)数据库连接与处理类:pubcclassDBhlper ublcticstrg connSting "ata Sce=(local);Daaas WM_Projec;UserID= 李鹏;Pd=2”;SqConectin onnection = ewqlConctin(onSng);pulcboorelec(strin usersnme,strin pssword, stringS) strg sql StringFormt(”select oun() from ers hreUsame0ad UsrPasswo=1'and sercon =2",uersname, pasword,IS);r nection.Open();SqlCommancmmand = newSqComnd(sql, nncin);int nu = (int)commndxuSclar();i (um 0) urtr; ele eturnfalse; ch (xceptio ) MesaeBo.Sow(x.sa, ”操作数据库出错”, MessaeBxButns。O, MessageBoxIco.Exclamain);retnalse; fnaly cnnection.loe(); ulicooelectUsr(sringusersnme, stng pasword,r user) sng sq =trin。Forma(”seectsenae frm Uses wher Userne=0nd rPasword=1adUserco ='2", ursname,psswor);r connction。Oen();Sommad comand = nwqlCommnd(sq, connection);SqlDaaReaeeae =coand.ecueReader();wile(readr。Red( )) ereder.GtSring(0); returntrue; ctc (xcepin x) MessageBo.how(x。Messge,”操作数据库出错”, ssgeBoxutton.OK, MesagoxIcon.Excamation);eunalse; nal conncion。Cle(); pubibol ddUser(string sno, strnsersnam, string paword, string I) sting sql = Strig。ormat(”INSERT O Uses(Uerno,Uernae,UerPawod,serc)” + ”VALU(0,1','3)",uo,usrname, password,IS);tr cnnecion。On();SCandomad=SqlCommnd(sql,connctin);int num = (int)comand.Eeteonuey();if (num > 0) MessagBox.Show(添加用户成功”, ”添加成功”, MessageBxutts。OK,MssageBoxIconfrmatin);reuntrue; ele ssageBx.Show(”添加用户失败”,添加失败”,MessageBoBtons。OK, MeseBxIcon.foration);retrnfalse; ctch (Excpio ex) esageox.how(ex。Messag, "操作数据库出错, esseBBuosO,essaeoxIcon。xlamato);rturnfalse; finaly cnnectio。Cose(); publicbool DeleteUer(sti usno) ringsq = Strig。Frmat(”Dlete From users Where erno='", no);ry conncton。Open();SqCommnd mand = eSqlCo