当前位置:文档之家› (完整版)库存管理系统毕业论文设计

(完整版)库存管理系统毕业论文设计

库存管理系统的设计与开发

【摘要】库存管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起一个数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序具有功能完备、易使用等特点。

经过分析以上情况,我采用微软公司的Visual C#.NET作为前端应用程序开发工具,SQL Server 2000建立后台数据库,在本次毕业设计中开发了这套库存管理系统。本系统利用Visual C#.NET提供的各种面向对象的开发工具,尤其是ADO,能方便而简洁地实现应用程序和数据库的互访,是一款能让用户满意的可行系统。

【关键词】库存管理;ADO;面向对象;数据库

Abstract:Inventory management system is a typical management information system (MIS) , Which mainly includes database creation and maintenance, and front-end application development aspects.The former requires a strong consistency and integrity of data, and data with good security; while the latter requires the application functional, easy to use and so on.

After analyzing of the above, I use Microsoft's Visual C #. NET as a front-end application development tool, SQL Server 2000 establishing the background database, to develop the inventory management system in this graduation project.The system uses a variety of object-oriented development tools which Visual C #. NET Provides, especially the ADO, which can be simple and easy to manipulate the database, so it is a viable system which allows the user’s satisfaction.

Key words: Inventory Management; ADO; Object-oriented; Database

目录

引言 (1)

一、系统分析 (1)

(一)选题的背景 (1)

(二)系统需求分析 (1)

(三)可行性分析 (2)

(四)系统的开发及功能描述 (4)

(五)系统逻辑模型 (5)

二、系统设计 (7)

(一)系统总体结构设计 (7)

(二)数据库设计 (8)

(三)系统功能模块的详细设计 (9)

三、系统实现 (15)

四、系统开发总结 (25)

参考文献 (26)

附录 (28)

致谢 (30)

引言

随着我国市场经济的蓬勃发展和人们对物质水平需求的增加,各行各业都处于一个飞速发展的时期,行业的快速发展必然导致各企业之间的竞争更加激烈,为了使自己的企业在竞争中能够站稳脚跟,不被激烈的竞争环境所压倒,必然要求企业加强对自身的管理,提高企业的经营效率。

本库存管理系统的开发主要包括前端应用程序以及后台数据库的建立和维护两个方面。经过分析,我选用微软公司的Visual C#.NET来开发系统,利用其提供的各种面向对象的开发工具,来操纵数据库。

本论文正文分为五部分。第一部分介绍了开发库存管理系统的必要性以及如何开发,并简要概述了Visual C#.NET 和SQL Server 2000。第二部分介绍系统开发前的准备,包括系统的需求说明及系统总体结构设计和详细设计。第三部分并着重阐述了系统主要功能模块的具体实现。第四部分是系统开发的后期工作,讲到了该系统的不完善之处及本次系统开发过程中一些切身的感受与想法,是我做这次毕业设计的心得体会。

一、系统分析

(一)选题的背景

企业的库存物资管理往往是很复杂、很繁琐的。由于所掌握的物资种类众多,订货、管理、发放的渠道各有差异,各个企业之间的管理体制不尽相同,各类统计报表繁多,因此仓库的库存管理必须编制一套库存管理信息系统,实现计算机化操作,而且必须根据企业的具体情况制定相应的方案。

由于超市的行业特殊性,产品种类繁多,业务量巨大,若仍然采用人工记账的方式,必然不能满足企业的需求,企业需要利用计算机来进行库存管理,因此需要构造一个库存管理系统。

一个完整的企业物资供应管理系统应包括采购计划管理,合同收托管理、仓库库存管理、定额管理、统计管理、财务管理等模块。其中仓库的库存管理是整个物资供应管理系统的核心。因此有必要开发一套独立的库存管理系统来提高企业工作效率, 而所使用的这套库存管理系统是企业生产经营管理活动中的核心,此系统必须可以用来控制合理的库存费用、适时适量的库存数量,使企业生产活动效率最大化。通过对这些情况的仔细调查,我开发了下面的仓库库存管理系统。

(二)系统需求分析

系统需求分析就是在用户需求调研的基础上,确定系统的总体结构方案,完成相应的需求分析报告。在确定系统的总体结构方案过程中,包括确定应用程序的结构、系统开发环境和开发工具的选择。

1.应用程序结构确定

从用户应用角度来看,可把应用程序系统的组成部分分成数据存储层、业务处理层和界面表示层等3个层次,而应用程序结构可归纳为:集中式应用程序结构、单机板应用程序结构、多层服务器应用程序结构、浏览器服务器应用程序结构、客户机服务器应用程序结构等5种类型。

