超市销售管理系统设计与实现毕业论文_第1页
超市销售管理系统设计与实现毕业论文_第2页
超市销售管理系统设计与实现毕业论文_第3页
超市销售管理系统设计与实现毕业论文_第4页
超市销售管理系统设计与实现毕业论文_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、 . 超市销售管理系统设计与实现学生: xxx指导教师:xxx所在院系:xxx所学专业:xxx研究方向:xxxxxx大 学Supermarket sales management systemName:xxxTutor:xxxCollege:xxxMajor:xxxDirection:xxxxxxUniversityxxxxxx 摘 要一直以来人们使用传统人工的方式管理超市的各项工作,这种管理方式存在着许多缺点,如:效率低、性差,另外时间一长,将产生大量的冗余文件和数据,这给查找和统计等工作带来了很大的困难。随着超市规模的发展,商品数量的急剧增加,有关商品的各种信息量也成倍增长,传统的人工记忆

2、方式也慢慢的无法适应形势的变化。只有采用智能化现代化的管理手段才能适应时代的潮流,在计算机技术迅速发展的今天,将计算机技术应用到超市的管理中将极大的改善超市的管理水平。本文就是基于以上的背景,提出了基于B/S模式的超市销售管理系统。通过本系统可以实现超市智能化高效化的管理。本系统根据超市的实际运营流程来设计实现,主要包括商品销售模块、采购进货模块、库存管理模块,此外还提供了系统管理和财务管理两个模块实现了对本系统的管理和超市运营状况的全面分析,用户根据它们即可维护系统和了解超市当前的运营状况。本文从系统需求、系统设计到系统开发环境搭建和功能实现等多个方面做了全面的研究和分析。首先分析了当前超市

3、行业的管理状况,然后从经济和技术等各个方面分析了开发本系统的可行性,接下来进行系统设计从功能设计和数据库设计两个方面做了详细分析,最后以不同用户类型的功能权限作为主线介绍了系统的实现并作出了系统测试。通过本文即可全面了解本系统。本系统基于B/S结构,应用MyEclipse开发平台,采用JSP语言和ExtJS框架,并以Tomcat作为服务器Mysql作为数据库进行开发的。关键词 超市销售管理;B/S;ExtJS;MVC;JSPAbstractHas been the work of the traditional manual way to manage small supermarket, t

4、his management approach has many shortcomings, such as: low efficiency, poor security, the other over time, will produce a lot of redundant files and data, which givesFind and statistical work has brought great difficulties. With the development of small supermarket scale, the number of commodities

5、increase sharply, about a variety of goods the amount of information doubling the traditional artificial memory Only intelligent modern management tools in order to adapt to the trend of the times, the rapid development in computer technology today, the application of computer technology to the supe

6、rmarket management will greatly improve the management level of the supermarket.This article is based on the above background, a small supermarket management system based on B / S mode. Small supermarket intelligent and efficient management can be achieved through this system. The system is designed

7、 and implemented based on the actual operational processes of the supermarket, including merchandise sales module, purchase module procurement, inventory management module, in addition also provides two modules of the system management and financial management to achieve comprehensive management of

8、the system and supermarket operator status analysis, the user they can maintain the current operational status of the system and understanding of the supermarket. First analysis of the current management situation of small supermarket industry, and then from the other aspects of economic and technic

9、al analysis of the feasibility of developing the system, followed by a detailed analysis of system design from the two aspects of functional design and database design, and finally to the different the functional competence of the user type as the main line of the realization of the system and make

10、the system test. Through this article can be a comprehensive understanding of the system.The system is based on B / S structure, application MyEclipse platform tools, using the JSP language and ExtJS framework and Tomcat as the server Mysql as the database developed.Keywordssmall supermarket managem

