理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校的科学化、正规化管理,与社会接轨的重要条件。
1.2学生信息管理系统的需求分析
本系统主要是针对学生的基本信息进行管理[2]。对于这些基本信息,各高校校的要求未必相同,可针对具体情况进行处理。对于学校的管理人员,工作重点是增加相应的功能模块,使用户更加方便、快捷、安全的食用本系统。基于此要求,本系统需要满足一下几点要求:
● 系统内容的全面性。学生信息管理系统面向的对象并不只是学生、学校,还要面向社会中的用人单位、其他高校(例如求职、求学,用人单位查看学生的个人简历),因此,本系统的应用涵盖学生、学校、用人单位等各类用户群,满足各自的业务需要,使各用户群可以快捷、简单地使用本系统。
● 技术的先进性。本系统采用集中式数据存放、分布式管理的结构体系。服务器端由数据库服务器、web服务器和中间件服务器组成,由客户端通过网络连接进行程序的管理和维护。数据库服务器中的数据要实现实时更新、定时备份、数据库的可靠性、稳定性要高。功能模块要及时进行更新和填补漏洞。由组件事务服务器来多线程处理数据业务流量,有效地控制网络流量。
● 可扩展性。站点的数据承载量、功能模块的单个或整体都可以满足变化的需要,这种适应性成为可扩展性。学生信息管理系统的可扩展性,体现在不同用户群需要处理不同类型的数据、数据与用户之间进行交互、数据要符合各用户的使用需求、将表搜索以及多表查询系统化、避免性能下降等方面。
● 易维护性。本系统采用B/S结构,系统的升级只需要在服务器端完成,更新软件系统的数据库、文件也只需要更新服务器端即可。在进行系统维护时,只需要远程登录服务器系统,减少了维护系统的成本和周期。
● 良好的安全性。学生信息管理系统数据量大、使用人数多,所以对系统的安全性有比较高的要求:对于数据库,要设置不同的用户的权限,数据的修改必须由合法用户操作;限制服务器端口被攻击,防止出现系统瘫痪现象;防止数据产生并发现象,以免数据库服务器无法响应操作。
2
2. 相关技术介绍
2.1 ASP.NET技术简介
ASP.net[3]是Microsoft.net的一部分,作为战略产品,不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。它的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。
ASP.NET 是一个已编译的、基于 .NET 的环境,可以用任何与 .NET 兼容的语言(包括 Visual Basic .NET、C# 和 JavaScript .NET.)创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。
ASP.NET [4]可以无缝地与 WYSIWYG HTML 编辑器和其他编程工具(包括 Microsoft Visual Studio .NET)一起工作。这不仅使得 Web 开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到 Web 页的 GUI 和完全集成的调试支持。
微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
ASP.net的新性能[5]:ASP.net提供了稳定的性能、优秀的升级性、更快速的的开发、更简便的管理、全新的语言以及网络服务。贯穿整个ASP.net的主题就是系统帮用户做了大部分不重要的琐碎的工作。
·全新的构造
新的ASP.net引入受管代码(Managed Code)这样一个全新概念,横贯整个视窗开发平台。受管代码在NGWS Runtime下运行,而NGWS Runtime是一个时间运行环境,它管理代码的执行,使程序设计更为简便。
·高效率
3
对于一个程序,速度是一件非常令人渴望的东西。一旦代码开始工作,接下来你就得尽可能地让它运作得快些快些再快些。在ASP中你只有尽可能精简你的代码,以至于不得不将它们移植到一个仅有很少一点性能的部件中。而现在,ASP.net会妥善地解决这一问题。
·易控制
在ASP.net里,你将会拥有一个“Data-Bounds” (数据约束),这意味着它会与数据源连接,并会自动装入数据,使控制工作简单易行。
语言支持
ASP.net支持多种语言,支持编译类语言,支持比如VB、VC++、C#等,它比这些编译类语言运行速度快,更适合编写大型应用。
·更好的升级能力
快速发展的分布式应用也需要更快速、更模块化、更易操作、更多平台支持和重复利用性更强的开发,需要一种新的技术来适应不同的系统,网络应用和网站需要提供一种更加强大的可升级的服务。ASP.net能够适应上面的要求。
·让你的生活更简单
对于今天的Web程序员来说,最大的挑战就是不断变化的浏览器兼容性以及它们不断升级的复杂性。在保证页面能在所有浏览器下工作的同时,又得尽量使用每个浏览器的最新属性来建立更具交互性的页面,这简直就是一场恶梦。更加可怕的是,需要对不同的用户设备建立不同的网页。
最简单的解决办法就是动态地对不同的用户生成不同的输出,或者就是对不同的用户写多个页面。大多数开发者都会选择第一种方法。但是,这就意味着用户的每次点击都会让服务器判断应该向用户显示什么。而通过ASP.net,我们可以看到一个新的服务控制的概念,它封装了一些普通的任务,提供了一种清晰的编程模块,有助于管理和处理不同的用户类型。简单地说,ASP.net把这些过程自动化了。
2.2 C#简介
在过去的二十年里,C和C++已经成为在商业软件的开发领域中使用最广泛
4
的语言。它们为程序员提供了十分灵活的操作,不过同时也牺牲了一定的效率。与诸如Microsoft? Visual Basic? 等语言相比,同等级别的C/C++应用程序往往需要更长时间来开发。由于C/C++语言的复杂性,许多程序员都试图寻找一种新的语言,希望能在功能与效率之间找到一个更为理想的权衡点。
目前有些语言,以牺牲灵活性的代价来提高效率。可是这些灵活性正是C/C++程序员所需要的。这些解决方案对编程人员的限制过多(如屏蔽一些底层代码控制的机制),其所提供的功能难以令人满意。这些语言无法方便地同早先的系统交互,也无法很好地和当前的网络编程相结合。
对于C/C++用户来说,最理想的解决方案无疑是在快速开发的同时又可以调用底层平台的所有功能。他们想要一种和最新的网络标准保持同步并且能和已有的应用程序良好整合的环境。另外,一些C/C++开发人员还需要在必要的时候进行一些底层的编程。
C# (C sharp) 是微软对这一问题的解决方案。C#是一种最新的、面向对象的编程语言。它使得程序员可以快速地编写各种基于Microsoft .NET平台的应用程序,Microsoft .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选--无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML 网络服务,从而使它们可以由任何语言在任何操作系统上通过Internet进行调用。
最重要的是,C#使得C++程序员可以高效的开发程序,而绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。
·效率与安全性
新兴的网络经济迫使商务企业必须更加迅速的应对竞争的威胁。开发者必须不断缩短开发周期,不断推出应用程序的新版本,而不仅仅是开发一个\标志性\的版本。
C#在设计时就考虑了这些问题。它使开发者用更少的代码做更多的事,同时也不易出错。
5
·支持现有的网络编程新标准
新的应用程序开发模型意味着越来越多地解决方案依赖于新出现的网络标准,例如HTML,XML,SOAP等。现存的开发工具往往都是早于Internet出现的,或者是在我们所熟知的网络还处于孕育期时出现的。所以,它们一般无法很好地支持最新的网络技术。
C#程序员可以在Microsoft .NET平台上事半功倍的构建应用程序的扩展框架。C#包含了内置的特性,使任何组件可以轻松转化为XML网络服务,通过Internet被任何操作系统上运行的任何程序调用。
更突出的是,XML网络服务框架可以使现有的XML网络服务对程序员来说就和C#对象一样。这样,程序员就可以方便地使用他们已有的面向对象的编程技巧来开发利用现有的XML网络服务。
还有一些精细的特性,使得C#成为一流的网络编程工具。例如,XML正逐渐成为在网络上传输结构化数据的标准。这种数据集合往往非常小。为提高性能,C#允许把XML数据直接映射到struct数据类型,而不是class。这样对处理少量的数据非常有效。
·消除大量程序错误
即使是专家级的C++程序员也常会犯一些最简单的小错误--比如忘了初始化变量,但往往就是这些小错误带来了难以预料的问题,有些甚至需要很长时间来寻找和解决。一旦一个程序作为产品来使用,就算最简单的错误纠正起来也可能要付出极其昂贵的代价。
C#的现代化设计能够消除很多常见的C++编程错误。 例如: 1. 资源回收减轻了程序员内存管理的负担。 2. C#中变量由环境自动初始化。 3. 变量是类型安全的。
这样,程序员编写与维护那些解决复杂商业问题的程序就更方便了。
·对版本的更新提供内在的支持降低了开发成本
更新软件组件是一项很容易出错的工作,因为代码的修改可能无意间改变原有程序的语义。为协助开发者进行这项工作,C#为版本的更新提供内在的支持。例如,方法重载必须显式声明。这样可以防止编码错误,保证版本更新的灵活性。
6