本科毕业设计论文仓库管理系统设计.docx
《本科毕业设计论文仓库管理系统设计.docx》由会员分享,可在线阅读,更多相关《本科毕业设计论文仓库管理系统设计.docx(26页珍藏版)》请在冰豆网上搜索。
本科毕业设计论文仓库管理系统设计
完整程序设计源代码请联系本人,参见豆丁备注和信息。
摘 要
随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现管理企业势在必行。
而仓库管理系统是典型的信息管理系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本文通过分析浏览器/服务器结构的特点并结合企业仓储管理的实际情况,提出了基于B/S结构中小型企业仓库管理系统的基本设计思想,简要介绍了系统各功能模块及数据库的设计,着重讨论了用ASP.NET技术和SQLServer2005开发企业仓库管理系统时的数据库访问技术和动态网页制作技术,并给出了部分实现代码。
通过该系统,使学生可以方便地在企业内部网上进行仓储管理。
该B/S结构的系统在WindowsXP系统和VS.NET平台下开发完成,使用C#作为ASP.NET的开发语言,SQLServer2005作为后台数据库,该数据库系统在安全性、准确性、运行速度方面均有绝对的优势,并且能够对容量较大的数据库进行处理,效率高。
系统有较高的安全性和较好的性能。
其中连接数据库的字符串可以随时在Web.Config里修改,增加了灵活性和安全性。
代码尽量减少数据库连接的打开时间等手段来提高性能。
本文中除了有对程序的系统分析、总体设计、数据库设计、功能实现等主体部分外,在这之前还介绍了与企业仓库管理系统相关的信息、VS.NET与SQL的无缝链接技术等。
关键词仓库管理;信息管理系统;B/S结构;数据库管理
Abstract
Withrapidadvancementofcomputertechnologyandwidelyappliedincorporationmanagement,itisimperativetoutilizeittorealizeEnterpriseadministration.WarehouseManagementSystemisoneoftypicalManagementInformationSystem,whoseexploitationsmainlyincludeestablishmentandmaintenanceofbackstagedatabaseaswellasfrontapplicationprogrammer.Fortheformer,itisrequiredtosetupunited,completeandhigh-secureddatabase,while,forthelatter,completefunctionsofapplicationprogrammerandsimpleoperation.
ThisthesispointsoutbasictheoryofWarehouseManagementSystembasedonexplorerandserver/organizationinsmall-to-medium-sizedenterprises,analyzingcharacteristicsofB/SandrelatingtorealitiesofsituationofWarehouseManagementSystem.ItintroducesdesignofeveryfunctionalgroupanddatabasebrieflyandfocusesondiscussionconcerningtoexploitdatabaseaccesstechnologyanddynamicwebdesignneededforWarehouseManagementSysteminlightofASP.NETtechnologyandSQLServer2005.Italsopresentspartsofimplementationcodes,helpingstudentstooperateWarehouseManagementincorporationlocalsite.ThisB/SsystemwasexploitedontheplatformofWindowsXPandVS.NET,usingC#asASP.NETexploitationlanguage,SQLServer2005asbackstagedatabase,whichpossessesadvantagesinsecurity,precision,speed,etc.andcandealwithdatabaseswithhighcapacityefficiently.Thecharacterconnectingdatabasescanbealteredanytime,whichraisesflexibilityandsecurity,codesreducingthetimetoopendatabaseconnection.
Inthisdissertation,besidessystemanalysis,overalldesign,databasedesign,functionalrealities,etc,informationrelatedtoWarehouseManagementSystem,seamlessconnectiontechnologyofVS.NETandSQLarealsointroduced.
Keywords WarehouseManagementManagementInformationSystemB/SStructure DatabaseManagement
第1章 绪论
课题背景
兵马未出,粮草先行。
古代行兵打仗,最先要考虑的就是物资的准备和管理,否则要取得胜利是非常困难的一件事。
商场如战场,商家不仅要掌握大量的物资,同时这些物资还要尽可能满足顾客的需要,这样才能在激烈的市场竞争中获取胜利。
然而管理物资却是最烦琐的事情,无论数量还是种类,都是数以万计,用人手工来做,不仅是难于完成,而且可以说是不可能的。
在计算机普及的今天,用电脑管理物资是必然的趋势。
以超级市场为例,走进超级市场,琳琅满目,各式各样的商品应有尽有,顾客大都满载而归,买到称心如意的商品。
而在顾客得到极大方便的同时,商家在管理这些商品上却花费了大量的心血。
首先,超级市场商品种类繁多,数量庞大,经营者必须时刻了解自己商品的库存和各种商品的供求,如果盲目购进顾客不需要的商品或没有购进畅销的商品,对经营者来说都是极大的损失。
其次,由于市场瞬间万变,很多商品价格可能变动较大,经营者可能要不时改变商品价格,否则太高则可能无人问津,太低则无利可图。
再次,在商品社会的环境下,竞争激烈,为了保证在竞争中处于有利地位,经营者必须时刻了解市场的需要。
当然,作为实际的经营者,要了解的东西远比这几点多,但无论怎样,物资的管理是一切工作中的重点,如何管理物资是成败的关键。
对小经营者来说,也许可以是一本账本,再加算盘或计算器即可。
但对于大公司而言,根本不可能单纯依靠账本,那样不仅费人费力,而且当出现差错时,难于查改。
所以必须借助电脑,把所有数据输入数据库,然后用系统对这些数据进行管理,通过统计和分析得到各种有用的信息。
通过对这些情况的仔细调查,作者开发了下面的中小型企业仓库管理系统。
课题目的和意义
随着计算机行业的不断发展,企业管理的应用也在不断随着其发展速度进行着更新。
而现今对于一个网络应用非常广泛的社会,企业管理对计算机管理企业要求更加紧密,更加完善,特别是针对物资管理方面,企业的需求更为广泛,谨慎,所以一个好的仓库管理系统对于企业来说是由为重要的。
系统开发的总体任务是实现企业物资管理的系统化、规范化和自动化,从而达到提高企业管理效率的目的。
作为计算机应用的一部分,使用计算机对仓库信息进行管理,有着手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高仓库管理的效率。
开发设计思想
仓库管理系统在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管理费用的增加,服务质量难以得到保证,从而影响企业的竞争力。
传统简单、静态的仓库管理已无法保证企业各种资源的高效利用。
如今的仓库作业和库存控制作业已十分复杂化多样化,仅靠人工记忆和手工录入,不但费时费力,而且容易出错,给企业带来巨大损失。
仓库库存管理的特点是信息处理量比较大。
所管理的物资设备、原材料及零部件种类繁多,而且由于入库单、出库单、需求单等单据发生量特别大,关联信息多,查询和统计的方式各不相同,因此在管理上实现起来有一定的困难。
在管理的过程中经常会出现信息的重复传递;单据、报表种类繁多,各个部门规格不统等问题。
主要工作和论文结构
作者首先对系统进行了需求分析和总体设计。
在前一步的工作基础之上,又对各个模块细分为若干个子模块,并分别进行了编码实现。
最后将系统各个模块整合,测试系统各部分整合后的功能,稳定性等。
第2章 系统开发环境的介绍及选择
2.1java
Java已用动态的交互应用软件使Web栩栩如生。
它使开发人员具有‘编写一次到处运行TM”的巨大能力。
而且,进货助其JavaAPI及其编程语言上的Java虚拟机,它已产生一种分布信息的崭新模式。
这种模式叫做Java企业计算,正在帮助各企业以各种不同的方法取得竞争优势。
网管和控制已大大简化。
软件分配基本上是免费的,而且立即可实现。
电子贸易已获得。
占有成本大幅度降低。
信息和应用软件到处可存取。
Java建立在简单的前提基础上,即所有微处理器都应讲同一种语言——所有内部采用芯片的产品都应能一起工作,无缝而方便地共享信息。
它已经改变企业和个人同Internet大交道的方式。
现在,它正在对消费类产品产生明显的影响,而且从总体上更加深刻地影响企业计算。
进货助Java,您可自由自在地使用您已拥有的硬件和软件。
这是因为Java是独立于平台的。
它还可使您超越企业计算,使应用软件在便携式计算机、信息亭、电视、蜂窝电话和其他大量设备上运行。
全世界的公司都已发现Java数不胜数的用途。
所有用途可从其无可比拟的能力,即提高可靠性、安全性和简化各种不同计算产品和环境的能力中受益非浅,而且节省的时间和费用十分可观。
Java无处不在。
它已拥有几百万个用户,其发展速度要快于在它以前的其他任何一种计算机产品。
它可位于任何地方,而且能到处运行。
Java正在迅速被用做传播信息的事实上标准,这是因为它既可给企业,也可给最终用户带来似乎数不清的好处。
Java的特点:
1、Java语言是简单的。
Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用Java。
另一方面,Java丢弃了C++中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。
特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。
2、Java语言是一个面向对象的。
Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
Java语言全面支持动态绑定,而C++语言只对虚函数使用动态绑定。
总之,Java语言是一个纯的面向对象程序设计语言。
3、Java语言是分布式的。
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(javanet),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。
Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
4、Java语言是健壮的。
Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。
对指针的丢弃是Java的明智选择。
Java的安全检查机制使得Java更具健壮性。
5、Java语言是安全的。
Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。
除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。
6、Java语言是体系结构中立的。
Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。
这种途径适合于异构的网络环境和软件的分发。
7、Java语言是可移植的。
这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。
Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSIC实现的。
8、Java语言是解释型的。
如前所述,Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。
在运行时,Java平台中的Java解释r器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
9、Java是高性能的。
与那些解释型的高级脚本语言相比,Java的确是高性能的。
事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。
10、Java语言是多线程的。
在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。
通常有两种方法来创建线程:
其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。
值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。
线程的活动由一组方法来控制。
Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。
11、Java语言是动态的。
Java语言的设计目标之一是适应于动态变化的环境。
Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。
这也有利于软件的升级。
另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。
Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。
Java的编译一次,到处可运行的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。
特别是Java企业应用编程接口(JavaEnterpriseAPIs)为企业计算及电子商务应用系统提供了有关技术和丰富的类库。
r
2.4B/S结构
B/S(Browser/Server)结构,即“浏览器/服务器”结构。
这种结构是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。
在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务在服务器端实现。
B/S结构:
主要利用不断成熟的WWW服务器技术,结合多种Script(VBScript,JavaScript)语言和ActiveX技术,用通过浏览器实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统技术。
C/S传统的结构虽然采用了开放模式,但这只是系统开发一级的开放性。
在特定的应用中无论是Client还是Server端都需要特定的软件,没能提供真正的开放环境。
B/S结构则不同,是以TCP/IP协议为基础的企业内的WWW服务器,可以接受安装有Web浏览器程序的Internet终端的访问,作为最终用户,只要通过Web浏览器,各种处理任务都可以调用系统资源来完成。
这样大大简化了客户端,减轻了系统维护与升级的成本和工作量,降低了用户的总体拥有成本。
软件系统的改进和升级越来越频繁,B/S架构的产品明显体现其方便性,无论用户的规模有多大,有多少分支结构都不会增加任何维护升级的工作量,所有的操作只要针对于服务器进行。
如果是异地,只需要把服务器连接上网即可以进行维护和升级,这对人力、时间、费用的节省是相当惊人的。
2.5 开发及运行环境
系统开发平台:
MyEclipse6.0.1
数据库:
SQLServer2005
运行平台:
WindowsXP/Windows2000/Windows2003
分辨率:
最佳效果1024×768像素
第3章需求分析
第4章 系统总体设计
4.1数据库总体设计
数据库技术和计算机网络技术的发展相互渗透,相互促进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且进一步应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。
数据库是通过数据库管理系统(DBMS-DATABASEMANAGEMENTSYSTEM)软件来实现数据的存储、管理与使用。
数据库技术和计算机网络技术的发展相互渗透,相互促进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且进一步应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。
使用数据库可以带来许多好处:
如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。
此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。
数据库是通过数据库管理系统(DBMS-DATABASEMANAGEMENTSYSTEM)软件来实现数据的存储、管理与使用。
数据库是一个共享的、集成的计算机结构,它包括最终用户数据和元数据。
一个好的数据库并不是随意产生的,其内容结构必须经过精心设计。
设计优良的数据库会使数据管理变得容易,并产生有价值的信息;而设计糟糕的数据库则会成为冗余数据的滋生地。
冗余数据经常会造成难以跟踪的错误。
关系数据库范式理论是在数据库设计过程中将要依据的准则,数据库结构必须要满足这些准则,才能确保数据的准确性和可靠性。
这些准则被称为规范化形式,即范式。
在数据库设计过程中,对数据库进行检查和修改并使它符合范式的过程叫做规范化。
规范化是给实体分配属性的过程。
它能够减少数据冗余,有助于进一步消除由于冗余引起的数据异常。
规范化不能够消除数据冗余;相反,它通过生成有控制的冗余来连接数据库表。
规范化通过一系列称为范式的阶段来完成。
第一范式:
设R是一个关系模式。
如果R的每个属性的值域都是不可分的简单数据项(成为原子)的集合,则称这个关系模式属于第一范式。
第一范式要求每一个数据项都不能拆分成两个或两个以上的数据项。
第二范式(2NF):
若关系模式R是1NF,而且每一个非主属性都完全函数依赖于R的候选键,则R称为第二范式。
如果一个数据表已经满足第一范式,而且该数据表中的任何一个非主关键字段的数指都依赖于该数据表的主键字段,那么该数据表满足第二范式。
第三范式(3NF):
如果关系模式R是1NF,而且它的任何一个非主属性都不传递地依赖于任何候选键,则R称为第三范式。
如果一个数据表已经满足第二范式,而且该数据表中的任何两个非主键字段的数值之间不存在函数依赖关系,那么该数据表满足第三范式。
数据表规范化的程度越高,数据冗余就越少,同时造成人为错误的可能性就越少;同时,规范化的程度越高,在查询检索时需要做的关联等工作就越多,数据库在操作过程中需要访问的数据表以及之间的关联也就越多。
因此,在数据库设计的规范化过程中,要根据数据库需求的实际情况,选择一个折中的规范化程度。
4.2 表关系图
表关系图:
图3—1表关系图
4.3 表结构
对于信息管理系统,数据基本上都是使用数据库进行管理。
数据库设计是对保存管理系统数据的数据库结构进行设计,对整个系统的开发具有非常重要的作用。
管理员表
英文名
中文名
类型
是否主键
id
编号
int
是
Name
登陆名
varchar(50)
Pass
密码
varchar(50)
出库表:
英文名
中文名
类型
是否主键
id
编号
int
是
Name
领用人
nvarchar(50)
Thing_ID
物品
int
Thing外键
Num
数量
int
Worker_ID
经手人
int
Worker外键
Intime
出库时间
datetime
WareHouse_ID
仓库编号
int
WareHouse外键
入库表:
英文名
中文名
类型
是否主键
id
编号
int
是
Factory_ID
供应商
int
Factory外键
Thing_ID
物品编号
int
Thing外键
Num
数量
int
Worker_ID
经手人
int
Worker外键
Intime
入库时间
datetime
WareHouse_ID
仓库编号
int
WareHouse外键
物品类型表:
英文名
中文名
类型
是否主键
id
编号
int
是
Type
类型
Varchar(50)
厂商表:
英文名
中文名
类型
是否主键
id
编号
int
是
Name
姓名
Varchar(50)
Tel
电话
Nvarchar(50)
Address
地址
Nvarchar(50)
People
负责人
int
员工表:
英文名
中文名
类型
是否主键
id
编号
int
是
Name
姓名
Varchar(50)
Age
年龄
int
sex
性别
nvarchar
Tel
电话
Nvarchar(50)
Address
地址
Nvarchar(50)
mail
邮箱
nvarchar
库存表:
英文名
中文名
类型
是否主键
ID
编号
int
是
WearHouse_ID
仓库编号
int
WearHouse_ID外键
Thing_ID
物品骗号
int
Thing外键
Num
数量
int