本库存管理系统就采用了单机版应用程序结构,将数据库和应用程序置于一台机器上,这样更加节约成本,适合中小规模的超市使用。用户可以轻松将其拷贝到其他计算机上,可以同时运行程序。

2.确定系统开发环境

由于大多数公司内部使用的计算机平台都是基于Windows环境的。为了降低系统成本,应最大程度地利用现有的资源、兼容现有的环境,可确定使用下面的开发环境:★数据库:Microsoft SQL Server 2000;

★前端开发工具:Visual C#.NET;

★数据访问对象:ADO。

3.开发工具的选择

可视化(visual)程序设计是一种全新的程序设计方法,全面采用面向对象的程序设计技术,使用事件驱动机制进行程序设计。利用可视化开发工具可以快速、高效地开发应用程序。可视化的开发工具很多,如Microsoft公司推出的Visual Studio软件系列,Borland公司的Delphi、C++ Builde r系列等。

Visual Studio 是微软公司推出的集成开发环境,是目前最流行的Windows 平台应用程序开发环境。它是把代码的编写、程序的调试、编译、运行以及其他的相关操作都集成在一起的“编程工具”。作用是程序员通过它这个平台,利用编程语言来写程序,调试,运行。

SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统。该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上

型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。

经分析,本库存管理系统选用Visual C#.NET来设计界面,选用SQL Server 2000来建立后台数据库。

(三)可行性分析

可行性研究的目的,就是用最小的代价在尽可能短的时间内确定问题是否能够解决。要达到这个目的,必须分析几种主要的可能解法的利弊,从而判断原定的系统规模和目标是否现实,系统完成后所能带来的效益是否大到值得投资开发这个系统的程度。因此,可行性研究实质上是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以较抽象的方式进行的系统分析和设计的过程。

一般来说,可行性分析应从经济可行性、技术可行性、操作可行性等方面进行研究。本系统的可行性分析如下:

1.经济可行性分析