11、ent; B/S; ExtJS; MVC; JSP42 / 49目 录绪论11 系统概述21.1 系统背景介绍21.2 系统功能概述21.3 系统开发环境31.3.1 开发环境介绍31.3.2 开发环境搭建31.3.3 系统实现模式32 可行性分析和需求分析52.1 可行性研究52.1.1 经济可行性52.1.2 技术可行性52.2 系统需求分析52.2.1 功能需求分析52.2.2系统性能需求63 系统设计73.1 系统功能设计73.1.1 总体设计73.1.2 详细设计83.2 系统用例分析93.2.1 用例分析93.2.2 用例详细说明103.3 数据库需求分析113.4 创建数据库15

12、4 系统实现204.1 销售员功能模块实现204.1.1 登录模块的实现204.1.2 商品销售模块的实现224.2 管理员功能模块实现254.2.1 系统管理模块的实现254.2.2 商品进货模块的实现284.2.3 商品库存模块的实现304.2.4 财务管理模块的实现325 系统测试355.1 测试方案355.2测试用例355.2.1测试环境355.2.2测试方案355.3测试结果36结束语37致38参考文献39绪 论随着人们生活水平的不断提高,消费的日益增长,越来越多的人选择了方便快捷的超市购物,超市的信息量也不断增长,所以作为超市的管理人员就需要有一个自动化、智能化的管理系统来完成这些

13、信息的处理。由此我们设计开发超市销售管理系统。目前市场上的超市销售管理系统,大部分为基于分布式数据库的网络管理系统,对于规模较小的超市没有必要花巨资来购买这样功能全面的管理系统。此外,对于那样功能齐全的管理系统也需要花大精力来维护。基于这种情况,我们用所学的知识,可以开发一种既能节约资金,又能完成超市日常的销售管理任务的系统。本系统所包括的功能模块主要有:用户登录模块,它是系统的初始界面,用户必须登录才可以进行相应操作,登录时系统会自动根据用户的权限给予相应的管理主界面。财务管理模块,此模块可以根据用户设定的时间段查询超市的总体营业状况与销售、进货等方面的运作状况。商品销售模块,此模块可以销售

14、商品和盘点当日销售情况。商品进货模块,此模块可以进购商品和盘点当日进货情况。商品库存模块,此模块可以查看库存信息,进行库存商品的损溢操作等。系统管理模块,此模块可以设置系统信息,设置商品、供货商、用户等基础信息,还可以查看系统日志等。在系统的安全性方面,超级管理员可以登录到任何一个管理模块,能够添加和删除其他账户,改变任意一个账户的密码,设定账户的操作权限。普通用户只能根据自己的权限进入相应的管理模块进行对应的操作。通过这样的权限限制就可以方便的控制系统的安全性。总之,超市销售管理系统是一个经济、实用的应用软件,适合小规模的商店和超市。操作难度小,易学易用。可以大提高超市的运作效率。1 系统概

15、述1.1 系统背景介绍超市形式在我国于20世纪90年代初期起步,现在已经成为我国零售业的一种重要形态。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售业的发展,这样就迫切地需要引入新的管理技术。超市形态具有种种优点,但在目前状况下,它仍存在零售业企业所共有的落后的一面,如:不能有效地管理每种商品,收款结算速度慢,容易出现营业差错,不宜进行商品调价,盘点效率低等,而且在超市日常管理中,商品的进、销、存等决策以经验为主,缺乏实时分析功能,管理人员对与时传递资料的要求始终得不到满足。随着超市形态的高速发展,其经营管理也变得愈加复杂,日常所需要处理的数据量也逐

16、渐增大,商业运转的中间环节也越来越多,原始的人工管理已无法应对这复杂的市场。在这样的背景下,只有依靠现代化的计算机信息处理技术来管理超市,从而节省出大量的人力、物力,改善员工的工作条件,减轻劳动强度,快速反映出商品的进、销、存等状况和各种反馈信息的分析,才能够使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。1.2 系统功能概述针对行业的发展现状,综合应用所学知识,设计超市销售管理系统。本系统可以实现销售、采购、仓储等超市基本业务的综合销售管理,还可以实现财务的综合统计,为超市的现代化管理提供便利、可靠的保障。根据不同的业务流程,将系统进行不同的功能模块划分,每个模块各司其职,完

