超市进销存管理系统完整.docx
《超市进销存管理系统完整.docx》由会员分享,可在线阅读,更多相关《超市进销存管理系统完整.docx(32页珍藏版)》请在冰豆网上搜索。
![超市进销存管理系统完整.docx](https://file1.bdocx.com/fileroot1/2023-4/21/a883a288-4bb9-4e23-86b2-c5e4ec2febb0/a883a288-4bb9-4e23-86b2-c5e4ec2febb01.gif)
超市进销存管理系统完整
]
软件工程课程设计
超市进销存管理信息系统
专业:
计算机应用计算
班级:
9班
学号:
20112245
姓名:
李浩滨
超市进销存管理信息系统
摘要:
最初的超市进销存管理都是靠人力来完成的,但随着在市场经济的引导下,我国的超市经营规模日益扩大,销售额和门店数大幅度增加,许多超市正向品种多样化发展,需要处理大量的信息,时刻要更新产品销售信息,不断添加商品信息,并对商品的各种信息进行统计分析。
因此,在超市管理中引进现代化的办公软件,实现超市商品信息的处理,从而方便管理人员的决策和管理,解除后顾之忧。
本系统主要完成对超市的管理,包括顾客管理、厂家管理、商品管理、退货管理,购物车管理,采购管理、个人管理,管理员管理,系统管理等几个方面。
系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。
系统采用C/S架构,采用SQLServer2000来设计数据库,并使用当前优秀的集成开发工具VisualStudio2005开发环境,采用C#语言,开发了超市进销存管理系统,以求降低管理成本,提高其经济效益。
关键词:
进销存管理系统;C#语言、SQLServer2000;
Abstract:
ThefirstsupermarketInvoicingmanagementistorelyonmanpowertocomplete,butalongwiththemarketeconomyinourcountryundertheguidanceofthesupermarket,theincreasingscaleofoperation,salesandstorenumbersgreatlyincreased,manysupermarketstobreeddiversificationdevelopment,needtoprocesslargeamountsofinformation,toupdatetheproductsalesinformation,andconstantlyaddproductinformation,andthestatisticalanalysisofinformationcommodity.Therefore,inthesupermarketmanagementintroductionofmodernofficesoftware,supermarketmerchandiseinformationprocessing,whichisconvenientformanagementdecision-makingandmanagement,removeanymenacefromthe"rear".Thissystemmainlycompletestothesupermarketmanagement,includingcustomermanagement,vendormanagement,commoditymanagement,returnsmanagement,shoppingcartmanagement,procurementmanagement,personalmanagement,administratormanagement,systemmanagementandsoonseveralaspects.Systemcancompletealltypesofinformationbrowsing,query,add,delete,modifythefunctionsof.ThesystemadoptsC/Sstructure,usingSQLServer2000databasedesign,andusethecurrentexcellentintegrateddevelopmenttoolforVisualStudio2005developmentenvironment,usingClanguagedevelopment#,supermarketInvoicingmanagementsystem,inordertoreducethemanagementcost,raiseitseconomicbenefits.
Keywords:
Inventorymanagementsystem;C#语言、SQLServer2000
一、序言
1.1研究背景和意义
随着超市规模的不断扩大,原始手工的管理方式已不能适应超市的发展现状,也无法满足超市高复杂、快速、准确的管理工作要求,超市的管理者并非固步自封,在现今竞争日趋激烈的市场环境下,超市的管理者在试图不断地巩固现有的资源基础上,一边摸索着管理经验,一边寻求可以帮助超市在管理上突破的新管理方式和新方法,提高超市管理上的灵活性,实现超市的稳步发展,迎接日益激烈的市场竞争,信息技术为他们提供了最好的途径。
以计算机与通信技术为基础的信息技术已经进入了蓬勃发展的时期。
信息技术为人们创造了一种全新的不受时间、地域和计算机本身约束而实现信息交流、共享和协作的方式,这种新的处理方式给超市带来了新的机遇和挑战。
在超市信息化大背景的影响下,对超市经营活动中的进、销、存进行有效的控制和管理,已经成为头等要事。
要实现超市的信息化,关键是要实现超市信息的集成和共享,包括不同部门之间、超市内部与超市外部之间及超市同超市之间信息的集成和共享[1]。
为了实现信息化,超市选择了进销存管理系统。
此系统利用计算机对超市的进货、销售及库存进行一体化管理,对库存商品进行查询和汇总,让管理者时刻对物资储做到心里有数;通过建立商品到货入库管理,对入库商品的采购时间、供应商及价格进行控制。
销售管理帮助超市掌握销售动向。
超市采用进销存系统来管理超市的进销存业务可以带来明显的经济效益和社会效益。
它的优点主要体现在以下几方面:
极大提高了员工的工作效率,大大减少了以往到货商品入库到销售出库流程繁琐,杂乱的弊端;基于计算机技术的进销存管理系统,可以减少入库管理、出库管理及库存管理中的漏洞,可以减少管理成本,增加超市收入;进销存管理的操作自动化和信息的电子化,全面提高了超市的管理水平[2]。
因此,为进一步提高超市进销存业务处理效率,建立高效的进销存系统就变得十分重要。
超市进销存管理系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端界面程序的开发两个方面。
超市进销存管理系统在设计上体现了人性化和“以人为本”的精神。
界面设计上亲切友好,简单直观,便于操作。
系统的核心是进货、销售和库存三者之间的联系,每一个表的修改都将会牵扯到其它的表,当完成进货、销售和退货操作时系统会自动地完成相对应信息的修改。
查询功能也是系统的核心之一,在系统中可以进行模糊查询和精确查询,其目的都是为了方便用户使用,以求更快的查找到相应的基本信息。
利用超市管理系统可以在以下几个方面提高超市管理的水平:
✓提高管理效率
✓提高销售额
✓降低人工成本
✓降低采购成本
✓商业数据智能分析
✓高效决策
1.2研究思路
本文的具体内容如下:
(1)通过调查,研究了产品经营过程中进、销、存等重要环节,对系统进行规划,分析了系统将要实现的基本信息管理、商品到货入库管理、商品销售管理、库存管理等、报表打印功能,绘制各种图例,确定其基本结构及实现策略。
(2)研究.NET框架的基本原理、SQLServer2000数据库访问技术和C#技术,VisualStudio2005[4]为课题研究提供技术支持。
(3)采用了模块结构化设计方法,自顶向下,逐层分解,画出E—R图后进行数据库的设计。
研究了采购、销售、库存等数据,根据数据之间的联系,建立数据库的输入、输出、管理等模式。
(4)通过SQLServer2000数据库访问技术和C#编码技术等实现进销存管理系统原型的设计与应用。
1.3系统设计思路
进销存管理系统基本设计思路是把整个系统按照实现模块进行分解,利用当今流行的C#语言,基于WindowsXP、SQLServer2000、VisualStudio2005为开发环境进行开发。
本系统的结构是自顶向下扩展的,层次化的模块结构。
对高层模块,将使用以事务为中心的设计策略,把一个复杂的系统逐步分解成较小的相对简单的模块;对低层模块,采用以变换为中心的设计策略。
此外,为了提高模块的内聚性,降低模块间的偶合程度,数据库的设计原则是把它作为模块间的邮政信箱,从而既实现数据共享又提高模块的独立性,使系统具有很高的可修改性,系统采用C/S结构模型通过计算机局域网实现公司进销存业务数据的同步管理[18],其数据传递关系如图2.3所示
图2.3-1数据传递关系
二、相关技术介绍
1.1NET平台介绍
1.1.1、.NET体系结构
.NET(全称DotNET)是由Microsoft公司经过长时间的研发所推出的开发平台,它吸取了以前开发平台的经验和教训,定义了开发和运行超市级客户端应用的一个标准,一个体系结构,它以开发的可靠性、可扩展性、可管理性和安全性很快被Web和WindowsForm的开发者所喜爱。
.NET的体系结构[3]如下
图2.2-1.NET的体系结构图
.NET体系是由公共语言运行库(CLR全称CommonLanguageRuntime)和.NETFramework类库所构成。
CLR是.NETFramework的核心执行环境,也称为.NET运行库。
.NETFramework类库是一个内容丰富的类集合,它可以完成以前要通过WindowsAPI来完成的绝大多数任务。
1.1.2、CLR概述
CLR主要负责托管代码的编译和运行。
在.NET中代码的编译通过两阶段任务来完成:
一是把源代码编译为Microsoft中间语言(IL),二是CLR把IL编译为平台专用的代码。
在CLR控制下运行的代码称为托管代码(managedcode)。
其优点是:
(1)与开发平台无关。
源代码先编译成中间语言,运行时由CLR将中间语言编译成平台专用的代码,跟Java的字节代码一样,这样即可实现平台无关性。
(2)性能大幅度提高。
首先,IL比Java的字节码的作用要大,因为IL是即时编译的,而Java的字节码是解释性的,在转换为平台可执行代的码的时候会导致性能的损失。
其次,.NET的即时编译器(JIT全称JustInTime)并非一次性的把全部代码编译完才执行,而是只编译调用的那部分代码,并把得到的这部分内部可执行代码保存起来,下次需要调用的时候无须重新编译。
Microsoft认为这个过程要比一开始编译整个应用程序代码的效率高得多,因为任何程序的大部分代码实际上并不是在每次运行过程中都执行。
最后,传统的编译器会优化代码,但它们的优化过程是独立于代码所运行的特定处理器的。
(3)语言的互操作性。
互操作性即能将任何一种语言编译为中间代码,编译好的代码可以与从其它语言编译过来的代码进行交互操作。
在.NET中可以交互操作的语言有C#、VB.NET、VisualC++.NET、VisualJ#、脚本语言、COM和COM+等[3]。
CLR的工作原理如下图所示
:
图2.2-2CLR的工作原理
1.1.3、.NET的优势
(1)优秀的设计。
只有一个基类库,并以一种非常直观的方式设计出来。
(2)语言无关性。
在.NET中,VB.NET、C#、J#和ManagedC++等语言都可以编译为通用的中间语言(IntermediateLanguage),这说明,语言可以用以前没有的方式交互操作。
(3)高效的数据访问。
一组.NET组件,总称为ADO.NET,提供了对关系数据库和各种数据源的高效访问,这些组件也可以访问文件系统和目录。
.NET内置了XML支持,可以处理从非Windows平台导入或导出的数据。
(4)增强的安全性。
每个程序集还可以包含内置的安全信息,这些信息可以准确的指出谁或哪种类型的用户或进程可以调用什么类的哪些方法,这样就可以非常准确的控制程序集的使用方式。
1.2ADO.NET简介
ADO.NET由MicrosoftActiveXDataObjects(ADO)改进而来,它提供平台互用和可收缩的数据访问功能。
由于XML(ExtensibleMarkupLanguage,可扩展标示语言)是用于进行数据传送的格式,任何可以读取XML格式的应用程序都可以对数据进行处理。
实际上,接收组件根本不需要ADO.NET组件。
它可以是基于MicrosoftVisualStudio的解决方案或在任何平台上运行的任何应用程序。
ADO.NET对MicrosoftSQLServer和XML等数据源以及通过OLEDB和XML公开的数据源提供一致的访问。
数据共享使用者应用程序可以使用ADO.NET来连接到这些数据源,并检索、处理和更新所包含的数据。
ADO.NET通过数据处理将数据访问分解为多个可以单独使用或前后使用的不连续组件。
ADO.NET包含用于连接到数据库、执行命令和检索结果的.NETFramework数据提供程序。
您可以直接处理检索到的结果,或将其放入ADO.NETDataset对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。
ADO.NETDataset对象也可以独立于.NETFramework数据提供程序使用,以管理应用程序本地的数据或源自XML的数据。
ADO.NET类在System.Data.dll中,并且与System.Xml.dll中的XML类集成。
当编译使用System.Data命名空间的代码时,请引用System.Data.dll和System.Xml.dll。
有关联接到数据库、从数据库中检索数据并在命令提示中显示该数据的ADO.NET应用程序示例,请参见ADO.NET示例应用程序。
ADO.NET向编写托管代码的开发人员提供了类似于ActiveX数据对象(ADO)为本机组件对象模块(COM)开发人员提供的功能。
有关ADO和ADO.NET之间的差异的讨论,请参见MSDN上的ADO.NETfortheADOProgrammer。
1.3C#语言概述
C#语言是由Microsoft开发的一种功能强大的、简单的、现代的、面向对象的全新语言,是Microsoft新一代开发工具的经典编程语言,由于它是从c和C++语言中派生出来的,因此具有C和C++语言的强大功能。
同时,由于是Microsoft公司的产品,它又同VB一样简单。
对于web开发而言,C#像Java,同时具有Delphi的一些优点,而且C#专门是Microsoft专门为使用.NET平台而创建的,它吸取了以前的教训,考虑了许多其他语言的优点,并解决了他们的问题。
C#语言的优势在于[4]:
(1)语法简洁。
不允许直接操作内存,去掉了指针操作。
(2)彻底的面向对象设计。
C#具有面向对象语言所应有的一切特性——封装、继承和多态。
(3)强大的安全机制。
可以消除软件开发中的常见错误(如语法错误),.NET提供的垃圾回收器能够帮助开发者有效地管理内存资源。
(4)兼容性。
因为C#遵循.NET的公共语言规范(CLS),从而保证能够与其他语言开发的组件兼容。
(5)灵活的版本处理技术。
因为C#语言本身内置了版本控制功能,使得开发人员可以更容易地开发和维护。
(6)完善的错误、异常处理机制。
C#提供了完善的错误和异常处理机制,使程序在交付应用时能够更加健壮。
1.4SQLServer2000的简介
SQLServer2000是为迅速提供可伸缩性电子商务、超市及数据仓库解决方案而开发的完整数据库与分析软件产品。
SQLSERVER2000定位于Internet背景下的数据库应用,它为用户的Web应用提供了一款完善的数据管理和数据分析解决方案。
同时SQLSERVER2000还是WindowsDNA(DistributedInternetArchitecture)架构的一个核心组件。
它极大地缩短了用户开发电子商务、数据仓库应用的时间。
SQLSERVER2000还提供对XML(ExtensibleMarkupLanguage扩展标示语言支持)和HTTP的全方位支持。
T-SQL语言是微软在SQLServer中使用的编程语言,它是一个数据定义、操作和控制语言。
掌握T-SQL能使数据库管理员更为有效的管理SQLServer2000。
SQLServer2000数据库的设计与实现,主要内容包括设计SQLServer数据库、实现SQLServer数据库和表、实现数据的完整性、访问和修改数据库、管理和操作数据、实现存储过程、实现触发器、实现视图、实现索引、设计和管理SQLServer2000安全性等。
1.5系统开发环境
系统开发工具:
MicrosoftVisualStudio2005。
系统开发语言:
C#。
数据库管理系统软件:
SQLServer2000。
运行平台:
WindowsXP(SP3)/Windows2000(sp4)/WindowsServer2003(SP1)。
运行环境:
Microsoft.NETFramework2.0。
三、进销存管理系统分析
3.1系统需求分析
通过对目前超市的现有的了解和调查及对网上的资料的分析,要求该系统要实现以下的功能:
该系统实现以下几大功能:
基础信息管理、进货管理、销售管理、库存管理、查询统计、系统管理。
(1)基础信息管理包括客户信息管理(添加、修改与删除)、商品信息管理(添加、修改与删除)、供应商信息管理(添加、修改与删除);进货管理包括进货单、进货/退货;销售管理包括销售单;库存信息管理包括库存盘点,、库存价格调整;系统管理包括操作员管理、更改密码、权限管理、退出系统;查询统计包括客户查询、商品查询、供应商查询、销售查询、入库查询。
(2)根据超市职责的不同设计了不同的用户操作界面——操作员界面,管理员界面。
且系统操作简单界面友好。
(3)为方便用户系统支持多条件查询。
(4)系统具有更高的安全性。
3.2业务流程分析
业务流程图用来描述系统各项业务的处理过程,运用业务流程图可以详细准确地表述业务处理过程中数据的收集、输入、传递、存储、加工的方法、输出的数据及形式等,是系统进行需求分析的基础,是系统设计的前提和保证[5]。
业务流程图使用的符号
表3.2-1业务流程图符号表
以下是各业务的流程图,如图所示。
1、基本业务流程
该业务主要对商品信息、功能模块信息、权限信息、用户信息的定义及维护和管理。
图3.2-1基本业务流程
2、采购
采购员通过库存预警报表、客户的需求调查,采购商品后形成采购信息,查询库存中需采购商品的库存量,需采购的数量进行相加,看是否超过库存中能存放的该商品的最大库存量,如果超过,修改相应的进货数量,如果没超过,则生成进货单。
,通过对商品进货单在特定的查询条件下查询,即可形成商品进货明细。
图3.2-2商品进货单业务流程
3、销售
销售员首先要查询将要销售的商品是否还有存货,如果有,满足不满足要求。
将销售信息录入系统后就形成了商品销售单,通过对商品销售单在特定的查询条件下查询,即可形成商品销售明细。
图3.2-3商品销售业务流程
4、库存
采购员、管理员、销售员分别将商品到货单、库存预警值、商品销售单输入系统,修改库存表,通过对库存表的查询后生成商品库存情况报表和库存预警表,而销售人员也可将库存预警表当做采购信息的重要来源之一,通过对商品入库单在特定的查询条件下查询,即可形成商品入库明细。
图3.2-4库存管理业务流程
5、权限管理
各个管理员在系统中对应的权限不同,根据权限划分,管理模块可分为:
商品管理、采购管理、销售管理、入库管理、权限管理5个管理模块,每个普通
管理员根据超级管理员添加该管理员时分配给的管理模块权限可对系统进行相应的操作。
超级管理员也可以修改各个普通管理员的权限,即对普通管理员的权限进行重新分配。
四、系统开发目的和总体分析
4.1系统的开发目的
通过对公司的业务流程进行调查与分析。
本系统应具备以下目标:
(1)系统采用人机交互方式,界面简单,信息查询灵活、存储安全可靠。
(2)更好地了解供应商和客户信息,加强对商品资料的管理。
(3)能够方便的输入和查询商品进货。
(4)准确了解销售动态,统计销售情况及时调整营销策略。
(6)商品库存情况查询、统计及库存预警功能。
(7)实现报表功能能够方便的将数据打印成文档。
(8)做好数据的安全工作,实现数据的备份和恢复
(9)系统最大限度的实现易维护性和易操作性。
4.2系统总体设计
系统总体设计的任务是弄清用户对系统的数据处理功能所提出的要求,根据对系统目标和业务流程的分析,据此确定了系统的六大模块,分别是基本资料管理模块、商品入库管理模块、销售管理管理模块、库存管理模块、报表管理模块、系统管理模块。
图3.3-1系统总体设计
(1)用户管理
该模块当前登录该系统的用户进行密码修改。
(2)商品管理
该模块新商品的信息添加、删除、修改、商品列表的显示。
(3)采购管理
该模块实现目前缺货商品的显示、进货单添加、按经手人或时间对进货单进行相关查询。
(4)销售管理
该模块实现了销售单的添加、按经手人或时间对销售单进行相关查询。
(5)库存管理
该模块实现了库存的查询,库存情况汇总设置库存预警值,可以查询哪些商品的库存低于预警值,并且显示出来,入库单的添加,按经手人或时间对库存单进行相关查询。
(6)管理员管理
该模块主要实现了对管理员的添加、对已存在的管理员权限进行修改。
4.3系统数据流图
数据流图是用来描述数据流动、存储、处理的逻辑关系。
根据业务流程和功能需求,通过进一步分析后,得出了本进销存管理系统的主要数据流图。
如图所示。
表3.4-1数据流图符号说明
顶层数据流图
图3.4-1顶层数据流图
以下是各个功能模块的数据流图
图3.4-2各模块数据流图
图3.4-3商品入库管理模块数据流图
图3.4-4商品销售管理模块数据流图
图3.4-5商品库存管理模块数据流图
由于报表管理模块其实就是前面各个模块的查询结果的基础上,增加了打印功能。
这里就不在赘述其数据流程了。
五、进销存管理系统设计
5.1系统设计原则
系统设计其实就是系统建立的过程。
根据前期所作的需求分析的结果,对整个系统进行设计,如系统框架、数据库设计等。
在系统设真正开始之前,设定系统的设计原则是非常必要的。
本系统设计的原则:
(1)实用性原则。
最大限度的满足实际工作需求,各业务层、各管理环节数据的处理要符合用户的经营与管理。
操作界面尽量美观大方,操作简单。
(2)可扩展性和可维护性原则。
为满足未来需求,系统应具备很好的可扩展性和可维护性。
软件设计尽量模块化、组件化,使系统可灵活配置,数据库的设计尽可能考虑到未来的需要。
(3)安全可靠性原则。
系统与数据库的设计要做到安全可靠,防止非法用户的入