基于Java的工作事务提醒系统的设计

2015-05-29 12:28黄婉林
电脑知识与技术 2015年10期
关键词:线程模块化

黄婉林

摘要:为了减少工作遗漏和提高工作效率,在原有的办公信息管理基础上,应用Java编程技术和数据库技术,提出了工作事务提醒系统的设计思路和实现方法,并对系统各个功能模块划分及应用Java实现主要模块的过程和关键技术进行了详细的论述。

关键词:Java;模块化;绘图技术;线程;工作事务提醒

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)10-0076-02

在信息盛行的现代社会,对大多数的企事业单位而言,目前通常采用内部网络发布事务信息,同时结合印发传统的纸质文件进行办公。由于工作日程繁多紧凑,人们常因疏忽而没有及时地去网页查看信息,或者没有及时的处理收到的纸质事务文件,而新的事务信息又会随时出现,这样往往会导致一些紧急事务得不到及时处理或者被遗忘[1]。在办公过程中,如果人们能够将众多的工作事务信息录入系统,并且进行简单的管理和设置提醒,这样既可以避免以上类似工作失误,同时还可以优化资源,将复杂的问题简单化,大大提高办公效率。在原有的办公信息管理基础上,本文主要讨论了基于Java程序设计语言的工作事务提醒系统的总体设计和关键技术。

1 系统功能总体设计

1.1 系统功能概述

通过工作事务提醒系统能够让办公人员对日常的工作计划、工作日志、备忘等信息进行管理,并且可以根据需要设置提醒,从而提高办公效率。

该系统的业务流程图如图1所示,用户启动系统后进入登录界面,在登录界面上按要求输入用户名、密码和验证码,初次登录使用各部门分配的用户名和默认初始密码。用户输入正确的相关信息后就通过身份验证,进入系统的主界面;如果三个信息任何一个输入有误,则出现系统提示错误,并要求重新输入错误信息,直到输入正确信息[2]。一旦进入系统主界面,就可以在系统中对工作事务信息实现添加、删除、修改、设置提醒等需要的操作,完成工作后安全退出系统。

1.2 数据库设计

合理的设计数据库及数据表将直接影响整个系统的运行性能[3],根据该系统的特点和要求,采用MySQL数据库,设计的数据表包括用户信息表和事务信息表。MySQL与传统的JDBC编程比较,其数据源只要提供数据库名称、用户名和密码,很大程度上简化了编程。用户信息表包含记录编号(主关键字,自动增长)、用户名、姓名、密码、部门。事务信息表包含记录编号(主要关键字)、事务类型、事务日期、事务时间、事务状态(是否提醒)。

1.3 系统设计与实现

根据实际的需求以及对系统的整体分析,将系统按模块化设计方法可以划分为用户管理、工作事务管理和工作事务提醒三大模块[4]。

1.3.1 用户管理模块

用户管理模块实现系统的登录,考虑到与学校其他信息管理平台数据的一致性,为用户分配了相应的用户名和初识密码,基于个人信息安全的实际需要,对于权限的控制也有必要细分,用户输入用户名、密码和验证码后进行合法性验证,如果信息存在于数据库中,则登录成功,并可修改密码,否则用户不能进入该系统,此方法可确保不同用户间的信息安全性。

图1 用户业务流程图

登录界面在设计上可以采用BoxLayout布局,将使用到JLabel、JTextField、JPasswordField、JButton等类型控件[5],并将各控件按需要进行垂直方向的布局,其代码如下:

JPanel panel=new JPanel( );

BoxLayout layout=new BoxLayout(panel, BoxLayout.Y_AXIS);

panel.setLayout(layoout);

在界面设计时应遵循美观大方,因此可以将控件上的字体、字号和颜色进行统一设置,并将登录界面在屏幕中居中显示。

1.3.2 工作事务管理模块

工作事务管理模块实现对工作计划、日志、备忘信息等工作事务的简单管理,包括事务信息的添加、修改、删除、查看、设置提醒和简单查询功能。

