基于MVC模式的企业公文处理信息系统的设计与实现

技术交流,获取源码Q:1225467431

随着信息技术发展与应用的逐步深入,企业在日常的生产运营和管理中越来越依赖于计算机与网络,以及基于信息技术所开发出来的各类应用系统。当前,通过引入信息技术来协助管理流程、优化管理模式,已经是企业的共识。

本文构建了一套基于MVC的公文处理系统,对公文管理系统进行需求分析,包括公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求。对系统进行概要设计,包括从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。对信息系统进行详细设计,包括用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。

信息系统的实现,包括公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。系统测试,包括性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

 

 

关键词:公文管理系统  MVC  J2EE

 

 

The design of the MVC-based document management system

 

Software Engineering

 

Graduate Student          Adviser:    

 

With the development of information technology, computer supported business manage system has becoming more and more important for modern corporations. An intelligent transportation system makes use of information technology to raise management efficiency.

This thesis is based on the MVC-based document management system and analyze its’ basic requirements of document processing system, functional requirements and performance requirements. The functional requirements are a detailed analysis consists of the followings; the user management module, document management module, document management module, file management module and management module functions sign. Finally, the performance requirements of the information-data system carries on the outline design to the system, including feasibility analysis to the system from operating feasibility, management and technical feasibility of three. Then the design principle of information system is expounded from the aspects of the principle of safety, reliability, flexibility, accuracy principle, and finally to the current B/S structure more mature as the basic framework, the structural model of MVC, and elaborates the framework design of the system.

Realization of information technology system, including the detailed implementation of document processing system, the user management module, document management module, document management module, file management module, management module function realization of sign. To determine the maximum load and maximum concurrent index system can bear, a popular LoadRunner test software is used to evaluate its stability, through the test script application scenarios, the construction operation on the scene within, apply to some extent in the information system load and pressure, were also carried out.

 

 

Keywords: document management system  MVC  J2EE

 

 

 

 

 

 

 

 

 

 

1引言... 1

1.1          选题背景与意义... 1

1.2 国内外发展现状... 2

1.3本文内容安排... 5

1.4 本章小结... 6

2 基本理论概述... 7

2.1J2EE概述... 7

2.2 EJB容器... 11

2.3基于MVC的系统设计... 13

2.4 本章小结... 15

3 企业公文处理系统需求分析... 16

3.1企业公文处理的现状分析... 16

3.2企业公文处理功能需求分析... 17

3.2.1用户管理功能需求... 17

3.2.2发文管理功能需求... 19

3.2.3收文管理功能需求... 20

3.2.4签报管理功能需求... 22

3.2.5档案管理功能需求... 23

3.3企业公文处理流程分析... 24

3.3.1文书档案办理层流程... 25

3.3.2收文数据层流程... 25

3.3.3签报数据层流程... 26

3.3.4发文数据层流程... 26

3.4系统性能需求... 27

3.5 本章小结... 28

4 系统概要设计... 29

4.1系统可行性分析... 29

4.1.1操作可行性... 29

4.1.2管理可行性... 29

4.1.3技术可行性... 30

4.2系统设计的主要原则... 30

4.3部署架构的构建... 31

4.4数据库设计... 37

4.4.1 数据库概念结构的设计... 37

4.4.2表文件的设计... 42

4.5本章小结... 45

5 系统的详细设计... 46

5.1 用户管理模块的设计... 46

5.1.1功能设计... 46

5.1.2流程设计... 46

5.2发文管理模块的设计... 47

5.2.1 功能设计... 47

5.2.2类的设计... 49

5.3收文管理模块的设计... 51

5.3.1 功能设计... 51

5.3.2类的设计... 53

5.4签报管理模块的设计... 55

5.4.1 功能设计... 55

5.4.2类的设计... 56

5.5档案管理模块的设计... 58

5.5.1功能设计... 58

5.5.2类的设计... 59

5.6 本章小结... 61

6系统的实现... 62

6.1 用户管理功能的实现... 62

6.2 发文管理功能的实现... 63

6.3 收文管理功能的实现... 66

6.4签报管理功能的实现... 67

6.5 档案管理功能的实现... 70

6.6 本章小结... 71

7 系统测试... 73

7.1功能测试... 73

7.2性能测试... 74

7.3 本章小结... 75

8结束语... 76

参考文献... 77

声  明... 79

致  谢... 80

 



 

 

1引言

1.1   选题背景与意义