17、成各自的业务管理任务。如商品销售模块可以进行商品的销售和盘点当日的销售信息等,财务管理模块可以查询超市的综合营业状况,查询销售和进货的状况等。它们互相之间共享营业数据,各自又有不同的展现和用户接口形式。体现了功能的灵活实现。1.3 系统开发环境1.3.1 开发环境介绍本系统使用MyEclipse作为开发工具,使用Tomcat为服务器,使用Firefox为默认浏览器。开发前需要首先安装JDK以支持环境的搭建。因为系统要使用ExtJS这个JS框架,开发前首先在MyEclipse中安装插件Spket,以更好的支持ExtJS开发。在Firefox中安装组件Firebug调试工具,它在开发调试JavaS

18、cript过程中十分便利。1.3.2 开发环境搭建(1)安装JDK以支持Java开发环境,整合MyEclipse和Tomcat服务器,有一个统一便利的集成开发环境。(2)在MyEclipse中安装插件Spket,它是一款全面支持JavaScript的免费开发工具,其体积小巧,它就像是为EXT量身定做的一样。插件Spket安装后默认没有提供对EXT的支持,我们需要将EXT库添加到列表中,并将其设为默认。这样在开发ExtJS的时候可以有相应提示。(3)浏览器Firefox对ExtJS的支持很好,我们使用它作为默认浏览器。Firebug是它的一个组件,它用于调试JavaScript相当方便,它可以显

19、示动态生成的DOM,甚至可以在Firebug里直接对DOM进行修改,而这些修改会反映到显示页面上。Firebug可以查看Ajax方式发送和接收的各种信息,还可以查看发送的参数以与返回的状态和信息。Firebug安装相当简单,在Firefox中搜索,在网页中点击安装即可。1.3.3 系统实现模式本系统采用B/S结构,使用JSP/Servlet技术,前台使用RIA富客户端的ExtJS框架,整体上采用MVC模式来实现。下面详细介绍这些概念。(1) 在网络程序中,有C/S结构和B/S结构之分,其中C/S是客户端(Client)/服务器(Server)模式,这种模式的客户端中需要安装一个客户端软件,客户

20、端软件负责与服务器进行数据交换。B/S是浏览器(Browser)/服务器(Server)模式,客户端只要有一款浏览器就可以和服务器实现数据交互,Web应用程序就是B/S模式。(2) JSP全称是Java Server Pages,是由Sun Microsystems公司倡导、众多公司参与开发建立的一种动态网页技术标准。JSP技术以Java语言作为脚本语言(Java是一种成熟的跨平台的程序设计语言)。JSP具有非常突出的开放性、跨平台性和高效性。Servlet是一种Java编程语言类,用来扩展通过响应请求编程模型服务应用程序访问的服务器功能。尽管Servlet能够响应任何类型的请求,但是它们一般

21、用来扩展由服务器支持的应用程序。(3) ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。其无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品。本系统使用ExtJS实现了One Page, One Application即一个页面就是一个应用。(4)本系统采用MVC结构设计模式。MVC架构是Model View -Controller的缩写,中文翻译为模型-视图-控制器。MVC应用程序总是由这三个部分组成。Event(事件)

22、导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。模型是应用程序的主体部分,表示业务数据和业务逻辑。数据模型主要指实体对象的数据保存(持续化)。业务模型实现应用程序的业务逻辑,比如将一订单保存到数据库,从数据库获取订单。一个模型能为多个视图提供数据。视图是用户看到并与之交互的界面,向用户显示有关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不

23、能改变模型,它还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。控制器接受用户的输入并调用模型和视图去完成用户的需求。如当用户单击页面中的提交按钮来发送表单容时,控制器接受请求并调用相应的模型组件去处理请求,然后更新相应视图来显示模型返回的数据。控制层在数据和应用客户之间担当一个调节者,它实现了业务逻辑的控制,并且响应客户端和数据层之间的交换,它接受客户端的请求,将请求转发到系统服务,并把系统服务返回的结果返回到客户端。模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何

