企业库存管理系统论文

更新时间:2024-05-25 04:17:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

企业库存管理系统的设计与实现

企业库存管理系统

摘 要:科学技术不断进步和经济的不断发展,以及全球化信息网络和全球化市场形

成和技术变革的加速,围绕新产品的市场竞争也日趋激烈,企业面临着缩短交货期、提高产品质量、降低成本和改进服务的压力。所有这些都要求企业能对不断变化的市场做出快速反应。作为供应链节点中的一个重要环节,物资管理企业要实现快速地对物资进行收发,必须建立现代化的库存管理系统。用计算机对仓库库存信息进行日常的管理,通过对系统需求分析,从系统设计着手,实现系统各模块,包括输入输出、信息查询、系统维护等功能。库存研究基于信息技术,充分利用管理信息系统、决策支持系统数据库理论与方法,集成物流、资金流、事务流及信息流,对库存管理与控制信息系统的设计进行研究,它对企业减少库存、增加效益、提高竞争力具有重要的意义。但是在系统的动态交互性,及时性,智能性,可靠性和安全性方面还有待提高。

关键词:库存管理、ASP.NET、C#、 SQL Server

企业库存管理系统的设计与实现

The Management System of Stock Based on .NET

Abstract

Nowadays ,with the continuous improvement of technology and development of economy ,as well as the global information network ,the global market forming and the technique changing quickly , the market competition of new products is becoming more and more intensely and enterprise is facing the pressure of shortening the date of delivery ,improving the quality of product ,cutting down the cost and making the service better . All these requests call for fast reaction of enterprise over the very changing market . As a key point of supply chain , material management enterprise should receive and dispatch the goods and materials at a high speed ,and must build a modern stock control management system . According to the system demand analysis and by the design system , we can achieve the function of every module ,such as in-out ,information search system maintenance, etc ,and use computer to supervise daily information of storage. Inventory research is based on information technology ,taking full use of management operating system, DSS theory and methods, logistics, fund flow, transaction flow and information flow, studying inventory management. It plays a very important role on reducing stock ,increase profits, and boosting the competitiveness .However , it has some space to enhance on system trend interactivity ,timeliness, intellectuality, reliability and safety .

Key words: Stock Management 、ASP.NET 、C#、SQL Server

企业库存管理系统的设计与实现

目 录

1.绪 论 ·················································································································································· 1

1.1 课题研究背景及意义 ··············································································································· 1 1.2 本系统使用的方法和语言 ······································································································ 1

1.2.1 统一建模语言UML ········································································································· 1 1.2.2 .NET和C# ····················································································································· 2 1.3系统描述 ··································································································································· 3 1.4 分析方法3 2.需求收集 ·············································································································································· 4

2.1 业务过程分析 ··························································································································· 4 2.2 研究领域分析 ························································································································· 5

2.2.1 初步用例模型开发 ········································································································ 5 2.2.1.1 开发系统业务角色 ···································································································· 6 2.2.2 开发初步类图 ··············································································································· 6 2.3 系统需求研究 ··························································································································· 8

2.3.1 收集系统需求 ··············································································································· 8 2.3.2开发系统功能包图 ········································································································· 9

3.系统分析与设计 ·······························································································································10

3.1 开发系统用例模型 ··················································································································10 3.2 系统数据库设计 ······················································································································ 11

3.2.1 数据库需求分析 ··········································································································· 11 3.2.2 数据库概念结构设计 ··································································································· 11 3.2.3数据库逻辑结构设计 ······································································································13

4.开发系统 ·············································································································································16

4.1 编制代码 ·································································································································16 4.2 系统实现 ·······························································································································16

4.2.1 用户界面 ······················································································································16 4.2.2 登录动作代码 ··············································································································17 4.3 部分系统界面及功能简介 ·····································································································19

4.3.1企业库存管理系统主界面 ····························································································19 4.3.2客户信息管理界面 ········································································································19 4.3.3货品信息管理界面 ········································································································20 4.3.4货品分类管理界面 ········································································································20 4.3.5入库单界面 ···················································································································20 4.3.6入库管理主界面············································································································21 4.3.7入库查询主界面············································································································21 4.4系统特色 ··································································································································21

4.4.1用户密码加密存储 ········································································································21 4.4.2.支持在页面备份数据库 ·······························································································22