随着信息技术发展与应用的逐步深入,企业在日常的生产运营和管理中越来越依赖于计算机与网络,以及基于信息技术所开发出来的各类应用系统[1]。双流国际机场集团有限公司是国家大型企业,也是国有省重点扶持和发展的大型支柱性企业,近年来,该企业逐步引入了信息技术来优化自身的管理流程,提升管理水平,取得了较好的效果。然而该企业当前的公文处理流程依旧是基于纸质文档,由于环节较多,涉及到许多不同的职能部门,如果全部以手工的方式进行处理,不但容易出错,而且由于环节比较多、公文处理周期比较长,严重影响了处理效率[2]

在很长一段时期之内,双流国际机场对于公文的处理均是依赖于纸质媒介,以手工的方式进行签报和转发,在企业竞争日趋激烈,信息传递效率过低会影响到企业的工作效率与核心竞争力,基于纸质文件的公文处理模式逐步累积起,有如下的问题:

1)公文处理带来较大的工作量

双流国际机场的行政管理中心负责对于所有公文的处理流程,因此企业内部的公文以及集团公司和行业协会等下发的公文数目非常多,每年都达到数千份。而这些公文在具体签报和执行的过程中需要经过许多职能部门,包括总经理秘书处、行政中心主任、承办部门行政办公室等,这些文件均已手工的方式进行签报和转发,为部门工作带来较大的工作量,且容易出现疏漏,效率不高。

2)难以实现各负其责

由于所有的公文均以人工的方式进行处理,经常会因为疏漏而导致错误,一旦错误发生,例如文件重复签发或者文件中途丢失等,难以找到相应的责任人,影响了企业的运营效率,由于责任不清,有时候会在部门之间造成摩擦。

3)重复劳动,效率低下

由于公文的重要性,因此在任何一步转发和传递的过程中均应该进行详细的签收与登记,因为公文往往包含涉及到较多的文件,通常会出现一份文件被签收多次的重复劳动,对企业管理的效率造成了影响。

由于在公文处理的流程里有时候难以避免会带来一些人为主观因素的影响,导致企业的管理受到负面影响,亟需改变公文处理模式。随着各大兄弟企业纷纷引入信息化的办公模式,双流国际机场也应构建一个方便易用的公文流转信息系统,从而降低企业的行政管理成本,增加效率,提升企业的综合竞争力。

随着我国大力倡导信息化的发展和应用,不少企业均将信息化建设作为自身的发展方向之一。而双流国际机场目前已经拥有比较完善的计算机和网络等基础硬件设施,并且从领导的层面已经越来越重视各类应用系统的引入,这就为公文流转的信息化打下了基础。通过基于计算机和网络的公文流转,使企业能够通过信息技术来实现办公流程的无纸化、自动化,进而显著提升企业的执行力,进而促进企业综合竞争力的提升。本文将结合双流国际机场的实际情况,具体分析其公文流转的用户需求,并以成熟的MVC模式为其构建公文网上流转信息系统,本文的研究对于企业的发展壮大具有比较现实的意义。

1.2 国内外发展现状

信息技术的发展为全球的各大产业带来一场革命。当前,通过引入信息技术来协助管理流程、优化管理模式,已经是世界各国的共识[3]。世界上的大部分国家均把信息技术作为自身实力发展的战略重点来抓。目前,办公自动化的研究方兴未艾,而公文流转技术作为与OA技术密切相关的内容,也得到了长足的发展。目前,从技术层面来讲,公文流转的系统已经可以通过不同技术或者不同平台来实现,经过文献的分析和总结,当前国内外发展比较成熟的公文流转系统,其主要的开发手段综述总结如下:

1)以群件技术为基础的电子公文流转信息系统

所谓“群件”指的是协助一个团队(又称“群组”)来协同交互的系统[4]。当前,在市场上一级在用户中取得了良好口碑的群件系统主要包括两大系列,一是国际商用机器公司“莲花”Notes办公处理系统,二是来自微软的ExchangeServer综合化办公自动化信息系统[5]

“莲花”Notes办公处理系统最初是lotus公司开发的,该公司随后被国际商用机器公司收购。“莲花”Notes办公系统的架构是基于C/S,属于典型的群件产品,该系统的最大优势在于能够支持工作流设计,由于在日常的OA自动化管理中涉及到比较多样化的工作流程,因此该产品具有适应性强的优势,并被业界评价为技术成熟而易用性强的办公信息平台[6]。由于支持基于工作流的开发和设计,因此能够完全适应不同企业或者机构对于事物处理的复杂要求,在很长一段时期之内都是办公自动化使用者首选的主流应用系统[7]。虽然“莲花”Notes办公处理系统主要的应用模式是C/S 环境,但是在技术的发展和用户需求之下,该系统逐渐也可以支持基于B/S的应用框架。

