《毕业设计(论文)课题教师申报系统设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)课题教师申报系统设计.doc(35页珍藏版)》请在三一办公上搜索。
1、高校毕业设计(论文)课题教师申报系统设计摘 要随着计算机网络和Internet的普及,运用先进的管理信息系统及软件开发平台,对信息进行科学化和网络化管理,己经成为高校信息系统的发展趋势。目前,几乎所有高校的职能部门都已经建立了针对日常职能工作的管理信息系统。然而,对于高校下属的各个院系来说,目前还缺乏有效的网络化信息管理。本科毕业设计是教学管理的重要方面,也是培养学生综合素质和实践能力的重要环节。本文针对院系级毕业设计教务管理工作,首先分析了其主要的业务流程和信息交流交互内容,结合学校对这一环节的管理标准和要求,进行的系统功能设计和数据库设计。利用ASP.NET和SQL Server为开发平台
2、,构建了“基于Web的毕业设计信息管理系统”,为这一环节的教务管理和参与毕业设计的师生提供了一个良好信息平台。关键字:毕业设计,管理信息系统,.NET,ASP.NET,C#。College Graduation Desgin (Thesis) Topics Teacher Report SystemAbstractWith the development of network technology and the prevalence of Internet,managing the campus information using advanced MIS technology and so
3、ftware development platforms has become the latest trend sweeping the university management architectures till now almost all the functional departments in universities have setup MIS systems concerning their own daily works,while academic faculties/departments still witness poor network-based infor
4、mation management.According to the need of academic faculties/departments,we present a Web-based MIS for bidirectional choice of graduation design Depending on good campus net,applying B/S structure and advanced .NET technology, the system contains much management of graduation design,and provides a
5、 net palm for graduation design.Key words: Graduation design,MIS,.NET,ASP.NET, C#。目 录第一章 概 述11.1课题的目的11.2国内外研究现状和发展趋势11.3研究课题的基本思路3第二章 需求分析52.1可行性分析52.1.1经济可行性52.1.2技术可行性52.1.3用户使用可行性52.2需求分析62.2.1角色分析62.2.2 UML介绍及用例分析62.3功能需求9第三章 功能设计113.1功能层次设计113.2数据流程设计12第四章 信息设计134.1基础数据设计13第五章 系统开发平台及实现方案145.1
6、开发平台145.1.1 .NET框架145.1.2先进的ASP.NET技术145.1.2.1 ASP技术介绍145.1.2.2 ASP.NET技术155.1.2.3 ASP.NET Web应用程序165.1.2.4 ASP.NET Web窗体基本概念175.1.2.5 ASP.NET的配置175.1.3新一代数据访问模型ADO.NET概述185.1.3.1 ADO.NET的组件与对象模型195.1.3.2数据表示205.1.4 SQL Server 2000简介205.1.4.1 SQL Server 2000客户服务器体系结构205.1.4.2 SQL Server 2000特性215.2系
7、统实现方案225.3用户界面设计23第六章 总结与展望256.1全文总结256.2展望25附 录26参考文献31致 谢32第一章 概 述1.1课题的目的本科毕业设计是大学四年教学工作中的重要一环,是培养学生综合素质,实践能力,综合知识运用能力的重要途径;本科毕业设计也是大学四年的最后一环,是学生进一步深造或走向工作岗位的前站,毕业设计兼有帮助学生完成这一过程的任务;而且本科毕业设计还是对教学工作的一个总体检验,从中可以发现教学中存在的问题,特别在知识结构、课程内容的合理性、先进性等方面的问题。本科毕业设计管理工作是教学管理工作的重要环节,具有工作量大,灵活性强、时间要求紧、对本科教学质量影响大
8、等特点。特别是近年来,随着高校本科扩招工作的进一步深入,每年毕业生人数不断增加,再加上院校合并、扩建带来的异地办公、教学,毕业设计的管理工作难度越来越大,目前高校普遍采用的传统单机管理模式,存在成本高、重复劳动量大、效率低、难维护等缺点,难以适应本科毕业设计管理的要求。我们针对本科毕业设计管理过程中,选题灵活性强、指导老师多、毕业设计地点分散、进度要求严格、工作量大等特点,采用微软最新推出的.NET平台,基于三层体系结构构建了一个适合于高校使用的网上毕业设计管理系统,从学生的角度,可以通过B/S方式与老师进行交流,实现毕业设计题目的双向选择,协商设计目标、内容、进度等。对于教务管理,管理人员可
9、以开启本年度的毕业设计任务,控制双向选择的进程,随时查询、了解毕业设计进行的过程,不但提高了工作效率,而且提高了管理水平。课题的目的旨在应用现代的信息网络化管理技术解决毕业设计管理中存在的问题,减少师生毕业设计选题时间,增进、加强毕业设计过程监控。降低导师和教务员工作强度。1.2国内外研究现状和发展趋势随着教育产业化进程的逐步推进,各大高校纷纷合并,走上了强强联合、资源共享的路子。高校的规模不断扩大,如何合理利用教学资源,有效地加强教学管理工作,已成为各大高校十分关注的问题。目前,在教学管理方面,特别是学生学籍管理、成绩管理等方面都普遍采用了网络化管理技术,而对于毕业设计这一重要的教学环节,和
10、其他教学课程一样,普遍采用传统的单机管理模式,主要进行毕业设计基本信息和成绩的输入输出工作,而对于毕业设计的选题、毕业设计过程中管理,以及毕业设计效果的统计分析等工作还没有纳入管理系统中。目前随着教学改革的不断深入,学校办学规模的不断扩大,如何有效地增强教学管理水平,充分调动学生的学习积极性,提高毕业设计的教学质量是各高校教学管理工作的重点之一。目前,毕业设计的双向选择和毕业设计过程的动态跟踪与交流己成为毕业设计环节教学改革的重要内容,英国诺丁汉大学开发了专门的管理系统实现了毕业设计的网上双向选择,国内南开大学己开发了毕业设计网站,为毕业设计的选题、师生交流和毕业设计成绩的管理提供了良好的环境
11、,取得了良好的效果。要实现毕业设计的网上双向选择及设计过程的动态管理,单纯采用传统的单机环境和C/S层模式难以满足要求。近年来兴起的信息网络化动态管理技术为这一系统的开发提供了良好的条件,其中,Microsoft.NET(简称.NET)是实现这一技术的基础平台.NET是微软公司于2000年6月正式推出的下一代计算计划,.NET的推出对于整个IT业界来说具有革命性的意义。.NET是建立在Windows环境下的基于XML(Extensible Markup Language)的一个全新平台和编程模型,.NET统一了编程类库,它将过去的WindowsAPI, MFC, ATL等以及其他一些工具集成在
12、一起,封装成一套通用的Mirosoft.NET Framework.NET提供了下一代网络通信标准和对XML的完全支持,使得在.NET平台下开发应用程序变得更加简便。更重要的是.NET将改变Internet的行为方式,彻底改变软件的开发、发行、使用方式,实现将软件变为服务的思想。C#语言是Microsoft专门为.NET平台“量身定做”的一种新型的面向对象的编程语言。它吸收了Java许多优点,既具有VB的简单易用,又具有C+的灵活和功能强大的特点,它克服了运用C/C+进行项目开发时难度大和周期长的缺点。在.NET平台上运用C#可以很便捷地开发分布式动态管理系统。目前该技术已在企业的ERP系统和
13、大型商业零售业管理系统开发中得到应用,对于实现企业信息的网络化管理取得了很好的效果。1.3研究课题的基本思路本文在对高校本科毕业设计的现状与特点进行分析研究之后,进行了“基于WEB的毕业设计信息管理系统开发设计”的研发工作。拟结合目前软件工程、Web数据库应用程序设计等领域的先进技术,在以.NET环境为开发平台的基础上,通过ASP.NET, C#编程语言、SQL Server2000数据库、ADO.NET进行开发,实现毕业设计选题过程的网络化管理。本系统的研发工作分为以下7个主要阶段:(1)系统需求分析与系统的功能设计。包括可行性分析、系统详细调查和用户需求分析,获取毕业设计选题过程的业务流程
14、,收集各种用户对系统功能的要求,整理相关信息资料,确定系统的开发范围。(2)数据库设计。确定数据库结构,设计数据库的各种参数、创建实体数据库和数据库的表、视图和触发器等数据库对象。(3)程序模块划分和实现。根据系统所管理的信息的类型和功能对系统进行模块划分,分别编写代码,逐一实现系统功能。(4)安全策略设计。根据系统功能划分用户类型和权限,并进行安全模型的设计。(5)内部测试。完成系统主体功能后,进行系统内部测试,查找设计缺陷与错误,对缺陷和错误进行改进和纠正。(6)用户测试。以07专升本2班师生为实验用户,对系统进行初步试运行,从一定的用户群中查找设计错误,进行及时更正。(7)项目实施与维护
15、。在用户对系统认可并确认没有重大设计缺陷和错误的情况下,最终在全院各系进行系统实施,并进行维护。在完成上述工作之后,设计和实现了基于Web的毕业设计双向选择系统,该系统具有以下特色和功能:(1)使用了ASP.NET+SQL Server的先进开发模式。ASP.NET是目前用于创建、管理和部署Web应用程序的最理想平台;SQL Server具有优良的性能和可伸缩性;易于使用。ASP.NET和SQL Server同是微软的产品,具有良好的兼容性和稳健的接口,两者结合是开发Web应用系统的金牌组合。(2)实现了毕业设计双向选择。教师在网上出题、选择学生和学生在网上选择教师。(3)实现了“毕业设计”过
16、程监控(跟踪)。教务管理人员可以全程跟踪毕业设计出题、选题情况。(4)为导师和学生提供了毕业设计过程交互平台。(5)为教务员和导师提供了毕业设计过程交互平台。1.4本文组织结构第一章是绪论。首先介绍了课题的目的,然后分析了国内外研究现状和发展趋势,接着总结了本课题的研究思路、系统的特色与功能,最后是本文的组织结构。第二章是需求分析。分析了系统开发的可行性,在此基础上作了详细的需求分析,包括角色分析,业务流程分析和功能需求分析。第三章是系统的功能设计。依据系统各功能模块构造了功能树(DFD),并根据数据流向设计了数据流图。第四章是系统的信息设计。列举了数据库的各基表设计。第五章是系统开发平台介绍
17、及系统实现。第六章是总结与展望,总结工作和成果,指出不足,对系统进一步开发进行展望。第二章 需求分析2.1可行性分析针对毕业设计双向选择系统的实际情况,将可行性分析分为经济可行性、技术可行性和用户可行性三部分进行。2.1.1经济可行性随着计算机技术的飞速发展和高校高等教育体制改革的不断深入,传统的教师管理方法、手段以及工作效率己经不能适应新大发展需要,无法很好地完成毕业设计工作的要求。提高管理水平的主要途径是更新管理者的思想,增强管理活动的科学认识。同时,运用先进的信息技术,开发网络化信息系统,是深化高校教育体制改革的有效措施。目前,几乎所有高校的职能部门都己建立了针对部门日常职能工作的管理信
18、息系统,如教务处的教务系统,科研处的科研管理系统等。这些系统在很大程度提高了部门的工作效率和管理水平。高校中的院系作为管理教师和学生的最直接机构,也需要建立自己的信息库,将教学、科研、信息化和网络化管理。2.1.2技术可行性(1)完善的校园网络平顶山学院的校园网络经过十年建设,己经具备相当规模。各校区校园网节点光纤连接到了所有的办公楼、实验楼、学生宿舍楼及教职工住宅楼,为教师和学生上网提供了良好的网络硬件支持。(2)功能强大的开发平台目前的管理信息系统开发平台的功能已十分强大。Microsoft SQL 2000企业版是性能稳定的服务器平台;而Microsoft Visual Studio.N
19、ET 2005更是具有Web开发的强大优势。SQL Server+ASP.NET正是开发基于Web的信息系统的黄金组合.2.1.3用户使用可行性目前,我院教师无论是家庭还是办公室均己接入Internet,上网十分方便。对于学生,本科毕业生拥有电脑的非常多,且学生宿舍均可上网。极少数没有电脑的毕业生完全可以借同学的电脑上网或在学院计算中心上网,完成毕业设计选题任务。2.2需求分析信息系统的开发目标必须以满足用户需求为前提,而在系统开发的第一阶段中,用户的需求往往是不完整的、不明确的,需要开发者协助用户对需求做进一步的理解乃至创造并归纳出较为详细的需求说明方法的特点是可以在整个开发过程中回头补充调
20、整各阶段的工作,因此,用户需求分析在最初并不显得像结构化方法那么重要。但是,一个相对完整、准确的用户信息系统开发带来良好的开端,也会使开发过程少走许多弯路。因此,花了很长时间进行详细的用户需求调查。2.2.1角色分析本系统设计的目标是:管理功能完整、数据共享、信息传递方便快捷。结合院系管理工作特点,实现院系师生档案信息和毕业设计过程的网上管理,并实现向职能部门的信息上报工作,便于学校、教师和学生三方获取信息。本系统利用UML (Unified Modeling Language)统一建模语言的支撑软件微软公司的Visio Professinoal 2003并结合管理流程,进行了面向对象建模设计
21、,这将能够保证开发过程的更加流畅及Web系统的维护更加容易.在设计过程中,为了确保决策的最优化,进行一些先期规划是必要的首先要对系统进行分析,确定系统角色,即各类用户在系统中所承担的职责。本系统的角色包括了教务员、教学院长、系主任(所长)、教师(导师)、学生、系统维护员。下面例举这些角色。教务员:教务管理、统计分析、过程监控教学院长:审批、监控、分析、决策系主任(所长):任务发放、审核、监督、跟踪教师(导师):出题、选择学生、交流(指导)学生:选题(选导师)、提交毕业设计文档、交流(接受指导)等系统维护员:权限配置、数据备份、系统完善2.2.2 UML介绍及用例分析UML是在Booch, OM
22、T, OOSE等面向对象建模方法的基础上发展起来的新一代标准图形化建模语言。它具有非常丰富的表达能力,是目前最为流行的建模语言。我们首先采用UML的用例图(Use Case Diagrams)对毕业设计进行需求分析,然后再利用活动图(Activity Diagrams)对它的工作流程进行活动分析。UML(统一建模语言,Unified Modeling Language)是一种用于对软件系统制品进行规格化、可视化、文档化以及构建的新一代建模语言,具有表达能力丰富,表达清晰,应用广泛,不但可以应用于对软件系统进行建模,也可以应用于对商业架构和商业过程等非软件系统建模,而特别是适用于为大型复杂的、需
23、求不明确的系统建模等特点。UML用模型来描述系统的静态结构和动态行为特征。从模型视图的角度来说,UML为系统定义了以下几种图:(1)用例图(Use Case Diagrams)用例图完全是站在外部用户的角度,从系统的外部来观察系统,看系统能给用户提供一些什么样的功能。在用例图中,系统功能的具体实现细节被隐藏,系统被看作为黑箱。用例图描述了外部执行者与用例的通信以及用例间的关系。用例间的关系有使用关系、扩展关系等。使用关系就是一个用例使用了另一个用例的功能;而扩展关系就是一个用例在另一个用例的基础上增加了新的功能。(2)类图(Class Diagrams)类图描述的是系统的静态结构。它由类以及类
24、与类之间的关系来描述系统。类由一个包含三个隔间的长方形表示,其中最上面的隔间描述的是类的名字,中间的隔间是类的属性,面类的操作则放在了最下面的隔间。类与类之间的关系比较多,通常有关联、通用化、依赖和精化关系。(3)状态图(State-chart Diagrams)一般来说,状态图描述的是具有几个确定状态的对象的状态变化,但也可以用它来描述整个系统的状态变化。状态图的主要模型元素有状态和转移。当引起转移的事件发生时,对象就会从一种状态转移到另一种状态。(4)活动图(Activity Diagrams)活动图是状态图的一个变种。要事件来触发的,动作状态完成了,但在活动图中,它与状态图的区别就在于:
25、在状态图中,状态的改变是一个活动的输入或输出。活动图的一个缺陷就是不能表现出动作状态是由哪一个对象或组织的哪一个部门执行的。为此,引入了泳道技术。泳道是用一个纵向的矩阵框表示。泳道技术把所有的动作状态分别放到不同的泳道里面。不同泳道的动作状态由不同的对象来执行。(5)序列图(Sequence Diagrams)序列图描述的是对象间按时间顺序的交互。在序列图中,一个对象通过向另一个对象发送信息来通信。序列图显示了参与交互的对象和它们之间按时间顺序进行的交互。其中,对象用一条虚线表示,对象的名字写在虚线顶端的长方形内。从上到下的纵轴表示的是时间。信息用从源对象指向目标对象的箭头来表示。(6)协作图
26、(Collaboration Diagrams)协作图用对象以及对象之间的联系来描述对象间的交互。协作图与序列图的区别是协作图是从对象的联系上、从空间上来反映对象的交互。(7)组件图(Component Diagrams)组件图描述的是软件组件以及它们之间的依赖关系。软件组件有源组件、二进制组件和执行组件。(8)展开图(Deployment Diagrams)展开图描述的是运行时组件在系统的物理节点上的配置以及它们之间的关系。物理节点可以是计算机或其它的设备。这里利用UML的用例(USE CASE)图描述系统的需求。在UML中,用例被定义成系统执行的一系列动作,动作执行的结果能被指定执行者察觉
27、到。首先,用例图描述了待开发系统的功能需求;其次,它将系统看作黑盒,从外部执行者的角度来理解系统;第三,它驱动了需求分析之后各阶段的开发工作,不仅在开发过程中保证了系统所有功能的实现,而且被用于验证和检测所开发的系统,从而影响到开发工作的各个阶段和UML的各个模型。在UML中,一个用例模型由若干个用例图描述,用例图主要元素是用例和执行者。整个系统的功能需求,整个系统设置若干个角色,有系统维护员、教务员、教学院长、系主任、普通教师、学生等,并且每个角色都分配不同的功能,比如从教务员的角度来说,她需要发布通知、确定各系负责人、选题汇总表下载、分配落选学生、选题进度控制、毕业论文上报处理等功能。其次
28、,从外部执行者来看,可以看到每个用户的权限、功能等,比如上述教务员所需求的功能。最后从系统开发者的角度来看,可以确保系统所有功能的实现,而且在以后系统的维护起到很重要的作用。 图2-1用例图对每个用例的说明可以使用用例状态图表现,并用用例规约文档进行说明。用例规约文档用于详细说明用例特征中的需求,并对这些需求进行标记。(1)如果老师选择添加新题目,则出题子流程将被执行。(2)如果老师选择修改题目,则修改题目子流程将被执行。(3)如果老师选择删除题目,则删除题目子流程将被执行。 2.3功能需求对院系来讲,优化的管理,合理的资源配置便于院系各项信息的快速传递和充分共享,提高工作效率。同时,对于推动
29、学校管理机制进一步完善,适应信息化、网络化的要求,起到举足轻重的作用。对教务员来讲,可以控制毕业设计起止时间,浏览出题及选题情况,通过通知系统敦促师生按时双选,并可下载双选结果及学生上传的论文上报教务处。对院长来讲,可以监控毕业设计全过程,并根据监控结果进行分析决策。对普通教师来讲,利用该系统可以方便地管理自己的人事档案信息;写自我介绍;查看学生的基本信息;发布毕业设计题目及每一题目的具体要求;选择学生做自己的题目;查看历年选题情况;打印毕业设计选题审批表;查阅毕业论文;与学生交流。 对系主任来讲,除了具有普通教师的功能以外,还需具有出题工作量分配管理功能,查看全系出题、选题情况进行监控的功能
30、。对学生来讲,可以在登陆系统后填写自己的基本信息;写自我介绍:查看教师出题情祝并选择题目;完成论文后上传电子版;与导师交流。由于毕业设计双向选择系统是在院系级的教师人事管理系统和学生学籍管理系统基础之上开发的,因此本系统能够与上述系统实现人员、部门等基础信息的集成并能通过定义接口文件与学校的教务管理系统进行数据交换。本系统涉及学生、普通教师、主管教学的院长、系主任、教务员和其他办公室人员。每个用户在系统中具有不同的职责(角色),因此设计的系统需要具有不同权限的多用户形式。权限配置如表1所示。角色权限需求教学院长监督毕业设计双向选择系统的运行;参加毕业设计。 教务员启动和监督毕业设计双向选择系统
31、的运行;确定各系负责人;统计基本信息;分配最后还没确定老师的学生。系主任分配毕业设计教师,确定每个教师所带学生;参加毕业设计;信息统计。普通教师管理毕业设计题目;管理己定学生的毕业设计题目;与学生交流。学生选择毕业设计题目;查看自己本人的毕业设计题目的信息:与老师交流。表1-权限配置表第三章 功能设计3.1功能层次设计为了实现系统的目标,系统必须具有各种功能。所谓功能,指的是完成某项工作的能力,可以用功能图来描述从系统目标到各项功能的层次关系,图3-1表示了毕业设计信息管理系统的管理功能。图3-1 管理功能图毕业设计信息管理系统包括基础数据维护、用户管理、系统维护、任务管理、双向选择、过程跟踪
32、、信息交流、统计分析八大功能模块。任务管理模块具有的功能为:教务员对双向选择进度控制的启动,对各系拟带学生人数的分配和各系系主任的指定;教学院长对教务员任务分配的审批。双向选择模块具有的功能为:教师在网上出题(包括写任务书、自我介绍等)、选择学生;学生在网上选题(选择导师):教务员对落选学生进行调整分配。过程跟踪模块具有的功能为:系主任、教务员、教学院长对教师出题过程的监视和选学生过程的跟踪,对学生选题过程的跟踪;导师对学生毕业设计过程进展的监视,包括周进度检查、中期检查及设计完成情况。信息交流模块具有的功能为:通知系统:教务员通过通知系统向师生发布通知,及时解决导师出题过程中出现的不规范问题
33、,提醒师生按要求按进度完成双向选择; BBS:导师与所带学生通过BBS讨论有关设计问题。3.2数据流程设计数据是信息的表达形式,它能被计算机直接输入、处理、存储和输出。一个正确的数据流程是今后新系统用以实现用户需求的保证。现有的数据流程分析一般是通过分层的数据流程图(Data Flow Diagram, DFD)来实现的。数据流图是描述系统静态数据构成和关系的有力工具,数据流图更多地从静态的观点来考察一个实际的业务系统。其具体做法是:按业务流程处理流程的顺序,将相应调查过程中所掌握的数据处理过程绘制成一套完整的数据流程图。现在常用的有两种描述数据流程图的方法,一种是以方框、连线及其变形图例符号
34、来表示数据流动过程,另一种是以连接弧线作为其基本符号来表示数据流动过程。绘制数据流图的基本原则是:自顶向下,从外到内,编号清晰,命名确切。画系统概况 (顶层图)时,把整个系统看成一个总加工,画进、出系统的数据流及其外部对象,而不考虑系统内部的数据流。一般按入流、加工、出流,自左向右排列(I-P-O )。入流包括教务员的进程控制要求、调配要求、统计要求、通知请求;教学院长的监控要求;系主任的工作量分配;普通教师的课题、选学生请求;学生的选导师请求、论文上传;系统维护员的权限设置、数据备份。加工指在毕业设计信息管理系统中的数据处理。第四章 信息设计本文所设计的毕业设计信息管理系统的使用主体是教师和
35、学生。因此,系统要处理的信息是围绕这两个主体展开的。我们将信息设计分为基础数据设计和过程应用数据设计两部分展开。4.1基础数据设计基础数据部分包括教师信息、学生信息、用户权限信息。在信息设计过程中,我们提取教师信息和学生信息中的公共信息,建立了一张人物基本信息表以减少数据冗余,这是本系统信息设计的特色之处。通过对涉及教师的行政、教学管理工作的认真调查和用户需求分析,将教师的信息分为:教师基本信息表、所属职务信息表、所属委员会信息表、毕业设计领导表、变动情况表等。教师数据库表中各表关系可用图4.1来描述。从图中可看出,教师基本信息表是教师数据库的核心部分,大部分的表都和它产生直接联系。TEA-I
36、D(职工号)作为主键,唯一标识一个教师。所有和教师相关的表均通过TEA-ID联系起来。图4.1教师数据库表之间的关系学生数据库表中各表关系可用图第五章 系统开发平台及实现方案5.1开发平台5.1.1 .NET框架.NET框架是微软公司全新的开发工具,Web应用程序和传统应用程序的开发者都能用它更高效、更灵活地开发应用程序。.NET框架是.NET平台的基础架构,其强大功能来自于公共语言运行环境和类库紧密结合在一起,提供了不同系统之间交叉与综合的解决方案和服务。.NET框架创造了一个完全可操控的、安全的和特性丰富的应用执行环境,这不但使得应用程序的开发与发布更简单,并且成就了众多语言间的无缝集成。
37、.NET框架由以下三个主要部分组成:(1)公共语言运行时(CLR: Common Language Runtime)公共语言运行时在组件的开发及运行过程中,扮演这非常重要的角色。在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全策略、同时满足当前组件对其他组件的需求。.NET框架的关键作用在于它提供了一个跨编程语言的统一编程环境。(2)统一的编程类.NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API).现今,C一开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visu
38、al Basic API集。而.NET框架统一了微软当前的各种不同类框架。这样,开发人员无需学习多种框架就能顺利编程。而且,通过创建跨编程语言的公共API集,.NET框架可实现跨语言继承、错误处理和调试。实际上,从Jscript到C+的所有编程语言,都是相互等同的,开发人员可以自由选择理想的编程语言。 (3)活动服务器页面(ASP.NET ) ASP.NET是使用.NET框架提供的编程类库构件而成的,下节我们将专门描述ASP.NET架构。5.1.2先进的ASP.NET技术5.1.2.1 ASP技术介绍在IIS2.0的Beta版中,微软引入了一种新的技术,它最开始被称为“Denali 。因为这是
39、微软的“Active”时期,所以这项技术最终被命名为“Active Server Pages”或“ASP. ASP取得很大的成功在很大程度上归功于它把一些困难的事情(创建动态Web内容)简单化了。在默认情况下,ASP使用VBScript。多数开发人员对VB, VBA或VBScript都较为熟悉。对这些开发者来说,ASP是进入Internet时代的必经之路。当然,这些开发者可以学习新的程序语言,但ASP出现后就没这个必要了。ASP能够成为创建Web应用程序的可行性方法,原因之一在于它使用VBScript;第二原因在于它是通过Microsoft ActiveX数据对象(ADO)访问数据库,ADO便
40、于实现动态管理;最重要一点还在于ASP开发模式允许开发者编写并运行代码,而不必执行编译或详细的安装步骤;同时ASP在安全方面作了详细考虑,如设定虚拟目录访问权限、用户身份验证、隐含脚本等措施。尽管ASP具有如此多的优点,但它依然存在以下不足:(1)没有提供一个真正灵活的、强大的、可伸缩的编程环境;(2)将标准HTML和脚本混合并匹配,造成在HTML中代码指令散置。除了在每次进入和推出一个脚本段时所需的上下文环境转换会对性能产生影响,在原始HTML中嵌入代码也使得将应用程序的外观与其核心分离出来变得极为困难。5.1.2.2 ASP.NET技术ASP.NET在原有ASP上添加了许多新特性,并增强了
41、原有的功能。ASP.NET并非仅是ASP的补充。它建立在公共语言运行库上的编程框架,可用于在服务器上生成功能强大的Web应用程序。与以前的Web开发模型相比,它具有多个重要的优点:(1)增强的性能。ASP.NET是在服务器上运行的编译好的公共语言运行库代码。与被解的不同,ASP.NET可利用早期绑定、实时编译、本机优化和盒外缓存服务。这相当于在编写代码行之前便显著提供了性能。(2)世界级的工具支持。ASP.NET框架补充了Visual Studio集成开发环境中的大量工具箱和设计器,如WYSIWYF编辑、拖放服务器控件和自动部署等。(3)威力和灵活性。由于ASP.NET基于公共语言运行库,因此
42、Web应用程序开发人员可以利用整个平台的威力和灵活性。.NET框架类库、消息处理和数据访问解决方案可从Web无缝访问。ASP.NET与语言无关,可以实现跨语言分割应用程序。另外,公共语言运行库的交互性保证在迁移到ASP.NET时保留基于COM的开发中的现有投资。(4)简易性。ASP.NET使执行常见任务变得容易,从简单的窗体提交和客户端身份验证到部署和站点配置。另外,公共语言运行库利用托管代码服务(如自动引用计数和垃圾回收)简化了开发。(5)可管理性。ASP.NET采用基于文本的分层配置系统,简化了将设置应用于服务器环境和Web应用程序。由于配置信息是以纯文本形式存储的,因此可以在没有本地管理
43、工具帮助的情况下应用新设置。(6)可缩放性和可用性。ASP.NET在设计时考虑了可缩放性,增加了专门用于聚集环境和多处理器环境中提高性能的功能。另外,进程受到ASP.NET运行库的密切监视和管理,以便当进程行为不正常(泄露、死锁)时,可就地创建新进程,以帮助保持应用程序始终可用于处理请求。(7)自定义性和扩展性。ASP.NET随附了一个设计周到的结构,它使开发人员可以在适当的级别“插入”代码。实际上,可以用自己编写的自定义组件扩展或替换ASPNET运行库的任何子组件。(8)安全性。借助内置的Windows身份验证和基于每个应用程序的配置,可以保证应用程序的安全。5.1.2.3 ASP.NET
44、Web应用程序(1)配置概述ASP.NET将应用程序定义为所有文件、页、处理程序、模块和可执行代码的总和,该应用程序可在Web应用程序服务器上的给定虚拟目录(及其子目录)的范围内调用或运行。Web服务器上的每个ASP.NET框架应用程序都在唯一的.NET框架应用程序域中执行,从而保证了类隔离(无版本或命名冲突)、安全沙箱(防止访问特定计算机或网络资源)和静态变量隔离。ASP.NET在Web应用程序的生存期内维护HttpApplication实例。ASP.NET自动指派其中的某个实例处理应用程序接受到的每个传入HTTP请求。所指派的特定HttpApplication实例负责管理请求的整个生存期,
45、并仅在请求完成后才被重新应用。这意味着HttpApplication中的用户代码不必是可重入的。(2)创建ASP.NET应用程序可以使用现有虚拟目录或创建新的虚拟目录。例如,如果安装了包含IIS的Windows 2000Server,则可能有一个C:Inetpubwwwroot目录。可以使用Internet服务管理器(位于“开始”一“程序”一“管理工具”下)来配置IIS。右击一个现有目录并选择“新建”(创建新的虚拟目录)或“属性”(提升现有的常规目录)。通过在虚拟目录中放置一个简单.aspx页并通过浏览器来访问它,即可开始创建ASP.NET应用程序。(3)应用程序的生存期ASP.NET框架应用
46、程序在第一次向服务器发出请求时创建,在此之前,不执行ASP.NET代码。当第一个请求发出后,将创建一个HttpApplication实例并引发Application-Start事件。HttpApplication实例处理该请求以及后面的请求,直到最后一个实例退出并引发Application-End事件。5.1.2.4 ASP.NET Web窗体基本概念ASP.NET Web窗体页框架是以在服务器上用于动态生成Web页的可缩放公共语言运行库编程模型。Web窗体架构是一项可扩展的公共语言运行时(Common Language Runtime)程序设计模型,它可以在服务器上动态产生网页并将其打开在浏
47、览器或客户端工具中。Web窗体可作为Web应用程序的用户接口,以便在浏览器或客户端装置中将信息呈现给用户。Web窗体具有以一卜功能特性:(1)Web窗体网页与所有的浏览器及客户端装置兼容。(2)可使用公共语言运行时(Common Language Runtime)所支持的程序语言来撰写Web网页。Web窗体网页是生成与公共语言运行时之上的,因此,自然直接享用所有相关技术的各项好处。(3)支持“所见即所得”的编辑工具和强大的快速开发工具。5.1.2.5 ASP.NET的配置(1)配置概述对任何Web应用程序服务器的主要要求是具有丰富而灵活的配置系统使开发人员能够轻松地自定义这些值的配置系统。ASP.NET配置系统旨在满足以上人员的需要,它提供一个分层配置结构,使得能够在整个应用程序、站点或计算机中定义和使用可扩展的配置数据。它具有以下优点,并因此而成为唯一适合生成和维护Web应用程序的配置系统:ASP.NET允许将配置设置与静态内容、动态页和业务对象一起存储在单个应用程序目录层次结构中。用户或管理员只需复制单个目录树便可以在计算机上设置ASP.NET框架应用程序。配置数据以既具有可读性又具有可写性的纯文本文件的形式存储。