办公自动化系统的消息管理模块的设计与实现.docx
- 文档编号:8012813
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:30
- 大小:591.41KB
办公自动化系统的消息管理模块的设计与实现.docx
《办公自动化系统的消息管理模块的设计与实现.docx》由会员分享,可在线阅读,更多相关《办公自动化系统的消息管理模块的设计与实现.docx(30页珍藏版)》请在冰豆网上搜索。
办公自动化系统的消息管理模块的设计与实现
本科毕业论文(设计)
院系软件学院
题目办公自动化系统的消息管理模块的设计与实现
学生姓名马力学号071251100
年级2007级专业软件工程
指导教师职称
论文提交日期
摘要
伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。
办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。
JSP主要特点是在HTML页面中加入Java代码片段,或者使用各种JSP标签,包括使用用户标签,构成JSP网页。
Hibernate允许程序开发者采用面向对象的方式来操作关系数据库。
JavaMail是Sun公司为方便开发人员在应用程序中能够实现邮件发送和接受功能而提供的一套标准开发包。
本项目组由5人组成,完成了办公自动化系统的全部内容,本人完成了消息管理子系统(站内信方式和邮件方式),同时担当评审负责人。
关键词:
办公自动化系统项目,JSP,Hibernate,JavaMail
Abstract
Withtheadventofdigitalcommerce,enterprisemanagementandenvironmentalawareness,greatchangeshavetakenplace,theenterprise'smanagementstructureconsistsofamulti-levelstructureintoaflatmanagementstructure;thedigitalagethenumberofbusinesseslargeamountofinformationandcommunication,inordertoimproveenterprisemanagementefficiency,toimprovethequalityofcommunication,requiringbusinessofficeefficiency,automation,officeautomationsystemcameintobeing.Officeautomationsystemacrossthesystemmanagement,scheduling,attendancemanagement,informationmanagement,documentmanagement,andotherfiveareas.
MainfeaturesofJSPpagesinHTMLtoaddJavacodefragment,orusingavarietyofJSPtags,includingtheuseofuserlabelstoformJSPpage.Hibernateallowsapplicationdevelopersusingobject-orientedrelationaldatabaseapproachtotheoperation.Sun,JavaMailistofacilitatetheapplicationdeveloperscanrealizethefunctionofsendingandreceivinge-mailtoprovideasetofstandarddevelopmentpackage.
Theprojectgroupconsistsof5members,completedtheentirecontentsofofficeautomationsystem,Icompletedthemessagemanagementsubsystem(stationmodeandmailtheletter),alsoactasmoderator.
Keywords:
OA,JSP,Hibernate,JavaMail
第一章概述/绪论
1.1项目背景
信息工作是国家行政机关、高校、科研院所的一项重要的日常性工作。
随着我国加入WTO,改革开放的进一步深化,如何更有效、更快速地处理各种信息,实现办公自动化,己经成为一项一触即发的工作。
伴随着企业ERP(企业资源计划EnterpriseResoureePlanning)建设、政府电子政务建设的热潮,曾经淹没在Internet、.Com中的一个名词一一OA(办公自动化offieeAutomation,简称OA)开始再次引起人们的极大关注。
过去的十多年,网络技术飞速进步不断地丰富和延伸“办公自动化(OA)”的内容和指称的对象,也使得越来越多的单位认识到建设OA系统的重要性。
网络的发展拓展了OA的作用范围,现代意义上的基于网络的OA己不仅仅是提高打字录入、排版编辑这样的个人事务处理效率,甚至也不仅仅是实现公文收发、流转、签发、归档这样的群组工作效率。
事实上,网络时代的OA是一种企业级跨部门运作的基础信息系统,可以联结单位内各部门的各个人员,可以联结单位各类信息系统和信息资源。
OA系统的运行不仅应当适应单位为提高运作效率而进行的机构调整,而且还可能促进单位资源合理配置的进程。
即OA在模拟手工作业的同时,还将反作用于传统的办公流程。
其实,过去已有不少政府机关单位、大型企业开发了办公自动化系统。
由于历史的原因,这些系统大都是采用以关系型数据库为基础的MSI系统、在老版本的LotusNoteS平台上开发的办公自动化系统。
但是由于当时网络技术和信息管理软件本身的局限,这些办公软件存在许多缺陷已不能适应现代工作的要求。
如集成化程度低,资源共享不充分;缺乏韧性,对环境适应性差;特别是这些办公软件大多是静态的,仅能提供文档的存储、管理、查询。
远远不能适应网络化信息时代的要求,使其应用范围和效果很有限。
信息时代要求实现一个高度的办公自动化系统。
一个现代化的办公自动化系统应该能够显著提高办公效率,降低办公成本,充分利用内部资源,加快工作流程,适应环境的变化等。
[1]
伴随着数字商业的到来,企业的管理意识和环境都发生了巨大的变化,企业的管理结构由多层次结构向扁平化管理结构转化;数字时代企业的信息量和沟通数量巨大,为了提高企业的管理效率,必须提升沟通的质量,要求企业办公高效率、自动化,办公自动化系统应运而生。
办公自动化系统跨越系统管理、日程管理、考勤管理、消息管理、文档管理等五个领域。
1.2国内外办公自动化技术现状
国外的办公自动化研究一直处于领先地位。
用于开发办公自动化系统的国际主流平台LotusDomino/Notes,它所属的公司Lotus就在美国,现已属IBM公司的一个开发部门。
Lotus现在提倡第三代以知识管理为核心的办公自动化系统,并已提出了很多的知识管理解决方案,开发了相关的产品,而且国外其他的软件生产厂商也纷纷开发自己的知识管理平台,可以说以知识管理为核心的第三代办公自动化系统在国外得到了广泛的支持也在实际中取得了广泛的应用。
办公自动化在我国80年代中期就制定了办公自动的发展目标及远景规划,国务院办公自动化专家会议对办公自动化做了具体的定义。
现在国内的研究大部分还处在对怎样利用第二代办公自动化系统开发以工作流自动化为核心的办公自动化系统上,并且大多数采用的开发平台都是LotusDomino/Notes平台。
目前,第二代办公自动化系统在国内的一些单位、企业和学校得到了应用。
这些办公自动化系统都是基于LotusDomino/Notes平台的。
当前基于J2EE体系结构的网上办公自动化系统已有了迅速的发展。
J2EE作为一种成熟的、健壮的、功能强大的分布式企业级应用开发平台,经过几年的发展,己具有相当的成熟度,也拥有大量的客户,其优势在大型项目开发中体现尤为突出,国外不乏成功的案例。
国内对于Java技术的应用也越来越广泛,然而国内的信息化建设水平总体来说还很低,不论是技术上、管理上还是运作模式上都难于与国外比肩,因此对于新技术的引进、消化和吸收更具现实意义。
J2EE技术己经获得了各大开发平台提供商的支持,成为企业应用开发的主流平台。
进行应用开发时,协调好长远设计与短期需求之间的矛盾并不是一件容易的事。
而利用J2EE可以很好地解决这一问题,因为在J2EE中可以创建应用的每一层,每层之间是松藕合的,每一层可以单独进行修改扩展,来满足相关方面的需求。
[2]
办公自动化于50年代在美国和日本首先兴起,最初只是具有电子数据处理(EDP)的簿记功能,60年代被管理信息系统(MIS)取代,直到70年代后期才形成涉及多种技术的新型综合学科——办公自动化(OA)。
80年代,国外办公自动化得到了飞速发展,许多著名的计算机软硬件公司都跻身于这一巨大的市场。
进入90年代以来,办公自动化在世界主要发达国家得到蓬勃发展。
我国办公自动化是80年代中期才发展起来的。
1985年全国召开了第一次办公自动化规划会议,对我国办公自动化建设进行了规划。
1986年5月在国务院电子振兴领导小组办公自动化专家组第一次专家会议上,定义了办公自动化系统功能层次和结构模式。
随后国务院率先开发了“中南海办公自动化系统”。
我国OA的应用和发展历程,可以分为以下三个阶段:
第一代OA系统,是从20世纪80年代中期到90年代中期以个人电脑、办公套件为主要标志,实现了数据统计和文档写作电子化,即将办公信息载体从原始纸介质方式转向比特方式。
第二代OA系统,是从90年代中期开始的以网络技术和协同工作技术为主要特征,实现了工作流程自动化,即将收发文从传统的手工方式转向工作流自动化方式。
第三代OA系统,是融信息处理、业务流程和知识管理于一体的应用系统。
[3]
1.3论文主要工作/组织结构
本论文主要对实训中完成的办公自动化系统的背景进行了相关的阐述,对相关技术进行了介绍,结合技术对项目进行了分析,同时提出了总结与展望。
该论文主要由5个部分组成。
概述/绪论部分介绍了毕业设计项目的背景、国内外办公自动化技术的现状以及论文的主要工作。
技术概述部分是关于毕业设计项目中使用的技术的简介,主要包括J2EE、JSP、Javascript、Hibernate、Oracle11g以及JavaMail。
项目概述部分是关于毕业设计项目整体性一些介绍,主要包括任务描述和需求规约。
技术在项目中的应用部分详细论述自己在毕业设计项目中所做的设计与实现工作,体现技术概述部分所提到的技术在具体项目中的应用
总结与展望部分总结毕业设计项目的完成情况,以及展望进一步的工作方向。
总结包括整个项目组完成了哪些工作,以及自己完成了哪些工作;展望包括整个项目在进一步工作中还有哪些功能可以扩展,以及自己完成的那部分工作还可以如何扩展和完善等。
第二章相关技术概述
2.1J2EE技术
J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。
[4]
J2EE应用以其稳定的性能、良好的开放性及严格的安全性,深受企业应用开发者的青睐。
对于一个企业而言,选择J2EE构建信息化平台,更体现了一种长远的规划:
企业的信息化是不断整合的过程,在未来的日子里,经常会有不同乎台、不同系统的异构系统需要整合。
J2EE应用提供的跨平台性、开放性及各种远程访问的技术,为异构系统的良好整合提供了保证。
[5]
2.2JSP技术
图2.1JSP页面的工作原理
JSP是Servlet的扩展,在没有JSP之前,就已经出现了Servlet技术。
Servlet是利用输出流动态生成HTML页面,包括每一个HTML标签和每个在HTML页面中出现的内容。
由于包括大量的HTML标签、大量的静态文本及格式等,导致Servlet的开发效率极为低下。
所有的表现逻辑,包括布局、色彩及图像等,都必须糯合在Java代码中,这的确让人不胜其烦。
JSP的出现弥补了这种不足,JSP通过在标准的HTML页面中插入Java代码,其静态的部分无须Java程序控制,只有那些需要从数据库读取并根据程序动态生成信息时,才使用Java脚本控制。
从表面上看,JSP页面已经不再需要Java类,似乎完全脱离了Java面向对象的特征。
事实上,JSP是Servlet的一种特殊形式,每个JSP页面就是一个Servlet实例——JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。
JSP其实也是Servlet的一种简化,使用JSP时,其实还是使用Servlet,因为Web应用中的每个JSP页面都会由Servlet容器生成对应的Servlet。
对于Tomcat而言,JSP页面生成的Servlet放在work路径对应的Web应用下。
根据上面的JSP页面工作原理图(如图2.1所示),可以得到如下四个结论:
●JSP文件必须在JSP服务器内运行。
●JSP文件必须生成Servlet才能执行。
●每个JSP页面的第一个访问者速度很慢,因为必须等待JSP编译成Servlet
●JSP页面的访问者无须安装任何客户端,甚至不需要可以运行Java的运行环境,因为JSP页面输送到客户端的是标准HTML页面。
[6]
2.3JavaScript技术
JavaScript被用来改进设计、验证表单、检测浏览器、创建cookies等。
JavaScript是因特网上最流行的脚本语言,并且可在所有主要的浏览器中运行,比方说InternetExplorer、Mozilla、Firefox、Netscape、和Opera。
[7]
2.3.1JavaScript定义
∙JavaScript被设计用来向HTML页面添加交互行为。
∙JavaScript是一种脚本语言(脚本语言是一种轻量级的编程语言)。
∙JavaScript由数行可执行计算机代码组成。
∙JavaScript通常被直接嵌入HTML页面。
∙JavaScript是一种解释性语言(就是说,代码执行不进行预编译)。
2.3.2JavaScript应用
JavaScript为HTML设计师提供了一种编程工具
HTML创作者往往都不是程序员,但是JavaScript却是一种只拥有极其简单的语法的脚本语言!
几乎每个人都有能力将短小的代码片断放入他们的HTML页面当中。
JavaScript可以将动态的文本放入HTML页面
类似于这样的一段JavaScript声明可以将一段可变的文本放入HTML页面:
document.write("
"+name+"
")JavaScript可以对事件作出响应
可以将JavaScript设置为当某事件发生时才会被执行,例如页面载入完成或者当用户点击某个HTML元素时。
JavaScript可以读写HTML元素
JavaScript可以读取及改变HTML元素的内容。
JavaScript可被用来验证数据
在数据被提交到服务器之前,JavaScript可被用来验证这些数据。
JavaScript可被用来检测访问者的浏览器
JavaScript可被用来检测访问者的浏览器,并根据所检测到的浏览器,为这个浏览器载入相应的页面。
JavaScript可被用来创建cookies
JavaScript可被用来存储和取回位于访问者的计算机中的信息。
[8]
2.4Hibernate技术
2.4.1ORM简介
ORM(ObjectRelationMapping)指对象/关系映射。
ORM也可理解是一种规范,具体的ORM框架可作为应用程序和数据库的桥梁。
ORM并不是一种具体的产品,而是一类框架的总称。
它概述了这类框架的基本特征:
完成面向对象的程序设计语言与关系数据库的映射。
基于ORM框架完成映射后,既可利用面向对象程序设计语言的简单易用性,又可利用关系数据库的技术优势。
ORM框架是面向对象程序设计语言与关系数据库发展不同步时的中间解决方案。
[9]
2.4.2Hibernate概述
Hibernate是目前最流行的ORM框架,其采用非常优雅的方式将SQL操作完全包装成对象化的操作。
Hibernate是一个面向Java环境的对象/关系数据库映射工具。
对象/关系数据库映射(Object/RelationalMapping)表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
Hibernate的目标是:
释放开发者通常的数据持久化相关的编程任务的95%。
对于以数据为中心的程序而言,往往在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案。
但对于那些基于Java的中间件应用中,设计采用面向对象的业务模型和商业逻辑时,Hibernate是最有用的。
不管怎样,Hibernate能消除那些针对特定数据库厂商的SQL代码,并且把结果集由表格式的形式转换成值对象的形式。
Hibernate不仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度地减少在开发时人工使用SQL和JDBC处理数据的时间。
Hibernate能在众多的ORM框架中脱颖而出,因为Hibernate与其他ORM框架对比具有如下优势。
·开源和免费的License,方便需要时研究源代码、改写源代码并进行功能定制。
·轻量级封装,避免引入过多复杂的问题,调试容易,减轻程序员负担。
·具有可扩展性,API开放。
功能不够用时,可以自己编码进行扩展。
·开发者活跃,产品有稳定的发展保障。
[9]
2.4.3Hibernate的关系映射
关系是关系型数据库的最基本的特征,也是客观世界最基本,最抽象的。
关系可分为如下两个类。
·单向关系:
只需单向访问关联端。
·双向关系:
关联的两端可以互相访问。
单向关联可分为:
单向1-1;单向l-N;单向N-1;单向N-N
双向关联可分为:
双向1-1;双向l-N;双向N-N[10]
2.4.4Hibernate查询体系
HQL查询
HQL是HibernateQueryLanguage的缩写,HQL的语法很像SQL的语法,但HQL是一种面向对象的查询语言。
因此,SQL的操作对象是数据表和列等数据对象:
而HQL的操作对象是类、实例和属性等。
HQL是完全面向对象的查询语言,因此可以支持继承和多态等特征。
HQL查询依赖于Query类,每个Query实例对应一个查询对象,使用HQL查询按如下步骤进行:
(1)获取HibernateSession对象:
(2)编写HQL语句:
(3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象:
(4)如果HQL语句包含参数,调用Query的setXxx方法为参数赋值:
(5)调用Query对象的list等方法遍历查询结果。
条件查询
条件查询是更具面向对象特色的数据查询方式,通过如下三个类完成。
•Criteria:
代表一次查询。
•Criterion:
代表一个查询条件。
•Restrictions:
产生查询条件的工具类。
执行条件查询的步骤如下:
(1)获得Hibernate的Session对象。
(2)以Session对象创建Criteria对象。
(3)增加Criterion查询条件。
(4)执行Criteria的list等方法返回结果集。
SQL查询
Hibernate还支持使用SQL查询,使用SQL查询可以利用某些数据库的特性,或者用于将原有的JOBC应用迁移到Hibernate应用上。
SQL查询是通过SQLQuery接口来表示的,由于SQLQuery接口是Query接口的子接口,因此完全可以调用Query接口的方法。
执行SQL查询的步骤如下。
(1)获取HibernateSession对象。
(2)编写SQL语句。
(3)以SQL语句作为参数,调用Session的createSQLQuery方法创建查询对象。
(4)如果SQL语句包含参数,则调用Query的setXxx方法为参数赋值。
(5)调用SQLQuery对象的addEntity或addScal缸方法,将选出的结果与实体或标量值关联。
(6)调用Query的list方法返回查询的结果集。
数据过滤
数据过滤并不是一种常规的数据查询方法,而是一种整体的筛选方法。
通过过滤数据也可对数据进行筛选
过滤器的使用分成三步:
(1)定义过滤器,使用filter-def元素定义过滤器。
(2)使用过滤器,使用filter元素使用过滤器。
(3)在代码中启用过滤器。
[10]
2.5Oracle11g技术
Oracle11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。
相对过往版本而言,Oracle11g具有了与众不同的特性。
[11]
ORACLE7.X以来引入了共享SQL和多线索服务器体系结构。
这减少了ORACLE的资源占用,并增强了ORACLE的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。
提供了基于角色(ROLE)分工的安全保密管理。
在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。
支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。
提供了与第三代高级语言的接口软件PRO*系列,能在C,C++等主语言中嵌入SQL语句及过程化(PL/SQL)语句,对数据库中的数据进行操纵。
提供了新的分布式数据库能力。
可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。
[12]
2.6JavaMail技术
JavaMail是Sun公司为方便开发人员在应用程序中能够实现邮件发送和接受功能而提供的一套标准开发包,包括面向普通开发人员调用的API和实现了SMTP、POP3、IMAP、MIME等底层协议的服务提供程序。
[13]
SMTP:
简单邮件传输协议(SimpleMailTransferProtocol,SMTP)由RFC821定义,它定义了发送邮件的机制,在JavaMail环境中,基于JavaMail的程序将和因特网服务供应商ISP(internetServiceProvider’s)SMTP服务器通信.SMTP服务器会中转消息给接收方SMTP服务器以便最终让用户经由POP或者IMAP获得。
POP:
代表邮局协议(PostOfficeProto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 办公自动化 系统 消息 管理 模块 设计 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)