赞
踩
摘要:中小企业在我国的地位举足轻重。对企业管理来说,信息技术对其的影响还是很大的,我国中小企业跟外资企业相比,不仅起步慢,而且显示出经验不足的劣势。纵观我们的劣势,为了企业的发展,我们应该在企业管理方面更加努力去建设和完善。
进销存管理是企业与企业之间的交流工具,也是企业运营过程的必要支柱。采购、加工以及销售都是企业的生产过程。在一定层面上看,这些都是物料的转换和流动过程。事实上管理体系实施成果跟企业的经济收成是不可分割的。在企业物流方面,可实现采购、库存和销售的汇总,并与财务、生产等子系统集成。进销存管理系统通过对物流资源的管理,动态掌握物流动向,在保障生产经营活动供给的同时,减少库存积压,提高商品的运转效率,降低成本,为企业带来良好的经济效益。
本文重在介绍使用jsp+ssm+mysql实现企业进销存管理系统,本系统包括商品管理、进货管理、销货管理、查询统计、账单管理、日志管理等一系列企业进销存管理功能。
关键词:进销存管理系统,JAVA,ssm
Design and implementation of Yucheng Management System based on SSM framework
Abstract:Small and medium-sized enterprises play an important role in China. For enterprise management, the impact of information technology is still great. Compared with foreign-funded enterprises, small and medium-sized enterprises in China not only start slowly, but also show the disadvantage of lack of experience. Looking at our disadvantages, for the development of the enterprise, we should make more efforts to build and improve the enterprise management.
Purchase, sale and stock management is the communication tool between enterprises, and also the necessary pillar of the enterprise operation process. Purchasing, processing and sales are all the production processes of an enterprise. At a certain level, these are the material conversion and flow process. In fact, the implementation results of the management system are inseparable from the economic harvest of the enterprise. In the aspect of enterprise logistics, it can realize the summary of purchase, inventory and sales, and integrate with financial, production and other subsystems. Through the management of logistics resources, the purchase, sale and inventory management system can dynamically grasp the logistics trend, reduce the overstock of inventory, improve the operation efficiency of commodities, reduce the cost and bring good economic benefits to the enterprise while ensuring the supply of production and operation activities.
In this paper, it mainly describes how JSP + SSM + Mysql to complete and realize the enterprise purchase and sale management system, which includes a series of enterprise purchase and sale management functions such as commodity management, purchase management, sale management, query statistics, bill management, log management, etc.
Key words: Invoicing management system ,JAVA ,ssm
第1章 绪 论 1
1.1 系统开发的背景、目的及意义 1
1.1.1系统开发的背景 1
1.1.2系统开发的目的及意义 1
1.2 企业进销存管理系统的现状及未来的发展趋势 2
1.2.1企业进销存管理系统的现状 2
1.2.2企业进销存管理系统未来的发展趋势 3
第2章 系统需求分析 4
2.1 可行性分析 4
2.1.1经济可行性 4
2.1.1技术可行性 4
2.1.1操作可行性 5
2.2 系统的需求分析 5
2.3 系统的功能需求 5
第3章 系统设计 8
3.1 系统设计 8
3.1.1系统总体架构设计 8
3.1.2数据库设计 10
3.1.3系统模块的设计 15
3.2 系统的开发平台及运行环境 17
3.2.1系统的开发平台 17
3.2.2系统的运行环境 17
第4章 系统实现 18
4.1 用户及角色管理 18
4.2 供应商管理 23
4.3 商品管理 24
4.4 商品入库(进货)信息 27
4.5 销售信息管理 30
4.6 销售信息统计 32
4.7 系统日志记录 34
第5章 系统测试 35
5.1 系统测试 35
5.1.1测试的意义 35
5.1.2测试的目的 35
5.1.3软件测试方法 35
5.2 测试用例及测试结果 36
5.2.1测试用例 36
5.2.2测试结论 39
第6章 结束语 40
6.1 全文总结 40
6.2 课题展望 41
参考文献: 42
致谢 43
1.1 系统开发的背景、目的及意义
1.1.1系统开发的背景
经济信息一体化的普及,信息资源的地位日渐显赫,经济信息化日渐成为人们最求的风向。信息资源已成为每个国家和企业现代化水平体现标准。随着科学技术的普及和社会经济的快速发展,信息决策将越来越吸引企业的眼球。企业管理的注意力逐渐转移到信息和科学的处理方法上,信息管理越来越受到人们的青睐。信息共享和降低成本将直接决定企业的效益。购销存管理是企业管理的重要手段,也是企业成功的关键。采购是企业商品流通的第一环节。它对工作的顺利进行、成本能否得到有效抑制等问题都有很大的影响。库存不足将直接影响企业的销售,库存过多将导致资金积压和不必要的支出。因此,我们应该对库存的数量、时间和空间采取一定的措施。销售是企业管理的中心,是商品流通的终点。只有当产品销售时,他们才能获利。如何把这三点有机地结合起来,使它们相互促进,相互依赖,实现良性循环,对企业的生存和发展起着绝对的作用。但如果我们不掌握有效的操作方法,操作工就会在繁重的工作面前匆匆忙忙。一套成熟、实用的购销存管理体系已成为企业的迫切需要。
1.1.2系统开发的目的及意义
此次针对选题背景、企业管理系统的开发方法和发展方向,以及企业进销存的需求进行设计。企业在进销存管理问题上的处理方式没有考虑整体性。我们将从客户需求入手,从采购订单开始,对供应商、采购部门、库存部门、财务计算、销售部门进行整体的研究分析,根据用户要求,考虑到系统架构、流程、接口以及程序的总体设计,保证系统的可靠性,安全性等的性能,以此来提高企业的工作效率,增加经济收益。
此次系统根据企业管理者对管理系统在进货、库存、销售等方面的高效管理,同时实现信息共享化的要求,以此来提高管理者的工作效率及增加企业的效益。此次系统主要把管理业务为主要方向,把处理票据作为支撑,使得企业从采购到销售等各个环节中的管理都能快速简单完成。
1.2 企业进销存管理系统的现状及未来的发展趋势
1.2.1企业进销存管理系统的现状
市场机构调查结果显示,中小企业使用的进销存系统十分简单,很大程度上只用到其中的一部分,大多数的企业,仅仅建立了财务管理机制及对生产的计划,管理订货和库存控制系统,企业很少实现全过程的信息管理。从市场机构调查结果和我市的调查情况来看,实施进销存软件过程存在的下述问题:
(1)企业IT现状差、企业精通进销存软件人才匮乏。
企业精通IT技术的人才不足成为企业进销存目前面临并急需解决的主要问题,人才匮乏是企业销售的瓶颈。培养有基础并且有经验的人才才能满足企业对技术人员的需求,企业应该更加注重员工对计算机网络,系统软件和应用软件等应用基础知识方面的学习。
(2)对进销存软件管理有误解。
认为软件销售是“传递钥匙的过程”,并不理解软件销售实施顾问的工作过程和性质,并为实施顾问扣上“销售软件施工队”的称号。在他们眼中觉得软件销售就是销售商的事,企业依赖于软件的实施和运用,导致工作有可能停滞。
(3)企业管制水平以及观念的保守。
对于许多中小企业仍然处于传统的管理模式。在其管理过程中也存在规章制度滞后的问题,企业管理不仅附带随意性和主观性,而且制度缺乏完整性,这些都是我们构建此系统的绊脚石。进销存软件既是先进的管理系统,又加入了新的管理理念,如果企业缺乏管理基础,即使是在购买、销售和存储软件上,也不会起多大作用。
(4)部署相对困难、低估风险。
进销存系统的实施必定会引起企业管理的改变,而且涉及到企业的各个方面。部署周期长、投资规模大、系统复杂性和不确定性都会给完成系统带来一定的风险,企业决议层应充分了解到软件系统的风险,并提升降低风险的技能。不然,管理系统应用实施失败的风险就会提高。
1.2.2企业进销存管理系统未来的发展趋势
国内用于购买、销售和存储的软件的概念起源于上世纪九十年代。经济发展越来越快,许多企业对仓储物资的采购、库存和配送的有效管理提出了更高的要求,软件的应用涉及更加宽广的领域,出现了许多功能和用途更加全面的采购、销售和储存软件,它集仓储管理、财务管理、客户管理和业务管理于一体,成为一个集采购、销售、仓储和财务于一体的综合管理系统。
在过去,销售和库存的软件对硬件有很高的要求。购得后,需要安装在计算机上使用。它的功能跟硬件的性质雷同,后期更新和升级系统难度高而且维修费昂贵,产品升级后,一般需要再次购买。在互联网的发展步伐下,购买、销售和存储软件不断完善,变得智能和简单,更加受人们的欢迎。在此发展下进销存软件将有以下几个发展趋势:
(1)变得智能化。企业期望软件越来越智能化,希望手动链接减少到最低限度,企业管理的服务更加智能化。
(2)不断人性化。软件的产生本来就是为了人的需求而服务的,人性化的服务对于企业管理软件也是不可或缺的。作为企业管理者,对软件了解不深,必然希望软件的操作简单,界面美观易懂,只有更懂人的需求才能更受欢迎。
(3)功能不断完善。软件功能需要加强和升级,这是企业发展的需要。 如果一个软件不能按照用户的需要及时更新,企业可能会放弃它。
(4)SaaS软件会飞速发展。Saas模式的云erp可以降低硬件成本,同时它的灵活性和稳定性可以提供高质量的用户体验。
信息技术不断发展的趋势下,企业采用高科技来管理进货、库存、销售等环节也会成为必然趋势,只有其不断智能化、简单化、专业化才能被更多企业欢迎。
通过对客户的调查和分析,了解了一般企业对进销存系统的需求。其次,我们对企业的业务情况进行分析,考虑人工系统和计算机系统之间的差异。在库存管理系统开发中,应该要依据物流和信息流的流程,考虑业务数据中的各种情况。通过确定数据范围和处理频率,进行很好地解决手工系统中存在的问题,构建出我们所需系统的业务流程图和系统结构图。
2.1 可行性分析
2.1.1经济可行性
虽然如今电脑的价格非常便宜,但性能已经取得了很大的进步。此次系统的开发可以提高企业的工作效率,主要表现下面几点:
第一,该系统的实施可以代替人工劳动完成更多烦杂的工作;
第二,这个系统的运行为企业节省资源;
第三,该系统的运用可为企业增加效益;
第四,此系统可提高敏感文件的安全性。
在现有条件下,该系统的完成仅仅投入少量资金即可,并且借助云的弹性计算和分时租赁可以最大程度减少开支,所以此系统是由一定的可行性的。
2.1.1技术可行性
系统采用jsp、ssm和mysql、windows xp专业操作系统,利用jdbc 和数据库连接,完成各种信息的添加、修改、删除、查询等功能。运用jsp、ssm的功能,以及方便快捷、灵活使用的mysql,应用范围广,使用jsp、ssm、mysql是开发系统的最佳搭档,以此诠释了系统的技术可行性
在硬件更新换代日新月异的今天,其容量变大,可靠性提高,价格变低,硬件可以说满足了完成此系统的必备条件。
2.1.1操作可行性
操作可行性是指所开发系统的界面是否美观、简单易操作,是否有操作步骤的提示,是否能自动生成或更新相关信息。从运行的顺畅度看,可以大概知道系统的可行性和普及性。简单来说,用户操作起来简单方便,系统人机交互体验感高才能吸引用户的眼球。企业购销存管理系统采用的是前端开发技术,在当前属于高端流行的技术。界面简洁美观,用户操作非常简单。
2.2 系统的需求分析
进销存管理系统的需求如下:
(1)系统接口简单美观,易于理解,查询简单灵活。
(2)业务管理数据化,可轻松掌控企业的购销和储存情况。
(3)系统易于维护,安全可靠,可满足实用和高级的需求。
(4)提供采购、销售、调拨、仓储、退货、库存等多种快速准确处理业务模式,支持多种结算方式。
(5)货物的入库、退库、销售、退货流程明确,能够直接“透视”仓库存储情况。
(6)通过系统的运行,逐步提高企业管理水平,同时对员工的素质进行提高。
2.3 系统的功能需求
(1)基础信息管理
该模块主要针对客户、商品、供应商等的信息管理,同时可实现对相关信息查询的功能。
(2)库存管理
该模块主要对商品的入库及入库退货进行管理,根据进货价格及市场控价管理商品价格。同时可以及时掌握和查询商品的库存信息,便于其添加商品库存和盘点商品库存的管理,其库存管理流程图如下图2.1所示。
图2.1 库存管理流程图
(3)商品销售
此模块主要功能是对商品的销售以及售后退货的相关信息进行管理。
(4)查询统计
此模块主要是对商品的相关信息进行查询,可输入不同的条件对商品的入库信息、销售信息及退货信息等进行查询。同时也提供对某段时间的销售额进行查看以及可以通过图表对销售额进行分析。
(5)商品往来管理
该模块主要实现对商品的入库、入库退货、销售、销售退货等结账信息进行查询和管理。
(6)系统设置
该模块主要对操作员的增删以及对其登录密码进行管理。
(7)用户管理
该模块主要实现创建用户、分配用户权限等,添加用户流程图如下图2.2所示:
图2.2 添加用户流程图
(8)日志管理
该模块主要保存整个系统运行过程中产生的日志信息,方便管理员查询日志,查看登录信息、操作信息等,当系统出现问题时是一个重要的排障手段;
3.1 系统设计
3.1.1系统总体架构设计
硬件方面,科学技术发展日新月异,硬件的更新速度越来越快,容量量也在不断增加,风险系数越来越低,价格变也变得相当实惠,对于本系统的开发是搓搓有余的。
本系统运用到的技术主要有:
JavaScript
JavaScript是一种客户端脚本语言,具有相对的安全性,它的驱动源来自于对象和事件。同时也是客户端web开发的脚本语言,主要用于响应用户的操作。
jQuery
JQuery是兼容多个浏览器的JavaScript框架。核心思想是少写,多做。它不仅吸引着世界各地的JavaScript专家投入其中,而且已经成为最流行的JavaScript框架,全球访问量排名前10000的网站,使用jQuery的比例高达55%。
JQuery不仅是免费的,而且是开源的。它使用麻省理工学院的许可协议。jQuery的语法设计使开发人员更方便地操作文档对象、选择DOM元素、制作动画、处理事件和使用ajax。它不仅提供了编写插件的API,而且它的模块化应用使静态或动态web页面的开发变得简单而快速。
MySQL
MySQL是一个小型开源关系数据库管理系统。由于其总拥有成本低、速度快且规模小,最大的优点是开源,MySQL成为了个各中小网站首选的网站数据库。之后发布的mysql企业版,对其进行收费使用。
SSM
SSM(Spring+springmvc+mybatis)框架由两个开源框架构成,主要用于一些较为简单的web项目架构,主要由Spring和mybatis构成。
Spring:
在配置文件中,spring调用实体类的构造函数,通过指定特定的参数来实例化对象。
Spring的核心思想是IoC(控制反转),Spring框架会完成新建的操作。
SpringMVC(springmvc是Spring的一部分):
Spring MVC拦截项目中的用户请求。它的核心servlet dispatcherservlet负责中介或前台。它通过handlermapping将用户请求与控制器匹配,handlermapping是与请求相对应的特定操作。Spring MVC相当于SSH框架中的struts。
mybatis:
Mybatis是JDBC的一个包,它使数据库的底层操作透明化。mybatis的操作都围绕一个sqlsessionfactory实例操作。Mybatis通过配置文件与每个实体类的映射器文件相关联。映射器文件配置每个类到数据库的SQL语句映射。每次与数据库交互时,通过sqlsessionfactory获取一个sqlsession,然后执行SQL命令。
页面把请求发送给控制器,控制器调用业务层处理逻辑,逻辑层将请求发送给持久层,持久层与数据库进行交互,然后将结果返回给业务层,业务层再把处理逻辑发送给控制器,并控制调用视图以显示数据。
MyBatis
MyBatis是Java的一个持久化框架,可通过XML描述符或注解将SQL语句或存储过程与对象相关联。
Mybatis是ibatis 3.0的分支版本,其不同于其他对象关系的映射框架,mybatis将Java方法与SQL语句而不是数据库表相关联。Mybatis允许用户使用数据库中的存储过程、视图、查询和其他专有功能。
与JDBC相比,mybatis简化了SQL语句在一行代码中的执行。Mybatis有一个映射引擎,它将SQL语句的执行结果映射到对象树。SQL语句可以通过ApacheVelocity集成插件动态生成,也可以使用类似于XML的内置表达式语言动态生成。
C30P
C3P0是JDBC连接池且是开源的,它可完成JNDI和数据源绑定,支持JDBC2的标准扩展和JDBC3规范。目前,它的开源项包括Hibernate、Spring等。
EasyUI
EasyUI是基于jQuery的一个框架,汇集了各种各样的用户界面(UI)插件。
JQuery easy UI可以帮助web开发人员更容易地创建一个丰富而漂亮的UI界面。通过jQuery easyUI,开发人员不用编写复杂的JavaScript,也不用深入了解CSS样式。他们只要知道一些简单的HTML标记即可。
3.1.2数据库设计
本进销存系统实体根据分析得到E-R 图,如图 3.2.1.1 所示,图中涉及到的 3个实体:客户、供应商、商品。
各实体的主要属性描述如下:
客户(客户名称,地址,联系人,联系人电话,开户银行,银行帐号)
商品(商品名称,产地,价钱,规格,计量单位,供应商名称)
供应商(供应商名称,地址,联系人,联系人电话,邮箱,开户银行,银行帐号)
图中有2 个联系,关系如下:
(1)客户和商品是多对多关系。
(2)供应商和商品是多对多关系。
图3.1系统实体E-R图
综合本系统的功能,结合数据库系统的特点以及选用的开发工具,对系统数据库进行设计,建立具有良好数据组织结构的数据库,应遵循的原则有:
(1)最大限度降低数据冗余。
(2)考虑结构和操作两者之间的设计相融合。
(3)要有稳定的数据结构。
数据在数据库中地位是数一数二的,应该将其安全性、完整性、可恢复性以及可控制性进行着重考虑,通过数据库对数据实施一定的保护措施,下面将简单介绍部分主要表的设计:
(1)user表,存储管理员及员工账号信息
表3-1 user表
字段名称 数据类型 主键 是否空 说明
id int Y N 主键,用户ID
username varchar(50) N N 用户登录名
password varchar(50) N N 用户登录密码
roleId int N N 用户类别,是否为管理员
photo varchar(128) Y N 用户头像
sex int(1) N N 性别
age int(3) N N 年龄
address varchar(128) Y N 住址
(2)supplier表,存储供应商信息
表3-2 supplier表
字段名称 数据类型 主键 是否空 说明
id Int Y N 主键,供应商ID
name varchar(128) N N 供应商名称
tel varchar(32) N N 供应商电话
address varchar(128) N N 供应商地址
contactName varchar(32) N N 供应商联系人
contactPhone varchar(11) N N 供应商联系人的联系方式
(3)stock表,仓库信息
表3-3 stock表
字段名称 数据类型 主键 是否空 说明
id int Y N 主键,仓库商品ID
productId int(11) N N 商品ID
productNum int(8) N N 商品数量
sellNum int(8) N N 销售码
createTime datetime N N 创建时间
(4)sell_reback_detail表,销售后退货详细信息
表3-4 sell_reback_detail表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
sellRebackId int(11) N N 退货信息ID
productName varchar(128) N N 退货产品名称
price float(8,2) N N 退货产品价格
productNum int N N 退货产品数量
money float(8,2) N N 退货产品价值
(5)sell_reback表,销售后退货简略信息
表3-5 sell_reback表
字段名称 数据类型 主键 是否空 说明
id int Y N 主键
money float(11,2) N N 退货产品总价格
productNum int N N 退货产品个数
payType int N N 产品支付方式
status int N N 当前状态
operator varchar(30) N N 退货原因
remark varchar(128) N N 重新标记
createTime datetime N N 创建时间
(6)sell_detail表,销售产品详细信息
表3-6 sell_detail表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
sellId int(11) N N 销售信息ID
productName varchar(128) N N 销售产品名称
price float(8,2) N N 销售产品价格
productNum int N N 销售产品数量
money float(8,2) N N 销售产品总价格
(7)sell表,销售产品简略信息
表3-7 sell表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
money float(11,2) N N 销售产品总价格
productName int(5) N N 销售产品名称
payType int(2) N N 支付方式
status int(2) N N 销售产品状态
operator varchar(32) N N 销售产品方式
remark varchar(128) N Y 备注
createTime datetime N Y 销售时间
(8)product表,产品信息
表3-8 product表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
supplierId int(11) N N 供应商ID
name varchar(128) N N 销售产品名称
place varchar(128) N N 产地
spec varchar(64) N N 规格
pk varchar(64) N N 包装方式
unit varchar(32) N N 单位
price float(8,2) N N 价格
remark varchar(256) N Y 备注
(9)order_in表,产品入库信息
表3-9 order_in表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
money float(11,2) N N 销售产品总价格
productName int(5) N N 销售产品名称
payType int(2) N N 支付方式
status int(2) N N 销售产品状态
operator varchar(32) N N 销售产品方式
remark varchar(128) N Y 备注
createTime datetime N Y 销售时间
(10)log表,系统日志信息
表3-10 log表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
content varchar(255) N Y 日志内容
createTime datetime N Y 销售时间
(11)authority表,用户权限管理表
表3-11 lauthority表
字段名称 数据类型 主键 是否空 说明
id int(11) Y N 主键
roleId int(11) N N 用户类别ID
menuId int(11) N N 用户可以访问的菜单ID
3.1.3系统模块的设计
根据系统功能分析,可以归纳程序的功能模块图如下图3.1.3.1所示。
图3.2系统功能模块图
1.基础信息模块:添加商品及其公司信息,对商品及公司信息进行管理。主要是根据企业需要的商品对供货公司提供的商品进行管理,不同公司提供的同一商品还可以进行比较,选择性价比高的,同时对新商品或有信息变更的商品进行实时更新。
2.销售/进货模块:主要是对平时的进销进行管理。该模块主要有销售人员对销售情况的记录,根据销售情况,库管理员对商品的进货信息进行登记分析及下发进货清单。进货后,入库需要填写清单,用于货物的统计,盘点及其他方面的管理。管理员根据进货价格和规定控价进行商品价格和商品零售进行管理。商品销售出去需要填写出货单,记录商品的详细的信息。
3.查询统计模块:在已有的商品库中输入想要查找的商品名称,可以查询该商品的全部信息,包括库存数量、价格、供货公司等。同时方便查看库存不足的商品,及时通知仓库入库管理员对商品进行购买,及时添加库存。还方便仓管人员对商品的盘点工作,及时清理过期或损坏商品。
4.结账管理模块:主要对平时的收支进行管理。不仅包括进货、销售的账单进行管,还要对库存的账目进行管理。同时对购入商品、退换商品以及售出商品进行价格信息和各种支出、费用的管理。
5.系统设置模块:主要对系统中用户信息的管理。主要包括用户信息及设置用户权限管理、系统日志信息管理、设置系统各参数管理、系统数据库备份管理。
3.2 系统的开发平台及运行环境
3.2.1系统的开发平台
系统的开发是在Tomcat环境下进行的。Tomcat服务器是一个开源的轻量级web应用服务器,广泛运用于中小型系统和并发量少的场合下。它被认为是Servlet和JSP程序开发和调试的首选。
Tomcat的环境主要有以下几方面技术优势:
1.Tomcat中使用的是WAR文件,相当于一个压缩包。
2.将WAR存放到Tomcat的webapp目录下可自动检测并解压。
3.Tomcat既有处理HTML的功能,也可以作为ssm的容器。
3.2.2系统的运行环境
操作系统:Windows XP以上版本。
服务器软件:Tomcat7.0以上版本。
浏览器:IE、Fire Fox、Google Chrome。
进销存管理系统主要是提供给企业管理员对企业的采购、库存、销售等事务的一个系统。对于企业管理者而言,一个全新的系统不仅要操作简单明了、界面精美易懂,而且排版合理清晰、结构有条有理。下面将以简单介绍和截图的方式来呈现出所设计的界面以及实现部分源代码。
4.1 用户及角色管理
登录页面以简明的形式提供给用户一个登录界面。用户登录后会显示当前系统的基本信息。在本系统中实现了用户角色管理、基于角色的权限管理、用户基本信息录入修改、用户管理等功能。
图4.1 用户登录界面图
登录页面主要代码如下:
图4.2 登录系统首页图
角色管理和权限分配
图4.3 角色分配管理图
当前用户列表和用户信息
图4.4 用户列表信息图
用户列表信息主要代码如下:
指定用户信息的修改和添加
图4.5 用户添加管理页面图
添加用户信息主要代码如下:
4.2 供应商管理
本系统中供应商管理是一个重要的功能,不可或缺,如下截图可以显示当前后台管理系统中添加供应商信息的页面截图,简单而高效,如下添加供应商截图:
图4.6 添加供应商页面图
供应商列表信息主要代码如下:
4.3 商品管理
商品管理用于管理员对商品进行添加、删除、编辑的页面,是管理员经常使用的功能之一,必须设计的精简而高效,如下截图
图4.7 商品列表及导入商品页面图
图4.8 添加商品页面图
商品导入主要代码如下:
添加商品信息主要代码如下:
4.4 商品入库(进货)信息
商品入库和进货信息关系到账单相关的功能,与钱有关必须详细列出操作人,支付金额和支付方式以及进货时间,如下图所示:
图4.9 进货列表页面图
添加进货单
图4.10 添加进货单页面图
主要代码如下:
查看已经进货的清单
图4.11 查看进货清单页面图
4.5 销售信息管理
进销存系统商品销售信息应包含商品ID、名称、价格、数量等信息。如下截图:
图4.12 销售列表及添加商品信息页面图
添加商品信息主要代码如下:
此外还应包含退货信息,何种商品何时因何种原因被退货均应记录在系统内,便于管理员统计和调查,如下截图:
图4.13 退货列表及退货商品信息页面图
4.6 销售信息统计
统计功能用于给管理者提供全局信息,为下一步决策提供依据,以图形化的方式展现销售业绩更加直观,更便于查看销售的趋势。统计应可以根据天、月、年的时间单位来展现,如下截图:
图4.14 日销售退货统计页面图
图4.15 年销售退货统计页面图
销售统计主要代码如下:
4.7 系统日志记录
任何一个平台服务均需要记录平台的基本日志、操作日志、用户登录日志等,可用于排障、安全排查等功能。
图4.16 日志列表页面图
获取日志列表主要代码如下:
5.1 系统测试
5.1.1测试的意义
测试在系统开发过程中是最轻易被忽视的一个步骤,但其实测试在系统开发中是不可或缺的,对系统的开发质量起着关键的作用。
在系统开发过程中,我们无法避免会有大大小小的bug,语法上的bug主要在代码中体现出来,而一些逻辑错误以及小错误和问题,都需要从测试这个过程来发现错误及问题的所在之处,以便对系统的修改和完善,提高系统的稳定性和健壮性。
在软件的生命周期中,测试是其中极其关键的一道工序,对开发高质量的系统有着重要的意义。
5.1.2测试的目的
在系统简单运行的情况下,着手对系统进行简单地检测,尽早发现系统的问题和漏洞,对bug进行修改,对系统进行完善,为做好一个成功的系统打下基础。
通过测试的系统,不说100%没有漏洞,但是测试可以提高其系统的稳定性和健壮性。
5.1.3软件测试方法
根据测试对象和内部结构可分为:黑盒测试和白盒测试。
根据是否运行程序可分为:静态测试和动态测试。
根据系统开发历程可分为:单元测试、集成测试、确认测试、系统测试、验收测试、回归测试
单元测试,是软件设计中的最小单位(同时又被称之为模块测试),主要通过对代码中的重要路径进行设计测试用例,以此来发现某一功能或者代码块中的bug。
集成测试,顾名思义就是要将需要的模块集合成一个系统或者子系统进行测试。其测试需要先进行单元测试,测试好每个模块,才能完成集成测试。
确认测试(Validation Testing),主要是关注系统完成的功能跟用户所需要的功能是否一致,是否符合用户的标准。其标准源于系统开发前跟客户沟通好的,在软件需求规格书上有明文规定的。
系统测试(System Testing),前提在确认测试没有问题的基础上,把系统结合外界实际环境(如硬件,软件,运行环境等)一系列因素进行统一测试。针对测试结果与系统定义的需求作比较,看有没有不一致的地方。
验收测试(Acceptance Testing),验收测试跟确认测试差不多,区别就在于验收测试是在通过了系统测试以及对各种设备进行审查后,通过送样给客户进行测试,然后组织软件开发人员和相关负责人员进行验收测试。一般验收测试都要综合实际情况,采用几组实际生产过程中的实际数据,得出结果进行分析,如果结果符合,则可确保测试过程中的数据真实性。在测试过程中,除了保证软件的性能以外,还要对软件的兼容性、可维护性等功能进行测试。
5.2 测试用例及测试结果
5.2.1测试用例
根据系统的实现,所涉及的模块比较多,在此只对部分功能模块进行测试,下面讲述一下登入系统和添加商品信息的测试用例,确认实现结果是否与期望结果相一致。如下表6-1、表6-2所示:
登入系统测试用例
功能特性 用户登录验证
测试目的 验证是否输入合法的信息
测试数据 用户名称:1111 密码:1111
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 输入用户姓名,按“登陆”按钮。 用户姓名:1111,
密码为空 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
2 输入密码,按“登陆”按钮。 用户姓名为空,密码:1111 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误!” 与期望结果相同
3 输入用户姓名和密码,按“登陆”按钮。 用户姓名:1,
密 码:1 显示警告信息“用户名或密码误!” 显示警告信息“用户名或密码误” 与期望结果相同
4 输入用户姓名和密码,按“登陆”按钮。 用户名:1111,密 码:1111 正确登入到会员操作界面 正确登入到会员操作界面 与期望结果相同
表6-1登入系统测试表
用户添加商品信息用例
功能特性 用户添加商品信息
测试目的 验证若不输入必填信息是否添加成功
测试数据 商品名称:iPad Air(必填) 所属供应商:京东(必填) 商品产地:北京 商品规格:240169.57.5 商品包装:箱装 商品单位:台 商品价格:2000(必填) 备注:用于开会或外出办公使用
测试内容 操作描述 数据 期望结果 实际结果 测试状态
1 输入用商品名称,按“确定”按钮。 商品名称:iPad Air,
所属供应商和商品价格为空,其他为空 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
2 输入所属供应商,按“确定”按钮。 所属供应商:京东,
商品名称和商品价格为空,其他为空 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
3 输入商品价格,按“确定”按钮。 商品价格:2000,
商品名称和所属供应商为空,其他数据全填 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
4 输入商品价格,按“确定”按钮。 商品价格:2000,
商品名称和所属供应商为空,其他数据为空 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
5 输入商品名称和所属供应商,按“确认”按钮 商品名称:iPad Air,所属供应商京东,其他为空 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
6 输入商品名称和商品价格,按“确认”按钮 商品名称:iPad Air,商品价格:2000,其他为空 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
7 输入所属供应商和商品价格,按“确认”按钮 所属供应商:京东,商品价格:2000,其他数据全填 显示警告信息“请检查你输入的数据!” 显示警告信息“请检查你输入的数据!” 与期望结果相同
8 输入商品名称,所属供应商和商品价格,按“确认”按钮 商品名称:iPad Air,所属供应商:京东,商品价格:2000,其他为空 显示“添加成功” 显示“添加成功” 与期望结果相同
9 输入商品名称,所属供应商和商品价格,按“确认”按钮 商品名称:iPad Air,所属供应商:京东,商品价格:2000,其他数据全填 显示“添加成功” 显示“添加成功” 与期望结果相同
表6-2用户添加商品测试表
5.2.2测试结论
测试不仅仅是我们检验错误的手段,也是我们做好一个系统的关键。通过测试,我们可以检查出bug,对系统进行完善。测试的方法我们不仅可以通过程序或者人工来检查出边界的bug,同时也可以通过系统化检测问题所在。互联网的日新月异催生了自动化测试,它是完美的存在,不需要过多的人工管理,可以准确地执行指令,为测试工作带来了新的阶段。回归测试帮助我们检查结果和是否带入其他新的问题。
很多时候,人们会将测试跟排查bug混淆到一起,然而我们应该清楚地认识到两者是有区别的。测试是指程序能运行的情况下进行的一种对其功能完好性的检测,而排查bug是在任何时候我们觉得程序有错误或者执行结果有偏差的情况下对程序进行排查,找出bug。
6.1 全文总结
此次的系统开发是由业务管理和软件技术相结合的,运用JSP开发的企业管理系统,需要对企业的业务有一定的了解,才能熟悉业务流程,有清晰的思路,最后设计和开发出我们想要的系统。此次设计开发考虑到多方面的工作需求,基本可以满足企业的进销存管理工作。通过SSM框架实现了高内聚、低耦合的需求。同时此次设计也进行了实地考察,通过与企业相关工作人员的交流,完善了此次系统开发的需求分析,最终决定设计系统管理员登录、商品管理、入库管理、销售管理、销售统计等模块。
通过本次系统开发,加强了我对JAVA基本知识的掌握,同时在错误中掌握到更多的编程技巧,在开发过程中更深入了解软件架构,数据库的使用以及MVC设计模式,不断在开发中提高自己的开发能力。
在整个开发过程中,我意识到:开发一个系统是否顺利往往跟系统分析相关联。在没有做好分析设计前,我们不能盲目进行系统开发,盲目只会让我们在后面的工作上更费时,搞不好还要重新进行分析,大量修改程序。所以先做好分析设计是十分关键的,同时做好数据设计,编写好需要的开发文档。做好前期工作再进行程序代码的编写,这样我们在后期的工作上才能得心应手。
此次系统开发也让我意识到自己的不足之处,主要是在学校除了上课和出来实习过程中都没有深入了解软件开发工作,开发经验匮乏,以至于在开发本系统的时候碰了不少壁,日后如果从事软件开发相关工作,肯定还有很多的知识需要我去学习和努力。
此次系统设计的收获也挺多的,很多软件开发的知识都是课本上没有的,想要了解更多,不仅要请教别人,还要自己去查阅,去学习。在论文结构和内容上也得到指导老师的指点,这些都对自我产生了一定的影响,同时也提高自己解决问题的能力。只有将问题一个一个解决,才能看到一次次的释怀。
6.2 课题展望
计算机技术日新月异,技术的提高来自于人们的需求。如今计算机技术已经成为人们降低成本,提高工作效率的手段之一,企业行业也不例外。企业管理的系统对于现代的企业的管理者来讲就是一个润滑工具,可以吧复杂的数据简单化,并且可以提高管理者对信息的接收和处理速度,大大降低的企业管理者统筹规划的效率。
[1] 张孝祥,Java 就业培训教程(附盘)[M].清华大学出版社,(2007-07)
[2] 石志国,薛为民,董洁.JSP应用教程[M].北京:清华大学出版社.北京交通大学出版社,2004
[3] 李曙光.JSP开发实例完全剖析[M].北京:中国电力出版社,2006
[4] 杨易.JSP高级程序设计[M].人民邮电出版社,2006
[5] Vivek Chopra.JSP高级程序设计[M].机械工业出版社,2001
[6] 申吉红,廖学峰,余健.JSP课程设计案例精编[M].北京:清华大学出版社,2007
[7] 卢潇.软件工程[M].北京:清华大学出版社;北京交通大学出版社,2005
[8] 萨师煊,王姗.数据库系统概论[M].北京:高等教育出版社,2000
[9] 马运涛.Eclipse精要与高级开发技术[M].北京:电子工业出版社,2003
[10] PaulJPerrone etal,张志伟,谭郁松,张明杰.J2EE构建企业系统[M] .北京:清华大学出版社,2001
[11] Chuck Cavaness.Programming Jakarta Struts,2002
[12] Bruce Shive.Research Direction in Object-Oriented Programming,2002
[13] Miao H.K.McDermid J.A.andTony Ian,Proving the existence of the initial state in Z specification,Chinese Journal of Advanced Software Research,2003
[14] Apache Software.The Struts User’s Guide.http://Jakarta.Apache.org/struts.
在论文完成之际,我首先要向尊敬的唐盛平师表示最真挚的谢意。
在论文写作期间,为了保证我们毕业设计的正常进行,学院抽调了优秀的老师指导我们进行毕业设计,并且不时地询问我们毕业设计的进展情况。没有松田学院老师们的细心指导我的论文与系统就不可能顺利的完成,再次对你们表示衷心地感谢。老师认真负责的工作态度、严谨的治学风格,使我深受启发;同时也很感谢帮助过我和我一同探讨问题的同学们。为我们这次设计的正常开展提供了必要的基础。本次毕业设计,就要画上一个句号了。
感谢松田学院给我提供学习的地方,让我在这里接受了四年正规系统的本科学习。感谢所有关心、支持、帮助过我的良师益友。
最后,向在百忙中抽出时间对本文进行评审并提出宝贵意见的各位老师表示衷心地感谢!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。