1、1引 言随着计算机及网络技术的飞速发展,Internet/Intranet 应用在全球范围内日益普及,当今社会正快速向信息化社会前进,信息自动化的作用也越来越大。从而使我们从繁杂的事务中解放出来,提高了我们的工作效率。教师办公管理系统是一个教育单位不可缺少的部分,它的内容对于学校教师办公管理十分重要,所以,教师办公管理系统为教师提供充足的信息和快捷的信息交流手段。它是学校在自己局域网上搭建的 B/S 结构的办公平台,只要打开浏览器即可方便快捷地使用办公系统,进行信息交流和信息共享。但一直以来人们仍使用传统人工的方式进行信息的交流,这种方式存在着许多缺点,如:效率低、教师不能全身地投入工作等。
2、随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分,使用教师办公管理系统进行信息交流,具有很大的优点.例如:信息交流方便、可靠性高、保密性好、寿命长、成本低等。这些优点能够极大地提高教师办公的效率,也是教师办公的科学化、正规化管理,与世界接轨的重要条件。2第一章 系统内容教师办公管理系统的主要内容包括:系统设置、通知通告、领导信箱等三个模块,各个模块的具体设计如下。(一)系统设置包括学院配置、系所配置、人员配置和角色权限配置。1. 学院配置:实现对添加新学院、修改、删除等功能。2. 系所配置:实现
3、对添加新部门、修改、删除等功能。3. 人员配置:实现添加新人、查看、修改、删除和查询人员信息等功能。4. 角色权限配置:实现新增、修改和删除角色等功能。(二)通知通告包括通知发布和通知浏览。1. 通知发布:实现给指定教师职工发布通知的功能。2. 通知浏览:实现显示用户所接收和发送的通知,并且提供查看、修改和删除所发送通知的功能和查看、回复所接收通知的功能。(三)领导信箱1. 写 信:实现简单的站内写信、发信功能。2. 收信箱:实现收信、查看、回复和删除所收信件功能。3. 发信箱:实现查看、删除和清空已发信件功能。第二章 系统设计(一)设计目标即根据身分的不同对系统的使用权限有所不同。从权限大小
4、大致可以分为:系统维护管理员、领导级管理员、负责人级管理员、普通教师管理员。系统提供灵活的角色设定和权限的分配功能。1. 系统维护管理员:是权限最大的管理员,拥有办公系统的超级权限,主要负责对办公系统平台的日常网络管理,可以对系统进行修改,排除故障。2. 领导级管理员:可以上传文件可以查看所有上传的文件(除去工作安排中功能二的文件) ,有权修改、删除已发布的文件,并有权决定相关文件是否上传至公众网中,即对所有上传文件进行审核;3. 负责人级管理员:可以上传文件,可以查看权限内的文件,有权修改、删除负责项目内的文件;5. 普通教师管理员:可以浏览相关文件,上传有权限的文件,修改个人资料。(二)
5、设计思想此系统采用 MVC 三层架构(JSP-JAVABEAN-SERVLET)开发模式,通过这种设计模型把3应用逻辑,处理过程和显示逻辑分成不同的组件实现,这些组件可以进行交互和重用。此外,系统使用数据连接池,在系统初始化时启动 db.properties 文件中配置的数量的连接,如果程序需要连接,则从此池中取出一个连接使用,使用完后又返回给该连接池,这样这些连接可以复用,提高了效率。(三) 系统的功能设计系统功能分析的基础上,考虑到项目程序编制的特点,如图所示的功能模块图图 1.(功能模块图)系统的功能分为三大模块,各实现了不同的功能。具体分析如下:1. 系统设置功能提供对系统中各个参数设
6、置,比如学校的机构、人员及系统用户的权限等。这为本系统的使用提供最基本接口。只有系统维护管理员才有权限进行操作。2. 通知通告部门领导及各负责人由于需要向相关在校教师发布的信息以及相关教师在收到信息条后要有反馈意见,因此设立此模块。本栏目为对外保密或对外没有必要公布的信息,其位置在各位教师登录后的首页面上端;收到通知的教师可以对通知进行回复。对于自己发布的通知,可以修改、不能删除,对于发布到自己的通知,可以发布到自己的通知,可以发布和删除反馈意见;被通知的人,在浏览该通知时系统自动标记为已阅读状态。(1) 操作对象:领导、负责人。4(2) 浏览对象:在校教师。(3) 具体操作:部门领导及各项目
7、负责人由于项目需要向全体在校教师发布的通知,因此本栏目的位置在公众首页内。(4) 需要模块:文章发布系统、反馈系统、教师地址查询系统等。3. 领导信箱在校教师如需要领导来解决问题时,可以直接通过该栏目与领导联系,在领导登录时,其栏目的提示信息,领导在一定时间内回复。该过程为点对点过程。(1) 操作对象:在校教师(含处内工作人员)与领导。(2) 浏览对象:领导与在校教师。(3) 需要模块:文章发布系统、信息提示系统。(四) 开发工具和编程语言的选择1.JSP 语言的优点JSP 作为服务器端脚本语言,其基本机制不同于其它的脚本语言,它实质上还是一种Sevlet , 它是编译执行的。ASP 和 PH
8、P 则是完全解释执行的,所以 JSP 仅仅是具有脚本语言的表现形式,JSP 在性能方面有很多强于 ASP 和 PHP。(1) 由于是编译执行而且可以多线程方式执行,所以开销相对要小。(1) 技术本身的扩展性。JSP 可以通过 JavaBean 定制标签库,EJB 等技术对功能进行扩展,这个优势主要得益于 Java 技术的纯向对象特性。(2) 跨平台支持。2. MVC 模式结构(1) 各施其职,互不干涉在 MVC 模式中,三个层各施其职,所以如果一旦哪一层的需求发生了变化,就只需要更改相应的层中的代码而不会影响到其它层中的代码。假如业务发生了变化,如在取文章时可能 webmaster 把一些文章
9、作了无效标志,不能直接把所有文章取出来,只能取出有效的文章,这时业务就发生了改变。再设想一下,如果这个业务逻辑在 100 个页面中都要用到,那么 MVC 模式就体现了它的灵活性。我们可以不更改任何 JSP,只要更改 model 层中的相应类中的 SQL 语句即可。(2) 有利于开发中的分工在 MVC 模式中,由于按层把系统开,那么就能更好的实现开发中的分工。网页设计人员可以进行开发视图层中的 JSP,对业务熟悉的开发人员可开发业务层,而其它开发人员可开发控制层。(3) 有利于组件的重用分层后更有利于组件的重用。如控制层可独立成一个能用的组件,视力层也可做成通用的操作界面。53 MYSQL 的优
10、点MySQL 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问 MySQL 数据库的程序,运用十分广泛。MySQL 是完全网络化的跨平台关系型数据库系统,一个真正的多用户、多线程 SQL 数据库服务器,同时是具有客户机/服务器体系结构的分布式数据库管理系统。它具有功能强、使 用简便、管理方便、运行速度快、安全可靠性强等优点,用户可利用许多语言编写访问MySQL 数据库的程序,对于中、小型应用系统是非常理想的。除了支持标准的 ANSI SQL 语句,更重要的是
11、,它还支持多种平台,而在 Unix 系统上该软件支持多线程运行方式,从而能获得相当好的性能。对于不使用 Unix 的用户,它可以在 Windows NT 系统上以系统服务方式运行,或者在 Windows 95/98 系统上以普通进程方式运行。而在 Unix/Linux 系统上,MySQL 支持多线程运行方式,从而能获得相当好的性能,而且它是属于开放源代码软。MySQL 是以一个客户机/服务器结构的实现,它由一个服务器守护程序 mysqld 和很多不同的客户程序和库组成,MySQL 的执行性能非常高,运行速度非常快,并非常容易使用,是一个非常棒的数据库。MySQL 的官方发音是“My Ess Q
12、ue Ell“(不是 MY-SEQUEL )。所以用 JSP 作为编程语言以及用 MYSQL 作为后台数据库其效果是相当好的以下是 MVC 的编程模型:图 2.(编程模型图)以及与 MYSQL 连接的模型:6图 3.(mysql 的连接模型图)第三章 数据库设计(一) 数据库设计思路本系统尽量考虑到各个模块中相似之处,减少表格数量,提高表格的关联程度以及减少数据库中数据的冗余。系统维护模块中所用到的数据表,如学院表、系所表、人员表以及进行权限控制的权限表。以上这些部分的内容和设置项,各个部分之间的关系比较明显,即人员属于系所、系所属于学院的所属关系,所以在设计数据表的时候增加外键进行关联即可图
13、 4.(学院-系所人页关系图)通知通告模块主要是通知的发布以及浏览后填写反馈意见,主要涉及到发布表、反馈表、附件表等。领导信箱模块的基本表也是发布表、反馈表、附件表等。7(二) 数据库概念结构设计ER 图是描述数据实体及其关系的一种直观的描述工具。这种图中有:1. 实体:用方框表示,方框内为实体名称。2 实体的各种属性:用椭圆表示,椭圆内为属性名称。使用线段将其和相应的实体联系起来。3 实体之间的联系:用菱形表示,菱形内为联系的名称。图 5.( 学院实体 E R 图)图 6.( 角色实体 E-R 图)8图 7.( 权限实体 E-R 图)(三) 数据库逻辑结构设计表表 1. 学院数据表(kjc_
14、college)字段名 类型 是否非空 字段含义Id INT(10) NOT NULL 学院编号Name VARCHAR(50) NOT NULL 学院名称Tel VARCHAR(15) NULL 办公电话Man VARCHAR(10) NULL 负责人表 2. 系所数据表(kjc_department)字段名 类型 是否非空 字段含义Id INT(10) NOT NULL 系编号Name VARCHAR(50) NOT NULL 机构名称Tel VARCHAR(15) NULL 办公电话Man VARCHAR(10) NULL 负责人College INT(10) NOT NULL 所属部门
15、表 3. 权限数据表(kjc_right)字段名 类型 是否非空 字段含义Id INT(10) NOT NULL 权限编号Name VARCHAR(50) NOT NULL 权限名称表 4. 角色数据表(kjc_role)字段名 类型 是否非空 字段含义Id INT(10) NOT NULL 角色编号Name VARCHAR(50) NOT NULL 角色名称Rights VARCHAR(200) NOT NULL 权限集合表 5. 人员数据表(kjc_people)9字段名 类型 是否非空 字段含义Id INT(20) NOT NULL 人员编号Wirkid VARCHAR(20) NOT
16、NULL 工号、登录用户名Password VARCHAR(20) NULL 登录密码Name VARCHAR(20) NULL 姓名Sex VARCHAR(2) NULL 性别Nation VARCHAR(50) NULL 民族Addr VARCHAR(100) NULL 籍贯Birth Date NULL 出生日期Certid VARCHAR(19) NULL 身份证号Post VARCHAR(50) NULL 职称Officetel VARCHAR(16) NULL 办公电话Mobile VARCHAR(15) NULL 手机Hometel VARCHAR(15) NULL 家庭电话Em
17、ail VARCHAR(100) NULL EmailDescs VARCHAR(200) NULL 备注Collegeid INT(10) NULL 所在学院Dpartmentid INT(10) NULL 所在科室Roleid INT(10) NULL 角色Speciality VARCHAR(200) NULL 所学专业Education VARCHAR(200) NULL 学历Politics INT(10) NULL 政治面貌Fromscholl VARCHAR(100) NULL 毕业学校Schooltime Date NULL 毕业时间表 6. 发布表(kjc_publish)字
18、段名 类型 是否非空 字段含义Id INT(10) NOT NULL 通知编号Title VARCHAR(200) NOT NULL 标题Content TEXT NULL 内容Back TEXT NULL 回复内容Addtime DATE NULL 发布日期Endtime DATE NULL 有效日期Froms INT NULL 发布人Tos INT NULL 接收人10Filesid VARCHAR(100) NULL 附件Model VARCHAR(1) NULL 模块类型Url VARCHAR(100) NULL 链接地址Ifto BOOLEAN NULL 收件人是否删除Ifpost
19、BOOLEAN NULL 发件人是否删除Ifreand BOOLEAN NULL 是否阅读表 7. 反馈表(kjc_back)字段名 类型 是否非空 字段含义Id INT(10) NOT NULL 编号Objectid INT(10) NOT NULL 对象编号Backs TEXT NULL 反馈内容Backtime DATE NULL 反馈时间Backer INT NULL 回复人Checks TEXT NULL 审查内容Checker INT NULL 审查人Checktime DATE NULL 审查时间Ifto BOOLEAN(100) NULL 收件人是否删除Ifread VARCHAR(1) NULL 是否已阅第四章 系统的设计与实现(一) 系统启动加载顺序1. 系统启动加载顺序如图所示