5. 部 署 ·············································································································································24 结 束 语 ·················································································································································25 致 谢 ····················································································································· 错误!未定义书签。 参 考 文 献 ···········································································································································25

企业库存管理系统的设计与实现

1.绪 论

1.1 课题研究背景及意义

近几年我国企业信息化呈现持续火爆的势头,有专家预测,我国高新技术产业在企业中占据的位置越来越重要。如何提高自己企业的生产和运营效率,成为企业发展中必须考虑的问题。在现在网络飞速发展的背景下,设计库存管理系统来促进企业生产效率的提高也是一个很好的手段。当前形势下,仅仅靠原始的手工管理或简单的单机管理是不够的,商品部门面对大量的信息,无法有效率地将其中的重要部分提取出来,并做出相应的判断和处理。公司管理者的决策只能依据报表数据,在浪费大量人力、物力的同时无法做到实时监控,难以保证数据的准确性和及时性。因此,先进的管理思想在商业中实现就成为了一个可望而不可及的目标。公司集团非常急需一套既有先进管理思想又适合国内大商业的在线进销存管理信息系统,作为实现目标和提高现有水平的一种重要手段。库存管理系统是一个公司不可缺少的部分,它的执行对于公司的决策者和管理者来说是很有帮助的, 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

1.2 本系统使用的方法和语言

1.2.1 统一建模语言UML

统一建模语言(Unified Modeling Language ,UML)是一种可视化的建模语言,它能让系统构造者用标准的、易于理解的方式建立起能够表达出他们想象力的系统蓝图,并且提供了便于不同人之间有效的共享和交流涉及结果的机制。

UML包括了一些可以相互组合图表的图形元素。由于UML是一种语言,所以UML具有组合这些元素的法规。UML提供了系统设计所需要的多种图,这些图是在用多个视图来展示一个系统,这组视图被称为一个模型(Model)。一个UML模型描述了一个系统需要做什么。同时,UML提供了组织和扩展这些图的方法。

关于标准建模语言UML的内容,首先,UML融合了Booch、OMT和OOSE方法中的基本概念,而且这些基本概念与其他面向对象技术中的基本概念大多相同,因而,UML必然成为这些方法以及其他方法的使用者乐于采用的一种简单一致的建模语言;其次,UML不仅仅是上述方法的简单汇合,而是在这些方法的基础上广泛征求意见,集众家之长,几经修改而完成的,UML扩展了现有方法的应用范围;第三,UML是标准的建模语言,而不是标准的开发过程。尽管UML的应用必然以系统的开发过程为背景,但由于不同的组织和不同的应用领域,需要采取不同的开发过程。

作为一种建模语言,UML的定义包括UML语义和UML表示法两个部分。 (1) UML语义 描述基于UML的精确元模型定义。 (2) UML表示法 定义UML符号的表示法,为开发者或开发工具使用这些图形符号和文本语法为系统建模提供了标准。这些图形符号和文字所表达的是应用级的模型,在语义上它是UML元模型的实例。

1 / 26

企业库存管理系统的设计与实现

标准建模语言UML的重要内容可以由下列五类图(共9种图形)来定义。

第一类是用例图,第二类是静态图(Static diagram),包括类图、对象图和包图。第三类是行为图(Behavior diagram),描述系统的动态模型和组成对象间的交互关系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常, 状态图是对类图的补充。在实用上并不需要为所有的类画状态图,仅为那些有多个状态其行为受外界环境的影响并且发生改变的类画状态图。而活动图描述满足用例要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。第四类是交互图(Interactive diagram),描述对象间的交互关系。其中顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互;协作图描述对象间的协作关系, 协作图与顺序图相似,显示对象间的动态合作关系。除显示信息交换外,协作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择协作图,把这两种图合称为交互图。第五类是实现图( Implementation diagram ),包括构件图和配置图。

1.2.2 .NET和C#

.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。

.NET提供了一种新的运行环境.即.NET框架,它使得程序员能够更容易、迅速地写出优良、健壮的程序代码,并且能够方便地管理、部署和修改代码,所编写的程序和组件都在该环境中执行。它为程序员提供了一些新功能,例如自动内存管理(垃圾收集).以及更方便地访问所有系统服务。它添加了许多实用功能、例如易于访问因特网和数据库。它还为代码复用提供了一种新的机制一一更易于使用.并且比COM更加有效和灵活。.NET框架更易于部署.因为它不需要进行注册设置。它还为版本的制定提供了标准化、系统级别的支持。程序员可以在任一种与.NET兼容的编程语言中使用上述全部功能

