 
         
         
         
         
        版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 福建工程学院Java面向对象程序设计课程设计 题 目 电子办公自动化管理系统 专 业 信息与计算科学 班 级 计算科学1301 学 号 3131301130,3131301115,3131301109 学生姓名 方松,黄晓林,李航 指导教师 编写日期 目 录1 前言12 需求分析12.1 任务和要求12.2 运行环境12.3 开发工具13 分析和设计13.1 系统分析及设计思路13.2 主要类图13.3 系统流程74 具体代码实现85 课程设计总结255.1 程序运行结果或预期运行结果255.2 设计结论27参考文献27致 谢291 前言办公自动化(OA-Office Automation)
2、是将现代化办公和计算机网络功能结合起来的一种新型的办公方式,是当前新技术革命中一个非常活跃和具有很强生命力的技术应用领域,是信息化社会的产物。通过网络,组织机构内部的人员可跨越时间、空间协同工作。通过OA系统所实施的交换式网络应用,使信息的传递更加快捷和方便,从而极大地扩展了办公手段,实现了办公的高效率。 现在所说的办公自动化,应该是以网络为依托,在企业内部进行畅通的信息交流。在这种模式下,企业成为一个大办公室,它所属的财务、人事、行政、业务等部门都成为企业信息流中的一个环节,而不再是单个的信息孤岛。依靠这种模式,企业的组织结构能够得到简化,各个部门在信息共享的基础上进行协作,便于明确各个部门
3、甚至每个员工的责任,而决策层可以迅速综合来自各个方而的信息,并此为依据制定企业的战略决策。没有人怀疑计算机的出现给办公室职员带来的便利,但是对现代的办公自动化而言,其目的已经不局限于减轻员工的工作量,而是要将员工从繁琐的事务性工作中解放出来,用更多的精力去关注最重要的事情,从而提高企业的效率,增强企业的综合竞争能力。 随着计算机网络技术的发展及企业管理模式的不断变化,目前,以传统客户/服务器模型设计的办公自动化系统已不能很好满足网络办公的需求,难以充公整合新技术的特点,进而无法充分发挥新管理模式的优势,并且要针对不同的运行环境及操作系统开发不同版本的客户端,大大增加了系统的开发难度和更新周期。
4、本文从企业的实际情况出发,在用户需求分析的基础上,提出企业办公自动化系统的基本目标,并阐述系统结构设计和功能设计,设计了一种基于WEB的网络办公自动化系统,系统建立在Browser/Servr/Database三层构架之上,并且本系统采用MVC(Model,View,Controller)三层架构,从而使Business层和Web层得到了很好的分离,并且本系统采用了可跨平台的Java语言作为主要开发语言,并使用了基于MVC三层架构的Struts框架和实现了O/R(Object/Relation)的Hibernate框架等J2EE的主流框架,并对本系统进行了国际化,从而大大增加了系统的灵活性和可
5、扩展性。并且本系统采用Mysql数据库,从而降低了对运行环境配置的要求。2 需求分析2.1 任务和要求2.1.1:验证说明本系统所有功能在客户端都应有相应验证功能,验证成功才可以提交表单,验证不通过必须重新输入,提交到服务器后处理,处理出错要转到统一出错提示页2.1.2需求规定用户登陆名称用户登录操作角色系统用户功能描述1. 用户输入用户名、密码、验证码后登录。2. 登录成功后功能菜单动态生成3. 登录成功后首页显示公告、内部邮件最新10条信息,其它更多的信息为更多的方式查看。用户退出名称登录用户退出操作角色系统用户功能描述已登录的用户退出用户管理名称用户管理操作角色系统管理员功能描述1. 用
6、户的增加、删除、修改、查询(按用户账号或姓名模糊查询、按所属部门精确查询)2. 修改密码:允许用户修改自己的登录密码, 只能当前登录用户自己修改密码角色管理名称角色管理操作角色系统管理员功能描述1. 角色的增加、删除、修改、查询(按角色名称查询,支持模糊查询)2. 角色列表有分页功能菜单管理名称菜单管理操作角色系统管理员功能描述菜单的大类/小类添加、编辑、删除、排序功能电子公告栏名称电子公告栏操作角色系统管理员及具有该操作权限的用户功能描述1. 公告的发布、修改、删除、审核、查询(按公告主题模糊查询、有效时间区间查询)内部邮件名称内部邮件操作角色系统用户功能描述1. 发送邮件,收件箱,垃圾箱,
7、草稿箱,已发邮件2. 所有各箱中的邮件列表都有点击链接并查看详细信息功能3. 邮件若有附件,均可执行下载功能数据字典名称数据字典操作角色系统管理员功能描述主要实现系统常用数据的增删改(如:省份,部门,职务等)2.2 运行环境(1)WINDOWS10/7系统(2) myeclipse,oracle2.3 开发工具Java ,jdk,tomcat3 分析和设计3.1 系统分析及设计思路3.1.1系统的理论基础(1)Struts2Struts是一种实现了MVC模式的框架,全部的请求都由一个被称为ActionServlet的Servlet来接收并控制。Struts并没有取代Jsp,Servlet,只是
8、将其组织起来。 Struts2框架结构图:一个请求在Struts2框架中的处理大概分为以下几个步骤 1 客户端初始化一个指向Servlet容器(例如Tomcat)的请求2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action 4 如果ActionMapper决定需要调用某个Action,F
9、ilterDispatcher把请求的处理交给ActionProxy 5 ActionProxy通过Configuration Manager询问框架的配置文件,找到需要调用的Action类 6 ActionProxy创建一个ActionInvocation的实例。7 ActionInvocation实例使用命名模式来调用,在调用Action的过程前后,涉及到相关拦截器(Intercepter)的调用。 8 一旦Action执行完毕,ActionInvocation负责根据struts.xml中的配置找到对应的返回结果。返回结果通常是(但不总是,也可 能是另外的一个Action链)一个需要被表
10、示的JSP或者FreeMarker的模版。在表示的过程中可以使用Struts2 框架中继承的标签。在这个过程中需要涉及到ActionMapper在上述过程中所有的对象(Action,Results,Interceptors,等)都是通过ObjectFactory来创建的。Struts开源架构很好的实现了MVC模式,MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。MVC模式简介: MVC是一种设计模式,是Model-View-Controller的简写,它把整个应用系统的输入、处理、输出分开,
11、其结构图如下图:Struts 是MVC的一种实现,它将 Servlet和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。(2)springSpring框架的7个模块:Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 Be
12、anFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC)模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务
13、管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从
14、Spring 的通用事务和 DAO 异常层次结构。Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。(3)hibernateHibernate有五大核心接口,分别是:Session Transaction Query SessionFactoryConfiguration 。这五个接口构成了Hibernate运行的基本要素,可以执行存取,持久化,事务管理等操作。这五个接口可以位于系统的业务逻辑
15、层和持久化层。下面是一张Hibernate的关系图:Session接口:Session接口 Session 接口对于Hibernate 开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session 的开销太大,会给系统带来不良影响。但是Session对象是非线程安全的,因此在你的设计中,最好是一个线程只创建一个Session对象。 session可以看作介于数据连接与事务管理一种中间接口。我们可以将session想象成
16、一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。我们有时也称Session是一个持久层管理器,因为它包含这一些持久层相关的操作, 诸如存储持久对象至数据库,以及从数据库从获得它们。需要注意的是,Hibernate的session不同于JSP 应用中的HttpSession。当我们使用session这个术语时,我们指的Hibernate 中的session,而我们以后会将HttpSesion 对象称为用户session。SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Sessi
17、on对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。Transaction接口Transaction接口负责事务相关的操作,一般在Hibernate的增删改中出现,但是使用Hibernate的人一般使用Spring去管理事务。Query接口Query负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。它的返回值一般是List。需要自己转换。Configuration接口:Configuratio
18、n对象用于配置并根启动Hibernate。Hibernate应用通过Configuration实例来指定对象关系映射文件的位置或者动态配置Hibernate的属性,然后创建SessionFactory实例。Hibernate运行过程:1.通过Configuration().configure();读取并解析hibernate.cfg.xml配置文件2.由hibernate.cfg.xml中的<mappingresource="com/xx/User.hbm.xml"/>读取并解析映射信息3.通过config.buildSessionFactory();/创建Se
19、ssionFactory4.sessionFactory.openSession();/打开Sesssion5.session.beginTransaction();/创建事务Transation6.persistent operate持久化操作 /一般指Save这个方法7.session.getTransaction().commit();/提交事务8.关闭Session9.关闭SesstionFactory(4)easyUIjQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。开发者
20、不需要编写复杂的javascript,也不需要对css样式有深入的了解,开发者需要了解的只有一些简单的html标签。3.1.2系统的设计用户登陆1. 输入用户名、密码、验证码后单击登录按钮,首先进行客户验证,验证通过后进行登录;如登录失败进行相应提示并重新登录;验证要求:2) 用户名:必填; 且必须是英文字母或数字, 长度3-15;3) 密码:必填; 且长度3-15;4) 验证码:必填,4位数字。2. 密码输入错误3次,关闭登录窗口,并进行错误信息提示。用户退出1. 已登录的用户在首页上单击“注销”实现登录用户的安全退出。2. 安全退出后,进入登录页用户管理1. 新增用户(1) 用户账号(唯一
21、)、用户姓名(必须);(2) 所属部门、职务(必须),下拉框选择,从数据字典中取得 (3) 添加时间:系统当前时间(4) 其它信息(可选):性别、籍贯、身份证号码、电话号码、电子邮件、手机、住址、婚否(5) 用户信息验证(6) 管理员:该账号管理本系统的所有操作用户的基本资料及在本系统中所拥有的操作权限,系统初始时默认一个管理员。管理员权限不能更改,所有操作对他们无效(7) 操作用户对应的角色关系:一个操作用户对应多个角色。一个角色可以分配给多个操作用户(8) 新增用户的密码为默认值。默认为“888888”(9) 添加成功后提示继续添加或返回列表2. 修改用户:(1) 修改用户的基本信息,管理
22、员用户可以修改普通用户拥有的角色。普通用户可以修改部分自己的基本信息,但不能查看和修改自己拥有的角色。(2) 用户信息验证(3) 修改成功后提示跳转到用户列表3. 删除用户:删除成功后提示跳转到用户列表角色管理1. 新增角色:输入角色名称,同时分配菜单功能2. 修改角色:修改一个角色,可修改角色名称,同时可以修改该角色拥有的菜单功能,超级管理员的角色不可修改。角色修改成功后,能跳转到角色列表。3. 角色名称唯一、相关信息验证4. 删除角色:删除一个角色,同时要删除分配给该角色的所有菜单功能。只有超级管理员才能删除角色5. 角色使用中不能被删除,即有用户被分配了该角色,则应做提示。6. 删除角色
23、为伪删除菜单管理1. 新增菜单:菜单应支持树状的无限级结构模式。2. 修改菜单:可以修改菜单名称,菜单链接以及所属父菜单等。3. 菜单名称必须唯一,相关信息验证4. 删除菜单:删除大菜单时要将底下的小菜单一起删除并提示。5. 使用中的菜单不能删除,即有角色被分配了该菜单,则应做提示。电子公告栏1. 公告管理:(1) 发布公告:包括公告标题(必需),公告内容(必需),以及公告有效时间(必需),公告内容要可以多样式编辑;使用FCK在线编辑器. 公告可带附件,最多3个附件 ,每个附件大小控制5M以内。添加完成后,跳转到公告列表。公告的附件上传到文件夹,公吿的内容存储到表的CLOB字段中。(2) 修改
24、公告:可修改未审核的公告的标题、内容、有效时间及附件。修改完成后,跳转到公告列表。已审核的公告不能修改(3) 删除公告:删除时要提示用户2. 显示公告:将有效公告的标题按发布时间倒序在首页进行显示,点击链接查看公告的详细内容;3. 公告审核:添加新公告完成后,由拥有某一角色人或某个个人审查公告内容是否符合规定。规定时间内不审查,默认通过;规定时间可由有权限的用户设置。(注:公告状态默认为“未审核”,提供“审核未通过”及“审核已通过” 状态供用户选择)内部邮件1. 邮件发送:(1) 邮件主题(必需)(2) 收件人:所有系统中可正常登陆的用户都可以做为内部邮件的接收人。从用户列表中选中用户后,自动
25、添加为收件人。(3) 邮件内容:邮件内容编辑区使用所见即所得控件,如FCKEdito等。(4) 附件:可以发送附件,附件数动态控制,最多三个,每个附件大小控制5M以内。(5) 邮件发送后保存到已发邮件(6) 邮件的附件上传到文件夹,邮件的内容存储到表的CLOB字段中 点击页面的“发送”按钮后发送邮件,发送成功返回发件箱2. 收件箱:(1) 未读邮件要有明显提示标志(2) 读取邮件时可选择直接回复(要求同上-邮件发送)(注:回复仅能回复给原发件人,不带原附件。)(3) 收件箱里的邮件可以删除到垃圾箱(4) 收件箱里的邮件可以永久删除3. 草稿箱:(1) 草稿箱里的邮件可正常编辑并发送(2) 草稿箱里的邮件可以永久删除4. 垃圾箱:(1) 垃圾箱里的邮件可以恢复到收件箱,并保留原邮件状态,如未读和已读(2) 垃圾箱里的邮件可以永久删除5. 已发邮件:(1) 可查看已发邮件详细信息(2) 已发邮件里的邮件可以永久删除数据字典1. 新增类别:新增类别分为新增大类和小类,新增小类时可以选择所属的大类,新增的元素包括类别名称 2. 修改类别:可以修改类别名称,及所属父类3. 类别名称唯一,相关信息验证。(不同大类之间的名称不允许重复,同一大类下小类之间的名称也不允许重复,但是不同大类之间下的小类名称允许
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025视角下倾转旋翼技术在无人机货运领域的应用潜力报告
- 2025年低空经济行业报告:无人机配送与新能源汽车充电网络融合研究
- 2025年新能源汽车智能座舱硬件配置与软件生态协同发展模式报告
- 2025及未来5年中国电脑平绣机市场调查、数据监测研究报告
- 2025及未来5年中国消毒敷料袋市场调查、数据监测研究报告
- 九江市人民医院消化介入超声医师基础准入考核试题
- 福州市中医院放疗专业英语术语翻译与释义试题
- 金华市人民医院财务人员职业道德与廉洁自律案例试题
- 济南市人民医院机器人手术系统操作考核
- 幼儿园中班6月月计划试题带答案
- 注册安全工程师(延续注册)履职情况说明
- 小学数学专题讲座(课堂PPT)
- 严重精神障碍知识培训
- 聘请常年法律顾问项目投标书
- 生物制药行业的新革命:小分子合成技术
- GA 1804-2022危险化学品生产企业反恐怖防范要求
- 小学课外阅读书籍《王子与贫儿》PPT
- 三年级上册道德与法治说课教案-第一单元第1课《学习伴我成长》第二课时
- 公路勘测地形测绘内容与取舍要点有哪些
- GB/T 16930.2-2021盲杖第2部分:性能要求和试验方法
- GB/T 14336-1993合成短纤维长度试验方法
 
            
评论
0/150
提交评论