24、时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。2 可行性分析和需求分析2.1 可行性研究可行性研究(Feasibility Study),是指在调查的基础上,通过市场分析、技术分析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综合评价。2.1.1 经济可行性作为超市的销售管理系统,由于其数据量相对较小,并且在数据处理上不是很复杂,所以从项目开发的角度来说其开发周期会比较短,它的开发成本不会很高。由于系统数据量相对较少,从系统运行的角度来看,对计算机的性能要求相对来说也不是很高,所以在其管理上所需费用要相对较少。

25、从本系统的投入费用、收益、投资回报周期等方面来看,本系统都是可行的。2.1.2 技术可行性随着互联网的迅速发展,基于Internet的B/S架构应用程序逐渐被人们所关注。基于JAVAEE规的系统设计实现已经非常成熟。能够很好的实现B/S架构的软件。无论是从经济方面还是从技术方面分析的情况上都可以看出,开发超市销售管理系统,实现超市销售管理的计算机化是非常必要的,也是可行的。因为使用计算机化的超市销售管理系统可以很好的改变目前超市销售管理工作的现状,能够提高工作效率。2.2 系统需求分析所谓“需求分析”,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最

26、后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”。2.2.1 功能需求分析根据超市的实际运营情况进行分析,通常它们没有独立的仓库,进货和销售商品都是在同一场所完成,在此,我们即按照这一实际的情况进行系统设计。超市的基本业务状况有销售、进货、库存等,此外系统中还要设置商品、用户、权限等必要的系统信息,还可以查看超市运行财务状况。根据超市的业务流程,必须要设计实现的模块有商品销售模块,以实现商品销售的基本业务。采购进货模块,以实现商品采购进货的基本业务。库存管理模块,实现商品的综合管理业务。此外可以添加辅助功能模块,系统管理和财务管理,分别实现对系统的维护和超市营业状况

27、的分析查询。2.2.2系统性能需求实用性:方便可快捷的实现商品在销售、采购和库存等方面的信息操作。整个系统实现商品信息的统一编码,并由系统管理员集中管理,可以促进系统管理员的工作效率,并有效减少成本和繁琐的工作量。易操作性:本系统在销售、商品管理等重要环节,不需输入任何复杂的信息,管理员只需通过浏览器便可进行数据的录入、查询和修改等工作。适应性:该系统对于软硬件要求并不是趋于高档,能实现广泛应用。本系统是B/S模式,可以实现同时让多个用户访问和操作。同时支持动态添加基本信息,增加的商品供货商等都可以随时添加。易维护性:可以方便的维护系统,可以使用工具导出数据库数据,清空阶段性数据。实现系统数据

28、处理的轻负荷。安全性:系统采用不同的权限级别,不同的用户有不同的操作权限,实现了很好的安全认证。3 系统设计3.1 系统功能设计 超市系统功能的设计首先进行总体设计说明系统功能设计的设计思想和设计原则,在根据总体设计做详细的功能模块设计。实现一体化的设计思路。3.1.1 总体设计(1)设计思想:(1)系统分成几个相对独立的模块,但这些模块都进行集中式管理。每个模块都可以完成自己特定的功能,如财务、销售、进货等等。(2)分层的模块化程序设计思想,整个系统采用模块化结构设计。作为应用程序有较强的可操作性和扩展性。如程序中操作数据库时,在Util层中获取数据库连接,在DAO层中操作数据库完成CRUD

29、操作。这样使程序层次结构分明,便于维护拓展。(3)合理的数据流设计,在应用系统设计中,相对独立的模块间以数据流相互连接,使各模块间的耦合性较低,方便系统运行,提高系统安全性。(2)设计原则:为了使本系统功能齐全完备,操作简便,最大限度的提高软件的质量,从而满足用户的实际需要,在设计开发过程中遵循如下原则:(1)合法性原则:依据小型超市实际的工作情况,进行诸如商品进货、销售等工作。(2)实用性原则:适合商品信息管理工作的实际需求,并能够处理一些特殊情况的要求,此外,尽可能预留空间,以便扩充功能。(3)准确性原则:对输入的相关资料建立检错机制,与时报错,使用户能够与时准确的输入合法资料(如:类型匹

30、配,长度不超限等)。(4)易操作原则:要求设计的系统功能齐全,接口友好,操作方便,必要的地方进行提示。(5)安全性原则:该系统的管理员具有可设置登录账户,修改密码的权限,不同的用户类型有不同的操作权限。3.1.2 详细设计本系统除了登录模块外,主页中共实现五个完整的功能模块,分别是财务管理、商品销售管理、商品进货管理、商品库存管理和系统管理。系统根据不同的用户角色又有不同的功能模块体现,其中销售人员的功能结构图如图3-1所示:图3-1 销售人员功能结构图管理员的对应的系统功能结构图,如图3-2所示。图3-2 系统功能结构图财务管理模块包括营业综合统计、收银报表查询、结账单据查询、进货报表查询、

31、进货单据查询。财务管理模块中可以根据设定的时间段,查询对应的营业信息。商品销售模块包括销售商品、今日盘点。商品销售模块中系统自动将所有商品按照类别分类显示,销售人员可以选定商品或直接输入商品编号进行销售操作,此外还可以查看当日盘点信息。商品进货模块包括采购进货、今日盘点。商品进货模块中也会自动显示所有商品,采购人员可以选定商品进行采购操作,还可查看当日进货盘点信息。商品库存模块包括库存预警、库存信息查询、损溢处理、损益查询。商品库存模块中可以查看库存预警,查看库存的详细信息。进行库存的损溢操作,查看损益信息等。基于超市运营的实际情况并不设置商品出库的功能。系统管理模块包括用户设置、商品管理、供

32、货商管理、商品类别管理、员工管理、权限管理、登录日志、系统信息。系统管理模块中可以设置用户信息,商品、商品类别、供货商等信息。可以添加员工并设置员工的权限。系统会自动查询出登录日志和设定的系统信息并做出相应展现。管理员可以添加账户类型,并设置相应的权限。3.2 系统用例分析 对系统做角色用例分析,这样可以很好地体现系统各个模块的设计思路,体现系统功能模块设计的必要性。3.2.1 用例分析用例分析是干什么用的呢?要说明这个问题,我们看看下面几个概念。角色(Actor)是与系统交互的人或事。所谓与“系统交互”指的是角色向系统发送消息、从系统中接收信息,以与在系统中的信息交换。使用用例与系统互相交流

33、的任何人或事都是角色。比如,某人使用系统中提供的用例,则该人就是角色。用例是对包括变量在的一组动作序列的描述,系统执行这些动作,并产生可观察到的系列结果。我们可以这样通俗的理解,用例是参与者想要系统做的某件事情。根据用例和角色的概念,通过对超市销售管理系统需求的了解,可以得到如图3-3所示的分析结果:图3-3 系统用例图在图3-3中像人一样的图形就是角色,通过对超市销售管理系统的需求分析可知系统默认有管理员角色,管理员拥有所有系统权限,它可以添加其他用户和设置其权限;图中椭圆代表的是用例(这里分析的是系统整体上的功能);中间的箭头将角色与用例连接起来,代表的是对应的角色可以使用的用例,有一个箭

34、头就代表对应的角色可以使用用例,没有箭头则表示对应的角色不能使用该用例。3.2.2 用例详细说明光有用例分析是不够的,用例只是程序的功能界定,需求概述也仅仅对每个功能提了个名字,想要实现系统的功能还必须知道每个功能的详细容,深入了解用户在完成系统的某个功能时需要做些什么事。下面就让我们来看看图中用例的详细说明。(1)系统登录所有的用户都可以登录,系统会自动加载与其权限对应的主界面。(2)财务管理可以根据设定的时间段查看超市整体的营业状况,查看这一时间销售或进货的报表,查看某一结账单据的详细等等。(3)商品销售可以输入商品编号或商品树中选择商品,进行销售商品的操作,盘点当日的销售状况。(4)采购

