超市进销存管理系统(毕业设计).doc_第1页
超市进销存管理系统(毕业设计).doc_第2页
超市进销存管理系统(毕业设计).doc_第3页
超市进销存管理系统(毕业设计).doc_第4页
超市进销存管理系统(毕业设计).doc_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计题目 超市进销存管理系统 完成日期 2012年10月22日目 录摘要1关键字1第1章 概述2第2章 系统开发的技术基础22.1 C#概述22.2 SQL Server 2005简介22.3 Visual Studio 2005简介32.4 系统运行坏境3第3章 系统分析33.1 可行性分析33.1.1 技术可行性33.1.2 经济可行性33.1.3 操作可行性43.1.4 运行可行性43.2 系统需求分析43.2.1 职能分析43.2.2 功能分析53.2.3 附加功能6第4章 系统设计64.1 数据库设计64.1.1 E-R图74.1.2 使用EXCEL建模84.1.3 数据字典94.2 功能模块设计124.3 输入输出设计及实现14第5章 系统测试与发布235.1 单元测试概述235.2 什么是单元测试24第6章 总结与展望25致谢26参考文献26超市进销存管理系统 摘 要最初的超市进销存管理都是靠人力来完成的,但随着在市场经济的引导下,我国的超市经营规模日益扩大,销售额和门店数大幅度增加,许多超市正向品种多样化发展,需要处理大量的信息,时刻要更新产品销售信息,不断添加商品信息,并对商品的各种信息进行统计分析。因此,在超市管理中引进现代化的办公软件,实现超市商品信息的处理,从而方便管理人员的决策和管理,解除后顾之忧。本系统主要完成对超市的管理,包括顾客管理、厂家管理、商品管理、退货管理,购物车管理,采购管理、个人管理,管理员管理,系统管理等几个方面。系统可以完成对各类信息的浏览、查询、添加、删除、修改等功能。系统采用C/S架构,采用SQL Server 2005来设计数据库,并使用当前优秀的集成开发工具Visual Studio 2008并安装Ajax插件,项目运行环境为JDK1.6。开发模式采用敏捷开发模式,使用C#进行协同开发,代码书写格式规范,注释详细。关键字:C#、SQL Server 、超市、Visual Studio 2005、AJAX、进销存管理系统、第1章 概述超市进销存管理系统是一个典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端界面程序的开发两个方面。超市进销存管理系统在设计上体现了人性化和“以人为本”的精神。界面设计上亲切友好,简单直观,便于操作。系统的核心是进货、销售和库存三者之间的联系,每一个表的修改都将会牵扯到其它的表,当完成进货、销售和退货操作时系统会自动地完成相对应信息的修改。查询功能也是系统的核心之一,在系统中可以进行模糊查询和精确查询,其目的都是为了方便用户使用,以求更快的查找到相应的基本信息。利用超市管理系统可以在以下几个方面提高超市管理的水平: 提高管理效率 提高销售额 降低人工成本 降低采购成本 商业数据智能分析 高效决策第2章 系统开发的技术基础2.1 C#概述C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司。NET windows网络框架的主角。2.2 SQL Server 2005简介SQL Server 是一个关系数据库管理系统,它最初是由Microsoft Sybase 和Ashton-Tate三家公司共同开发的,于1988 年推出了第一个OS/2 版本。在Windows NT 推出后,Microsoft与Sybase 在SQL Server 的开发上就分道扬镳了。Microsoft 将SQL Server 移植到Windows NT系统上,专注于开发推广SQL Server 的Windows NT 版本;Sybase 则较专注于SQL Server在UNIX 操作系统上的应用。在本系统使用的是Microsoft SQL Server ,以后简称为SQL Server或MS SQL Server。2.3 Visual Studio 2005简介Visual Studio 2005是基于.NET2.0框架的。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。这个版本的Visual Studio 包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的Visual Studio Express 版本。2.4 系统运行坏境为了保证系统稳定、良好、无故障的运行,应保证:1) 计算机硬件在586等级以上。2) 因为采用SQL Server 2000数据库,所以操作系统最低需要安装Windows 2000。系统要求操作系统为中文WIN2000,WINXP,WIN2003,WIN7。3) 装有Microsoft SQL Server 2000 SP4的补丁程序。4) 屏幕分辨率800X600以上。第3章 系统分析3.1 可行性分析随着超市商品的大量增加,其管理难度越来越大。在计算机技术飞速发展的今天,将计算机这一信息处理利器应用于超市的日常管理已是势所必然,于是,超市进销存管理系统便应运而生。这为超市管理带来前所未有的改变,同时为企业带来意想不到的经济效益和社会效益,这主要体现在以下几个方面:(1)极大的提高了超市工作人员的工作效率,避免了以往入出存流程繁琐、杂乱、周期长的弊端。(2)超市管理实现了操作自动化和信息电子化,全面提高了超市的管理水平。(3)基于超市管理的全面自动化,可以大大减少入库管理、出库管理及库存管理中的漏洞,可以节约大量管理开支,增加企业的收入。系统的可行性分析主要包括经济上的可行性、技术上的可行性和操作上的可行性。本系统的可行性分析如下:3.1.1 技术可行性从技术角度分析,这项开发工作所涉及的专业技术为:C#编程技术、、SQL Server2005、Visual Studio 2005。由于开发中涉及Microsoft SQL Server 20005的应用,所以最好使用Windows2000以上的版本或Windows XP版本。3.1.2 经济可行性由于本超市管理系统所要求的硬件(计算机及相关硬件)和软件环境(ASP.NET+SQL 2005),市场上都容易购买到或从相关网站下载,系统成本主要集中在本管理系统的开发与维护上,对超市不造成过重的经济负担。而一旦此系统投入使用,不仅可以减少超市的工作强度,提高工作效率,而且方便了超市对信息的管理,延续了传统的管理模式,极大限度的方便了超市管理人员,而且,目标系统不是很复杂,开发的周期较短,人员经济支出不大,所节省的大量人力、财力产生的效益将远远大于本管理系统的开发成本,所以从经济方面讲开发此系统是可行的。3.1.3 操作可行性超市作为一个商品资源的集散点,其主要功能就是对顾客开放购买的地方。传统的超市管理系统,一般有两种方式:一是手工管理,这种方式应用最传统的“笔纸操作系统”,将超市的货物信息、销售信息、厂商信息管理及单据管理等均以纯手工的形式进行,将信息以表格文件的表现形式记录在纸上,再进行统一保存。这种方式虽然在简单信息查询时会有一定的方便,但是存在着更多的不便:信息保存时间和条件很受限制、容易被损坏、信息查询不便、信息传达容易造成失误等。另一种是常见的信息管理方法是应用单机版的管理系统,但是这种系统设计时间较早,很多功能划分很不科学,很多设置已经跟不上时代需求了。但是超市管理人员已经有相当的应用经验,所以新的系统操作有一定的操作经验可以作一定的操作经验。本超市规模较大,信息管理经验丰富,单机版的超市管理系统做得较系统较到位,在超市信息处理方面做得很精准规范3.1.4 运行可行性超市管理系统的开发基于C/S模式,主要包括前端应用程序的开发以及后台数据库的建立和维护两个方面。对于前者要求应具备功能完备、易于使用等特点,而对于后者则要求能建立数据一致性和完整性强、数据安全性好的库。本系统拟采用ASP.NET和MS SQL 2005分别作为前端和后端的开发工具。ASP.NET(Java Server Page)是sun公司在Java基础下开发出来的实现了动态页面与静态页面的分离,脱离了硬件平台的束缚,以及编译后运行等方式大大提高了其执行效率而逐渐成为因特网上的主流开发工具。SQL 2005作为微软在Windows 系列平台上开发的数据库,一经推出就以其易用性得到了很多用户的青睐,相信大多数将自己的业务建立在Windows平台上的用户都会对它有相当的亲切感。区别于FoxPro、Sql 2005小型数据库,SQL 2005是一个功能完备的数据库管理系统。它包括支持开发的引擎、标准的SQL语言、扩展的特性(如复制、OLAP、分析)等功能。而像存储过程、触发器等特性,也是大型数据库才拥有的。因此从技术方面讲开发此系统是可行的。综上所述,本超市很有必要,也很有条件做到超市信息在线管理,以更贴近时代需求和超市发展需要。3.2 系统需求分析超市进销存系统必须提供顾客信息、厂家信息、采购信息、销售信息、库存信息和财务信息的基础设计:提供强大的精确查找和模糊查找信息的功能,可以分不同权限、不同用户对该系统进行操作。另外,该系统还必须保证数据的安全性、完整性和准确性。超市进销存管理系统的目标是实现超市信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升超市综合竞争力。时间就是金钱,效率就是生命。超市进销存管理系统能够为超市节省大量人力资源,减少管理费用,从而间接为超市节约成本,提高超市效率。3.2.1 职能分析通过与超市人员进行交流,发现超市管理系统需要满足来自多个不同用户的要求。在超市经营中,按照人员的职能分为五大类,分别是顾客、营业员、采购员、经理、系统管理员。顾客顾客是超市的上帝,超市的一切都是为顾客服务的!顾客的要求就是能购买到实惠的商品。顾客按类型又可以分为三种:1.普通顾客:购买商品(无积分,无须注册)2.会员:购买商品送积分,办会员卡免费,有充值功能!如果充值金额大于100,每充100元送5元,积分用于节日促销活动。3.贵宾:会员积分达到一定的数量时,可以转成贵宾卡,购买商品送更多的积分,有充值功能!如果充值金额大于100,每充100元送5元,积分用于节日促销活动。贵宾拥有更多的权利。采购员采购员的要求是查看经理指派给自己的所有采购信息并按规定完成任务,即去联系厂家并按规定验收采购的商品,并退回不合格的采购商品。修改自己的账号密码。营业员营业员的要求是销售商品给顾客,添加购物车信息、可以查看、查找、添加、修改顾客信息、但不可以删除顾客信息。并做好记录顾客因各种原因而退货的商品信息。修改自己的账号密码。经理经理的要求是能够查看1)采购、2)销售、3)库存、4)商品、5)营业额等信息从而进行高效决策,如:下达采购信息;添加删除用户,即雇佣和解雇职员。修改自己的账号密码。系统管理员系统管理员只具有管理用户和管理系统的权限,不具备所有用户的权限,即没有采购员、营业员、经理等角色的权限。修改自己的账号密码。3.2.2 功能分析通过与超市管理人员进行反复的讨论,最终确定系统应该实现以下功能:1) 对商品信息的变动进行处理在商品的采购和销售过程中,商品信息总是在不断变化的,比如商品价格的调整、商品信息的修改、新商品信息的增加以及旧商品信息的删除,因此设计系统时必须考虑到这些情况。商品信息有商品编号、商品名、商品数量、商品规格、商品价格、厂家名等属性。2) 对用户信息的变动进行处理需考虑到职员的雇佣和解雇、所以用户信息的修改及删除也是要有的。3) 对采购信息的变动进行处理采购员在采购的过程中采购信息也在不断发生改变,因此也要充分考虑。采购信息有采购编号、采购日期、商品厂家、采购员、商品价格、商品规格、商品数量等属性。4) 对销售信息的变动进行处理营业员在销售的过程中销售信息也在不断发生改变,如顾客买到了劣质产品要求退货,因此也要充分考虑。5) 查询及统计功能要求可以根据指定的条件对厂家信息、顾客信息、商品信息、采购信息、销售信息进行查询和对每天账务的收入支出进行统计查询!查询又分为精确查询和模糊查询。3.2.3 附加功能为了能当超市增加新的业务需求时能方便的升级系统,所以系统应当具有良好的扩张性。也需要能够与第三方产品对接,比如:与短信平台对接以提供短信发送和接收功能。与声讯系统对接,提供自动呼叫服务。与邮件系统对接以发送和接受邮件。第4章 系统设计根据系统分析的描述以及与超市人员的沟通,实现目标如下:l 界面设计简洁、友好、美观大方。l 操作简单、快捷方便。l 数据存储安全、可靠。l 信息分类清晰、准确。l 强大的查询功能,保证数据查询的灵活性。l 提供销售排行榜,为管理员提供真实的数据信息。l 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。l 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为的错误。进销存管理系统基本设计思路是把整个系统按照实现模块进行分解,利用当今流行的C#语言,基于Windows XP、 SQLServer2005、Visual Studio 2005为开发环境进行开发。本系统的结构是自顶向下扩展的,层次化的模块结构。对高层模块,将使用以事务为中心的设计策略,把一个复杂的系统逐步分解成较小的相对简单的模块;对低层模块,采用以变换为中心的设计策略。此外,为了提高模块的内聚性,降低模块间的偶合程度,数据库的设计原则是把它作为模块间的邮政信箱,从而既实现数据共享又提高模块的独立性,使系统具有很高的可修改性,系统采用C/S结构模型通过计算机局域网实现公司进销存业务数据的同步管理,其数据传递关系如图所示 图 数据传递关系下面,我们将从这两个方面对系统的设计进行阐述。4.1 数据库设计超市进销存管理系统是一个基于C/S架构的应用程序,它可以直接在本地计算机上运行,而不需要向Web应用那样部署到指定的服务器中。所以这个超市进销存管理系统在本地计算机上安装了SQL Server 2005数据库服务器,将数据库和应用程序放在同一个计算机中,可以节省开销、提升系统安全性。另外,本系统也可以在网络内的其他计算机中运行,但是这需要将数据库对外开放、会降低数据安全性,其数据库运行环境如下: 硬件平台: CPU:Inter E2180 2GHz 内存:2GB 硬盘空间:160GB 软件平台: 操作系统:Windows XP SP3 数据库:SQL Server 2005超市进销存管理系统的数据库设计采用关系数据模型理论,有关系的元素组成一张表,表与表之间用外键保持一致性,用主键的方式确保记录的唯一性。涉及的表有充值表、顾客表、厂家表、商品表、日志表、财务表、退货表、销售表、购物车表、采购表和用户表共十一张表。超市管理系统模块分为:登录模块、顾客管理模块、厂家管理模块、商品管理模块、退货管理模块、购物车管理模块、采购管理模块、个人管理模块、管理员管理模块和系统管理模块共十大模块。为了方便数据库的设计,缩小开发周期,我用Excel软件把表都设计好,然后自动生成数据库的建表SQL语句。在对数据库进行访问时我用到了MVC设计模式中DAO(Data Access Object)技术封装对数据库的查询、删除、插入等各种操作,这样提高数据库访问的透明性和系统的灵活性。4.1.1 E-R图超市进销存管理系统主要实现从进货、退货、库存到销售的一体化信息管理,涉及到了顾客信息、厂家信息、商品信息等多个实体。下面简单介绍几个关键的实体E-R图。顾客实体E-R图超市进销存管理系统将记录所有的顾客信息,顾客实体包括顾客编号、顾客姓名、顾客性别、顾客年龄、顾客联系电话、顾客联系地址、顾客电子邮箱、顾客类型、顾客可用余额、顾客可用积分等属性,顾客E-R图如图1所示。顾客编号顾客顾客姓名顾客性别顾客年龄顾客联系电话顾客联系地址顾客电子邮箱顾客类型顾客可用余额顾客可用积分图1厂家实体E-R图超市进销存管理系统将记录所有的厂家信息,厂家实体包括厂家编号、厂家名称、厂家负责人、厂家联系电话、厂家地址等属性,厂家E-R图如图2所示。厂家编号厂家厂家名称厂家负责人厂家联系电话厂家地址图2商品实体E-R图超市进销存管理系统将记录所有的商品信息,商品实体包括商品编号、商品名称、商品数量、商品规格、商品价格、商品厂家名等属性,商品E-R图如图3所示。商品编号商品商品名称商品数量商品规格商品价格商品厂家名图34.1.2 使用EXCEL建模在数据库概念设计中已经分析了本系统中主要的数据实体对象,通过这些实体可以得出数据表结构的基本模型,最终实施到数据库中,形成完整的数据结构。本系统使用EXCEL工具完成数据库建模,使用的版本为12.5。使用该工具生成的模型如图4下:图4 超市进销存管理系统的模型4.1.3 数据字典表1 充值表表名数据表说明t_addmoney存储充值信息的数据表字段名称数据类型是否主键字段说明AddMoneyIDint(自增序列)是充值编号,顾客记录的唯一标识BuyerIDint顾客IDBuyerNamevarchar(20)顾客名AddMoneyfloat充值DonateMoneyfloat赠送AddMoneyDatedatetime时间UserNamevarchar(20)用户名Balancefloat卡内余额表2 顾客表表名数据表说明t_buyer存储顾客信息的数据表字段名称数据类型是否主键字段说明BuyerIDint(自增序列)是顾客编号,顾客记录的唯一标识BuyerNamevarchar(10)顾客姓名BuyerSexvarchar(4)顾客性别BuyerAgeint顾客年龄BuyerPhonevarchar(20)顾客联系电话BuyerAddressvarchar(50)顾客联系地址BuyerEmailvarchar(20)顾客电子邮箱BuyerTypeint顾客类型为0表示普通顾客,为1表示会员,为2表示贵宾BuyerBalancefloat顾客可用余额BuyerScoreint顾客用用积分表3 厂家表表名数据表说明t_factory存储厂家(供货商)信息的数据表字段名称数据类型是否主键字段说明FactoryIDint(自增序列)是厂家编号,厂家记录的唯一标识FactoryNamevarchar(20)厂家名称FactoryManagervarchar(10)厂家经理(负责人)FactoryPhonevarchar(10)厂家联系电话FactoryAddressvarchar(50)厂家地址表4 商品库存表表名数据表说明t_goods存储商品信息的数据表字段名称数据类型是否主键字段说明GoodsIDint(自增序列)是商品编号,商品记录的唯一标识GoodsNOvarchar(20)商品条形码编号GoodsNamevarchar(10)商品名称GoodsNumint商品数量GoodsTypevarchar(10)商品规格GoodsPricefloat商品价格FactoryNamevarchar(20)商品厂家名表5 日志表表名数据表说明t_money存储日志信息的数据表字段名称数据类型是否主键字段说明LogIDint(自增序列)是日志编号,日志记录的唯一标识LogDatedatetime日志日期IpAddressvarchar(20)IP地址UserNamevarchar(20)用户名LogContentvarchar(20)日志内容表6 财务表表名数据表说明t_money存储财务信息的数据表字段名称数据类型是否主键字段说明MoneyIDint(自增序列)是财务编号,财务记录的唯一标识UserNamevarchar(20)用户名MoneyBalancefloat金额MoneyContentvarchar(50)内容MoneyDatedatetime日期表7 退货表表名数据表说明t_quitgoods存储退货信息的数据表字段名称数据类型是否主键字段说明QuitGoodsIDint(自增序列)是退货编号,退货记录的唯一标识GoodsIDint退货商品IDQuitReaseontext退货原因QuitGoodsTypeint退货类型为0表示销售退货,为1表示采购退货QuitGoodsNumint退货数量UserNamevarchar(20)用户名表8 销售表表名数据表说明t_sell存储销售信息的数据表字段名称数据类型是否主键字段说明SellIDint(自增序列)是销售编号,销售记录的唯一标识UserNamevarchar(20)用户名BuyerNamevarchar(20)顾客名ShopCarIDvarchar(50)购物车IDGoodsNumint数量TotalMoneyfloat总金额GetMoneyfloat实收金额PayMoneyfloat找零金额SellDatedatetime销售日期表9 购物车表表名数据表说明t_shopcar存储购物车信息的数据表字段名称数据类型是否主键字段说明ShopCarIDvarchar(50)是购物车编号,前面是XX-XX-XX(日期)后面是四位销售流水号GoodsIDint商品IDGoodsNamevarchar(10)商品名称GoodsTypevarchar(10)商品规格BuyGoodsNumint购买数量GoodsPricefloat商品单价BuyerNamevarchar(20)顾客名UserNamevarchar(20)用户名表10 采购表表名数据表说明t_stock存储采购信息的数据表字段名称数据类型是否主键字段说明StockIDint(自增序列)是采购编号,采购记录的唯一标识GoodsIDint商品IDUserIDint用户IDFactoryIDint厂家IDStockDatedatetime采购日期StockPricefloat采购价格SellPricefloat销售价格=采购价格*1.25表11 用户表表名数据表说明t_user存储用户信息的数据表字段名称数据类型是否主键字段说明UserIDint(自增序列)是用户编号,用户记录的唯一标识UserNamevarchar(10)用户登陆系统时所用的用户名称UserPwdvarchar(20)用户密码UserPhonevarchar(20)用户联系电话UserAddressvarchar(50)用户联系地址UserTypeint用户类型为0表示管理员、为1表示经理、为2表示营业员、为3表示采购员4.2 功能模块设计根据以上对超市管理系统数据库的分析,一个标准的超市进销存管理系统应该实现的主要的功能模块有:登录模块、采购管理模块、退货管理模块、商品信息管理模块、购物车管理模块、用户管理模块、顾客管理模块、厂家管理模块、统计管理模块、管理员管理模块。(共十大模块)下面对这些功能模块作下简单的介绍。登录模块用于验证用户的登录。不同的用户成功登录后显示的窗体是不一样的。这是每个系统都应该具有的功能,在这里我要特别的介绍一下了。别小看了一个普通的登录模块,它包含的用户需求可以是有几十条的。比如:用户不能重复登录,输入三次密码错误后,应该锁定用户的账号,记住密码功能等等。顾客管理模块这个模块用于维护顾客的资料。系统中顾客分为三种:贵宾、会员、普通顾客。类型为0表示普通顾客,为1表示会员,为2表示贵宾,系统默认有一个BuyerID为0的普通顾客。其都有如下几个基本信息:顾客ID、顾客名、性别、年龄、地址、电话、E-mail、顾客类别。顾客的信息是超市一个很重要的市场资源、必须持久性的保存到数据库中,同时为了数据的安全性,应定期将数据备份到其他介质上保存或把数据打印成资料保管起来。顾客管理包括:增加顾客、删除顾客、修改顾客、查询顾客。为了方便,加入了准确查询和模糊查询。厂家管理模块这个模块用于维护厂家的资料。系统中厂家有如下几个基本的信息:厂家ID、厂家名称、厂家经理、厂家联系电话、厂家地址。厂家的信息也是超市的一个很重要的信息,所以必须是管理员或经理才能查看。同时为了数据的安全性,应定期将数据备份到其他介质上保存或把数据打印成资料保管起来。厂家管理模块包括:增加厂家信息、删除厂家信息、修改厂家信息、查询厂家信息。为了方便,加入了准确查询和模糊查询。商品管理模块这个模块用户维护商品的资料。当超市中出现了由于商品价格定价过高而导致商品不畅销的商品时,可以更新商品的价格信息。系统中商品都有如下几个基本信息:商品ID、商品名称、商品数量、商品规格、商品价格、商品厂家名。商品信息管理包括:更新商品信息、查询商品信息。为了方便,加入了准确查询和模糊查询。退货管理模块用于对采购了问题产品而退货和顾客购买了问题产品而退货的信息进行登记。采购员对应采购退货,工作流程:对超市的采购退货记录进行详细记录。营业员对应销售退货,工作流程:对超市的销售退货记录进行详细记录。为了方便,加入了准确查询和模糊查询。购物车管理模块用于营业员管理超市的销售业务,其主要功能是让营业员进行销售信息的添加及查询。为了让经理和系统管理员了解销售情况!购物车管理模块工作流程是:营业员先扫描顾客购物车里面的商品,然后确定顾客是普通顾客还是会员,是付现金还是刷卡,最后打印出销售小票。并把销售记录进行详细的记录。为了方便,加入了准确查询和模糊查询。采购管理模块用于采购员管理超市的采购业务,其主要功能是完成超市采购信息的添加及查询。工作流程是:经理通过查看超市的销售状况和对库存进行盘点,对库存不足的商品进行采购,并下达采购信息,指派给相对应的采购员去完成,采购员则接受经理的命令,去厂家采购商品,并验收入库,还要对超市的采购记录进行详细记录。为了方便,加入了准确查询和模糊查询。个人管理模块用户系统用户修改自己的账号密码和修改自己的个人信息。不同的用户只能够修改自己的密码和个人信息。提高了系统的安全性和准确性。个人管理模块还有换班管理以及局域网聊天子系统等功能,方便用户的特殊需求,如超市职工需请假,则可以通过换班管理,和其他人交接班,以方便超市的正常运转。局域网聊天是为了经理给超市职工下达通知以及超市职工向经理汇报情况等提供方便,提高工作效率,异地协同办公。管理员管理模块用于给系统分配登录用户。不同的用户具有不同的权限,权限管理可以提高系统的安全性。系统用户分为四种级别的用户,系统管理员、经理、营业员和采购员。其都有如下几个基本信息:用户ID、用户名、用户密码、用户电话、用户地址、用户类别。系统默认有一个系统管理员admin,密码设置为admin,系统管理员能够操作系统中所有的功能。用户管理包括对经理、营业员、采购员等用户进行添加和删除等管理。工作流程:1、负责系统登录用户的管理。为了方便,加入了准确查询和模糊查询。系统管理模块系统管理是软件最基本、最重要的信息。其包含有查看系统日志、查看销售信息、查看充值信息和收入支出统计等功能。查看系统日志要求对该系统的使用情况进行记录,如何时何地何人使用过该超市进销存管理系统,以及对重要信息的增删改进行记录,方便经理进行查阅。查看销售信息、查看充值信息和收入支出统计等功能模块用于管理员或经理了解超市的经营情况,从而做出重要性的高校决策。提高管理效率!4.3 输入输出设计及实现运行该系统出现登录窗体,如图5所示。图5关键代码如下:public class Login private JTextField userNameField;private JTextField userPwdField;private JButton confirmBtn;private JButton cancelBtn;private JFrame loginFrame;/* * 初始化窗体并给按钮添加监听事件 */public void init() initFrame();/ 给窗口添加监听事件/ 接收窗口事件的抽象适配器类(匿名内部类)loginFrame.addWindowListener(new WindowAdapter() Overridepublic void windowClosing(WindowEvent e) System.exit(0);/ 关闭窗口时调用System.exit(0)关闭Java虚拟机);/ 给登录按钮添加监听事件confirmBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) String userName = userNameField.getText();String userPwd = userPwdField.getText();if (userName.equals() & userPwd.equals() JOptionPane.showMessageDialog(null, 用户名或密码不能为空!);return; else if (new UserDAO().judge(userName, userPwd) /将用户登录情况写入系统日志new Common().addLog(userName, 登录系统);loginFrame.setVisible(false);new MainManage(userName).init(); else JOptionPane.showMessageDialog(null, 用户名或密码错误!););/ 给取消按钮添加监听事件cancelBtn.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) System.exit(0););/ 给密码文本框添加监听事件userPwdField.addKeyListener(new KeyListener() public void keyPressed(KeyEvent e) if (e.getKeyCode() = 10) / 返回与此事件中的键相关联的整数 keyCode。String userName = userNameField.getText();String userPwd = userPwdField.getText();if (userName.equals() & userPwd.equals() JOptionPane.showMessageDialog(null, 用户名或密码不能为空!);return; else if (new UserDAO().judge(userName, userPwd) / 将用户登录情况写入系统日志new Common().addLog(userName, 登录系统);loginFrame.setVisible(false);new MainManage(userName).init(); else JOptionPane.showMessageDialog(null, 用户名或密码错误!);public void keyReleased(KeyEvent e) public void keyTyped(KeyEvent e) );/* * 初始化窗体 */private void initFrame() loginFrame = new JFrame(登录超市进销存管理系统);/ 设置窗口的显示位置和大小loginFrame.setBounds(400, 300, 380, 300);/ 设置窗口的大小固定loginFrame.setResizable(false);/ 设置窗口的布局格式loginFrame.setLayout(null);/ 添加图片 Icon icon = new ImageIcon(resabout2.jpg);JLabel aboutLabel = new JLabel(icon);/ 创建具有指定图像的/ JLabel实例。该标签在其显示区内垂直和水平居中对齐。aboutLabel.setBounds(0, 0, 380, 150);loginFrame.add(aboutLabel);/ 添加用户名JLabel userNameLabel = new JLabel(用户名:);userNameLabel.setBounds(5, 155, 60, 20);loginFrame.add(userNameLabel);userNameField = new JTextField();userNameField.setBounds(70, 155, 300, 20);loginFrame.add(userNameField);/ 添加密码JLabel userPwdLabel = new JLabel(密码:);userPwdLabel.setBounds(5, 180, 60, 20);loginFrame.add(userPwdLabel);userPwdField = new JPasswordField();userPwdField.setBounds(70, 180, 300, 20);userPwdField.setFocusable(true);loginFrame.add(userPwdField);confirmBtn = new JButton(登录);confirmBtn.setBounds(70, 220, 60, 20);loginFrame.add(confirmBtn);cancelBtn = new JButton(取消);cancelBtn.setBounds(220, 220, 60, 20);loginFrame.add(cancelBtn);loginFrame.setVisible(true);public static void main(String args) / TODO Auto-generated method stubnew Login().init();输入用户名、密码后进入超市进销存管理系统主窗体界面如下图所示。图6选择“购物车管理”/“添加购物车信息”按钮,在弹出的窗体中进行对销售信息的操作。如下图所示。图7关键代码实现:public void init() initFrame();/ 给窗体添加监听事件shopCarManageFrame.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) shopCarManageFrame.setVisible(false););/ 给商品ID文本框添加监听事件,敲入商品ID后回车得到商品的基本信息goodsIDField.addKeyListener(new KeyListener() public void keyPressed(KeyEvent e) if (e.getKeyCode() = 10) / 返回与此事件中的键相关联的整数 keyCode。if (goodsIDField.getText().trim().equals()| new Common().isLetter(goodsIDField.getText().toString().trim() JOptionPane.showMessageDialog(null, 请输入正确的商品ID!); else con = DBConn.getConn();String sql = select * from t_goods where goodsID = ?;try int goodsID = Integer.parseInt(goodsIDField.getText().trim();ps = con.prepareStatement(sql);ps.setInt(1, goodsID);rs = ps.executeQuery();if (rs.next() goodsNameField.setText(rs.getString(GoodsName);goodsPriceField.setText(rs.get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论