网络办公自动化平台设计与开发 | ||||||||||||||||
摘 要 随着全球信息化的迅猛发展,传统的办公方式已经落后于信息化发展的要求,必将被全新的办公方式取代。构建内部企业信息网(INTERNET),实现网络办公自动化(OA)已经成为一种迫切的要求。本系统借助计算机网络实现了协同办公,共享资源,信息高效传输等功能。 本论文所论述的系统是基于J2EE架构的高效率、高性能B/S模式系统。采用了JDBC、JSP、SERVLET、AJAX等JAVA技术进行设计开发。B/S特别适用于网上信息发布。受限于HTML语言的交互性差问题,输入输出的用户交互界面不能用纯INTERNET技术规范HTML/HTTP解决,因为INTERNET技术的主要应用是发布信息而不是输入输出,“浏览器”是用于“浏览”而非终端输入输出~所以为了解决浏览器和HTML页面的交互性差问题。J2EE为搭建具有可伸缩性、灵活性、易维护性的商务系统提供了良好的机制。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。因此用J2EE开发的B/S模式系统更具有良好的性能和良好的可维护性。 OA带给我们的不仅仅是办公事务上的轻松应对,实现办公流程的全程计算机化。更是一种全新的办公理念,是信息化社会发展的必然要求,是我们思维触角的无限延办公自动化系统的个人办公、会议管理、系统管伸。本系统经过调试运行实现了网络理等常用功能。 第1章 绪 论 1.1选题背景及其研究意义 [1]办公自动化(OfficeAutomation)是20世纪70年代中期发达国家迅速发展起来的一门综合性技术。我国的,,产业从80年代末发展至今,已从最初的提供面向单机的辅助办公产品,发展到面向企业级应用的大型协同工作软件。其发展过程大致分3个阶段。 第一阶段 以数据为处理中心的传统,,,系统它的最大特点是应用基于文件系统和关系型数据库系统,以结构化数据为存储和处理对象,强调对数据的计算和统计能力。其贡献在于把IT技术引入办公领域,提高了文件管理水平。但是这种方式缺乏对收发文等群组协作工作过程的处理能力,因而其自动化程度是有限的。 第二阶段 以工作流为中心的办公自动化系统办公自动化已实现了以工作流为中心。这种方式彻底改变了早期办公自动化的不足之处,以E-Mail文档数据库管理、复制、目录服务、群组协同工作等技术作支撑,以工作流为中心的第二代办公自动化系统包含众多的实用功能和模块,实现了对人、对事、对文档、对会议的自动化管理。与第一代办公自动化相比,第二代系统具有以网络为基础,以工作流自动化为主要的技术手段,缺少对知识管理的能力等特点。 第三阶段 知识管理技术为基础的自动化系统第三代,,的核心是知识,实现的基础是知识管理技术。知识管理是一个系统工程,可以帮助企业解决知识共享和再利用的问题,目标是将正确的知识传授给正确的人,使他们采取合适的行动,避免重复错误和重复工作。知识管理关注“如何获取、组织、利用和传播在企业信息系统和人们头脑中的知识”。第三代OA系统有几个显著的特点:实时通信,员工与专家可以网上实时交流,信息广泛集成的内容编目,知识门户的构造。第三代OA帮助企业从How To的过程转到Know的过程,将办公自动化系统由模拟手工作业向改变并提高手工作业效率的过渡。 计算机技术作为现代科学技术的基础和核心,已经而且将继续对人类文明社会的进步与发展产生深刻影响。当今世界上,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代化水平和综合国力的重要标志。当前越来越多的商业、企事业单位已经将计算机技术应用于日常的办公。利用计算机来实现办公管理能高效快捷的实现日常办公、日常工作理,从而节约大量人力物力降低公司成本,在这样的背景下,开发高效稳定的办公处自动化系统迫在眉睫。 1.2 选题现状及趋势 进入20世纪90年代中期以后,由于国内经济的飞速发展引发市场竞争的逐渐激烈,以及政府管理职能的扩大和优化,这一切导致政府和企业对办公自动化产品的需求快速增长。这时,办公自动化开始进入一个快速发展的阶段。国内专门从事软件开发的公司也逐渐成长起来,并专门为政府和企业订做办公自动化系统。由于这些系统是根据用户的具体需求开发的,所以需要功能比较完善,并能较好地满足用户的实际需要。但这是一个巨大而低效的,,市场,具体表现在投资大、效果不明显;水平低、重复建设多;硬件投入多、软件投入少;模拟手工作业增加管理负担等。这是因为开发商水平参差不齐,开发队伍组队模式不合理、缺乏开发办公自动化产品的经验、用户缺乏对办公自动化产品的认识等;部分软件产品质量不高,不顾中国企业的运作特点照搬国外技术,使得实施困难;对,,的理解起点不高,导致,,系统与其他系统集成度差;用户使用水平低,又不愿花太多的精力投入培训;售后服务不到位;定做开发又会因用户需求变化要对软件进行不断的修改维护。到最后,整个软件的性能和可使用性都大大降低,没有耐性的企业索性废弃掉从而导致项目失败。从技术来看,普遍存在如下缺点:为用户考虑的少,软件的柔性构造功能差。当前很多,,软件过分强调了软件之间功能的横向对比,为用户考虑的实际功能比较少,结果导致软件大而全,而真正为用户接受的功能模块很少。另一方面,软件的模块复用性很差,直接影响了软件的柔性构造功能,而当用户的需求改变时,哪怕是轻微的改变,都需要开发解决,从而影响了用户的使用效率,对开发商也是一个极大的负担。 办公自动化系统的发展恰好与数据、信息和知识的演变同步,即由以数据为主要处理内容的第一代商来办公自动化发展到以信息为主要处理内容的第二代办公自动化,再发展到以知识为主要处理内容的第三代办公自动化。办公自动化的三个发展阶段中完成了两个飞跃,即由数据处理向信息处理的飞跃,由信息处理向知识处理的飞跃。在办公自动化系统的发展中,使用办公自动化系统的人员范围逐步扩大,由氽业行政人员扩展到企业的管理层,再扩展到企业的全体员工。另外,在运作机制上,也是从办公室的结构化数据处理到企业内部和外部信息的处理,再到有用知识的处理。从简单的电子邮件、群件,到构建Web应用等各种方式中获取、存储、提炼和再用知识。OA办公系统的未来会更趋于智能化、功能化、高效率、高安全性发展。能为企业解决更多工作管理中所遇到的问题。 1.3 本文设计的主要内容 本系统主要有三个设计重点:1、个人办公 2、会议管理 3、系统管理 个人办公: 普通职员登陆到系统后,通过点击个人办公连接,进入个人办公页面。之后可以选择个人信息、日程安排、名片夹、公司通讯录、待办事项、在线信息进行办公。 会议管理: 部门领导登陆到系统后选择会议管理,进入会议管理页面。在会议管理页面中可以增、删、改、查会议。 系统管理: 系统管理员登陆到系统后,点击系统管理,进入系统管理页面。可以选择部门管理、角色管理、职员管理进行系统维护。 第2章 系统分析 2.1 需求分析 2.1.1 用户特点 用户为一般企业上班人员可根据自己的系统权限进入相应的操作页面进行相关操作。因为系统对办公进行了更人性化的设计,所以对用户要求会基本的电脑知识,对常用办公软件有一定了解。而对系统管理员要求要高一点,他需要具备一定的文化水平和专业的计算机软硬件技术知识,负责赋予用户的权限,拥有相应的权限才能进行相应的操作。 2.1.2 性能需求 (一)时间要求 操作及运行响应时间,满足普通人员的操作和查询要求;更新处理时间,在局域网数据库在网络无故障的情况下,插入一条数据和更新一条数据的数据库操作响应时间控制在2秒/条之内;数据交换过程控制在10秒钟内。 (二)安全性 为了保证其正常和安全的运行,将采用防火墙,防病毒保护等技术,利用防火墙技术通过IP过滤和代理服务器软件方法保护服务器中的数据,只有授权用户才能获准访问服务器。而且会将数据库定期备份,以防数据库遭受意外的损害。 2.1.3 运行环境 操作系统 Windows Server 2000 简体中文 数据库平台 oracle 9.2 简体中文 应用平台 tomcat 6.0 简体中文 客户端软件 MS IE 6.0 简体中文 表2-2硬件环境 服务器 最低配置 推荐配置 应用和数1CPU:P4 2.0G 1CPU:P4 2.8G 据库服务Mem:512M Mem:2G 器 HD:40G HD:120G 2.1.4 功能需求分析 (1)个人办公 在本系统中为员工日常办公常用功能,包括个人信息维护、日程安排、名片夹、通讯录,并且能够查看个人的待办工作、已办工作。当个人忘记密码时,由其通过电话向系统管理员请求修改密码。 个人信息 为员工提供包括密码、自我介绍、兴趣爱好、联系方式等个人信息维护的功能。此模块包含的功能有:个人信息维护、查看他人信息。 工作安排 为员工提供日程安排维护和查询功能,系统根据设定时间将提示内容发布到该员工的日程安排中。员工可以设置自己的日程安排的读者,以便别人知道自己的安排;也可以将自己的日程安排权限开放给指定的人,以便别人替自己安排工作。此模块包含的功能有:读者设置、代办设置、日程安排、综合查询和日历查看。 名片夹员工对自己的通讯录进行管理。可设置私有或共享。可直接点击发邮件。 此模块包含的功能有:名片夹分类、个人名片夹。名片夹内容包括:人员姓名、所属部门、职位、联系方式。 公司通讯录 系统管理员维护整个公司的组织机构和联系方式,公司人员可以查询通讯录并导出到Excel文件。 待办事项 列出所有传送给当前用户但该用户尚未签收处理的工作、收到留言、日程安排。待办事项模块包括的功能有:待办工作清单。待办事项包括工作发出人、收到人、工作发出时间。 在线信息 指利用系统短消息功能发送的通知。用户点击在线信息后,弹出新窗口显示该信息的详细内容。在查看信息的页面可以选择已阅,对于已阅的在线信息不再显示。此模块包含的功能有:草稿箱、已发送、未阅留言、全部留言。在线信息包括消息发出人、收件人、消息发出时间、消息是否发送、消息是否已读。 个人文件夹 在服务器上提供个人文件夹;文件夹大小由系统管理员设定;个人可将文件上传至个人文件夹中。个人文件夹可由使用者设置共享功能。此模块包含的功能有:我的文件夹、共享目录。 (2)会议管理 会议发起人能够查询到别的系统的会议室的安排情况,以便发起网络会议。由管理员对会议室进行管理,员工使用会议室时进行预约,由管理员统一安排。并且提供对会议通知发布和会议记录提交功能。 会议室管理 包括设施分类维护、会议室设施管理、会议室管理、会议室预定审批和会议室使用报表功能。会议室的属性包括会议室名称、会议室地点、是否被预定、能容纳人数、有无空调。 会议管理 各部门领导对会议和会议记录进行维护包括增加、修改、删除、查询等功能。与会者可以查询会议并查看会议记录。 (3)系统管理 系统管理员进行后台管理的模块,包括组织管理、安全控制。维护的是企业、公司的组织结构、角色划分、人员信息的功能。包括部门维护、角色维护、员工信息维护。 部门管理 部门管理是对公司部门进行维护管理的模块,包括新增部门、修改部门、删除部门、部门列表等。 角色管理 本系统包含的角色有普通员工、领导 (除普通员工外都归为领导)、系统管理员。 角色管理包括新增角色、修改角色、删除角色、角色列表、分配角色等。 员工管理维护内容包括员工的基本信息、员工所属部门、员工职位、员工在系统中的角色。包括增加员工信息、修改员工信息、删除员工信息、查询员工信息等功能。 2.2 可行性分析 可行性研究目的是:说明软件开发项目的实现在技术、经济和社会条件方面的可行性;同时也是对以后的设计提出建议及解决的方法等,也增加对要完成的系统更加的了解,对以后的软件开发更加得心应手。 (1)技术可行性 [2]J2EE是Java2平台企业版(Java 2 Platform,Enterprise Edition)。J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。利用简单的HTML代码与脚本融合而成的JSP技术基于J2EE可以开发强大的Web应用程序。 (2)经济可行性 确定C/C++和Java开发的总体拥有成本是一个复杂的方程式,其中涉及从多因素,包括开发时间、维护的简易性、开发人员的利用率、以及软件许可和支持等固定开销。最近,Evans Data Corporation对C/C++和Java开发人员的调查显示,人们普遍认为Java更具经济性。其原因是,Java允许更快速的部署和维护,而C/C++要多花50%的时间。 第3章 系统设计 3.1 系统总体设计 系统总体设计是从全局上把握整个系统,在已有的需求分析基础上,设计整个系 [3]统的框架模块。本系统有三个功能模块如下图: 3.2 系统概要设计 由于该系统是我们团队开发,所以我只是开发了系统的一部分模块,下面介绍我做的模块的详细设计。 3.2.1协同工作功能设计 在本系统中为员工日常办公常用功能,包括个人信息维护、查看他人信息、日程安排、名片夹、通讯录、查看会议,并且能够查看个人的待办工作、已办工作。作为部门领导还可以发起会议,并对会议和会议室进行管理。由于该系统是我们团队开发, [4]所以我只是开发了系统的一部分模块,下面介绍我做的模块的详细设计。 (1)在线信息子功能 指利用系统短消息功能发送的通知。用户点击在线信息后,弹出新窗口显示该信息的详细内容。在查看信息的页面可以选择已阅,对于已阅的在线信息不再显示。此模块包含的功能有:草稿箱、已发送、未阅留言、全部留言。 草稿箱功能 处理流程: 1. 系统确认用户登录后,接受用户的触发点击“草稿箱”链接,进入草稿箱编辑界面。 2. 根据用户选择的功能分别跳转进入相应的信息写留言、删除、修改、查询等。 3. 用户选择“写留言”功能,系统验证新建信息完整且正确,将信息加入数据库,并由用户选择是否发送给目标。 4. 用户选择“删除”功能,系统给出删除文件的提示,用户确认后删除信息。 5(用户选择“修改”功能,系统验证修改后信息完整正确,更新数据库中信息。 6(用户选择“查询”功能,系统验证查询条件完整且正确,从数据库中查询,显示查询结果。 11 7.用户选择“发送”功能,系统验证发送信息完整且争取,存入数据库。 [5]总体结构和外部设计: 1.将所涉及到的数据项封装到Message对象类中。 2.通过功能类MessageManage中的具体方法实现相关的操作。 操作过程中的异常将由各方法抛出到Exception类处理。 3. 功能分配: 1.Message类封装欲处理的数据。 2.MessageManage类实现对留言的增加、删除、修改、查询功能。 ”的功能。 a. 通过MessageManage中addMessage()方法实现“写留言b. 通过MessageManage类中searchMessage()方法查询留言。 c. 通过MessageManage类中deleteMessage()方法删除选定的留言。 d. 通过MessageManage类中editMessage()方法修改选定的留言。 3.Exception类处理相应的异常。 已发送信息功能 处理流程: 1. 系统确认用户登录后,接受用户的触发点击“已发送”链接,进入已发送留言界面。 用户可以查询已发送留言。 2. 3.用户可以删除已发送留言。 总体结构和外部设计: 1.通过录入条件,查询所需要的已发送留言。 2.通过MessageManage类完成已发送留言工作。 功能分配: 1.MessageManage类中searchMessage()方法查询已发送留言。 2.MessageManage类中deleteMessage()方法删除选定的已发送留言。 未阅留言功能 处理流程: 1.系统确认用户登录后,接受用户的触发点击“未阅留言”链接,进入未阅留言界面。 2.用户从界面显示的所有未阅留言中查看留言。 3.用户可以回复留言。 4.用户也可以删除留言。 总体结构和外部设计: 1.通过选择业面显示的未阅留言,确定要读的留言。 2.通过MsgManage类完成未阅留言工作。 功能分配: 方法查询留言。 1.MessageManage类中searchMessage()2.MessageManage类中deleteMessage()方法删除留言。 3.MessageManage类中replyMessage()方法回复留言。 4.MessageManage类中seeMessage()方法查看留言。 全部留言功能 处理流程: 1.系统确认用户登录后,接受用户的触发点击“全部留言”链接,进入全部留言界面。 2.系统会列出用户所有的留言。 3.用户可以查询所需要的留言。 4.用户可以查看选定的留言。 5.用户可以回复留言。 6.用户可以删除选定的留言。 总体结构和外部设计: 1.通过选择业面显示的全部留言,确定要读的留言。 2.通过MessageManage类完成全部留言工作。 功能分配: 1.MessageManage类中searchMessage()方法查询留言。 2.MessageManage类中deleteMessage()方法删除留言。 3.MessageManage类中replyMessage()方法回复留言。 4.MessageManage类中seeMessage()方法查看留言。 (2)文件夹功能在服务器上提供个人文件夹;文件夹大小由系统管理员设定;个人可将文件上传个人文件夹中;个人文件夹可由使用者设置共享功能。此模块包含的功能有:我的件夹、共享目录。 网络文件夹功能 处理流程: 1.系统确认用户登录后,接受用户的触发点击“网络文件夹”链接,进入网络文件夹界面 2.用户通过点击左侧文件夹目录树,在右侧窗口中显示点击文件夹的子文件夹信息 和所包含文件目录。 3.用户点击添加新文件夹,导向添加新文件夹页面,填写文件夹名称,选择上级目 录名称后提交,增加新文件夹。 4.在每个文件夹的子文件夹和文件列表中,复选框中选择后点击删除,用户确认后 删除信息,系统删除文件夹或文件。 5.用户点击每个文件夹或文件项编辑,导向文件夹或文件编辑,修改文件夹信息或 文件信息提交,系统修改文件夹或文件信息。 6.用户点击文件浏览,选择上传文件,提交后,文件上传到服务器。 总体结构和外部设计: 1.WebFolder递归调用添加、显示、编辑、删除子文件夹。 2.WebFolder操作FileManage实例化File进行文件操作。 3.操作过程中的异常将由各方法抛出到Exception类处理。 功能分配: 1.WebFolder文件夹实例类,递归查找子文件夹。 2.WebFile。文件实例类,与数据库映射。 3.FolderManage设置文件夹的增删改查。 4.FileManage提供文件的上传,文件信息的显示、修改和删除。 文件夹共享功能 处理流程: 1.系统确认用户登录后,接受用户的触发点击“个人文件夹”链接,进入个人文件夹界面。 2.用户通过点击左侧文件夹目录树,在右侧窗口中显示点击文件夹的子文件夹信息 和所包含文件目录。 3.用户进入共享目录,选在要维护的文件夹,添加,修改和删除共享文件夹,系统 验证添加信息,系统导向共享文件夹界面。 4.用户进入我的文件夹界面,设置文件共享属性,系统导向我的文件夹界面。 总体结构和外部设计: [6]1.WebFolder递归调用显示文件夹树形结构。 2.FolderManage设置添加,删除,修改文件夹的共享和共享权限。 3.操作过程中的异常将由各方法抛出到Exception类处理。 功能分配: 1.WebFolder文件夹实体类,递归查找子文件夹。 2.FolderManage设置文件夹的共享和共享权限。 3.2.2系统管理功能设计 指管理员登陆后,对部门各个模块进行管理,分别可以对部门,用户,角色进行相关管理。此模块功能点:管理部门,管理用户,管理用户角色。 (1)管理部门功能 处理流程: 1.系统管理员登陆后,点击部门管理,进入部门管理界面。 2.根据管理员选择的管理功能分别跳转进入相应的部门新建、删除、修改等。 3.选择部门“新建”功能,系统验证新建信息完整且正确,将信息加入数据库。 4.选择部门“删除”功能,系统给出删除部门的提示,用户确认后删除信息。 5.选择部门“查询”功能,系统列出部门信息。 6.选择部门“修改”功能,系统列出相关部门信息,管理员进行修改,系统证修改 后信息完整且正确,更新数据库中信息。 总体结构和外部设计: 1.将所涉及到的数据项封装到Department对象类中。 2.通过功能类DepartmentManagement 中的具体方法实现相关的操作。 3.操作过程中的异常将由各方法抛出到Exception类处理。 功能分配: 1.Department类封装欲处理的数据。 2.DepartmentManagement类实现对部门的增加、删除、修改、查询功能。 3.Exception类处理相应的异常。 )管理角色功能 (2 处理流程: 1.系统管理员登陆后,点击角色管理,进入角色管理界面。 2.根据管理员选择的管理功能分别跳转进入相应的用户”分配角色”功能。 3.选择角色"分配角色"功能,系统列出相关角色以及用户信息,管理员进行修改,调整用户的角色,系统验证分配后信息完整且正确,更新数据库中信息。 总体结构和外部设计: 1.将所涉及到的数据项封装到Role对象类中。 2.通过功能类RoleManagement 中的具体方法实现相关的操作。 3.操作过程中的异常将由各方法抛出到Exception类处理。 功能分配: 1.Role类封装欲处理的数据。 .RoleManagement类实现对系统角色的分配功能。 2 3.Exception类处理相应的异常。 (3)管理用户功能 处理流程: 系统管理员登陆后,点击用户管理,进入用户管理界面。 1. 2.根据用户选择的管理功能分别跳转进入相应的用户"新建","删除","查询","修改"功能。 3.选择用户"新建"功能,系统验证新建信息完整且正确,将信息加入数据库,并由系统管理员确认。 4.选择用户"删除"功能,系统给出删除用户的提示,用户确认后删除信息。 5.选择用户"查询"功能,系统列出用户信息。 6.选择用户"修改"功能,系统列出相关用户信息,管理员进行修改,系统验证修改后信息完整且正确,更新数据库中信息。 7.把用户添加到一个部门功能,addUser()实现给用户添加到一个部门中,通过查询数据库,查找部门的树型结构实现。 8.选择"给用户添加角色",选择相应的角色,系统验证新建信息完整且正确,更新数据库信息。 总体结构和外部设计: 1.将所涉及到的数据项封装到User对象类中。 2.通过功能类UserManagement 中的具体方法实现相关的操作。 3.操作过程中的异常将由各方法抛出到Exception类处理。 功能分配: 1.User类封装欲处理的数据。 2.UserManagement类实现对用户的增加、删除、修改、查询功能。 3.Exception类处理相应的异常。 3.3 数据库设计 3.3.1数据库的概念模型 概念模型是对真实世界中问题域内的事物的描述。它不依赖于具体的计算机系统,而是纯粹反映信息需求的概念结构。建模是在需求分析结果的基础上展开, [7]常常要对数据进行抽象处理。用PowerDesigner设计本系统的概念模型如图3-4: 3.3.2数据库的物理模型 根据系统概念模型设计出系统的物理模型如图3-5: 3.3.3数据库的表设计 本系统的数据表包括:用户表、角色表、部门表、代理表、读者表、消息表、名片夹分类表、名片表、工作表、会议表、会议室表、文件夹表、文件表等。表的具体信息如下: 第4章 系统功能实现 本系统是用MyEclipse开发的基于J2EE架构的高效率、高性能B/S模式系统。当数据库和JavaBean的get、set及构造方法设置好以后,对三大模块的每一个来说都有类似的操作:第一,DAO层的实现需要用到JDBC;第二,页面发出请求到Servlet里进行页面的跳转和将调用后台得到的数据传输到页面;第三,页面根据JSP的内置对象接收并显示数据;第四,不同系统之间数据的查询等操作需要用到Web Service。 4.1 开发模式和工具介绍 4.1.1 B/S简介 B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript„)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。 图4-1 B/S结构图 4.2.2 J2EE简介 [8]J2EE 是Java2平台企业版(Java 2 Platform Enterprise Edition)。 J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全与再用价值。J2EE核心是一组技术规范与指南,其中所包含的各类组件、服务架构及技术层次,均有共通的标准及规格,让各种依循J2EE架构的不同平台之间,存在良好的兼容性,解决过去企业后端使用的信息产品彼此之间无法兼容,导致企业内部或外部难以互通的窘境。 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlets API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。 4.2.3 MyEclipse 简介 MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。 在结构上,MyEclipse的特征可以被分为7类:J2EE模型、WEB开发工具、 EJB开发工具、应用程序服务器的连接器、J2EE项目部署服务、数据库服务、MyEclipse整合帮助。对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任意模块进行单独的扩展和升级。 4.2.4 ORACLE数据库简介 [9]Oracle的关系数据库是世界第一个支持SQL语言的数据库。1977年,Lawrence J.Ellison领着一些同事成立了Oracle公司,他们的成功强力反击了那些说关系数据库无法成功商业化的说法。Oracle 是一个对象关系数据库管理系统。它提供开放的、全面的、和集成的信息管理方法。每个Server由一个 Oracle DB和一个 Oracle Server实例组成。它具有场地自治性(Site Autonomy)和提供数据存储透明机制,以此可实现数据存储透明性。每个 Oracle数据库对应唯一的一个实例名SID,Oracle数据库服务器启动后,一般至少有以下几个用户:Internal,它不是一个真实的用户名,而是具有SYSDBA优先级的Sys用户的别名,它由DBA用户使用来完成数据库的管理任务,包括启动和关闭数据库;Sys,它是一个 DBA用户名,具有最大的数据库操作权限;System,它也是一个 DBA用户名,权限仅次于 Sys用户。 4.2 主要模块实现 模块实现是在前面的系统的设计分析之后来具体完成该系统的功能。下面介绍我所实现的模块。 4.2.1 系统管理 系统管理指管理员登陆后,对部门各个模块进行管理。包括管理部门,管理用户,管理用户角色。 (1)部门管理 系统管理员登陆后点击部门管理,可进行部门修改,删除,增加新部门等功能。页面如下: 系统管理员登陆后点击用户角色管理,可对员工重新设定角色。页面如下: (3)用户管理 系统管理员登陆后点击用户管理,可对员工进行修改、删除、新建员工具体页面如下: 4.2.2 个人办公 当一般用户登陆系统后就进入个人办公系统个人办公包括:个人信息、工作安排、名片夹、待办事项、在线信息、个人文件夹、公司通讯录,会议管理等功能,页面如下: (1)在线信息 在线信息模块是为企业内部员工提供发送消息,和领导安排会议后通知参会人员的功能,当有新的消息时系统将提示有新的消息。该模块包括新建留言、查看未读留言、收件箱、发件箱、草稿箱等功能。具体页面如下: (2)个人文件夹 个人文件夹模块是为员工存储文件提供服务的,用户可以上传、下载文件,也可以将文件夹设为共享文件夹供他人下载。具体页面如下: 第5章 系统测试 [10]系统开发完成后,在软件开发阶段的最后一步工作就是对系统进行测试。软件测试需经过制定测试计划,设计测试用例和填写测试报告等过程。 5.1 软件测试基础 软件测试是为了发现程序中的错误。软件测试的过程亦是程序运行的过程,为测试设计的数据称测试用例。设计测试用例的原则是尽可能多地暴露程序错误。 (1)软件测试过程 软件测试是一个复杂的过程,需要从单元测试开始,一级一级向外扩展,直至整个系统测试完毕。前面介绍的UML模型是测试阶段的依据。使用类图进行单元测试,使用组件图、协作图进行集成测试,使用用例图和业务流程图进行确认测试,以检验测试结果是否符合用户的需求。如图5-1所示。 软件测试过程通常包括以下活动: (1)根据“需求分析规格说明书”制定软件测试计划; 2)设计测试用例; ( (3)实施测试; (4)提交测试报告。 需求分析系统设计系统实现 业务流程图序列图类图协作图用例图 确认测试集成测试单元测试 图5-1 测试与开发的关系 (2)软件测试技术 [8]软件测试技术主要有白盒测试和黑盒测试两大类。 白盒测试又称结构测试,是根据被测对象操作的逻辑结构设计测试用例;黑盒测试又称功能测试,把被测对象看成一个黑盒子,依据“需求规格说明书”,检查对象的操作是否满足功能要求。实际测试中,在进行单元测试、集成测试、确认测试时常采用黑盒测试法。如果发现错误,再采用白盒测试进行调试。 (3)测试用例 在软件测试过程中需要按照一定的策略选择一组能够充分暴露程序可能发生错误的输入数据,观察程序的实际输出是否与预期结果一致。因此测试用例由输入值和期望值组成。 (4)测试流程 软件测试过程按测试的先后次序可以划分为单元测试、集成测试、确认测试和系统测试和验收测试。 (1)单元测试。单元测试元素是对象,主要测试封装在对象中的属性和操作,目的是保证每个对象单独运行正确,类图是单元测试的基础。 (2)集成测试。集成测试是测试类之间相互作用的正确性,主要对类对象之间的消息进行测试。顺序图和协作图是集成测试的基础。 (3)确认测试。通过集成测试之后,类可以完全组装起来,消息传递错误已经被排除,确认测试即是检验软件功能是否满足用户的需求。用例图和业务流程图是确认测试的基础。确认测试是以“需求规格说明书”为基准进行的。 (4)系统测试。 (5)验收测试。检验软件产品质量的最后一道工序是验收测试。验收测试分为α测试和β测试。 5.2 系统测试 (1)测试方案 1.程序安装 将经过编译打包后的用户端程序与服务器端程序正确安装到制定的多用户测试环境中,该环境与程序实际运行环境一致。 2.单元测试 选择系统管理员登陆系统进行相关测试: 部门进行增加、修改、删除操作。 原有员工进行角色设置操作。 维护员工信息包括添加新员工、修改员工信息、删除员工等操作。 选择普通员工登陆系统进入个人办公模块进行相关测试: 测试个人信息模块包括查看个人信息并进行修改等测试、查看他人信息。 测试工作安排模块包括权限设置和取消、日程安排等操作。 测试名片夹模块包括名片夹分类的增、删、改和名片的增、删、改、查。 测试待办事项模块包括待办事项的查询、更改状态。 测试在线信息模块包括发送新消息,发件箱、收件箱、草稿箱等。 测试文件夹模块包括文件夹得增、删、改、查和文件的上传下载。 测试通讯模块包括通讯录的查询修改等。 测试会议室功能,普通用户的会议室模块只能查询会议安排。 选择领导角色登陆系统进入个人办公模块进行相关测试:领导登陆后与普通员工 的差别在于领导可以对会议室以及会议进行管理。 3.集成测试 集成测试主要按照顺序图和协作图集成测试单元测试的内容。 4.确认测试 对照“需求规格说明书”规定的要求,按照用例图进行检查,确定其是否满足用户的所有功能、性能的要求。若满足要求即通过测试,否则填写问题报告,交程序员修改。 (2)测试用例 测试用例主要是选取实例对个模块进行测试的过程。在进行测试的时候我建立了开发部等部门和李某某等用户对系统进行了各种测试基本完成了各项功能。 (3)测试报告软件测试报告主要用来记录程序运行过程存在的问题和测试结果,并提交程序员,用以修改和完善程序。软件测试报告通常包括项目编号、项目名称、程序编号、程序名称、程序员姓名、测试员姓名、测试日期和测试项目记录等内容。 1.程序安装程序运行环境已经正确设定,有IE浏览器即可,无需安装客户端。 2.单元测试 系统管理员登陆系统模块测试结果: 增加了开发部、销售部等部门数据库和页面显示部门正常。 增加李某某、杜某某等用户并对其进行了修改均得出正确结果。 用李某某的ID登陆普通员工个人办公模块进行相关测试结果: 查看到个人信息与数据库里的一致并进行了修改均正常和能查询到系统其它用 户的资料信息。 增加一些工作安排在系统中能进行修改、删除、查询等操作均通过测试。 名片夹分类的增、删、改和名片的增、删、改、查等操作均通过测试。 查询到未完成的工作通过测试。 发送新消息,发件箱、收件箱、草稿箱等均通过测试。 向服务器上传下载文件均能通过。 能在通讯录中查询到所查询满足查询条件。 当该用户的角色为领导的时候能安排会议和管理会议室、会议等 。 3.集成测试 系统集成后系统能够正常运行,但是仍然存在一些不足需要进一步完善。 4.确认测试 OA的三个系统的业务流程及相关数据核查结果均正常。 结 论 本系统成功的实现了一个商业办公自发动化系统的基本功能。从数据库的设计开始,到具体类的实现,页面的跳转和数据的接收显示,每一个软件都设计了具体的功能模块来实现。但是本系统的安全系数还不够高,功能还不够完善,仍存在较多的不足之处,有待进一步的改进。通过这次的毕业论文设计,使以前所学的知识得到了进一步的巩固,比如说:如何使用JDBC访问数据库,如何使用JavaScript和JSP内置对象实现页面的初始化,sql语句的关联查询和嵌套查询等等。此次项目完成后,对基于J2EE的一些技术有了新的认识,学到了很多新的知识,收获非常大。 致 谢 在论文完成之际,我的心情万分激动。从论文的选题、资料的收集到论文的撰写编排整个过程中,我得到了官礼和老师的热情帮助和精心指导。为我指出错误,让我及时对其做出修改。导师渊博的专业知识,严谨的治学态度,精益求精的工作作风,诲人不倦的高尚师德,严以律己、宽以待人的崇高风范,朴实无华、平易近人的人格魅力对我影响深远。不仅使我树立了远大的学术目标、掌握了基本的研究方法,还使我明白了许多待人接物与为人处世的道理。这一路,官老师悉心地指导,倾注了大量的心血,在此,谨向导师表示崇高的敬意和衷心的感谢。
|