35、进货可以输入商品编号或商品树中选择商品,进行采购商品的操作,盘点当日的采购状况。(5)商品库存查看库存预警,商品少于一定数量则自动显示在预警页面中。查看库存详细信息。进行库存商品的损溢操作,查看损溢信息等。(6)系统管理设置系统运行的必要信息,添加商品、商品类别,供货商信息,添加员工设置权限,查看登录日志,查看系统信息等。3.3 数据库需求分析数据库在一个系统中占有非常重要的地位,数据设计的优劣将直接对应用系统的效率以与实现的效果产生影响。合理的数据库结构设计可以提高数据存取效率,保证数据完整性和一致性,从而有利于程序的实现。设计数据库系统时应该首先充分了解系统需求的各个方面的需求,包括现有的

36、和将来可能增加的需求。目前商业应用中最主要的是关系数据库。 Oracle、DB2、Sybase、MS SQL Server、MySQL等都是关系数据库。本系统选用MySQL数据库。MySQL是当前应用最广泛的开源数据库软件,在非商业用途下可免费使用。MySQL精小但是执行效率高,运行稳定,深受欢迎。需求具体体现在各种信息的提供、保存、更新和查询上,这就要求数据库结构能充分满足各种信息的输出和输入。通过收集基本数据、数据结构以与数据处理的流程,组成一份详尽的数据词典,为后面的具体设计打下基础。在仔细分析和调查系统的基础上,针对超市销售管理系统的需求,通过对超市运营的流程和数据进行分析,设计如下所

37、示的数据项和数据结构:用户信息:包括用户名称、系统启用时间、用户地址、联系、营业时间。其对应的实体属性图如图3-4所示:图3-4 用户信息实体属性图权限信息:包括用户类型编号、用户类型名称、财务管理权限、商品销售权限、商品进货权限、商品库存管理权限、系统管理权限。(其中TRUE=1和FALSE=0)其对应的实体属性图如图3-5所示:图3-5 权限信息实体属性图员工信息:包括员工工号、员工、员工密码、用户类型。其对应的实体属性图如图3-6所示:图3-6 员工信息实体属性图日志信息:包括日志编号、员工工号、登录时间、退出时间、登录IP。其对应的实体属性图如图3-7所示:图3-7 日志信息实体属性图

38、供货商信息:包括供货商编号、供货商名称、联系人、联系、 。其对应的实体属性图如图3-8所示:图3-8 供货商信息实体属性图商品类别信息:包括类别编号、类别名称、类别说明。其对应的实体属性图如图3-9所示:图3-9 商品类别信息实体属性图商品信息:包括商品编号、商品名称、单位、类别、成本价、单价。其对应的实体属性图如图3-10所示:图3-10 商品信息实体属性图商品库存信息:包括商品编号、库存数量。其对应的实体属性图如图3-11所示:图3-11 商品库存信息实体属性图损溢信息:包括损溢编号、商品编号、供货商、损溢数量、损溢标注、损溢说明、损溢日期、操作员。其对应的实体属性图如图3-12所示:图3

39、-12 损溢信息实体属性图销售商品信息:包括账单号、商品编号、销售数量、应收金额、折扣率、实收金额、销售日期、操作员。其对应的实体属性图如图3-13所示:图3-13 销售商品信息实体属性图采购商品信息:包括帐单号、商品编号、供货商、进货数量、支付金额、进货日期、操作员。其对应的实体属性图如图3-14所示:图3-14 采购商品信息实体属性图3.4 创建数据库我们选用MySQL数据库,首先创建超市销售管理系统数据库market,创建数据库的SQL语句为:create database market default character set utf8;,并使用当前数据库“use market”开始

40、创建表:其中,用户信息表如表3-1所示,表名user,主键user_name。表3-1 用户信息表字段名字段类型长度主/外键约束对应中文名user_namevarchar40PNOT NULL用户名称sys_use_timedatetime-NOT NULL系统启用时间user_addrvarchar40-NOT NULL用户地址user_phonevarchar20-NOT NULL联系open_timevarchar20-NOT NULL营业时间用户信息表中存储系统超市名称、地址、联系等信息。设定后它会自动加载到主页的系统信息上,每次登录时会自动显示出来。权限信息表如表3-2所示,表名us