.NET为创建HTML页面提供了一种新的编程模型,称为ASP.NET.尽管智能的单机程序仍在不断涌现,但是在不久的将来,大多数因特网通信都会以通用浏览器作为前端,这就要求服务器能够使用HTML语言来构造页面,以便浏览器识别并显示给用户。ASP.NET是一种运行在因特网信息服务(IIS)下的新环境,它使得程序员能够更容易地编写代码来构造基于HTML语言的web页面,供浏览器查看。 ASP.NET提供了一种新的与语言无关的代码编写方式,并将其与web页面请求相关联。它提供了.NET的Web窗体,它是一种与控件交互的事件驱动编程模型、这使得编写web页面变得就像编写普通的VB窗体一样。ASP.NET包含了良好的会话状态管理和安全功能,它比原来的ASP更加健壮,性能也得以提高。

.NET提供了Windows窗体,它是一种使用.NET框架编写各种客户程序的新方法。 一个使用XML Web服务的专用客户端应用程序必须提供良好的用户界面。高质量的界

2 / 26

企业库存管理系统的设计与实现

面能够提供更佳的用户感受,.NET提供了一种新的软件包,它被称为.NET windows窗体.这使得程序员能够使用.NET框架轻易地编写出专用的windows客户应用程序。

C#是可用于创建要运行在.NET上的应用程序的语言之一,它从C和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的。因为C#是近期发展起来的,所以吸取了以前的教训,考虑了其他语言的许多优点,并解决了它们的问题。

使用C#开发应用程序比使用C++简单,因为其语法比较简单。但是,C#是一种强大的语言,在C++中能完成的任务在C#中也能完成,C#中与C++比较高级的功能等价的功能(例如直接访问和处理系统内存),只能在标记为“不安全”的代码中使用。这个高级编程技术是非常危险的(正如它的名称),因为它可能覆盖系统中重要的内存块,导致严重的后果。

C#代码常常比C++略长一些。这是因为C#是一种类型安全的语言(与C++不同),一旦为某些数据指定了类型,就不能转换为另一个不相关的类型。所以,在类型之间转换时,必须遵守严格的规则。执行相向的任务时,用C#编写的代码通常比C++长。但C#代码更健壮,调试也比较简单,.NET总是可以随时跟踪数据的类型。在C#中,不能完成如“把4字节的内存放在数据中,并把它解释为x”等的任务。

C#只是.NET开发的一种语言,是目前最好的一种语言。C#的优点是,它是唯一为.NET Framework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言。C#能使用.NET Framework代码库提供的每种功能

1.3系统描述

本系统运用面向对象的编程思想,基于UML对企业库存管理系统进行分析与设计。本文运用UML来分析和描述企业库存管理中所涉及的基本信息管理、商品入库、出库、退货等一系列功能。

系统管理包括:数据备份

基本数据包括:产品栏目设置、往来单位管理、产品信息管理 入库单包括:添加入库单、入库单管理、查询统计 出库单包括:添加出库单、出库单管理、查询统计 退货单包括:添加退库单、退库单管理、查询统计

1.4 分析方法

为了适应开发过程多方面的挑战,不同的组织和不同的应用领域需要采取不同的开发过程才能提高开发效率。我在系统的设计开发中,使用了“快速应用工程指导原则”(Guidelines for Rapid APPLication Engineering),简称GRAPPLE。GRAPPLE的思想并没有脱离以往的UML分析方法——RUP(Rational Unified Process, 统一开发过程)。它是一组可以自适应的,灵活的开发思想,可以适应与许多不同组织的软件开发过程,让开发者发挥自己的创造力和好的思想来构建自己的组织。

GRAPPLE由5个段组成,即需求收集,分析,设计,开发,部署。本次的论文,便是以GRAPPLE方法的基本结构、步骤来构架的,由于在软件的构建阶段,设计和分析都可以往返进行直到设计完成,所以在论文中,我将分析与设计合并为一个章节来叙述。之后在设计的基础上使用微软的Visual C#完成系统的实现。

3 / 26

企业库存管理系统的设计与实现

2.需求收集

2.1 业务过程分析

