商场商品销售管理系统研讨.docx

上传人:小飞机 文档编号:2018039 上传时间:2022-12-31 格式:DOCX 页数:37 大小:936.09KB
返回 下载 相关 举报
商场商品销售管理系统研讨.docx_第1页
第1页 / 共37页
商场商品销售管理系统研讨.docx_第2页
第2页 / 共37页
商场商品销售管理系统研讨.docx_第3页
第3页 / 共37页
商场商品销售管理系统研讨.docx_第4页
第4页 / 共37页
商场商品销售管理系统研讨.docx_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《商场商品销售管理系统研讨.docx》由会员分享,可在线阅读,更多相关《商场商品销售管理系统研讨.docx(37页珍藏版)》请在三一办公上搜索。

1、商场商品销售管理系统摘要: 随着网络技术在人们生活中的深入,它对人们的生活带来了越来越大的便利,相应人们各个方面对它的依赖也越来越大,对于现在的社会,人们是不能离开网络了。相应的商场的管理也应该借助于网络技术,这样要以节约大量的人力、物力资源,更重要的是能够准确、快速的反应整个商场的进货、销售情况,进而反应商场的需求,让决策者能够做出适应市场,能够获得共更多赢利的决策。基于这些方面的好外,本系统就运应而生。对于网络的应用,现在主流有.NET和JAVA两种平台,本系统使用的是JAVA平台完成,采用B/S模式,使用浏览器作客户端。对于JAVA平台又有很多的技术支持,对于本系统具体说是一个J2EE项

2、目,其中用使用了开源构架Struts、Hibernate,以组件式开发,用工厂对各个组件进行管理,降低各个组件之间的耦合度。关键词:J2EE;持久层;DAO;业务逻辑;表现;组件;耦合;工厂Sales management system for shopping mallsAbstract:With the network technology in peoples lives in depth,it brought peoples lives more and more convenience and various aspects of people it has become incre

3、asingly dependent on. So, for now, in our society, people can not leave the network. The appropriate management of shopping malls should also be through the use of network technology, this should save a lot of manpower, material resources and, more importantly, to accurate and rapid response of the

4、stock throughout the shopping mall, sales, and then respond to the demand for shopping malls, so that decision-makers able to adapt to the market, able to obtain a total of more profitable decision-making. Based on these good things, the system should be on the delivery of Health. For network applic

5、ations, there is now mainstream. NET and JAVA two platforms, the use of the system is completed JAVA platform, the use of B / S mode,and the use of the client browser. JAVA platform for a lot of technical support, specifically for the system is a J2EE project, which uses the open source framework us

6、ing Struts, Hibernate, a component-based development, with the factory management of the various components and lower the various components Coupling between.Key words: J2EE perdure service logic discreteness coupling factory目录摘要I关键词IABSTRACTIKEY WORDSI绪论1本系统研究的意义1本系统的目的、内容、要求1l目的1l内容1l要求11开发环境与技术的介

7、绍11.1发环境11.1.1、硬件环境11.1.2、软件环境11.1.3、环境配置11.2、所用技术的介绍21.2.1、java21.2.2、Struts21.2.3、Hibernate31.2.4、Jsp31.2.5、Tomcat42.需求分析42.1、可行性分析42.1.1、 市场分析42.1.2、 政策分析42.1.3、 竞争实力分析42.1.4、技术可行性分析42.1.5、 时间和资源可行性分析52.1.6、 知识产权分析52.2、理解需求53.概要设计53.1、系统总体设计53.1.1、项目需求53.1.2、系统实体E-R图53.2、模块初步分析63.2.1、商品信息管理模块63.2

8、.2、客户信息管理模块63.2.3、商品进货管理模块63.2.4、商品销售管理模块63.2.5、数据分析模块63.3、业务流程图64.详细设计74.1、数据库设计74.1.1、数据库表结构74.1.2、用hibernate实现持久层94.2、DAO组件设计124.2.1、AdminImpl.java124.2.2、GoodsImpl.java一三4.2.3、ProvideImpl.java一三4.2.4、SellImpl.java144.2.5、StockImpl.java144.2.6、TypeImpl.java一五4.2.7、UserImpl.java一五4.3、业务逻辑组件设计一五4.3