41、erlimit,主键user_type_id。表3-2 权限信息表字段名字段类型长度主/外键约束对应中文名user_type_idint-P(auto)NOT NULL用户类型编号user_type_namevarchar20-NOT NULL用户类型名称cw_ctrlint-NOT NULL财务管理权限sell_ctrlint-NOT NULL商品销售权限buy_ctrlint-NOT NULL商品进货权限stock_ctrlint-NOT NULL库存管理权限sys_ctrlint-NOT NULL系统管理权限权限表中拥有某个权限TRUE=1,没有权限FALSE=0,向权限表中加入初始数据

42、,定义用户类型“admin”管理员拥有所有权限,SQL语句为“insert into userlimit values(null,admin,1,1,1,1,1);”。员工信息表如表3-3所示,表名person,主键per_id。表3-3 员工信息表字段名字段类型长度主/外键约束对应中文名per_idint-PNOT NULL员工工号per_namevarchar20-NOT NULL员工per_passwordvarchar20-NOT NULL员工密码user_type_idint-F(userlimit)NOT NULL用户类型系统默认使用员工工号进行登录,管理员可以添加员工设定其工号和

43、密码,并设置其权限类型。这里向员工表中加入初始数据,加入管理员账户其SQL语句为“insert into person values(1111,admin,1111,1);”,即管理员工号:1111,密码:1111。这样启用系统后便可以使用此账户进行系统初始化操作了。员工使用其工号登录时,系统会自动根据其用户类型确定其权限,并加载对应的UI。日志信息表如表3-4所示,表名log,主键log_id。表3-4 日志信息表字段名字段类型长度主/外键约束对应中文名log_idint-P(auto)NOT NULL日志编号per_idint-F(person)NOT NULL员工工号login_time

44、datetime-NOT NULL登录时间logout_timedatetime-NOT NULL退出时间login_ipvarchar20-NOT NULL登录IP用户登录时系统会自动记录登录员工的工号和其登录时间、登录IP地址等信息,当用户退出时系统会自动记录其时间并更新对应记录。供货商信息表如表3-5所示,表名provider,主键pv_id。表3-5 供货商信息表字段名字段类型长度主/外键约束对应中文名pv_idint-P(auto)NOT NULL供货商编号pv_namevarchar20-NOT NULL供货商名称pv_pervarchar20-NOT NULL联系人pv_addr

45、varchar40-NOT NULL联系pv_phonevarchar20-NOT NULL设定供货商信息,在采购进货时会加载供用户选择,每笔订单中的记录都可以设定各自的供货商信息。商品类别信息表如表3-6所示,表名category,主键cg_id。表3-6 商品类别信息表字段名字段类型长度主/外键约束对应中文名cg_idint-P(auto)NOT NULL类别编号cg_namevarchar20-NOT NULL类别名称cg_statevarchar40-NOT NULL类别说明设定商品类别后,添加商品的时候便可以根据商品类别添加,系统也会按照商品类别分类显示。商品信息表如表3-7所示,表

46、名sp,主键sp_id。表3-7 商品信息表字段名字段类型长度主/外键约束对应中文名sp_idint-P(auto)NOT NULL商品编号sp_namevarchar20-NOT NULL商品名称sp_unitvarchar20-单位cg_idint-F(category)NOT NULL类别sp_costdouble-NOT NULL成本价sp_pricedouble-NOT NULL单价添加商品后,进行进货、销售、损溢等操作时系统会自动将所有商品按照商品类别分类展示出来,供用户选择使用。商品库存信息表如表3-8所示,表名stock,主键sp_id。表3-8 商品库存信息表字段名字段类型长

47、度主/外键约束对应中文名sp_idint-P(auto)F(sp)NOT NULL商品编号stock_countint-NOT NULL库存数量通过查询商品库存表可以查看库存预警信息和详细的库存信息。表中没有的冗余字段查询的时候使用表的联合查询来实现。损益信息表如表3-9所示,表名sy,主键sy_id。表3-9 损溢信息表字段名字段类型长度主/外键约束对应中文名sy_idint-P(auto)NOT NULL损溢编号sp_idint-F(sp)NOT NULL商品编号pv_idint-F(provider)NOT NULL供货商sy_countint-NOT NULL损溢数量sy_bzint-

