还剩47页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
图书分类号密级毕业设计论文商场管理需求分析系统SHOPPINGCENTERMANAGEMENTSYSTEMOFREQUIREMENTSANALYSIS学生姓名学院名称信电工程学院专业名称电子信息工程技术指导教师2009年5月18日XXX工程学院学位论文版权协议书本人完全了解XXX工程学院关于收集、保存、使用学位论文的规定,即本校学生在学习期间所完成的学位论文的知识产权归XXX工程学院所拥有XXX工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅XXX工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文论文作者签名 导师签名 日期 年 月 日日期 年 月 日摘要在科学技术不断进步的今天,解决实际问题、减轻工作量、提高工作效率是我们的根本追求面对种类繁多的数据和报表,手工处理方式已经很难跟上现代化管理的步伐随着计算机技术的飞速发展和INTERNET的迅速普及,利用网络实现商场服务管理科学化、规范化、信息化势在必行随着商场后勤社会化的逐步深入,零售商业发展迅猛,竞争日益激烈本文在对商场的业务进行了详细的需求调研之后,从需求分析开始,项目采用Rational统一过程RUP为软件开发方法,以统一建模语言UML为分析设计描述语言,以JZEE为技术平台,完成了系统的架构设计和详细设计,并最终将统实现为包括前台销售管理、后台商品管理系统、系统管理等子模块的管理信息系统本文分析了系统开发的背景、商场管理系统的发展现状,简要描述了系统需要解决的主要问题,概要描述了系统的整体情况,对系统的需求分析和架构设计进行了详细描述,并对部分有代表性的实例的详细设计和实现进行了描述,最后对于系统实现过程中的几个重点问题进行了详细的分析和论述本文着重介绍了本系统的特色之处:一是系统实现方面,由于系统的用户为前台营业员、少量的系统管理员、商场各部门管理人员、考虑到系统多用户和跨平台的特征,所以系统采用了B/S和C/S的混合架构,在实现B/S结构的多种解决方案中,针对用户需求和系统特点,采用JZEE技术体系,以及市场占有率高、成熟稳定的开源表现层框架STRUTS建立系统MVC架构,大大提高系统的性能,具体好的可维护性和可扩展性二是针对商场库存管理的独特特点,在对各种库存模型的反复比较下,我们库存预警和进货决策上选择了合理库存算法,实现了库存管理的智能化、自动化,商品结构的合理化,为商场节约了成本,商场进一步扩展作好了技术支持三是商场管理信息系统是该企业实现信息化的有机组成,属于企业管理信息系统中一个重要组成部分,是为了提高商场商品管理、节约经营成本以及提高对人员管理的水平而设计开发的管理信息系统系统设计的目标是简化商品销售及商品管理的工作量,提高商场工作效率、降低成本,方便高层对商场人员的管理,满足用户及时沟通需要,实现与企业其它管理信息系统协同工作关键词商品;管理;库存;销售目录TOC\o1-3\h\z\u1绪论
11.1系统研究的背景及意义
11.2系统解决的主要问题12需求分析
22.1系统概述
22.2系统的目标
22.3系统需求获取模式
22.4系统需求获取方法
32.5系统需求问题描述
32.
5.1功能性需求
32.
5.2系统非功能性需求53系统构架设计
73.1构架的目标和约束
73.2系统技术架构设计84系统详细设计
94.1系统建模
94.2系统数据库设计
104.
2.1概念设计
124.
2.2逻辑设计145系统实现
245.1前台POS销售
245.2后台商品管理
255.
2.1部分功能的实现步骤
255.
2.2销售报表的设计与实现
285.
2.3库存自动预警决策的实现
285.
2.4批量进货决策的实现
315.3系统关键技术说明
335.
3.1总体说明
345.
3.2Action内的函数设置34结论35致谢36参考文献37附录381绪论
1.1系统研究的背景及意义商场,是一个对科学管理和科学技术要求很高的行业.在同类行业的众多企业中,有的己经把商场电子管理纳入到企业规划重点,而有的仍然停留在较原始的手工操作随着国外新技术的引进,国内高新产品的陆续推出,商场的竞争将进入到一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争技术的提升和管理的升级是商场业的竞争核心新的技术,新的活力,使商场管理越来越向自动化、电子化的高科技领域发展商场的规模随之扩大了,商品数量急剧增加,有关商品的各种信息量也成倍增长销售人员不可能准确的记住每一种商品的价格,管理人员也很难做到每天将每种商品库存进行清点,商场时时刻刻需要对商品各种信息进行统计分析,还要做每天的报表、月报表、年报表,从而分析当月当年财务状况,与此同时,尽管商品需求量加大,种类也随之增多了,但是针对服务对象的特点,有些商品成为畅销品,有些商品成为滞销品,而且随着时间的,各种商品的销售状况也不同,商场领导层需要根据不同销售状况来决定商品采购计划,并且要对库存较多的商品采取一定措施,来作到仓库优化此系统的设计将会给商场管理人员带来很大的方便,它能够对所需要的东西做出明了的直观分析,从而使得商场的管理效率有所提高,这种系统模式在商场业务管理和人员管理上将会给人们耳目一新的感觉,因此,此系统将会对商场各领导产生重大的意义
1.2系统解决的主要问题通过该系统的设计,主要解决以下问题:
1.能够处理商场的日常业务,包括进、销、存管理,商品采购、供销商厂商的管理、销售情况统计报表、商场会员的情况统计等
2.能够实现前台营业员的pos机扫描收银与手工收银同时进行,并支持断网收银,时时更新数据库信息
3.能满足商场管理对信息的需求,及时准确地收集处理与经营有关的各种信息,并能将其分类整理
4.提高集中管理水平,充分利用计算机系统处理大量数据的能力,将各个供销商供给的不同类商品集中管理起来,使管理工作规范化,以提高其应变能力
5.为了提高管理工作效率,本系统要具有信息传递快捷,海量记忆能力和高速处理能力,可以大大提高业务管理中的工作效率2需求分析
2.1系统概述21世纪,商场的竞争也进入到了一个全新的领域,竞争已不再是规模的竞争,而是技术的竞争、管理的竞争、人才的竞争技术的提升和管理的升级是商场业的竞争核心零售领域目前呈多元发展趋势,多种业态:商场、仓储店、便利店、特许加盟店、专卖店、货仓等相互并存如何在激烈的竞争中扩大销售额、降低经营成本、扩大经营规模,成为商场营业者努力追求的目标
2.2系统的目标实现对商品流转管理、库存管理、商情管理、等实实时控制、修改、加工、分析的综合性管理信息系统,及时反映企业的经济活动状态和所需的各种商情信息,为各级管理者提供良好的决策支持环境,成为各级管理人员的有力助手,提高经济效益
2.3系统需求获取模式用户需求从提出到实现,是一个从无到有、从抽象到具体的过程在这个过程中,系统完成何种业务功能,系统包含哪些用户,分别为其提供哪些功能,在很大程度取决于用户能否系统的、完整的提出需求,这是需求获取阶段的一个重要问题需求获取的过程需要深入用户业务流程,体会用户业务实现的过程,整个过程需要用户的积极配合和参与,用户能否积极进行配合和参与,也是需求获取阶段的重要问题根据确定的系统开发模式,需求获取阶段使用UML的用例图的作为需求描述的主要方式之一,如何使用户领会面向对象的概念以及UML的建模方法是需求获取阶段必须解决的问题只有解决这个问题,才实现和用户的沟通,从而全面而确切的了解用户的需求克服需求的二义性需求二义性问题在以往的需求获取中经常发生,二义性可能会导致如下结果:用户认为是A,需求获取人员认为是B,设计人员设计完成后变成了C所以需求书写的二义性问题也是在需求获取阶段需要重点关注的问题之一需求是驱动整个软件开发的基础,稳定的需求对于系统开发非常重要,如果需求经常变化,将对软件开发的进度和质量控制产生破坏性的影响,如何应对不断变化的需求、控制用户需求变更是需求阶段必须面对的问题
2.4系统需求获取方法业务需求:反映了组织机构或客户对系统高层次的目标要求用户需求:描述了用户使用产品所能完成的任务功能需求:说明了软件的功能,用户使用这些功能以完成任务
一、需求获取在系统开发过程中,需求主要来自用户,开发的系统必须符合企业的实际情况,因此在系统需求的获取过程中,我们使用“会议讨论法”,以期最快速的使双方对需求的理解达到一致
二、需求建模需求建模的根本任务是为最终用户所看到的系统建立一个概念模型,作为对需求的抽象描述,并尽可能多的捕获现实世界的语义
三、形成需求规格形成需求模型构件的精确的形式化的描述,作为用户和开发者之间的一个协约本系统采用统一过程RUP作为系统开发方法RUP是一个将用户需求转化为软件系统所需要的活动的集合,即软件开发过程RUP不是一个简单的过程,而是一个通用的过程框架,可用于各种不同类型的软件系统、各种不同的应用领域、各种不同类型的组织、各种不同的功能级别以及各种不同的项
2.5系统需求问题描述
2.
5.1功能性需求在实际开发中,系统功能分析需要开发人员的系统分析及设计人员与用户进行全面、深入的交流,切实了解用户期望整个系统所应具有的功能,并分析用户行业营运特点,与用户共同决定系统的具体功能经过一段时间的对该校内商场实际需求进行分析,得出商场仓库管理系统分为以下四个子系统,前台Pos管理系统、后台商品管理系统、商场人员管理、系统管理子系统RUP模式的最大优点是按照角色Actor识别用例UseCase的方法,该方法可以较为直观地建立起系统的架构,通过反复识别,避免需求中的漏项现将各个系统图表述如下总体系统见图2-1图2-1系统图商品录入子系统见图2-2图2-2商品录入子系统功能描述商品录入子系统要求能快速录入商品,因此必须支持条形码扫描进货管理子系统见图2-3图2-3进货管理子系统功能描述收银业务子系统能计算交易总额,打印交易清单,并根据会员卡打折销售管理子系统见图2-4图2-4销售管理子系统功能描述销售管理子系统可以控制某商品是否允许销售,查询每种商品的销售情况并产生年、月、日报表,同时可以生成销售排行榜库存管理子系统见图2-5图2-5库存管理子系统功能描述库存管理子系统提供查询库存明细记录的基本功能,并根据库存的状态报警,以及自动盘点计算人员管理子系统见图2-6图2-6人员管理子系统功能描述人员管理子系统提供基本信息登记管理,员工操作权限管理,客户销售权限管理的功能
2.
5.2系统非功能性需求
2.
5.
2.1约束一,项目预算有限要求在半年收回成本二,系统使用者的使用权限是可识别的三,系统应能进行有效控制,抗干扰能力强四,为保证安全,不致使系统遭到意外事故的损害,系统因该能防止火,盗或其他形式的人为破坏,还要有强大的备份功能
2.
5.
2.2可用性非功能性需求虽然不直接影响系统功能,但在用户和系统支持人员对该信息系统的认可方面具有很大的影响在本系统中,为了保证非功能性需求的准确性和可测试性,主要采用了量化的指标要求来描述由于使用系统的工作人员信息化水平差别很大,必须保证对业务比较熟悉的用户经过短时间培训后即可熟练地应用本系统,因此在本系统中对于可用性的要求采用用户培训这样一个量化的指标来规定
2.
5.
2.3安全性在设计整个系统时,要注重安全性设计,保护销售数据、商品等资料以及系统本身的程序系统应能自动防备来自外部和内部侵人损害的能力,防止操作人员偶然失误、系统被动暴露信息、未经允许侵人系统等情况解决的方法是:对系统加密,钥匙盘由专人保管,减少外来用户进入系统的可能性,对能够接触系统的人员实行授权控制,防止错误操作或恶意的破坏3系统构架设计
3.1构架的目标和约束系统的架构设计应具满足结构简洁层次清晰,重用性好,易扩展、保证数据安全的目标且应具有高可伸缩性,满足企业未来发展
一、可用性好可靠性高作为一个商业系统,系统应能提供全天候服务的能力虽然本系统不需要做到每天24小时正常运行的能力,但因为随时有顾客买东西,数据随时会更新,而员工、领及职工可以随时通过企业网查询到自己所需的信息,员工提交请假销假等操作,所以仍要求系统具有较高的即时响应能力除了一年内几次系统升级需要短暂停止服务外,系统应具有提供持续服务能力,即使断网等因素出现,也尽量不影响商场销售此外,系统应具备失败处理能力系统出现错误是不可避免的,对于系统软件错误,系统应能记录错误发生的现场,以便日后分析处理,排除错误根源减少再次发生的可能性
二、安全性高从设计之初,安全性就是设计人员考虑的关键问题系统应当具备适当的授权和验证机制,安全通信能力等,以保证数据安全,防止非法用户使用系统
三、可伸缩性好系统的架构要满足未来更大规模业务发展的需要要充分利用现有的JZEE平台的优势设计系统,使系统基本不需要修改便可以通过增加硬件设备扩展系统提高系统的吞吐量
四、系统结构简洁,层次清晰设计一个结构简洁的框架,明确各个组件的作用和各层次的关系,是系统架构设计的重要目标清晰的层次可以提高系统的灵活性,且易于学习,易于掌握,可大大方便系统的后期升级和维护
五、重用性好可重用的软件组件可以避免不必要的重复开发工作,减少代码维护量,减少系统冗余.所有组件在设计时都应尽量减少对其应用环境和条件的假设,而应设计的尽量通用可充用的组件更容易发现其中存在的问题,从而提高系统架构的质量
六、易扩展对于像商场管理这样的系统,其业务模式是在不断发展变化中的,因此系统的设计要足够灵活,充分利用面向对象技术和组件技术的优势,使系统容易满足各种变化,为未来系统升级可能带来的影响作准备任何一个系统都不是可以任意设计的,都有一定的约束和限制条件本系统为了实现架构的目标,遵循RUP软件开发过程,实行全程的质量控制,因此在设计策略方面要采用面向对象的分析和设计方法,RUP作为软件开发过程,UML作为建模语言,在技术规范方面要建立必要的设计和开发规范
3.2系统技术架构设计根据系统设计的具体要求,前台收银功能、系统管理等都需要依托C/S结构,而其他系统开发都是依托B/S架构的B/S架构系统采用典型的三层架构,表现层、业务层、持久层分层结构的分工明确,祸合度低,有利于进行程序单元测试和功能维护表现层负责处理与外界用户的接口以及与用户交互相关的动作展示在用户面前的是,运行于浏览器的HTML页面、CSS样式表、Java脚本语言、JavaApplet以及Flash用户通过HTML表单、URL提交、JavaApplet和Flash的主站连接,提交数据到MVCFramework,由MVCFramework进行提交数据的转换,动作控制的分派和转向,交递给最终的Action,由Action调用B0来进行相应的业务处理业务层主要是负责解决业务逻辑的组件,主要包含业务逻辑,根据需要也允许出现其他的对象,也称为业务逻辑层对于各种BusinessObject而言,其数据来源有两部分,一部分是表现层传递过来的调用数据,一部分是数据持久层传递过来的模型数据BO对调用数据进行逻辑判断,根据得到的逻辑结果对模型数据进行业务整合,最终将结果形成POJO传递给持久层并最终写入到数据库中;B0对模型数据进行一定的处理并按照表现层的要求形成表现层的数据并提供给表现层数据层包括持久层和数据库持久层负责从数据库中取出结果集,根据配置的对象与库表的对应Mapping关系,将结果集转化成相应的PO对象传递给BO层数据库负责关系数据的存储、查询、更新以及事务等等的支持持久层是屏蔽关系数据库细节的一个层,在系统中扮演着关系模型到对象模型的转换,自持久层以上,系统中传送的数据都是对象,使得面向对象的设计方式能够得到充分的体现,自持久层以下,系统中传送的数据都是关系型数据,基于完整的关系数据库理论,能够达到良好的数据访问性能数据库在系统中作为最低的一层,负责所有数据的存储、查询、更新,是整个系统运作的基础数据持久层采用Hibernate开源框架Hibernate是Java平台上的一种全功能的、开放源代码的ORMapping框架Hibernate在许多方面类似于EJBCMPCMR容器管理的持续性/容器管理的关系和JDOJavaDataobjects与JDO不同,Hibernate完全着眼于关系数据库的OR映射,并且包括比大多数商业产品更多的功能大多数EJBCMPCMR解决方案使用程序代码产生实作持续性程序代码,而JDO使用字节码修饰与之相反,Hibernate使用反射和执行时字节码产生,使它对于使用者几乎是透明的4系统详细设计
4.1系统建模系统模型的创建在整个项目的开发中是至关重要的,所以,在项目的开发过程中,要确保该阶段工作的质量,严格完成该阶段应该完成的各种UML图首先我们明确的是UML是一种可以应用与任何软件开发过程的标记法和语义语言,而不是一种设计方法UML图与系统开发的关系及表达,见图4-1图4-1UML图与系统开发的关系图分析完毕,我们就将在此系统中应用UML来建模在这个阶段,我们找出了商场管理系统中涉及的主要的类,并且结合用例模型中的用例,将各个类与用例有机结合起来对系统中的类,建立相应的类图来表示各个类之间的关系而如何让用例与这些类进行结合,则通过建立相应的序列图/协作图来进行建模分析模型的建立,并不是一个或几个类图所能实现的,为了对一个系统进行充分建模,对于不同的项目可以选用不同的建模元素和建模机制在对商场管理系统的建模中,选择了活动图建模和序列图建模来构建其对应的分析模型在商场管理系统的分析模型中,通过对商场系统的分析和几次迭代,找出了商场在类图中,我们选择了Rose提供的三种类的表示,即边界类、控制类、和实体类,并表示了各个类之间的关系边界类是与用户交互的界面类的抽象;控制类是系统中的一些计算、控制类的抽象;实体类是存储数据的类的抽象给出后台商品管理在分析阶段的类图关系,见图4-2图4-2后台商品管理的类图关系上面类图中,将后台商品管理中的类分成三种,并构建了类图,这种表示方法能够清楚地表示各个类在系统中所处的位置,更加直观为了图的整洁,在上图中,没有给出类的关键方法和属性的定义当然对于系统的设计仅仅给出三种类的关系是不够的,每一中抽象类之间也是存在相互关系的,我们要分别对各模块的实体类、控制类、抽象类进行分析以后台商品管理为例,给出实体类之间的关系,见图4-3图4-3实体类之间的关系
4.2系统数据库设计在系统的数据库设计中,首先要对系统分析得到的数据字典中的数据存储进行分析,分析各数据存储之间的关系采用E-R图的方法进行数据结构分析数据库管理通常采用的数据模型有三种,即层次模型,网状模型和关系模型因为关系数据库的性能最稳定且使用SQL语言,便于定义、维护数据和操作数据关系数据库有专门的查询操作非常简单,引用了完整性和其他约束条件,可以很好的保护数据库考虑到关系数据库的众多优点,所以,本系统亦采用关系数据库为数据模型数据库设计是管理信息系统设计的重要组成部分通常,支持管理信息系统的数据库系统由模式、子模式、应用程序、数据库和数据库管理系统等几部分组成它的核心问题是如何从系统的观点出发建立一个数据模式,使其满足:
1、符合用户需求,即能正确的反映用户的工作环境该环境包括用户需处理的所有数据并支持用户需进行的仍有加工
2、与所选用的DBMS所支持的数据库模式相匹配
3、数据组织合理,易操作、易维护、易理解管理系统设计一个数据库系统通常包括:一是用户需求分析,收集和分析用户需求是数据库系统设计中的基础,其目的是根据一个组织中高层领导和终端用户的需求,决定整个管理信息系统的目标、范围及应用性质二是基本数据库的结构设计,基本数据库的结构设计要考虑数据库组织的合理性,主要包括:数据的基础程度、数据的稳定程度、数据的重要程度、数据的冗余程度三是中间数据库结构的设计,所谓中间数据库是指为满足某个具体功能模块要求而从基础数据库中生成的临时工作库四是与应用程序的接口,为了提高系统的稳定性和可维护性,通常要求数据的组织结构与应用程序之间保持相对独立性,要求在数据库设计时应尽可能为程序员提供透明的数据库接口,以利于他们调整和维护程序数据库设计方法主要是以逻辑数据库设计和物理数据库设计为核心的规范设计方法逻辑数据库设计是根据用户要求和特定数据库管理系统的具体特点,以数据库设计理论为依据,设计数据库的全局逻辑结构和每个用户的局部逻辑武结构物理数据库设计是在逻辑结构确定之后,设计数据库的存储结构及其他实现细节各种规范设计方法在设计步骤上存在些微差别,通过分析、比较和综合,本论文将数据库设计分为6个阶段:需求分析阶段、概念结构设计阶段、逻辑结构设计阶段、数据库物理设计阶段、数据库实施阶段、数据库运行和维护阶段其设计全过程见图4-4图4-4数据库设计全过程
4.
2.1概念设计概念设计是指在数据分析的基础上自底向上的建立整个系统的数据库概念结构,从用户的角度进行视图设计,然后将视图集成,最后对集成的结构分析优化得到最终结果E一R模型是概念设计的有利工具经过调查,商场管理系统所涉及的实体及主要属性有:
1、商品商品编号,商品名称,价格,促销价格,允许打折,允许销售
2、用户用户编号,用户名称,用户密码,用户类型
3、会员编号,卡号,累积消费金额,注册日期
4、供货商供货商编号,供货商名称,供货商地址,供货商电话
5、厂商厂商编号,厂商名称,厂商地址,厂商电话根据实体集及其属性,经过分析可以得出如下实体联系:
1、商店中的所有用户员工可以销售多种商品,每种商品可由不同用户员工销售
2、每个顾客可以购买多种商品,不同商品可由不同顾客购买
3、每个供货商可以供应多种不同商品,每种商品可由多个供应商供应下面就是数据库的概念设计图,见图4-5图4-5概念设计图
4.
2.2逻辑设计逻辑结构设计是将概念数据模型转换成特定的数据库管理系统支持的数据模型通常不同型号计算机系统配备的DBMS的性能不尽相同为此数据库设计者还需深入了解具体数据库管理系统的性能和要求,以便将一般数据模型转换成所选用的DBMS能支持的数据模型概念设计所得到的E一R模型是独立于DBMS的,这里的转换就是把E一R图转换为层次模型或者网状模型或者关系模型的逻辑结构对于支持关系模型的DBMS来说,可以认为上述转换工作己经在概念结构设计阶段完成了只有在选用了支持层次、网络模型的在DBMS时在这一步需要完成从关系模型向层次或网络模型转换的工作本系统选用的是关系型数据库管理系统,因而在逻辑设计中的工作是将E一R模型所表示的概念结构转换为关系模型,并将关系模式进行规范化,最终可得到系统所需的关系表见表4-1表4-1数据库表索引表名中文名MerchInfo商品信息表User用户表Menber会员表Sale销售表Dealing交易表Stock进货入库表Provide供货商表Factory厂商表数据库索引见图4-6图4-6数据库索引商品信息表(商品编号,商品名称,价格,条形码,促销价格,促销起日期,促销日期,允许打折,库存数量,库存报警数量,计划进货数,允许销售,厂商编号,供货商编号),其数据库表结构见表4-2表4-2商品信息表字段名字段类型长度主/外键字段值约束对应中文名MerchIDint4PNotnull商品编号MerchNameVarchar50Notnull商品名称MerchPriceMoney4Notnull价格MerchNumInt4Notnull库存数量CautionNumInt4Notnull库存报警数量PlanNumInt4null计划进货数BarCodeVarchar50Notnull条形码SalesProPriceMoney4促销价格SalesProDateSDatetime8促销起日期SalesProDateEDatetime8促销止日期AllowAbateInt4Notnull允许打折AllowSaleInt4Notnull允许销售FactoryIDVarchar10FNotnull厂商编号ProvideIDVarchar10FNotnull供货商编号其商品信息见图4-7图4-7商品信息图用户表(用户编号,用户名称,用户密码,用户类型)其数据库表结构见表4-3表4-3用户表字段名字段类型长度主/外键字段值约束对应中文名UserIDvarchar10PNotnull用户编号UserNameVarchar25Notnull用户名称UserPWVarchar50Notnull用户密码UserStyleInt4Notnull用户类型其用户信息见图4-8图4-8用户信息图会员表(会员编号,会员卡号,累积消费金额,注册日期),其结构表见表4-4表4-4会员表字段名字段类型长度主/外键字段值约束对应中文名MemberIDVarchar10PNotnull会员编号MemberCardVarchar20Notnull会员卡号TotalCostMoney4Notnull累积消费金额RegDateDatetime8Notnull注册日期其会员信息见图4-9图4-9会员信息图销售表(销售编号,商品编号,销售数量,销售金额,销售日期),其数据库表结构见表4-5表4-5销售表字段名字段类型长度主/外键字段值约束对应中文名SaleIDVarchar10PNotnull销售编号MerChIDVarchar10FNotnull商品编号SaleDateDatetime8Notnull销售日期SaleNumInt4Notnull销售数量SalePriceMoney4Notnull销售单额其销售信息见图4-10图4-10销售信息图交易表(交易编号,用户名称,交易金额,会员卡号,交易日期),数据库表结构见表4-6表4-6交易表字段名字段类型长度主/外键字段值约束对应中文名DealingIDVarchar10PNotnull交易编号DealingPriceMoney4Notnull交易金额DealingDateMoney4Notnull交易日期MemberIDVarchar10会员卡号UserNameVarchar10FNotnull用户名称其交易信息见图4-11图4-11交易信息图进货入库表(入库编号,入库商品编号,入库数量,单额,总额,入库日期,计划进货日期,入库状态),其数据库表结构见表4-7表4-7入库纪录表字段名字段类型长度主/外键字段值约束对应中文名StockIDVarchar10PNotnull入库编号MerchIDVarchar10FNotnull入库商品编号MerchNumInt4Notnull入库数量MerchPriceMoney4Notnull单额TotalPriceMoney4Notnull总额StockDateDatetime8Notnull入库日期PlanDateDatetime8Notnull计划进货日期StockStateInt4Notnull入库状态其入库信息见图4-12图4-12入库信息图供货商表(供货商编号,供货商名称,供货商地址,供货商电话),其数据库表结构见表4-8表4-8供货商表字段名字段类型长度主/外键字段值约束对应中文名ProvideIDvarchar10PNotnull供货商编号ProvideNameVarchar50Notnull供货商名称ProvideAddressVarchar250供货商地址ProvidePhoneVarchar25供货商电话其供货商信息见图4-13图4-13供货商信息图厂商表(厂商编号,厂商名称,厂商地址,厂商电话),其数据库表结构见表4-9表4-9厂商表字段名字段类型长度主/外键字段值约束对应中文名FactoryIDvarchar10PNotnull厂商编号FactoryNameVarchar50Notnull厂商名称FactoryAddressVarchar250厂商地址FactoryPhoneVarchar25厂商电话其厂商信息见图4-14图4-14厂商信息图其关系图见图4-15图4-15关系图5系统实现
5.1前台POS销售前台POS子系统主要是在C/S架构下完成的,可是实现断网销售需要将系统客户端程序安装到客户端工作站上,在前台POS销售系统中,主要完成的是商场商品的销售业务,当营业员上班后,先用自己的用户、密码,登陆系统,准备迎接顾客界面见图5-1图5-1前台POS收银系统界面当有顾客将商品拿到交款台时,营业员进入交款页面,页面如下:在该页面将完成的是,如果客户带有会员卡,将先扫描卡号,扫描失败的话可以手工输入,如果匹配,再扫描的商品价格会自动按95折计算,并将所购物品的总金额累计到该会员的总消费中营业员可对商品进行扫描将自动显示出商品的条形码,商品编号,价格,促销价格等信息,回车确认后,计算机会自动算出应收价格,由营业员输入实收价格将自动显示找零价格实现页面见图5-2图5-2前台销售商品界面同时该系统支持直接输入商品名称,对于同类多件商品采用一次录入数量的方式输入完毕后,点击确定,会在POS页面中自动产生网格,显示出该商品的相关信息
5.2后台商品管理系统管理员登陆界面见图5-3图5-3管理员登陆界面后台商品管理模块是在B/S架构下完成的,主要是以商品为核心信息查询管理信息的用户提供了登陆窗口,登陆该系统的用户通过用户名密码登陆
5.
2.1部分功能的实现步骤点击进入商品管理功能,在商品管理页面下,管理员可以添加新商品,修改现有商品信息具体流程为当查看进货单发现有新商品来到时,在商品基本信息页面,点击添加将新商品的各种信息按页面所示,填入,如果是食品,需填入生产日期和保质期,自动生成销售限定日期,到此日期系统会自动限售该商品管理员还可以使用搜索商品功能,可以以商品名称、条形码、名称、价格等任一条件既可搜索,并可通过商品列表过滤功能来,检索同一厂商、供应商或同属促销、停售等状态的商品群等多种方式来搜索所要查询的商品信息,搜索方式可以通过复选框复合搜索,当原来商品信息发生改变是,需要点击修改按钮,修改信息当某商品不再进货,将在商品管理页面以一定条件搜索出来,点击删除管理员的删除停售商品;并提供商品搜索功能在通过对仓库库存,销售量情况等数据进行分析后,选中列表中的商品,在对选中商品设定中选择允许销售,禁止销售或提交进货来设定当前该商品下一步的销售策略见图5-4图5-4商品管理界面点击进入销售管理页面,销售管理页面,我们主要是用到查询功能和生成报表的功能,通过输入商品条形码、查询类型、日期限制的任一个或者组合都可查询,并且设定了全部和分组显示两种模式同时,我们还在此页面设计了交易查询,通过对员工名称、会员卡号、日期限制的选择,实现某个营业员在一定时间内的销售量查询,某一个会员累计购买量查询,在购买量后面会自动显示该名教师的会员积分,管理员可以根据有效期等条件在这里选择使用,积分清零设置在本页面还设计了一个很重要的功能,就是用各种方式生成报表,可以灵活的查看和打印商品销售日、月、年报表其界面见图5-5图5-5销售管理界面进入库存管理页面,在此页面,管理员可以在选项中选择各种方式符合查看商品的库存情况,在库存管理页面有个一个重要的功能实现就是商品自动预警提示和预警单的生成当某商品的库存量己经低于或高于商品设定的最低库存量,就将启动库存预警功能,并生成预警表单,表单包含内容包含:商品名称、商品类别、规格型号、商品批次号、进货数量、当前库存量、单位进价、商品库存设定的上限值、商品库存设定的下限值、商品超货数量、商品缺货数量、处理建议议、商品建议补货数量其界面见图5-6图5-6库存管理界面
5.
2.2销售报表的设计与实现决策人员主要是通过生成的各种销售报表来对销售情况做详细的了解,本系统的销售情况的分析是通过系统自动生成的各种报表和统计表来进行的,销售报表的制作对于本系统就显得非常重要了,这也是本系统的一大特色系统在销售管理子功能中自动生成的销售排行榜,管理人员可以灵活查看和打印商品销售日,月,年报表,来为领导层决策下一步的营销策略,提供有利的支持本系统是使用iRePort和Jasperreport配合实现各种报表任务的JasPerreport程序库是一个灵活,功能强大的报表产生工具,可以以PDF,HTML或翔L等多种形式产生报表,并支持CSV,XLS,等格式报表该引擎由java编写,支持多种形式应用程序产生动态报表打印的报表文档,Jasperreport是按照一个预定义的xml文档来组织报表的数据,这些数据来源多样,包括关系数据库、java容器对象,按照它编写的规则编写一个XML,然后得到用户所要的报表文件JasperReport本身并未提供很好的可视化报表设计工具,iReport的出现正好弥补这个缺陷iReport是为JasperReports设计的强大的,直观的,易于使用的可视化报表设计器,主要作用是用来以可视化的方式设计生成JasperR所使用的报表格式文件,采用纯Java开发,这个工具允许用户可视化编辑包含图片,子报表等的复杂报表
5.
2.3库存自动预警决策的实现在商场的经营活动中,库存占有极其重要的地位因为商品就是商场经营的核心,同时库存中的商品是一种重要的流动产,库存占用的资金对于商场来说也是一笔较大的数目因此,库存管理历来都受到企业的重视库存预警支持模块其功能为:通过对于数据库中大量历史数据的分析和归纳,根据各种商品在不同季节、不同区域的不同销售量和库存量的历史数据,不同的需求计划,确定出库存商品的最高最低库存量,并且能够对于当库存商品数的最高库存量或低于设定的最低库存量时,自动产生商品库存预警单和自动补货单其主要目的是为了给库存商品设定最高最低库存量限制,降低库存商品资金占用其库存预警图见图5-7图5-7库存预警决策功能库存预测及预警模型指数平滑法指数平滑法是一种权数特殊的加权平均法前期实际销售量以a表示加权因子或平滑系数,前期预测的销售量乘以l一a,这两个乘积相加便得出本期预测销售量其计算公式为:Yt=Yt-1+aXt-1一Yt-1=aXt-l一aYt-1+Yt-1=aXt-1+Yt-1一aYt-1=aXt-1+1一aYt-1式中:Xt一1表示上期实际销售量;Yt-1表示上期预测值;Y:表示本期预测值;a表示平滑系数平滑系数a,代表了新旧数据的分配比值a取值范围为0a1一般在
0.01一
0.3之间较为合适,这是经验数据指数平滑法预测,实际上包含了所有的原始数据只是随着时间的推移,距离目前越远的数据加权越小各期平滑系数分别为a,a1一a,al一a2,..它的取值大小,实际上表现了不同时期的因素在预测中所扮演的不同角色a取值越大,则上期实际值所占比重越大;a取值越小,则预测值之趋势较平滑,越接近长期趋势线季节平均系数分析法季节平均系数分析法适用于全年销售而有一定季节性波动的预测此法是根据历史销售资料,用数学方法计算其季节变动趋势,测算各季平均季节性指数和季节性总平均指数,再求出季节性系数,来衡量季节性的影响程度然后季节性系数来预测各季销售值具体方法如下:第1步,根据历史统计资料计算四期平均数和居中平均数居中平均数是2个四期平均数相加除以2得出第2步,计算历年各季销售量的季节性指数各季季节性指数二季销售实际/各季居中平均数第3步,计算历年同季的平均季节指数同季的平均季节指数二历年各季的季节指数之和/季数第4步,计算季节性总平均指数计算季节性总平均指数=各季平均季节指数之和/年数以上所计算的季节性系数,是说明季节对于各季销售的影响程度系数为1,表示无季节性影响;系数大于或小于1,表示有季节性影响,差距越大影响越大以全年销售量预测值除以年数,再乘以季节性系数,就可以求出考虑季节性影响后的各季节预测值商场商品库存预警的实现设计思路如下:一,根据各种商品在不同季节、不同区域的不同销售量和库存量的历史数据,初定库存商品上下限量的初始数据二,考虑到需求计划、气候季节、促销活动、销售趋势等影响因素,确定出各种商品的不同权重比例三,综合库存商品限量的初始数据和不同权重比例,设定库存商品的最高最低库存量四,在库存商品的最高最低库存量设定的基础上,当库存商品数量高于设定的最高库存量或低于设定的最低库存量时,系统将自动产生商品库存预警单和自动补货单其中,如何确定库存最高最低量是该模块设计的关键最终经过几次深入分析,最终我们确定了以下设计方法:首先将库存商品按照ACB分类法进行分类,确定库存商品限量的维持时间然后更新本地数据库中的当前记录,并查询库存统计最新结果其目的是以当前的库存数据作为基准值,用来比较限量后的库存上限和下限数值其次要查询不同时期、不同季节的商品销售量统计明细表、商品库存量统计明细表等历史数据,作为初始数据设定和权重比例值的设定的依据再次通过加权平均法确定库存限量的初始数据最后考虑到各连锁店需求计划、气候季节、促销活动、销售趋势等因素,结合具体数据记录,用比较分析法进行权重预测设定并确定出商品的综合权重比例通过代入计算比较,可以确定库存商品的最高最低库存量
5.
2.4批量进货决策的实现通过对商场需求的深入分析,我们发现,商场进货计划的制定直接关系着商场的运营,商场整个经营活动是一个复杂的有机体,不可能简单的就是商品的库存量自动预警提示了,就按照缺少量进货要根据商品销售量和库存量等各个方面进行衡量,同时,该商场的规模决定了商场的不可能向大型商场一样总是保持大批量进货,但要想拿到货源价格的优惠就需要,对进货计划多做研究本系统对商场批量进货决策设计是从确定每一次进货数量的角度进行设计和分析的其目的是为了确定库存进货批量,从而降低库存采购成本批量进货决策设计的主要思路:根据库存ABC分类分析方法进行库存商品分类管理,然后再利用不同预测分析方法确定相关参数;最后用程序表示出不同条件下的各种数学经济批量模型,代入各种模型的参数,对大量数据进行处理形成库存辅助订货决策模型,生成优化库存进货的建议量本系统的辅助订货支持模型建立方法如下:
一、查询各种商品销售量和库存量的历史数据,当前库存商品的具体数据,确定辅助模型的数据来源将库存商品按照ACB分类法进行分类管理设定商品的最高和最低库存量,现有库存若是超过或低于设定值,则产生库存预警,启动自动补货处理上述操作可以由库存管理、商品预警自动补货处理两个模块来实现
二、参照以往的进货量数据,考虑到资金、库存容量等制约条件,对需求量、单位货物的保管仓储成本等影响进货预期的外部因素,进行合理预测,设定不同的参数数值,确定外界约束条件其中,影响需求量的因素主要有:价格预期、销售预期等
三、导入批量订货模型根据外界条件的不同,有多个库存模型公式,每个经济数学批量模型公式都可以用程序语言进行表达
四、根据不同的外界约束条件,利用经济批量模型对数据进行计算,得出不同情况下的不同的最佳的订货数量
五、结果满足要求,则输出结果其结果供物流采购模块和自动补货模块使用否则,比较现有库存记录,修改约束条件后,再进行计算通过以上的过程设计,可以确定一个最佳的订货数量,降低库存采购成本其辅助决策流程图见图5-8图5-8库存管理辅助订货决策流程
5.3系统关键技术说明在前面我们提到,本系统作为企业一个重要的组成部分,需要具有良好的可扩展性,与MIS接轨,而商场的商品管理和人员管理是是该校办企业的核心,因此在这些部分的开发基于先进的Struts开发框架,从而达到优化系统,提高开发效率、可维护性、可扩展性的目的Struts是一个基于SunJZEE平台的MVC框架,主要是采用Servlet和JSP技术来实现的Struts框架可分为以下四个主要部分,其中前三个就和MVC模式紧密相关:
一、模型Model,本质上来说在Struts中Model是一个Aetion类,开发者通过其实现业务逻辑,同时用户请求通过控制器向Action的转发过程是基于由strutsconfig.xml文件描述的配置信息的
二、视图View,View是由与控制器Servlet配合工作的一整套JSP定制标签库构成,利用它们我们可以快速建立应用系统的界面
三、控制器Controller,本质上是一个Servlet,将客户端请求转发到相应的Action类
四、一堆用来做XML文件解析的工具包,Struts是用XML来描述如何自动产生一些JAVABean的属性的,此外Struts还利用XML来描述在国际化应用中的用户提示信息,这样一来就实现了应用系统的多语言支持页面模板技术采用APache组织的Tiles技术,可实现灵活的页面模板功能事件是指从客户端页面浏览器由用户操作触发的事件,Struts使用Action来接受浏览器表单提交的事件,struts重要的表单对象ActionForm是一种对象,它代表了一种应用,这个对象中至少包含几个字段,这些字段是JSP页面表单中的i即ut字段,因为一个表单对应一个事件,所以,当我们需要将事件粒度细化到表单中这些字段时,也就是说,一个字段对应一个事件时,单纯使用Struts就不太可能,当然通过结合Java也是可以转弯实现的
5.
3.1总体说明
一、DAO采用工厂模式,每个大模块都有一个工厂类,在相应模块的DAO目录下,相应的配置文件在src下在工厂类中对每个DAO都定义了get和set方法,在Action中创建一个工厂类的实例,然后调用相应DAO的get方法获得
二、字段长度和类型按照数据库设计进行校验
三、对于界面中的必输项,在每个必输项的标题后面紧跟着一个红色的*号标识
四、本系统采用stiles结构思想
5.
3.2Action内的函数设置在Action中获得operFlag值operFlag是在每个Form继承的Pag1nationActionForm类中定义的后,不要直接和相应的值进行比较,由If区分后直接在该If下完成相应的功能,不需要定义函数如果有特殊的功能,则可以自己定义结论系统基本满足了商场各方面的管理要求,但是在开发过程中还是显露出很多问题,比如在系统需求获取过程中,虽然我们与用户进行了及时沟通,但由于起初对商场的隶属关系并不清楚,该商场系统的各级用户了解不够全面,部分用户和开发人员在对系统认识上的差异,还是没有能够完全捕捉用户需求:在系统开发过程中,系统编码实现有时不能满足系统设计要求,造成项目无法通过系统测试,必须返工,使系统无法按时完工,增加了系统开发成本对于本系统来说,还是有许多值得改进的地方,主要是在系统性能、系统接口方面可以进一步的加强随着企业的发展,客户还会提出新的需求,还需要对用户需求和详细设计进行改进致谢完成本论文,首先要感谢我的指导老师老师是她严谨的治学态度和一丝不苟的精神,帮助我顺利完成论文工作,同时给我的学习生活留下了难以忘怀的记忆从开题、撰写、中期检查、初审、预审直至最终论文答辩,老师都给了我莫大的指导和支持在这里,首先向老师致以我最诚致的谢意其次,要感谢我的同学,感谢他们在我完成论文和项目期间对我的关心和帮助感谢他们,让我愉快的度过这些日子最后,我要感谢我的父母,他们为我的工作和学习提供了最好的支持,让我能够安心地完成我的目标我将永远铭记老师、同学和家人对我的关怀和帮助,衷心的感谢他们!参考文献
[1]张红军李亚芬.商业连锁企业管理信息系统的模型研究与开发[J].计算机应用研究2001年11期
[2]卞新宇,吕志民.基于无线局域网的库存管理系统的设计和实现[J].物流科技.2006年02期
[3]刘建华.银座集团股份有限公司零售企业的竞争战略研究[D].山东大学.2006年
[4]刘宇.大型商场促销对大品牌供应商合作意向影响研究[D].吉林大学.2006年
[5]张珍宝刘升.商场管理系统的分析与设计[J].高等函授学报自然科学版.2002年03期
[6]陶宏才.数据库原理及设计[T]陶宏才.数据库原理及设计.北京清华大学出版社,2004年11月
[7]范立南.SQLServer2000实用教程[T].北京清华大学出版社,2004-2-28
[8]李香敏.SQLServer2000编程员指南[T].北京北京希望电子出版社,2000-12-1
[9]ShariLawrencePfleeger.软件工程理论与实践[T].北京清华大学出版社2003-08-01
[10]何鹏中国超市你需要计算机管理吗一超市管理信息系统的设计与实现[J].市场与电脑1997年11期
[11]谷可超市可视化管理系统的设计[J].商场现代化2006年19期
[12]卞新宇吕志民.基于无线局域网的库存管理系统的设计和实现[J].物流科技2006年02期
[13]赵刚马万太高芳周燕飞.基于Extranet和XML的面向供应链的智能采购管理系统[J].计算机应用研究2003年07期
[14]王海群.大型超市商店形象对顾客满意与忠诚的影响研究[D].浙江大学2006年
[15]胡欣洁路川.基于ACCESS数据库的院士信息管理系统的研制与实现[J].计算机工程与应用1997年11期
[16]徐永嘉曾庆丰田志良.用统一建模语言UML设计关系数据库[J].昆明理工大学学报2001年02期
[17]周达仁张显陈意云.用UML和RationalRose实现面向对象的三层C/S结构设计[J].计算机工程2000年09期
[18]杨翠蓉,尹平林,王明哲.ERP环境下的仓库管理信息系统设计[J].计算机与现代化2001年05期附录创建数据库的程序代码createdatabaseMarketdbonprimaryname=Marketdbfilename=C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Marketdb.mdfsize=100MBmaxsize=200MBfilegrowth=20MBlogonname=Marketlogfilename=C:\ProgramFiles\MicrosoftSQLServer\MSSQL\Data\Marketdb.ldfsize=60MBmaxsize=200MBfilegrowth=20MBgo创建基本表的程序代码use[Marketdb]go创建交易表CREATETABLEDealingDealingIDintidentity11PrimarykeyDealingDatedatetimeNOTNULLDealingPricemoneyNOTNULLUserNamevarchar25NULLMemberCardvarchar20NULLGO创建厂商表的程序代码CREATETABLEFactoryFactoryIDvarchar10PrimarykeyFactoryNamevarchar50NOTNULLFactoryAddressvarchar250NULLFactoryPhonevarchar50NULLGO创建会员表的程序代码CREATETABLEMemberMemberIDvarchar10PrimarykeyMemberCardvarchar20NOTNULLTotalCostmoneyNOTNULLRegDatedatetimeNOTNULLGO创建商品信息表的程序代码CREATETABLEMerchInfoMerchIDintidentity11PrimarykeyMerchNamevarchar50UniqueNOTNULLMerchPricemoneyNOTNULLMerchNumintNOTNULLCautionNumintNOTNULLPlanNumintNOTNULLBarCodevarchar20UniqueNOTNULLSalesProPricemoneyNULLSalesProDateSdatetimeNULLSalesProDateEdatetimeNULLAllowAbateintNOTNULLAllowSaleintNOTNULLFactoryIDintNOTNULLProvideIDintNOTNULLGO创建供应商表的程序代码CREATETABLEProvideProvideIDvarchar10PrimarykeyProvideNamevarchar50NOTNULLProvideAddressvarchar250NULLProvidePhonevarchar25NULLGO创建销售表的程序代码CREATETABLESaleSaleIDintidentity11PrimarykeyMerChIDintNOTNULLSaleDatedatetimeNOTNULLSaleNumintNOTNULLSalePricemoneyNOTNULLGO创建入库表的程序代码CREATETABLEStockStockIDintidentity11PrimarykeyMerchIDintNOTNULLMerchNumintNOTNULLMerchPricemoneyNULLTotalPricemoneyNULLPlanDatedatetimeNULLStockDatedatetimeNULLStockStateintNOTNULLGO创建用户表的程序代码CREATETABLEUserUserIDvarchar10PrimarykeyUserNamevarchar25NOTNULLUserPWvarchar50NOTNULLUserStyleintNOTNULLGO创建表间约束的程序代码商品信息表中厂商编号、供应商编号分别与厂商表、供应商表之间的外键约束ALTERTABLEMerchInfoADDCONSTRAINT[FK_MerchInfo_Factory]FOREIGNKEY[FactoryID]REFERENCESFactory[FactoryID]CONSTRAINT[FK_MerchInfo_Provide]FOREIGNKEY[ProvideID]REFERENCESProvide[ProvideID]GO销售表中商品编号与商品信息表之间的外键约束的程序代码ALTERTABLESaleADDCONSTRAINT[FK_Sale_MerchInfo]FOREIGNKEY[MerChID]REFERENCESMerchInfo[MerchID]ONDELETECASCADEGO入库表中商品编号与商品信息表之间的外键约束的程序代码ALTERTABLEStockADDCONSTRAINT[FK_Stock_MerchInfo]FOREIGNKEY[MerchID]REFERENCESMerchInfo[MerchID]ONDELETECASCADEGO创建索引的程序代码/*在交易表上建立一个以交易编号、交易日期为索引项的非聚集索引*/CREATEnonclusteredINDEXIX_DealingONDealingDealingIDDealingDateGO/*在商品信息表上建立一个以商品编号为索引项的非聚集索引*/CREATEnonclusteredINDEXIX_MerchInfoONMerchInfoMerchIDGO/*在销售表上建立一个以销售编号、销售日期为索引项的非聚集索引*/CREATEnonclusteredINDEXIX_SaleONSaleSaleIDSaleDateGO/*在入库表上建立一个以入库编号、入库日期、商品编号为索引项的非聚集索引*/CREATEnonclusteredINDEXIX_StockONStockStockIDStockDateMerchIDGO创建视图的程序代码/*创建用于查询交易情况的视图*/CREATEVIEWv_DealingASSELECTDealingDateas交易日期UserNameas员工名称MemberCardas会员卡号DealingPriceas交易金额FROMDealingGO/*创建用于查询进货计划的视图*/CREATEVIEWv_PlanStockASSELECTStock.StockIDasSIDMerchInfo.MerchNameas商品名称MerchInfo.BarCodeas条形码Factory.FactoryNameas厂商Provide.ProvideNameas供货商Stock.MerchNumas计划进货数量Stock.PlanDateas计划进货日期FROMStockMerchInfoProvideFactoryWhereStock.MerchID=MerchInfo.MerchIDandProvide.ProvideID=MerchInfo.ProvideIDandFactory.FactoryID=MerchInfo.FactoryIDandStock.StockState=0GO/*创建用于查询销售明细记录的视图*/CREATEVIEWv_SaleASSELECTMerchInfo.MerchNameas商品名称MerchInfo.BarCodeas条形码MerchInfo.MerchPriceas商品价格Sale.SalePriceas销售价格Sale.SaleNumas销售数量Sale.SaleDateas销售日期FROMSaleINNERJOINMerchInfoONSale.MerChID=MerchInfo.MerchIDGO/*创建用于查询入库情况的视图*/CREATEVIEWv_StockASSELECTMerchInfo.MerchNameas商品名称MerchInfo.BarCodeas条形码Factory.FactoryNameas厂商Provide.ProvideNameas供货商Stock.MerchPriceas入库价格Stock.MerchNumas入库数量Stock.TotalPriceas入库总额Stock.StockDateas入库日期FROMStockMerchInfoProvideFactoryWhereStock.MerchID=MerchInfo.MerchIDandProvide.ProvideID=MerchInfo.ProvideIDandFactory.FactoryID=MerchInfo.FactoryIDandStock.StockState=1GO登陆系统的程序代码%@pagecontentType=“text/html;charset=GBK”language=”java”import=”java.Sql.*java.util.Date”errorPage=””%jsp:useBeanid=”mdb”class=”ekstudio.db.faq”scope=”page”/%Booleanoundeer=false;Stringusernameuserpass;if!foundeer{ifsession.getAttribute“username”==null{username=request.getParamete“username”;usepass=request.getParameter“userpass”;ifusername==null||userpass==null{outprint“fontsize=4color=red用户名和用户密码不能为空!/font”;founder=true;}Stringsql=select*frommemberwhereusername=”+username+”;Resultsetrs;rs=tndb.executeQuerysql;if!rs.next{out.print“fontsize=4color=red你输入的用户不存在!/font”;founder=true;}else{ifuserpass.equalsrs.getString“userpass”{sessionsetAttribute“username”””+rs.getString“username”+””;session.setAttribute”usertype”””yes”;Stringsqll=”updatemembersetuserlasttime=”+newjava.util.Date.toLoealeString+Stringrequest.getRemoteHost+”whereusername=”+username+”;mdb.executeUpdatesqll;response.sendRedirect“index.jsp”;else{out.print“fontsize=4color=red你输入的密码错误!/font”;foundeer=true;}}}ElseresPonse.sendRedirect“index.jsp”;}iffounder{%brahre=javascript:history.go-1”重新登陆/a%}查看商品程序代码PublicResultSetgetMerch{Stringsql=”select*fromMerch”sqlBeandb=newsqlBean;ResultSetrs=db.executeQuerysql;Returnrs;}删除商品的程序代码PublicintdeleteMerchStringMerchld{Intnum=0;Stringsql=deletefromMerchwhereMerch=”+Merchid+”;Num=db.executeDeltesql;Returnnum;}在Action内的函数设置代码publicActionForwardexecuteActionMappingmappingActionFormactionform.HttpServletRequestreqestHttpServletResponseresponse{Forward=mapping.findForward“success”;Returnforward;}生成销售排行榜查询打印销售情况商品销售控制支持会员卡打折打印交易清单交易总额计算收银业务人员管理库存管理支持条形码扫描快速商品录入商品录入销售管理进货管理收银业务商品录入后台管理系统前台POS销售系统商场管理系统销售管理自动盘点计算库存管理库存状态自动告警提示查询库存明细记录客户销售权限管理提示员工操作权限管理提示基本信息登记管理人员管理m消费促销价格价格商品名称商品ID销售ID销售供货商供货商ID供货商地址供货商电话销售日期供货日期供货金额m用户密码用户ID用户累计金额会员ID注册时间1m生产nm供货商名称厂商电话厂商地址厂商名称厂商ID厂商会员卡号消费金额购买日期商品允许打折允许销售会员供货。