1、第 1 页 小型企业办公耗材库存管理软件的设计与实现 摘 要 在经济全球化和信息技术飞速发展的今天,企业信息化水平的高低是带动企业技术创新和各项工作升级与否的关键。目前,基于 B/S (Browser/ Server)模式的 MIS(Management information system)日益成熟,企业的 Web 已从静态的HTML 到动态的网页,使系统的开发、管理和维护变得非常方便。因此,本系统研究并开发了基于 B/S 模式的库存管理信息系统。 库存管理系统是将企业的存和转等企业的经营业务有机的结合起来,达到数据共享、降低成 本、提高效率。本系统前台采用 .NET,后台数据库采用 SQL
2、 Server 2000,语言采用 C#。本系统实现的主要功能有库存查询、进货作业、领料作业、库存盘点、损坏处理等。 在系统完成后对工作进行了总结,对系统功能进行了测试,并指出了系统中的问题和需要改进的地方。 关键词 : B/S, C#,库存管理系统, .NET 第 2 页 The Design and Implementation of Stock Management Software for Small Business Consumption Material Abstract Nowadays, with the economic globalization and informat
3、ion technology develop rapidly, the lever of enterprise technology is the key to the innovation and upgrading of enterprise technology .Currently, the model of MIS (Management in formation system) which Based on the B / S (Browser / Server) becomes increasingly mature. The enterprise Web has changed
4、 from static HTML to dynamic website, with the system of development, management and maintenance becomes more convenient. Therefore, the research and development system has developed stock management information system which based on the B / S mode. The stock management system is the organic combina
5、tion of enterprise storage, transfer and other enterprises operating, in order to achieve data sharing, reduce costs and improve efficiency. This system onstage uses NET, the backstage database uses SQL Server 2000 and the language uses C#. The main function includes that: inventory inquiries, whole
6、sale operations, the Material operations, inventory checks, damage processing. After the work and the functional text, the system will point out where needs to be improved. Key words: B/S, C#, Stock management system, .NET 第 3 页 1 引言 随着互联网技术的迅猛发展,网络给人们带来了很多便利,借助于网络进行各种信息的管理与查询。库存管理系统是将企业的存和转等企业的经营业务
7、有机的结合起来,达到数据共享、降低成本、提高 效率、改进服务等目的。 研制库存管理系统的总体目标是将网络技术、信息技术、现代管理技术和科学的评价方法相结合,建立库存管理和信息交流平台,以推动库存管理工作的科学化、规范化,提高库存管理的效率。我们引入了科学的管理机制,建立了较完善的管理功能体系,管理过程涉及货物进货、出货、转存和盘点等各个阶段,实现了对仓库货物的标准化管理。 1.1 系统的背景和意义 电子商务的发展和市场竞争的加剧将企业推上了风口浪尖,中小企业除了积极迎接挑战之外,别无选择。网络的兴起与电子商务的发展带来了时空界限的突破、贸易方式的变革和 经济活动的革命,从某种意义上来讲,这些变
8、化为中小企业创造了与大型企业、国外企业平等竞争的有利条件。然而,管理水平的差异会弱化这种平等的实际意义。具体而言,中小企业在进、销、存等环节的管理上都存在着一定程度的不足,而这些不足无疑将使其在市场竞争中陷入被动的境地。在网络经济的时代背景下,进行有效的库存管理必然存在着一定的难度,因此必须借助现代化的管理方法和管理技术 库存管理系统。 库存管理系统是基于先进的软件和高速基础上的新型存储管理模式通过集中式的信息数据库,将企业的调、存、转等企业的经营业务有机的结合起来 ,达到数据共享、降低成本、提高效率、改进服务等目的。主要作用是:提高管理效率降低人工成本;降低采购成本;及时调整营销策略,防止价
9、格流失;减少仓储面积,提高房产综合利用率;降低储备资金占用。 1.2 系统设计目标 1) 本系统首先要实现动态性和交互性。所谓的动态性就是能动态更新内容,如更新 库存信息、进货信息和出货信息 等 , 这要求与数据库有良好的连接 ; 2) 一般用户和管理员 在使用系统时,实现系统操作方便 的特点; 3) 实现系统的安全性和可靠性,避免他人进入破坏数据库信息。 1.3 系统的开发工具 1.3.1 开发环境 1) B/S 模 式介绍: B/S( Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对 C/S 结构的一种变化或者改进的结构。在这种结构下,用户工
10、作界面是通过 WEB 浏览器来实现,极少部分事务逻辑在前端( Browser)第 4 页 实现,但是主要事务逻辑在服务器端( Server)实现,形成所谓三层 3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本( TCO)。以目前的技术看,局域网建立 B/S结构的网络应用,并通过 Internet/Intranet 模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如 LAN、 WAN、 Internet/Intranet 等)访问和操作共同的数据库;它能有效地保护数
11、据平台和管理访问权限,服务器数据库也很安全。特别是在 JAVA 这样的跨平台语言出现之后, B/S 架构管理软件更是方便、快捷、高效。 2) .NET 介绍 .NET 就是 Microsoft 的 XML Web 服务平台。不论操作系统或编程语言有何差别, XML Web 服务能使应用程序在 Internet 上传输和共享数据。 Microsoft .NET 平台包含广泛的产品系列,它们都是基于 XML 和 Internet行业标准构建,提供从开发、管理、使用到体验 XML Web 服务的每一方面。XML Web 服务将成为您今天正在使用的 Microsoft 的应用程序、工具和服务器的一部分
12、 并且将要打造出全新的产品以满足您所有业务需求。 更具体地说, Microsoft 正在五个方面创建 .NET 平台,即工具、服务器、 XML Web 服务、客户端和 .NET 体验。 Web 服务从由简单网页构成的静态服务网站, 发展到可以交互执行一些复杂步骤的动态服务网站,这些服务可能需要一个 Web 服务调用其他的 Web 服务,并且像一个传统软件程序那样执行命令。这就需要和其他服务整合,需要多个服务能够一起无缝地协同工作,需要能够创建出与设备无关的应用程序,需要能够容易地协调网络上的各个服务的操作步骤,容易地创建新的用户化的服务 。 3) C#介绍 微 软推 出 C#(C sharp)
13、 是微软对这一问题的解决方案 。 C#是一种最新的、面向对象的编程语言 。 它使得程序员可以快速地编写各种基于Microsoft .NET 平台的应用程序, Microsoft .NET 提供了一系列的仅是开发一个 “ 标志性 ” 的版本。 C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错 。 支持现有的网络编程新标准 新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如 HTML, XML, SOAP 等。现存的开发工具往往都是早于 Internet 出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般工具和服务来最大程度地开
14、发利用计算与通讯领域 。 正是由于 C#面向对象的卓越设计,使它成为构建各类组件的理想之选 。 无论是高级的商业对象还是系统第 5 页 级的 应用程序。使用简单的 C#语言结构,这些组件可以方便的转化为 XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过 Internet 进行调用 。 最重要的是, C#使得 C+程序员可以高效的开发程序,而绝不损失C/C+原有的强大的功能。因为这种继承关系, C#与 C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向 C#。效率与安全性新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的
15、新版本,而不仅无法很好地支持最新的网络技术。 4) MS SQL Server 2000 介绍 SQL Server 2000 还为数据库管理与分析带来了灵活性,允许单位在快速变化的环境中从容响应。从而获得竞争优势。从数据和分析角度看,将原始数据转化为商业只能和充分利用 Web 带来的机会非常重要。作为一个完整的数据库和数据分析包, SQL Server 2000 为快速开发新一代企业级商业应用程序,为企业赢得了核心竞争优势。 1.3.2 编程运行环境 本系统的开发环境为: 硬件 环境: CPU: AMD Sempron(tm) 2400+ 内存: 512 MB 硬盘: 80 G 软件环境 :
16、 操作 系统: Microsoft Windows XP 应用软件: SQL Server 2000 + Microsoft Visual Studio 2005 2 系统需求分析 本系统目的是让管理者能够对仓库存储进行更有效,更经济,更方便地管理而开发的。 2.1 用户身份级别要求 即根据身份的不同对系统的使用权限有所不同。从权限大小大致可以分为:系统管理员、一般注册用户、未注册用户。系统提供灵活的角色设定和权限的分配功能。 1) 系统管理员:最高级权限的用户,拥有库存管理系统的所有权限。主要负责对库存数据的添加,修改, 删除等操作,对一般注册用户下放权限,对系统进行日常的维护和管理,排除故
17、障。 第 6 页 2) 一般注册用户:权限被限制用户。只具有访问系统中某些功能的操作(如查询。 3) 未注册用户:未具有任何权限的用户。只能通过注册才能进入库存管理系统。 2.2 系统功能模块设置 1) 用户注册:未注册用户需注册后才能进入系统。 操作对象:所有未注册用户。 浏览对象:所有未注册用户。 具体操作:注册用户在需填写用户名和密码才能注册。 2) 用户管理:对注册用户和管理员的基本信息进行操作。对用户权限进行设置。 操作对象:系统管理员 浏览对象:系统管理员 3) 库存 查询:合法用户可以查看库存的所有信息,可以查询总库存和各分仓库的库存,用户可以根据种类名和货物名查找匹配的物品。
18、操作对象:注册用户、管理员 浏览对象:注册用户、管理员 4) 进货作业:管理员通过记录每次进货的物品的详细信息,系统在进货表中产生一条进货记录。 操作对象:管理员 浏览对象:管理员 具体操作:管理员需将物品的货物号,种类号,种类名,货物名,数量,进货价格,仓库号,厂家号依次填入对应的栏目中,最后点击确定即可。 5) 领料作业:管理员输入每次出货物品的信息,系统在出货单中产生一条出货记录。 操作对象:管理员 浏览对象:管理员 具体操作:管理员在下拉菜单中选择相应的货物种类和货物名,在对应的空白栏中输入出货货物的厂家、数量、单价、领料人的名字,最后单击确定即完成该操作。 6) 损坏处理:由于功能与
19、领料作业类似,所以属于领料作业的子功能模块。 操作对象:管理员 浏览对象:管理员 第 7 页 具体操作:与领料作业类似。 7) 库存转库:用于将一个仓库的商品转移到另一个仓库。内容包括编号、源部门、目的部门、数量、货物号、经手人、调货日期等。由于是小型企业,所以同种类的商品都分在同个仓库中,需要调库时需将所有同种类的货物进行转库,不再对同种类不 同货物名的商品进行细分。 操作对象:管理员 浏览对象:管理员 具体操作:管理员在下拉菜单中选择该种类货物对应的货物种类、数量和源仓库号,填入目的仓库和经手人即可。 8) 库存盘点:用于管理企业的库存盘点工作,将实际盘存的商品数量输入计算机,计算机自动与
20、数据库中的库存数量进行核对,并产生盘盈盘亏统计信息。 操作对象:管理员 浏览对象:管理员 具体操作:管理员选择盘点的货物名,输入该货物的厂家和数量,点击确定后即在该页面的下放显示出盘盈盘亏的信息。 9) 历史查询:用于查询各种转库、盘点、进货、出货的历史数据。 操作对象: 注册用户、管理员 浏览对象:注册用户、管理员 10) 退出登录:让所有合法用户在操作完后顺利的退出系统。 操作对象:所有用户 3 库存管理系统总体设计 3.1 数据库设计 数据库设计是 系统设计 中非常重要的一个环节,因为数据库设计就像在建设高楼大厦的根基一样,如果设计不好,在后来的系统维护,变更和功能扩充时,甚至于在系统开
21、发过程中,将会引起比较大的问题,有时大量的工作将会重新进行。因此,设计出合理的数据库成为本系统设计一个十分关键的步骤。 至今,数据库设计的很多工作仍需要人工来做,除了关系型数据库已有一套较完整的数据 范式理论可用来部分地指导数据库设计之外,尚缺乏一套完善的数据库设计理论、方法和工具,以实现数据库设计的自动化或交互式的半自动化设计。所以数据库设计今后的研究发展方向是研究数据库设计理论,寻求能够更有效地表达语义关系的数据模型,为各阶段的设计提供自动或半自动的设计工具和集成化的开发环境,使数据库的设计更加工程化、更加规范化和更加方便易行,使得在数据库的设计中充分体现软件工程的先进思想和方法 。 第
22、8 页 G O O D S _ T Y P E SP K T y p e I dT y p e N a m eG O O D S N A M E _ L I S TP K H u o W u I dH u o W u N a m eA D M I N _ L I S TP K U s e r I dP a s s w o r dJ u r i s d i c t i o nS U N H U A I _ L I S TP K S e r i a N u m b e rH u o W u N a m eH u o W u I dT y p e I dS u n H u a i S i Q t y
23、B u s i n e s s I dD a t e T i m eJ I N H U O _ L I S TP K S e r i a N u m b e rH u o W u I dH u o W u N a m eT y p e I dJ i n H u o S i Q t yE n t e r P r i c eE n t e r T o t a l P r i c eS t o r e H o u s e I dB u s i n e s s I dD a t e T i m eC H U H U O _ L I S TP K S e r i a N u m b e rH u o W
24、 u N a m eH u o W u I dT y p e I dC h u H u o S i Q t yO u t P r i c eO u t T o t a l P r i c eS t o r e H o u s e I dB u s i n e s s I dD a t e T i m eP e o p l e N a m eM O V E _ L I S TP K S e r i a N u m b e rS o u r c e S t o r e H o u s e I dD e s t i n a t i o n S t o r e H o u s e I dT y p e
25、 I dT y p e N a m eS i Q t yD a t e T i m eP e o p l e N a m eG O O D S _ D E T A I LP K H u o W u I dP K B u s i n e s s I dH u o W u N a m eT y p e I dS i Q t yE n t e r P r i c eO u t P r i c eP a n D i a n _ L I S TP K S e r i a N u m b e rH u o W u I dH u o W u N a m eB u s i n e s s I dP a n D
26、 i a n S i Q t yS t o r e S i Q t yO u t P r i c eP a n YP a n KD a t e T i m eG O O D S _ L I S TP K T y p e I dT y p e N a m eS i Q t yS t o r e H o u s e I dS t o r e P r i c e用户的需求具体体现在各种信息的提供,保存,更新和查询,这就要求数据库结构能充分满足各类信息的输入和输出。收集基本数据, 数据结构以及数据处理的流程而制作一份详细的数据库需求分析表,为合理的数据库结构设计打下坚实的基础。 根据毕业设计库存管理系
27、统的一般要求,再通过需求分析得出系统的实体表:用户管理表: ADMIN_LIST,总库存表: GOODS_LIST,货物明细表: GOODS_LIST,货物种类表: GOODS_TYPES,货物名表: GOODSNAME_LIST,进货明细表:JINHUO_LIST,出货明细表: CHUHUO_LIST,货物调拨表: MOVE_LIST,盘点表:PanDian_LIST,货物损坏表: SUNHUAI_LIST。共 10张表。 根据系统运行分析和数据流程分析,设计出实际的数据库实体,以及他们之间的关系,为后边的数据库逻辑结构设计打基础。这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。
28、通过 Microsoft Office Visio 2003 软件绘制出表与表之间的逻辑关系。 (如图 1) 图 1 库存管理系统 E-R 图 第 9 页 经过前面的需求分析和数据库表的逻辑结构设计。系统采用 Microsoft SQL Server 2000 作为数据库开发工具,创建名为 KunCunManage 数据库,根据数据功能的实现和将 来系统功能的扩展,设计如下数据项: 表 1 用户管理表 ADMIN_LIST 简称 列名 数据类型 长度 允许空 备注 用户 ID UserId char 10 not null PK 用户密码 Password char 10 not null 权
29、限 Jurisdiction char 10 not null 表 2 货物明细表 GOODS_LIST 简称 列名 数据类型 长度 允许空 备注 货物号 HuoWuId char 10 not null PK 厂家 BusinessId char 10 not null PK 货物名 HuoWuName char 20 null 种类号 TypeId char 5 null 数量 SiQty int 4 null 进货价 EnterPrice decimal 9 null 出售价 OutPrice decimal 9 null 表 3 总库存表 GOODS_LIST 简称 列名 数据类型 长
30、度 允许空 备注 种类名 TypeName char 50 null 种类号 TypeId char 10 not null PK 数量 SiQty int 4 null 仓库号 StoreHouseId char 10 null 库存金额 StorePrice decimal 9 null 表 4 货物种类表 GOODS_TYPES 简称 列名 数据类型 长度 允许空 备注 种类号 TypeId char 10 not null PK 种类名 TypeName char 50 null 第 10 页 表 5 货物名表 GOODSNAME_LIST 简称 列名 数据类型 长度 允许空 备注 货
31、物号 HuoWuId char 10 not null PK 货物名 HuoWuName char 20 null 表 6 进货明细表 JINHUO_LIST 简称 列名 数据类型 长度 允许空 备注 清单编号 SeriaNumber int 4 not null PK 货物号 HuoWuId char 10 null 货物名 HuoWuName char 20 null 种类号 TypeId char 10 null 进货数量 JinHuoSiQty int 4 null 进货单价 EnterPrice decimal 9 null 进货总价 EnterTotalPrice decimal
32、9 null 仓库号 StoreHouseId char 10 null 厂家 BusinessId char 10 null 进货日期 DateTime datetime 8 null 表 7 出货明细表 CHUHUO_LIST 简称 列名 数据类型 长度 允许空 备注 清单编号 SeriaNumber int 4 not null PK 货物名 HuoWuName char 20 null 货物号 HuoWuId char 10 null 种类号 TypeId char 10 null 出货数量 ChuHuoSiQty int 4 null 出售单价 OutPrice decimal 9 null 出售总价 OutTotalPrice decimal 9 null 仓库 StoreHouseId char 10 null 厂家 BusinessId char 10 null 出货日期 DateTime datetime 8 null 领料人 PeopleName char 10 null