9、.1、UserServiceImpl.java164.3.2、AdminServiceImpl.java164.3.3、GoodsServiceImpl.java164.3.4、StockServiceImpl.java174.3.5、SellServiceImpl.java174.3.6、ProvideServiceImpl.java174.3.7、TypeServiceImpl.java174.4、模块设计一八4.4.1、管理员管理模块一八4.4.2、商品信息管理模块194.4.3、会员信息管理模块204.4.4、商品进货管理模块214.4.5、商品销售管理模块224.5、系统架构详细设计

10、234.5.1、系统架构说明234.5.2、DAO层实现和事务控制244.5.3、使用配置文件解耦254.5.4、使用工厂管理组件254.5.5、实现Web层逻辑285、系统测试285.1、举例测试295.1.1、测试管理员登录功能295.2、测试项目315.2.1、单元测试315.2.2、集成测试325.2.3、系统测试33绪论本系统研究的意义本系统是面向超市内部工作人员的,管理整个超市商品的进口与销售信息进行监控,能够方便地得出某个季度的商品销售情况,反应市场动态。研究它使我们的能够更好地把握市场,了解市场,把握市场规律,进而是我们能够更好地利用市场的自动调节机制,在这商场经济强烈竞争下枪

11、得先机。本系统的目的、内容、要求 目的管理整个超市商品的进口与销售信息进行监控,能够方便地得出某个季度的商品销售情况,反应市场动态。本系统能够节约大量人力、物力资源,能够及时反应市场需求动态,也就使超市老板能够更快速把握市场,获得尽可能多的收益。 内容本系统是基于B/S的一个JAVAWEB系统,它是一个商场商品销售管理方面的系统,是面向内部工作人员而设计的。它能对市场商品的进、销、存进行全面管理,各种操作都会有记录备案。对商品实现完全监控,对各个时期内的商品情况进行统计查询等。 要求能够准确地对商品进化、销售、保存等操作进行数据的保存,能够进行对数据的统计与输出。达到所谓的完全跟踪控制。1开发

12、环境与技术的介绍1.1开发环境1.1.1、硬件环境CPU:Inter core 双核 2.0GHz内存:DDR3 2G硬盘:希捷250G 7500转1.1.2、软件环境操作系统:WindowsXP SP3IDE环境:MyEclipse 6.0应用服务器:Tomcat 6.0数据库:MySQL5.0JDK:jdk6.01.1.3、环境配置JDK的环境配置:以安装路径C: jdk1.6.0_02为例说明我的电脑-属性-高级-环境变量-系统变量中添加以下环境变量: JAVA_HOME=C:jdk1.6.0_02CLASSPATH=.;C:jdk1.6.0_02libtools.jar;C: jdk1

13、.6.0_02libdt.jar;C: jdk1.6.0_02bin;path=C:jdk1.6.0_02bin;Tomcat的环境配置:以安装路径C: Apache Software FoundationTomcat 6.0为例进行说明 变量名:CATALINA_BASE 变量值:C:Apache Software FoundationTomcat 6.0; 变量名:CATALINA_HOME 变量值:C:Apache Software FoundationTomcat 6.0; 点击确定后在classpath中加入%CATALINA_HOME%commonlibservlet-api.ja

14、r;在path中加入%CATALINA_HOME%lib;个人建议从网上下载包含源代码的Tomecat包。1.2、所用技术的介绍本系统采用B/S模式开发及运用,是轻量级J2EE应用,因此主要运用的技术是java,还有传统J2EE应用框架struts和hibernate,以及javaWeb的一些技术JSP、HTML、XML等。下面就对主要的进行介绍。1.2.1、JavaJava是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。Java是一种简单的,面向对象的,分布式的,解释型的,健壮安全的,结构中立的,可移植的,性能优

