基于Java EE技术的中小型企业资 金流管理系统的设计与实现
摘 要
当今世界,科技的变革为人们的生产和生活提供了诸多便利,也为新兴事物的发展提供了许多的便利。企业作为与社会发展相关的一大领域,为国计民生做出了很多贡献。而计算机行业的发展、信息技术的发展对于企业来说既是一个机遇又是一个挑战。信息技术为很多企业的管理模式上带来了大的变化,利用信息技术来实现企业日常事务的管理,不仅为企业的工作人员减轻了工作负担,也使得企业运转的速度变快。纵观现在,许多企业都采用了互联网技术来进行考勤、员工管理、财务管理等工作。用互联网来统计和处理上述信息不仅高效、快捷,安全性也很强。
本系统就是基于上述情况,结合如今企业内部对于资金流的管理模式,采用java语言,jsp页面处理技术,以及SSM框架技术来实现的一个企业资金流管理系统,研发该系统的主要目的就是对企业内部的资金流进行管理。本系统是经过调查后才进行需求分析、开发设计的,比较贴合企业对于资金流的管理模式,对于功能模块的设计也较为细致,在系统的维护方面也较为简单。
关键词:企业管理;资金流;Java;SSM
ABSTRACT
In today's world, technological change has provided many conveniences for people's production and life, and has also provided many conveniences for the development of emerging things. As a large field related to social development, enterprises have made many contributions to the national economy and people's livelihood. The development of the computer industry and the development of information technology are both an opportunity and a challenge for enterprises. Information technology has brought many major changes to many management models of the enterprise. The use of information technology to manage the daily affairs of the enterprise has reduced the workload for the staff of the enterprise and made the enterprise run faster. Throughout today, many companies have adopted Internet technologies for attendance, employee management, and financial management. Using the Internet to count and process the above information is not only efficient and fast, but also highly secure.
This system is based on the above situation, combined with the current internal capital flow management model, using java language, jsp page processing technology, and ssm framework technology to implement an enterprise capital flow management system. This system is required for analysis, development and design only after investigation. It is more in line with the management model of capital flow of the enterprise, and it is also more detailed in the design of functional modules, and it is also relatively simple to maintain the system.
Key words:enterprise management;capital flow;Java;SSM
目 录
1 前言
1.1 研究背景
在科技发展的浪潮下,许多日常生活中的事务都与信息技术相结合起来,信息技术产业为人们的日常生活起到了很大的帮助。同样的,在工作中引入信息技术来处理工作中遇到的问题,也是十分方便的[1]。企业作为社会发展中必不可少的一部分,其内部的工作模式也逐渐开始迎合时代的发展,引入信息技术来处理企业管理中遇到的问题。在企业内部,资金流的管理一直以来都是处理起来比较复杂,需要多部门交接且需要耐心、细心的一项工作,而互联网的发展为这项工作带来了极大的便利,正是由于互联网上统计工具使用起来较为便捷、数据也易于储存,不易丢失等特点,才为企业资金流管理的互联网化提供了一个有利的契机[2]。借助当前互联网技术的逐步成熟,将企业内部的资金流管理模式与互联网技术相结合,才有了企业资金流管理系统的诞生与发展。
1.2 研究意义
资金流的实质是财务管理工具、手段或方法作用于企业资金运动的过程,表现为资金的转移过程,包括付款、转账、结算、兑换等过程,体现了企业实现财务管理目标的能力。它不是简单的线性,而是连续传递的、不断循环、相互交错、链状集合的网络状态[3]。资金流内部控制是企业重要的内部管理制度,资金流可持续性反映了企业在任意时点的资金供给,能够满足弥补其出现的临时性或突发性资金缺口的支撑能力。这种支撑能力一方面取决于企业在某一时点的资金供应能力,另一方面又取决于企业该时点出现资金缺口的程度。企业资金流的可持续性就是这两个方面较量的结果。因此企业必须要有一个资金流管理系统来实时查看资金的走向[4]。
对于一个企业而言,其内部的管理工作有很多,企业内部的相关管理人员难免会有些力不从心。在以前,企业内部采用的很多管理模式都是档案记录,即对于需要整理的内容进行整理并汇总,这种处理模式难免会耗费大量的人力和物力。而引入了互联网技术来进行这些工作的处理,首先是信息的汇总更加方便了,减少了以往工作人员需要在各个部门之间协调、奔波的辛苦;其次是数据的准确性得到了保障,由于互联网平台的限制,数据在平台上上传时就要求其准确性,也不会因为时间的推移出现磨损、消耗;再次就是节省了存储这些资料的空间和纸张[5],这些数据存储在互联网上就无需不必要资源的浪费,大大节省了企业的相关资源。自动化办公系统的出现,为企业的管理工作带来了极大的方便。例如,在传统的企业管理模式中,想要对不同部门的工作人员进行人事调动的工作较为繁琐,需要两个部门之间的协调,且协调必须要面对面进行,而使用了自动化办公系统之后,这种协调只需通过该系统就可以实现,想要对公司内部人事情况进行调整,只需利用该系统进行相关的修改即可完成。且该系统对于企业管理之中的日常管理环节均有所涉及,这部分的工作利用互联网技术来实现对接,大大加强了企业管理的工作效率[6],也大大减少了企业在此方面的人力与物力的浪费。上级部门只需通过该系统就可查看手下员工的工作情况,员工想要请假或申请加班也可以通过该系统提出申请,相比以往,这种方式更加快捷也更加直接,使得企业中的每一位工作人员都可以节省出这些时间来处理工作中的事务,对企业的发展和业绩是有利无弊的。
1.3 国内外研究现状
国外企业管理方面研发较早,早在20世纪后期,科技人员就已经着手研究企业管理与互联网技术的结合所能实现的功能了。在美国的某企业首次使用了企业管理系统来对企业的资金流等来进行管理,由此拉开了利用互联网技术来实现企业管理的序幕。在美国首次研发并投入使用该类系统后,一些其他的西方国家也纷纷效仿[7],利用互联网技术实现的企业管理系统逐渐在西方国家之间流传开来。至今,几乎所有的西方国家内部都有半数以上的企业使用企业管理系统来对企业的资金流以及企业内部的其他事物进行管理。
在此方面,国内的技术发展较为缓慢,远不如国外投入研发的早,在我国对该类系统研发初期,也曾借鉴了国外对于此类系统的开发经验和一些思路,获得启发后又结合本国国情以及企业发展状况,开发出了适合我国的企业资金流管理系统、企业人事管理系统等。我国的大型企业内部的资金流管理较为混乱,工作繁杂,利用互联网平台来实现的企业资金流管理系统迎合了企业管理中遇到的问题,在推出后当即收到了许多企业的好评,并很快投入使用。我国首个企业资金流管理系统是在上海市静安区的某公司投入使用的,现在,我国已经有多所城市、多个企业使用了该类系统,为企业内部管理带来了极大的方便[8]。国外在自动化办公系统方面研发较早,美国更是率先大范围使用自动化办公系统的国家之一。相比于通过纸质媒介来处理办公中的常见问题,美国的企业员工更倾向于利用互联网平台来处理问题,这也使得自动化办公系统一经出现就收获了美国许多企业老板以及员工的喜爱。正是因为这一思维方式,也推动了国外在自动化办公系统方面的研发工作,所以国外的相关技术比国内要成熟的多,此类系统的使用率也比国内高出许多。
1.4 研究内容
本系统是基于JAVA语言来开发的一个企业资金流管理系统,本系统大致分为财务员工管理、员工工资管理、员工每月工资统计、采购的支出管理、销售的收入管理、销售和采购的折线图统计这几大模块。主要是针对负责该系统的管理员和该企业财务员工这两个用户角色来进行设计的。通过使用本系统来进行企业资金流的管理,可以清晰地看到企业内部销售和采购的情况,以便于对企业接下来的走向进行合理的评估和规划,也能够对员工工资情况等问题有一个更好的评估和掌控。本系统功能模块的设计贴合企业的实际需求,维护也较为轻松,系统实用性强,可行性也较强。
2 技术介绍
2.1 Java语言介绍
Java语言作为开发网站跟系统的主流语言,目前依然很多的程序都是由Java设计的,Java的特点很明显,集成了C语言的底层优势,但又去除了他的指针等复杂结构,基于三大特点封装、继承、多态,对代码进行结构化处理,使得代码的逻辑结构层级更为分明,且多个类或者接口直接的关联更为紧密[9],Java基于面向对象开发在设计理念上是一个软件的里程碑,Java作为basic语言,也可以有50多个固定关键字,通过对方法或者是属性前缀进行定义,使得Java限制更为明显,java是强容错机制,可以对错误进行自动回收,因此Java的异常处理优势明显。
2.2 Javascript介绍
Javascript是一种页面前端语言,可以理解为页面嵌入式语言或者是解释语言,可以调控CSS与html之间的数据交互,javascript也是一种面对对象的弱容错语言,可以自动运行项目[10],同时可以自定义部署,可以通过JS之间调用后台接口返回数据,可以进行页面的事件驱动,可以出发页面响应事件,可以直接对客户前端页面输入做出响应,不需要进过web层处理,可以对输入数据进行校验,JS语言特点较为安全,它不会去访问本机磁盘存储,不允许对网络报文传输进行修改编辑,可以有效防止数据丢失。
2.3 Maven介绍
目前较为强势的项目管理工具为maven,maven主要作为jar包管理工具,但同时可以对整个项目开发进行把控,maven对于程序员最大的优势在于不需要人为的对jar进行导出和冲突解决只需要依赖引入设定版本的包即可,maven可以对整个系统的环境进行设置,可以对项目进行智能打包,可以关联包对包之间的部署依赖,可以对jar包进行自动更新,依据第三方平台库之间进行引入[11]。
2.4 Mysql数据库
Mysql是关系型数据存储的库,底层是由C++语言设计的,因此安全性跟可靠性都比较强,mysql可以进行大量数据的存储,可以容纳多个小型库,每个库都可以有多个表,可以很直观的进行解锁和数据查询,mysql的整体设计都基于四大特点保证数据不会出现错误,且可以进行异地备份部署保证了数据的安全性,也可以完善数据的安全和共享,mysql可以通过索引或者是视图、触发器等机制对存储进行设定[12],同时对数据的查询效率进行人为机制的干扰,提升查询效率。mysql作为多线程并行程序,可以很充分的利用CPU资源,可以单独部署于一个独立平台中,也可以把一个库嵌入到启用它程序中。mysql的内部提供了管理算法,可以对数据库进行自动优化。mysql支持多线程,这样有利于运行资源的提升,且支持多种编码方式,最常用的一般为utf8,GBK,mysql可以有效的进行sql优化,便于提升查询效率,可以提供多种存储引擎,在mysql表中可以增加索引便于快速指定查询,但mysql有总索引数的限制一般为16个,mysql一般操作的数据在几十万内是很快捷的,因此适合中小型项目开发。
2.5 SSM框架介绍
SSM主要为spring+springmvc+mybatis三种框架,通过三层交换进行配合,springmvc主要是控制层servlet的请求处理以及接口拦截管控,mybatis主要是与数据进行增删改查反馈,spring作为容器框架,可以进行智能集成。
Springmvc作为控制层的servlet主要为请求进行分配以及对权限进行拦截处理,通过定义@Controller对bean进行注入,相当于struts中的action,但springmvc是基于方法的定义url拦截,因此类的方法左右更为分散,同样一个类不同的方法就有不同的请求。springmvc主要为controller层业务处理,通过与springmvc的xml进行配置,可以对action中url的请求后缀进行拦截,可以对return的页面的格式后缀进行设计。此框架的url请求是基于restful风格的,在url中动态定义,可以是请求参数,也可以拼接定义,通过@Controller对类进行设置,在后期项目启动加载时可以识别为控制层处理类,设置为单例模式启动,通过requestmapping进行参数传输匹配,通过param中的name对参数进行封装,可以自定义的进行参数取值,也可以通过json直接对对象进行封装取值,避免了多参数时一个个的取,也体现了Java的基于面向对象的设计优势。springmvc可以通过interceptor对请求进行事务拦截,可以进行日志的处理以及未登录操作或者是权限分配的操作拦截处理。
Mybatis库的dao层交互框架,mybatis更为的轻便,可以对sql进行自定义拼接执行。可以通过片段的方式进行拼接sql,自定义组合更强,且在多表查询关联时比hibernate的效率要快速很多;通过xml与mapper类中的ID进行匹配定义,建立动态代理类进行查询。mybatis作为数据库交互层的框架,可以集成任何的数据库,且通过mapper跟xml直接的一对一关联进行配置,通过xml中的方法的name进行匹配,通过baseresult进行返回,不硬性的规定返回数据为单个还是多个。且通过xml配置的优势可以进行无线sql衔接匹配,代码重复度更低,将查询、插入等切割为多个片段进行组装拼接,随机性更好。xml也是基于面向对象设计,可以将整个对象进行保存,相对于之前的hibernate来说框架更为轻便。hibernate主要通过hql进行插入,且关联性数据不好操作,懒加载问题严重,导致查询繁琐,多表插入操作复杂,而mybatis可通过返回跟插入的属性进行配置。可以通过resource中的xml进行对象识别设置。mybatis将JDBC进行更好的封装,自动进行连接与资源的释放,且支持多线程开发,通过原生的配置进行映射。可以通过sessionfactory创建数据库连接操作进行交互。
spring的作用主要是控制这个的项目设计,通过对控制反转进行设置,将所有的bean定义到spring中,在需要调用时直接生成代理无需新建,直接使用,且可以通过切面编程,对执行数据库事务或者是日志管理提供方便。spring作为一个容器框架,可以随意进行集成,spring包含了注解定义,bean类的依赖注入,事务的处理,拦截的定义,可是对springmvc、mybatis进行整合,spring特点为控制反转,可以将类由最初的new变成反向代理的对象,通过单例模式。在后期需要时直接进行调用,可以通过注解配置,也可以通过spring的xml进行bean实体定义,spring的出现让更多的对象实例操作更为简洁,避免了每次使用的无限制创建,节省了运行资源,spring的另一大特点为切面编程,在事务处理拦截和日志处理时面向对象变成了切面,可以操作整个切面类,spring的作用就是去管理各个bean之间的关系,维护持久层和业务逻辑层的关系。spring作为一个非入侵框架,其安全度非常高,且作为一个开源框架又非常独立,spring管理着各个bean的生命周期,可以通过bean工厂以及应用上下文进行衔接。总而言之,spring主要是简化类与类之间的关联代码,通过动态的创建bean来实现对象的调用,而不是手动关联。
3 系统需求分析
3.1 可行性分析
技术可行性在技术语言上首先选择java,java的开发较为简单,且对于系统或者是网站的设计更为成熟,基于面向对象设计使得代码层级更为合理,对于系统平台的依赖性更低,采用Springmvc作为控制层框架使得servlet的请求处理更为合理,对类方法的拦截定义更简洁,采用Mybatis对数据库进行存储交互,采用Mysql对数据进行存储,数据查询更为简单。目前采用主流语言Java,Java的跨平台和部署集成能力较强,框架选择SSM,基于MVC设计,便于后期的二次维护,采用SpringMVC进行rest风格Url设计,代码更为简洁,采用Mysql数据库存储,sql编写优化更为简单。
市场可行性在目前的企业中对资金的把控或者是资金流向更为注重,一个企业的发展与它的财务管理密不可分,且对于一个科技行业,销售的收入以及采购的支出能够很直观的看出一个企业的发展前景以及运营情况,可以通过财务的收支体现一个企业的运营情况。
法律可行性目前本系统市场上没有一家成型的网站,且本次开发采用的语言和框架都为开源,不存在任何的盗版行为,此次设计的内容和技术都为本人自行设计和研发。
3.2 功能需求分析
依据前期的市场调研以及文献法设计分析,系统主要分为两种用户角色,企业管理员和企业财务人员,主要包括以下几个模块,管理员可以对用户进行新增和信息维护,人员工资管理,主要是对企业所有的员工的工资进行登记,依据每个月的每个人的绩效和基本工资进行完善,可以对企业进行月工资统计,可以对整个企业的销售进行记录,包含销售的物品、单价以及销售的金额销售日期进行记录,可以对企业的采购支出进行汇总,对采购的物品进行详细清单进行录入,可以对企业的收入和支出进行可视化折线统计分析,系统功能模块图如下:

