基于JAVA的会议管理系统
组员:
日期: 2013.12.25
1 绪 论
●
开发背景
当今社会竞争日益激烈,公司单位内部会议也不断增多,会议信息量也逐渐增大。
公司内部需要经常通过会议沟通,问题解决以及决策的制定。而现在公司的会议管理工作繁重且处于无系统流程状态。手工作业效率很低,不便于管理,而且容易出错。
因此,提高会议效率, 发挥会议功能,避免人力物力财力浪费,降低经营成本、达到人力资源效率化,是领导者们推动企业效率的重要课题,他们急切需要有效的“会议管理”。 本会议管理系统应运而生,公司会议室的合理分配,不仅有利于公司资源最大程度的利用,而且有利于提高会议质量。解决了因资源竞争而产生的一系列问题,避免不同部门间冲突。加强各部门合作,是企业得以长久生存的保证。
会议管理系统主要有用户管理,会议室管理,会议室查询,会议信息的发布和安排,会议管理,会议查询六大模块。整个系统各操作界面清新、大方,操作方便, 信息化处理是当今社会不可避免的趋势,单一的手工记录操作已不能满足规模日益增大的企业。此时,该系统将是你最优的选择.
●
开发目的
1.系统地研究会议管理系统的需求分析、总体设计和数据库设计过程。
2.系统地进行程序设计,重点研究应用JAVA和MySql数据库技术进行基于B/S系统的发。
●
系统范围
系统包括的范围:用户管理,会议查询,会议管理,会议显示,会议室查询, 会议室管理。
2 可行性分析
1. 可行性研究的目的:是用最小的代价在尽可能的时间内确定问题是否能够解决。由
于本系统管理的对象单一,每个数据变化性频繁,计算并不难。因此,容易采用数据库管理。
2. 在运行上可行:本系统为局域网的C/S小型的系统,所耗费的资源非常的小,运行
速度快,整体反应,更新等性能好。在基于JAVA为基础的开发前台的基础上我选择了MySql数据库。通过JDBC控件来实现JAVA和数据库之间的连接和编辑功能。 3. 开发平台及运行环境: 工具环境分析
(1)体系架构:应用系统功能处理系统数据库 (2)模式:C/S
(3)总体构成:功能处理系统,数据库,功能处理系统分为前台,后台。 硬件平台
(1)CPU:Inter Core(TM)*****************(2)内存:2.00GB (3)硬盘:160G 软件平台
(1)操作系统:Microsoft Windows XP Professional (2)数据库:MySql (3)开发工具:MyEclipse (4)开发语言: JAVA
3 需求分析
● 系统设计目标分析
针对现时拥有大量人力资源的公司,却常为会议室分配紧张而烦恼问题,本系统应运而生。企业会议室的合理分配,不仅有利于公司资源最大程度的利用,而且有利于提高会议
质量。解决因公司资源竞争而产生的一系列问题,避免不同部门间冲突。加强各部门合作,是企业得以长久生存的保证。
信息化处理是当今社会不可避免的趋势,单一的手工记录操作已不能满足规模日益增大的企业。此时,该系统将是你最优的选择。
系统坚持标准化和可行性;保证系统的安全和稳定可靠;操作简便、。系统从总体到部分,层次分明,会议管理,系统管理是主体,下属中各部门间互相协作则细化了管理规则,而添加,查询,删除,更新是所有用户惯于使用的基本功能。
系统用例分析
通过现实数据的研究,我们了解到会议系统存在着如下的信息交互,我们以用例图(活动图)来分析系统业务流程,而添加,查询,删除,更新是所有用户惯于使用的基本功能。
●
4 数据库设计
数据库设计是指设计数据库的各个表以及它们之间的关系并建立数据库。数据库设计的目标是为用户和各种应用系统提供一个信息基础设施和高效的运行环境。在本章中,将会根据数据库的需求分析画出系统E-R图,根据E-R图得出关系模型,此时,表的结构已经非常清楚了,可以设计出所有表以及建立脚本,最后介绍数据库的连接访问。
● 数据库需求分析
根据本系统的需求,设计对应的数据表及功能如下:
1.会议表 :存放会议实例的基本信息 2.会议室表:存放会议室的情况 3.人员表:存放参加会议的人员表
4.会议人员关系表:存放会议和人员的关系 5.管理员表:存放会议系统的管理员 6.用户表:存放普通用户的表 7.注册码表:存放系统 注册码 8.人员组表:存放人员组
根据以上分析,确定本系统的实体有: 1.会议实体 2.会议室实体 3.会议人员实体
4.管理员实体 5.普通用户实体 6.注册码实体 7.人员组实例
8.会议人员关系表:用于存储会议和人员的关系,会议和人员的关系为多对多.
● 系统E-R图
概念模型是按用户的观点来对数据和信息建模,主要用于数据库设计,不涉及信息在计算机系统中的表示,只是用来描述特定组织所关心的信息结构。这类模型强调其语义表达能力,概念应该简单、清晰,易于用户理解,是数据库设计人员和用户之间进行交流的工具。最为著名和使用最为广泛的是E-R图法。 。。。 所在组名 人员ID 会议名 姓名 会议类型 会议实例 人员 邮件地址 1 1 1 开始时间 m 会议名 。。。 结束时间 n m 会议人员关系 人员ID ID 组中人数 1 1 类型 会议室 人员组 组名 ... 容量 账户 密码 账户 密码 管理员 普通用户 部门
联系方式
● 物理结构设计
[8]
meeting (用户类)
中文 会议名 会议类型 会议大小 会议持续时间 开始时间 结束时间 参加人数 会议室 英文 name type size date startTime endTime attendeeNum roomID applicant 数据类型 varchar(255) varchar int date date date 参加人员数 是否为空 否 否 否 否 否 初始值 说明 主键 外键 attendee (参会人员)
中文 标识 姓名 年龄 性别 邮寄地址 电子邮件 头衔 组名 英文 attendeeID name age sex postAddress emailAddress title groupName applicant 数据类型 varchar varchar age smallint varchar varchar varchar varchar varchar 是否为空 否 否 否 否 初始值 说明 主键
user(普通用户信息)
中文 账号 密码 英文 account password 数据类型 varchar varchar 是否为空 否 否 初始值 说明 主键 部门 邮件地址 手机号码 section emailAddress phone varchar varchar varchar 否 否 否 groupAttendee (人员组)
中文 组名 成员数量 英文 groupName memberNumber applicant 数据类型 int varchar varchar 是否为空 否 否 否 初始值 说明 主键
administrator (管理员)
中文 账号 用密码 英文 account password 数据类型 varchar varchar 是否为空 否 否 初始值 说明 主键 MA (会议人员关系表)
中文 会议名 参加人员ID 英文 meetingName attendeeID 数据类型 varchar varchar 是否为空 否 否 初始值 说明 外键 外键
5 系统详细设计|
●功能描述
会议管理系统主要包含六个模块:会议室管理、会议管理、用户管理,会议查询,会议信息
显示模块,会议查询模块。
会议室管理:主要实现会议室的增、删、该、查;会议室管理是该系统的基础。
会议管理:是该系统的核心和桥梁,它实现会议的增、删、改等功能。 用户管理:主要实现对使用该系统的人员的维护和查询。 人员管理:对参会人员进行管理。
人员组管理:对参会人员组进行管理。
●功能描述
基于JAVA的会议管理系统(登陆)会议管理室系统会议室预定系统添加会议室删除会议室更改会议室状态空闲会议室查询查看会议室准则人员管理人员组管理查看参会者查看会议室准则空闲会议室查询查看参会者
●部分功能模块的详细设计
1.用户管理模块
负责系统的登陆和用户的注册。
★相关的程序运行界面:
可以看出系统中有两种不同类型的用户,即普通用户和管理员。在该系统中普通用户为该系统的普通使用者,可以申请会议实例、添加会议人员和会议人员组。管理员主要负责会议室的维护和普通用户的申请请求。
2.会议室管理
该模块实现会议室的添加、删除和查询。
★相关的程序运行界面
这里显示了需要预定会议室时需要遵循的准则。
添加会议室(在这里添加会议室)
删除会议室、更改会议室状态(删除不需要的会议室也可以设置会议室的状态为不可用)
会议室查询与预定(可以在这里实现按条件对会议室进行查新,如果有合适的会议室可以进行预定)
★相关类
MeetingRoom类
该类主要负责与会议室相关的用例。主要操作有分配会议室、修改会议室和删除会议室等。 字段:
private int buildingCode; //会议室的楼号 private int doorCode; //会议室的门号 private String type; //会议室类型 private int capacity; //容量 private int status = 1; //状态 主要方法:
String assignMeetingInstance(MeetingInstance mi);//用于把该会议室分配给某
个会议实例。
String setStatus() ; //该类负责设置会议室的状态 String addMeetingRoom(); //把该会议室添加到数据库 String deleteMeetingRoom();//删除该会议室
3.人员管理模块
该模块实现人员和人员组额添加和删除.
★相关的程序运行界面
在这里可以添加和删除会议人员.
添加人员窗口,在这里输入要添加人员的基本信息。
在这里添加和实现人员组,并可以查看组的成员。
★相关的类
Attendee类: 主要字段 :
int id; //ID String name; //姓名 int age; //年龄 char sex; //性别 String postAddress; //邮件地址 String emailAddress; //电子邮件 String title; //头衔 String groupName; //组名 String applicant; //
主要方法 :
String addAttendee(); //添加人员 String deleteAttendee(); //删除人员
GroupAttendee类: 主要字段 :
String groupName; //组名
int memberNumber; //组内人员数
String applicant; //
boolean isExist(); //判断是否存在此组 String addAttendee(Attendee a) //为该组添加组成员 String deleteAttendee(Attendee a) //删除人员 String newGroup(); //新增人员组 String deleteGroup(); //删除人员组 String rename(String name); //重新命名
4.会议实例管理模块
该模块主要完成会议实例的申请和撤销。
★相关窗口:
这里是管理员用于查看已经定义的会议的窗口,管理员可以取消掉不符合规定的会议。
当用户根据自己的需求查找到合适的会议室后,选择【预定会议室】,系统会根据用户选定的会议类型生成一次会议实例,并保存到系统数据库中。
★相关类 : Meeting类 :
该类标示了一个会议,主要有会议名称字段和会议类型,主要方法有添加会议召开实例和取消会议召开实例。MeetingInstance类继承自该类,代表了一次会议的召开,即会议实例。
主要字段:
String name; //会议名 String type; //会议类型
int size; 主要方法:
MeetingInstance addMeetingInstance(String d, String st, String et, int i,
int an, String a) cancelMeetingInstance() //增加会议实例
void cancelMeetingInstance(MeetingInstance mi)//取消会议实例
MeetingInstance类:
该类代表了一次会议召开实例,该类继承自Meeting类。主要操作有向该会议召开实例添加人员、为该会议实例分配会议室、让该会议实例添加人员组等与会议召开有关的用例。
主要字段 :
int id; //ID标识
String date; //会议持续时间 String startTime; //会议开始时间 String endTime; //会议结束时间 int attendeeNumber = 0; //参会人数
int roomID = 0; //为该会议室分配的会议室ID String applicant = null; 主要方法 :
String addAttendee(Attendee a); //向该会议实例添加人员 String attachMeetingRoom(); //为该会议分配会议室 String addGroupAttendee(GroupAttendee ga) //向该会议添加人员组
String deleteAttendee(Attendee a) //从该会议实例中删除参会人员 String deleteGroupAttendee(GroupAttendee ga)//从该会议中删除参会组 String cancel(); //取消该会议召开实例
5.邮件发送模块
该模块实现邮件的发送,比如通知相关人员会议的召开。
★相关窗口:
选择要通知的人员后,点击【发送邮件】,就会把通知发送给选定的人员。
★相关类: PostOffice类:
该类负责发送邮件。 主要方法:
String sendEmail(Information infomation, String emailAddress);//发送电子邮件 String sendMail(Information infomation, String postAddress); //发送邮件
6 总结与展望
经过我们组一个多月的努力,设计并最终实现了一个简易会议管理系统。在设计的过程中,经历了用例分析、数据库建模、对象建模以及最后编码过程。通过这次实践,进一步加深了我们对面向对象编程方法的理解。于此同时,我们也发现了我们在工作中的不足,比如在数据库设计的规范化、代码规范化,以及如何运用面向对象的技术控制软件的复杂度,使我们的软件实现高可扩展性等方面还存在一些不足,我们希望进一步去完善我们的系统,使它能成为一个接近或可以面向市场的需求的软件!