1、XStuMan 学生管理系统摘要关键词 学生管理 ASP.NET XML正文一、设计背景21 世纪是信息化的时代,信息化以更快捷更方便为目标来融入各行各业。中小学校也不能例外。当前,我国中小学校正在加紧实施信息化建设,其中学生管理是相当重要的一部分。结合中小学实际条件和需要,我设计了这套学生管理系统。二、功能介绍1 学生信息管理学生存在于具体的班级中,而班级又存在于具体的年级中。所以管理学生的前提是年级和班级的管理。这部分功能从年级出发,包括某个年级的入学时间(如 2002 年,即 2002 级) 、班级数量。下属班级信息,包括班级序号(如 1 班) 、班主任、代课教师(与教师管理相联) 、班
2、委会、学生人数等。在班级之下,则是学生信息,包括学生编号 i、姓名、性别、所属班级、出生日期、住址、所受奖励及处罚等。首先需要构建年级和班级信息。在首页左侧有“添加年级”和“添加班级”的连接,对应实现添加年级和班级的功能。这两项构建好之后,就可以从列表中检索到已添加的年级和班级,并添加学生信息。每次添加一名学生,然后返回并可继续添加。在构建好这些信息后就可以进行查询操作。可以查询年级、班级和具体某位学生的信息。此外,还可以查询这 3 个层面所对应的学生成绩(与成绩管理相联) 。2 学生成绩管理学生成绩信息包括所属学生(学生编号和姓名) 、科目、类别(期中、期末、普通、会考) 、日期和成绩分数等
3、。添加成绩以班级为单位,点击“添加成绩”链接即可进入添加页面。从列表中选择年级和班级以及科目、类别、日期,即可进行添加操作。查询学生成绩可以年级、班级或具体某位学生为单位。以年级为单位,可显示某次考试整个年级的成绩信息,并进行排序等横向对比。还可动态生成图表,以成绩分布图、柱状图和饼状图的形式,形象地表示出考试情况,对分析考试内容有比较大的帮助。以班级为单位类似于以年级为单位,同样可以动态生成图表。以学生为单位,可以显示某位学生入学后的所有成绩。并提供以学生编号和以姓名两种方式。更新学生成绩以班级为单位,可以对某次考试的成绩进行更新(必须为已存在的) 。这个功能用来对误输入来进行更正。3 教师
4、信息管理教师信息包括教师编号 ii、姓名、教授科目、教授班级、管理班级(如果是班主任)等。i 学生编号视具体情况,如使用学生会考号或是学号。此编号为标识学生的唯一号码,应避免重复。ii 教师编号类似学生编号,是标识教师的唯一号码,应避免重复。XStuMan 学生管理系统是面向中小学信息化管理的一套学生管理系统。主要实现中小学校信息化学生管理的功能,包括年级、班级、学生、教师、学生成绩管理。本系统是构建于 Microsoft .NET Framework 平台上的 ASP.NET Web 程序,采用应用前景广阔的 XML 技术存储数据,具有平台构建免费、运行速度快、程序小、扩展性好、技术先进等特
5、点。这部分可以实现添加教师、添加与教师相关的班级信息等功能。三、技术介绍.NET Framework.NET Framework 是用于生成、部署和运行 XML Web services 以及其他应用程序的环境。它是整个 .NET 平台的基础结构。.NET Framework 由三个主要部分构成 : 公共语言运行库、类库和 ASP.NET。 公共语言运行库和类库(包括 Windows 窗体、ADO.NET 和 ASP.NET)结合在一起,可以提供在各种系统内部和各种系统之间方便地集成的服务和解决方案。.NET Framework 提供完全托管的、受保护的并且功能丰富的应用程序执行环境、简化的开
6、发和部署以及与各种语言的无缝集成。C#Microsoft C# .NET 是一种现代的、面向对象的类型安全语言。程序员可以使用它快速生成用于新的 Microsoft .NET 平台的各种应用程序。ASP.NETASP.NET 不仅仅是下一版本的 Active Server Pages (ASP);而且还是统一的 Web 开发平台,它为开发人员提供了生成企业级 Web 应用程序所需的服务。虽然 ASP.NET 的语法在很大程度上与 ASP 兼容,但它还提供了新的编程模型和结构,从而可以获得功能强大的新应用程序类。您可以通过在现有的 ASP 应用程序中逐渐添加 ASP.NET 功能来迁移现有的 A
7、SP 应用程序。 ASP.NET 是经过编译的基于 .NET Framework 的环境。用户可以用任何与 .NET Framework 兼容的语言(包括 Visual Basic 和 Visual C#)来创作应用程序。另外,任何 ASP.NET 应用程序都可以使用整个 .NET Framework 平台。开发人员可以轻松地获得 .NET Framework 的好处,其中包括:完全托管的、受保护且功能丰富的应用程序执行环境,简化的开发和部署以及与各种语言的无缝集成。ADO.NETADO.NET 是一组类, 它们公开了 .NET Framework 的数据访问服务。ADO.NET 是从 ADO
8、 自然演变而来,并围绕 N 层应用程序开发生成的。ADO.NET 是以 XML 为核心而创建的。 ADO.NET 对象模型由两个主要组件构成:连接层(由组成 .NET 数据提供程序的类构成)和断开连接层(以数据集为基础)。 .NET 数据提供程序包括下列组件:Connection 对象、Command 对象、DataReader 和 DataAdapter。前两个组件应是现有的 ADO 程序员所熟悉的;它们用于打开与数据源的连接,并对其执行命令。DataReader 与只进的只读记录集大致对应。它是一种高度优化、非缓冲、流水式的接口,用于获取对数据源执行的查询结果。DataAdapter 则在
9、 .NET 数据提供程序和数据集之前起到桥梁作用。 数据集是表的本地缓冲区或断开连接的记录集的集合。XMLXML 是由万维网联合会 (W3C )制定的通用数据标准,即可扩展标识语言 XML(Extensible Markup language。他的前身是 SGML 和 HTML。SGML 是指“通用标识语言标准”(Standard Generalized Markup Language), 它是国际上定义电子文件结构和内容描述的标准,是一种非常复杂的文档的结构,主要用于大量高度结构化数据的防卫区和其他各种工业领域,利于分类和索引。XML 结合了 SGML 和 HTML 的优点并消除其缺点。 X
10、ML 仍然被认为是一种 SGML 语言。比 SGML 要简单,但能实现 SGML 的大部分的功能。XML 架构参考 (XSD)XSD 是由万维网联合会 (W3C) 定义的 XML 架构定义 (XSD) 语言。四、主要代码分析读取、写入数据.NET 类库中提供了相当多的方法来实现 XML 文件的读取、写入。System.Data 命名空间中的DataSet 类便有 ReadXml、ReadXmlSchema、WriteXml、WriteXmlSchema 这几个函数实现这些功能。下面的例子实现从文件中读取,并添加数据的功能。using System.IO;using System.Xml;pri
11、vate void updata()FileStream xmlfilein;xmlfilein=new FileStream(Server.MapPath(“data.xml”),FileMode.Open,FileAccess.Read,FileShare.ReadWrite);DataSet ds=new DataSet();ds.ReadXml(xmlfilein,XmlReadMode.ReadSchema);xmlfilein.Close();DataRow newrow=ds.Tables0.NewRow();newrow“data1”=”newdata”;newrow“data
12、2”=”updata”;ds.Tables0.Rows.Add(newrow);FileStream xmlfileout;xmlfileout=new FileStream(Server.MapPath(“data.xml”),FileMode.Open,FileAccess.Write,FileShare.ReadWrite);ds.WriteXml(xmlfileout,XmlWriteMode.WriteSchema);xmlfileout.Close();遍历、检索数据当需要查询数据的时候,就需要得到数据文件中所需要的数据项。例如在表(DataTable)dt 的记录中查找第 2 条
13、记录的 data1 字段(string 类型),可以用下面的语句string str=(string)dt.Rows1“data1”;这样再配以合适的算法,就能方便的遍历、检索数据。五、项目优势运行速度快一方面由于 ASP.NET 是编译执行,比 ASP 等一些解释执行的 Web 程序技术要高出一个等级。在虚拟路径的 bin 目录下已经生成一装配件形式存在的 stuman.dll 文件,这是编译好的 2 进制文件,是可以通过.NET 中间语言(IL)来执行的机器码。Web 服务器执行页面时,直接调用 stuman.dll,而今在少数条件下会重新编译程序,即使这样速度也较 ASP 快。另一方面采
14、用 XML 技术,由于 XML 文件是基于 ASCII 或 Unicode 编码的文本文件,读取、写入、执行速度明显要比一些数据库文件快(在数据量相对不太大的情况下) 。这是本系统采用 XMl 技术的原因之一。对于小型系统来说,有相当的速度优势。平台构建免费本系统在基本的服务器基础上,只需安装 Microsoft .NET Framework 即可运行。而这个.NET Framework 是微软免费发布的。如果服务器操作系统是 Windows Server2003,则.NET Framework 已经随系统默认安装了。相对于基于 Microsoft SQL Server 和 Oracle 数据
15、库的系统来说,无需任何高昂的软件费用即可使用时非常重要的(否则花费在万元以上) 。而对于相对较为便宜的 Access 数据库来说,其在速度上与本系统相比没有优势。这是本系统采用 XML 技术的另一个重要因素。扩展性好这是.NET 平台的优势。 .NET 技术能将几乎所有能见到的编程语言有机的组合到一起,同一个系统可能有好几种互不相干的语言编写,但运行效果和用一种语言相同,无论是 C+、C#, 还是pascal。而.NET 丰富的类库资源和可扩展性使得在本系统上可以方便的添加其他模块来实现更多的功能。另一方面,由于采用 XML 数据技术,可以非常容易的扩展应用范围。例如可在本系统基础上添加更专业化的水晶报表(Crystal Reports)等能应用 XML 技术的模块。参考文献 Microsoft .NET Framework SDK 文档 Microsoft MSDN Library2003 A 源码下载专业站 CSDN 中国程序员网站