48、NOT NULL损溢标注sy_statevarchar40-损溢说明sy_timedatetime-NOT NULL损溢日期per_idint-F(person)NOT NULL操作员库存商品会有损溢情况,这里设置这个表,产生商品损溢时进行记录同时更新商品库存表。销售商品信息表如表3-10所示,表名sell,主键s_bill,sp_id。表3-10 销售商品信息表字段名字段类型长度主/外键约束对应中文名s_billvarchar20PNOT NULL账单号sp_idint-P/F(sp)NOT NULL商品编号s_countint-NOT NULL销售数量s_ysdouble-NOT NULL

49、应收金额s_ratedouble-折扣率s_ssdouble-NOT NULL实收金额s_timedatetime-NOT NULL销售日期per_idint-F(person)NOT NULL操作员销售商品信息表使用联合主键“primary key(s_bill,sp_id)”,通过账单号和商品ID可以确定这个表中的一条记录。通过这个表可以查询销售记录,形成财务销售信息,借此以辅助提高超市的决策水平。采购商品信息表如表3-11所示,表名buy,主键b_bill,sp_id。表3-11 采购商品信息表字段名字段类型长度主/外键约束对应中文名b_billvarchar20PNOT NULL账单号

50、sp_idint-P/F(sp)NOT NULL商品编号pv_idint-F(provider)NOT NULL供货商b_countint-NOT NULL进货数量b_zfdouble-NOT NULL支付金额b_timedatetime-NOT NULL进货日期per_idint-F(person)NOT NULL操作员采购商品信息表使用联合主键“primary key(b_bill,sp_id)”,通过账单号和商品ID可以确定这个表中的一条记录。通过这个表可以查询采购记录,形成财务进货信息,借此以辅助提高超市的决策水平。4 系统实现根据前面的分析和设计,以功能模块为单位逐个进行编码实现,这

51、里以不同用户角色进入系统(这里以销售人员和系统管理员为例进行分析说明),分析其对应的各个功能模块的实现方法,展示其实现效果。4.1 销售员功能模块实现销售人员只是负责商品的销售工作,他们可以登录系统,并进行商品的销售和销售的盘点工作。这里便介绍登录模块和商品销售模块。4.1.1 登录模块的实现登录页面是系统的初始界面,用户只有登录成功才会出现系统主界面,可以进行相应操作。它是系统的门户,登录后实现了用户的权限区分。实现的登录界面和信息验证如图4-1所示:图4-1 登录界面用户登录模块会自动校验用户输入的信息,符合要求后才可以提交。登录成功自动进入系统主界面(系统根据用户类型对应的用户权限,向用

52、户展示出对应的操作主界面),登录失败会有相应提示。登录模块实现的流程如图4-2所示:图4-2登录模块实现流程图本模块遵循MVC模式使用ExtJS实现其前台使用Servlet处理后台逻辑。修改项目中web.xml配置,将欢迎界面改为login.jsp,在项目中创建login.jsp登录页面,引入EXT,使用ExtJS创建登录界面。创建login.js文件,使用EXT实现登录界面和登录信息校验,与Ajax提交登录信息。系统后台接收登录请求信息并加以处理,ServletLogin.java接收请求并交由业务处理类LoginBean.java进行处理,它调用DAO层各个类,实现登录信息的验证,并将验证

53、结果返回。其源代码如下:public boolean action( ServletRequest request) boolean msg = false;int typeid = 0;int per_id = Integer.parseInt(request.getParameter(per_id);String pw = request.getParameter(per_password);PersonDAO pDAO = PersonDAOFactory.getPersonDAOInstance();try typeid = pDAO.queryId(per_id, pw); catch (Exception e) e.printStackTrace();if(typeid = 0) /登录验证失败return msg;else /登录成功perid = String.valueOf(per_id);UserlimitDAO ulDAO = UserlimitDAOFactory.getUserlimitDAOInstance();try Us

温馨提示

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

评论

0/150

提交评论