该模块在界面设计上可以采用JTabbedPane容器,然后将多个JPanel的对象添加到JTabbedPane容器中实现选项卡窗体,其中JPanel分别可以设置为工作计划、工作日志、备忘内容,并利用JButton控件设置添加、修改、删除、查看等按钮,如果为了操作方便直观,可以考虑再用一个JPanel对象放置万年历。当选择不同的选项卡JPanel对象时,就会显示不同的内容,最后再将由JTabbedPane容器构成的选项卡窗体,添加到主窗体上。Java使用JTabbedPane实现选项卡框架的常用方法具体代码如下:

JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.LEFT); //设置选项卡的坐标

abbedPane.addTab("JPanel面板或选项卡名称","new JPanel( )"); //添加子容器,设置面板即选项卡名字

该模块的添加和修改功能是通过调用同一个窗体界面实现的,需要办公人员录入日期、时间、地点、主题、内容等信息,并根据事务信息处理的急缓程度设置提醒。添加的记录被放置在表格中,选中表格中的记录可激活修改按钮,可以对各类事务信息进行修改。

1.3.3 工作事务提醒模块

该模块实现对系统中添加的日常工作计划、会议、日志、备忘信息等设置提醒。简单的提醒功能可以实现当到达了用户设定的提醒日期和时间,系统会根据提醒设置自动提醒用户。提醒模块的执行流程是:每隔一定的时间会自动查询数据库,从数据库中提取当前已经符合条件的提醒信息,当用户设定的提醒时间点到达时可以通过标题闪烁或发出声音提醒用户[4],并且当提醒事务已到达了开始处理的时间后会自行终止该事务的提醒线程。

具体实现上比较灵活,可以在添加工作事务信息时直接设置提醒,也可以单独设置一个提醒按钮,有选择的为记录设置提醒。

2 主要功能模块实现关键技术

2.1 Java绘图技术在登录界面中的应用

在用户登录界面中,为了防止系统被非法自动访问,设置一个程序很难识别但人眼容易识别的图形,为了实现图形内随机产生的字符在位置和颜色上的随机效果,可以采用Java绘图技术实现登录验证码[6]。Java的绘图包括图形、颜色和字体,paint函数用于产生图形界面,该函数原型为:public void paint(Graphics g) { …… } ,可以被子类继承,然后设置好验证码中的字体、颜色等,最后利用drawString()方法实现验证码字符串的绘制。

2.2 Java线程技术在定时提醒中的应用

在提醒模块中需要不断的检测到达提醒时间的工作事务信息,可以考虑使用线程技术将多个提醒任务并行处理,充分地利用CPU的空闲时间,提高程序的运行效率[7]。大致思路是ReminderThread类对定时提醒线程进行开启、刷新提醒记录等操作,该类继承了Thread类,需要重构后在run()方法中利用循环结构反复判断是否达到了设定的提醒时间,然后做相应的操作。

3 结束语

通过工作事务提醒系统的分析设计,认为实现该系统的开发是可行的。在办公环境中测试时,可以针对系统存在的问题进行改进,还可以根据实际的需求进一步的扩展功能。相信通过对工作事务信息的简单管理和提醒功能自定义设置,将会提高办公人员的工作效率,这对办公自动化软件系统的完善更新具有一定的借鉴作用。

参考文献:

[1] 王川, 孙斌. 基于NET的事务提醒模块的设计与实现[J]. 微型电脑应用, 2008, 24(1).

[2] 蒙新颜. 家庭管家系统的设计与实现[D]. 厦门: 厦门大学, 2014.

[3] 唐林, 任亮. 高职学生考勤管理系统的分析与设计[J]. 科技信息, 2010(8): 482.

[4] 张捍卫. 基于C#办公事务提醒系统的设计与实现[J]. 电脑知识与技术, 2008, 4(1).

[5] 文东, 刘荷花. Java程序设计基础与项目实训[M]. 北京: 科学出版社, 2009.

[6] 明日科技. Java典型模块精讲[M]. 北京: 清华大学出版社, 2012.

[7] 王茹香. Java网络程序设计项目教程[M]. 北京: 中国人民大学出版社, 2010.

猜你喜欢
线程模块化
模块化自主水下机器人开发与应用
模块化住宅
ACP100模块化小型堆研发进展
模块化VS大型工厂
浅谈linux多线程协作
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进