图3.1 系统功能模块图
3.3 用例图分析
根据企业资金流市场现有管理系统进行分析,对企业财务管理的角色功能进行细化,对各个角色依附或者下属的功能进行梳理,系统用例图如下3.2所示:

图3.2 系统用例图
企业管理员可以对财务人员的基本信息进行管理,新增后的财务人员可以登陆使用账号。
(1)用例描述
表3.1 财务人员管理用例
|
描述 |
|
|
用例功能说明 |
财务人员的新增和维护管理 |
|
功能操作人 |
企业管理员 |
|
前提条件 |
管理员登陆后可以跳转到财务人员页面 |
|
流程介绍 |
1.输入人员信息以及新增账号信息提示a1。 2.人员信息填写错误,跳转a2。 3.人员信息查询数据提示404,跳转a3。 |
|
反馈错误结果 |
a1. 前端信息提交有误。 a2. 数据校验账号错误。 a3. 系统分页查询语句出错。 |
|
后置条件 |
弹窗提示新增成功,查询数据可以展示 |
企业财务人员可以对企业所有的人员工资进行管理,可以管控企业的所有人的月工资录入和汇总查询。
(2)用例描述
表3.2 企业工资管理用例
|
描述 |
|
|
用例功能说明 |
企业人员的工资录入管理 |
|
功能操作人 |
企业管理员或者是企业财务人员 |
|
前提条件 |
登陆账号后可以进入到人员工资界面 |
|
流程介绍 |
1.录入人员的月工资以及绩效工资提示a1 2.资金数据填写非数字,跳转a2。 3.点击人员工资查询提示404,跳转a3。 |
|
反馈错误结果 |
a1. 前端工资信息提交有误。 a2. 数据校验资金数据为非数字错误。 a3. 系统分页查询语句出错。 |
|
后置条件 |
弹窗提示新增成功,查询数据可以展示。 |
企业管理员或者是财务人员可以对人员工资的月工资进行统计,可以查询每月的工资总额。
(3)用例描述
表3.3 工资月统计用例
|
描述 |
|
|
用例功能说明 |
人员月工资的统计 |
|
功能操作人 |
企业管理员或者是财务人员 |
|
前提条件 |
管理员登陆后可以进入到月统计统计界面 |
|
流程介绍 |
1.月工资查询数据提示404,跳转a1。 |
|
反馈错误结果 |
a1. 月工资统计为空或者是统计系统出错。 |
|
后置条件 |
月工资查询数据可以展示。 |
企业管理员或者是财务人员可以对企业的主要收入销售信息进行录入,可以对销售的收入进行详情记录。
(4)用例描述
表3.4 销售收入用例
|
描述 |
|
|
用例功能说明 |
企业销售收入登记录入管理 |
|
功能操作人 |
企业管理员或者财务人员 |
|
前提条件 |
人员可以对财务收入跳转页面进行操作 |
|
流程介绍 |
1.输入企业的销售物品及数量金额信息提示a1 2.金额输入错误,跳转a2。 3.销售收入查询数据提示404,跳转a3。 |
|
反馈错误结果 |
a1. 前端销售信息提交失败 a2. 销售金额数字格式填写错误。 a3. 销售收入分页查询语句出错。 |
|
后置条件 |
弹窗提示新增成功,查询数据可以展示。 |
企业管理员或者是财务人员可以对企业的主要采购支出信息进行录入,可以对采购的支出进行详情记录。
(5)用例描述
表3.5 采购支出用例
|
描述 |
|
|
用例功能说明 |
企业采购支出登记录入管理 |
|
功能操作人 |
企业管理员或者财务人员 |
|
前提条件 |
人员可以对采购支出跳转页面进行操作 |
|
流程介绍 |
1.输入企业的采购物品及数量金额信息提示a1。 2.金额输入错误,跳转a2。 3.采购支出查询数据提示404,跳转a3。 |
|
反馈错误结果 |
a1. 前端采购信息提交失败。 a2. 采购金额数字格式填写错误。 a3. 采购收入分页查询语句出错。 |
|
后置条件 |
弹窗提示新增成功,查询数据可以展示。 |
企业管理员或者是财务人员可以对企业的主要收支情况进行可视化统计分析。
(6)用例描述
表3.6 采购收支可视化用例
|
描述 |
|
|
用例功能说明 |
企业采购销售可视化统计管理 |
|
功能操作人 |
企业管理员或者财务人员 |
|
前提条件 |
人员可以进入统计可视化页面进行操作 |
|
流程介绍 |
1.点击收入可视化进行查询。 |
|
反馈错误结果 |
a1. 折现数据为平线,或者数据显示404。 |
|
后置条件 |
销售采购可视化可以折线展示。 |
3.4 数据库设计
在数据库设计分析时首先要对系统功能逻辑进行详细分析,分析系统之间各个模块之间的关联以及不同用户的系统功能权限,分析公共模块或是用户关联模块,在本系统中主要采用Mysql数据库,Mysql数据库的优势比较明显,操作简单,适用于中小型项目,且在主外键关联也较为方便,在整个的数据库设计中首先要基于三范式进行数据表设计,要对数据表进行主键设计,根据需求对主键的类型进行设置可根据自增方式或者是UUID的自动生成字符串类型进行设置,在数据库表中,数据尽量避免冗余,否则会影响数据表的查询效率,且数据表若有逻辑业务关联可使用主外键关联形式进行设置,可以对经常查询的字段建立索引,在表结构中字段的长度以及字段的类型要进行分析处理。根据功能模块梳理,数据库E-R总图,如图3.3所示