开发一个系统的起点就是获得对客户业务过程的理解,特别是获得使用目标系统的客户的理解。这就需要系统分析员与客户进行充分的交流。首先要在调研的过程中了解到一套业务领域的词汇。

“企业库存管理系统”需要实现的功能有主要有:基本数据、入库管理、出库管理、退货管理、系统维护等,可以用下面的业务流程图来表示它们之间的关系:

图2-1 系统业务流程

此次设计的库存管理系统需要完成的主要功能有:入库管理、出库管理、退货管理、等一系列与业务流程相配套的完整功能。

在系统中,主要的业务流通领域词汇有以下几大类:采购计划、入库管理、财务验收、付款处理、出库管理、调价处理、退货管理、查询、商品信息管理的总体活动可以由下图来描述:

4 / 26

企业库存管理系统的设计与实现

图2-2 企业库存管理的活动图

2.2 研究领域分析

现在仍然处在需求收集阶段的概念性分析。这个阶段需要开发出初步的类图、建立和标记类之间的关联,同时填充类的信息。

2.2.1 初步用例模型开发

用例是由参与者发起的,参与者能够从用例的执行中获得有价值的事物。用例模型的图形表示法很直观。用例用一个椭圆形表示,直立人形图表表示参与者。用例的发起参与者在用例图的左侧,接受参与者在用例图的右侧。参与者的名字放在参与者图表的下方,用例的名字可以放在椭圆形里面也可以放在椭圆形下方。关联线连接参与者和用例,并且表示参与者与用例之间有通信关系。关联线是实现,和类之间的关联线类似。 用例分析的一个好处是它能展现出系统和外部世界之间的边界。参与者是典型的系统外部实体,而用例属于系统内部。系统的边界用一个矩形(里面写着系统的名字)来代表。系统的用例装入矩形之内。

参与者、用例和互连线共同组成了用例模型(use case model).

5 / 26

企业库存管理系统的设计与实现

下图说明了这些符号:

图2-3 用例模型示例

图2-4 系统UML用例图 2.2.1.1 开发系统业务角色

首先,需要确定整个系统的业务角色。业务角色,顾名思义,就是与业务交流的人或物,都可以被称为业务角色。在本管理系统中,大体上可以分为生产厂家、供应商、采购员、销售员、基本操作员、系统管理员这六类业务角色。

2.2.2 开发初步类图

2.2.2.1 系统中的类

类图(Class Diagram)描述类和类之间的静态关系。与数据模型不同,它不仅显示了信息的结构,同时还描述了系统的行为。类图是定义其它图的基础。在类图的基础上,状态图、合作图等进一步描述了系统其他方面的特性。

6 / 26

企业库存管理系统的设计与实现

对象(Object)与对客观世界的理解相关。通常用对象描述客观世界中某个具体的实体。所谓类(Class)是对一类具有相同特征的对象的描述。而对象是类的实例(Instance)。建立类模型时,应尽量与应用领域的概念保持一致,以使模型更符合客观事实,易修改,易理解和易交流。

类描述一类对象的属性(Attribute)和行为(Behavior)。在UML中,类的可视化表示为一个划分成三个格子的长方形(下面两个格子可省略)。图1中,\运动员\就是一个典型的类。

类的获取和命名:最顶部的格子包含类的名字。类的命名应尽量用应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。类的获取是一个依赖于人的创造力的过程,必须与领域专家合作,对研究领域仔细地分析,抽象出领域中的概念,定义其含义及相互关系,分析出系统类,并用领域中的术语为类命名。一般而言,类的名字是名词。

图2-5 运动员类图示例

系统中包含的类: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept)

商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse)、入库单表头(ShBill)、入库单表体(ShBillList)、出库单表头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、退货单表体(ShBillList)

2.2.2.2 类之间的关系

在这个阶段,对开发出来的初步类图中的类,根据其意义来分成一些组。

人组成的一组: 用户(ShUser)、客户(ShCorp)、供应商(ShCorp)、部门(ShDept) 物品组成的一组:商品(ShProuct)、商品类型(ShClass)、仓库(ShStoreHouse) 生成的单据组成的一组:入库单表头(ShBill)、入库单表体(ShBillList)、出库单表

头(ShBill)、出库单表体(ShBillList)、退货单表头(ShBill)、

退货单表体(ShBillList)

2.2.2.3 构建系统类图