“莲花”Notes最大的优势是在文档的管理方面和用户权限的安全性方面设计非常严密科学,因此基于“莲花”Notes的公文流转系统能够很好地适应企业或者机构对于信息安全和管理层次的不同需求。然而这个系统也存在其固有的缺陷,即由于过分的注重事务流程的标准化,导致系统的灵活性不足,无法在用户多样性的要求面前灵活应对,此外,该产品的设计与实现成本偏高,用户界面不够灵活多样,使用者只有在进行良好的培训之后才能熟练掌握其操作方法,这些缺陷也限制了其进一步的发展,限制了其在市场上的竞争力和占有率。

来自微软的ExchangeServer综合化办公自动化信息系统同样属于典型的群件产品,该系统的诞生年代是1996[8]。产品同样支持用户对工作流进行设置,因此可以适用于不同的行业与不同的场合。此产品的不足之处在于,用户无法直观地进行归纳的设置与操作,并且产品在面对不同用户的需求难以灵活应对,所以导致与其他信息系统间难以实现无缝的兼容,也不能灵活地进行归纳的扩展。以上这些缺陷直接导致ExchangeServer难以进行深度的二次开发。在OA系统诞生的初期,ExchangeServer具有很高的市场占有率,然而其灵活性差,在客户端进行email的操作只能基于 Outlook Express技术,直观性和灵活性均较差,因此发展到现在,这类产品在市场上的占有率以及在用户群中的知名度也渐渐降低。

2)以.NET框架为基础的公文流转信息系统

.NET技术来自Microsoft公司,由于包含了来自微软的各类核心技术,因此具有独到的优势。这些技术包括CLRBCL等,为产品的性能打下了比较良好的基础。基于.NET的开发框架可以与操作系统实现无缝的融合,因此也能够方便地与基于该操作系统的所有应用系统进行数据的交换,这就使系统的开发具有比较好的灵活性,而软件系统的可配置性也大大增强,基于.NET技术的应用系统既能够支持B/S模式,同时也能够支持C/S模式,因此可以比较容易地引入许多种类的现成的中间件,这个优势为其带来了灵活多样的表现形式以及比较强大的功能,并有效地降低了信息系统的开发难度,减少了开发成本[9]

基于.NET开发框架的系统能够支持VB环境、VC环境等多样化的开发工具,所以该开发框架的应用范围比较广泛,逐渐发展成为通用性极强的开发方法[10]。但基于.NET的开发框架同时也存在一些不足之处,其最明显的地方在于,必须通过比较复杂的重定义过程,才能进行公文流转系统的开发与实现,这项不足导致其在进行比较大型应用系统的开发时难以发挥过多的优势。由此可知:基于.NET的开发框架其优势主要表现在灵活性强、具有比较好的可配置性和良好的可扩展性,可以和各种成熟的操作系统进行无缝的融合,从而与基于该操作系统的应用软件方便地进行数据和信息的交互,同时支持B/S 模式与C/S 模式,以及大量中间件[11]

3)以Java环境为基础的公文流转信息系统

Java创始于Sun公司,该公司与上一世纪九十年代正式推出基于Java的设计开发平台以及Java语言[12],客观地将,Java平台是至今在世界范围之内被广为接受的、使用最为广泛的编程语言,其最大的优势在于开发环境简单,支持面向对象的程序设计模式,支持解释型的开发过程,支持多线程的应用,程序的开发与平台无关。此外,该环境能够支持大规模、高效率的数据处理,并且维持较高水平的系统稳定性,因此在开发浏览器形式的信息系统方面表现较好。具体到办公自动化系统,基于Java环境的开发方法能够很好地支持OA系统中的工作流应用,并且在灵活性方面表现较好,能够拥有与.NET环境相同的开发效率。由此可知,基于Java环境的信息系统开发模式十分适合于办公自动化类软件的设计与实现。不过,当前在商用市场之中,基于纯Java环境的办公自动化系统并不占主要优势,不少系统在其部分功能的实现方面使用了Java[13]

