银行OA系统的
设计与实现
摘 要
在互联网信息技术时代中,企业管理更多的是使用管理系统进行智能化控制,提高单位的核心竞争力,适应快节奏的生产活动。银行OA系统是为企业提供的一整套便于企业管理的应用软件,是目前企业管理的必备系统。通过走访了解,市面上许多现成的银行OA系统无法满足中小企业发展的现状,无论是系统架构还是业务流程都比较落后,只有重新开发一套全新的银行OA系统才能适应企业需求。
银行OA系统基于JAVA编写,使用SpringBoot架构,数据库选择轻量级的关系型Mysql数据库,系统前台使用H5、CSS3、JS和DIV等技术开发。系统包括管理员、经理、员工三个角色,分别进行员工管理、办公管理、请假管理、任务管理等操作。本文首先阐述银行OA系统的背景和意义,然后对系统的技术进行分析,接着进行系统需求分析,功能设计和系统实现,最后进行系统测试,完善系统功能和操作流程。
关键词:银行OA、办公自动化、员工管理、JAVA、数据库
Abstract
In the era of Internet information technology, enterprise management is more to use the management system for intelligent control, improve the core competitiveness of the unit, adapt to the fast-paced production activities. Bank OA system is a set of application software which is convenient for enterprise management. It is a necessary system for enterprise management. Through the visit, we know that many existing bank OA systems on the market can not meet the current situation of the development of small and medium-sized enterprises. Both the system architecture and business process are relatively backward. Only by redeveloping a new bank OA system can we meet the needs of enterprises.
Bank OA system is written based on Java, using springboot architecture, database selection lightweight relational MySQL database, system foreground using H5, CSS3, JS and div technology development. The system includes three roles: administrator, manager and employee. They are responsible for employee management, office management, leave management and task management. This paper first describes the background and significance of bank OA system, then analyzes the technology of the system, then analyzes the system requirements, functional design and system implementation, and finally tests the system to improve the system function and operation process.
Keywords: Bank OA, office automation, employee management, Java, database
目 录
摘 要 I
Abstract II
第1章 引言 1
1.1 研究动机与目的 1
1.2 研究意义 1
1.3 国内外研究现状 2
第2章 相关技术介绍 4
2.1 数据库技术 4
2.2 编程环境 4
2.3 B/S结构 4
第3章 需求分析 6
3.1 需求分析概述 6
3.2 系统需求分析 6
3.2.1非功能性需求 6
3.2.2功能需求 7
3.3 可行性分析 10
3.3.1操作可行性 10
3.3.2经济可行性 11
3.3.3技术可行性 11
3.4 系统开发环境需求 11
第4章 系统设计 12
4.1系统总体设计 12
4.1.1界面层设计 12
4.1.2数据层设计 12
4.1.3业务逻辑层设计 12
4.2系统功能设计 13
4.2.1系统登录设计 14
4.2.2员工管理设计 14
4.2.3日常工作管理设计 14
4.2.4员工任务管理设计 14
4.2.5申请管理设计 14
4.3 数据库设计 15
4.3.1ER图设计 15
4.3.2数据库表设计 15
第5章 系统实现 19
5.1系统登录 19
5.2系统主界面实现 19
5.4员工基本档案 20
5.5部门经理管理 21
5.6日常工作管理 22
5.7工作任务管理 22
5.8信息申请管理 23
第6章 系统测试 25
6.1 测试环境 25
6.2 功能测试 25
6.3 测试结论 28
总 结 29
谢 辞 30
参考文献 31
第1章 引言
1.1 研究动机与目的
信息技术的飞速发展,极大节省了企业的管理成本,提高了企业管理效率。各种信息系统在企业管理应用过程中,为企业决策制定提供了可靠的支持。
随着银行企业规模的扩大,管理也愈加庞大和困难,信息处理与使用也至关重要。同时,“物竞天择适者生存”的法则,市场竞争日益加剧,银行间的竞争已经从根本上演变成为人才竞争,使得银行对企业办公管理越发重视。
在银行企业发展过程中, OA系统积累了大量的企业办公相关数据,而实际工作中人事管理对象是一个单位或若干单位中员工的基本信息,而这些信息是不断变化的,随着这些数据变化,企业对OA系统提出了新的需求。但是,目前企业内的数据管理系统大多是针对企业独立运用而建立起的,各种管理和计算功能都分布在企业内一个个独立的系统中,这些独立分布的数据管理可以方便企业的单独管理,但是,对于企业办公这种分散、人员众多、数据源复杂、统计困难,由于缺乏统一的规范,使得各每做一项工作,都需要花费很多精力和时间,给企业大规模集成使用带来了诸多不便。
建立一套银行OA系统,可以利用先进的信息技术对企业内的企业办公进行管理,一方面通过无纸化办公降低企业成本;另一方面,通过与企业内部其他办公系统的信息共享,提高企业办公管理效率,加强信息化管理,提高本单位经济效益。
1.2 研究意义
银行OA系统包括多个功能模块,各个功能都存在于一个系统内,数据库存储了系统所有数据。而各功能模块也可以自由拓展,为管理者预留足够的升级空间,提高维护效率;系统模块间也相对独立,有效控制用户访问权限,保障银行OA系统的数据安全。
随着计算机技术的逐渐成熟,计算机研究成为了人们生活的重要组成部分,涉猎社会各个领域,在企业办公管理中也得到了广泛应用,很多企业都开始运用信息技术处理相关业务。传统管理方式相对落后,完成某项工作需要大量的人力及物力资源,但所产生结果的精细程度并不高,尤其是在信息处理方面,不能实现高效快捷的处理方式。
银行OA系统可以使公司的人事干部从繁重琐碎的人事工作中解脱出来,把主要精力投入到日常工作中。同时,这也是企业的科学化、信息化、正规化管理与世界先进管理技术接轨的重要条件。
银行OA系统通过数据库服务来进行对各部门之间需要进行的信息交互进行整合,从而使得服务的调用来替代各信息系统之间功能的调用,提高了企业信息系统的可扩展性和复用性,同时还可以有效的整合企业内部个信息系统的功能,为企业用户提供一个资源统一办公的平台,有效解决企业各信息系统之间的信息孤岛问题。
1.3 国内外研究现状
在高速发展的经济环境中,随着信息技术飞速发展和不断完善,人们的需求也产生了质的变化,普遍认识到企业的发挥在那不再是仅仅是产品竞争,已转向人才与服务的竞争,只有在此类竞争在取胜,才能提升企业的市场地位。激烈的市场竞争也给企业企业办公管理提出了更高的要求,使得银行OA系统在功能上也不断完善,功能的层次结构也日益清晰。
以人才竞争为主的企业竞争也导致了银行OA系统中的企业办公数据逐渐成为了企业经营的数据中心,也要求银行OA系统在保证银行OA系统基本功能的同时,还需要更加具有战略性,不仅能够满足企业企业办公管理基本要求,还需具备一定的统计分析功能,使企业更加适应激烈的市场竞争。
随着企业对企业办公管理的愈加重视,国外企业的银行OA系统得到了广泛的应用,由于其受到长期的重视,得到了长足的发展。相比于国内而言,国外大企业的企业办公管理已经趋于成熟,形成了各自较为完整的企业办公管理体系,诸如“世界500强”的跨国公司,像苹果公司、福特公司等。
以美国为代表的发达国家最早开展企业办公管理领域的研究,应用也非常成熟,以此,企业办公管理的研究、开发和应用也是种位列世界前茅。尤其是在跨国企业中,一个完整的银行OA系统可以有效地管理来自世界各地的分支机构。通过系统的相关信息能够合理的分配岗位职权,保证每一个岗位和人员实现最佳匹配。
在国内,目前并不缺乏企业管理、企业办公管理方面的思想和理念,但是这些思想和理念还难以体现在银行OA系统中。随着计算机技术,特别是网络技术的发展,国内银行OA系统的发展就必须要进行企业办公管理的核心技术规范化。国内许多企业的银行OA系统,都是企业委托软件公司进行自主研发的,由于缺乏全国性统一规范,导致这些系统实现技术的多样,很难将这些系统移植到其他平台中。同时,随着信息技术的不断完善发展,一些新的系统开发方法、技术和平台被引入到银行OA系统开发的过程中,员工自助服务、在线学习、企业办公外包等各种资源管理新概念和模式的不断涌现,目前国内的银行OA系统很难适应这种新理念的发展,从而使企业的银行OA系统变得更加复杂和庞大。
通过对国内外研究资料了解到,目前各领域的银行OA系统还没得到统一的完善,适应性普遍较差,针对性不强,主要引进其他企业取得成功的一些管理系统,而没有根据这些成熟的系统重新的调配企业的业务流程以及框架。因此,想要找到适合自己企业发展的银行OA系统,必须要有一定的针对性,企业应该朝着这个方向借鉴和研发银行OA系统。
第2章 相关技术介绍
2.1 数据库技术
MYSQL是开源的关系型数据库,使用SQL语言进行管理。因为MYSQL是开放的,所以任何人都可以根据需要进行更改。MYSQL的速度快,数据存储完全,得到众多用户的肯定。
MYSQL数据库安装后,需要通过DOS窗口进行管理,通过输入命令控制。如链接远程数据库使用mysql -hlocalhost -uroot –pwelcome命令。这种方式管理起来比较繁琐,效率低下。而通过第三方的图形可视化管理工具可以直观的快捷的创建数据库,也可以新建数据库表,修改数据库表数据。本系统使用Navicat for MySQL进行管理,首先输入用户名和密码链接数据库,然后创建数据库和数据库表。连接名是连接的名称,主机名和IP地址输入对应的信息,如果本机,就输入localhost,默认端口为3306,用户名默认root,密码为安装设置的。链接数据库后,就可以对数据库进行图形化管理。
2.2 编程环境
本系统开发工具选择MyEclipse,是企业级的开发平台,通过对Eclipse的扩展,完善成为功能齐全的编译工具。MyEclipse完成JAVA代码编写后,可以发布代码,部署环境。程序员在MyEclipse的可视化开发环境中,对代码进行调试,提高开发效率。MyEclipse功能强大,对各种源码提供支持,可以编译Servlet、SSH、SSM、EJB3、JDBC等工具。
2.3 B/S结构
管理系统开发模式一般包括两种,B/S和C/S模式。其中S均为服务器,B为浏览器,而C为客户端。B/S模式是浏览器访问服务器的模式,通常企业网站,购物网站都是这种模式。而C/S模式是通过客户端访问服务器,客户端需要安装对应的软件后才能启动,如PC端的腾讯聊天软件,杀毒软件等。
而在web开发中,一般指的是B/S结构,客户端只需要安装浏览器就可以访问服务器上的资源,极大的提高了维护成本,开发者只需要部署服务器和维护数据库即可。对于B/S架构,大部分的业务逻辑都在服务器端进行处理。所以,B/S结构的优势明显,B/S结构不局限于局域网内,可以在所有的网络中运行,交互性高。B/S结构的升级不涉及到客户端,只需要管理服务器即可。B/S结构的不足地方是数据安全性较差,客户端浏览器的版本不同,也可能造成浏览效果存在些许差异。
第3章 需求分析
3.1 需求分析概述
系统需求分析包括需求的收集和系统需求的管理。首先需要走访客户,实地调查客户,完成需求的收集和分析,并通过文档的形式整理需求。系统需求完成获取、分析和指定。
通过对银行OA系统的分析了解,整理银行OA系统的需求。银行OA系统是企业管理的一部分,调查企业的工作流程,分析企业办公管理者的业务范围,指定银行OA系统的开发范围。银行OA系统主要表现在几个地方。
工作的科学管理。通过员工记录任务信息,保存在公司服务器中,可以随时随地的查看。
信息申请,包括出勤、出差、请假、报销、会议申请进行审批。
报表分析,根据企业的要求,将系统中必要的信息制作成报表,每月进行汇总,整理报告内容,以供相关部门领导进行企业事务决策。
3.2 系统需求分析
3.2.1非功能性需求
系统的安全性需求中,开发系统,不但要满足系统功能,也要保证系统可以安全,可靠的数据基础。本系统采用的是b/s模式,在数据安全上更应该严格控制。除了在系统结构上保障数据安全外,在物理物理中,也要进行处理。包括将电缆进行隐蔽,屏蔽外散信号。远离强辐射源,保证数据传输正确。定期检查线路,保护端口。在系统数据服务上,设置身份认证,访问控制,使用代理服务器,使用防火墙等。
信息共享的需求,在管理系统中,不但要对本系统内部的数据进行共享,也要为其它系统提供数据支持的预留接口和访问其它系统的支持,充分考虑相关系统的数据共享问题。
性能需求中,是在时间、空间上的要求。时间方面,要保证系统24小时持续工作,并支持多人同时访问服务器的负载,且页面响应时间不慢于1000ms。空间上,系统初期的数据虽然较小,但也要保证数据安全和将来的数据升级需求。
3.2.2功能需求
银行OA系统是企业发展必备系统,可以为企业发展方向做正确的预测,也可以为企业内部提供高效的企业办公管理服务。银行OA系统设计的用户包括三类,管理员、经理和员工。
其中管理员是系统用户,为系统最高权限的用户,进行系统信息的录入和管理。在银行OA系统启用时,管理系统的初始化数据,特别是系统用户,设置好各角色及其账号。管理系统数据,对银行OA系统的初始信息进行维护补充,并及时审核各类数据。
企业部门经理拥有一般员工的所有权限,除此之外,还可以管理企业办公信息和统计查询功能。其中办公管理包括出勤、出差、请假、报销、会议申请管理。
员工用户包括日常工作管理:添加日常工作信息,管理日程信息,记录任务和会议时间等。查询历史记录的信息,对错误的信息进行修改。对出勤、出差、请假、报销、会议进行申请,等待管理员审批,审批通过后,查看审批状态。记录个人工作事项。
其中管理员用例如3.1所示,经理用例图如3.2所示,员工用例图如3.3所示:
图3.1 管理员用例图
其中经理用例图如3.2所示:
图3.2 经理用例图
其中员工用例图如3.2所示:
图3.2 员工用例图
根据用例图得出以下部分用例规约:
表3.1 管理员登录用例规约
规约NO:2021001 用例名称: 账号登录
基本流 1.运行银行OA系统。
2.在用户名和密码栏中,输入对应的账号和密码。如果不输入或者输入不合要求的字符串,提示错误信息。
3.确定登录银行OA系统。
4.查询银行OA系统的用户数据库信息,具有权限的用户验证成功,否则无法通过。
5.注销操作,退出银行OA系统。
备选流 a1. 连续多次失败,限制用户操作。
a2. 数据库链接失败,提示链接异常。
a3. 退出银行OA系统。
员工信息管理用例规约如表3.2所示。
表3.2 员工管理用例规约
规约NO:2021002 用例名称: 员工管理
基本流 1、选择创建员工。在员工创建的空白页面中,输入员工的基本信息。需要根据系统提示的要求,输入符合要求的信息,否则不能进行保存。系统验证员工信息,并把员工信息保存到员工数据库表中。
2.选择修改员工,在员工创建的空白页面中,系统加载员工信息,输入需要修改的员工信息。系统验证员工信息,根据需要修改的员工编号,更新员工数据。
3. 选择删除员工,系统验证要删除的员工信息,如果不存在约束,执行删除操作,并更新数据库记录。
4. 员工查询,初始状态中,默认查询所有的员工信息,并创建到员工列表页面。如果传入查询条件,则根据条件进行查询,更新列表。
备选流 a1. 添加员工的时候,如果存在该员工,提示用户更换员工。
a2. 删除员工,遇到约束条件,提示需要删除对应的记录后,执行该操作。
a3. 数据库连接等异常出现时,返回主页。
工作任务信息管理用例规约如表3.3所示。
表3.3 工作任务用例规约
规约NO:2021003 用例名称: 工作任务管理
基本流 1、选择创建工作任务。在工作任务创建的空白页面中,输入工作任务的基本信息。需要根据系统提示的要求,输入符合要求的信息,否则不能进行保存。系统验证工作任务信息,并把工作任务信息保存到工作任务数据库表中。
2.选择修改工作任务,在工作任务创建的空白页面中,系统加载工作任务信息,输入需要修改的工作任务信息。系统验证工作任务信息,根据需要修改的工作任务编号,更新工作任务数据。
3. 选择删除工作任务,系统验证要删除的工作任务信息,如果不存在约束,执行删除操作,并更新数据库记录。
4. 工作任务查询,初始状态中,默认查询所有的工作任务信息,并创建到工作任务列表页面。如果传入查询条件,则根据条件进行查询,更新列表。
备选流 a1. 添加工作任务的时候,如果存在该工作任务,提示用户更换工作任务。
a2. 删除工作任务,遇到约束条件,提示需要删除对应的记录后,执行该操作。
a3. 数据库连接等异常出现时,返回主页。
3.3 可行性分析
3.3.1操作可行性
本银行OA系统使用web开发模式,系统操作流程使用市面上常见的软件布局,用户通过点击菜单操作后,系统自动反馈结果。另外,系统通过不同用户的权限进行控制,用户登录后,展现了可以操作的功能模块,不存在误操作的风险。因此,只要具有一般经验的用户就可以使用,在操作上具有可行性。
3.3.2经济可行性
开发银行OA系统需要对经济可行性进行调研,首先说明的是系统投入情况。建设银行OA系统系统成本主要在服务器硬件和软件开发费用,大体需要10万内。而银行OA系统投入使用后,可以降低手工记录的错误;提高员工的工作积极性;也可以降低人工劳动,节约用人成本。总体来说,降低的用人成本已经高于开发系统的费用,对企业来说,无论从眼前还是企业可持续发来说,都具有很大优势。
3.3.3技术可行性
银行OA系统选择的技术都是目前成熟的语言和数据库,并使用SpringBoot架构开发的web系统,对于初学者都可以完成。市场上也有许多JAVA技术开发的成功案例,证明开发语言具有可行性。而mysql数据库作为关系型数据库比较经典的数据库,更是占据很大比例,所以,开发本系统,在选择的技术上,具有可行性。
3.4 系统开发环境需求
开发银行OA系统的环境包括两个方面,一个是硬件,一个是软件。银行OA系统的服务器软件要求操作系统最好使用Win7或者Win10,版本比较稳定。开发工具选择idea,服务器使用tomcat8.0,数据库使用mysql5.7,浏览器使用IE11。
银行OA系统的服务器硬件要求也不高,CPU使用英特尔I5或者以上,显卡无要求,内存4G以上,储存10G以上。
第4章 系统设计
4.1系统总体设计
根据银行OA系统的需求分析,对系统进行设计,首先进行系统的架构设计。本银行OA系统使用SpringBoot架构进行开发,主要包括界面层、数据库层、业务逻辑层。
4.1.1界面层设计
系统界面层是与用户交互的界面,界面层反映出系统的功能。通过制定规则,可以将界面层和逻辑层分离,单独进行开发。界面层要求简单大方,功能整洁,便于操作。本银行OA系统通过H5技术进行布局,使用java标签获取业务逻辑层的数据进行显示。收集数据是使用form表单进行控制,数据验证使用jquery技术。所有的界面层设计规范合理,各种图片,界面,js和css样式文件分别管理。
4.1.2数据层设计
数据层通过实体表现,一个数据库表对应一个实体类,一个字段对应一个属性。字段类型对应属性类型,但是实体属性包括但是不限于字段个数。其中视图也对应实体。其中属性名称一般采用大写的格式。
其中管理数据库链接操作的类单独出来,数据库连接串放置配置文件中,方便管理,本文使用mysql数据库,对应的是mysql驱动包。数据库操作类管理数据库访问接口、对数据库进行单表的增删改查操作。
4.1.3业务逻辑层设计
业务逻辑层是系统核心层次,对数据处理进行控制,接收到界面层请求后,对具体的业务进行管理,把数据通过数据库层进行操作后返回给界面。业务逻辑层先完成系统通用的逻辑操作,如用户注册、用户登录、用户权限判断、数据库操作等。然后分析系统业务规则,对系统核心业务进行编写。
4.2系统功能设计
完成系统总体设计后,对银行OA系统进行功能设计。功能是建立在需求分析基础之上的。其中系统逻辑和功能模块图如4.1所示。
图4.1系统逻辑和功能模块图
4.2.1系统登录设计
在进行银行OA系统管理前,需要身份认证,确定用户权限。那么用户登录就是系统第一个安全保障。不论哪一种系统用户都需要进行登录,使用系统提供的用户名和密码进行登录。然后系统到数据库用户表进行数据检索,如果符合信息就可以进入主页,否则限制登录。
4.2.2员工管理设计
员工管理包括员工基本信息管理和员工身份管理。管理员录入员工,把新员工信息导入到数据库中。如果使用本系统前,存在其它系统包含员工信息,可以设置相关接口进行数据库导入。对离职的员工进行数据定期删除。
员工身份管理,一个员工可以是普通员工,也可以设置为经理,设置为经理后,其用户权限将不同。
员工的账号和密码信息是根据用户信息一起保存到用户信息表中,管理员通过邮件等方式告知员工账号后,员工可以自行定期修改个人的账号信息和密码。
4.2.3日常工作管理设计
日常工作管理包括记录日常工作内容,个人的工作事项只能当前登录的用户查看,无权查看其它员工的工作内容。对个人工作日常内容进行修改或者删除操作。
4.2.4员工任务管理设计
银行存在许多任务信息,管理员第一时间登录系统,发布最新的任务,然后发放给员工和经理用户。
当任务信息需要更正时,管理员对任务进行修改,也可以删除过期的任务信息。
4.2.5申请管理设计
员工用户登录后,发布申请信息,包括出勤、出差、请假、报销、会议进行申请,等待管理员审批,审批通过后,查看审批状态。
4.3 数据库设计
4.3.1ER图设计
银行OA系统的整体E-R图如下所示。
图4.2 系统整体E-R图
4.3.2数据库表设计
数据库设计是管理系统必不可少的步骤,所有的数据都可以组成一个数据库存储起来。数据的关系组成了表与表之间的关系。数据库的设计关系到银行OA系统的成败,良好的设计,可以提升系统的性能。
其中,本系统表详细设计如下。
(1)部门表存储银行OA系统的部门信息。数据表内容见4.1所示。
表4.1部门表
字段名 type 长度 空值 主外键 数据名称
depid int 4 不为空 主键 主键,默认值1,递增1
depname varchar 20 不为空 具体的部门名称
depp_id int 4 不为空 外键 父部门的编号
(2)员工信息表存储银行OA系统的员工信息。数据表内容见4.2所示。
表4.2员工信息表
字段名 type 长度 空值 主外键 数据名称
userIdrs int 4 不为空 主键 主键,默认值1,递增1
userorg_idrs int 4 不为空 外键 部门外键
userghao varchar 10 不为空 企业的员工工号,唯一
usernamers varchar 10 不为空 姓名
usersexrs varchar 2 性别,男或者女
useragers varchar 10 不为空 年龄。20-70之间
userloginpw varchar 10 不为空 密码,长度小于10
(3)会议时间信息表存储银行OA系统的会议时间信息。数据表内容见图4.3所示。
表4.3会议时间信息表
字段名 type 长度 空值 主外键 数据名称
wdid int 4 不为空 主键 主键,默认值1,递增1
Riqi varchar 50 不为空 日期
User int 4 不为空 用户
Con varchar 400 不为空 内容
Title varchar 40 不为空 会议时间
(4)工作记录信息表存储银行OA系统的工作记录信息。数据表内容见4.4所示。
表4.4工作日常信息表
字段名 type 长度 空值 主外键 数据名称
id int 4 不为空 主键 主键,默认值1,递增1
Title varchar 50 不为空 标题
Riqi int 4 不为空 日期
User int 4 不为空 用户
Con int 4 不为空 内容
(5)类别信息表存储银行OA系统的类别信息。数据表内容见表4.5所示。
表4.5类别信息表
字段名 type 长度 空值 主外键 数据名称
Id int 4 不为空 主键 主键,默认值1,递增1
Title varchar 50 不为空 类别
(6)申请信息表存储银行OA系统的申请信息。数据表内容见表4.6所示。
表4.6申请信息表
字段名 type 长度 空值 主外键 数据名称
idrs int 4 不为空 主键 主键,默认值1,递增1
Unameid varchar 50 不为空 外键 员工外键
name varchar 50 不为空 申请标题
Con varchar 50 不为空 申请内容
Riqi Datatime 50 不为空 申请日期
Zt varchar 50 不为空 申请状态
Lb varchar 50 不为空 类别
(8)任务信息表存储银行OA系统的任务信息。数据表内容见表4.8所示。
表4.8任务信息表
字段名 type 长度 空值 主外键 数据名称
Idtz int 4 不为空 主键 主键,默认值1,递增1
Nametz varchar 50 不为空 题目
Contz varchar 5000 不为空 no 具体信息
Riqitz Datatime 不为空 no 日期格式
如2021-01-01
(9)管理员信息表存储银行OA系统的管理员信息。数据表内容见表4.9所示。
表4.9管理员信息表
字段名 type 长度 空值 主外键 数据名称
userIda int 4 不为空 主键 主键,默认值1,递增1
userNamea varchar 20 不为空 字母数字组合
userPwa varchar 20 不为空 No 字母数字组合
第5章 系统实现
5.1系统登录
在银行OA系统运行后,进入登录界面。登录界面比较简单,风格简洁,用户输入账号和密码后进入系统。界面如图5.1所示。
图5.1 用户登录界面
使用form表单制作登录,账号和密码为input输入文本框,登录按钮为button,点击登录后,调用check方法,check是js验证。验证用户是否输入信息,通过alert进行提示消息,通过验证后,把表格信息进行提交。调用service的方法,通过返回的结果判断用户是否登录成功。
在登录验证的服务器端方法中,通过用户输入的数据到数据库进行比对,如果查询到用户说明登录成功,反之登录失败。
用户登录成功后,需要把用户信息保存到session中,也可以保存到cookie。Session是服务器对象,当页面跳转的时候,数据不会丢失。当需要权限控制时候,需要读取session保存的数据进行判断。
5.2系统主界面实现
不同的用户主界面菜单不同,其中主界面使用FRAMESET框架,头部FRAME为top,加载的是一个jsp页面,显示系统名称和用户角色。左侧为left,加载了菜单列表,其中权限也是通过菜单进行控制的。不同用户的权限,显示的菜单不同。右侧的为left,加载了主功能内容页面。点击功能菜单,具体内容显示到left中。
管理员主界面如图所示。
图5.2 管理员主界面
5.4员工基本档案
员工基本档案是系统重要的组成部分,包含了员工基本信息。员工基本档案模块如5.3图所示。
图5.3员工基本档案模块
员工信息管理包括信息插入、查询和删除操作。在员工信息插入页面,通过form表单收集员工的基本信息,然后点击button按钮,使用js进行必填信息的验证,通过验证后,把信息提交到业务逻辑层。获取员工信息后,使用插入sql语句保存数据到员工信息表。
点击员工信息管理时,在业务逻辑代码中,查询所有的员工信息到list集合,然后使用foreach标签循环显示到table中。点击删除员工,获取员工的主键编号,使用语句删除数据库记录后更新员工列表。
5.5部门经理管理
管理员进行管理操作,对部门经理进行修改或者删除,部门经理可以自己注册获取用户名和密码。其中部门经理管理界面如下所示:
图5.4部门经理管理界面
部门经理信息管理包括信息插入、查询和删除操作。在部门经理信息插入页面,通过form表单收集部门经理的基本信息,然后点击button按钮,使用js进行必填信息的验证,通过验证后,把信息提交到业务逻辑层。获取部门经理信息后,使用插入sql语句保存数据到部门经理信息表。
点击部门经理信息管理时,在业务逻辑代码中,查询所有的部门经理信息到list集合,然后使用foreach标签循环显示到table中。点击删除部门经理,获取部门经理的主键编号,使用语句删除数据库记录后更新部门经理列表。
5.6日常工作管理
在此页面主要是输入日常工作信息,对个人的日常工作进行管理。其中日常工作管理界面如下所示:
图5.5日常工作管理界面
在日常工作信息插入页面,通过form表单收集日常工作的基本信息,然后点击button按钮,使用js进行必填信息的验证,通过验证后,把信息提交到业务逻辑层。获取日常工作信息后,使用插入sql语句保存数据到日常工作信息表。
5.7工作任务管理
各用户角色都可以发布工作任务需求,用户查看工作任务,工作任务管理界面如下所示:
图5.7 工作任务管理界面
工作任务信息管理包括信息插入、查询和删除操作。在工作任务信息插入页面,通过form表单收集工作任务的基本信息,然后点击button按钮,使用js进行必填信息的验证,通过验证后,把信息提交到业务逻辑层。获取工作任务信息后,使用插入sql语句保存数据到工作任务信息表。
点击工作任务信息管理时,在业务逻辑代码中,查询所有的工作任务信息到list集合,然后使用foreach标签循环显示到table中。点击删除工作任务,获取工作任务的主键编号,使用语句删除数据库记录后更新工作任务列表。
5.8信息申请管理
部门经理用户登录系统后,申请信息,包括出勤、出差、请假、报销、会议。各种流程一样。其中请假申请信息后,可以对申请信息进行修改,删除操作。当管理员审核信息后,信息不能修改和删除。在用户信息查询中,可以查看请假信息,管理员对请假信息进行审核。其中请假申请界面如下所示:
图5.9请假信息申请界面
请假审批界面如下所示:
图5.10请假审批界面
第6章 系统测试
6.1 测试环境
完成银行OA系统功能后,需要进行系统测试,发现系统存在的问题、可能存在的问题,以及影响系统安全的所有因素。系统测试可以帮助程序员容易忽略的问题,从而进行修改。因此,需要制定相关的方案,测试成功的标志是发现问题。
软件测试包括白盒测试和黑盒测试,在本测试环境,使用黑盒测试。不考虑外部环境,运行系统,进行异常检查。测试过程中,需要多次登录和注销,每一个功能页面都需要进行切换,查看响应速度是否正常。而且,测试中,不仅仅是功能的测试,也需要对代码进行测试,分析功能逻辑是否符合要求。
测试前,需要部署测试环境。其中数据库服务器选择mysql,主机为win10系统,AMD8核的主机。应用程序的服务器为windows 2012系统,英特尔I7主机。客户端使用360浏览器。
6.2 功能测试
对银行OA系统测试时,需要制定测试计划,整理测试用例,进行逐条测试,得出测试结论。及时对测试BUG进行修改和完善,重新测试,直到完成功能测试。
运行银行OA系统,首先进行登录的测试,测试过程如表6.1:
表6.1 登录测试用例表
测试数据 预期 步骤 结论
Username:1
Pwd:1 失败 输入1,密码1,然后进行登录,查看返回的结果信息,返回失败。 功能正常
Username:2
Pwd:2 失败 输入2,密码2,然后进行登录,查看返回的结果信息,返回失败。 功能正常
Username:admin
Pwd:admin 成功 输入admin,密码admin,然后进行登录,查看返回的结果信息,返回成功。 功能正常
在员工管理菜单中,点击添加员工,对员工进行录入。在员工列表中,查看员工信息,并进行修改和删除操作。其中员工管理测试如6.2:
表6.2 员工管理测试用例表
名称 预期 步骤 结论
录入员工,准备一条关于员工的数据。 正确录入了员工 点击添加员工的菜单,打开录入界面,输入准备的数据并保存,如果输入错误提示信息,输入成功则把信息保存到数据库。并通过查询语句查看数据库是否保存了数据。 Pass
员工信息列表。 正确显示员工 点击员工管理的菜单,打开员工列表界面,查看是否查询了所有的员工数据表的信息。 Pass
在列表中,选择记录进行修改,准备修改的数据。 修改了员工信息 打开修改界面,输入准备的数据并保存,并通过查询语句查看数据库是否修改了数据。 Pass
在列表中,选择记录进行删除。 删除了员工信息 打开删除界面,选择需要删除的记录,并通过查询语句查看数据库是否删除了数据。 Pass
在工作任务管理菜单中,点击添加工作任务,对工作任务进行录入。在工作任务列表中,查看工作任务信息,并进行修改和删除操作。其中工作任务管理测试如6.3:
表6.3 工作任务管理测试用例表
名称 预期 步骤 结论
录入工作任务,准备一条关于工作任务的数据。 正确录入了工作任务 点击添加工作任务的菜单,打开录入界面,输入准备的数据并保存,如果输入错误提示信息,输入成功则把信息保存到数据库。并通过查询语句查看数据库是否保存了数据。 Pass
工作任务信息列表。 正确显示工作任务 点击工作任务管理的菜单,打开工作任务列表界面,查看是否查询了所有的工作任务数据表的信息。 Pass
在列表中,选择记录进行修改,准备修改的数据。 修改了工作任务信息 打开修改界面,输入准备的数据并保存,并通过查询语句查看数据库是否修改了数据。 Pass
在列表中,选择记录进行删除。 删除了工作任务信息 打开删除界面,选择需要删除的记录,并通过查询语句查看数据库是否删除了数据。 Pass
在工作日常管理菜单中,点击添加工作日常,对工作日常进行录入。在工作日常列表中,查看工作日常信息,并进行修改和删除操作。其中工作日常管理测试如6.4:
表6.4 工作日常管理测试用例表
名称 预期 步骤 结论
录入工作日常,准备一条关于工作日常的数据。 正确录入了工作日常 点击添加工作日常的菜单,打开录入界面,输入准备的数据并保存,如果输入错误提示信息,输入成功则把信息保存到数据库。并通过查询语句查看数据库是否保存了数据。 Pass
工作日常信息列表。 正确显示工作日常 点击工作日常管理的菜单,打开工作日常列表界面,查看是否查询了所有的工作日常数据表的信息。 Pass
在列表中,选择记录进行修改,准备修改的数据。 修改了工作日常信息 打开修改界面,输入准备的数据并保存,并通过查询语句查看数据库是否修改了数据。 Pass
在列表中,选择记录进行删除。 删除了工作日常信息 打开删除界面,选择需要删除的记录,并通过查询语句查看数据库是否删除了数据。 Pass
6.3 测试结论
通过大量的测试用例,准备了所有的边界值,对系统进行全面的测试,发现了一部分问题,并进行了修正。通过测试结果,可以让客户更好的体验。
总 结
毕业设计现在已经接近尾声了,回想起来,感觉收获颇多。我这次毕业设计的任务是开发OA管理,它用到的开发工具是Myeclipse,数据库是MySql。
经过近两个多月的设计和开发,银行OA系统基本开发并通过实践测试,其功能符合系统用户的基本需求,实现了用户登录,基本信息的修改,人事基本信息管理等功能的实现。系统使用简洁明快的界面风格设计,具备了友好性,灵活性和可靠性,实现了预期目标和功能。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方。数据库设计过程中表的结构和字段的设计还不够优化,表仍然存在冗余问题,没有将数据的冗余降低到最小,因而本系统的运行效率的提高也是在今后的程序设计过程中的新课题。
通过毕业设计,让我感受了软件开发的整个过程。毕业设计不仅是对我在大学所学知识的一个综合运用,也是一次增长知识和经验的好机会,同时也使我学会了许多处理、解决问题的方法,大大提高了自己的动手能力,为即将走上工作岗位打下了良好的基础。
谢 辞
光阴荏苒,岁月如梭,四年的本科生活即将结束,四年的美好的大学生活仿佛就要在这篇毕业论文最后的谢辞里缓缓落幕,青春散场,时光依然,有些怅然若失,却又收获满载。迎接我们的将是社会对我们的考验。回首过去的四年里,点点滴滴生活的细节历历在目,让我颇多感慨。
特别感谢我的指导老师。感谢您在整个毕业论文的创作过程对我的帮助和指导,感谢您在我懈怠散漫时的督促与教诲,在毕业设计的过程中给予我耐心的指导。
感谢各位评委专家耐心审阅我的论文,谢谢。
参考文献
[1]Joshua Bloce著. 潘爱民译. Effective Java中文版[M].2014年7月第4版. 机械工业出版社.
[2]Bruce Eckel.侯捷译.Java编程思想版[M]. 2015年3月第1版. 机械工业出版社
[3]王森著.Java手机/PDA程序设计入门版[M].2015年2月第3版.电子工业出版社.
[4]James Keogh著.潘颖 王磊译.J2ME开发大全版[M].2014年2月第1版清华大学出版社.
[5]Ian Sommerville著.程成等译.软件工程版[M].2013年1月第1版.机械工业出版社.
[6]Jason Lam著.Deabo way Chou译 J2ME&Gaming版[M]. 2014年
[7]陈立伟 张克非 黎秀红著.精通JAVA手机游戏与应用程序设计版[M].中国青年出版社.2005年5月
[8]飞思科技产品研发中心.精通Jbuilder9版[M].电子工业出版社.2014年
[9] 王小锋,施珍妮.基于JSP的信息系统[J].福建电脑,2012,(8):149-150
[10] 孔鹏.程序天下新手学JSP动态网页开发.贯通HTML和JavaScript[M].北京:电子工业出版社,2012.158-180.
[11] 任辉辉.基于JSP平台的网站研究与实现[J].太原科技大学,2015.12-18.
[12] 平淑文,潘珏羽. 基于JavaScript轻量型动画框架开发[J]. 计算机技术与发展. 2013(12).20-30.
[13] 刘士军. 基于JAVA的SSM框架下新闻系统设计与实现[J].中国教育网络. 2017(03).41-50.
[14] 黄悦深. 基于HTML5的移动Web App开发[J]. 图书馆杂志. 2014(07).56-62.
[15] Liang Dan-xi ,Liu Gang,Li En-min, ,Peng Xue-hua.Database-Based Web Page[J].Wuhan University Journal of Natural Sciences,2011(03).48-95.
[16] 周凡,基层政府管理信息系统初探[J].计算机世界,1998,(11):16-17.
[17] 张惠,办公自动化[M]北京:机械工业出版社,1999.
[18] 吴迪文,WWW与数据库系统信息集成技术[J].微机发展,1999,9(1):13-15.
[19] 云红艳,高岭,远程访问系统中Radius的应用[J].西北工业大学报:自然科学版,2000,30(3):193-196.
[20] 胡奖荣,办公理论与协同OA的模型研究[J].北京机械工业学院学报,2000,15(1):35-41.
[21] 刘军林,王伟权,基于网络技术的可配置工作流程的研究[J].中山大学研究生学刊:自然科学与医学版,2004,25(3):101-107.