15、异、多线程的动态语言。2009年04月20日,oracle(甲骨文)收购sun,java因此并归甲骨文公司。Java平台由Java虚拟机(Java Virtual Machine)和Java 应用编程接口(Application Programming Interface、简称API)构成。Java 应用编程接口为Java应用提供了一个独立于操作系统的 标准接口,可分为基本部分和扩展部分。在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。现在Java平台已经嵌入了几乎所有 的操作系统。这样Java程序可以只编译一次,就可以在各种系统中运行。Java应用编程接口已经从1.

16、1x版发展到1.2版。目前常用的Java平台基 于Java1.4,最近版本为Java1.7。Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。本系统属于JavaEE体系。1.2.2、StrutsStruts 是 Apache软件基金会(ASF)赞助的一个开源项目。它最初是 Jakarta项目中的一个子项目,并在2004年3月成

17、为ASF的顶级项目。它通过采用 Java ServletJSP 技术,实现了基于Java EE Web应用的 Model-View-ControllerMVC设计模式的应用框架Web Framework,是 MVC 经典设计模式中的一个经典产品。在 Java EE 的Web应用发展的初期,除了使用 Servlet 技术以外,普遍是在 JavaServer Pages(JSP)的源代码中,采用 HTML 与 Java 代码混合的方式进行开发。因为这两种方式不可避免的要把表现与业务逻辑代码混合在一起,都给前期开发与后期维护带来巨大的复杂度。为了摆脱上述的约束与局限,把业务逻辑代码从表现层中清晰的分