综上所述,随着信息技术的发展和应用,办公自动化信息系统的开发模式和使用效果均在近年来取得了比较明显的进步,而具体到本研究所聚焦的企业公文流转系统,因为特定的企业办公流程具有自身独特的特点,因此在处理过程上能够体现出复杂性和多样性,而当前在市场上现有的公文流转信息系统有着各自的优缺点和适应范围[14]。而我国国内的产品则落后于世界上一些发达国家的主流成熟产品,操作包不方便,也难以适应企业自身独特的要求,所以,结合企业实际情况,进行公文流转信息系统的开发设计与实现,具有比较好的理论价值和实践意义。

1.3本文内容安排

本文构建了一套基于MVC的公文处理系统,其内容安排如下:

第一章为系统概述,主要内容为阐述了本文的研究方法与路线,类似的产品在国内与国际的发展现状,以及本文所包括的主要内容。

第二章为基本理论概述,主要内容为研究中将会使用到的技术,包括在J2EE所定义的技术规范中的四个层次:J2EE客户端层、J2EE网络层、J2EE业务层、分布式应用技术以及基于MVC的系统设计。并论述了如何通过MVC结构的使用协助系统对分布式应用程序进行高效的分析。

第三章为系统需求分析,主要内容为公文处理系统的基本需求,包括功能需求与性能需求,在功能需求中,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能。最后阐述了信息系统的性能需求。

第四章为系统概要设计,主要内容为从操作可行性、管理可行性和技术可行性三方面对系统进行可行性分析。然后从安全性原则、可靠性原则、灵活性原则、准确性原则等方面阐述了信息系统的设计原则,最后以目前比较成熟的B/S结构作为基本架构,设置了MVC的结构模式,并阐述系统的框架设计。

第五章为信息系统详细设计,主要内容为用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块的设计。

第六章为信息系统的实现,主要内容为公文处理系统的详细实现求,详细分析了用户管理模块、发文管理模块、收文管理模块、档案管理模块、签报管理模块功能的实现。

第七章为系统测试,主要内容为性能测试与功能测试。在功能测试中,测试均获通过;在性能测试中,引入应用比较广泛的LoadRunner软件。通过构建应用场景,在该场景之内运行所构建的测试脚本,在信息系统上施加一定程度的应用负载和使用压力,来决定系统多能承受的最大负载、最大并发等指标,从而评估其稳定性。

第八章为结束语。总结与展望。

1.4 本章小结

本章为系统概述,主要内容为阐述了本文的研究方法与路线,类似的产品在国内与国际的发展现状,以及本文所包括的主要内容。

 

 

2 基本理论概述

2.1J2EE概述

J2EE开发框架由SUN公司进行开发,J2EE的初衷是构建一个能够在开放式企业级信息系统中应用的标准规范。J2EE在开发伊始便十分注重其在跨软件平台方面的表现,因而这种开发框架十分适合于开发各类公司或者机构的管理信息系统,这也是本研究采用J2EE进行开发的原因。在J2EE构架中,主要的功能在于整合了一批相关的软件产品开发技术规范,同时还为开发者提供一整套基于分布式架构的开发模式[15]

结合具体的功能,一个多层次的分布式应用架构能够将所有类别的应用在逻辑上进行层次的划分,任意一个层次均具备其所对应的组件,以及相应的服务器设备,J2EE提供组建容器,供组件良好的运行[16],举例来讲,J2EEEJB 容器、Servlet 容器即为专供EJBServlet组件运行,为了实现不同组件之间进行即时的调用,J2EE为其提供具有针对性的协议,来实现不同组建之间的通信。

J2EE框架中,所定义的各类组件包括三个类别,分别是系统客户端组建、网络组件以及服务器端组件模型,信息系统的开发人员在开发相关系统时,应结合这些组建所对应的规范,从而获得更好的开发环境支持,在这些组建的支持下,开发者在企业级应用系统的开发中会提高效率。J2EE 组件和层次如图所示[17]

 

2-1 J2EE 组件和层次

J2EE开发环境中,对相关的技术指标进行了定义与部署,因此J2EE可以实现企业级的信息系统。J2EE的分布应用是以API技术与符合指标的工具来共同支持的,通过以下的应用对分布式开发进行支持[18],在这个结构中,对于开发者来说,要提供如下内容:

1J2EE组件

J2EE框架中,其所包括的组件可以引入各种各样的开发语言进行开发,所开发的相关模块还能够重复加以使用,在任意一个组件中,均为开发者准备了相关的方法以及属性等,可以说,J2EE开发方式的核心思想便是基于组件的应用以及容器的使用[19]

2JSP Sevlets

