基于B/S架构的小微企业OA系统的设计与实现
2022-06-11李红军刘奇付李红岑
李红军 刘奇付 李红岑
摘要:随着ICT时代的日趋深化与推进,各行各业都在积极推进信息化、智能化、智慧化和大数据,尤其是在企业管理方面,OA办公自动化的研究、理念、实践与组件都已相当成熟,加上国内外的推广应用,OA已经成为企业内部管理的门户信息化系统入口。因企业发展需要,上海某小微企业也急需推进内部日常考勤、事务审批、消息通知等流程的信息化与数字化,该文就基于此背景设计开发,主要使用成熟的Java Web和MySQL技术,基于B/S架构,将该公司的内部管理分为用户管理、组织管理、行政管理等几个大的功能模块,实现公司内部传统业务的线上化、信息化、数字化、智能化,实现办公自动化OA。
关键词:B/S架构;OA系统;小微企业;设计;实现
中图分类号:TP311 文献标识码:A
文章编号:1009-3044(2022)13-0073-04
1 绪论
伴随信息技术的不时推进和网络的大规模普及,小微企业的外部管理通过办公自动化OA系统管理已成为大势所趋,正逐步取代传统管理手段和管理模式,OA即Office Automation,是应用现代化信息技术手腕和局域网、城域网或国际互联网等结合的一种全新的办公方式。历经几十年的研讨和推广应用,不论是生产性企业、经营性企业还是IT互联网信息化企业,都曾经深切地感受到信息化规划的进程实质上就是企业管理层,尤其是企业领导人在这一方面的一个生长进程,因此,协助小微企业提升信息化、现代化的管理层次和管理水平,即协助提高决策层、管理层对公司经营管理信息化重要性的认识。在小微企业中,经营管理整体信息化水平都比较低,但是本文中笔者所在的上海某小微企业看到了信息化OA系统的重要性,积极响应并进行深入理论探究,以此希望给企业日常生产办公带来变化,对进一步提高本企业的日常办公效率、信息资源活动整合,规范经营管理水平,进行决策依据的准确性、科学性都具有相當程度的重要意义和前瞻性。本文研讨的主要内容是上海某小微企业OA系统的开发、设计与搭建,运用当下最盛行的B/S架构[1],实现可以完成日常办公事务审批、行政管理、人员考勤、工作日程、合同管理、物流管理等外部管理的线上化,并具有维护方便、界面一致、灵活开放、可伸缩、研发成本可控等优点,同时可加强小微企业外部协作,更大程度上发挥企业外部资源优势,满足管理、办公的需求,向管理要质量,向管理要效益,进一步提高小微企业行政办公的效率。
2 需求分析
基于B/S架构的小微企业OA系统首要解决的是全企业的数据共享问题,力争解决各部门间的信息孤岛问题,实现不同业务的基础数据一次录入、到处使用、重复使用的目的[2],系统应该解决四个问题:界面友好、操作简单、学习成本低;系统各个模块数据共享性好;线上OA办公流程规范、清晰、可追溯;每位用户的责任、任务、目标、计划明确,进而有良好的监督、反馈功能。另外,本OA系统还要满足线上办公各个流程的自动化、智能化,将最新的现代信息技术用于其中,减少工作人员和使用人员的劳动力,提高工作效率,并要通过线上系统达到提高管理水平的目的;另外还应方便管理人员和各类型各岗位使用人员的使用,减少学习成本,方便使用;最后提高界面的友好性和体验感,具有较强的时代性。
系统要实现的功能模块有:小微企业内部的用户管理、组织管理、行政管理等最基础的公司内部工作环节,实现传统线下办公方式的线上化,使企业内部各部门之间的协同能够规范化、数字化、流程化,沟通交流更加便捷化,提高工作效率和信息共享水平,消除信息不对称和孤岛信息。
3 系统设计
根据上海某小微企业实际工作需求,本OA系统设计了四个功能模块,包括系统登录模块、用户管理模块、组织管理模块、行政管理模块。这些功能模块的功能结构图如图1所示。
3.1 系统结构设计
基于B/S架构的小微企业OA系统尽量将主要计算力放在服务器,简化客户端的流程和环节,通过网络进行联机去处理工作,主要使用瘦客户端,在浏览器中完成系统操作,根据用户的不同权限进行统一的身份认证,进而进入不同的工作处理门户页面。
系统登录模块使用公司每位员工的账号和密码进行登录,技术实现上采用JDBC技术,通过MD5的32位加密算法对用户的密码进行加密,确保了信息传输和存储的安全性,提高了系统的安全级别。
用户管理模块主要用于管理员对全公司所有员工账号进行统一管理,可以添加账号、修改账号、删除账号、做账号备注、重置密码、冻结账号等功能;还有一个重要子功能模块:权限管理,不同级别用户对系统的使用权限是不同的,部门领导可以管理自己部门的业务模块并对自己的员工进行管理,每位员工只负责自己的业务模块即可。
组织管理模块主要管理小微企业内部的部门管理、人员管理等传统线下公司管理职能,实现部门设置、部门基本信息、部门职能设定的增设与修改、删除等功能,人员管理主要实现对公司所有员工的个人信息、职位、聘用、业绩等信息的管理,通过此次OA系统的开发、设计与部署、应用实现达到线上OA管理的目的。
行政管理模块是本OA系统1.0版本要实现的重要功能之一,此次主要设计的子功能有通知管理、考勤管理、审批管理。通知管理类似于BBS,就是一条一条的短消息;考勤管理是将之前传统的线下管理搬到线上,实现考勤的信息化、数字化;审批管理主要是日常生产经营中有关常规手续流程的审批管理。
3.2 数据库设计
基于B/S架构的小微企业OA系统使用当下Web应用最流行的MySQL数据库[3],用一个数据库管理所有数据,但分为多张数据表,表与表之间通过一对一或一对多的关系进行关联,相当复杂。数据库名称设置为OfficeAuto,共建了employee员工表、role角色表、department部门表、authority角色权限表、checkOn考勤表、workFlow审批表、notice通知表等7张数据表。其中员工分属于不同的部门,员工账号又通过员工角色去分配权限,不同的角色权限可以根据设置进行不同的OA系统子模块管理, E-R实体关系图如图2所示。
因篇幅所限,本文只列出部分表的表结构和字段描述。
3.2.1员工表
employee员工表主要用于记录小微企业员工的基本信息,包括员工号、员工姓名、性别、出生日期、创建时间、是否锁定、员工联系方式、角色编号等信息,其表结构如表1所示。
3.2.2员工角色表
role员工角色表主要记录系统中不同角色的信息,有角色编号roleID字段、角色名称roleName字段、角色备注roleMemo字段,主要为不同身份的员工分配不同的角色权限,其表结构如表2所示。
3.2.3部门表
department部门表主要用于记录企业内部的部门信息有部门编号depID字段、部门名称depName字段、部门领导depLeader字段、部门电话depTel字段、部门位置depAddr字段、部门备注depMemo字段等,其表结构如表3所示。
4 详细设计与实现
基于B/S架构的小微企业OA系统的页面设计和代码编写篇幅太大,本文只摘取其中的几个有代表性的模块来进行阐述,分别是数据库连接、用户登录模块、通知管理模块、考勤管理模块的实现几个部分,只列出部分代码和有代表性的界面截图。
4.1数据库连接
在小微企业OA系统中,最关键的是MySQL数据库的连接,使用的是JDBC技术[4]。第一步需要做的是将要连接的数据库OfficeAuto驱动通过java.lang.Class类的static method方法forName(String className)上载到Java的虚拟机Java Virtual Machine,完成以后,JVM就会将驱动类的实例在DriverManager类中进行注册。然后使用JDBC连接URL,其业务流程图如图3所示。
部分代码如下:
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://192.168.1.168:3306/testDB?user=system&password=Abc123456&useUnicode=true&characterEncoding=GB2312";
Connection conn = DriverManager.getConnection(url);
try{
Connection con =
DriverManager.getConnection(url , username , password ) ;
}catch(SQLException se){
System.out.println("數据库连接失败!");
se.printStackTrace() ;
}
4.2用户登录模块的实现
小微企业OA系统登录模块是Web端的应用入口,也是企业OA的门户,所有系统人员都必须首先经过登录认证,当用户登录输入账号、密码时,用户的输入会通过JDBC的SQL语句与后台数据库端的记录进行比对,如果匹配成功则返回正确提示并允许登录系统使用其他功能模块,如果认证失败,则会返回错误提示框“您输入的账号或密码错误,请检查并重新输入”的信息。其业务流程图如图4所示。
4.3考勤管理模块的实现
小微企业OA系统考勤子模块主要有员工签到、考勤统计、导出、打印、请假等功能。根据不同用户类型进入不同系统界面执行有关操作,普通员工界面有签到、签退、申请请假等,部门领导、公司领导、系统管理员可以根据各部门员工的考勤情况对打卡签到数据进行统计、汇总,并可实现在线打印和导出考勤表格,OA系统还提供根据不同筛选条件查询员工详细考勤信息的功能[5]。对于请假、批假等功能也有良好的功能设计。
本系统的考勤打卡分为两种方式:打卡机考勤与PC/手机端登录WEB页面考勤。打卡机考勤方式是公司利用传统打卡机签到方式,通过与厂家联系,获取数据接口接入小微企业OA系统实现的,主要用于公司内部签到方式。如果员工出差或离开公司,签到方式改为WEB页面考勤,即员工通过PC或手机登录OA系统,在页面上实现签到,如图5所示。
若员工在WEB端登录账号进入考勤打卡签到页面,点击“签”按钮即可,如果是工作日上班时段点击“签”按钮,则视为上班签到,系统会记录该名员工的姓名、签到时间等签到数据,如果是下班时间段点击“签”按钮即视为签退。
对于签到数据,系统会逐条记录每名员工的出勤记录,由签到和签退时间统计每名员工每天的上班时长,根据考勤表中的打卡数据,结合员工表employee、部门表department等基础数据,通过SQL查询可以得出员工当天、当月的签到汇总结果,如图6所示。从该功能可以统计每位员工当日的上班考勤时长、状态、打卡位置等,通过系统功能,还可以实现清理数据、导出当日考勤列表至Excel、打印等功能。
以上详细设计与实现部分列出了数据库连接、用户登录模块、通知管理模块、考勤管理模块等几大模块,也是在该公司内部部署、试用之后,反馈比较成熟的部分,还有审批管理等模块因篇幅所限,不再赘述。
5 系统测试分析
系统测试是交付之前的关键环节,要用实际数据、样例和极端应用场景去测试系统的健壮性和安全性,在这个过程中及时发现问题及设计缺陷,并做出补充完善,该小微企业OA系统的测试分析主要分为功能方面的测试和性能方面的测试两部分[6]。功能测试主要是针对不同模块的功能设计去进行,主要方法有黑盒测试法和白盒测试方法两种,要覆盖每一个页面和可能的分支页面,逐一进行黑白盒测试。而系统性能测试则主要考查系统的运行性能、响应时间、并发数、连接数等负载情况,是为了保证系统交付使用以后的稳定性。
6 总结
基于B/S架构的小微企业OA系统目前已在上海某小微企业部署完毕,也完成了第一期的试运行,基本满足了企业的线上办公需要,不仅提高了企业运营和管理效率,还能为领导决策提供数字化支持,得到了公司上下的好评。在信息化、数字化越来越成熟的当下,这种模式值得进一步推广。下一步,要不断细化研究企业需求,进一步完善系统功能和用户体验,并努力向更多的小微企业推广应用,帮助企业发展。
参考文献
[1] 焦春霞,刘奇付.基于Android的移动学习系统的设计与实现[J].电脑知识与技术,2019,15(1):80-81.
[2] 陈玉珍,刘奇付.基于B/S公司财务报账管理系统[J].企业科技与发展,2018(2):303-304.
[3] 董春啟,刘奇付.基于B/S模式下的公司财务管理系统的设计与实现[J].无线互联科技,2016(23):49-50.
[4] 王琴,陈玉珍,刘奇付.基于ASP.NET的网上购物系统[J].电脑知识与技术,2013,9(26):5882-5891.
[5] 王琴,刘奇付.Web人才交流网站的设计与实现[J].电脑知识与技术,2013,9(26):6041-6047.
[6] 孙继红,刘奇付.基于ASP.NET的项目任务管理系统[J].电脑知识与技术,2013,9(21):4855-4862.
【通联编辑:朱宝贵】