在完成了初步类图的构建之后,需要建立和标记出类之间的关联。具体的表述关联的方法策略是:先从几个类开始,找出与这个类存在关联的其他类,然后再寻找另外一组类与其他类的关联,直到穷尽了所有的类为止。

7 / 26

企业库存管理系统的设计与实现

下面先介绍一下类之间常用的几种关系以及他们的概念:

关联关系:关联(Association)表示两个类之间存在某种语义上的联系。 角色:关联两头的类以某种角色参与关联。

关联类:一个关联可能要记录一些信息,可以引入一个关联类来记录。

聚集和组成:聚集(Aggregation)是一种特殊形式的关联。聚集表示类之间的关系是整体与部分的关系。聚集可以进一步划分成共享聚集(Shared Aggregation)和组成。

继承关系:人们将具有共同特性的元素抽象成类别,并通过增加其内涵而进一步分类。继承(Generalization)定义了一般元素和特殊元素之间的分类关系。在UML中,继承表示为一头为空心三角形的连线。如图2-8中,将User进一步分为common user, administrator和business user,使用的就是继承关系。

依赖关系: 有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。

图2-6 系统UML类图

2.3 系统需求研究

2.3.1 收集系统需求

在对一个系统的开发中,必须集中考虑用户的需求,这个步骤需要开发出系统的功

8 / 26

企业库存管理系统的设计与实现

能包图,每个包应代表系统的一个功能模块。

包:将许多类集合成一个更高层次的单位,形成一个高内聚、低耦合的类的集合。UML中这种分组机制叫包(Package)。

任何模型元素都运用包的机制。如果没有任何启发性原则来指导类的分组,分组方法就是任意的。在UML中,最有用的和强调最多的启发性原则就是依赖。包图主要显示类的包以及这些包之间的依赖关系。有时还显示包和包之间的继承关系和组成关系。

2.3.2开发系统功能包图

现在可以开发出系统功能包图如图2-11。在图2-11中,“系统”包由“界面”包和“单据”包和“使用者”包组成。这里称它们为\系统\包的内容。当不需要显示包的内容时,包的名字放入主方框内,否则包的名字放入左上角的小方框中,而将内容放入主方框内。包的内容可以是类的列表,也可以是另一个包图,还可以是一个类图。

图2-7系统功能包图 9 / 26

企业库存管理系统的设计与实现

3.系统分析与设计

3.1 开发系统用例模型

用例能够帮助系统开发者理解系统的预期行为,因而是一个强有力的工具,它能够帮助开发者从用户的观点收集需求。

用例是一个强有力的工具,当使用UML可视化的表达出这些概念后,用例甚至会变得更加强大。可视化可以向用户显示用例,他们可以提供更多的信息。实际生活中用户常常知道的比他们清楚表达出来的要多:用例能够帮助用户解决这个问题。另外,可视化的表达形式允许将用例图和其他种类的图结合起来。

系统分析过程中的一个目标是产生一组用例。此想法是要对用例进行分类整理,以便于引用。这些用例代表着用户对系统的观点。当要对系统升级时,用例目录可以作为 进一步收集升级需求的基础。

图3-1 系统UML用例图 10 / 26

企业库存管理系统的设计与实现

3.2 系统数据库设计

3.2.1 数据库需求分析

用户的需求具体体现在各种商品信息的提供、保存、更新和查询以及商品出入库的输入、保存、查询等方面,这就要求数据库结构能充分满足各种信息的输入和输出。收集基本数据、数据结构及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

1)用户为管理员用户;

2)管理员用户登陆后可进行货物信息及厂商信息、客户信息等的维护,以且货物入库、货物出库、货物退货及统计信息的维护;

经过系统功能分析和需求总结,考虑到将来功能上的扩展,设计如下的数据项和数据结构:

1) 用户信息包括数据项:用户编码、用户名、用户密码、所属部门、联系电话 2)部门信息包括数据项:部门编码、部门名称

3)供应商信息包括数据项:供应商编码、供应商名称、联系人、职务、联系电话、

手机、传真、邮编、公司类别、所属区域、信用度、公司网站、公司地址、备注

4)客户信息包括数据项:供应商编码、供应商名称、联系人、职务、联系电话、手

机、传真、邮编、公司类别、所属区域、信用度、公司网站、公司地址、备注

5)货品信息包括数据项:产品名称、产品数字吗、产品拼音码、产品规格、单位、

产品单价、所属类型、产品描述

