基于MVC的高校OA系统的设计与实现
2014-12-13王晓妮
摘 要:随着计算机网络的飞速发展,OA系统已是高校信息化建设的重要标志。本文研究了高校信息化办公现状,针对存在的问题,设计并实现了基于B/S体系结构的协同办公系统。系统实现采用了MVC模式。经测试,系统满足设计需求,运行可靠。
关键词:MVC;B/S体系结构;OA系统
中图分类号:TP311 文献标识码:A
1 引言(Introduction)
网络技术和高校数字化建设的快速发展,以信息管理为核心的高校OA系统的应用很广泛,其内涵和外延都也正发生着根本的变化。
2 需求分析(Demand analysis)
目前国内许多高校的合并扩建导致多校区并存问题,只能靠远距离教学这种新型办学模式来解决。显然靠人工传递为主的这种纸上办公的传统方式已满足不了新模式的要求,因此网络办公便在高校应运而生了。OA是一种将计算机网络技术和现代化办公相结合的一种新型技术,它是一个具有顽强生命力的活跃技术应用领域,是社会信息化的产物。开发一套信息畅通和简单快速的OA系统,是新的形势下高校进一步转变其工作职能、方式和作风,能够有效提高办事效率、工作质量和节约资源的重要手段。例如工作繁忙的校领导经常开会或外出考察时,采用手机登录OA系统,可以及时查看电子公告、会议通知、签阅文件和审批公文,实现了随时异地办公,极大的提高了工作效率[1]。
3 系统设计(The system design)
3.1 设计思想
建立以人为本、方便友好的操作界面。利用面向对象的思想系统设计完成了从传统的面向业务到面向用户的转换。系统采用WEB技术、运用B/S结构、MVC模式,设计了高校协同办公自动化系统。
3.2 设计模式
系统采用MVC模式[2],具体模式如图1所示。该模式采用“分治”的思想,一个应用的输入、处理和输出流程被分成模型层、视图层和控制层。MVC的基本原理为把应用程序的商务逻辑、数据及其显示和对数据的操作放到模型、视图和控制器这些相异实体中。为了实现一种程序设计和Web系统的职能动态分工,方便和简化了日后对程序的修改或扩展,并可能重复利用某一部分的程序。MVC设计模式使系统在实现时用Servlet当应用程序控制器,把JSP文档换为用Velocity模板视图来显示前台界面,模型为Javabeans。Servlet接收所有请求,并依据请求信息将其分发到对应的Velocity模板并得到响应,JavaBeans实例由Servlet根据Velocity模板需求生成并输出到该模板。要得到JavaBeans中的数据需经过Velocity模板,它采用直接调用或UseBean的自定义标签。
图1 系统MVC模式图
Fig.1 System MVC pattern
图2 系统功能模块图
Fig.2 System function module chart
3.3 功能模块设计
整个高校OA系统功能模块有:综合业务管理、信息管理、系统管理、会议管理和即时通信系统,如图2所示。起连接的作用和作为别的功能模块总向导是首页,按子模块的功能可将其划分为更多的小模块。
4 系统实现 (System implementation )
采用的MVC(Servlet+JavaBean+Velocity)模式是基于Apache Velocity模板语言的,实现了OOD的概念,更高效于Servlet+Jsp的方式。此模式页面开发者要求遵从统一的文档规范,将其更好地和业务开发员的代码进行集成,代码的可维护性高。
4.1 模型的实现
系统中各种对象的实体的描述靠的是模型。开发OA系统时,数据库交互和存取数据由Model完成,一个Data Model与每张数据表对应。便于模型具备优良的扩展性,先给模型定义一个IDBmodel,获得数据、模型数据列表和保存、修改、删除模型数据这几种与数据库交互的关键方法由IDBmodel来规定。再定义关键方法名称和详细解释接口。然后定义该接口的DBModel,它实现了IDBmodel的一般方法,而且DBModel也定义了DataModel的抽象信息,留下虚函数待具体子类实现,利用方法主要初始化模型字段和模型字段列表的返回。父类产生后,每个Model都要继承DBModel,然后仅需覆盖父类,再由具体的Data Table Structure定义Data Model的各字段,现在各Data Model都能公用父类(DBModel)中的方法来进行保存、修改和删除数据等操作,而无非在每个Model中单独重写一次。
4.2 模型窗体的实现
B/S结构的系统要时常和用户进行表单数据交互,实际状况是填好单个表单,提交至服务器,该数据被获取后再被写入Database中。因前面已对每个Data Model定义了具体的DBModel,这能自动实现保存和删除数据等操作。而表单提交的数据和DBModel之间的关联建立靠DBForm来实现,也能进行数据的效验,程序开发的效率得到了提高,重复的代码也能避免出现。
4.3 视图的实现
前台界面的展示由View来完成,采用了Velocity模板进行前台界面的展示是为了将业务代码与展示部分彻底分开。对模板文件的渲染由Velocity采用纯文本方式,也做了一些变量的简单处理。为了提高代码的复用性,封装了View层的代码,构成这个统一InhopeVelocity,它能实现了初始化和添加对象这两种方法。该方法完成初始化Velocity模板引擎和一些系统常用参数,能在模板引擎中添加各种变量,在模板文件中方便调用。
4.4 控制器的实现
业务逻辑控制页面的跳转由控制器完成,采用了Servlet实现业务逻辑的控制有效的降低Controller的复杂性。在控制器中,先要对DBMmodel和View对象初始化,输出不同的View决定于DBMmodel的执行结果,View与Model的结合和一个完整的MVC模式由此诞生了。
5 结论(Conclusion)
针对目前高校的实际业务需求,设计和实现了OA系统,提供了无纸化和数字化办公环境,解决了资源共享[3]和信息实时交流的问题。
参考文献(References)
[1] 贾文海.办公自动化系统在高校信息化中的应用[J].数字技术
与应用,2014(5):221.
[2] 陆惠.基于J2EE体系结构的OA系统研究与实现[J].电脑知识
与技术,2010(10):8006-8007.
[3] 李莉.基B/S三层架构的OA系统的设计与实现[J].科技广场,
2014(5):63-66.
作者简介:
王晓妮(1977-),女,硕士,工程师.研究领域:软件理论与
应用.endprint
B/S结构的系统要时常和用户进行表单数据交互,实际状况是填好单个表单,提交至服务器,该数据被获取后再被写入Database中。因前面已对每个Data Model定义了具体的DBModel,这能自动实现保存和删除数据等操作。而表单提交的数据和DBModel之间的关联建立靠DBForm来实现,也能进行数据的效验,程序开发的效率得到了提高,重复的代码也能避免出现。
4.3 ; ; 视图的实现
前台界面的展示由View来完成,采用了Velocity模板进行前台界面的展示是为了将业务代码与展示部分彻底分开。对模板文件的渲染由Velocity采用纯文本方式,也做了一些变量的简单处理。为了提高代码的复用性,封装了View层的代码,构成这个统一InhopeVelocity,它能实现了初始化和添加对象这两种方法。该方法完成初始化Velocity模板引擎和一些系统常用参数,能在模板引擎中添加各种变量,在模板文件中方便调用。
4.4 ; ; 控制器的实现
业务逻辑控制页面的跳转由控制器完成,采用了Servlet实现业务逻辑的控制有效的降低Controller的复杂性。在控制器中,先要对DBMmodel和View对象初始化,输出不同的View决定于DBMmodel的执行结果,View与Model的结合和一个完整的MVC模式由此诞生了。
5 ; ; 结论(Conclusion)
针对目前高校的实际业务需求,设计和实现了OA系统,提供了无纸化和数字化办公环境,解决了资源共享[3]和信息实时交流的问题。
参考文献(References)
[1] 贾文海.办公自动化系统在高校信息化中的应用[J].数字技术
; ; ; ; ; 与应用,2014(5):221.
[2] 陆惠.基于J2EE体系结构的OA系统研究与实现[J].电脑知识
; ; ; ; ; 与技术,2010(10):8006-8007.
[3] 李莉.基B/S三层架构的OA系统的设计与实现[J].科技广场,
; ; ; ; ; 2014(5):63-66.
作者简介:
王晓妮(1977-),女,硕士,工程师.研究领域:软件理论与
; ; ; ; ; 应用.endprint
B/S结构的系统要时常和用户进行表单数据交互,实际状况是填好单个表单,提交至服务器,该数据被获取后再被写入Database中。因前面已对每个Data Model定义了具体的DBModel,这能自动实现保存和删除数据等操作。而表单提交的数据和DBModel之间的关联建立靠DBForm来实现,也能进行数据的效验,程序开发的效率得到了提高,重复的代码也能避免出现。
4.3 ; ; 视图的实现
前台界面的展示由View来完成,采用了Velocity模板进行前台界面的展示是为了将业务代码与展示部分彻底分开。对模板文件的渲染由Velocity采用纯文本方式,也做了一些变量的简单处理。为了提高代码的复用性,封装了View层的代码,构成这个统一InhopeVelocity,它能实现了初始化和添加对象这两种方法。该方法完成初始化Velocity模板引擎和一些系统常用参数,能在模板引擎中添加各种变量,在模板文件中方便调用。
4.4 ; ; 控制器的实现
业务逻辑控制页面的跳转由控制器完成,采用了Servlet实现业务逻辑的控制有效的降低Controller的复杂性。在控制器中,先要对DBMmodel和View对象初始化,输出不同的View决定于DBMmodel的执行结果,View与Model的结合和一个完整的MVC模式由此诞生了。
5 ; ; 结论(Conclusion)
针对目前高校的实际业务需求,设计和实现了OA系统,提供了无纸化和数字化办公环境,解决了资源共享[3]和信息实时交流的问题。
参考文献(References)
[1] 贾文海.办公自动化系统在高校信息化中的应用[J].数字技术
; ; ; ; ; 与应用,2014(5):221.
[2] 陆惠.基于J2EE体系结构的OA系统研究与实现[J].电脑知识
; ; ; ; ; 与技术,2010(10):8006-8007.
[3] 李莉.基B/S三层架构的OA系统的设计与实现[J].科技广场,
; ; ; ; ; 2014(5):63-66.
作者简介:
王晓妮(1977-),女,硕士,工程师.研究领域:软件理论与
; ; ; ; ; 应用.endprint
B/S结构的系统要时常和用户进行表单数据交互,实际状况是填好单个表单,提交至服务器,该数据被获取后再被写入Database中。因前面已对每个Data Model定义了具体的DBModel,这能自动实现保存和删除数据等操作。而表单提交的数据和DBModel之间的关联建立靠DBForm来实现,也能进行数据的效验,程序开发的效率得到了提高,重复的代码也能避免出现。
4.3 ; ; 视图的实现
前台界面的展示由View来完成,采用了Velocity模板进行前台界面的展示是为了将业务代码与展示部分彻底分开。对模板文件的渲染由Velocity采用纯文本方式,也做了一些变量的简单处理。为了提高代码的复用性,封装了View层的代码,构成这个统一InhopeVelocity,它能实现了初始化和添加对象这两种方法。该方法完成初始化Velocity模板引擎和一些系统常用参数,能在模板引擎中添加各种变量,在模板文件中方便调用。
4.4 ; ; 控制器的实现
业务逻辑控制页面的跳转由控制器完成,采用了Servlet实现业务逻辑的控制有效的降低Controller的复杂性。在控制器中,先要对DBMmodel和View对象初始化,输出不同的View决定于DBMmodel的执行结果,View与Model的结合和一个完整的MVC模式由此诞生了。
5 ; ; 结论(Conclusion)
针对目前高校的实际业务需求,设计和实现了OA系统,提供了无纸化和数字化办公环境,解决了资源共享[3]和信息实时交流的问题。
参考文献(References)
[1] 贾文海.办公自动化系统在高校信息化中的应用[J].数字技术
; ; ; ; ; 与应用,2014(5):221.
[2] 陆惠.基于J2EE体系结构的OA系统研究与实现[J].电脑知识
; ; ; ; ; 与技术,2010(10):8006-8007.
[3] 李莉.基B/S三层架构的OA系统的设计与实现[J].科技广场,
; ; ; ; ; 2014(5):63-66.
作者简介:
王晓妮(1977-),女,硕士,工程师.研究领域:软件理论与
; ; ; ; ; 应用.endprint