图3.3 数据E-R图
表3.7为企业管理员表,可以保存在企业资金流中负责用户管理的所有字段信息,包括管理员的登陆用户名和登陆密码。
表3.7 企业管理员表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
mag_admin |
所属编号 |
int(4) |
不可为null |
唯一自增 |
|
mag name |
管理员名 |
varchar(100) |
不可为null |
|
|
mag pwd |
管理员密码 |
varchar(100) |
不可为null |
|
|
mag Role |
用户角色 |
int(4) |
不可为null |
表3.8为存储企业的所有财务人员,包含财务人员的级别、用户名、真实姓名、电话等信息。
表3.8 财务人员信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
financeid |
自动编号 |
int(6) |
不可为null |
唯一自增 |
|
financeame |
财务姓名 |
varchar(16) |
不可为null |
|
|
financedesc |
职责描述 |
varchar(6) |
不可为null |
|
|
financeuser |
财务用户名 |
varchar(20) |
不可为null |
|
|
financepwd |
财务密码 |
varchar(30) |
不可为null |
|
|
financetel |
财务电话 |
varchar(11) |
不可为null |
表3.9为企业的所有人员的每月工资录入信息,包含员工的姓名以及员工的所属部门和基本工资以及绩效功能等。
表3.9 人员工资信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
salary_id |
工资编号 |
int(6) |
不可为NULL |
唯一自增 |
|
salary_user |
领取员工 |
varchar(20) |
不可为NULL |
|
|
salary_date |
录入日期 |
date |
不可为NULL |
|
|
basemoney |
基本工资 |
double |
不可为NULL |
|
|
othermoney |
绩效工资 |
double |
不可为NULL |
|
|
allmoney |
当月工资 |
double |
不可为NULL |
表3.10为企业的电子科技销售信息,包含销售的物品名称、销售的数量、销售金额以及商务人员信息、登记日期等。
表3.10 销售收入信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
sale_id |
销售记录编号 |
int(6) |
不可为NULL |
唯一自增 |
|
sale_name |
销售物品名称 |
varchar(30) |
不可为NULL |
|
|
sale_num |
销售数量 |
int(4) |
不可为NULL |
|
|
sale_money |
销售金额 |
double |
不可为NULL |
|
|
sale_user |
商务人员信息 |
varchar(10) |
不可为NULL |
|
|
sale_date |
销售日期 |
date |
不可为NULL |
|
|
sale_desc |
销售备注 |
varchar(50) |
不可为NULL |
表3.11为企业的商务办公采购信息,包含采购的物品名称、采购的数量、支出金额以及人员信息、登记日期等。
表3.11 采购支出信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
purchase_id |
采购记录编号 |
int(6) |
不可为NULL |
唯一自增 |
|
purchase_name |
采购物品名称 |
varchar(30) |
不可为NULL |
|
|
purchase_num |
采购数量 |
int(4) |
不可为NULL |
|
|
purchase_money |
采购金额 |
double |
不可为NULL |
|
|
purchase_date |
采购日期 |
date |
不可为NULL |
|
|
purchase_desc |
采购备注 |
varchar(50) |
不可为NULL |
表3.12为企业的发布的宣传活动以及企业内部活动等。
表3.12 企业活动信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
huodong_id |
活动编号 |
int(6) |
不可为NULL |
唯一自增 |
|
huodong_name |
活动名称 |
varchar(30) |
不可为NULL |
|
|
huodong_desc |
活动描述 |
varchar(30) |
不可为NULL |
|
|
huodong_photo |
宣传照片 |
varchar(0) |
不可为NULL |
|
|
huodong_date |
活动日期 |
date |
不可为NULL |
表3.13为企业的发布的新闻资讯等。
表3.13 企业新闻资讯信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
zixun_id |
新闻编号 |
int(6) |
不可为NULL |
唯一自增 |
|
zixun_title |
新闻标题 |
varchar(30) |
不可为NULL |
|
|
zixun_desc |
新闻内容 |
varchar(80) |
不可为NULL |
|
|
zixun_date |
新闻日期 |
date |
不可为NULL |
表3.14为企业的电子产品信息表。
表3.14 电子产品信息表
|
数据库列名 |
属性名称 |
属性类型 |
是否可为空 |
主键条件 |
|
chanpin_id |
产品编号 |
int(6) |
不可为NULL |
唯一自增 |
|
chanpin_name |
产品名称 |
varchar(30) |
不可为NULL |
|
|
chanpin_desc |
产品描述 |
varchar(80) |
不可为NULL |
|
|
chanpin_status |
产品状态 |
int(2) |
不可为NULL |
4 系统详细设计
4.1 通知管理
在浏览器中输入Url网址,然后输入自己的用户名和密码选择自己的角色role点击登陆,在后台首先接受username和pwd通过Utils判断数据长度以及是否为null,然后通过role去判断分别调用哪种表去匹配用户,通过对用户名的校验然后对用户进行登陆判断,若用户存在,且MD5加密的密码匹配则登陆成功如图4.1:

图4.1 通知显示
4.2 用户管理
管理员进入到用户管理页面,跳转到页面后首先通过Js的load方法进行数据加载,通过异步请求获取到用户第一页的数据也就是前10条数据,通过limit10进行分页,数据通过response返回,然后通过result对数据进行进行循环展示到页面,在对用户新增时,弹出新增窗口,在将用户编号,用户真实姓名,用户名、密码填写后通过form表单提交,保存到数据库,在编辑时对数据通过update更新到用户表,页面如图4.2:

图4.2 用户列表
4.3 人员工资管理
管理员或者是财务人员登陆后,可以对企业的所有的员工的人员工资进行月记录,通过输入员工的姓名以及员工的基本工资和绩效工资以及员工所在的部门进行保存,通过save保存到salary表中,通过获取到当前的时间进行截取前七位获取到当前发放工资的月份,然后保存,在页面中可以根据员工姓名进行模糊搜索,通过传输queryname在mybatis中进行like模糊匹配查询,页面如图4.3,4.4:

图4.3 人员工资管理

图4.4 工资新增录入
4.4 月工资统计
财务人员可以进入到月工资统计页面对本企业所有的月份工资进行统计,通过数据库方法groupBy对月工资进行按月分组统计,然后以数组的方式返回的到页面进行循环展示页面如图4.5:

图4.5 月工资统计
4.5 采购支出管理
管理员或者财务人员可以进入到左侧的支出管理页面,可以对本企业的支出记录进行录入,通过输入采购支出购买的物品的名称,以及购买的数量和消耗的的单价金额,进行数据汇总,通过单价乘以数量后台自己获取到企业花费的总额,然后获取到当前的记录时间进行保存,可以对数据进行编辑和删除,在编辑时可以点击编辑按钮通过Js实践获取到采购记录编号ID然后传输到后台,然后对数据进行获取,通过Model传输返回到页面,然后对页面的数据进行更改,再保存调用dao到数据库,页面如图4.6:

图4.6 采购支出页面查询
4.6 销售收入管理
管理员或者财务人员可以进入到左侧的销售管理页面,可以对本企业的销售记录进行录入,通过输入销售物品的名称,以及销售的数量和当初销售的单价金额,进行数据汇总,通过单价乘以数量后台自己获取到销售的总额,然后获取到当前的销售时间进行保存,可以对数据进行编辑和删除,在编辑时可以点击编辑按钮通过Js实践获取到销售记录编号ID然后传输到后台,然后对数据进行获取,通过Model传输返回到页面,然后对页面的数据进行更改,再保存调用dao到数据库,页面如图4.7:

图4.7 销售收入页面查询
4.7 可视化收支统计
在进入到收支可视化界面时,在进入的一瞬间首先JS通过出发function然后调用后台统计接口,首先计算出当前月份,然后计算出当前月份的前五个月汇总成日期数组,然后通过数组进行循环获取到销售表跟采购表中的按照月份的统计数据,通过groupBy对数组进行sum汇总,然后形成三个数组,通过mode返回数据到页面,在页面中通过第三方接口highchairt对数据进行设置,通过传输插件参数,对数据进行折线展示,如图4.8:

图4.8 收支可视化统计
4.8 企业活动管理
企业负责人可以进入到本企业后台的活动页面对社团活动进行发布,可以上传活动的宣传图以及或的描述信息完成发布,在首页可以在活动列表对活动进行展示,,如图4.9,4.10:

图4.9 活动首页展示

图4.10 活动展示
4.9 新闻资讯管理
后台人员可以学校新闻资讯管理,可以编辑新闻资讯的标题和内容进行发布,在首页端可以对咨询根据日期金牛星排序,可以点击资讯的标题进行详情如图4.11:

4.10 产品分类销售统计
管理员可以对产品销售根据类型进行统计,可以对类型进行销售数据分析,通过对销售表进行分组统计,通过Group By函数对类型进行Sum统计如图4.12:

图4.12产品分类统计界面
5系统测试
5.1 测试分析
在系统完成设计的最后一步也是最重要的一个环节就是系统测试,系统测试往往是对整个设计的中心的把控,也是对整个项目需求的梳理和把控,对项目的业务逻辑进行验收,测试中包括黑盒测试和白盒测试,黑盒主要是对功能逻辑进行测试,其实更为注重的是结果,白盒测试则主要为系统的逻辑功能,包括系统的一些分歧点,根据系统测试,修补bug然后对系统进行完善。在整个的测试过程中,要对可能出现的问题及情况进行汇总,对某一个bug可能影响的关联功能数据进行分析,避免潜在的数据风险,对系统的高可用情况要进行分析检验,对sql的查询,数据的展示速率进行检测,在整个的系统中一定要把控数据的存储,数据是整个系统的核心根本,数据乱则后续全乱。
系统测试在整个系统开发过程中占有非常重要的地位,是不可或缺的一步,是为了检验系统开发过程的每一步是否完成预期效果,保证实现软件系统的质量安全,这样有利于我们掌控整个系统设计流程。软件测试的产生也是伴随着计算机编程一起出现的,测试的目的是为了查找软件开发过程中可能出现的bug并且及时纠正过来。如今的测试不再只是单纯发现问题,而是真正从用户需求出发,开发出更符合需求的软件。测试和开发是相辅相成的,可以分为单元测试和集成测试,从另一个测试方式讲,我们主要对系统进行黑盒测试即功能测试,掌握系统所有的功能需求,通过测试可以检验出未知的问题,经过汇总分析,解决这些问题然后完善系统。
5.2 项目测试
(1)财务人员登陆测试
表5.1 财务人员登陆测试
|
测试内容 |
测试条件前提 |
期待输出 |
输出结果 |
|
登陆模块 |
输入财务人员或者管理员信息 |
进入首页跳转成功,提示可以操作 |
成功登陆可以跳转页面 |
|
财务人员账号不存在输入登录 |
提示账号信息有误,请重新输入 |
提示账号错误 |
(2)人员工资测试
表5.2 人员工资测试
|
测试内容 |
测试条件前提 |
期待输出 |
输出结果 |
|
人员工资测试 |
输入所属部门以及人员的工资数目 |
人员当月工资保存成功 |
人员当月工资保存成功 |
|
输入工资不为数字或者输入为空 |
人员工资信息有误,不为数字 |
人员工资信息有误,不为数字 |
(3)采购支出测试
表5.3 采购支出测试
|
测试内容 |
测试条件前提 |
期待输出 |
输出结果 |
|
采购支出测试 |
输入采购的物品以及采购的数目和备注 |
采购进行保存成功,且可以进行数据分析 |
采购信息保存完整可以在折线图中显示月统计 |
(4)销售收入测试
表5.4 销售收入测试
|
测试内容 |
测试条件前提 |
期待输出 |
输出结果 |
|
销售收入测试 |
输入销售的物品以及销售的数目和备注 |
销售进行保存成功,且可以进行数据分析 |
销售信息保存完整可以在折线图中显示月统计 |
6 结 论
本系统主要研究基于Java的企业资金流管理系统,通过此类垂直类的管理系统可以让企业的财务运营直观管理,从而使得企业的销售额得到提升,本设计主要采用MVC的设计理念,采用SSM的技术框架,系统主要从应用层、视图层、请求处理控制层和业务数据处理层进行设计,通过Mysql进行数据存储和优化,采用IDEA编辑器进行编码,此次设计首先从管理类网站进行需求分析和梳理,掌握其运行的整个业务流程,从技术角度和市场需求角度进行可行性分析,对系统可能存在的技术难点和市场风险进行分析,然后进行技术框架对比和选择,对系统进行功能模块细化和框架编码设计,最后是系统测试和功能的完善,从整个设计来说对Java编码有了更深的了解,在设计过程中对设计模式也有了一定的应用,对面向对象编程体验更深。
在整个的设计中由于自己的经验不足和自己前期的市场调研不完善,导致在设计中也出现了很多的问题,且在设计完成后也依旧有很多的不足地方,在数据的处理以及数据的资金数字精确位数也欠考虑,后续也需要改进,且在系统访问量大的时候也可以增加redis缓存来提升访问效率,且由于是金融类项目因此后续要考虑到数据的备份问题。
参 考 文 献
[1] 马妞妞, 罗雅, 王子含.基于Java Web的甘农社团管理系统的设计与实现[J].电脑知识与技术,2020,16(01):54-55.
[2] 沈学建.基于Web和Java的远程控制与交互图像处理研究[J].传播力研究,2019,3(35):284.
[3] 程东升, 陈宝文, 诸振家.基于分层迭代理念的高职院校课程教学模式研究——以《Java Web应用开发》教学为例[J].职业,2019(33):68-70.
[4] 罗刚.基于项目—任务驱动的《Java Web程序设计》教学改革实践[J].当代教育实践与教学研究,2019(22):195-196+229.
[5] 邱俊豪, 朱文列, 李健, 纪毓新.基于Java Web的“共享南国”食堂点餐系统的设计与实现[J].现代信息科技,2019,3(21):62-64.
[6] 何晶.以SSH框架与jQuery技术为基础的Java-Web开发应用探讨[J].计算机产品与流通,2019(11):104-105.
[7] 周国军, 张茂胜, 冯震.Java EE应用开发课程教学改革研究[J].电脑知识与术,2019,15(07):116-118.
[8] 黄琳, 林国钦.基于Java web的宠物店管理系统的设计[J].电子技术与软件工程,2019(04):36-37.
[9] 赵恒.Java Web应用程序安全技术[J].电子技术与软件工程,2019(04):194.
[10] 范国婷, 曹飞虎, 王秀友, 杨颖.基于Java Web的进销存管理系统研究[J].电脑知识与技术,2019,15(02):42-44.
[11] 高进. 基于J2EE的互联网金融服务平台的设计与实现[D].吉林大学,2016.
[12] 于舟. 基于J2EE的鸡冠区委电子政务系统的设计与实现[D].吉林大学,2016.
[13] 宋雪梅. 基于J2EE的创业测评系统的设计与实现[D].吉林大学,2016.
[14] 王旭强. 基于J2EE的绩效管理软件系统设计与实现[D].吉林大学,2016.
[15] 李珊.基于JSP的高校学生公寓管理系统的设计与实现[J].中国管理信息化,2019,22(12):123-124.
[16] 彭兵.浅谈MVC设计模式在JSP程序中的应用[J].信息与电脑(理论版),2019(11):104-105.
[17] Kavita Jain,Luca Peliti. JSP Special Issue on Statistical Theory of Biological Evolution[J]. Journal of Statistical Physics,2018,172(1).
[18] Demaray Michelle K. The Journal of School Psychology: Promoting science at JSP: Focus on special content and current status of the journal.[J]. Journal of school psychology,2018,66.
更多推荐


所有评论(0)