基于JAVA的小型超市管理系统(含源文件).doc_第1页
基于JAVA的小型超市管理系统(含源文件).doc_第2页
基于JAVA的小型超市管理系统(含源文件).doc_第3页
基于JAVA的小型超市管理系统(含源文件).doc_第4页
基于JAVA的小型超市管理系统(含源文件).doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

精品文档网站规划与建设综合实验课程设计报告设计题目: 基于JAVA的小型超市管理系统 专 业: XXXXXXX 班 级: XXXXX班 指导教师: XXXXX 组长姓名: XXXXX 学号: XXXXX姓名: XXXXX 学号: XXXXX 姓名: XXXXX 学号: XXXXX 姓名: XXXXX 学号: XXXXX 姓名: XXXXX 学号: XXXXX 2013年6月计算机科学与技术系1欢迎下载。摘要 本文首先简单给出了超市管理系统的设计背景和意义,并介绍了系统开发所用到的开发工具和语言,然后在进行了需求分析的基础上,说明了系统功能模块的划分及各模块之间的相互关系,然后着重论述了系统功能的一些重要的技术实现过程。本系统的每一个功能模块都包含了多个功能。整个系统主要完成对超市商品的日常管理,包括进货管理,销售管理,库存管理,员工管理和供应商管理等方面。在功能上系统可以完成对相关信息的浏览、查询、添加、删除、修改等功能。本课题的核心之一是销售管理、库存管理和进货管理三者之间的联系,同时系统有完整的用户管理及权限管理功能。 本系统选择的是在Myeclipse8.5平台上使用Java语言作为前台开发工具,SQL2005作为后台数据库平台,通过SQL2005将系统所需的数据和用户操作的数据与前台连接起来。关键词:JAVA;数据库;Myeclipse;超市管理1欢迎下载。目 录1绪论31.1课题的开发背景31.2课题研究的目的与意义31.3开发方法32基本理论42.1什么是Java42.2 Java语言的优势42.3 SQL Server 2005数据库优点53系统需求分析53.1需求分析53.1.1用例分析63.1.2类图分析63.2系统功能概述73.2.1用户的特点73.2.2对功能的规定73.3运行环境规定93.3.1设备93.3.2开发环境配置93.4系统性能要求103.4.1系统时间特性要求103.4.2系统灵活性103.4.3数据管理能力要求103.5可行性分析103.5.1技术可行性103.5.2经济可行性113.5.3操作可行性114系统概要设计114.1系统总体设计方案114.2系统数据流图124.3系统活动图134.4系统数据库设计134.4.1数据库需求分析134.4.2数据库概念设计(E-R图)144.4.3数据库逻辑结构155详细功能设计185.1系统主要功能模块设计185.1.1登录模块流程185.1.2进货管理流程195.1.3销售管理流程195.1.4库存管理流程205.2系统主要功能模块实现215.2.1登陆模块实现215.2.2进货管理模块实现235.2.3 销售管理模块实现245.2.4库存管理模块实现276系统测试286.1系统测试步骤286.1.1单元测试286.1.2集成测试296.1.3确认测试296.2系统测试296.2.1界面测试296.2.2功能测试29结 论31 1绪论1.1课题的开发背景随着竞争的日益激烈,如何降低成本已经成为超市首要解决的问题。对普通的超市来讲,涉及原材料的进货渠道,销售情况及库存等方面的管理,管理的好与坏对超市的持久性至关重要。概括地讲,用户对进销存系统的需求具有普遍性。超市进销存管理系统使用于超市的采购,销售和仓库部门,对超市采购,销售及仓库的业务全过程进行有效控制和跟踪。使用超市进销存管理系统可有效减少盲目采购,降低采购成本,合理控制库存,减少资金占用并提高市场灵敏度,提升超市的市场竞争力。1.2课题研究的目的与意义随着小型超市规模的发展不断扩大,商品数量急剧增加,有关商品的各种信息量也成倍增长,传统的人工记忆方式也慢慢的无法适应形势的变化。随着信息技术的发展,计算机已被广泛的用于社会的各个领域,成为推动社会发展的技术动力。而在计算机应用中,软件的作用十分突出,软件已经发展成为信息技术的核心,主导着信息产品的开发和信息技术市场的进一步的开拓。软件产业已成为社会信息化进程中的一个战略性产业。在软件技术的应用中软件的开发技术尤其是应用型软件产品的开发技术成了重中之重。不断开发适应用户需求、市场需要的新型软件产品。超市需要处理大量的库存信息,还要时刻更新产品的销售信息,不断添加商品信息。面对不同种类的信息,需要合理的数据库结构来保存数据信息,需要有效的程序结构支持各种数据操作的执行。商店自动化的产品管理在欧美等国家早已经实现,也是零售业管理的基础。它最主要的特点是能够实时的和准确的控制店内的销售情况。如果可以能够实时掌握销售流程及销售情况,则可以有效地加速商品的周转率并提高服务质量,而且可以减少产品售价不符等所产生的问题。顾客的消费要求的是希望在超市购物中能基本上都能购得所需的商品,并且还要既保证商品质量还要享受优质,方便的服务。1.3开发方法本系统采用Myeclipse8.5作为前台开发工具。后台数据库采用SQL Server 2005数据库,因为它的灵活性、安全性和易用性为数据库编程提供了良好的条件。利用三层结构技术,即表示层、逻辑层、数据服务层。这三层被分成三个相对独立的单元。表示层负责与用户交互,并把相应的请求通过调用中间层的组件传递给逻辑层;逻辑层通过组件执行具体的事务逻辑,通过SQL等方式向第三层的组件提出数据或其他资源请求。表示层在客户端的应用浏览器中运行,数据访问也在专用的数据库服务器上运行。采用三层结构能很好的解决软件的可扩展性、安全性、管理性等关键问题。2基本理论2.1什么是Java Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。它最初被命名为Oak,目标设定在家用电器等小型系统的编程语言,来解决诸如电视机、电话、闹钟、烤面包机等家用电器的控制和通讯问题。由于这些智能化家电的市场需求没有预期的高,Sun放弃了该项计划。就在Oak几近失败之时,随着互联网的发展,Sun看到了Oak在计算机网络上的广阔应用前景,于是改造了Oak,以“Java”的名称正式发布。Sun 公司对 Java 编程语言的解释是:Java 编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。2.2 Java语言的优势Java 编程语言的风格十分接近C、C+语言。Java是一个纯的面向对象的程序设计语言,它继承了 C+ 语言面向对象技术的核心,Java舍弃了C +语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。在 Java SE 1.5 版本中,Java 又引入了泛型编程(Generic Programming)、类型安全的枚举、不定长参数和自动装/拆箱等语言特性。 Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码,从而实现了“一次编译、到处执行”的跨平台特性。不过,每次的编译执行需要消耗一定的时间,这同时也在一定程度上降低了 Java 程序的运行效率。但在 J2SE 1.4.2 发布后,Java 的执行速度有了大幅提升。2.3 SQL Server 2005数据库优点SQL Server 2005的一个重要设计目标就是提高默认状态下的安全系数。为了缩小被攻击范围,最危险的一些特性都被禁用,除非数据库管理员启用它们。这有所帮助,不过,对有经验的数据库管理员来说帮助不大。他们基本上会编写锁定脚本,觉得安装时加以运行不是很麻烦。安全方面真正重要的改进则是密码管理和权限分配方面。现,在可以设置原始SQL密码来顾及Windows密码政策,这意味着用户可以要求SQL密码拥有与Windows账户同样的密码强度、失效日期、历史、锁定 阈值、锁定时间及生命期等政策,甚至可以要求用户在下次登录时更改密码。安全方面的其他重要改进还包括:加强了对模式变更的控制、能够对数据进行列级加密。SQL Server 2005不但克服了高可用性和灾难恢复方面的缺点,还几乎在各个方面都有了全面改进:管理任务得到了简化;监控和诊断功能得到了增强;默认的锁定配置、数据加密及其他新特性增强了安全。如今,分析服务(Analysis Services)、报表服务(Reporting Services)和数据挖掘(Data Mining)全面集成,而且已经很成熟。数据转换服务(DTS)已从头到尾经过了改写,已逐渐成为更强大、更灵活的SQL服务器集成服务(SSIS)。与Visual Studio和.Net/CLR的集成,把SQL Server的内部机制展现给了.Net开发人员、把.Net的内部机制展现给了SQL开发人员。这意味着,现在就可以利用.Net的强大功能,用于存储过程、数据流和数据转换、商业智能等应用的。3系统需求分析3.1需求分析需求分析是介于系统分析和软件设计阶段之间的重要桥梁。一方面,需求分析以系统规格说明和项目规划为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。良好的分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量。3.1.1用例分析用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,本文中采用用例技术进行需求分析的获取和分析。为了能够正确的找出系统的用例,需要确定系统的边界,找出系统的执行者。用例图如图1所示图1 超市管理系统用例图3.1.2类图分析类图(Class diagram)由许多(静态)说明性的模型元素(例如类、包和它们之间的关系,这些元素和它们的内容互相连接)组成。类图可以组织在(并且属于)包中,仅显示特定包中的相关内容。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。在类描述中一般只给出主要类及主要类间的关系。类图是所有面向对象建模方法的核心部分,类图描述了系统的静态结构,由类及类间的关系组成。类是具有相同属性和相同方法的对象的集合,系统类图如图2所示。图2 超市管理销售系统类图3.2系统功能概述本系统主要完成超市管理(商品信息管理、供货商管理、进货管理、退换货管理、商品销售管理、客户管理、客户退货管理、仓库设置、库存管理)等功能。通过以上功能实现简单、便捷的超市管理系统。3.2.1用户的特点本软件最终的用户操作人员水平不一,大多数对电脑只是简单了解,一般用户除了具有一定的计算机应用能力外,还必须各司其职,不得随意泄露口令,以共同维护整个系统的安全和正常运行。维护人员要求具有专业计算机水平,必须具备一定的网络及数据库的操作和管理知识,并具有高度的责任感和强烈的安全意识。3.2.2对功能的规定本系统采用Myeclipse8.5作为开发平台,后台语言为Java,前台功能采用JavaScript,并采用SQL SERVER2005数据库开发一个供超市员工使用的小型超市管理系统,利用数据库的读写实现管理系统的各个功能,本系统主要完成超市商品信息管理、供货商管理、进货管理、退换货管理、商品销售管理、客户管理、客户退货管理、库存管理等功能。通过以上功能实现简单、便捷的超市管理系统。系统能够实现对商品的入库管理、商品销售管理等方面提供存储、更新、查询、统计汇总、打印等功能,超市中库存商品资料,出库、入库信息由管理人员在系统库存单元负责管理。而商品销售,商品查询由收银员在前台实现。因此系统范围不涉及管理决策单元和财务单元中往来、账款资金方面的管理。本系统分为管理员登陆和员工登陆两种用户登陆模式。1)管理员登陆管理员登陆之后可以进行商品信息管理,员工信息管理,商品进货管理,商品销售管理,商品库存管理,系统管理等操作;(1) 商品信息管理:商品信息分为商品类别管理、商品信息添加、商品信息维护等操作。添加商品类别的时候只需输入类别名称(类型一般分为:日用品、食品、药品、电器、衣物、床上用品);添加库存商品时候要填入:商品编号、商品类别、商品名称、商品单位、商品型号、商品规格、商品售价、商品产地以及附加备注信息等;而商品信息维护可以更新商品的名称、商品类型、商品售价、商品规格等信息。(2) 员工信息管理:员工信息管理有员工信息添加和员工信息维护两个操作。员工信息添加需要添加员工的编号、姓名、性别、生日、电话、身份证、家庭住址以及密码等信息;员工信息维护则可以更新修改员工个人信息、(3) 商品进货管理:进货管理分为进货登记、进货查询、退货登记、退货查询。登记需要选择供应商信息、商品,录入进货价格、数量、总价、日期等;进货查询则可以查询商品的供应商,进货单价、总价、数量、日期等;退货登记除了要登记以上信息外还有填写退货原因,退货查询则可以查询退货的信息。(4) 商品销售管理:商品销售管理分为商品销售查询、员工业绩查询、顾客退换货办理、退货商品查询等四个操作。其中,商品销售查询可以根据员工编号销售查询员工的销售情况,也可以根据单据号查询某一笔交易的情况,还可以根据时间查询本超市该时间段的商品销售状况;员工业绩查询则可以查询某一段时间内各员工的销售业绩;顾客退货办理,需按要求输入该交易的销售单据、商品编号、退货单价、退货数目、退货原因以及商品是否完好等消息才能实行退登记;退货信息查询则可以根据商品编号、单据号以及时间查询本超市的商品退货信息以及退货商品总金额。 (5) 商品库存管理:商品库存管理分为商品库存查询和商品库存报警。商品库存查询可以根据商品的编号或者名称查询本超市该商品的库存信息;商品库存报警功能则是当库存量低于20的时候出现红色警报,而商品的库存量高于300的时候出现黄色提醒。(6) 系统管理:系统管理包括供应商管理、修改密码、关于系统等模块。供应商管理可以显示全部供应商信息,并且添加新的供应商信息(需填写供应商公司名称、供应商法人代表、供应商电话、供应商地址等信息);修改密码泽可以修改当前登录用户(即管理员)的登录密码;关于系统模块则是介绍本系统的开发环境等一些信息。2)员工登陆员工登陆模式有商品销售管理、商品库存管理、系统管理三个操作。(1) 商品销售管理:商品销售管理包括商品销售和个人业绩查询两个功能。商品销售时,员工可以根据商品编号搜索获取顾客想要购买的商品信息,然后填写顾客要购买的数量并且添加到购物车,添加完顾客要购买的全部商品后在进行结账,系统计算全部商品的总价,再根据顾客付给的金额计算找零,最后完成操作回到销售商品页面。个人业绩查询,员工可以根据单据号或者日期查询自己的销售业绩。(2) 商品库存管理:商品库存管理模块,员工也可以查看商品库存和库存报警。(3) 系统管理:员工的系统管理模块只包括修改密码和关于系统两个操作。 3.3运行环境规定3.3.1设备a 为了使本系统可以稳定的运行,硬件要求CPU达到奔腾3以上,内存至少为512M。b 外存可以不做要求,但建议应该在40GB以上。c 本系统不要求在联机情况下使用。3.3.2开发环境配置在开发企业小型超市管理系统时,开发环境配置如下:1) 硬件平台计算机设备2) 软件平台操作系统:Microsoft Windows XP Professional数据库:Microsoft SQL Server 2005开发工具:Myeclipse 8.5浏览器:IE 6.0Framework版本: Framework 2.03) 辅助工具 界面辅助工具:Photoshop cs43.4系统性能要求对系统性能的要求包括对系统时间要求,灵活性,数据管理能力等的要求。3.4.1系统时间特性要求系统的速度要在用户可接受的范围内,但考虑到需要实时检测商品的数量和库存情况,对资源实时搜索的速度可以有较低的要求。3.4.2系统灵活性系统要有良好的接口,以适应增加商品信息,增加商品类型,增加相关的商品录入功能的需求;增加商品信息的更改和更新功能。3.4.3数据管理能力要求系统要有较高的管理能力,本系统采用的是SQL Server 2005数据库。具有较强的数据处理能力,数据库引擎增强、分析服务增强等。记录的个数随用户多少不定,但能保证注册的用户都能登录进来,没有延时。3.5可行性分析可行性分析是依据初步调查的结果做出系统开发可行与否的结论过程。任何一个工程的立项都需要进行项目的可行性分析。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决、是否值得去解决。根据调查分析,系统设计方案有以下三个可行性。3.5.1技术可行性根据前期的市场调查与对下列系统功能、性能及实现系统的各项所需技术的约束条件的分析来看,本系统程序开发应是一个集数据库管理和查询为一身的系统,依据现有的开发技术,开发硬件、开发软件的性能要求及环境条件等来看,各项条件良好,同时,考虑给予的开发期限较为充裕,预计可以在规定期限内完成预定功能地开发与实现。在软件方面本程序设计采用的开发环境是Myeclipse8.5用开发语言Java编写程序 ,SQL Server 2005做后台数据库。在硬件方面电脑的各种配置包括输入输出能力,内部存储器和外部存储器的容量都能满足用户的要求。3.5.2经济可行性本超市管理系统,其前期的投入比较小,主要是系统的设计费用:其中包括系统开发费用、管理和维护费等。而后续的投入相对较小,很长时间内都不会需要进一步投资,管理和维护费用也很少,而系统实际能够起到的作用会远远大于投入的开发费用,相信会有十分可观的前景。因此这个系统很有开发价值。3.5.3操作可行性本系统界面清晰直观、易于操作。由于它能够准确记录、检索和管理有关超市各类商品信息和用户信息,帮助超市经营者掌握和分析营销情况,及时做出正确决策,并且便于超市相关内部人员对商品的管理,因而大大提高了超市的管理水平与效率。综上所述,从经济可行性、技术可行性和操作可行性来说,系统开发是完全可行的。4系统概要设计本阶段完成系统的大致设计并明确系统的各模块功能以及数据结构。在概要设计阶段的指导思想是结构化指导思想,是指用一组标准的规则和图表工具确定系统有哪些模块,怎么连接,从而形成新系统的结构,然后再进行诸如输入、输出、对话等设计,为整个系统的实施做好铺垫。4.1系统总体设计方案本系统前台使用Myeclipse8.5平台来设计,访问数据库服务器;后台采用Microsoft公司的SQL Server 2005。SQL Server2005开发后台数据库,用于提供数据服务。SQL Server 2005是一种典型关系型数据库管理系统,该系统具有数据一致性好,完整性强,安全性高的优点,系统采用结构化设计方法,按超市实际工作内容来确定所需,将整个系统作为一个大模块自顶向下,以模块化结构设计技术进行模块分解,然后再自底向上,按照系统的结构将整个模块进行组合,最终完成本超市管理系统的开发。具体功能模块如下:登录模块:具备登录员工、管理员登陆功能。商品信息管理模块:提供添加商品类型,修改商品信息、商品类型管理功能。供应商管理模块:具备供应商信息查询、添加新供应商的功能。进货管理模块:提供进货登记、进货查询的功能。退货管理模块:提供退货登记、退货查询功能。商品销售管理模块:提供销售登记、销售记录查询功能。客户退货管理模块:提供销售退货登记、销售退货查询功能。库存管理模块:提供库存查询、库存商品预警查询功能。4.2系统数据流图数据流图是将提供给用户的业务流程图进行功能建模,转化成开发人员能够理解的一系列“逻辑模型”图,即以图形化的方法描绘数据在系统中的流动和处理的过程,这些图都应该用规范的DFD描述。本系统操作流程,用户根据不同的身份账号进入登录模块,在登录栏处输入用户名和密码以及随机产生的验证码,然后选择用户类别,系统进行验证用户身份,若系统没有检索到用户名,则不允许进入,进去后根据所拥有的权限进行操作。管理员拥有所有权限可选择某种商品种类,点击进入商品信息管理模块,查看商品细售价等信息,销售模块和进货模块可以修改进货和销售清单。在供货商管理模块中可以查看供货商详细的通讯地址、联系方式等信息 本系统的数据流图是比较清晰的,对各功能模块来说都比较有规律。系统的第一层层和第二层数据流图分别如图3和图4所示。4.3系统活动图活动图阐述了用例实现的过程,用于研究实现业务目标时所要执行的各项任务或活动的顺序安排。本超市管理系统的活动图如图5所示:图5 超市管理系统活动图4.4系统数据库设计数据库设计是建立数据库及应用系统的技术,是信息系统开发和建设中的核心技术,具体说,数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及应用系统,使之能够有效地存储数据,满足各种用户的要求数据库设计是管理信息系统的重要组成部分。这里采用SQL Server2005数据库。该数据库对行增、删、改、统计、显示和应答都极为方便。其中的排序和索引功能,对数据快速定位、查询提供了有利条件。4.4.1数据库需求分析主要是收集基本数据及确定数据的处理要求,需求分析主要解决如下问题:1、数据要求:用户需要从数据库中获取什么数据,并决定在数据库中存储那些数据。2、操作要求:明确用户对数据的操作要求,从而确定数据之间的关系。4.4.2数据库概念设计(E-R图)概念结构设计是整个数据库设计的关键,它能通过对需求进行综合,归纳与抽象,形成一个独立于具体DBMS的概念模型,即E-R图。简单的说,E-R图用来分析数据关系的。下面具体给出超市管理系统主要的实体图。管理员实体图如图6所示。商品信息实体图如图7所示进货管理实体图如图8所示销售管理实体图如图9所示。 4.4.3数据库逻辑结构逻辑结构是把概念结构转换为某个DBMS所支持的数据模型,并对其进行优化。本系统根据E-R图可以对数据库进行设计,以下列出主要的数据表。员工信息表如表4.1所示:表4.1 用户信息表字段字段名类型是否为空employeeNoIDvarchar(20)否employee Name姓名nvarchar(20)是employeePassword密码varchar(30)是employeeSex性别nchar(1)是employeeBirthday生日datetime是employeeEducationId学历int是employeeHomeTel家庭电话varchar(20)是employeeMobile手机号varchar(20)是employeeCard身份证号varchar(20)是employeeEmail电子邮箱varchar(30)是employeeAddress家庭住址nvarchar(80)否商品信息表如表4.2所示:表4.2 商品信息表字段字段名类型是否为空goodNo商品编号varchar(20)否goodClassId类型编号Int是goodName商品名称nvarchar(30)否goodUnit商品单位nvarchar(2)是goodModel商品型号nvarchar(20)是goodSpecs商品规格nvarchar(20)是goodPrice商品售价float是goodPlace商品产地nvarchar(50)是goodMemo备注信息char(10)是goodAddTime进货日期datetime是供应商信息表如表4.3所示:表4.3 供应商信息表字段字段名类型是否为空supplierName公司名称nvarchar(50)否supplierLawyer法人代表nvarchar(4)是supplierTelephone电话varchar(11)否supplierAddress地址nvarchar(50)是退货登记信息表如表4.4所示:表4.4 退货登记表字段字段名类型是否为空buyBackId退货编号int否goodNo商品编号varchar(20)是supplierName供应商varchar(50)是price退货价格float是number退货数量int是totalPrice退货总价float是buyBackDate退货日期datetime是buyBackReason退货原因text是buyBackAddTime登记时间datetime是进货登记信息表如表4.5所示:表4.5 进货登记表字段字段名类型是否为空buyId进货单号int否goodNo商品编号varchar(20)否supplierName供应商nvarchar(50)否price进货价格float是number进货数量int是totalPrice进货总价float是buyDate进货日期datetime是addTime登记时间datetime是管理员信息表如表4.6所示:表4.6 管理员信息表字段字段名类型是否为空adminUsername用户名varchar(20)否adminPassword密码varchar(32)否学历信息表如表4.7所示:表4.7 学历信息表字段字段名类型是否为空educationId学历编号int否educationName学历名称nvarchar(20)否员工业绩信息表如表4.8所示:表4.8 员工业绩表字段字段名类型是否为空employeeNo员工编号varchar(20)否employeeName员工名称nvarchar(8)否employeeSellMoney销售金额float否销售信息表如表4.9所示:表4.9 销售信息表字段字段名类型是否为空sellInfoId销售编号int否sellNo单据号varchar(30)否goodNo商品编号varchar(20)是price销售价格float是number销售数量int是totalPrice销售总价float是sellTime销售时间datetime是employeeNo员工号varchar(20)是商品库存信息表如表4.10所示:表4.10 商品库存信息表字段字段名类型是否为空sellBackId退货编号int否sellNo销售单据varchar(20)是goodNo商品编号varchar(20)是price退货价格float是number退货数量int是totalPrice退货总价float是sellBackReason退货原因text是sellBackTime退货时间datetime是商品类别信息表如表4.11所示:表4.11 商品类别信息表字段字段名类型是否为空goodClassId类型编号int否goodClassName类型名称nvarchar(20)是商品库存信息表如表4.12所示:表4.12商品库存信息表字段字段名类型是否为空goodNo商品编号varchar(50)否goodCount库存数量int是购物车信息表如表4.13所示:表4.13购物车信息表字段字段名类型是否为空goodCartId购物车编号int否employeeNo员工编号varchar(20)是goodNo商品编号varchar(20)是goodCount商品数量Int是5详细功能设计详细设计的根本目标是确定应该怎样具体地实现所要求的系统,也就是说,经过这个阶段的设计工作,应该的出对目标系统的精确描述,从而在编码阶段可以把这个描述直接翻译成用某个设计的语言书写的程序。详细设计的任务不是具体的编写程序,而是要设计出程序的“蓝图”,以后可根据这个蓝图写出实际的程序代码。详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计出的处理过程应该尽可能简明易懂。本系统所包括的几大模块如下:登录模块、进货模块、库存管理模块、销售管理等多个模块。5.1系统主要功能模块设计5.1.1登录模块流程本模块的主要功能是对用户身份进行验证,只有系统的合法用户才能进入系统。在进行系统登录过程中,登录模块将调用数据库里的用户清单,并对账号和密码进行验证,只有输入了正确的账号和密码后,系统登录才会成功。并在输入了错误的或者是不存在的账户和密码时,系统会提示出错信息,指明登录过程中的错误输入或者错误操作,以便用户进行正确的登录。系统登录模块流程如图10所示:5.1.2进货管理流程功能:该模块主要是实现进行进货信息查询功能。进货信息查询:该模块为超市提供整个超市的进货情况查询,也可以进行进货信息的明细查询。输入项、输出项:该模块的输入项为超市的商品编号,其中包括商品的编号、供货商号、进货价、数量、金额进货日期和备注。进货管理流程如图11所示:5.1.3销售管理流程功能:本模块的主要功能是把销售信息写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询和打印,此外还可以对销售信息进行查询和盘点功能。销售信息查询:根据商品销售情况,按需要对销售情况进行查询。在该查询模块中,可以按照商品的编号、销售日期等多种方式进行商品销售信息查询。销售信息盘点:可以按照需要对在一定时期内的销售情况进行盘点。输入项、输出项:本模块的数据输入项主要是商品的单据号和员工编号。其中还包括销售数量和销售日期。销售管理流程如图12所示:5.1.4库存管理流程功能:本模块的主要功能是商品信息的查询和更新,库存信息的查询和更新。查询商品信息:主要功能查询商品的明细信息,和它的库存信息。添加商品信息:主要功能添加新进的商品。修改商品信息:主要功能是修改商品的信息,包括他的库存数量。删除商品信息:主要功能是删除不再销售的商品信息。输入项、输出项:本模块的数据输入项主要是商品编号。库存管理流程如图13所示。5.2系统主要功能模块实现5.2.1登陆模块实现此模块主要实现员工和管理员的登录进入系统,需要输入用户名、密码和验证码,填写完毕后,点击发送,如填写成功顺利进入系统,如用户名、密码或者验证码错误则会提示相应错误信息。图5.4 库存管理流程图登录主界面如图14所示:图14 登录界面后台代码如下:protected void doPost(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException / TODO Auto-generated method stub/response.setContentType(text/html;charset=GBK);HttpSession session = request.getSession();/* 首先取得jsp页面传来的参数信息 */String txtName = request.getParameter(txtName);String txtPwd = request.getParameter(txtPwd);String identify = request.getParameter(identify);String code = request.getParameter(code);String sessionCode = (String) session.getAttribute(code);String errMessage = ;/* 验证输入信息的完整行和正确性 */if (txtName.equals()errMessage += 用户名不能为空!;if (txtPwd.equals()errMessage += 密码输入不能为空!;if (!code.equals(sessionCode)errMessage += 验证码输入不正确!;if (txtPwd.indexOf() != -1)errMessage += 请不要进行sql注入攻击!;/* 如果验证没有通过转到登陆页并提示错误信息 */if (!errMessage.equals() request.setAttribute(errMessage, errMessage);RequestDispatcher wm = request.getRequestDispatcher(login.jsp);wm.forward(request, response);return;/* 如果初步验证通过就需要进一步验证 */* (1)如果是管理员身份登陆系统 */if (identify.equals(admin) Admin admin = new Admin();admin.setAdminUsername(txtName);admin.setAdminPassword(txtPwd);/*如果是管理员身份用户名和密码都验证成功则设置session的值然后重定向到管理首页*/if (AdminDAO.checkLogin(admin) session.setAttribute(adminFlag, true);session.setAttribute(adminUsername, txtName);response.sendRedirect(Admin/index.jsp); else errMessage += 管理员帐号或密码错误!;request.setAttribute(errMessage,errMessage);RequestDispatcher wm = request.getRequestDispatcher(login.jsp);wm.forward(request, response); else if (identify.equals(employee) Employee employee = new Employee();employee.setEmployeeNo(txtName);employee.setEmployeePassword(txtPwd);/*如果是员工身份用户名和密码都验证成功也设置session的值然后转到员工操作首页*/if(EmployeeDAO.checkLogin(employee) session.setAttribute(employeeFlag, true);session.setAttribute(employeeNo, txtName);response.sendRedirect(Employee/index.jsp); else errMessage += 员工帐号或密码错误!;request.setAttribute(errMessage,errMessage);RequestDispatcher wm = request.getRequestDispatcher(login.jsp);wm.forward(request, response);5.2.2进货管理模块实现商品的进货管理是超市管理系统中的一个非常重要的功能,在庞大的商品信息中,能够及时添加所缺少的商品,是超市经营中一个重要的环节。本系统采用商品数量预警方案,当商品数量下降到预警范围内。管理员就会及时发现缺的商品,从而进货。本模块对商品的录入进行操作。进货管理模块如图15所示。图15 进货登记模块本模块使用了Ajax技术,在选择商品名称时,无刷新快速显示商品信息。主要实现代码如下:function DisplayGoodInfo() var GoodName = XMLHttpReq.responseXML.getElementsByTagName(GoodName)0.firstChild.nodeValue; var GoodModel = XMLHttpReq.responseXML.getElementsByTagName(GoodModel)0.firstChild.nodeValue; var GoodSpecs = XMLHttpReq.responseXML.getElementsByTagName(GoodSpecs)0.firstChild.nodeValue; var GoodPlace = XMLHttpReq.responseXML.getElementsByTagName(GoodPlace)0.firstChild.nodeValue; document.getElementById(GoodName).innerHTML = GoodName; document.getElementById(GoodModel).innerHTML = GoodModel; document.getElementById(GoodSpecs).innerHTML = GoodSpecs; document.getElementById(GoodPlace).innerHTML = GoodPlace; document.getElementById(GoodInfo).style.display = ; 5.2.3 销售管理模块实现销售管理是超市系统中的核心部分,进入销售界面,选择需要的货物,并输入数量。系统会自动算出价格。录入待销售的界面。点击确认,并转向销售单。销售信息的写入销售清单,同时对库存清单进行更新,以备用户将来对库存信息进行查询。商品详细的信息已经录入超市的数据库中,这样大大缩小了销售人员的工作量。提高了销售人员的工作效率。销售管理模块如图16和17所示。图16 商品销售购物车图17 商品销售结账主要实现后台代码如下: /*

温馨提示

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

评论

0/150

提交评论