干部教育平台培训子系统的设计计算机网络安全论文.docx
《干部教育平台培训子系统的设计计算机网络安全论文.docx》由会员分享,可在线阅读,更多相关《干部教育平台培训子系统的设计计算机网络安全论文.docx(66页珍藏版)》请在冰点文库上搜索。
干部教育平台培训子系统的设计计算机网络安全论文
摘要
随着干部教育培训对象的不断拓展、培训规模的扩大和知识经济时代、学习型社会的到来,建立更加开放、更加全面和更加人性化的开放式教育培训体系是实现大规模培训干部战略的迫切要求。
在网络技术不断发展的今天,设计开发出基于网络的干部教育培训系统是实现干部教育培训的最好途径,使干部教育培训更加灵活、务实、有效,能有效解决工学矛盾、需求矛盾、资源矛盾等,有利于进一步整合现有培训资源,实现培训效益最大化。
本文在对干部教育培训现状及实行开放式干部教育培训的重要意义进行论述的基础上,选择B/S模式作为系统开发模式,运用.NET平台下的ASP.NETMVC框架技术,设计出以MicrosoftSQLserver2005为数据库的干部教育培训系统。
本文主要运用基于UML的面向对象分析方法,对系统的业务需求、功能需求、用户需求等进行了分析。
采用ASP.NET应用程序的三层架构模式进行了系统的架构设计,对系统各功能模块、数据库、用户界面、系统安全等进行了分析和设计,并对系统的实现进行了详细阐述。
本文的主要工作如下:
①对重庆市组织部现有情况进行分析
通过对重庆市组织部现有软硬件情况,当前重庆市组织部旧系统已不能满足实际应用,通过对当前国内外分析,确立了基于B/S模式的以ASP.NETMVC框架来实现重庆市干部教育平台。
②对重庆干部教育平台培训工作子系统进行了需求分析和详细设计
对于干部教育培训系统的设计,主要研究了该系统的功能需求,结构设计,功能模块的设计,体系架构以及权限分配等。
③对干部教育平台培训工作子系统进行了研究与实现
对基于B/S模式下重庆市干部教育平台进行了设计,并对干部教育培训中核心子系统培训工作子系统进行了实现。
④干部教育平台应用效果分析
效果分析主要从系统速度、系统稳定性、系统安全性等方面进行分析。
时也对系统设计的不足作详细分析,提出在后续工作中应该改进的方面。
关键词:
干部教育平台,ASP.NET数据库技术,培训工作,系统设计实现
1绪论
1.1课题背景及意义
干部教育培训工作是一项长期的系统工程,如何利用先进的信息技术为干部教育培训工作提供系统、高效、便捷、可靠、安全的信息管理服务;如何有效地存储、利用工作数据和经验,使这项工作纵向保持连续性、横向保持完整性;如何为工作创新提供有力的信息支持和决策辅助,这些都是当前干部教育培训工作亟待解决的问题。
目前,全市的干部培训规模大、培训对象和班次多、培训内容丰富,需要管理的工作程序、信息项目非常复杂。
比如从宏观来说,包括培训任务的规划、分解、培训教材的编写、培训基地的建设、培训师资的管理、培训结果的统计、培训效果的评价等;从微观来说,包括每一期培训班从确定培训时间、培训对象、培训主题、培训内容、培训要求、培训目标,到确定培训地点、培训师资、选调学员、组织教学、培训考核,培训总结(评估)等。
以上工作都必须逐一进行原始记载、分析处理和科学管理。
为了完成中央和市委部署的干部教育任务,就必须全面掌握我市三支队伍的总体培训情况,以及每次培训班的具体情况等相关信息。
只有这样才能做到合理制订培训方案、确定培训内容、选择培训学员,达到全面培训、科学实施,不漏训、不复训的目标。
建立一套干部教育培训管理信息系统,有助于把握培训工作规范,更好地利用现有的培训经验来指导今后的培训工作,有利于建立科学的培训体系,为干部教育培训工作提供必要的信息技术支持,并不断开拓创新。
本文主要是通过在对国内干部教育培训的现状进行分析和对积极推行干部教育培训在INTERNET上应用的重大意义基础上,系统采用B/S(浏览器/服务器)模式、ASP.NET技术、ASP.NETMVC框架,以MicrosoftSQLSERVER2005作为数据库对干部教育培训系统进行设计和开发。
本课题拟通过对干部教育培训过程进行分析,利用先进的计算机技术与网络。
目的是开发出高性能、高安全性、操作方便的干部培训系统。
本系统的实现,具有以下意义:
1建立全市干部教育培训工作平台。
2完善全市干部教育培训电子档案信息库,实现纸质档案扫描存储归档。
3实现全市组织系统、重点施教机构等干部教育培训工作的网络实时协同办公,实现短信通知到达。
4实现全市干部教育培训数据的信息共享,网络化管理,多维度查询、分析、图文报表,数据挖掘。
5实现与干部在线学习平台接口,结论信息自动进入电子档案系统。
6改善干部教育培训的方式,使培训实现科学化与规范化、信息化与自动化,以提高教育培训质量,降低培训成本。
7改革培训方式,通过现代化培训理念、现代化培训方式,以增强干部素质。
1.2国内外研究现状
国内外现行的干部教育培训大多还处于传统的以课章、教材和教师为中心,教师在课堂中处于主导和支配地位,干部则处于被动接受地位的模式。
据笔者了解,国内均未将现代信息技术和网络技术很好的运用到干部教育培训中。
在网络中进行搜索,偶尔有基于网络的干部教育培训模式,但均还处于单一的网页浏览状态,往往出现难以对教育培训过程进行有效的管理和监控,不能真正发挥教育培训的作用。
干部教育培训工作是一项长期的系统工程,如何利用先进的信息技术为干部教育培训工作提供系统、高效、便捷、可靠、安全的信息管理服务;如何有效地存储、利用工作数据和经验,使这项工作纵向保持连续性、横向保持完整性;如何为工作创新提供有力的信息支持和决策辅助,这些都是当前干部教育培训工作亟待解决的问题。
1.3本文主要的研究工作
据调研,目前组织部只有一套自行研发的干部信息数据中心管理软件。
该软件虽然能够全面管理全市所有干部信息但却不能解决在上段中提到的干部培训管理方面的诸多问题,由此也造成了实际工作中的诸多不便。
基于对重庆市干部教育现有业务的全面了解和分析,以及与市委组织部干部教育处、信息管理处间的交流与讨论。
为了能缩减不必要的手工业务流程、提高办事效率、节省管理费用、提高干部教育培训管理水平、增强干部教育培训工作的针对性和时效性。
本文的研究工作有:
①提出以ASP.NETMVC框架作为系统的开发框架的系统开发模式。
②剖析了干部教育系统发展的过程中存在的一系列问题,并针对这些问题提出针对性需求,并对需求进行了合理的分析。
③完成了重庆市干部教育平台的需求与设计,并使用了以SQLServer2005为主的数据库技术加以实现。
④对重庆市干部教育平台的不足与运行效果进行了有效的评估,提出了在后续的开发工作中应该改进的方面。
1.4论文章节安排
第一章阐述课题背景、研究意义、论文所要解决的问题以及论文的章节安排。
第二章对相关理论和技术的分析和研究,提出了实用的干部教育培训系统解决方案。
第三章对重庆市干部教育平台进行需求和可行性分析,进而提出项目设计的具体规划。
第四章对重庆市干部教育平台进行设计及功能分析,提出设计目标和设计思想,并且对培训工作子系统进行了比较详细的设计,给出了系统结构图,并进行功能分析。
第五章对重庆市干部教育平台培训工作子系统给出了详细设计和具体实现。
第六章说明了系统使用情况,对系统开发和使用作出了总结,并提出了自己的看法和展望。
1.5本章小结
本意阐述了基于ASP.NTEMVC框架开发的重庆市干部教育平台的选题背景和意义,分析了国内外对此问题的研究现状,提出了本文的主要研究工作,最后提出了本文研究工作的内容。
2关键技术分析
2.1系统开发模式
2.1.1B/S体系结构
B/S(Browser/Server)结构即浏览器和服务器结构。
这是随着Internet技术的兴起,相对于C/S结构的一种变化或者改进的结构。
在B/S结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,主要事务逻辑是在服务器端(Server)来实现。
B/S三层体系结构采用三层客户/服务器结构,在数据管理层(Server)和用户界面层(Client)之间增加了一层,称为中间件(Middleware),使整个体系结构成为三层。
三层结构是伴随着中间件技术的成熟而兴起,核心是利用中间件将整个应用分为表示层、业务逻辑层、数据存储层三个不同的处理层次。
这样实现的好处在于大大简化了客户端计算机负载,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。
B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。
客户端实现零维护,系统扩展也很容易实现,只要一台能联网的计算机,再由系统管理员分配一个用户权限,此用户就可以进行系统的一定操作。
2.2研究平台介绍
2.2.1.NET平台简介
.NET平台是微软的主要开发平台。
这个主题十分广泛,包含了很多规范,如组件格式、编程语言、标准类库和开发工具等。
主要包括以下内容:
.NETFramework,包括:
CommonLanguageRuntime(CLR)(公共语言运行环境),是用于运行和加载应用程序的软件组件;公共语言运行库是.NETFramework的基础。
公共语言运行库是一个在执行时管理代码的代理,它提供内存管理、线程管理和远程处理、代码执行、代码安全验证、编译等核心服务。
.NETFramework类库,它是一个综合性的面向对象的可重用类型集合,可以使用它开发多种应用程序,为开发人员提供了统一的、面向对象的、分层的和可扩展的类库集(API)。
这些应用程序包括传统的命令行或图形用户界面(GUI)应用程序,也包括基于ASP.NET所提供的最新创新的应用程序(如Web窗体和XMLWebServices)。
.NET开发工具,包括:
VisualStudio.NETIntegratedDevelopmentEnvironment(IDE)(Visualstudio.NET集成开发环境),用于生成ASP.NETWeb应用程序、XMLWebservices、桌面应用程序和移动应用程序。
VisualBasic、VisualC#和VisualC++都使用相同的集成开发环境(IDE),这样就能够进行工具共享,并能够轻松地创建混合语言解决方案。
另外,这些语言使用.NETFramework的功能,它提供了可简化ASPWeb应用程序和XMLWebservices开发的关键技术。
ASP.NET用于取代以前的ActiveServerPages(ASP)的特殊类库,用来创建动态的WEB内容和WEB服务器应用程序,受用如HTML、XML和SimpleObjectAccessProtocol(SOAP)(简单对象访问协议)等Internet协议和数据格式。
NETFramework组成如下:
图2.1.NETFramework结构图
Fig.2.1structureofthe.NETFramework
2.3ASP.NETMVC技术分析
2.3.1MVC框架概述
MVC是将一个应用实现分成三个组件角色的框架技术。
分为:
模型,视图和控制器。
Model(模型)主要是负责保持状态的应用组件。
状态通常都持久于数据库中。
包含了应用问题的核心数据、逻辑关系和计算功能,并封装了所需的数据,提供了完成问题处理的操作过程。
控制器依据I/O的需要调用这些操作过程。
模型还为视图获取显示数据而提供了访问其数据的操作。
这种变化-传播机制体现在各个相互依赖部件之间的注册关系上。
模型数据和状态的变化会激发这种变化-传播机制,它是模型、视图和控制器之间联系的纽带。
View(视图)主要是负责显示用户界面的组件。
UI通常是使用模型数据来创建的,例如,生成一个Product"编辑"视图,根据当前Product对象状态,显示文本框,下拉框和复选框等。
视图通过显示的形式,把信息转达给用户。
不同视图通过不同的显示,来表达模型的数据和状态信息。
每个视图有一个更新操作,它可被变化-传播机制所激活。
当调用更新操作时,视图获得来自模型的数据值,并用它们来更新显示。
在初始化时,通过与变化-传播机制的注册关系建立起所有视图与模型间的关联。
视图与控制器之间保持着一对一的关系,每个视图创建一个相应的控制器。
视图提供给控制器处理显示的操作。
因此,控制器可以获得主动激发界面更新的能力。
Controller(控制器)主要是处理用户交互,操作模型和最终选择用哪个视图来显示UI的组件。
它通过时间触发的方式,接受用户的输入。
控制器如何获得事件依赖于界面的运行平台。
控制器通过事件处理过程对输入事件进行处理,并为每个输入事件提供相应的操作服务,把事件转化成对模型或相关视图的激发操作。
如果控制器的行为依赖于模型的状态,则控制器应该在变化-传播机制中进行注册,并提供一个更新操作。
这样,可以由模型的变化来改变控制器的行为,如禁止某些操作。
也就是说视图只是用来显示信息,控制器来处理和回应用户的输入和交互。
图2.2MVC执行流程
Fig.2.2executeflowofMVC
2.3.2ASP.MVC框架
模型-视图-控制器(Model-View-Contoller,MVC)架构模式将应用程序分为了三个主要的组件:
模型,视图和控制器。
ASP.NETMVC框架为ASP.NETWeb表单模式提供了另一种开发模式――基于MVC的Web应用程序。
ASP.NETMVC框架是一个轻量的、高度可测试的表现层框架(与基于表单的Web应用程序相同),它继承在了现有的ASP.NET功能之中,例如模板页和基于Membership的验证。
MVC框架定义在了System.Web.Mvc命名空间中,并且是必不可少的,由部分System.Web命名空间支持。
MVC是一个许多开发者都熟悉的、标准的设计模式。
一些类型的Web应用程序将从MVC框架中受益。
其他一些应用程序将会继续使用基于Web表单和Postback的传统ASP.NET应用程序模式。
还有一些Web应用程序将会将这两种方法结合;这两种方式互不排斥。
MVC模型帮助创建这样的应用程序,它能够将应用程序的各个方面区分开(输入逻辑、业务逻辑,以及UI逻辑),同时提供这些元素之间的松耦合。
这个模式指定了每一种逻辑应该位于应用程序的哪个位置。
UI逻辑属于视图。
输入逻辑属于控制器。
业务逻辑属于模型。
这种分隔有助于你在创建应用程序时管理复杂性,因为它能够让你在一次将精力集中于实现的某一方面。
举个例子,你可以集中在视图,而不依赖于业务逻辑。
除了管理复杂性以外,测试应用程序时MVC模式比基于Web表单的ASP.NET应用程序要简单得多。
举个例子,在一个基于Web表单的ASP.NET应用程序中,一个类既用于显示输出,也用于响应用户输入。
为基于Web表单的ASP.NET应用程序编写自动测试程序是很复杂的,因为要测试每个页面,你必须初始化页面类,它的所有子控件,以及应用程序中其他有所依赖的类。
因为为了运行页面初始化了这么多的类,所以编写专用于应用程序单独部分的测试就变得很困难了。
测试基于Web表单的ASP.NET应用程序因此比测试MVC应用程序更加难以实施。
除此以外,基于Web表单的ASP.NET应用程序需要一个Web服务器。
MVC框架将组件进行了解耦,并且大量使用了接口,使得测试独立于框架其他部分的组件成为可能。
MVC应用程序三个主要组件之间的松耦合也提升了并行开发的程度。
举个例子,一个开发者可以开发视图,第二个开发者可以开发控制器逻辑,而第三个开发者可以将精力集中于模型中的业务逻辑。
2.3.3决定如何创建MVC应用程序
必须认真考虑是使用ASP.NETMVC框架实现Web应用程序,还是使用ASP.NETWeb表单模型来实现Web应用程序。
MVC框架并没有取代Web表单模型;你可以选择使用MVC框架(如果你已经有基于Web表单的应用程序,它们可以继续像往常一样工作)。
对于一个特定的Web站点,在你决定使用MVC框架或者Web窗体模型之前,权衡一下每一种方式的优势。
ASP.NETMVC框架提供了下面的优点:
通过将应用程序分为了模型、视图和控制器,它在管理复杂性方面更加的简单。
它不适用视图状态或者基于服务器的表单。
对于那些想要完全控制应用程序行为的开发者来说,MVC框架是很理想的。
通过一个控制器,它使用了FrontController模式来处理对Web应用程序的请求。
这允许你设计出一种可以支持丰富的路由结构的应用程序。
关于FrontController的更多信息,可以查看MSDN网站。
它为测试驱动开发(test-drivendevelopment,TDD)提供了更好的支持。
对于那些由大型开发者和设计者所支持的Web应用程序来说,它运作得很好,能够对应用程序的行为提供更高层次的控制。
基于Web窗体的框架提供了下面的优势:
它支持在HTTP上保存状态的事件模型,这有益于line-of-business的Web应用程序开发。
基于Web窗体的应用程序提供了大量的事件,它们被数以百计的服务器控件所支持。
它使用了一个PageController模式来为单个页面添加功能。
关于PageController的更多信息,可以参考MSDN网站。
它使用了视图状态或者基于服务器的表单,这使得管理状态信息更加容易。
对于那些想要利用大量的用于快速应用程序开发组件的小型Web开发者和设计者团队来说,它工作得很好。
总的来说,对于应用程序开发来说,它更加的简单,因为组件(Page类,控件等)已经紧密地集成了,并且通常比MVC需要编写更少的代码。
2.4ADO.NETEntityFramework分析
2.4.1对象关系映射(ORM)
对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。
本质上就是将数据从一种形式转换到另外一种形式。
这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。
更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
ORM的全称是ObjectRelationalMapping,即对象关系映射。
它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将这些对象组织起来,实现系统业务逻辑的过程。
在ORM过程中最重要的概念是映射(Mapping),通过这种映射可以使业务对象与数据库分离。
从面向对象来说,数据库不应该和业务逻辑绑定到一起,ORM则起到这样的分离作用,使数据库层透明,开发人员真正的面向对象。
图2.3简单说明了ORM在多层系统架构中的这个作用。
对象关系映射(ObjectRelationalMapping,简称ORM)是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术。
简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将java程序中的对象自动持久化到关系数据库中。
本质上就是将数据从一种形式转换到另外一种形式。
这也同时暗示者额外的执行开销;然而,如果ORM作为一种中间件实现,则会有很多机会做优化,而这些在手写的持久层并不存在。
更重要的是用于控制转换的元数据需要提供和管理;但是同样,这些花费要比维护手写的方案要少;而且就算是遵守ODMG规范的对象数据库依然需要类级别的元数据。
ORM的全称是ObjectRelationalMapping,即对象关系映射。
它的实质就是将关系数据(库)中的业务数据用对象的形式表示出来,并通过面向对象(Object-Oriented)的方式将这些对象组织起来,实现系统业务逻辑的过程。
在ORM过程中最重要的概念是映射(Mapping),通过这种映射可以使业务对象与数据库分离。
从面向对象来说,数据库不应该和业务逻辑绑定到一起,ORM则起到这样的分离作用,使数据库层透明,开发人员真正的面向对象。
图2.3简单说明了ORM在多层系统架构中的这个作用。
图2.3ORM在多层系统架构中的作用
Fig.2.3effectofORMinmultilayersystemdesign
目前大多数项目或产品都使用关系型数据库实现业务数据的存储,这样在开发过程中,常常有一些业务逻辑需要直接用写SQL语句实现,但这样开发的结果是:
遍地布满SQL语句。
这些高藕合的SQL语句给系统的改造和升级带来很多无法预计的障碍。
为了提高项目的灵活性,特别是快速开发,ORM是一个不错的选择。
举个简单的例子:
在使用ORM的系统中,当数据库模型改变时,不再需要理会逻辑代码和SQL语句中涉及到该模型的所有改动,只需要将该模型映射的对象稍作改动,甚至不做改动就可以满足要求。
2.4.2ADO.NET实体框架(ADO.NETEntityFramework)
实体框架是ADO.NET中的一组支持开发面向数据的软件应用程序的技术。
面向数据的应用程序的架构师和开发人员曾为实现两个迥然不同的目标费尽心机:
他们必须为要解决的业务问题的实体、关系和逻辑构建模型,还必须处理用于存储和检索数据的数据引擎。
数据可能跨多个各有不同协议的存储系统;甚至使用单个存储系统的应用程序也必须在存储系统的要求与编写高效且易维护的应用程序代码之间取得平衡。
实体框架采用特定于域的对象和属性(如客户和客户地址)的形式使用数据,不必自己考虑存储这些数据的基础数据库表和列。
通过提升开发人员在处理数据时可以使用的抽象级别并减少创建和维护面向数据的应用程序所需的代码,可以实现这一目的。
实体框架是.NETFramework的一个组件,应用实体框架应用程序在安装了.NETFramework3.5ServicePack1(SP1)的计算机上运行。
数据建模
数据建模是一种常见的设计模式,将数据模型分为三个部分:
概念模型、逻辑模型和物理模型。
概念模型定义要建模的系统中的实体和关系。
关系数据库的逻辑模型通过外键约束将实体和关系规范化到表中。
物理模型通过指定分区和索引等存储详细信息实现特定数据引擎的功能。
实体框架可使开发人员查询概念模型中的实体和关系,同时依赖于实体框架将这些操作转换为特定于数据源的命令,从而为概念模型赋予生命。
这使应用程序不再对特定数据源具有硬编码的依赖性。
概念模型、存储模型以及两个模型之间的映射以外部规范(称为实体数据模型(EDM))表示。
可以根据需要对存储模型和映射进行更改,而不需要对概念模型、数据类或应用程序代码进行更改。
存储模型是特定于提供程序的,因此可以在各种数据源之间使用一致的概念模型。
EDM由以下三种模型和具有相应文件扩展名的映射文件进行定义。
1概念架构定义语言文件(.csdl)--定义概念模型。
2存储架构定义语言文件(.ssdl)--定义存储模型(又称逻辑模型)。
3映射规范语言文件(.msl)--定义存储模型与概念模型之间的映射。
实体框架使用这些基于XML的模型和映射文件将对概念模型中的实体和关系的创建、读取、更新和删除操作转换为数据源中的等效操作。
EDM甚至支持将概念模型中的实体映射到数据源中的存储过程。
访问和更改实体数据
实体框架不仅仅是另一种对象关系映射解决方案,还从根本上使应用程序可以访问和更改表示为概念模型中的实体和关系的数据。
对象服务使用EDM将对概念模型中所表示的实体类型的对象查询转换为特定于数据源的查询。
查询结果具体化为对象服务管理的对象。
实体框架提供