6)货品分类包括数据项:分类编码、分类名称、上级编码 7)仓库信息包括数据项:仓库编码、仓库名称

8)入库信息包括数据项:供应单位、供应商地址、供应产品名称、供应商联系人、

产品数量、产品序列号、供应产品备注信息

9)出库信息包括数据项:客户单位、客户地址、产品名称、联系人、产品数量、产

品序列号、产品备注信息

10)退货信息包括数据项:退货单位、退货单位地址、产品名称、联系人、产品数

量、产品序列号、产品备注信息

3.2.2 数据库概念结构设计

得到上面数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。

设计规划出的实体有:用户实体、部门实体、客户实体、货品实体、货品类型实体、仓库实体、厂商实体。

11 / 26

企业库存管理系统的设计与实现

图3-3 系统E-R图

12 / 26

企业库存管理系统的设计与实现

3.2.3数据库逻辑结构设计

数据库的概念结构设计完毕后,现在可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据库模型,也就是数据库的逻辑结构。

商品进销存管理系统数据库中各个表的设计结果如表所示。每个表格表示在数据库中的一个表。

图3-4为用户信息表,存储系统中的用户信息。

图3-4 用户信息表(ShUser)

图3-5为部门信息表,存储系统中的部门信息。 图3-5 部门信息表(ShDept)

图3-6为货物分类信息表,记录系统中已有货物的分类信息。

13 / 26 图3-6 货品分类信息表(ShClass) 企业库存管理系统的设计与实现

图3-7 为货物信息表,记录系统中已有货物的信息。

图3-7 货品信息表(ShProduct)

图3-8为供应商、客户信息表,记录系统中客户与供应商的详细信息。

14 / 26 图3-8 客户、供应商信息表(ShCorp) 企业库存管理系统的设计与实现

图3-9为入库单、出库单、退货单表头信息表,记录入库单、出库单、退货单表头信息。

图3-9 单据表头信息表(ShBill)

图3-10为入库单、出库单、退货单表体信息表,记录入库单、出库单、退货单表体信息。

图3-10 单据表体信息表(ShBillList)

15 / 26

企业库存管理系统的设计与实现

图3-11为系统数据库备份信息表,记录每次备份数据库的名称和时间信息

图3-12为基础信息数据表,保存一些常用的基础数据信息 图3-11 备份记录信息表(ShDataBack)

4.开发系统

图3-12 基础数据信息表(ShDict) 经过前面对库存管理系统分析,从这里开始真正开始实施编程的阶段,有了充分的分析和设计结果,这个阶段的工作就能快速平稳的进行,只有需求分析充分,在编码阶段才可能迅速进行。

4.1 编制代码

