信息管理系统设计1.前言1.1 系统开发介绍随着公司的发展壮大,学员、公司员工的日益增大,传统的纸笔或是借助Excel的办公方式已不足以支持工作人员的日常管理。
为了方便的管理学员、员工的信息,迫切需要一套脱离传统方式的现代化的办公系统。
本套信息管理系统应该结合公司的实际情况,并且以发展的眼光来开发,以适用于今后更壮大的公司。
本套信息管理系统作为公司内部使用,它应该具备以下基本特点:简单、实用、页面友好等。
避免一些花哨、冗余的功能。
根据这个特点,采用B/S(Browser/Server,浏览器/服务器)结构,拥有强大兼容处理机制的Java语言,结合当下流行的JSP页面技术、Servlet、ssh三大web框架等技术。
2.需求分析2.1客户需求能够灵活管理学员信息和查询员工业绩。
2.2系统为达成该客户需求所需要的具体功能可实现权限管理;能够添加员工账户;能够根据员工流动更改删除员工账户;能够添加学员信息;能够查看学员信息;能够修改删除学员信息;能够分析数据查看统计信息。
2.3具体功能实现该系统用户有公司邀约人,面试人,经理,系统管理员四种角色。
由系统管理员添加删除公司员工信息。
对不同角色分配权限。
由邀约人在前期管理学员的信息,对其进行增加、查询、修改等操作。
面试人在面试阶段管理学员信息对其是否录用的状态进行修改。
经理可以通过系统来查看当前应聘人数,工作人员信息和其工作记录,可以对数据进行统计查询。
系统管理员管理公司员工的权限。
3.系统模块设计3.1 总体模块设计3.2 模块介绍3.2.1统计数据模块统计数据模块由两部分组成:员工业绩查询、学员数据查询。
员工业绩查询可以将数据库中的数据统计出来:一是显示出每个邀约人员每个月邀约的人数,来公司面试的人数,转化率是多少;二是显示面试人员每月面试人数,通过面试人数,未通过人数,转化率是多少。
学员数据查询可以将学员的信息以表格的形式显示出来:在信息列出的同时提供按学生状态分类显示的功能3.2.2 员工数据模块员工数据模块主要是对员工账号的基本信息进行处理,通过对员工账号增、删、改、查四种操作来配置工作人员账号数量和相应权限。
3.2.3 学员数据模块学员数据模块用来管理学员的信息。
当邀约人对学员发出面试邀请时将学员信息存储,当学员前来面试时由面试人搜索出学员数据修改他的面试状态,面试时间,然后学员的信息交给系统管理员来跟进修改学员上课时间和签约状况。
查询学员的信息。
4.JSP页面设计4.1 统一的登录界面页面设计:1.所有打开页面,页面背景为公司全貌图,整体布局要大方,简洁。
2.在页面的中心,设置一个区域。
窗口内包含:1.用户名******2.密码******3.登陆按钮注:此登录用户为:总经理,系统管理员,面试官,人事。
Index.jsp4.2 各个权限显示界面。
4.2.1总经理可访问的界面Showstatus.jsp4.2.2面试官业绩表区域:点击“查询”后:进行面试官业绩明细界面,开始明细查询。
且可以显示所有明细。
Showintview.jsp点击:“显示所有明细时”:直接显示面试官人员基本信息的表格,对应每个面试官后面都有一个查看按钮,可以点击查看按钮显示对应面试官的业绩具体信息。
Intviewscore.jsp4.2.3人事(招聘人员)业绩表区域:点击查询后:进行面试官业绩明细界面,开始明细查询。
且可以显示所有明细。
Showcaller.jsp点击:显示所有明细时:1.直接显示人事(招聘人员)基本信息的表格,对应每个人事(招聘人员)后面都有一个查看按钮,可以点击查看按钮显示对应人事(招聘人员)的业绩具体信息。
Callerscore.jsp4.2.4学员总人数点击查询后:进行面试官业绩明细界面,开始明细查询。
且可以显示所有明细。
Shownewer.jsp点击:显示所有明细后如下Newer.jsp4.2.5系统管理员可访问的界面在页面中心上方设置一个区域:显示当前所有系统管理员的信息,包含:编号,姓名,年龄,性别,籍贯,毕业院校,原属公司名称,等信息。
1)在此对员工信息进行操作,有4个按钮,分别为:增加,修改,删除,查找。
增加:增加系统管理员信息,在管理员不只一个,或要新增管理员信息时候用。
修改:点击修改,输入编号,对应跳出修改窗口,进行人员信息修改。
删除:点击删除,输入编号,点击确定后,删除对应人员信息。
查找:在众多的系统管理员中输入编号进行查询。
2)学员信息操作按钮,分别为修改,删除,查找。
修改:进行人员信息修改。
删除:删除对应人员信息。
查找:在众多的学员中输入姓名进行查询。
系统管理员添加和修改员工信息useradd.jsp or usreupdate.jsp系统管理员修改学员信息newerupdate.jsp系统管理员查询员工信息showuserid.jsp系统管理员查询学员信息shownewer1.jsp4.2.6面试官可访问的界面在页面中心上方设置一个区域:此区域是查看业绩用,设置一个表格,表格中显示所有面试官的基本信息,且包含一个时间列表,面试人数,成功签约人数,签约百分比。
在页面中心设置一个区域:此区域用于记录本面试官已经面试过的学员信息,设置一个记录表格,表格中显示应聘人员的编号,姓名,年龄,性别,籍贯,手机号码,毕业院校,是否应届生,原属公司名称,是否已交押金,是否已签约协议。
并配置修改按钮,对表格进行修改操作。
面试官修改界面statusupdate.jsp面试官查询界面shownewer2.jsp面试官搜索界面showsinglenewer.jsp4.2.7人事(招聘人员)可访问的界面在页面中心设置一个区域:此区域用于记录本人事预约的学员信息,设置一个记录表格,表格中显示应聘人员的编号,姓名,年龄,性别,籍贯,毕业院校,手机号码,通知时间,何时来面试。
对表格进行修改操作。
邀约人查询界shownewer3.jsp邀约人修改界面newerupdate.jsp邀约人增加界面neweradd.jsp5.代码设计主要分为Action层:EmployeeAction类(员工),NewerAction类(新人),DateAlsAction 类(数据处理)。
5.1 EmployeeAction类login(登录)方法useradd(添加用户)方法userdele(删除用户)方法userupdate(编辑用户)方法usershow(显示用户)方法。
5.2 NewerAction类neweradd(增加学员)方法newerdelete(删除学员)方法newerupdate(编辑学员)方法newershow(显示信息)方法statusupdate(状态更新)方法import(数据从excel导入)方法export(数据导出)方法。
5.3 DateAlsAction类showCoredata(显示核心数据)方法getAllStatus(获取所有新人状态)方法getStatusForEachEmployee(获取员工业绩)方法。
6.数据库设计6.1数据库需求分析在对公司员工类别和学员管理分析的基础之上,得到如下系统所需处理数据的流程图:图1 数据流程图经分析,本系统需要三张基本表:员工信息表,学员信息表,学员状态信息表;设计的数据项和数据结构如下:员工基本信息:包括的数据项有员工姓名、员工账号、员工登录密码、员工性别、员工年龄、员工职位;学员信息表:包括的数据项有学员id、学员姓名、学员性别、学员年龄、联系地址、联系电话、毕业学校、所学专业、毕业时间、备注信息;学员状态信息表:包括的数据项有学员id、员工id、员工id、面试时间、面试结果、是否签订贷款合同、上课日期、备注信息;6.2数据库概念结构设计根据上面的分析设计出的实体有:员工实体、学员实体、学员状态实体;各实体E-R图如下:学员实体E-R图员工实体E-R图学员状态信息E-R图6.3数据库逻辑结构设计员工学员管理系统数据库中各表格的设计结果如下表格所示,每张表格表示在数据库中的一张表。
学员信息表:人事员工表:状态备注表:数据表关联:人事表--学员表以人事表中的name 与学员表中inviter对应查询出多列学员信息邀约人事信息Select * from table1,table2 where = table2.inviter;人事表--状态表人事name 与状态表中entryperson对应查询出学员备注与人事信息Select * from table1,table3 where = table3.entryperson;学员表--状态表学员stuid 与状态表中stuid查询出学员对应的备注信息Select * from table2,table3 where table2.stuid=table3.stuid7.开发环境7.1代码开发环境Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
Eclipse吸引很多开发者来创建自己的插件。
许多插件是开源的,而结果是开源的代码与商业的代码被优雅的混和起来使其更加有用。
配合众多令人眼花缭乱的插件,完全可以满足从企业级Java应用到手机终端Java游戏的开发,即支持普通Java程序,Web应用,J2EE应用,手机Java程序,以及进行单元测试,重构,配置CVS等。
Eclipse就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境(而这些插件组件组件可以由其它的开发组织来提供和完善)。
Eclipse 也附带了一个标准的插件集,包括 Java 开发工具(Java Development Tools,JDT)----使得开发者能够在标准的Eclipse工具中完成一些普通得开发工作。
7.2数据库MySQL是一个小型关系型数据库管理系统。
目前MySQL被广泛地应用在Internet上的中小型网站中。
由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
其拥有的特性:1) 使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性2) 支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3) 为多种编程语言提供了API。
这些编程语言包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
4) 支持多线程,充分利用CPU资源5) 优化的SQL查询算法,有效地提高查询速度6) 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS 等都可以用作数据表名和数据列名7) 提供TCP/IP、ODBC和JDBC等多种数据库连接途径8) 提供用于管理、检查、优化数据库操作的管理工具9) 可以处理拥有上千万条记录的大型数据库7.3网页发布环境Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。