Sevlets 是一种服务器端的Java应用程序,其功能是用于在开发程序里生成页面,也可以通过分析来自系统用户的请求,以调用自身EJB的方式,生成具有针对性的操作,Sevlets J2EE以容器的方式产生的,并且具备内容和显示相互独立的功能。在 J2EE的开发环境里,创建 Sevlets是通过API实现的。

3 服务器端组件技术规范

服务器端组件技术规范的功能是为信息系统开发者提供部署服务器组件的支持,通过这些技术规范,用户在进行开发时,便可以不用再花时间在底层细节问题的实现上,而是可以把更多的精力使用在具体的事务实现之中,在信息系统开发完毕的时候,结合最初的部署,在服务器端组件容器中进行规划,然后进行事务功能的具体实现。服务器端组件技术规范同时也可以对分布式计算进行支持。

4)数据库访问

几乎所有的企业应用信息系统均需要数据库,其作用是很重要的,在软件开发者进行分布式信息系统的开发时,对数据库具有比较高的要求,例如在访问数据库的时候应该体现出比较好的灵活性与功能的可扩展性。

为此,在J2EE框架里,为用户提供了数据库操作

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVC模式是一种经典的设计模式,它将系统分为三个部分:模型(Model)、视图(View)和控制器(Controller),以实现系统的解耦和可维护性。 在简易点餐系统中,我们可以将模型定义为数据模型,视图定义为界面,控制器定义为业务逻辑。 1. 数据模型(Model) 数据模型包含系统中的所有数据,例如菜单,订单,用户等。它负责管理数据的存储、读取和更新。可以使用关系型数据库或非关系型数据库来实现数据模型。 2. 界面(View) 界面是系统的用户界面,它负责展示数据和接收用户的操作。在简易点餐系统中,可以设计一个简单的界面,包含菜单列表、购物车和结算功能。 3. 业务逻辑(Controller) 业务逻辑是系统的核心,它负责处理用户的操作,包括浏览菜单、添加菜品到购物车、修改购物车中的菜品、下单等。在简易点餐系统中,可以设计一个控制器来处理这些操作,并将结果返回给界面。 下面是一个简单的实现: 模型(Model): ``` class MenuItem: def __init__(self, name, price): self.name = name self.price = price class OrderItem: def __init__(self, menu_item, quantity): self.menu_item = menu_item self.quantity = quantity class Order: def __init__(self): self.items = [] def add_item(self, menu_item, quantity): self.items.append(OrderItem(menu_item, quantity)) def remove_item(self, index): del self.items[index] def total_price(self): return sum(item.menu_item.price * item.quantity for item in self.items) ``` 界面(View): ``` class MenuView: def __init__(self, menu_items): self.menu_items = menu_items def display_menu(self): for i, item in enumerate(self.menu_items): print(f"{i + 1}. {item.name}: ${item.price}") class OrderView: def __init__(self, order): self.order = order def display_order(self): for i, item in enumerate(self.order.items): print(f"{i + 1}. {item.menu_item.name} x {item.quantity}: ${item.menu_item.price * item.quantity}") print(f"Total: ${self.order.total_price()}") class CheckoutView: def __init__(self, order): self.order = order def display_checkout(self): print("Thank you for your order!") print("Your order:") OrderView(self.order).display_order() ``` 控制器(Controller): ``` class MenuController: def __init__(self, menu_items): self.menu_items = menu_items self.view = MenuView(menu_items) def display_menu(self): self.view.display_menu() class OrderController: def __init__(self, order): self.order = order self.view = OrderView(order) def add_item(self, menu_item, quantity): self.order.add_item(menu_item, quantity) self.view.display_order() def remove_item(self, index): self.order.remove_item(index) self.view.display_order() class CheckoutController: def __init__(self, order): self.order = order self.view = CheckoutView(order) def checkout(self): self.view.display_checkout() ``` 使用示例: ``` if __name__ == "__main__": # 初始化菜单 menu_items = [MenuItem("Hamburger", 5), MenuItem("Fries", 2), MenuItem("Soda", 1)] # 初始化订单 order = Order() # 显示菜单 menu_controller = MenuController(menu_items) menu_controller.display_menu() # 添加菜品到购物车 order_controller = OrderController(order) order_controller.add_item(menu_items[0], 2) order_controller.add_item(menu_items[1], 1) order_controller.add_item(menu_items[2], 3) # 修改购物车中的菜品 order_controller.remove_item(0) # 结算订单 checkout_controller = CheckoutController(order) checkout_controller.checkout() ``` 这就是一个简单的基于MVC设计模式的点餐系统的实现。它将系统的不同部分分离开来,使得系统更易于维护和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值