基于JBPM工作流课件录制系统设计论文.doc_第1页
基于JBPM工作流课件录制系统设计论文.doc_第2页
基于JBPM工作流课件录制系统设计论文.doc_第3页
基于JBPM工作流课件录制系统设计论文.doc_第4页
基于JBPM工作流课件录制系统设计论文.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

密 级公 开学 号092081毕 业 设 计(论 文)基于JBPM工作流课件录制系统设计院(系、部):信息工程学院姓 名:王 雷班 级:计G092专 业:计算机科学与技术指导教师:杜天苍教师职称:教 授2011 年 6 月 2 日北京北 京 石 油 化 工 学 院毕 业 设 计 (论 文) 任 务 书教学院(系、部) 信息工程学院 专业 计算机科学与技术 班级 计G092 学生姓名 王 雷 指导教师/职称 杜天苍/教授 1. 毕业设计(论文)题目基于JBPM工作流课件录制系统设计2.任务起止日期: 2011 年2月 21日 至 2011 年 6月 10日3.毕业设计(论文)的主要内容与要求在当今信息高速发展的社会里,企业信息化建设成为当今社会的主旋律。为了更好地实现企业信息化建设,大力倡导环保办公,也就是所谓的无纸化办公,本系统就是基于这样一个目标而设计。本题目是根据某培训集团课件录制系统来制定的,本系统为课件制作方提供一个学习资源的制作平台,通过此系统可以快速的制作课件并及时的发布。为资源制作方提供一系列信息化的管理和服务。采用JBPM工作流技术,实现管理系统用户登录、退出、任务发起、任务管理、任务统计、流程处理等,除此之外,还包含流程监控以及勘误处理模板。在此开发设计之前,广泛搜集调研资料,深入企业进行做深层次的需求调研,了解其整个业务流程,将其整理成完整的文档,以便作为开发过程中的蓝本,而且要不断强化和客户的沟通,以便最终形成完备的需求规格说明书,除此之外,要精通MySQL数据库以及MyEclipse开发工具,这是开发编码的前提,当然,搭建环境代码实现的第一步。设计内容包括需求分析、总体方案制定、详细设计、编程实现、测试等,最终实现软件的功能要求。工作内容:u 学习MySQL数据库系统,搭建开发环境。u 基于BPM工作流课件录制系统的需求分析、总体方案制定、详细设计、编程实现、调试等。u 经本项目开发,学生可以熟悉软件开发流程和方法,并设计类似管理系统软件。u 学生在综合运用知识、搜集和运用资料、方案分析与设计、功能规划、外语阅读及翻译、编程及软件测试等方面的能力将会得到培养和训练。提高学生专业知识综合应用能力和实践能力。设计要求:要认真完成系统设计各环节,提高理论知识应用于实践的能力、分析问题、解决实际问题的能力。设计要求:u 应该在进度计划所规定的时限内完成设计。u 笔译约2万英文字符的外文文献(约合5000汉字译文),文献内容应与毕业论文课题相关。u 毕业设计(论文)的框架及字数、格式、撰写要求要严格按照北京石油化工学院2011届毕业设计(论文)工作相关管理规定进行。应提交的成果:u 开题报告(含电子文档)一份。u 外文资料原文与中文译文(含电子文档)各一份。u 设计出的应用软件(光盘或软盘)一套。u 毕业论文(含电子文档)一份。u 其他资料一套(含题目审批单、任务书等)一份。u 学生毕业设计日志一份。4.主要参考文献1 萨师煊,王珊.数据库系统概论(第3版)M. 北京:北京高等教育出版社,2005.1.2 徐锋 陈暄 等编著.UML建模基础M. 中国水利水电出版社, 2003.3 孙卫琴 精通Struts 基于MVC的JAVAWEB开发M.电子工业出版社,2007.4 孙卫琴 精通Hibernate:Java对象持久化技术详解.电子工业出版社M 2005.5 张海藩 编著.软件工程导论M第四版. 清华大学出版社, 2005.6 William Wang JBPM3.1中文文档指南. 整理.7 胡长城 揭秘JBPM流程引擎内核设计思想及构架.8 李刚编著.Struts 2权威指南M电子工业出版社,2009.9 王虎 张俊管理信息系统M 武汉理工大学出版社,2004.10 丰华 于松波Eclipse开发技术详解M 中国铁道出版社,2010.11 耿祥义 张跃平JSP使用教程M 电子工业出版社,2003.9.12 李长云 饶居民 李鹏Eclipse与J2EE应用开发M 北京大学出版社,2008.6.13 姜林美PHP + MySQL 动态网站开发从基本到实践M 电子工业出版社,2008.8.14 Mark PriestleyPRACTICAL OBJECT-ORIENTED DESIGN WITH UMLM,2009. 15 Bruce EckelThinking in JavaM Prentice Hall,2005.16 邝孔武 王晓敏信息系统分析与设计M 清华大学出版社,2002.17 Paul DuBois MySQL CookBookOREILLY & ASSOC INC,2006;5.进度计划及指导安排日期工作内容具体要求2月21日3月13日(1周3周)调研需求分析撰写开题报告通过调研、咨询、图书馆、网上等多种方法和渠道,了解题目所涉及的技术内容和用户实际需求,收集数据、图表、文献,并进行归纳、整理研究,写出开题报告。提交开题报告3月14日3月20日(4周)外文翻译修改并整理开题报告,上交外文翻译(2万英文字符)。3月21日 4月3日(5周6周)方案设计功能划分制定总体方案,参考文献,确定总体设计方案、划分功能模块。4月4日 4月17日(7周8周)搭建环境熟悉软件搭建开发环境,学习MySQL基本理论、访问技术和设计方法;选定并复习开发工具。4月18日 5月1日(9周10周)详细方案设计详细方案设计,按照总体方案要求实施,设计数据库表单、用户界面风格。5月 2日 5月15日(11周12周)编程实现建立数据库,设计用户界面5月16日 5月22日(13周)测试对编程内容进行测试,程序修改、功能完善。5月23日 5月29日(14周)撰写论文按照北京石油化工学院2011届毕业设计(论文)工作相关管理规定撰写论文5月 30日 6月5日(15周)修改论文准备答辩反复修改论文、提交论文准备答辩ppt6月 6日 6月10日(16周)答辩答辩任务书审定日期 年 月 日 系(教研室)主任(签字) 任务书批准日期 年 月 日 教学院(系、部)院长(签字) 任务书下达日期 年 月 日 指导教师(签字) 计划完成任务日期 年 月 日 学生(签字) 摘 要基于JBPM工作流课件录制系统设计是针对某远程教育集团课件录制管理繁杂混乱所开发的一款软件。它能够更加准确、方便、快捷、高效、清晰、透明完成所需的课件录制任务管理工作。从而给课件的录制工作带来更高的效率。 本系统主要分为用户管理、系统设置管理、工作流程定义、任务发起、任务管理与统计、流程处理、流程监控、勘误处理等主要模块。其中以系统设置管理为基础模块,任务管理与统计和流程监控为主要应用模块、勘误处理为辅助模块,实现了系统化地对课件录制流程的管理、监控、审核。本系统完全满足了北京某远程教育集团的需求,具有简单的操作性、灵活的可移植性和较强的实用性。 本系统采用MyEclipse开发工具进行系统编码,使用MySQL制作后台数据库,通过加载MySQL 的Jar包来连接数据库。实现了用户管理、系统设置管理、工作流程定义、任务发起、任务管理与统计、流程处理、流程监控、勘误处理等功能。关键词:JBPM,MySQL,工作流,MyEclipseAbstractThe JBPM workflow system project is a management system for Recording of courseware management of a Beijings Distance Education Group that used to be more complicated and orderless. It can make courseware recording task management be more accurate, convenient, fast, efficient, clear and transparent to complete the necessary management. Recording of courseware management can be more efficiency.The system is mainly divided into the following major module: user management, system configuration management, workflow definitions, task initiation, task management and statistics, process handling, process control, monitoring and other major modules errata. The system configuration management is the basic module, besides the process monitoring, the task management and statistics is the main module, the errata handling is the assistant module. To achieve a systematic process of courseware record management, monitoring, auditing. The system is fully satisfied to the demands of a Beijings Distance Education Group, with simple operability, portability, flexibility and strong practicability.The system uses the MyEclipse development tools for system coding, using MySQL, MySQL jar package by loading to connect to the database. Achieve user management, system configuration management, workflow definitions, task initiation, task management and statistics, process handling, process control, errata processing and other functions.Key words:JBPM, MySQL, Workflow, MyEclipse目 录第一章 引 言11.1 引言11.2 设计思想11.3 相关技术介绍11.4 工作流技术介绍5第二章 项目介绍82.1 项目背景82.2 工作流技术的选择82.3 MVC设计架构9第三章 系统分析123.1 可行性分析123.2 系统需求分析133.3 输人输出要求163.4 数据管理能力要求16第四章 概要设计174.1 系统架构设计174.2 用例及描述184.3 数据库设计21第五章 详细设计315.1 时序图的设计315.2 类图的设计33第六章 系统实现346.1 核心实现代码346.2 操作界面396.3 安装43第七章 结 论44参 考 文 献45致 谢46声 明47第一章 引 言1.1 引言随着互联网技术普及和发展,进行教育和学习的方式也随着发生了根本性的变化。如今,网络远程培训成为人们学习、“充电”的另一种方式。网络远程教育是一种新型的教育形态,是相对于传统教育而言的,是一种非连续面授教育。为了给学习者提供教育功能和丰富的网络教育资源,向教育者和学习者提供一种方便网络教和学的环境。为了有效的提供学习资源,本系统就是基于这样一个目标而设计的。本课件制作系统为课件制作方提供了一个学习资源的制作平台,通过此系统可以快速的制作课件并及时的发布。为资源制作方提供了一系列信息化的管理和服务。1.2 设计思想由于课件的制作要涉及到多个部门,其中有课件技术部、教学服务部、财务部、网站开发部和技术开发部。如果采用原始的工作方法,会使得各个部门的工作协调非常困难,效率极低。为了提高各个部门的工作效率,必须改变原来的工作方法,采用面向信息化的技术手段。本课件制作系统采用工作流技术。使业务活动或任务达到一系列相互衔接、自动进行转交给处理者。在具体的流程管理、转移方面使用JBoss JBPM这个比较优秀的工作流引擎框架。视图采用了Struts框架,这个基于MVC模式的框架很好是将数据的展示和处理分离开来,在数据持久化方面,使用Java领域最好的一种面向对象编程的数据持久层解决方案Hibernate。1.3 相关技术介绍1.3.1 JQuery技术JQuery是一个快速的、简洁的javascript库。是一个轻量级的js库(压缩后只有21k),这是其它的js库所不及的,它兼容CSS3,还兼容各种浏览器。2006年由John Resig创建。JQuery能非常方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。它的文档说明很全,而且各种应用也说得很详细,同时还有许多成熟的插件可供选择。JQuery能够使用户的HTML页保持代码和HTML内容分离,也就是说,不用再在HTML里面插入一堆javascript来调用命令了,只需定义页面元素的id即可。1.3.2 J2EE技术介绍J2EE是一套全然不同于传统应用开发的技术架构,包含许多组件,主要可简化且规范应用系统的开发与部署,进而提高可移植性、安全性与再用价值。 J2EE是一种利用Java 2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。J2EE技术的基础就是核心Java平台或Java 2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如编写一次、随处运行的特性、方便存取数据库的JDBC 、API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对 EJB(Enterprise JavaBeans)、Java Servlet API、JSP(Java Server Pages)以及XML技术的全面支持。其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。J2EE使用多层的分布式应用模型,应用逻辑按功能划分为组件,各个应用组件根据他们所在的层分布在不同的机器上。事实上,sun设计J2EE的初衷正是为了解决两层模式(client/server)的弊端,在传统模式中,客户端担当了过多的角色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进,可伸展性也不理想,而且经常基于某种专有的协议。它使得重用业务逻辑和界面逻辑非常困难。现在J2EE 的多层企业级应用模型将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一个独立的层。1.3.3 MySQL数据库介绍MySQL是一个备受欢迎的高性能、多用户、多线程SQL数据库服务器,它是一个客户机/服务器结构的实现,由一个服务器守护程序MySQL和多种不同的客户程序及库组成。它由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式结合开源价值和方法论的第二代开源公司,MySQL是MySQL AB的注册商标。在2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。MySQL有如下主要特征:(1) 多线程;(2) 开放源代码;(3) 多操作系统支持;(4) 性能高效稳定;(5) 多用户支持;(6) 应用程序支持;(7) 支持事务处理、行锁定、子查询、外键和全文检索等功能;(8) MySQL支持大型的数据库处理,可以方便地支持上万条记录的数据库;(9) MySQL有一个非常灵活而且安全的权限和口令系统。当客户与MySQL服务器连接时,他们之间所有的口令传送被加密,而且MySQL支持主机认证。1.3.4 Hibernate技术介绍Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate功能强大,数据库无关性好,O/R映射能力强,如果你对Hibernate相当精通,而且对Hibernate进行了适当的封装,那么你的项目整个持久层代码会相当简单,需要写的代码很少,开发速度很快。Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO和数据库表之间的映射,以及SQL的自动生成和执行。程序员往往只需定义好了POJO到数据库表的映射关系,即可通过Hibernate提供的方法完成持久层操作。程序员甚至不需要对SQL的熟练掌握,Hibernate/OJB会根据制定的存储逻辑,自动生成对应的SQL并调用JDBC接口加以执行。Hibernate作为数据持久化的中间件,足以让数据库在业务逻辑层开发中去冬眠。它通过可扩展标记语言(XML)实现了类和数据表之间的映射,使程序员在业务逻辑的开发中面向数据库而改为面向对象开发。使整个项目开发分工更加明确,提高了程序开发的效率。1.3.5 JBPM工作流引擎技术介绍JBPM,全称是Java Business Process Management,是一种基于J2EE的轻量级工作流管理系统。JBPM是公开源代码项目,它使用要遵循Apache License。它还处于技术发展曲线(technology hype curve)上的初级阶段。JBPM最大的特色就是它的商务逻辑定义没有采用目前的一些规范,如XPDL, BPML, XML, BPEL4WS等,而是采用了它自己定义的JBoss JBPM Process definition language(JPDL)。JPDL认为一个商务流程可以被看作是一个UML状态图。JPDL就是详细定义了这个状态图的每个部分,如起始、结束状态,状态之间的转换等。JBPM的另一个特色是它使用Hibernate来管理它的数据库。Hibernate是目前Java领域最好的一种数据持久层解决方案。通过Hibernate,JBPM将数据的管理职能分离出去,自己专注于商务逻辑的处理。使用JBPM开发工作流的一般流程如下:(1) JBPM的运行需要数据库的支持,因此系统设计时要选定所用数据库。只要是Hibernate支持的数据库,JBPM就支持。数据库的初始化可以由JBPM自动完成,也可以通过ant generate.ddl任务生成SQL语句,在JBPM外部自己创建所需的表。(2) 使用JPDL定义工作流,生成processdinination.xml文件。可以采用GUI工具JPDL,但目前只支持JBPM1.0,而且bug很多。 XML的DTD定义文件在JBPM下载包中。(3) Ant create.pde生成pde包的工作目录(4) 更改pde工作目录/src/config/perties的相关属性,主要是设定相关的数据库连接信息。工作流,它以规格化的流程描述作为输入的软件组件,它维护流程的运行状态,并在人和应用之间分派活动。流程定义的内容可以分为四个不同的层次:状态(state)、上下文(context)、程序逻辑(programming logic)和用户界面(UI)。它一些基本的术语:流程定义(process definition):是业务流程或过程的规格化描述。流程实例(process instance):是流程定义的一个运行实体。流程上下文变量(process context variable):是与流程实例相关的变量。如何把现实中问题,描述成计算机可以“读通”的模型呢?那就需要建立一种从现实环境到计算机模型的映射方式。JPDL就是其中的一种。JPDL是建立在JBoss JBPM公共框架之上的流程语言。它使用图形直观的表示业务处理的流程,等待状态可以是异步通信,时间调度,自动操作等,或者将它们结合在一起使用,JPDL拥有强大的、可扩展的工作流机制。1.4 工作流技术介绍1.4.1 工作流的概念工作流(Work Flow)是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。它应用也非常广泛,比如,在许多公司采用纸张表单,手工传递的方式,一级一级审批签字,工作效率非常低下,对于统计报表功能则不能实现。如果采用工作流软件,使用者只需在电脑上填写有关表单,会按照定义好的流程自动往下跑,下一级审批者将会收到相关资料,并可以根据需要修改、跟踪、管理、查询、统计、打印等,大大提高了工作效率。工作流对于从事做计算机软件设计的人而言,它是一项技术、为客户提供解决方案框架的一部分;对于从事企业信息化管理的人而言,它是一种思想,是降低用户的IT运维成本的一种方法;对于从事软件开发的人而言,它是一个架构,是如何利用成熟稳定的接口和组件低成本的开发出适应用户流程变化的应用程序。总而言之,工作流通过技术的手段,融入管理思想、为管理提供“人、事、物、流程、时间、条件”等多维管理能力,帮助用户实现管理目标。1.4.2 工作流的分类从技术角度工作流系统可以分为下面四个类型:(1) 基于Domino的工作流管理系统Domino充其是一个可以编写带有流程的应用的编程和运行环境,其本身并不具备一个工作流管理系统的特征,如图形化的工作流定义、独立的工作流引擎、清晰的工作流访问接口等。应用程序所需要的每一个工作流特性,都需要自己手工编写。为了弥补Domino的不足,国内一些OA厂商在Domino上添加了用其他语言编写的图形化工作流定义组件,但这仍然不能叫做一个工作流管理系统。 (2) 基于消息中间件的工作流管理系统这方面的典型代表是IBM公司的MQSeries Workflow。它通过MQSeries将不同的应用集成在一起,并形成业务流程。它没有一个集中的工作流引擎。当进行分布式的应用系统的集成时,它是一个不错的选择。但当你需要为运行在单一服务器上的应用提供工作流功能,而且不想因此而购买一大套消息中间件的时候,你必须考虑别的选择。 (3) 基于微软平台的工作流管理系统这方面的典型代表是Ultimus和微软公司在BizTalk中提供的工作流组件,它们为基于微软平台的工作流应用提供支撑。它支持三种基本的工作流模式:顺序工作流(Sequential),状态机工作流(State Machine)和数据岛工作流(Data-Driven)。 (4) 基于J2EE的工作流管理系统这类系统是我们本文讨论的重点。随着Java技术的日趋成熟和应用面的扩大,绝大多数企业级的应用系统开始基于J2EE技术来设计,对在J2EE平台上的工作流系统的需求也越来越大。这种工作流系统应用能够充分发挥J2EE技术的优势,提供高度的可靠性、可扩展性和安全性。JBPM是属于这种类型的系统工作流。从工作流处理的对象可以分为二种类型:(1) 业务流程型业务流程型需要工作流引擎根据各种表单的内容来人机交互来自动管理这个过程。常用于事件处理、服务流程、合同审批、设计审核等。(2) 状态机型状态机型是根据一件事情的状态变化而自动进行处理,如工业控制,电路控制管理等。常用于一些工业自动化控制系统等。1.4.3 工作流的应用工作流技术是软件技术,用在软件设计领域,工作流分为业务型工作流和状态型工作流,业务型工作流大部分是要用在管理软件设计领域,为管理软件提供灵活性、扩展性、协同性等特质。帮助企业实现战略管理目标。常用的工作流应用场景有:企业办公自动化系统、IT服务管理系统、客户服务管理系统、物流揽收调度系统、设备运维管理系统、质量考核监督系统、采购系统等领域。1.4.4 工作流技术发展的现状目前国内的工作流应用还依然围绕电子政务和协同办公的审批类流程应用为主。当然,也存在一定的商业化业务性流程,比如这两年比较火热的物流领域的仓储管理流程等。在国内,工作流应用与组织管理是密切不可分,甚至在很多时候,我们可以说,是为组织管理服务的。受到国内的管理更多的偏向于以“人”为本的思想,所以国内的流程存在很严重的“人为影响”,比如“回退”“会签”“回退”“取回”“自由流”“主办辅办”等特色。也正因为这样,国内客户应用需求的差别非常大,单纯和固定的一款工作流产品,很难满足不同领域,不同客户的需求,所以国内的工作流产品更多的不得不依托于项目来生存。第二章 项目介绍2.1 项目背景北京某教育集团在美国纽交所挂牌上市。是一家具备网络教育资质技术与职业教育培训试点项目,常年开展面向多行业、多领域的网络教育,并提供远程多媒体网络教育平台系列产品。2.2 工作流技术的选择2.2.1 为什么使用工作流技术首先从企业信息规划的角度来说,可以回顾前些年的ERP、进销存、CRM等系统,大部分是管事的,系统主要是记录数据及其关联关系等,是静态为主的,但随着社会的发展与竞争格局的变化,企业的策略越来越需要能随需而动,生产管理活动也始终是“人”参与的活动,很多时候人需要激励、参与、满足、约束、被管理等等才能很好达到管理目标。因此新一代管理系统中协同性、灵活性、扩展性需求相当重要,工作流是提供协同性、灵活性、扩展性的最佳工具。从解决方案提供者的角度来说,我们的CIO/CTO面临的一个很大的压力是在于我们为用户提供的解决方案滞后于我们的用户的商业策略,我们用户总是在变化中发展,商业策略面临着市场、竞争对手的压力而改变,而我们提供的解决方案却不能够快速适应这样的变化。工作流技术使这样的一种解决方案成为可能,同时工作流技术也为用户企业实现企业战略执行提供了实现的平台。总之,工作流技术的使用可以帮助企业更清晰、更灵活的管理业务流程。2.2.2 工作流技术的选择关于工作流技术的选型,对于从事IT工作的人员来说是一个需要非常慎重选择,在这里做些简单的阐述,工作流技术分为两种。一种是业务流程型的,比如我们的一些事件处理、服务流程、物流揽收调度、合同审批、设计审核等,需要工作流引擎根据各种表单的内容来人机交互来自动管理这个过程;另一种是状态机型的,根据一件事情的状态变化而自动进行处理,如工业控制,电路控制管理等。常用于一些工业自动化控制系统等。工作流引擎可以很快的就配置出一个业务系统出来,自定义表单,自定义流程,自定义报表等等,很快就给用户提供一个完整的业务系统,其实这样的想法是非常理想的,我们在开发我们的业务系统的时候我们会发现我们的业务系统不仅仅是功能的实现,它将面临着各个方面的需求,包括性能,并发处理能力、易用性、一致性及个性化等等,当工作流引擎只能满足60%的需求时,我们的团队将为另外的40%需求付出多少成本。因此在工作流的选型上很重要的一点就是它对于二次开发的支持,及接口的友好特性,同时它能支持我们在工作流基础上设计思路上的延续性。因此工作流技术的选型不但要考虑工作流引擎本身功能的完整性和稳定性,工作流架构的扩展性、易用性及适应能力,还需要考虑工作流涉及开发人员、企业管理实施人员、企业用户的习惯和易用性等。纯粹的工作流的产品意义并不大,关键是否能很好的帮助企业实现管理目标。本系统就引入了JBPM工作流引擎技术,JBPM工作流技术就是一种业务流程型的工作流技术,它能够使得在软件开发和业务两个层次受益。一是方便开发、二是方便业务流程管理。2.3 MVC设计架构MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。这样容易改变你的应用程序的数据层和业务规则。2.3.1 MVC中的视图层的设计一个典型的Web应用的前端应该是表示层:表示层由UI(User Interface)和UI控制逻辑组成。(1) UI(User Interface) UI是客户端的用户界面,负责从用户方接收命令,请求,数据,传递给业务层处理,然后将结果呈现出来。(2) UI控制逻辑UI控制逻辑负责处理UI和业务层之间的数据交互,UI之间状态流程的控制,同时负责简单的数据验证和格式化等功能。在表示层仅仅是数据的展示,不会处理任何业务的功能。如果我们在表示层引入这些功能的实现代码,将会给系统带来高耦合和难以维护的后果。(1) 本系统的表示层拟采用的技术;(2) HTML:实现前台页面的组织编写;(3) javascript:利用此脚本语言,实现前台表单的简单验证;(4) CSS:利用此技术来确定页面布局,达到前台页面的美化效果;(5) JSP:利用JSP脚本与后台进行交互,以实现页面的动态化;(6) Struts:利用struts标签技术以实现表示层和业务层的分离。2.3.2 MVC中的模型层设计(1) 实体类(持久类)、会话类对数据库中的数据访问的编程实现的相关类可以分成实体类(Entity Class)、数据访问对象DAO(Database Access Object)。通过使用这种数据访问层的模块设计和模式划分,使程序更加模块化,便于开发调试和后期的维护。(2) 各种类的主要作用1) 实体类(持久类)的作用实体类对应于一个表中的记录数据的封装,也就是该类的一个实例对应于表中的一个记录。而且,该类中的属性和记录中的字段是一一对应的(Domain Entity),也可以与数据库表中的结构不完全一一对应(Custom Entity)。本项目中的一些实体类请见下面所示。2) DAO简介 DAO模式将对数据源的访问(也就是获得数据库的连接)抽象为一个类,从而利用数据访问对象可以实现对不同数据库类型和形式的数据资源进行访问。这种模式出现的背景在于数据访问的逻辑极大程度上取决于数据存储的格式,比如说关系型数据库、面向对象数据库、磁盘文件等。 DAO类的具体实现可以通过工厂模式实现抽象DAO或者利用工厂方法模式实现DAO。在本项目中,采用普通的JavaBean类来实现DAO。它是在业务逻辑与数据库资源中间,将所有对数据源的访问操作进行一定的抽象封装;降低了业务逻辑层与数据持久层的耦合性。如图2-1所示:表示层业务处理层数据访问层持久实体DAO数据连接数据源图 2-1 DAO的使用第三章 系统分析3.1 可行性分析3.1.1 技术可行性本系统采用B/S模式,基于HTTP传输协议。硬件方面:Server端为可扩展的www服务器,浏览器端为IE6.0及其更高的版本;软件方面:操作系统用Windows XP、Windows 2000 Server及以上操作系统,可以快速的构建环境。总体上采用Struts和Hibernate两大主流框架架构,并有效的结合javascript、JQuery对页面进行布局和局部刷新;使用开源的JBPM工作流引擎,从功能和性能上完全都满足系统的要求,因此从技术方面开发此系统是可行的。另外本人是相对有专业知识的IT编码人员,对软件开发工具比较熟悉,有开发数据库经验;能够胜任信息系统的开发工作。3.1.2 经济可行性 主要是对项目的经济效益进行评价,一方面是支出的费用,其中包括设备购置费、软件开发费、管理和维护费和人员工资等。另一方面是取得的收益中可以用钱来衡量的那部分(收益的另一部分难以用钱来表示)。基于本公司的现有计算机及配套设备,建设MIS系统,不需要添置硬件设备,而且由本公司的员工自行开发,可以大大节省软件的开发费用,并且建立了MIS系统后,能大大减少重复性的书面报告,降低办公费用,提高办公效率,与前期的投入相比,后期的收益是更为可观的。而且系统结构采用当前流行的B/S结构,也就是浏览器/服务器模式,软硬件的需求比较低,只需要有假设www服务的web服务器,免费开源的数据库MySQL以及个人PC,系统服务器也为开源免费的Tomcat。而且开发时间短,成本低,而且实时性高、界面友好、操作性强等也是B/S结构的优点。这不仅保证了系统的技术可行性,还保证了系统的经济可行性。3.2 系统需求分析3.2.1 系统角色(1) 系统管理员:是本系统的超级用户。(2) 课件部经理:主要是分配课件录制的任务,并同时对课件制作的过程进行管理和监控,将已经制作好的课件提交给教务部审核。(3) 课件部组长:收到课件部经理分配的任务后,根据实际情况再将任务划分并指派给自己的组员,并对自己的任务进行自我审查。(4) 课件部员工:员工分配到各个课件部的小组,完成具体的一些任务。如:安排录课教师、老师签到等。(5) 课件摄录组:接收到课件部经理的任务,对老师的上课过程进行音视频的采集,并且将原文件上传到服务器上。(6) 课件制作组:根据课件部经理分配的任务,对采集的音视频文件进行音频和视频的处理工作。如对视频的编码、加密工作。(7) 教务部经理:根据当前的市场环境和客户的需求来判断是否需要相关课件的制作,并将信息传递给课件部;如果课件制作完成,教务部经理将课件审查的任务分配给教务部的组长。(8) 教务部组长:收到教务部经理分配的任务,根据实际情况再将任务划分并指派给自己的组员,并给出一个审查意见。(9) 教务部员工:完成组长分配的任务。(10) 网开部员工:为课件制作中提供页面的支持,如课件下载。(11) 财务部员工:对财务上的申请进行审核。(12) 备份组:对采集的文件和课件成品进行定期的备份工作。(13) 约课组:一个课件的制作可能是需要多次的录制,约课组负责预约老师某时某一录课室进行录课。3.2.2 系统工作流根据实际业务需求,其具体的业务流程经分析汇总,如图3-1、3-2、3-3所示:图 3-1 课件录制流程图 3-2 发起勘误图 3-3 文稿教务审核3.3 输人输出要求3.3.1 系统的统一设计本系统设计是将后台管理部分放在主页面上,以方便系统管理人员的通用化管理。当系统管理员登陆系统首页面时,在系统的右上方的导航条上可以看到管理按钮,从此进入后台管理页面。同时在系统后台和前台的设计上,系统采用了共同的页面开发模式和组件调用模式,其中的文件头和文件尾等部分是相互通用的。因此两个部分的设计,可以说是分离与结合的完美统一。3.3.2 页面内容的分块设计在系统主页中,从页面头、版面列表、任务发起、管理与统计、流程处理、文件尾等部分都进行了抽象提取,这样在需要用到某部分的页面时,只需要进行相关的包含技术来引用。3.4 数据管理能力要求3.4.1 数据采集的要求(1) 输入源:手工键盘输入;(2) 输入介质和设备:键盘,磁盘,移动存储设备;(3) 输出介质和设备:磁盘,打印纸,大容量硬盘;(4) 音视频的采集:录音设备,视频采集设备。3.4.2 数据容量本系统需要采集音视频,所以对存储的容量要求比较多。最好能使用大容量存贮设备,实际开发中,选用TB级的数据存储设备。第四章 概要设计4.1 系统架构设计4.1.1 系统包图系统的分包按照MVC的分层,大致可分为持久层包,控制层包,还有工具包、实体包,以及用户界面包,具体的分包以及包与包间的依赖关系,如图4-1所示:图 4-1 系统包图4.2 用例及描述4.2.1 系统用例图根据该系统详细的需求分析可以清楚地了解到系统的业务流程,其系统用例如图4-2所示:图 4-2 系统用例图4.2.2 用例描述根据系统架构的整体设计以及系统的用例图分析可知,编写如下测试用例,对系统进行功能性测试,查看任务用例的编写如表4-1所示:表 4-1 查看任务用例描述用例名称查看任务用例标识符01角色所有员工主要功能描述能及时的看到自己应该执行的任务。事件流1、用户登录系统,用例开始基本流1、用户点击任务列表,进入任务记录备选流2、用户点击返回任务列表,进入任务记录备选流备选流1、任务记录2、用户选择“任务列表”用例成功场景用户可以成功的看到自己目前的任务根据用例图设计编写发起刊物用例如表4-2所示:表 4-2 发起勘误用例描述用例名称发起勘误用例标识符02角色所有员工主要功能描述如果员工发现课件中的视频、音频、文稿有错误,可以发起一个勘误的流程。事件流1、用户发起勘误单,用例开始基本流1、用户登陆系统,进入首页面2、用户点击发起新任务3、用户点击发起勘误单4、用户将填写错误出现在哪个网站、课程、班级、章节的信息,原文是什么内容,应该修改为什么内容5、填写好信息后,点击“完成并转交”备选流用例成功场景用户系统填写的勘误信息成功保存。根据用例图设计,分析系统设置模块,编写系统设置用例,如表 4-3所示:表 4-3 系统设置用例描述用例名称系统设置用例标识符03角色课件部经理、教务部经理、系统管理员主要功能描述主要是对录课室、课程、教师、班级的设置事件流1、用户点击“管理”,选择“基础设置”,用例开始基本流1、用户点击录课室设置,进入录课室设置备选流2、用户点击课程设置,进入课程设置备选流3、用户点击班级设置,进入班级设置备选流备选流2、录课室设置1a:用户选择“录课室设置”,点击“添加”1b:用户输入录课室的名称和地址后,点击确定,录课室设置完成3、课程设置2a、选择课程设置种类2b、输入课程设置参数,包括课程名称,课程的年份等等3c、输入设置参数后,点击确定,课程设置完成 用例成功场景用户对系统的录课室、课程、教师、班级等设置成功。4.3 数据库设计4.3.1 实体关系图(E-R)经分析,按照数据库设计的三大范式,进行设计数据库之前的映射关系,其实体关系图如图4-3所示:图 4-3 实体E-R图4.3.2 数据库表设计(1) 教务审核检查表CEDL_ACADEMIC_CHECK表结构定义,如表4-4所示:表 4-4 教务审核检查表字段名字段类型PKNULL缺省注释审核IDCheckedIntTRUETRUE审核ID申请负责人applySupervisorvarchar(20)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论