根据前阶段开发出来的用例图、类图、活动图,下一步的工作就是编制实现系统的代码。本设计我使用的编程语言是.Net(C#)。

4.2 系统实现

Visual Studio 2010 +SQL Server 2008开发环境提供了一个统一的集成的开发环境,其中集成了许多可视化辅助工具,因此对于用户界面的建立和代码的生成来说是比较简单的。

4.2.1 用户界面

用户界面决定了系统可使用性的好坏。用户界面的设计同样需要讲究艺术性和科学

16 / 26

企业库存管理系统的设计与实现

性,在利用艺术角度的见解和人性因素的研究之外,还要考虑到系统用户的直观感觉。

下面以系统登录界面为例,来介绍程序的界面。如图4-1

图4-1系统登录界面

系统界面设计十分简单,只有“用户名”、“密码”两个输入框及“登陆”一个按钮组成。此页面肩负着系统的安全,所以其安全性能要求很高,所以在数据库存储中进行了加密处理,即便他人在数据库中看到用户账号和密码也无法直接获得用户密码。

4.2.2 登录动作代码

企业库存管理系统登录动作代码如下:

using System;

using System.Data;

using System.Configuration; using System.Collections; using System.Web;

using System.Web.Security; using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;

17 / 26

企业库存管理系统的设计与实现

using AcomLb.BLL;

using AcomLb.Components; using AcomLb.Model;

public partial class LoginPage : System.Web.UI.Page {

UserInfo userinfo = new UserInfo();

protected void Page_Load(object sender, EventArgs e) {

if (!IsPostBack) {

this.Login1.Focus(); } }

protected void Login1_Authenticate(object sender, AuthenticateEventArgs e) {

string userId = StrHelper.ConvertSql(this.Login1.UserName); string passWd =

StrHelper.EncryptPassword(StrHelper.ConvertSql(this.Login1.Password), StrHelper.PasswordType.MD5);

ShUserData ds = new ShUser().GetUserInfo(userId, passWd); if (ds.Tables[0].Rows.Count > 0) {

DataRow dr = ds.Tables[0].Rows[0];

userinfo.Uid = (int)dr[ShUserData.ID_FIELD];

userinfo.UserId = dr[ShUserData.USERID_FIELD].ToString();

userinfo.UserName = dr[ShUserData.USENAME_FIELD].ToString(); userinfo.DeptId = (int)dr[ShUserData.DEPT_FIELD];

userinfo.DeptNm = dr[ShUserData.DEPTNAME_FIELD].ToString(); FormsAuthentication.SetAuthCookie(userinfo.UserId, false);

FormsAuthentication.RedirectFromLoginPage(userinfo.UserId, false); } else {

Jscript.AjaxAlert(this, \登陆失败,用户名或密码错误!\ } } }

18 / 26

企业库存管理系统的设计与实现

4.3 部分系统界面及功能简介

4.3.1企业库存管理系统主界面

图4-3企业库存管理系统主界面

4.3.2客户信息管理界面

图4-4客户信息管理界面

此页面可以实现按照指定条件查询客户信息,并对已有客户信息进行修改、删除,还可以新增客户信息。

19 / 26

企业库存管理系统的设计与实现

4.3.3货品信息管理界面

图4-5货品管理界面

此页面所实现对货品信息进行管理,可以根据条件快速查询,修改、删除已有货品以及新增货品等。

4.3.4货品分类管理界面

图4-6货品分类管理界面

4.3.5入库单界面

图4-7入库界面

此页面所实现对货品的入库操作,货品入库时,仓库管理员根据实际情况做入库单。

20 / 26

企业库存管理系统的设计与实现

4.3.6入库管理主界面

图4-8入库管理主界面

此页面可对入库单编辑、删除、添加等操作。

4.3.7入库查询主界面

图4-9入库查询主界面

此页面查看各往来单位的单据数量,并可以通过这里直接查看每个供应商的供货详情。

4.4系统特色

本系统中有些些颇具特色的两点,主要是对用户密码进行加密处理,可以保证用户的安全,同时可以支持在页面对数据库进行备份保证数据存储安全。

4.4.1用户密码加密存储

在系统中,用户密码经MD5加密后存储于数据库中,可以保证用户的密码安全。 代码如下:

public static string EncryptPassword(string PasswordString, PasswordType PasswordFormat)

21 / 26

企业库存管理系统的设计与实现

{

switch (PasswordFormat) {

case PasswordType.SHA1:

passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString,

\

break;

case PasswordType.MD5:

passWord = FormsAuthentication.HashPasswordForStoringInConfigFile(PasswordString,

\

break; default:

passWord = string.Empty; break; }

return passWord; }

4.4.2.支持在页面备份数据库

在页面支持数据库备份功能,同时提供备份文件的下载功能,这样可以最大限度地保证数据存储安全。 备份页面如下:

主要代码如下:

public bool SetDataBack(string PathDataName, string FileName) {

string backName = PathDataName.Substring(PathDataName.LastIndexOf(\

+ 1);

DbCommand Backcmd =

this.db.GetStoredProcCommand(\

this.db.AddOutParameter(Backcmd, \

this.db.AddInParameter(Backcmd, \

\

22 / 26

企业库存管理系统的设计与实现

this.db.AddInParameter(Backcmd, \

PathDataName);

this.db.AddInParameter(Backcmd, \ return (this.db.ExecuteNonQuery(Backcmd) > 0); }

后台AcomStoreDataBack存储过程代码如下:

CREATE PROCEDURE [dbo].[AcomStoreDataBack] @flag VARCHAR(100) OUT,

@backup_db_name VARCHAR(50),

@filename VARCHAR(200), --路径+文件名字

@BackName VARCHAR(100) AS

DECLARE @SQL nvarchar(4000),@par nvarchar(1000) IF NOT EXISTS(

SELECT * FROM MASTER..sysdatabases WHERE NAME=@backup_db_name ) BEGIN

SELECT @flag='db not exist' /*数据库不存在*/

RETURN END ELSE BEGIN

IF right(@filename,1)<>'\\' AND charindex('\\',@filename)<>0 BEGIN

SELECT @par='@filename varchar(1000)'

SELECT @SQL='BACKUP DATABASE '+@backup_db_name+' to disk=@filename with init'

EXECUTE sp_executesql @SQL,@par,@filename

Insert ShDataBack (DataName) values (@BackName) SELECT @flag='ok' RETURN END ELSE BEGIN

SELECT @flag='file type error' /*参数@filename输入格式错误*/ RETURN END END

23 / 26

企业库存管理系统的设计与实现

5. 部 署

在以上的设计过程中,只是属于软件的设计阶段,当开发完成后,系统就要被部署到适当的硬件上运行并要与协同系统集成起来。在多数系统中,硬件是一个重要方面,一个系统可能要包括多种操作平台,并且要跨越很长的物理距离。一个坚实的系统硬件部署图对系统设计来说是必需的。UML提供了一组图符,用户创建一幅图来描述最终系统的硬件设置。

本系统的硬件部署图如图5-1所示:

图5-1 硬件部署图

24 / 26

企业库存管理系统的设计与实现

结 束 语

经过这几个月的设计和开发,“企业库存管理系统”已经完成了,其功能符合设计需求,能够完成商品信息维护、供应商管理、客户管理、入库管理、出库管理、退货管理、查询等功能。经过最后的使用,证明系统完全具有可行性与可扩充性。

此次设计中,我用SQL Server2008建立后台数据库,用VS.NET 的C#作为主要的应用程序开发工具,应用所学的UML知识进行了系统设计。运行环境是Windows XP/2003/2003Server/7.

在设计开始阶段,我结合大学之前已经学习到的知识,也花了一些时间对一些知识进行了巩固,并收集了资料、熟悉开发工具及环境等工作,并到小型企业仓库进行了实地的调研与学习。随后,在UML的快速应用工程指导原则(GRAPPLE)的指导下展开了业务过程建模,系统用例建模,分析模型建立,设计模型建立,硬件部署,编码以及系统的维护与调试,最后完成毕业设计论文的编写和答辩准备工作。在开发过程中,我也遇到了各种各样的困难,在指导老师魏凌华老师和周围同学的指导、帮助下,得到解决,最终顺利完成了本系统的开发工作。

在系统的分析阶段,主要是分析系统的需求,理解系统要完成的基本功能,找出系统的用例(Use Case)和角色(Actor),画出系统的用例模型图,用例模型是此后系统建模的基础。通过分析每个用例的顺序图和协作图,找到系统中的各个对象,建立系统的对象模型。抽象出系统的类,并将系统中联系紧密的类划分为若干个包,画出包图。在系统的设计阶段,需要做出高层的系统决策、确定基本的软件结构并且对应用系统进行结构划分。

统一建模语言(UML)出现以及在建模中的应用是软件工程发展过程中的巨大革命,标志着软件工程的新的发展阶段。在设计的过程中,我对UML理论知识与建模过程有了更深入的理解,独立解决实际问题的能力进一步增强,综合运用所学知识解决实际问题的能力得到很大提高,为我今后的学习和工作积累了经验,为以后完成更复杂的工作奠定了一定的基础。

但是由于毕业设计时间较短,该系统还有待于进一步改进,因此,仍有大量的工作需要开展,以使其更趋于完善!

参 考 文 献

[1] 海杰尔斯伯格. C#程序设计语言 . 北京:机械工业出版社,2007

[2] 仲福根、时书剑. 基于C#的Web应用. 北京:电子工业出版社,2012.

[3] 张洪明. SQL Server数据库管理与开发案例教程.北京:清华大学出版社,2009 [4] 王欣. SQL语法与范例详解词典. 机械工业出版社,2009

[5] 吴戈. SQL Server 2008学习笔记. 北京:人民邮电出版社,2009

[6] 明日科技. 软件工程师典藏:C#开发技术大全. 北京: 人民邮电出版社 ,2011 [7] Joseph Schmuller . UML基础、案例与应用. 北京:人民邮电出版社,2001. [8] Meilir Page.Jones. UML.面向对象设计基础. 北京:科学出版社,2003. [9] 刘润东. UML对象设计与编程. 北京:希望电子出版社2002.

25 / 26

本文来源:https://www.bwwdw.com/article/12b7.html

Top