18、离出来,2000年,Craig McClanahan 采用了 MVC 的设计模式开发Struts。后来该框架产品一度被认为是最广泛、最流行 JAVA 的 WEB 应用框架。2006年,WebWork 与 Struts 这两个优秀的Java EE Web框架(Web Framework的团体,决定合作共同开发一个新的,整合了 WebWork 与 Struts 优点,并且更加优雅、扩展性更强的框架,命名为 “Struts 2”,原Struts的1.x 版本产品称为“Struts 1”。本系统使用的仍然是struts1。在 Struts 中,已经由一个名为 ActionServlet 的 Servl

19、et 充当 控制器(Controller)的角色,根据描述模型、视图、控制器对应关系的 struts-config.xml 的配置文件,转发视图(View)的请求,组装响应数据模型(Model)。在 MVC 的 模型(Model)部分,经常划分为两个主要子系统(系统的内部数据状态与改变数据状态的逻辑动作),这两个概念子系统分别具体对应 Struts 里的 ActionForm 与 Action 两个需要继承实现超类。在这里,Struts 可以与各种标准的数据访问技术结合在一起,包括Enterprise Java Beans(EJB), JDBC 与 JNDI。在 Struts 的视图(View

20、) 端,除了使用标准的JavaServer Pages(JSP)以外,还提供了大量的标签库使用,同时也可以与其他表现层组件技术(产品)进行整合,比如 Velocity Templates,XSLT 等。通过应用 Struts 的框架,最终用户可以把大部分的关注点放在自己的业务逻辑(Action)与 映射关系的配置文件(struts-config.xml)中。1.2.3、HibernateHibernate是一个开放源代码的对象关系映射(Object/Relection Mapping)框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维 来操纵数据库。

21、 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命 意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。1.2.4、JspJSP(Java Server Pages)是由Sun Microsystems公

22、司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动 态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计和显示分离,支持可重用的 基于组件的设计,使基于Web的应用程序

23、的开发变得迅速和容易。 Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP与Java Servlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。 JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。JSP页面由HTML代码和嵌入其中的Java代码所组成。服务器在页面被客户端请求以后对这

24、 些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。Java Servlet 是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。1.2.5、TomcatTomcat 服务器是一个免费的开放源代码的Web 应用服务器,目前最新版本是6.0.一八(截止到2008-08-27)。Tomcat是Ap

25、ache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发

26、应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行J

27、SP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和 JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。2.需求分析2.1、可行性分析2.1.1、 市场分析随着商场经济的快速发展,对市场信息的把握以及快速的、精确的处理各种事务的能力就越来越显得重要,就要这种形势下,商场商品销售管理系统就运行而生,市场前景很好。2.1.2、 政策分析我们做的这个系统是用于毕业设计,没有触及法律法规,因此,政策上是一定可行的。相应还有指导老师的帮

28、助。2.1.3、 竞争实力分析对于用于毕业设计而言,并不存在竞争现象。2.1.4、技术可行性分析所有需要用到的技术都是J2EE方向的常用技术,对于我们而言,大多数技术都已学过,因此,在技术方面我们没有多大障碍,这是可行的。2.1.5、 时间和资源可行性分析我们毕业设计共有半个学期的时间,从本系统的需求分析、概要设计、编码和测试都有充足的时间,这也是有由进度表所表现出来的。对于我们的设计,不管是硬件还是软件资源除了一台电脑外,其它都是一些网上可下载的免费软件。因此这一点上也是可行的。2.1.6、 知识产权分析本系统现定于只用于毕业设计用,不用于商业动作,而且完全是自己所创造,所以不存在知识产权问

29、题。2.2、理解需求本系统是面向超市内部工作人员的,管理整个超市商品的进口与销售信息进行监控,能够方便地得出某个季度的商品销售情况,反应市场动态。本系统能够节约大量人力、物力资源,能够及时反应市场需求动态,也就使超市老板能够更快速把握市场,获得尽可能多的收益。超级管理员(经理)对一般管理员(收银员)进行添加、删除及基本信息的修改,也就是说,超级管理员有一般管理员的功能外还有对一般管理员进行管理的功能。当超市进了一批货物后,由一般管理员对货物进行往系统里录入这批货物的一些相关信息。当顾客购买一些商品,由一般管理员进行修改系统的商品销售信息,一般管理员就负责商品信息的录入与维护。当一定时间过去了,

30、超级管理员会对这段时间内商品的销售情况进行一个归总,也就生成报表反应销售、利润等,根据这个结果制定下一步计划。3.概要设计3.1、系统总体设计总体设计是对整个项目的总体概述,这里的总体设计主要是从项目实际需求和实体E-R图入手。3.1.1、项目需求需求号需求名1超级管理员修改自己的密码及添加一般管理员2一般管理员登录,修改自己的信息3商品类型管理,商品类型的新增,删除和修改4商品管理:商品的新增,删除和修改5供应商管理:供应商的新增,删除和修改6进货的管理:对所进的货物进行添加及各种类型数据的修改7销售的管理:对所出售的货物进行添加及各种类型数据的修改8查看商品、会员、供应商、进货及销售的详细

31、情况9对一定时间期内的进货及销售情况进行总合,算出在这期间的利润等数据(相当于报表)3.1.2、系统实体E-R图系统实体E-R图是对整个系统中的实体以及实体之间的关系进行说明,根据上面的需求分析,本系统中有7个实体,分别是:provide(商品供应商), goods(商品), type(商品类型), admin(管理员), user(会员), sell(销售明细), stock(进化明细)。 以下是本系统的实体E-R图:3.2、模块初步分析根据项目的需求,把本系统画分成以下五个模块: 商品信息管理模块 客户信息管理模块 商品进货管理模块 商品销售管理模块 数据分析模块3.2.1、商品信息管理模

32、块商品信息管理模块主要是对商场中的商品的增加、删除、修改、查询等功能的管理,负责商品的日常的进销存。3.2.2、客户信息管理模块客户信息管理模块也就是对商场会员的管理和维护,增加、删除、修改、查询等功能。3.2.3、商品进货管理模块商品进货管理模块是对商场进货信息的管理和维护,主要是增加、删除、修改、查询等功能 。3.2.4、商品销售管理模块管理模块是对商场商品销售的管理和维护,主要是增加、删除、修改、查询等功能。3.2.5、数据分析模块数据分析模块是对商场的商品、会员、供应商等的信息集中进行分析,得出一些有用的数据的功能。3.3、业务流程图这个系统业务流程图是对商场的业务流程作一个整体的描述

33、。4.详细设计4.1、数据库设计根据系统实体E-R图设计,本系统主要用到7张表:管理员表:admin,用户信息表user, 商品表goods, 商品类别表type, 供应商表provide,进货明细表stock,销售明细表sell。4.1.1、数据库表结构admin(管理员表)字段名类型长度允许为空备注admin_idint10no管理员编号,主键(自增)admin_nameString50no管理员姓名admin_passwordstring50no管理员密码(MD5加密)admin_flagboolean1no标示管理员级别(true为超级管理员,false为一般管理员)user(用户表)

34、字段名类型长度允许为空备注user_idstring20no用户编号,主键user_nameString50no用户名user_emailstring50noE_mailuser_telstring50no电话user_addressstring50no地址user_regTimedateno注册时间user_postcodestring50no邮政编码goods(商品表)字段名类型长度允许为空备注goods_idstring20no商品编号,主键type_idstring20no 类型编号(对应PK:type表的type_id)goods_namestring50no商品名goods_pri

35、cedouble10no价格goods_discountdouble10no折扣goods_amountint10no总数量goods_datedateno最近上架时间goods_remainint10no剩余数量goods_nominatebooleanno是否推荐商品(默认不是)goods_picturestring50no图片(只存图片URL,默认为image/default.gif)goods_descstring(text)yes对商品的描述信息goods_typeNamestring50no商品类型名type(商品类型表)字段名类型长度允许为空备注type_idstring20no

36、类型编号,主键type_namestring50no类型名type_highLevelIdint10Yes上级类型编号(对应PK:type表的type_id)说明:本系统对商品类型最多分为两级,最高级的type_highLevelId属性为空,比如“衣服”这一种类型就没有上一级provide(供应商表)字段名类型长度允许为空备注provide_idstring20no供应商编号,主键provide _nameString50no供应商名provide _emailstring50noE_mailprovide _telstring50no电话provide _addressstring50no

37、地址provide _postcodestring50no邮政编码provide _descstring50no对供应商的描述stock(进货明细表)字段名类型长度允许为空备注idString20no主键stock_idstring20no进货编号(以当天时间+000001,依次自增,如:20080808000003就是北京奥运会那天的第三张定单)goods_idstring20no品编号(对应FK:goods表的goods_id)provide_idstring20no供应编号(对应FK:provide表的provide_id)stock_pricedouble10no进货价格stock_a

38、mountint10no进货的数量stock_timeDateno进货时间sell(销售明细表)字段名类型长度允许为空备注idstring20no主键sell_idstring20no定单编号(以当天时间+000001,依次自增,如:20080808000003就是北京奥运会那天的第三张定单)goods_idstring20no商品编号(对应FK:goods表的goods_id)user_idString50no用户编号(对应FK:user表的user_id)sell _amountint10no定单数量sell _dateDateno定单时间4.1.2、用hibernate实现持久层4.1.

39、2.1、创建数据库本系统数据库名字使用goods,因此创建数据库就打开MySQL Connand Line Client,输入密码登陆成功后,在命令行中输入创建数据库语句:create database goods;后回车就完成了。如图:4.1.2.2、配置文件要完成使用hibernate,必须对hibernate进行一些基本配置,这个文件是一个XML文件:hibernate.cfg.xml。这个文件配置了所用数据库的驱动,连接数据库服务的URL,连接数据库的用户名、密码,指定连接池(本系统使用c3po),连接数据库所作用的方言,数据库映射文件等。下以就是本系统的此配置文件:!DOCTYPE

40、hibernate-configuration PUBLIC-/Hibernate/Hibernate Configuration DTD 3.0/ENrootjdbc:mysql:/localhost/goodsorg.hibernate.dialect.MySQLDialectmysql drivercom.mysql.jdbc.Drivermysqlupdatetrue205一八00504.1.2.3、映射文件本系统采用hibernate实现持久层访问,hibernate持久层访问需要使用POJO(Plain Old Java Objects)和数据库映射文件。根据系统实体E-R图可以得

41、出本系统有7个持久化类:Admin、Goods、User、Sell、Stock、Provide、Type。这里以Admin举例,其POJO如下:package com.cdu.domain;public class Admin private int admin_id;private String admin_name;private String admin_password;private boolean admin_flag;public int getAdmin_id() return admin_id;public void setAdmin_id(int admin_id) this.admin_id = admin_id;public String getAdmin_name() return admin_name;public void setAdmin_name(String admin_name) this.admin_name = admin_name;public String

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号