摘要
随着计算机和网络的普及,高等学校里纷纷建立了C/S或者B/S结构的网上选课系统。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。
本系统是C/S(客户端/服务器)两层结构。采用C#数据库编程语言。服务器部分是SQL Server2000 关系数据库。客户端分为学生选课子系统和管理员管理子系统,它们通过存于后台数据库的数据产生联系。
无论是学生子系统还是管理员子系统,都需要从数据库中读取院系的信息以及每个院系所开设的课程信息,将其存放在DataSet里面,然后把数据绑定到控件并显示出来。由于每个院系都开设多门课程供学生选择,院系信息和课程信息形成一个树状的结构,所以使用TreeViewer控件显示这些信息比较合适。
关键字:网上选课系统,、C#.NET、SQL Server2000关系数据库。
Abstract
Along with the development of the computer and web, many universities have been build C/S or B/S structure of choose courses system on web. Compare with the traditional way of choose courses, this system use local area network. Students can choose courses at computer room or dormitory by web at the elective time also can change the courses that they have been chosen at the elective time. Teachers can examine the situation of choose courses and manage the system.
This system adopts the two layers structure of C/S (customer/service), and use C#. Net language and SQL Server 2000 Database. Customer end makes up by two system—Student System and Manager System. They get in touch with each other by the backstage Database.
No matter the Student System or the Manager System all need read data from the backstage Database, then put them on the Dataset and show them on the Tree view.
Keywords Choose Course System 、C# .NET 、SQL Server 2000 Database
目 录
前言…………………………………………………………………………………....5
第一部分 关键技术概述…………...……………………………………………..6
1.1XML文档对象模型………………………………………………..6
1.2 遍历DataSet………………………………………………………6
1.3 TreeView控件动态绑定数据……………………………………...7
第二部分 软件定义时期………………………………………………………….8
2.1问题定义…………………………………………………………...8
2.2 需求分析…………………………………………………………..8
第三部分 软件开发时期………………………………………………………....11
3.1总体设计…………………………………………………………..11
3.2 详细设计………………………………………………………….14
3.3编码………………………………………………………………..20
3.4 软件测试………………………………………………………….28
第四部分 体会……………………………………………………………………30
第五部分 参考文献………………………………………………………………31
前言
二十一世纪是知识经济的时代,同时也是科技高速发展、网络信息迅速膨胀的年代,大量客观事实表明,一个崭新的计算机时代必将到来。随着知识经济革命的到来和信息技术的蓬勃发展,计算机技术和通讯技术成为了这个时代的主角,不仅改变了我们的世界,而且同时也吹响了我们迈向新生活的号角,正以日新月异的速度改变我们的人生。而两者的结合产物---计算机网络,在最近的几年更是异军突起、迅猛地发展起来,它不仅提高我们的工作效率,而且还为我们提供了广阔的资源利用空间和方便快捷的现代通讯手段,同时它还是衡量一个国家科技发展水平的重要的尺度。
随着计算机技术和网络技术的发展,各高校相继建成了自己的校园网,并充分利用校园网提供的新环境、新手段为校园的教学、科研和教务管理服务。近年来,学校的招生规模不断扩大,在学校学生人数明显增多,加之学生分校区管理,给原本繁杂的院级选修课工作增加了不少教务工作量。网上选课系统的推出,使得选修课程的设置维护、学生选/退课及成绩查询、管理员对选课情况的管理等工作均能在互联网上完成。这不仅减轻了教务人员的工作负担,也大大方便了全校师生对选课信息的维护、查询。
计算机语言是开发计算机软件的一种高级软件,它的掌握和使用是高级的计算机使用者必须的技能。现在存在着大量的计算机语言,而且它们的发展速度让世人瞩目震惊。
本系统采用C#数据库编程。C#是一种重要的新语言,微软将其设计和定位成.NET战略的一部分,C#内建了很多有用的库,并由高级集成开发环境提供支持。它有效地支持目前占主导地位的编程方法——面向对象编程(OOP) 。
C#问世于20世纪90年代,是继C语言之后的一种功能强大的现代语言,它在C的基础上增加了“类”的概念,类是提供用户自定义类型的一种机制,这些用户自定义类型也称为抽象数据类型。C#通过这些方式和提供继承及运行时类型绑定,来支持面向对象编程。
服务器端采用SQL Server2000关系数据库,SQL语言是1974年由Boyce和Chamberlin提出的。由于它功能丰富,语言简捷倍受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善,SQL语言最终发展成为关系数据库的标准语言。
SQL Server2000是一项全面完整的数据库与分析产品。从借助浏览器实现的数据库查询功能到内容丰富的扩展标记语言(XML)支持特性均可有力地证明,SQL Server2000无谓为全面支持Web功能的数据库解决方案。与此同时,SQL Server2000还在可伸缩性与可靠性方面保持着多项基准测试记录。
第一部分 关键技术概述
本网上选课系统分为客户端和服务器两层结构,服务器端安装了SQL Server2000关系数据库,客户端通过校园的局域网连接服务器的数据库存取数据。客户端分为供学生使用的学生子系统和供教师使用的管理员子系统。
本系统设计主要用到以下几个关键技术:XML文档处理技术,遍历DataSet的编程技术,TreeView控件动态绑定数据的技术和遍历TreeView控件的技术等。
1.1XML文档对象模型
文档对象模型(Document Object Model,简称DOM)是XML文档的内存(缓存)中树状表示形式,允许对该文档的导航和编辑。DOM是程序员能够以编程方式读取,操作和修改XML文档。
Visual C#.NET中,.NET Framework SDK中的命名空间System.Xml中封装的XmlNode类能够很好的表示DOM树的节点(Node)。XmlDocument类继承和扩展于XmlNode类,而XmlNode是组成DOM树的最基本的元素,因此使用XmlDocument类可以创建和访问DOM。XmlDocument类主要有两类成员方法:
l用于对整个文档对象模型执行操作,例如,将XML文档加载到内存中或将XML文档对象模型保存成一个XML文档。
l查看和操作整个XML文档中的节点。
1.2 遍历DataSet
DataSet是ADO.NET中的核心对象,它支持断开式,分布式数据存取方案,功能非常强大。DataSet是数据在内存中的表示形式。它可以用于多个不同的数据源,包括关系数据库的数据集,本地的XML文档等。无论数据源是什么,它都会提供一致的关系编程模型。DataSet中的方法和对象与关系数据库模型中的方法和对象一致。
DataSet由DataRelation集合,ExtendedProperties和DataTable三部分组成集合。数据都存放在DataTable集合中。DataTable集合包括零个或多个DataTable对象。DataTable对象的结构对应数据库表的结构,从数据库选择出来的数据集可以放在DataTable对象里面。而DataTable对象又由DataRow集合组成,即每个DataTable里面由多个DataRow。DataRow集合包含表中的数据。DataRow相当于多维数组,不断改变下标就可以访问整个DataTable里面的数据,改变DataRow集合对象的下标就可以访问不同的DataTable里面的数据,从而可以实现对整个DataSet的遍历。
1.3TreeView控件动态绑定数据
TreeView控件能够以树状的层次结构显示它的节点。每个节点可能包含字节点。父节点或包含字节点的节点可以以展开或折叠的方式显示。如果将TreeView控件的CheckBoxes属性设置为ture,则在显示TreeView时,节点旁边还可带有复选框。通过设置节点的Checked属性值为true或false,就能以编程方式选定或清除节点。紧挨着节点文本的左侧可以显示图标,这要通过设置TreeView控件的ImageList属性与希望使用的现有ImageList控件相关联才能给每个节点获取图象。
为了实现数据的动态绑定,需要以编程方式添加节点和移除节点,具体方法如下:
(1)使用树视图Nodes属性的Add方法,代码如下:
TreeNode new Node=newTreeNode(“Text”);
MytreeView1.SelectedNode.Nodes.Add(newNode);
(2 ) 使用树视图Nodes属性的Rmove方法移除某个节点,或者使用Clear方法清除所有节点,代码如下:
MytreeView1.Nodes.Remove(MytreeView1.SelectedNode);
MyTreeView.Nodes.Clear();
第二部分 软件定义时期
随着计算机的广泛应用,各行各业的信息管理都涉及到计算机中。在软件定义这一阶段我们明确了软件开发的目的,并确定了“学生网上选课系统”开发的总目标。确定了系统开发的可行性;导出了实现此系统总目标应采用的策略及系统需完成的各个功能。本系统开发的目的在于提高学校选课工作的效率,使学生可以灵活的在选课期限内进行选课活动,同时减轻了负责监督,统计学生选课情况的教师的负担。
2.1问题定义
1.从系统的性质看,本系统属于一个关于数据库方面的应用系统。
2.从系统的功能看,本系统主要应完成以下功能:学生可以查看课程信息,可以在限定时间内选择,退选,增选课程。管理员可以增加,修改,删除学生信息和课程信息,可以查看选课情况,可以修改选课期限,可以修改选课限制人数。
3.从系统的结构看,本系统分为客户端和服务器端,服务器端安装SQL Server2000关系数据库,客户端由学生子系统和管理员子系统组成。
2.2需求分析
通过询问参与选课的学生及负责选课工作的老师具体总结出网上选课系统需要能够实现以下功能:
l学生和管理员必须通过认证才能登录系统,管理员和学生的权限不一样;
l管理员可以添加,删除和修改学生信息,可以添加,删除和修改课程信息,可以查看选课情况,可以修改选课期限。
l学生可以查看课程信息,只能在限定时间内选修课程,可以查询自己选修课程的情况,在限定的时间之内还可以退选课程或者增选课程。如果被选课程选修的人数已经达到上限,则学生不能选修该课程。
整个系统的流程是在用户的要求下进行的,学生子系统负责处理学生的选课,退选,增选等事务,并向用户显示操作情况对话框,同时更新数据库中相关表的数据。管理员子系统负责处理管理员对选课情况的管理,向管理员显示操作情况对话框,同时更新数据库中相关表的数据。
第三部分 软件开发时期
经过软件定义时期以后,就步入了软件的开发时期。在此过程中,要尽量寻求实现此系统的最佳方案,进而实现系统的要求。
3.1总体设计
设计原理
本系统是C/S(客户端/服务器)两层结构.
服务器采用SQL Server2000关系数据库.数据库里存放着编译好的存储过程,主要负责数据的存取,也负责一些的业务逻辑的处理,例如判断学生是否在允许时间段内选课.
客户端包含两个系统:学生选课子系统和管理员管理子系统.学生子系统安装在学校公共机房,图书馆等场所的电脑上,供学生选课时使用,通过局域网访问教务处办公室的服务器;管理员子系统安装在教务处办公室的桌面型电脑上,供管理教务的教师使用.
应用系统结构图
3.2详细设计
到了确定应该怎样具体的实现所要求的系统的时候了,这个阶段将得出学生选课系统的精确描述,从而在编码阶段可以把这个描述直接翻译成具体的程序设计语言书写的程序,这一阶段的结果直接决定了最终程序代码的质量。
1.人机界面设计
本系统对每一层都设置了确保安全的障碍和入口,用户只有进入了某一层才能获得相应那一层资源的访问权,这些措施保证了选课系统及具体数据的安全性。任何一位Web用户在进入选课系统主页面后,只有通过了系统的身份验证才能进入到系统相应的功能页面完成所要进行的操作。
本系统主要包含以下界面:
如果您在计算机领域有任何疑虑或不确定的地方,请毫不犹豫地与老师交流噢,我们期待着为您提供有针对性的建议和指导。您的问题和讨论对我们来说都非常重要。