由于本库存管理系统所要求的硬件(计算机及相关硬件)和软件环境(Visual

C#.NET+SQL Server 2000),市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对用户不造成过重的经济负担。而一旦此系统投入使用,不仅可以减少库存的工作强度,提高工作效率,而且方便了库存对信息的管理,延续了传统的管理模式,极大限度地方便了库存管理人员,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本系统的开发成本,所以从经济方面讲开发此系统是可行的。

2.技术可行性分析

技术上的可行性分析要考虑现有技术条件能否顺利完成开发工作及将来要采用的

硬件和软件技术能否满足用户提出的要求(如计算机的容量、速度等)。

本系统采用Visual C#.NET作为系统前台应用程序开发工具,采用SQL Server 2000工具建立数据库,并通过Visual C#.NET中的ADO控件使两者进行连接从而进行系统软件开发。Visual C#.NET不仅能帮助软件开发者提高软件开发的质量和效率,缩短开发周期,而且还具备强大的数据库管理功能,完全能够满足本系统的开发需求。此外,从开发人员的水平考虑,作为计算机科学与技术专业毕业的学生,大学四年所积累的专业知识使我们从一定程度上具备了开发一个小型系统的能力,而且学校现有的计算机设备也完全能够满足开发的需要。

3.操作可行性分析

传统的库存管理系统,一般有两种方式:一是手工管理,这种方式应用最传统的“笔纸操作系统”,将库存的货物信息、销售信息、厂商信息管理及单据管理等均以纯手工的形式进行,将信息以表格文件的表现形式记录在纸上,再进行统一保存。这种方式虽然在简单信息查询时会有一定的方便,但是存在着更多的不便:信息保存时间和条件很受限制、容易被损坏、信息查询不便、信息传达容易造成失误等。

另一种常见的信息管理方法是应用单机版的管理系统,本系统就是一款做的相对到位的单机版的库存管理系统,在库存信息处理方面做得很精准规范。

因为库存管理人员已经有丰富的信息管理经验,加之有相当的计算机应用经验,所以对于此系统一定很容易就可操作熟练。

综上所述,本库存管理系统投资少、收益大,且其运行操作简单易学,具备了开发的可行性。

(四)系统的开发及功能描述

1.开发方法的选择

信息系统的开发是一项比较复杂的工作,因此我们必须选用科学有效的开发方法。本系统的开发采用了生命周期法。在系统设计时遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,则通过在系统的使用及对系统了解的不断加深中,对某一部分或几部分进行重新分析、设计、实施,使系统逐步完善。

2.系统功能描述及系统安全性

本库存管理系统是一套对货品入库、出库、库存进行全面管理的系统。

在管理内容上,它的主要功能包括:

进货管理:进行填写货品信息,货品采购入库,入库单据的填写和修改最低库存量。

出货管理:进行货品出库,出货单据的填写和获取采购员信息。

信息查询:货品信息查询,库存信息查询,入库、出库单据查询,日报表、月报表查询。

统计报表:完整的日报表、月报表统计查询功能,每张单据每次业务金额都可以清楚地反映。

系统管理:身份验证,修改本人密码,注册用户,修改删除用户。

由于库存管理系统包含比较重要的信息,因此,在系统设计时除了注重用户的需求,还要保证系统的安全性和一致性,体现如下:

(1)安全性:本系统中共分为三类不同的用户,分别具有不同的权限。

(2)一致性:系统的数据要保证一致性、准确性,当某一数据库中记录发生改变时,与之相关联的数据库也随之变化。

(五)系统逻辑模型

本系统的逻辑模型以系统的数据流图为主要描述工具。

数据流图是组织中信息运动的抽象,是在调研的基础上,从系统的科学性、管理的合理性、实际运动的可行性角度出发,将信息处理功能和彼此之间的联系自顶向下,逐层分解,从逻辑上精确地描述系统应具有的数据加工功能、数据输入、数据输出、数据存储及数据来源和去向(外部实体)等项目,它表达了数据和处理的关系。

为了叙述方便,我们用不同的符号代表这四个元素:

→表示数据流;

=表示文件(数据存储);

○表示加工;

□表示数据流的源点和终点。

通过分析调查有关库存管理需要,并针对一般库存管理系统的功能需求,设计出库存管理系统顶层数据流程图如图1-1所示:

图1-1 库存管理系统顶层DFD

根据系统的顶层数据流图,进一步分析,画出系统的第二层数据流图如图1-2所示:

图1-2 库存管理系统的第二层DFD图

二、系统设计

(一)系统总体结构设计

1.系统功能分析

系统开发的总体任务是实现企业物资设备管理的系统化、规范化和自动化,从而达到企业仓库库存管理效率的目的。系统功能分析是在系统开发总体任务的基础上完成的。本库存管理系统需要完成的功能有:

(1)库存管理的各种信息的输入,包括入库、出库、货品信息的输入等。

(2)库存管理的各种信息的查询、修改和维护。

(3)入库单、出库单的生成,日报表、月报表的生成。

(4)在货品库存中加入所允许的最低库存字段,对所有库存物资实现监控和报警。

2.系统功能模块图

根据系统功能分析,画出系统功能模块图如下:

图2-1系统总体功能模块图

(二)数据库设计

数据库在一个信息管理系统中占有非常重要的地位,数据库结构设计的好坏将直接对应用系统的效率以及实现的效果产生影响。合理的数据库结构设计可以提高数据存储的效率,保证数据的完整和一致。同时,合理的数据库结构也将有利于程序的实现。设计数据库时应该首先充分了解用户各个方面的需求,包括现有的以及将来可能增加的需求。

1.数据库概念结构设计

本系统将货品分类,每类货品都有一名采购员负责采购,每名采购员只负责采购一类货品,每类货品都放在一个仓库中,一个仓库中可以放不同种类的货品,每个客户可以订购不同的货品,每种货品可以卖给不同的客户。

图2-2库存管理系统E-R图

2.数据库逻辑结构设计

根据系统功能需求与数据流程图,本数据库管理系统需要11个数据表,分别是操作员个人信息表、登录表、仓库信息表、货品信息表、库存信息表、入库单、出库单、采购员表、客户信息表、日报表、月报表。11个表的数据库逻辑结构如下:操作员个人信息表(UID, Uname, Sex, Tel);

登录表(UID ,PWD, Limit);

仓库信息表(仓库名称,负责人,联系电话,联系地址,备注);

货品信息表(货品编号,货品名称,货品类别,单位,规格型号,颜色);

库存信息表(库别,货品编号,最低库存,数量,进货单价,出货单价);

入库单(凭证编号,库别,货品编号,数量,进货单价,合计,入库时间,制单人,采购人编号);

出库单(凭证编号,库别,货品编号,数量,出货单价,合计,出库时间,制单人,客户编号);

采购员表(UID, Uname, 采购的货品类别,Tel);

客户信息表(客户编号,客户名称,联系人,联系电话,联系地址,备注);

日报表(日期,货品编号,本日入库数量,本日入库金额,本日出库数量,本日出库金额,本日出库利润);

月报表(月初日期,月末日期,货品编号,本月入库金额,本月出库金额,本月出库利润);

3.设置引用完整性

为了防止用户不小心删除有用的数据,或者输入错误的数据,就需要设置引用完整性(Referential Integrity)。

例如本系统用到的数据库中,入库单中输入的货品编号必须现存在于货品信息表中。通过设置引用完整性对数据库进行约束,能够帮助程序员和用户确保使用的数据是合法的。

4.数据库链接的实现

为了充分展现对象编程的思想,系统中利用https://www.doczj.com/doc/0012204457.html,中的组件SqlConnection实现数据库和前台应用程序之间的连接,利用connection对象和command对象实现随时访问数据库的功能。

ADO控件较灵活,它使用SQL表达式,通过SQL属性来和数据库文件相连并显示要显示的字段,可以方便地对一个或多个数据表中的记录进行访问。

(三)系统功能模块的详细设计

本库存管理系统是本着用户操作界面友好、清晰、易学易用的原则进行设计的。

1.身份验证模块的设计

在进入系统主界面之前,会出现一个身份验证对话框,要验证用户的身份。本系统中用户分为管理员、仓库管理员和经理三种。不同用户其权限也不同。

图2-3 用户登录模块界面设计

该模块的流程图如图2-4所示:

图2-4用户登录模块流程图

此外,对一个完整的系统而言,用户是应该可以修改自己的密码的,因此系统中应该具有修改密码的功能,提高数据的安全性,用户可以在进入系统主界面后可以修改自己的密码。当用户输入完成之后,按“确定”按钮来关闭对话框,系统会自动检查用户两次输入的密码是否一致,如果不一致,会出现出错提示并建议用户重新输入。

图2-5 修改密码界面设计

2.系统主界面的实现

系统主界面分为三个,根据用户的权限不同进入不同的主界面,分别是系统管理员界面、仓库管理员界面、经理界面。各自主界面自然有不同的功能。

图2-6 主界面(admin)设计

图2-7 主界面(仓管)设计

图2-8 主界面(经理)设计

3.进货管理模块的实现

进货管理模块包括填写货品信息、入库单、修改最低库存三个子模块。

(1)填写货品信息

图2-9 填写货品信息设计

(2)入库单

图2-10 入库单设计

(3)修改最低库存

图2-11 修改最低库存设计

4.出库管理模块的实现

出库管理包括填写出库单,获取采购员信息两个子模块。

(1)出库单

图2-12 出库单设计

(2)获取采购员信息

图2-13 获取采购员信息的设计

5.报表统计模块的实现

本系统的报表分为日报表和月报表,日报表在添加入库单和出库单时就已经自动添加进数据库中的日报表了,所以在此只需再手动添加月报表。

图2-14 月报表的设计

6.信息查询模块的实现

该模块三种用户都会用到,用户根据不同的权限分别可以查询不同的内容,如系统管理员为了修改仓库信息表、采购员信息表、客户信息表而查询相关信息,仓库管理员为了通知采购员及时采购而查询采购员信息,经理查询仓库管理的各种信息等。

三、系统实现

系统实现包括用户需求实现,系统界面实现和数据库实现三方面。

1.用户登录界面

用户通过该界面登录进入系统。在其输入用户编号与密码之后,单击“确定”按钮登录数据库(为了方便用户,本系统允许用户在输入密码之后直接按回车键登录数据库,

而无须使用鼠标单击“确定”按钮)。此时触发“确定”按钮的Click事件相应函数。

图3-1 系统登录界面

在这个事件响应函数中,需要首先判断用户,因为他们具有不同的权限。如果权限是0,则进入系统管理员界面;权限是1,则进入经理界面;权限是2,则进入仓库管理员界面。

2.系统主界面

由于用户权限的差异,他们所能进入的系统主界面也相应的不同。如图3-3:

图3-2 系统主界面一(系统管理员身份进入)

图3-3 系统主界面二(经理身份进入)

图3-4 系统主界面三(仓库管理员身份进入)3.系统子界面

3.1 系统管理

图3-5 修改密码界面

用户只能通过此界面修改自己的密码,如果试图修改别人的密码,则提示如下图:

图3-6 修改密码界面

修改密码成功则显示重新登录界面,图如下:

图3-7 重新登录界面

以下是注册用户界面:

图3-8 系统管理员注册用户界面

注册前数据库中操作员个人信息表如图3-7:

图3-9 注册前的操作员个人信息表数据库注册用户成功界面:

图3-10 注册用户成功界面

注册用户成功数据库:

图3-11 注册后的操作员个人信息表数据库修改删除用户界面如下:

图3-12 系统管理员修改删除用户界面删除报表界面如下图:

图3-13 系统管理员删除报表界面3.2 进货管理

仓库管理员填写入库单界面如下图:

图3-14 仓库管理员填写入库单界面

入库单中涉及数据一致性,货品编号为“1”开头的库别自动为饮料库,货品编号为“2”开头的库别自动为主仓库,货品编号为“3”开头的库别自动为酒库。数量和进货单价设置只能输入数字类型。其中货品编号如果在库存信息表中不存在,那么提示先

输入货品信息,点击确定后界面自动跳转到如下图:

图3-15 仓库管理员填写入库单界面

图3-15 仓库管理员填写货品信息界面

入库单填写的信息会自动加入入库单数据库,并且更改库存信息表和日报表中的相

关信息。

图3-16 未添加信息前的入库单

图3-17 入库单未添加前的库存信息表

填写完入库单的图如下:

图3-19 添加信息后的入库单

图3-20 入库单填写后的库存信息表

图3-21 入库单填写后的日报表

3.3 出货管理

出库时如果出库数量低于库存信息表中的最低库存时报警,提醒仓库管理员及时通知采购员采购,如果不清楚此货品的采购员是谁可以根据货品编号查询采购员信息,报警显示如下图:

图3-22 填写出库单

3.4报表统计

图3-23 月报表统计

3.5信息查询

图3-24 库存信息查询

四、系统开发总结

本次毕业设计接近尾声了,它对我所产生的影响却是巨大的。作为计算机科学与技术专业的学生,四年的学习过程让我们学到了很多知识,然而真正运用于实践的并不多,毕业前的这次毕业设计恰是对我们大学四年所学的一次总结,我们可以在老师的帮助下自己来尝试开发一个小型项目,把所学的单纯的理论知识变成为实际的操作经验,而不再是眼高手低。

此次库存管理系统开发让我学习到很多知识,现总结如下:

◆系统开发的过程中,我深刻体会到了以前上课老师经常提起的一个问题,那就是:一个系统开发的过程中编码不是最重要的,重要的是对系统进行分析以及建立恰当的系统模型。有了一个好的系统模型之后,我们再将其划分成几个模块,那样做起来就会容易得多。本系统中采用了生命周期法进行系统的开发,就体现了该模块化设计思想。

◆在该库存管理系统设计中,从系统的实用性出发,我能够在开发该系统时站在用户的角度看问题,本着用户操作界面友好、清晰、易学易用的原则进行设计。如开发过程中我尽可能地设想记录为空,输入为空,输入出错等边界条件,然后在这些边界上,设置出错检测,使系统能自动捕获出错点,给出提示,允许用户重新进行操作,使系统能够安全的运行下去,而不是退出系统。

◆文章的前面讲到了本系统数据库是使用SQL Server 2000进行设置的,也讲到了它的优点,这里就不多说了,但是在本次设计中,我发现了Visual C#.NET的一种应用编程接口—ADO(ActiveX Data Objects)。它是一种面向对象的、与语言无关的应用编程接口,具有易于使用、高速度、低内存支出和占用磁盘较少,可以使用所有支持ODBC 的数据库等优点;使用ADO可以实现动态数据库的链接,从而避免以往静态方式连接数据库的一些缺点。这些知识对我本次的系统开发有着很大的帮助。

开发期间,我学会了有目的的去学习一些将要用到的东西,仔细地考虑工作流程的规律和步骤,充分利用手中的开发工具,利用其所具备的功能,尽量使自己的开发在代码上实现少而精确、让用户能够尽量简单地进行操作。但是在检测过程中,还是出现了很多的不足之处,这些都是要在今后的工作中需要努力改进和完善的。

在这次毕业设计中,我遇到了很多困难,这主要是由于我开发软件的经验不足,工具的应用也不够熟练,虽然Visual C#.NET用的语言是C#,但是由于以前基础不够扎实,对我来说可以算是一个全新的尝试,整个开发过程并不是很顺利,却使我从中充分体会到学习的快乐,系统也在从理论到实践,再从实践到理论的反复中一步步得到完善。

虽然,这次系统开发由于个人水平及时间有限等原因,只能完成一些基本的功能,程序代码不够简练,好多设想也未能得到实现,这不能不说是个很大的遗憾。现有系统还存在着以下问题:第一点,不能实现界面动态转换功能。由于技术原因,我只能用Panel 控件实现静态的界面转换;第二点,功能模块不够全面。作为库存管理系统,系统设计中还能加上备品备件管理和系统维护等功能模块,可是由于时间比较紧迫,该想法未能实施。由于我第一次开发一个完整的数据库管理系统,不足之处在所难免,敬请各位老师、领导批评指正,我会在以后的工作中加以完善和改进。

相关主题
文本预览
相关文档 最新文档