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

下载本文档

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

文档简介

PAGEPAGE44随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,特别是Internet技术的推广和信息高速公路的建立,使IT产业在市场竞争中越发显示出其独特的优势,步入信息化时代,有巨大的数据信息等待加工处理和传输,这使得对数据库的进一步开发和利用显得尤为迫切。随着超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长。超市时时刻刻都需要对商品各种信息进行统计分析。而大型的超市管理系统功能过于强大而造成操作繁琐降低了超市的工作效率。超市管理系统是市场上最流行的超市上常用的系统之一。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。本系统分析了软件开发的背景以过程;首先介绍了软件的开发环境,其次介绍了本软件的详细设计过程:数据库的设计、各个模块的设计和实现,以及具体界面的设计和功能。首先介绍了超市管理系统的需求分析、总体设计和详细设计过程,并在此基础建立了后台数据库。然后,介绍一个在Web环境下,基于B/S三层结构模式,利用JSP+J2EE技术,基于mvc框架结合开发的超市管理管理系统的总体方案、主要功能模块及其相关实现技术。以及系统有哪些功能模块组成,每个功能模块实现的功能都有哪些。关键词:超市管理系统Web,B/S,数据库目录TOC\o"1-3"\h\u序言 1第一章系统开发背景 21.1开发背景 21.2我国超市管理系统发展现状 31.2.1不同层面超市的发展现状 31.2.2超市有关进销存管理的发展现状 4第二章系统相关技术 62.1设计思想 62.2开发工具 62.2.1java简介 62.2.2tomcat配置 82.2.3JDK配置 8第三章系统分析 93.1需求分析 93.1.2可行性分析 93.1.3技术可行性 93.1.4.经济可行性 103.2系统E-R图 103.3数据流程分析 133.4数据字典 153.5系统用例图 183.6数据库表 20第四章系统设计与实现 234.1系统功能设计 234.2系统功能界面介绍 244.2.1系统登录页面 244.2.2系统首页页面 264.2.3商品管理页面 274.2.4类别管理页面 324.2.5商品购买页面 324.2.6进货/需求管理页面 354.2.7系统设置页面 37第5章系统测试 395.1程序调试 395.2程序的测试 395.2.1测试的重要性及目的 395.2.2测试的步骤 405.2.3测试的主要内容 41结论 42辞谢 43参考文献 44序言随着现代科学技术的迅猛发展,计算机技术已经渗透到各个领域,成为各行业必不可少的工具,信息化管理发挥着越来越重要的作用。信息化管理工作已经渗透到各个领域的日常工作中,无论是其自身还是所发挥的作用,都为超市或个人的创新、发展以及经济效益做出了显著的贡献。就超市而言,特别是一些中小型的超市,在信息化过程中的步伐要落后于大中型超市,而对于这些超市的资源管理,信息的存储和处理也显得迫切需要,要适应市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必可少的。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。这些直接影响销售的方便性及管理的规范性。随着信息时代的发展,对效率的要求日益提高,超市经营涉及进、销、存等多个环节,涉及商品种类繁多、业务量大、库存管理复杂,使用手工管理已无法胜任,因而软件控制销售和管理已经取代了传统手工方式。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。第一章系统开发背景1.1开发背景在我国超市形成在20世纪90年代初期,现在已经成为我国零售业的一种重要形态,为国民经济的发展发挥了重要的作用。随着超市高速的发展,其经营管理也变得愈加复杂,早期的售货员站柜台的形式早已不能满足现有销售也的发展,这样就迫切地需要引入新的管理技术。如今随着现代化信息技术的迅猛发展和普及,超市的生存和竞争环境发生了根本的变化。超市要想在市场竞争中立于不败之地,必须进行信息化建设,所以信息化管理就成为超市获取竞争优势的关键所在。超市的信息管理技术是保证超市内、外部信息在超市中准确、快捷的流动,为决策提供依据,其关键是实现设计信息、生产信息、管理信息的有效整合。超市信息化管理能够降低超市的成本,提高超市的整体管理水平,获得更大的利润。为此,在选题过程中,我选择了超市管理系统设计题目,依靠现代化的计算机信息处理技术来管理超市,从而节省了大量的人力、物力,改善了员工的工作条件,减轻了劳动强度,并且能够快速反映出商品的进、销、存等状况和各种反馈信息分析,使管理人员快速对市场的变化做出相应的决策,加快超市经营管理效率。步入数字化时代,有巨大的数据信息等待着加工处理和传输,超市系统本就需要有一个强大的数据库支持,这就需要对数据库进行进一步的开发和利用,而对超市的进销存管理,信息的存储和处理也显的尤其重要。要适应如今激烈的市场竞争,就需要有高效的处理方式和管理方法,因此加快超市的信息化进程是必不可少的。1.2我国超市管理系统发展现状1.2.1不同层面超市的发展现状目前,我国超市业信息化状况的分布基本明朗:在高端超市,进销存核心结构体系基本运作正常,面临的主要问题是数据的深挖掘和加工、财务业务系统的高度集成、根据超市的并购重组保证系统和数据的统一、稳定;在中端超市,分散营运向集中管理转变,进销存核心结构系统正在由分散单店管理、销售核算向连锁管理、进价核算过渡;在低端超市,刚刚涉足、转向连锁零售业,对于信息化认识处于表面层次,业务流程和信息系统建设需要一段时间的探索、认识和渐进过程。而整个零售行业对信息化的认识已经逐渐趋向一致的认识:信息化是超市可持续发展、增强核心竞争力的必要手段。超市软件系统从超市运营及管理的实际情况出发,结合当前中国零售业发展趋势,顺应了零售行业对信息化的要求,为商业管理信息系统提供了系统全面的技术解决方案。基于以上原因,超市信息管理系统目前在各个商业领域都发挥了很大的作用,也得到了越来越多的大、中、小型商业超市的应用。但就目前的应用状况分析,管理系统在中、高端超市得到了广泛的应用和重视,在小型超市、零售店的应用仅局限于信息化的表面层次,没有得到高度的重视。同时,小超市也因资金方面问题限制了其向更高程度信息化的应用!随着信息化的快速发展,以及激烈的市场竞争,各超市也将在信息化上下功夫,以高效率、低成本立足市场,获得更多的利润。1.2.2超市有关进销存管理的发展现状进销存管理是超市在管理中的一个极为重要的环节,并且也是零售商能否取得利润的关键。也就是说,如果能做到进货合理、销售及时、库存量最少、积压商品减少,那么零售商将得到一个最理想的效益。由此可见,进销存管理决策的是否正确直接影响了零售商获得的经济效益。在对进销存进行手工管理的情况下,超市管理人员无法对进货量和库存量进行良好的控制,很难及时并正确得到商品的动态供求信息和库存信息,并且采购部门、仓储部门和销售部门各部门之间的通讯也不能做到通畅,这在竞争激烈的市场中也是非常不利的。超市进销存管理系统就是在这种状况下出现的,它利用计算机的技术,使得超市进货、库存和销售能够有机结合起来,提高超市正常运营的效率,提升效益,而且超市在系统的运用下可以在客观性、时效性、科学性等方面获得信息,为管理者运用现代化手段管理超市提供了保证,使超市的各个方面的投入最大限度地发挥效益,避免了在商品购、销、存多方面产生漏洞。我国国内超市行业在信息技术设备上投入的资金相对较小,在日常管理中,计算机应用、数据交换、信息传输上都存在滞后的问题。尽管一些超市已经配备了POS系统,不过仅仅充当着计算器、出纳和打印机的功能,而在市场预测、资料读取存储、报表生成、商品的分析等功能都无法进行落实。在一些环节上往往还是采用人力管理的方式进行低效的销售、采购、仓储、财务处理。本系统以已有的进销存系统作为基础,对超市的经营管理中的信息收集、加工、使用进行分析研究,实现超市一店通系统的设计和实施,最终进行对经营的管理和决策,增加超市的效益,并提高日常运营效率。

第二章系统相关技术2.1设计思想本系统的设计思想是:该系统使超市的管理员,可以更加方便地使用超市管理系统来管理。商品的基本信息管理,销售管理,商品库存管理,进货管理等等几个非常重要的管理。这样就提高了在WEB领域下的办公自动化的信息管理,使超市的管理员可以更加方便地在WEB领域中对超市的各种进货产品,发货产品,库存商品,以及各种产品的进货发货价格进行管理,使超市的管理员,更加方便地查看超市内的进货产品,发货产品,库存产品,以及各种产品的价格等等信息进行查看。通过这些价格等等信息。进行简单的统计计算。提高了超市管理员的工作效率,这样就使超市管理系统就会变得更加有意义。2.2开发工具2.2.1java简介Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。具备了简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。(1)面向对象:其实是现实世界模型的自然延伸。现实世界中任何实体都可以看作是对象。对象之间通过消息相互作用。另外,现实世界中任何实体都可归属于某类事物,任何对象都是某一类事物的实例。如果说传统的过程式编程语言是以过程为中心以算法为驱动的话,面向对象的编程语言则是以对象为中心以消息为驱动。用公式表示,过程式编程语言为:程序=算法+数据;面向对象编程语言为:程序=对象+消息。所有面向对象编程语言都支持三个概念:封装、多态性和继承,Java也不例外。现实世界中的对象均有属性和行为,映射到计算机程序上,属性则表示对象的数据,行为表示对象的方法(其作用是处理数据或同外界交互)。(2)可移植性:就是在这个系统上作的程序经过一次编译后可以移植到别的系统上解释执行,只要经过简单的粘贴和复制就行了,不影响程序的效果(3)安全性:在服务器上运行的大多数Java(TM)程序是应用程序,而不是applet,所以“砂箱”安全性模型对它们不起限制作用。从安全性的观点看,Java应用程序所受的安全性限制与服务器上的任何其它程序相同。要在服务器上运行Java程序,您必须对集成文件系统中的类文件具有权限。程序一旦启动,它就在该用户权限控制下运行。(4)并发性:Java支持多线程技术,就是多个线程并行机制,多线程是Java的一个重要方法,特别有利于在程序中实现并发任务.Java提供Thread线程类,实现了多线程的并发机制.然而,程序的并发执行必定会出现多个线程互斥访问临界资源的局面.并通过火车行驶单行隧道的实例,演示各种条件下的行驶情况来进一步说明该问题.2.2.2tomcat配置配置tomcat之前需要预先下载几个软件:1.微软win2000的服务包(可以没有)。2.java的sdk也叫jdk(java的开发环境)(必须的,前面已经介绍)。3.tomcat(用做web的服器(必须的)。2.2.3JDK配置JDK是sun公司java应用程序和组件的开发环境,是编译和测试工具,也是提供java程序的java虚拟机平台,是调试和运行jsp所不可缺少的工具。首先在安装前先要下载JDK,这可以从SUN公司的网站上下载,到/products/jdk/1.2这个页面下载JDK1.2.2-001-win.exe或JDK1.3-win.exe,由于笔者n.exe为例。启动时要更新环境变量,在开机时要自动调用JDK系统,因此要设置一些环境变量,我们以windows2000server版系统为例进行系统环境变量设置(在windows9x系统中可在autoexe.txt中进行设置)。第三章系统分析3.1需求分析21世纪,超市的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争。如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为超市营业者努力追求的目标。超市管理系统是一个超市管理超市不可缺少的一部分,它检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等,可减少更多的人力物力,这些都能够极大地提高货品超市的管理效率和降低经营成本,使超市管理科学化、正规化、经营盈利化。它的内容对于超市的决策者和管理者来说都是至关重要的,因此,开发一个超市管理系统是很有必要的,具有其特有的技术意义和管理意义。同时随着超市规模的不断扩大,与供应商间的往来几顾客销售业务也越来越多,手工管理这些纷繁复杂数据的方式已经不适应超市发展的要求,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的超市单位的必然要求。一店通超市管理系统的目标是实现超市信息化管理,减少盲目采购、降低采购成本、合理控制库存、减少资金占用并提升超市综合竞争力。时间就是金钱,效率就是生命。超市管理系统能够为超市节省大量人力资源,减少管理费用,从而间接为超市节约成本,提高超市效率。因此超市管理系统有着广泛的前景和实际应用的价值。3.1.2可行性分析对超市管理系统的可行性的分析与研究是开发者实施该系统的基本前提,是操作实施必不可少的步骤。可行性研究的目的就是用最小的资源与可能短的时间内研究并确定提出的问题是否行的通的解决方案。通常分析这些方案的一般从技术可行性、成本可行性、操作可行性三方面展开,来分析本课题方案的具体可操作的可能性。3.1.3技术可行性在IT行业中从业的工作人员一般都要求掌握计算机技术,具有一定的软硬件基础,会使用各种管理软件,熟悉IT产品。因为,有的超市对员工的素质要求比较高,从管理层到下面的销售人员,都要求具有一定的计算机基础,所以在新系统投入使用时,只要对员工进行少量的培训,系统的功能和使用方法就基本上能够是系统顺利运行。3.1.4.经济可行性经济可行性研究是对组织的经济现状和投资能力进行分析,对系统建设运行和维护费用进行估算,对系统建成后可能取得的社会和经济效益进行估计。由于超市管理系统是作为毕业设计由本人自己开发的,在经济上的投入甚微,系统建成之后将为今后超市管理提供很大的方便,估算新系统的开发费用和今后的运行、维护费用相比较新系统将获得的较大的效益。采用计算机管理不但可以提高工作效率,而且还可以节省人力、物力、财力,这样原来几个人干的工作现在一个人就完全可以胜任。因此单从节省的职工工资、提高工作效率而避免各种直接或间接的经济损失角度来看,该系统实际所能够起到的作用将会远远大于投入的开发费用,所以从经济上是完全可行的。3.2系统E-R图E-R图是一种概念模型。概念模型实际上是现实世界到机器世界的一个中间层次。概念模型用于信息世界的建模,是显示世界到信息世界的第一层抽象,使数据库设计人员进行数据库设计的有利工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接的表达应该用众的各种语义知识,另一方面他还应该简单、清晰并且易于用户理解。下面是系统整体的E-R图如图3.1所示,超市管理员超市管理员添加进货查看进货类别管理查看类别添加类别商品购买选购商品查看选购管理系统管理商品管理销售管理修改密码退出系统管理员添加查看管理员查看商品高级查询查看库存添加商品日期查询今日明细查看明细管理进货、需求管理图3.1系统E-R图根据数据设计的特点依据数据库设计的方法,本系统的数据库中设计了数据库实体,下面介绍部分实体图,它们之间的关系如下图所示:1.类别信息表tb-category的实体图,tb-categorytb-categoryidnamedescriptioncreatetime图3.2类别信息实体图2.顾客信息表tb-customer实体图,tb-customertb-customeriddescriptionsexusernamepasswordage图3.3顾客实体图3.商品信息表tb-objects实体图,tb-objectstb-objectsidcategoryIdphotoPathnamereqCountmedNofactoryAdddescriptionpricemedCounte图3.4商品实体图4.销售详情信息表tb-selldetail实体图,selldetailselldetailuseridmedididsellTimesellNamesellPricesellCount图3.5商品销售实体图5.用户信息表tb-user实体图,UUseridcreateTimesexnamepasswordusername图3.6用户实体图3.3数据流程分析数据流程分析,即把数据在组织(或原系统)内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。数据流图由四种基本的元素组成:数据流(DataFlow)、处理(Process)、数据存储和数据源(数据终点)。(1)数据流(DataFlow):为具有名称且有流向的数据,用标有名称的箭头表示。一个数据流可以是记录、组合项或基本项。(2)处理(Process):表示对数据多进行的加工和变换,在图中用圆形表示。指向处理的数据流为该处理的输入数据,离开处理的数据流为该处理的输出数据.(3)数据存储:表示用文件方式或数据库形式所存储的数据,对其进行的存取分别以指向或离开数据存储的箭头表示。(4)数据源及数据终点:表示数据的来源或数据的去向,可以是一个组织或人员,它处于系统范围之外,所以又称它为外部实体,它是与系统有关的外部事物或外部环境。其图形符号用平行四边形表示。数据流程图符号说明:表示外部实体;表示数据的处理过程;表示数据存储;表示数据流的方向根据上面的分析我们可以对系统画出如图所示的顶层数据流图,如图3.7所示:管理员管理员用户管理员0网站系统超市信息浏览信息超市信息图3.7系统顶层数据流图第1层数据流图是在顶层上的细分,从整体考虑数据流动及流向,如图3.8所示:管理员管理员站内信息管理员更新商品信息更新管理员信息生成销售信息显示信息管理员信息存储商品信息存储管理员购买、销售处理管理员信息管理员信息信息内容商品信息信息的更新数据商品信息管理员信息管理员信息处理信息信息存储处理后的购买信息图3.9系统第1层数据流图3.4数据字典系统数据流程的分析完成后,接下来用数据字典描述数据流图中一些主要的数据元素条目、数据流、处理过程、数据存储和外部实体数据元素条目如下所示:数据元素条目名称:管理员用户名编号说明:超市管理员用户名的编号数据元素条目名称:管理员用户名编号说明:超市管理员用户名的编号数据值类型:离散长度:20有关数据结构:用户信息表有关编码说明:jlXXX编号管理员代号数据元素条目名称:管理员用户名编号说明:超市管理员用户名的编号数据值类型:离散长度:20有关数据结构:用户信息表有关编码说明:jlXXX编号管理员代号数据结构条目如下所示:数据结构条目名称:用户信息 数据结构条目名称:用户信息 说明:创建用户信息记录的数据结构:用户名 密码姓名性别建立时间有关数据流、数据存储:用户信息 数据结构条目名称:商品信息 说明:创建商品信息记录的数据 结构:商品编号 商品名称类别编号价格 库存厂址 描述商品图片有关数据流、数据存储:商品信息 数据流条目如下所示:数据流条目数据流条目数据流名称:管理员信息维护简述:管理员对管理员信息进行管理数据来源:管理员信息数据流向:管理员信息的维护结果包含的数据结构:管理员信息表 包含的数据结构:用户信息数据流条目数据流名称:商品信息维护简述:管理员对商品信息维护数据流条目数据流名称:商品信息维护简述:管理员对商品信息维护数据来源:商品信息数据流向:商品信息的维护结果包含的数据结构:商品信息表包含的数据结构:管理员信息表 包含的数据结构:用户信息数据流条目数据流名称:进货信息管理简述:管理员对进货信息管理数据来源:填写进货信息数据流向:商品的进货管理结果 包含的数据结构:用户信息表包含的数据结构:管理员信息数据流向:管理员管理包含的数据结构:管理员信息流通量:10份/周 数据流条目数据流名称:商品销售管理简述:管理员对商品销售情况管理数据流条目数据流名称:商品销售管理简述:管理员对商品销售情况管理数据来源:商品销售信息数据流向:商品销售信息的管理结果数据流条目数据流名称:商品库存管理简述:管理员对商品库存情况管理数据来源:商品库存信息数据流向:商品库存信息的查询结果 包含的数据结构:用户信息表包含的数据结构:管理员信息数据流向:管理员管理包含的数据结构:管理员信息流通量:10份/周 数据存储条目如下所示:数据存储条目名称:用户信息 数据存储条目名称:用户信息 说明:存储用户的相关信息 结构:用户名 密码建立时间姓名性别有关的数据流: 用户信息请求管理→用户信息管理 数据存储条目名称:商品信息 说明:存储商品的相关信息 结构:商品编号 商品名称类别编号价格 库存厂址有关的数据流:商品信息管理请求→商品信息管理 处理功能条目如下所示:处理功能条目名称:商品信息维护输入数据::商品信息表中各字段处理功能条目名称:商品信息维护输入数据::商品信息表中各字段输出数据:是否添加,删除,修改成功,正确传送处理逻辑:1.是否有漏填2.数据要求是否匹配息表包含的数据结构:用户信息处理功能条目名称:进货登记输入数据:进货表中各字段输出数据:是否登记成功,进货商品正确传送处理逻辑:1.是否有漏填2.数据要求是否匹配别信息包含的数据结构:用户信息表包含的数据结构:管理员信息数据流向:管理员管理包含的数据结构:管理员信息流通量:10份/周 处理功能条目名称:库存查询输入数据:商品编号,商品名称处理功能条目名称:库存查询输入数据:商品编号,商品名称输出数据:查询的商品库存信息正确显示处理逻辑:库存报警 包含的数据结构:用户信息表包含的数据结构:管理员信息数据流向:管理员管理包含的数据结构:管理员信息流通量:10份/周 处理功能条目名称:销售登记输入数据:销售表中各字段输出数据:是否登记成功,进货商品正确传送处理逻辑:1.是否有漏填2.数据要求是否匹配包含的数据结构:商品信息表包含的数据结构:管理员信息表 包含的数据结构:用户信息外部实体条目如下所示:外部实体条目外部实体条目名称:管理员 说明:管理员 输入数据流:用户账号,密码 输出数据流:系统用户信息管理个数:N个数据流向:管理员管理包含的数据结构:管理员信息流通量:10份/周 外部实体条目外部实体条目名称:管理员 说明:管理员 输入数据流:管理员账号,密码 输出数据流:系统管理员管理个数:1个包含的数据结构:管理员信息3.5系统用例图超市库存管理系统的角色可以划分为两类:顾客(管理员)和管理员。这两类用户分别拥有自己的操作功能。每一个操作模块都要实现自身的功能,并且在整个的操作流程中负责承上启下。系统分为两类角色:用户、管理员。管理员对本系统的操作包括注册、登录系统、查看商品、购买商品、结账等功能。从用户角度描述系统功能,并指出用户的权限,其用例图如图3.10所示:

图3.10用户用例图管理员对本系统的操作包括登录系统、商品管理、修改密码、添加商品、添加类别、销售管理、进货/需求管理、系统管理等功能。从管理员角度描述系统功能,并指出管理员的权限,其用例图如图3.11所示, 图3.11管理员用例图3.6数据库表管理员信息表:存放管理员信息的表,管理员的用户名和密码商品信息表:用来存储商品相关信息,包括商品编号,商品名称,产地,商品类型等库存信息表:用来存储库存相关信息,包括库存编号,库存量,库存审核,库存时间等进货信息表:存放进货相关信息,包括进货编号,进货量,进货审核,进货时间等现将数据库表结构介绍如下:商品类别表:表3.1商品类别表2.顾客信息表:图3.2顾客信息表商品信息表: 表3.3商品信息表销售信息表:表3.4销售信息表5.用户信息表:表3.5用户信息表

第四章系统设计与实现4.1系统功能设计详细设计阶段的根本目的是确定应该怎样设定系统,就是到了真正模块分块设计的阶段,本阶段应该得系统的精确描述和逻辑流程,下面是各个模块流程图及处理过程。图4.1总体功能结构图管理员主要是对于系统的基础信息管理:(1)系统用户管理:管理超市的管理员信息,可以添加、修改、删除用户信息。(2)商品类别管理:管理超市的商品类别信息进行添加、修改和删除操作。(3)商品信息管理:管理超市商品类别下不同商品的商品信息,进行添加、修改和删除操作。(4)购买商品管理:管理选购商品信息,进行购买,当购买一种药品后会有继续购买、清除、结账的功能操作。(5)进货信息查询:输入查询号,即可以查看到货物,然后选择是否完成进货。(6)销售信息管理:可以查看所有商品的销售信息,今日明细,也可以按照日期查询。(7)商品进货管理:进行日常的商品进货登记,可以添加或删除商品。(8)库存信息浏览:此页面显示所有的库存商品信息,可以按照条件检索。4.2系统功能界面介绍通过以上的分析与设计,才能构成一个完整的超市系统,下面介绍一下本系统的功能界面。4.2.1系统登录页面本系统的登录页面如下图4.2所示, 图4.2系统登录页面用户在输入正确的用户名和密码可以进入本系统,完成各项操作。登录的流程图如图4.3所示,开始开始结束接收登录信息查询数据库数据是否正确否是登录失败登录成功图4.3系统的登录流程图主要代码如下: /** *查询用户 *@paramuserName *@parampassword *@returnUser */ publicUserlogin(StringuserName,Stringpassword){ Useruser=newUser(); try{ session=HibernateFilter.getSession(); //获取Session对象 session.beginTransaction(); //开启事物 //HQL查询语句 Stringhql="fromUseruwhereu.username=?andu.password=?"; Queryquery=session.createQuery(hql) //创建Query对象 .setParameter(0,userName)//动态赋值 .setParameter(1,password);//动态赋值 user=(User)query.uniqueResult(); //返回User对象 session.getTransaction().commit(); //提交事物 }catch(Exceptione){ e.printStackTrace(); //打印异常信息 session.getTransaction().rollback(); //回滚事物 } returnuser; }4.2.2系统首页页面进入系统后,可以看到左面的各个功能模块的导航,具体界面如图4.4所示,图4.4系统首页界面首页代码如下,<tr><tdonClick="menu(0)"height="33"background="images/m1.jpg"><fontclass="m1">商品管理</font></td></tr><trbgcolor="#E0FBC4"> <tdid="sub_0"><tablewidth="80%"align="center"><tr><tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"><ahref="baseData/med_add.jsp"target="main"class="sub1">添加商品</a></td></tr><tr><tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"><ahref="baseData/med.do?command=paging"target="main"class="sub1">查看商品</a></td></tr><tr><tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"><ahref="baseData/med_query.jsp"target="main"class="sub1">高级查询</a></td></tr><tr><tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"><ahref="baseData/med_count.jsp"target="main"class="sub1">查看库存</a></td></tr>/table></td></tr> <!--类别管理--> <tr><tdonClick="menu(1)"height="33"background="images/m1.jpg"> <fontclass="m1">类别管理</font></td></tr>trbgcolor="#E0FBC4"> <tdid="sub_1"><tablewidth="80%"align="center"><tr><tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"> <ahref="baseData/category_add.jsp"target="main"class="sub1">添加类别</a> </td> </tr> <tr> <tdheight="22"onmouseover="this.style.backgroundColor='#ffffff'"onmouseout="this.style.backgroundColor=''"> <ahref="baseData/category.do?command=paging"target="main"class="sub1">查看类别</a><tr>tdonClick="menu(2)"height="33"background="images/m1.jpg"><fontclass="m1">商品购买</font> onmouseout="this.style.backgroundColor=''"> <ahref="baseData/med.do?command=canSellMeds"target="main"class="sub1">选购商品</a> <tdheight="22"target="main"class="sub1">查看选购</a <tr><tdonClick="menu(3)"height="33"background="images/m1.jpg"> <fontclass="m1"><bean:messagekey="system.category.sell"/> </font> 4.2.3商品管理页面(1)添加商品,管理员可以在此输入商品的编号,从而进行下一步更详细的商品信息的添加,如图4.5所示,图4.5添加商品页面模块流程图如下4.6所示,开始开始结束添加信息将信息更新到数据库中更新是否成功否是添加失败添加成功图4.6添加商品流程图主要代码如下: //添加商品 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ Objectsmed=null; //获取ObjectsForm ObjectsFormdf=(ObjectsForm)form; ObjectsDaodao=newObjectsDao(); if(df.getMedCount()==0){ df.setMedCount(1); } med=newObjects(); BeanUtils.copyProperties(med,df); CategoryDaocd=newCategoryDao(); Categorycategory=cd.loadCategory(df.getCategoryId()); med.setCategory(category); //上传图片 FormFilephoto=df.getPhoto(); if(photo!=null&&photo.getFileSize()>0){ StringrealPath=this.getServlet().getServletContext() .getRealPath("/upload"); //将文件上传至服务器中指定的文件下 try{ Stringfname=photo.getFileName();//获取上传文件名称 if(fname.indexOf(".")!=-1){ //获取文件的扩展名 StringendWith=fname.substring(fname.lastIndexOf("."),fname.length()); //用当前的时间生成文件名称 SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmssSSS"); fname=sdf.format(newDate())+endWith; } //创建写入服务器地址的输出流对象 OutputStreamout=newFileOutputStream(realPath+"/"+fname); out.write(photo.getFileData()); //将文件写入到服务器 out.flush(); out.close(); //将文件名称保存到数据库 med.setPhotoPath(fname); }catch(Exceptione){ e.printStackTrace(); } } dao.saveOrUpdate(med); returnmapping.findForward("addSuccess"); }(2)查看商品,可以输入商品名称的关键字进行模糊查询,查询后商品信息以列表形式展示出来,在此处可以对商品进行进货、修改、购买的操作。如图4.7所示,图4.7商品查询页面主要代码如下: //分页查询商品信息 publicActionForwardpaging(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ //获取页码 StringcurrPage=request.getParameter("currPage"); //构建action地址 Stringaction=request.getContextPath()+"/baseData/med.do?command=paging"; //HQL查询语句 Stringhql="fromObjects"; //分页查询,返回Map对象 Mapmap=this.getPage(hql,recPerPage,currPage,action,null); //将结果集放到request中 request.setAttribute("list",map.get("list")); //将结果集放到分页条中 request.setAttribute("pagingBar",map.get("bar")); returnmapping.findForward("findAllSuccess"); }(3)查看库存,输入大于、等于、小于可以进行库存查询,如图4.8所示,图4.8库存查询页面主要代码如下: //根据medNo查询商品 publicActionForwardfindMedicineByMedNo(ActionMappingmapping, ActionFormform,HttpServletRequestrequest, HttpServletResponseresponse)throwsException{ //获取ObjectsForm ObjectsFormdf=(ObjectsForm)form; Objectsmed=null; //查询商品 if(df!=null&&df.getMedNo()!=null){ ObjectsDaodao=newObjectsDao(); med=dao.findMedicineByMedNo(df.getMedNo()); } //如果商品存在,更新数量 if(med!=null){ BeanUtils.copyProperties(df,med); request.setAttribute("med","med"); returnmapping.findForward("medUpdate"); }else{ CategoryDaocd=newCategoryDao(); Listlist=cd.findByHQL("fromCategory"); request.setAttribute("cs",list); returnmapping.findForward("medSave"); } }4.2.4类别管理页面在此添加商品的类别和描述,即可以完成商品类别的添加,如图4.9所示,图4.9类别添加页面主要代码如下: //添加或修改类别 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ //获取类别信息 CategoryFormcf=(CategoryForm)form; //创建Category对象 Categoryc=newCategory(); c.setName(cf.getName()); c.setDescription(cf.getDescription()); c.setCreateTime(newDate()); if(cf.getId()!=0){ c.setId(cf.getId()); } CategoryDaodao=newCategoryDao(); dao.saveOrUpdate(c); returnmapping.findForward("paging"); }4.2.5商品购买页面1.选购商品,在商品类别后面有购买的按钮,点击按钮可以跳转到填写购买信息的页面,确认信息后可以继续购物也可以结账完成购买,如图4.10所示,图4.10选购商品页面主要代码如下: //选购商品 publicActionForwardadd(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ SellDetailFormsdf=(SellDetailForm)form; if(sdf.getId()>0){ ObjectsDaomedDao=newObjectsDao(); Objectsmed=medDao.loadMedicine(sdf.getId()); sdf.setMedId(med.getId()); sdf.setSellName(med.getName()); sdf.setSellPrice(med.getPrice()); sdf.setSellCount(1); sdf.setFactoryAdd(med.getFactoryAdd()); } returnmapping.findForward("add"); }2.查看选购,在查看选购处可以继续购买或是结账,如图4.11所示,图4.11查看选购页面 //模糊查询,分页显示 publicActionForwardblurQuery(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ //获取关键词 StringkeyWord=request.getParameter("keyWord"); Stringaction=request.getContextPath() +"/sell/sell.do?command=blurQuery"; //HQL查询语句 Stringhql="fromSellDetails"; //获取当前页码 StringcurrPage=request.getParameter("currPage"); Object[]where=null; //转码 if(currPage!=null&&!currPage.equals("")){ keyWord=newString(keyWord.getBytes("iso-8859-1"),"gbk"); } if(keyWord!=null&&!keyWord.equals("")){ action+="&keyWord="+keyWord; keyWord="%"+keyWord+"%"; hql+="wheres.sellNamelike?"; where=newObject[]{keyWord}; } //分页查询 Mapmap=this.getPage(hql,recPerPage,currPage,action,where); //将结果集放到request中 request.setAttribute("list",map.get("list")); //将结果集放到分页条中 request.setAttribute("pagingBar",map.get("bar")); returnmapping.findForward("findAllSuccess"); }此处功能的活动图如图4.12所示,图4.12选购商品活动图主要代码如下:4.2.6进货/需求管理页面1.添加进货,在此处可以添加进货,并可以修改进货,如图4.14所示,图4.14添加进货页面主要代码如下: //更新商品进货完成 publicActionForwardmeded(ActionMappingmapping,ActionFormform, HttpServletRequestrequest,HttpServletResponseresponse) throwsException{ ObjectsFormdf=(ObjectsForm)form; //获取ObjectsForm Objectsmed=null; if(df.getId()>0){ ObjectsDaodao=newObjectsDao(); //实例化ObjectsDao med=dao.loadMedicine(df.getId()); //加载商品信息 if(med!=null){ //更新商品数量 med.setMedCount(med.getMedCount()+med.getReqCount()); med.setReqCount(0); //更新商品需求 dao.saveOrUpdate(med); //更新商品对象 } } returnmapping.findForward("addSuccess"); }2.查看进货,在进货后可以查看具体进货信息,从而决定是否完成进货,如图4.15所示,图4.15查看进货页面部分代码如下,</td></tr><trbgcolor="#FFFFFF"><tdclass="tb_tl"><bean:messagekey="system.delete"/></td><tdclass="tb_tl">ID</td><tdclass="tb_tl">商品编码</td><tdclass="tb_tl">商品名称</td><tdclass="tb_tl">单价</td><tdclass="tb_tl">库存数量</td><tdclass="tb_tl">需求数量</td><tdclass="tb_tl">出厂地址</t

温馨提示

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

最新文档

评论

0/150

提交评论