• 工作总结
  • 工作计划
  • 心得体会
  • 述职报告
  • 事迹材料
  • 申请书
  • 作文大全
  • 读后感
  • 调查报告
  • 励志歌曲
  • 请假条
  • 创先争优
  • 毕业实习
  • 财神节
  • 高中主题
  • 小学一年
  • 名人名言
  • 财务工作
  • 小说/有
  • 承揽合同
  • 寒假计划
  • 外贸信函
  • 励志电影
  • 个人写作
  • 其它相关
  • 生活常识
  • 安全稳定
  • 心情短语
  • 爱情短信
  • 工会工作
  • 小学五年
  • 金融类工
  • 搞笑短信
  • 医务工作
  • 党团工作
  • 党校学习
  • 学习体会
  • 下半年工
  • 买卖合同
  • qq空间
  • 食品广告
  • 办公室工
  • 保险合同
  • 儿童英语
  • 软件下载
  • 广告合同
  • 服装广告
  • 学生会工
  • 文明礼仪
  • 农村工作
  • 人大政协
  • 创意广告
  • 您现在的位置:六七范文网 > 人大政协 > 正文

    超市进销存管理系统设计与实现

    来源:六七范文网 时间:2021-05-17 16:13:04 点击:

    目录 超市进销存管理系统的设计与实现 1 摘 要 2 Supermarket’s Invoicing Management System 3 Abstract 3 Key Words: Invoicing JSP MySQL1 绪论 3 1.1 背景分析 4 1.2 国内外超市进销存管理系统研究现状 4 1.2.1 国外研究现状 4 1.2.2 国内研究现状 5 1.3 本文主要研究内容及主要贡献 5 1.4 本章小结 5 2 系统开发环境及工具介绍 6 2.1 应用架构 6 2.2 JSP技术 6 2.3 数据库MySQL 7 2.4 Tomcat运行原理简介 7 2.5 本章小结 7 3 系统需求分析 8 3.1 可行性分析 8 3.2 用户的需求分析 8 3.3 系统用例分析 9 3.4 系统数据关联图 10 3.5 本章小结 10 4 系统设计 11 4.1 系统模块结构设计 11 4.2 数据库设计 13 4.3 管理员业务流程图 20 4.4 本章小结 20 5 详细设计与系统实现 21 5.1 登录模块设计 21 5.2 系统管理模块设计 22 5.3 基本数据管理设计 23 5.4 采购管理模块设计 27 5.5 销售管理模块设计 28 5.6 库存管理模块设计 29 5.7 查询统计模块设计 32 5.8 本章小结 33 6 总结与展望 34 6.1 总结 34 6.2 展望 34 参考文献 35 超市进销存管理系统的设计与实现 摘 要 传统的进销存管理主要采用的是人工清点、抄录入册的方式。传统的方式很简单,工人也比较容易操作。但是社会、科技在不断地发展,陈旧的方式已经开始不能适应新的社会环境。所以,要利用新技术开发一个适用于小型超市的进销存管理系统最重要的一点就是提高工作效率,同时也要保证操作的简易性。

    本系统依托于Java平台和MySQL。系统的设计不仅仅是要满足管理人员在日常工作中对进销存的操作需求,也要体现设计理念的人性化,达到管理人员随时能对系统进行相关操作的要求。本文主要介绍了此次课题的来源、基本功能、创新点以及相关的解决方案。

    关键词:进销存 JSP MySQL Supermarket’s Invoicing Management System Abstract The traditional invoicing management is mainly used to check and copy the book of artificial way.The traditional way is very simple,and workers are also relatively easy to operate.But with the development of society and science and technology, the old way has not been able to adapt to the new social environment.Therefore, the use of new technology to develop a small supermarket’s invoicing management system is the most important point is to improve work efficiency.At ths same time,it also has to ensure the simplicity of the operation. This invoicing management system is based on two kinds of technology,java platform and MySQL database.The design of system is not only to meet the needs of management personnel in the daily work of the invoicing, but also to reflect the design philosophy of human nature, to manage the system at any time to carry out the relevant operational requirements.This paper mainly introduces the source of the topic, the basic functions , innovation points aand the related solutions. Key Words: Invoicing JSP MySQL1 绪论 1.1 背景分析 随着现代社会发展的不断腾飞,科技前沿的不断推进,全球范围内计算机都开始被广泛使用,人们学会使用计算机对大量的数据进行处理和分析。主要是以计算机为核心,以数据库管理系统为背景进行日常工作事务的处理的信息管理系统得到广泛的应用,尤其是超市进销存管理的实际应用。

    过去很多超市的管理模式中,大多数情况都是采用手工计算,过程非常的麻烦。超市进销存的日常管理中商品的进库、出库等数量的变化需要经过若干道手续,采用人工手动计算,不仅效率低下、容易出错,而且在统计和查询的时候极容易发生信息重复传递,数量出现不吻合的现象,所以对超市进销存的管理要实现信息化管理。

    我国近几年的发展迅速,大型超市都拥有一个相对完善的管理系统,而很多社区里的小型超市由于地理位置优势生意也很好,却依旧采用人工计算的方式耗费了大量的人力物力。所以开发一个针对小型超市实用的进销存管理系统是十分迫切的。本文的管理系统的开发大大提高了小型超市的工作效率,在计算机上运行系统,可以替代人工记录,查备货品数量等繁杂的工作。系统界面友好,功能全面,操作者易学易操作,使用方便。系统对用户登录设有权限,对部分敏感文档可以更加安全的保存,从而使系统的使用更具灵活性和技巧性。为了可以很好的保证系统的信息安全,系统对其中的每一种用户角色都分配了属于他们自己的使用权限。

    1.2 国内外超市进销存管理系统研究现状 1.2.1 国外研究现状 1954年,美国首先将计算机应用到管理中来处理工资单。几十年来,计算机在信息管理及处理等方面发展迅速。位居世界第一的零售企业——“沃尔玛”连锁集团,在发展的过程中特别重视管理的信息化,通过这样的方式来实现公司管理目标。在上世纪的70年代,沃尔玛公司就对总部以及各个分部逐步推广了管理信息化。80年代又发射了属于自己集团的通信卫星,建立了完善的卫星通信系统,后来又接连安装了连接总部与连锁店之间的可视电话、电脑网络以及卫星传播影像的通信系统,使连锁店间的进货数倍、供应配货、管理销售、资金周转以及科学决策等实现了及时、可靠的管理。用了几十年这么短的时间就从起初一家小单体折扣的商店,发展成了美国乃至全球零售业的“霸主”。

    1.2.2 国内研究现状 随着计算机的不断发展,西方国家在超市信息化处理方面一直处于领先地位,几乎所有的超市都有了整套的进销存信息管理系统。我国近些年的发展,使得超市已经逐步发展为零售业的重要组成部分,城区、乡镇、甚至农村都可以看到各种规模、各种类型的超市。国内现有的超市进销存管理系统更多的是针对大型超市,而国内的中小型超市依旧不能采用一个搞笑的现代化管理模式,大多数还在沿用传统的手工处理方式。随着经济高速发展,显然这种原始的管理方式将会无法应对这样复杂的市场。为此,针对中小型超市进销存管理系统的设计与实现十分必要。

    1.3 本文主要研究内容及主要贡献 本文第一章绪论,首先阐述了系统的开发背景与意义,描述手动管理超市进销存的不足和开发系统的必要性;
    然后描述系统的开发目的,主要工作;
    之后就对超市进销存管理系统的国内发展现状与应用前景进行分析;
    最后解释本文的研究内容。

    第二章主要是介绍系统的开发环境和工具,阐述选择的原因。

    第三章系统需求分析,进行可行性分析、系统业务流程和需求分析等。

    第四章为概要设计,数据模型分析与设计,对系统功能图、数据库及数据库表、逻辑结构以及系统的实现等进行设计。

    第五章为详细设计与系统实现,分模块描述功能设计以及代码设计,展示各个功能实现过程。

    第六章是总结与展望。

    1.4 本章小结 第一章主要介绍了超市进销存管理系统到目前为止的所知晓的发展情况。从多个方面阐释了开发一个适用于小型超市的进销存管理系统的重要意义。

    2 系统开发环境及工具介绍 2.1 应用架构 2.1.1 B/S三层架构设计模式 其实浏览器/服务器结构就是人们常说的B/S结构。简单来说就只安装和维护一个Server,而使用Browse的方式在客户端运行软件。在互联网技术不断革新的时代背景下,C/S结构的不断发展才有了现如今的B/S结构。

    在B/S结构的大多数系统中,用户一般可以通过PC端的浏览器向网络上的众多服务器发送一个请求,服务器就能够对浏览器发送出来的请求第一时间进行处理,然后用户所需要信息在处理之后会被迅速的返回到PC端浏览器。与传统的C/S结构相比较,B/S结构的应用程序很明显要更加优化。 B/S结构的最显著的特点就是开发起来简单并且共享性较强,维护操作也十分方便。

    2.1.2 B/S三层架构设计模式的优点 从开发和应用这两个方面来综合比较,三层架构有着双层或单层结构没有的突出优点。三层结构在团队开发中,每人可以有不同的分工,团队合作能够使效率得到极大的提高。开发三层应用架构的时候,能够有效的结合各方面的人才。这样的话只要少数人对系统有足够全面的了解,就可以从一定程度上降低开发的难度。

    三层架构能够做到很容易的使用新的实现来代替原来层次的实现,从而降低层与层间彼此的依赖。同时B/S三层架构在后期使用维护的时候,能够极大地降低维护的成本,节约维护的时间。

    2.2 JSP技术 Java Server Pages其实就是JSP[1]展开后的全称。当时正是因为Sun公司与其他众多的软件公司的合作才造就了JSP。很多时候JSP被人们用来衡量制作一个动态网页的具体标准。从本质上来讲,JSP就是一个简单易懂的servlet[2]的程序模型。当我们在写超文本标记的程序时如果学会加入Java代码以及JSP标记,那么一个JSP页面就可以很轻松的编写完成了[3]。当然,JSP程序也具有广泛的适用性,并不是只能够在特定的平台上进行操作运行,编写出来的JSP程序既能够顺利的在微软的操作系统上运行,也能在其他的操作系统中具有适用性。

    新手在编写的JSP程序时,如果不能够充分理解其中的原理,常常会把它当成一个HTML网页。我们只有明确了代码的意义才会了解它就只是一个Servlet程序在运行。

    2.3 数据库MySQL MySQL是现在系统设计中开发者比较喜欢用的关系型数据库之一。MySQL能够实现根据数据之间的关联性判断存放的位置,把数据间没有联系的分别放在不同的表里面,而将数据之间相互联系的放在同一个表中。通过这样的方式来从一定程度上增加访问方式的灵活性,同时还可以提高系统的访问速度。

    1979年,一家小的软件公司着手设计了MySQL,原本是打算作为一个报表工具。后来MySQL被不断开发、优化,功能项也越来越完善,能够满足设计者的使用需求。

    当然,与Oracle等众多数据库相比较而言,MySQL存在了一定程度的不足。但由于MySQL的功能之强大以及代码开源,在个人和小企业中仍旧十分受欢迎。

    2.4 Tomcat运行原理简介 “Tomcat是由Sun公司和Apache开发小组共同提出的合作项目Apache Jakarta项目下的产品,是为了使Servlet/JSP能够与Apache服务器一起运行而开发的Server/JSP容器”。系统大致架构是Mysql+Tomcat+Jsp,Tomcat是Servlet的运行容器,它的工作原理如图所示:
    图2-1 Tomcat工作原理图 2.5 本章小结 通过大致介绍了Mysql、JSP、Tomcat以及B/S模式的功能、特点以及选择原因,为后续系统的设计、开发与实现打下了基础。

    3 系统需求分析 3.1 可行性分析 现在我国已经开发出针对于大型超市较为完善的进销存管理系统,但是对于小型超市的并不适用。本次设计的系统是为了建立一个实效率高,准确性高,并且适用于小型超市的进销存管理系统。解决小型超市在货品管理方面存在的问题,可以利用现有的超市的硬件设备,完善超市的管理程序。

    在技术可行性方面,我们采用了mysql 数据库管理系统,是一种开放源代码的关系型数据库管理系统。同时选用了MyEclipse10.0作为开发平台,功能强大,给系统的运行提高了稳定的环境保障。

    在经济可行性方面,以成本效益来分析,支出方面包括了开发成本,主要通过估算代码、平均生产率、工人工资等几个方面来计算;
    收入方面主要包括了经济性效益,在前期开发完成后,后期的维护费用较低,所以投资回报率接近80%。

    另外,系统在法律、操作及运行等方面都验证是可行的,所以开发一个适用于小型超市的进销存管理系统是可行的。

    3.2 用户的需求分析 由于现在使用人工手动的方式来管理进销存很显然并不能很好的适应当下社会的信息化高速发展,所以我们应当顺应时代潮流,学会运用电子设备,如计算机等来对进销存进行现代化的信息管理 。

    使用计算机对信息数据进行管理可以大大提高了小型超市的工作效率,在计算机上运行系统,可以替代人工记录,查备货品数量等繁杂的工作。

    需求分析阶段要对系统管理的应用情况做一个相对全面的调查,这样才能够明确用户的需求并且做好我们的需求分析。总体来说系统需求和用户需求是用户对系统的需求最主要的两个方面。

    3.2.1 系统需求 在三层架构模式之下,我选择使用JSP+MySQL来开发适用于小型超市的进销存管理系统。所有的运作都显示在浏览器上,优化了操作界面,一定程度上简化了流程,浏览器端的各种操作都变得十分便捷。

    3.2.2 性能需求 系统在处理数据时,数据是否能够准确、即时的传输和处理是一个超市进销存管理系统正常运行的重要衡量标准。所以我们在设计、开发系统的时候要选择最为合适的方法来确保系统数据传输、处理的准确和及时,从而达到系统运行时高效、精准的的性能需求。

    3.2.3 运行需求分析 数据库管理系统软件:MySQL 系统开发平台:Myeclipse 10.0 运行平台:Windows 7 系统开发语言:JSP 运行环境:Tomcat 3.2.4 性能需求分析 本系统在设计中充分考虑了用户主要是一些文化程度不是很高的群体,所以系统要能够十分清晰的展示出使用方法,这样才能够让用户更快的学习并且熟练操作。在开发中,就是要在各种矛盾的规避与功能的实现中寻找平衡,使系统的设计、使用特性能够得到最大程度的体现,从而达到用户的需求。

    3.3 系统用例分析 3.3.1 管理员用例图 系统中的管理员在现实的超市管理中扮演的也是管理者的角色。他们在系统的使用中有比较多的权限,可以在系统上有比较全面的管理操作,比如新用户的注册,商品的信息管理、进销存等操作的日常管理,具体的如下图。

    图3-1管理员用例图 3.4 系统数据关联图 首先从整体分析业务流程,然后根据分析结果进一步分析数据流,得出的顶层的数据关联图如下图。

    图3-2数据关联图 3.5 本章小结 第三章主要对适用于小型超市的进销存管理系统的功能需求和其可行性分析做出简要的说明介绍。验证了此系统是可行的,这样才可以继续后续的开发;
    并且对系统所要实现的功能和业务进行了梳理,理清思路,为接下来的开发研究打下基础。

    4 系统设计 4.1 系统模块结构设计 4.1.1 概要设计 概要设计的主要就是将前期需求分析得到的系统扩展用例图转换成两个部分:软件结构和数据结构。软件结构设计的主要任务是把一个较为复杂系统按功能进行划分模块、建立各个模块之间的清晰的层次结构及各模块之间调用关系,并且确定模块间的接口和人机界面等。数据结构设计的主要任务是包括描述数据特征、确定数据的结构特性以及后台数据库的设计。

    在此管理系统中,各模块之间是相互独立的。但当模块在访问数据库的时候却可以说模块之间彼此的联系是十分紧凑的。虽然具体说来是每个模块所访问的表各不一样,但所有模块在访问的时候其实都是访问的相同的数据库,。根据前期的调查和需求分析之后确定了适用性较广的8个功能模块。

    4.1.2 模块展示 超市进销存管理系统 退出 查询统计 库存管理 销售管理 采购管理 基本数据管理 系统管理 登陆 图4-1 系统功能模块结构图 基本数据管理 仓库管理 商品资料管理 供应商管理 用户管理 图4-2 基本数据管理模块结构图 采购管理 采购退货 商品采购 图4-3 采购管理模块结构图 销售管理 销售退货 商品销售 图4-4 销售管理模块结构图 库存管理 库存预警信息 库存商品信息 出库退货 出库 入库退货 入库 图4-5 库存管理模块结构图 查询统计 利润统计 销售统计 出库统计 入库统计 图4-6 查询统计模块结构图 4.2 数据库设计 在整个系统设计过程当中,数据库设计的优良程度会直接影响系统完成后的运行情况,所以在数据库设计时要花费大量的精力和时间。也许我们一开始并不能对于数据库的设计考虑的十分完整,但是也要一步步完善来,力求做到完美。因为如果数据库设计的不够完善甚至存在一些缺陷,那么想要在开发过程中进行修改等补救会是很困难的事情。同样的,后期系统如果用户需要对一些功能进行扩展,那么设计人员遇到的问题怕是难以解决的,从而影响整个系统。如果漏洞比较严重的话将导致设计人员需要耗费大量的时间进行重新设计、调试。

    4.2.1 概念结构设计 在根据用户需求划分功能模块之后,确定了系统中的实体具体有4个,分别为管理员、客户、用户、供应商等。

    管理员的实体图如下图。

    图4-7管理员实体图 客户的实体图如下图。

    图4-8客户实体图 用户的实体图如下图。

    图4-9用户实体图 供应商的实体图如下图。

    图4-10供应商实体图 按照三范式的原则,整合各个实体之间的依赖关系,从而完成系统E-R图如下图。

    图4-11系统E-R图 4.2.2 数据库表结构 本系统的数据库采用MySQL管理软件来设计,合计12张表。这些表分别用来表示库存、管理员、客户等等不同的操作信息。数据库中各表名、功能如下列各表所示。

    表4-1客户信息表 字段 类型 字段的说明 id int(10) 客户编号 customername varchar(50) 客户名称 zip char(6) 邮政编码 address varchar(50) 地址 mobile varchar(20) 手机 c_person varchar(20) 联系人 phone varchar(20) 联系电话 bank_name varchar(50) 开户行 bank_num varchar(50) 卡号 email varchar(50) 邮箱 fax varchar(20) 传真 age int(11) 年龄 表4-2库存信息表 字段 类型 字段的说明 id int(11) 主键 g_id int(11) 商品编号 total int(11) 库存数量 表4-3商品信息表 字段 类型 字段的说明 g_id int(11) 商品编号 g_name varchar(80) 商品名称 g_type varchar(50) 商品类别,对应字典表 base_price float 商品进价 spec varchar(30) 商品规格和规格单位 supplier_id int(11) 供应商编号 warehouse_id int(11) 仓库编号 kcsl int(11) 库存数量 kcbjl int(11) 库存报警量 表4-4入库信息表 字段 类型 字段的说明 i_id int(11) 入库编号 i_price float 入库价格 u_name varchar(50) 操作员 g_id int(11) 商品编号 s_id int(11) 供应商编号 i_num int(11) 入库数量 i_time datetime 入库时间 表4-5入库退货信息表 字段 类型 字段的说明 id int(11) 主键 i_id int(11) 入库编号 b_num int(11) 退货数量 icase varchar(200) 退货原因 u_name varchar(50) 操作人 itime datetime 退货时间 表4-6出库信息表 字段 类型 字段的说明 o_id int(11) 出库编号 i_price float 出库价格 i_num int(11) 出库数量 i_time datetime 出库时间 c_id int(11) 客户编号 u_name varchar(50) 操作员 g_id int(11) 商品编号 s_id int(11) 供应商编号 表4-7出库退货信息表 字段 类型 字段的说明 id int(11) 主键 o_id int(11) 出库编号 b_num int(11) 退货数量 续表4-7 字段 类型 字段的说明 icase varchar(200) 退货原因 u_name varchar(50) 操作人 itime datetime 退货时间 表4-8采购信息表 字段 类型 字段的说明 p_id int(11) 采购编号 g_id int(11) 商品编号 buy_num int(11) 采购数量 e_time datetime 到期日期 s_id int(11) 供应商编号 w_id int(11) 仓库编号 b_time datetime 采购日期 state int(11) 0表示未入库,1表示入库 is_back int(11) 0表示未退货,1表示采购退货 buy_money float 采购金额 c_time datetime 生成日期 表4-9销售信息表 字段 类型 字段的说明 s_id int(11) 销售编号 g_id int(11) 商品编号 sel_num int(11) 销售数量 sel_price float 销售价格 sel_money float 销售金额 sel_time datetime 销售时间 state int(11) 0表示正常,1表示销售退货 oper varchar(50) 操作员 表4-10供应商信息表 字段 类型 字段的说明 s_id int(11) 供应商编号 s_name varchar(100) 供应商名称 续表4-10 字段 类型 字段的说明 s_user varchar(50) 联系人 mobile varchar(24) 手机 tel varchar(50) 联系电话 address varchar(200) 联系地址 email varchar(50) 邮箱 bank_name varchar(100) 开户行 bank_num varchar(100) 银行卡号 表4-11用户信息表 字段 类型 字段的说明 id int(11) 用户编号 account varchar(50) 账号 password varchar(50) 密码 tel varchar(24) 电话 email varchar(50) 邮箱 fax varchar(20) 传真 name varchar(50) 中文名 role_name varchar(50) 角色信息 age int(11) 年龄 address varchar(150) 地址 mobile varchar(24) 手机 表4-12仓库信息表 字段 类型 字段的说明 w_id int(11) 仓库编号 w_name varchar(80) 仓库名称 user_name varchar(50) 管理员 address varchar(120) 仓库地址 4.3 管理员业务流程图 图4-12管理员业务流程图 4.4 本章小结 第四章介绍了超市进销存管理系统的功能模块的整体的设计情况以及数据库设计当中遇到的问题及解决方案,并且展示了系统中所有的数据库表。

    5 详细设计与系统实现 依据之前需求分析和总体设计,现在开始对模块进行详细设计。对于所设计的进销存管理系统主要适用于小型超市的设计要求,我选择采用单层架构进行设计,把一个系统分解成多个设计模块。

    为了优化代码简化流程,避免一些不必要的错误,系统在运行时对于相关数据的增、删、改、查等操作主要采取数据源操作的方式。

    5.1 登录模块设计 登录模块在设计中主要是为了对即将进入系统的用户进行资格审查,如果用户的权限有问题那么就不能进入系统。通过检测的用户在进入系统后,系统会根据设置,对不同的用户开放相应的操作权限。

    系统登录主界面如下图。

    图5-1 登录主界面 系统登陆实现代码如下:
    public String login(){ TbUser user = null; try { user = loginService.login(username, password);//登陆,回调函数 if(null == user || StringUtils.isEmpty(user.getAccount())){//判断用户名或密码 return “loginError“; //若用户名和密码为空,那么登录失败 } this.getSeesion().setAttribute(“user“, user); } catch (Exception e) { e.printStackTrace(); //抛出异常信息 } return “loginSuccess“;//登陆成功 } 用户在登陆系统的时候,在登陆界面输入自己的账号密码,然后系统程序启动,将输入的数据与数据库中的数据进行判断、匹配。如果成功,那么用户可以顺利的进入到系统当中进行下一步的相关操作。如果不成功那么界面上会提示登陆失败,并要求用户重新核对自己的用户名以及密码后重新登陆。

    进销存系统登录失败界面如图5-2所示:
    图5-2 登录失败界面 5.2 系统管理模块设计 用户信息管理界面如下图:
    图5-3 用户信息管理界面 在用户管理中,主要有新建用户,修改用户信息,修改用户密码,删除用户以及查询用户等几个操作,那么在界面布局时显示工具条的的实现代码如下。

    var toolbar = [{ text:'新建', iconCls:'icon-add', handler:function(){ showUserWindow('save'); } },'-',{ text:'修改', iconCls:'icon-edit', handler:function(){ showUserWindow('update'); } },{ text:'密码修改', iconCls:'icon-edit', handler:function(){ showPwdWin(); } },'-',{ text:'删除', iconCls:'icon-remove', handler:function(){ delUser(); } },'-',{ text :'查询', iconCls:'icon-search', handler:function(){ showSelWin(); } }]; 5.3 基本数据管理设计 该模块主要包括对超市管理中最为主要的四个部分进行管理——商品、客户、供应商和仓库。

    5.3.1 商品资料管理界面 商品资料管理界面如下图。

    图5-4 商品资料管理界面 我们可以在商品资料管理中添加超市里新引进的商品,添加商品名称、类型以及单价、供应商等等,确认提交。

    添加商品资料管理界面如下图。

    图5-5添加商品资料管理界面 管理员添加商品时,商品类型设计为下拉选项,实现功能代码如下。

    <td width=“20%“ align=“right“>商品类型:</td> <td width=“30%“ align=“left“> <select class=“easyui-combobox“ name=“goods.GType“ id=“gtypeInput“ data-options=“required:true“> <option value=“零食“>零食</option> <option value=“酒水“>酒水</option> <option value=“百货“>百货</option> <option value=“香烟“>香烟</option> <option value=“奶制品“>奶制品</option> <option value=“文具“>文具</option> <option value=“洗护“>洗护</option> <option value=“调味品“>调味品</option> <option value=“饮料“>饮料</option> </select> </td> 5.3.2 客户管理界面 超市的客户分为零售客户和协议客户,在系统中的客户指的是大型的协议客户,具体信息界面如下图。

    图5-6客户管理界面 修改客户管理界面如下图。

    图5-7修改客户管理界面 5.3.3 供应商管理界面 供应商管理界面如下图。

    图5-8供应商管理界面 查询供应商管理界面如下图。

    图5-9查询供应商管理界面 模糊查询功能是一个系统必须具备的基本功能之一,在此系统中选择关键字查询,实现功能代码如下。

    function showSelWin(){ $('#selForm').form('clear'); $('#selWindow').dialog({ title :'查询条件', width: 300, height: 150, closed: false, cache: false, modal: true }); } 5.3.4 仓库管理界面 仓库管理界面如下图。

    图5-10仓库管理界面 5.4 采购管理模块设计 采购管理包括商品采购和采购退货,下面有两个菜单项,分别是“商品采购”、“采购退货”,完成相应的添加、修改、删除等操作。

    5.4.1 商品采购界面 如果要采购商品的话直接在采购信息表中添加新的采购单。

    商品采购界面如下图。

    图5-11商品采购界面 5.4.2 采购退货界面 如果采购的商品中存在质量问题,可以在采购退货中添加退货单,将商品退给供应商。

    商品采购退货界面如下图。

    图5-12商品采购退货界面 商品采购退货的界面是由HTML代码编写的,具体实现代码如下。

    <!-- 内容 --> <tr> <td> <table id=“userTab“ class=“easyui-datagrid“ style=“width:100%;height:100%;“ fit=“true“ url=“jxc!findPurchasesBackByPageSql.action“ title=“采购信息表“ rownumbers=“true“ pagination=“true“ fitColumns=“true“data-options=“toolbar:toolbar,singleSelect:true,pageSize:20,queryParams:{colName:'',colValue:''}“> <thead> <tr> <th field=“ck“ checkbox=“true“><br></th> <th field=“p_id“ width=“80“ align=“center“>退货编号</th> <th field=“g_id“ align=“center“>商品编号</th> <th field=“g_name“ align=“center“>商品名称</th> <th field=“buy_num“ align=“center“>退货数量</th> <th field=“buy_money“ align=“center“>退货金额</th> <th field=“c_time“ align=“center“ formatter = “timeFormatter“>生产日期</th> <th field=“e_time“ align=“center“ formatter = “timeFormatter“>到期日期</th> <th field=“b_time“ align=“center“ formatter = “timeFormatter“>退货日期</th> <th field=“s_id“ align=“center“ width=“100“>供应商编号</th> <th field=“s_name“ align=“center“ width=“200“>供应商名称</th> <th field=“w_id“ width=“120“ align=“center“>仓库编号</th> <th field=“w_name“ width=“200“ align=“center“>仓库名称</th> <th field=“state“ hidden=“true“ align=“center“>是否入库</th> <th field=“is_back“ hidden=“true“ align=“center“>是否退货</th> </tr> </thead> </table> </td> </tr> </table> </td> 5.5 销售管理模块设计 销售管理包括商品销售和销售退货,下面有两个菜单项,分别是“商品销售”、“销售退货”。

    5.5.1 商品销售界面 务员与客户达成销售意向,直接在销售信息表中添加新的销售单。

    商品销售界面如下图。

    图5-13商品销售界面 5.5.2 销售退货界面 如果销售的商品中存在质量等问题,可以在销售退货中添加退货单,将商品退回仓库。

    销售退货界面如下图。

    图5-14销售退货界面 5.6 库存管理模块设计 库存管理包括入库、出库以及库存管理等,用户可以完成对库存完成一些相应的操作。

    5.6.1 商品入库界面 从供应商手中采购商品,先要填写采购清单。在商品到仓库之后要填写入库单,这样才能真正的对库存数据加以修改。当然如果入库查验时发现不合格的商品,工作人员要做好入库退货清单的记录,并将退回给供应商。

    入库界面主要要完成商品的名称、采购价格、采购的数量以及具体入库的时间等细节数据,界面设计具体如下图。

    图5-15入库界面 入库退货界面最重要的就是写清楚退货的原因,以便月末工作核查的时候进行总结和反思,避免类似错误再次发生。界面设计具体如下图。

    图5-16入库退货界面 5.6.2 商品出库界面 业务员销售商品,首先要在系统里完成销售清单的填写。然后在商品出库时要填写出库单,客户查验发现问题商品,就退回给仓库,仓库的工作人员要做好详细的记录,以便月末工作总结。

    出库界面如下图。

    图5-17出库界面 出库退货界面如下图。

    图5-18出库退货界面 5.6.3 商品库存信息界面 入库和出库将对库存的数量做变动,如果商品低于预警数量,可以在库存预警信息中查询到。

    库存商品信息界面如下图。

    图5-19库存信息界面 库存预警信息界面如下图。

    图5-20库存预警信息界面 在库存的设计当中,我将库存设置了模糊查询,同时库存预警功能也是此次系统设计的一个创新点,这样在实际的应用当中,工作人员可以较为轻松的知道哪些商品需要及时的补货,而不至于售空。相关功能的实现代码如下。

    <!-- 查询部分 --> <div id=“selWindow“> <form id=“selForm“ method=“post“> <table> <tr> <td>列名:</td> <td> <select id=“colNameId“ class=“easyui-combobox“ name=“colNameSel“ style=“width:200px;“> <option value=“h.g_id“>商品编号</option> <option value=“h.g_name“>商品名称</option> <option value=“h.g_type“>商品类别</option> </select> </td> </tr> <tr> <td>条件:</td> <td><input id=“colValueId“ name=“colValueInput“ type=“text“ class=“easyui-validatebox“ style=“width:200px;“/></input></td> </tr> <tr> <td colspan=“2“ align=“center“><a href=“javascript:void(0)“ class=“easyui-linkbutton“ onclick=“selUsers();“>查询</a></td> </tr> </table> </form> </div> 5.7 查询统计模块设计 5.7.1 利润统计界面 根据销售统计中的销售信息以及基本数据管理中的商品资料信息,折算出利润=销售总数*(销售价格-商品进价)
    利润统计界面如下图。

    图5-21 利润统计界面 利润在一个超市主体的运营当中有着十分重要的位置。当选择使用现代化设备更新管理方式的时候,利润统计功能一定必不可少。具体实现功能代码如下。

    for (String key : map.keySet()) { rs = statement.executeQuery(“select * from tb_goods where g_id = “+ map.get(key).get(“商品编号“)); while (rs.next()) { //以循环的形式依次获取商品关键信息 map.get(key).put(“商品名称“, rs.getString(“g_name“)); map.get(key).put(“规格(单位)“, rs.getString(“spec“)); map.get(key).put(“进价“, rs.getString(“base_price“)); map.get(key).put(“商品类别“, rs.getString(“g_type“)); String lirun = null; lirun =String.valueOf((Double.parseDouble(map.get(key).get(“售价“).toString())-Double.parseDouble(map.get(key).get(“进价“).toString()))*Double.parseDouble(map.get(key).get(“销售总数“).toString())); //利润=销售总数*(销售价格-商品进价)
    map.get(key).put(“利润“, lirun); } } 5.8 本章小结 本章主要介绍的是详细设计系统的各个模块。在预想功能实现后系统能展现出一个简洁明了的运行效果界面。

    6 总结 与展望 6.1 总结 针对于国内小型超市的进销存管理现状,开发这个超市进销存系统是为了简化工作流程,优化超市管理制度。根据前期查阅的资料,并和指导老师沟通,从整体上明确了这次系统设计中的主要工作,开发成本,使用的平台和开发工具。

    由于学识水平有限,编写代码的能力还有待提高,在经过自己的不断尝试以及请教了其他人,经过近两个多月的努力,超市的进销存管理系统基本开发完成。在需求分析中所设计的功能也能够基本实现,在运行过程中界面优化和使用流畅度都能满足了用户的需求。

    此次系统设计就是尽可能熟练地运用所学的知识,软件去完成超市的进销存管理系统,对数据库的各条记录的增、删、改、查等等操作也包含在其中。系统设计主要分为两个部分:页面设计和数据库设计。页面设计中我查看了很多的系统界面,并且借鉴了一些好的例子,完成了界面友好,操作简单的功能模块。在数据库设计中比较棘手的是数据冗余问题,如何设计出一个合理明了、数据无冗余的数据库对我来说很有挑战性。以前在学习时总是和同学一起完成项目,但这次是我独立完成。在整个设计过程,让我感触最深的就是独立的完成一个项目遇到的困难比我预想的要多。当然,我们要学会静下心来解决在设计过程中遇到的问题,保持一个良好的心态,不急躁,耐心的去找出问题,并且加以解决。只有这样才能股有一个更好的提升。

    在基本完成了系统设计的同时,我也很清楚的知道系统中一些不完善的地方,一方面由于知识的局限性,对系统中功能的实现方面存在一些不足;
    另一方面由于没有较多的实践项目经验,在设计时数据库的严密性还有所欠缺。

    6.2 展望 现在小型超市的进销存管理系统在市场上已经开始流通,但是由于价格等问题,并没有被很多的小型超市所引进,我希望我的系统能够可以投入到使用当中,但是由于我的知识和经验有限,对系统设计时考虑有所欠缺,功能模块实现方面还可以进行改进,一些细节方面还需要进一步完善。我在以后的学习中还要不断地提升自己,努力的去完成系统设计里的创新点,是系统更加具有适用性和广泛性! 参考文献 [1] 黄艳. 中小型超市进销存管理系统[D]. 成都:电子科技大学,2009. [2] 戴国峰.客户机服务器模式和浏览器服务器模式的对比分析[J].硅谷,2011. [3] Sten E.Vesterli.ORACLE WEB 应用培训教程(M).中国.机械工业出版社.2002 [4] 王国欣,朱鲁华.B/S模式下管理信息系统的安全模型设计[J].计算机工程,2004,(S1) [5] 吴兆彤. 互联网络对社会的影响分析[J]. 科学管理研究, 2004,(06)[6] 石志国,JSP网络开发详解,电子工业出版社[M],2007 [6] 孙一林,彭波.《JSP数据库编程实例》. 清华大学出版社,2002年8月:30-210 [8] R. J. Gaymans, in Synthetic Methods in Step-Growth Polymers, ed. M.E. Rogers and T. E. Long, John-Wiley & Sons, New York, 2001,p. 57. [9] 贾素玲,JSP应用开发技术,清华大学出版社[M],2007 [10]王国欣,朱鲁华.B/S模式下管理信息系统的安全模型设计[J].计算机工程,2004,(S1) [11]《程序员》杂志 2007 年第4期 [12] Javey. S. concept of ' correspondence' in JSP[C]. Proceedings of the Hawaii Interna-tional Conference on System Science, Vol2, 1987: 14-22. [13]蔡剑,景楠.Java Web应用开发:J2EE和Tomcat[M].北京:清华大学出版社,2004. [14]P. W. Morgan, in Condensation Polymers: By Interfacial and Solution Methods, Interscience, New York, 1965, p. 190. [15]陈锦伟. 基于MySQL的空间数据库关键技术研究[D]. 南京邮电大学 2013 [16]单立娟,张秀芝,吕立. 应用框架的设计及安全管理构件的实现[J]. 辽宁省交通高等专科学校学报. 2006(01) [17]W.Clay,Richardson,Donald,”Avondolio. The Java high class weaves a distance:JDK 5”, Scientific & Technology Book Review,No.3,2006. [18]Personalized Distance Tutor Tree Based on Data Mining,Tang Changjie,Yin Huabei,Liu,Chang Yu,Guo Yin,Zhang Tianqing,Department of Computer Science,Sichuan University, Chengdu , China 610064,个性化远程教学树,计算机应用Journal of Computer Application Vol.20 No.9 Sep. 2000. [19]耿祥义,张跃平.《JSP实用教程》. 清华大学出版社,2003年5月1日:1-354 [20]孙鑫编著.Java Web开发详解[M].电子工业出版社,2006.189-274

    推荐访问: