1、 延边大学本科毕业论文 网上选课系统 管理员子系统 2 摘要 随着计算机和网络的普及 ,高等学校里纷纷建立了 C/S 或者 B/S 结构的网上选课系统。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和 自动化,大大提高了学校的工作效率。 本系统是 C/S(客户端 /服务器)两层结构。采用 C#数据库编程语言。服务器部分是 SQL Server2000
2、 关系数据库。客户端分为学生选课子系统和管理员管理子系统,它们通过存于后台数据库的数据产生联系。 无论是学生子系统还是管理员子系统,都需要从数据库中读取院系的信息以及每个院系所开设的课程信息,将其存放在 DataSet 里面,然后把数据绑定到控件并显示出来。由于每个院系都开设多门课程供学生选择,院系信息和课程信息形成一个树状的结构,所以使用 TreeViewer 控件显示这些 信息比较合适。 关键字 :网上选课系统 ,、 C#.NET、 SQL Server2000 关系数据库。 3 Abstract Along with the development of the computer and
3、 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
4、 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 an
5、d 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 Dat
6、abase 4 目 录 前言 .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 5 前言 二十一世纪是知识经济的时代,同时也是科技高速发展、网络信息迅速膨胀的年代,大量客观事实表明,一个崭新的计算机时代必将到 来。随着知识经济革命的
7、到来和信息技术的蓬勃发展,计算机技术和通讯技术成为了这个时代的主角,不仅改变了我们的世界,而且同时也吹响了我们迈向新生活的号角,正以日新月异的速度改变我们的人生。而两者的结合产物 -计算机网络,在最近的几年更是异军突起、迅猛地发展起来,它不仅提高我们的工作效率,而且还为我们提供了广阔的资源利用空间和方便快捷的现代通讯手段,同时它还是衡量一个国家科技发展水平的重要的尺度。 随着计算机技术和网络技术的发展,各高校相继建成了自己的校园网,并充分利用校园网提供的新环境、新手段为校园的教学、科 研和教务管理服务。近年来,学校的招生规模不断扩大,在学校学生人数明显增多,加之学生分校区管理,给原本繁杂的院级
8、选修课工作增加了不少教务工作量。网上选课系统的推出,使得选修课程的设置维护、学生选 /退课及成绩查询、管理员对选课情况的管理等工作均能在互联网上完成。这不仅减轻了教务人员的工作负担,也大大方便了全校师生对选课信息的维护、查询。 计算机语言是开发计算机软件的一种高级软件,它的掌握和使用是高级的计算机使用者必须的技能。现在存在着大量的计算机语言,而且它们的发展速度让世人瞩目震惊。 本系统采用 C#数据库编程 。 C是一种重要的新语言,微软将其设计和定位成 .NET 战略的一部分, C#内建了很多有用的库,并由高级集成开发环境提供支持。它有效地支持目前占主导地位的编程方法 面向对象编程 (OOP)
9、。 C问世于 20 世纪 90 年代,是继 C 语言之后的一种功能强大的现代语言,它在 C 的基础上增加了 “类 ”的概念,类是提供用户自定义类型的一种机制,这些用户自定义类型也称为抽象数据类型。 C#通过这些方式和提供继承及运行时类型绑定,来支持面向对象编程。 服务器端采用 SQL Server2000 关系数据库, SQL 语言是 1974 年由 Boyce 和Chamberlin 提出的。由于它功能丰富,语言简捷倍受用户及计算机工业界欢迎,被众多计算机公司和软件公司所采用。经各公司的不断修改、扩充和完善, SQL语言最终发展成为关系数据库的标准语言。 SQL Server2000 是一项
10、全面完整的数据库与分析产品 。从借助浏览器实现的数据库查询功能到内容丰富的扩展标记语言 (XML)支持特性均可有力地证明 ,SQL Server2000 无谓为全面支持 Web 功能的数据库解决方案。与此同时 ,SQL Server2000 还在可伸缩性与可靠性方面保持着多项基准测试记录。 6 第一部分 关键技术概述 本网上选课系统分为客户端和服务器两层结构 ,服务器端安装了 SQL Server2000 关系数据库 ,客户端通过校园的局域网连接服务器的数据库存取数据。客户端分为供学生使用的学生子系统和供教师使用的管理员子系统。 本系统设计主要用到以下几个关键技术: XML 文档处理技术,遍历
11、 DataSet的编程技术, TreeView 控件动态绑定数据的技术和遍历 TreeView 控件的技术等。 1.1 XML 文档对象模型 文档对象模型( Document Object Model,简称 DOM)是 XML 文 档的内存(缓存)中树状表示形式,允许对该文档的导航和编辑。 DOM 是程序员能够以编程方式读取,操作和修改 XML 文档。 Visual C .NET 中, .NET Framework SDK 中的命名空间 System.Xml 中封装的 XmlNode 类能够很好的表示 DOM 树的节点( Node)。 XmlDocument 类继承和扩展于 XmlNode 类
12、,而 XmlNode 是组成 DOM 树的最基本的元素,因此使用XmlDocument 类可以创建和访问 DOM。 XmlDocument 类主要有两类成员方法: 用于对整个文档对象模型执行操作, 例如,将 XML 文档加载到内存中或将XML 文档对象模型保存成一个 XML 文档。 查看和操作整个 XML 文档中的节点。 1.2 遍历 DataSet DataSet 是 ADO.NET 中的核心对象,它支持断开式,分布式数据存取方案,功能非常强大。 DataSet 是数据在内存中的表示形式。它可以用于多个不同的数据源,包括关系数据库的数据集,本地的 XML 文档等。无论数据源是什么,它都会提供
13、一致的关系编程模型。 DataSet 中的方法和对象与关系数据库模型中的方法和对象一致。 DataSet 由 DataRelation 集合, ExtendedProperties 和 DataTable 三部分组成集合。数据都存放在 DataTable 集合中。 DataTable 集合包括零个或多个 DataTable对象。 DataTable 对象的结构对应数据库表的结构,从数据库选择出来的数据集可以放在 DataTable 对象里面。而 DataTable 对象又由 DataRow 集合组成,即每个 DataTable 里面由多个 DataRow。 DataRow 集合包含表中的数据。
14、 DataRow 相当于多维数组,不断改变下标就可以访问整个 DataTable 里面的数据,改变DataRow 集合对象的下标就可以访问不同的 DataTable 里面的数据,从而可以实现对整个 DataSet 的遍历。 7 1.3 TreeView 控件动态绑定数据 TreeView 控件能够以树状的层次结构显示它的节点。每个节点可能包含字节点。父节点或包含字节点的节点可以以展开或折叠的方式显示。如果将 TreeView控件的 CheckBoxes 属性设置为 ture,则在显示 TreeView 时,节点旁边还可带有复选框。通过设置节点的 Checked 属性值为 true 或 fals
15、e,就能以编程方式选定或清除节点。紧挨着节点文本的左侧可以显 示图标,这要通过设置 TreeView 控件的 ImageList 属性与希望使用的现有 ImageList 控件相关联才能给每个节点获取图象。 为了实现数据的动态绑定,需要以编程方式添加节点和移除节点,具体方法如下: ( 1) 使用树视图 Nodes 属性的 Add 方法,代码如下: TreeNode new Node=newTreeNode(“Text”); MytreeView1.SelectedNode.Nodes.Add(newNode); (2 ) 使用树视图 Nodes 属性的 Rmove 方法移除某个节点,或者使用
16、Clear 方法清除所有节点,代码如下: MytreeView1.Nodes.Remove(MytreeView1.SelectedNode); MyTreeView.Nodes.Clear(); 8 第二部分 软件定义时期 随着计算机的广泛应用 ,各行各业的信息管理都涉及到计算机中。 在软件定义这一阶段我们明确了软件开发的目的 ,并确定了“学生网上选课系统 ” 开发的总目标。确定了系统开发的可行性;导出了实现此系统总目标应采用的策 略及系统需完成的各个功能。本系统开发的目的在于提高学校选课工作的效率,使学生可以灵活的在选课期限内进行选课活动,同时减轻了负责监督,统计学生选课情况的教师的负担。
17、 2.1 问题定义 1.从系统的性质看,本系统属于一个关于数据库方面的应用系统。 2.从系统的功能看,本系统主要应完成以下功能 :学生可以查看课程信息,可以在限定时间内选择,退选,增选课程。管理员可以增加,修改,删除学生信息和课程信息,可以查看选课情况,可以修改选课期限,可以修改选课限制人数。 3.从系统的结构看,本系统分为客户端和服务器端,服务器 端安装 SQL Server2000 关系数据库,客户端由学生子系统和管理员子系统组成。 2.2 需求分析 通过询问参与选课的学生及负责选课工作的老师具体总结出网上选课系统需要能够实现以下功能: 学生和管理员必须通过认证才能登录系统,管理员和学生的
18、权限不一样; 管理员可以添加,删除和修改学生信息,可以添加,删除和修改课程信息,可以查看选课情况,可以修改选课期限。 学生可以查看课程信息,只能在限定时间内选修课程,可以查询自己选修课程的情况,在限定的时间之内还可以退选课程或者增选课程。如果被选课程选修的人数已经达 到上限,则学生不能选修该课程。 整个系统的流程是在用户的要求下进行的,学生子系统负责处理学生的选课,退选,增选等事务,并向用户显示操作情况对话框,同时更新数据库中相关表的数据。管理员子系统负责处理管理员对选课情况的管理,向管理员显示操作情况对话框,同时更新数据库中相关表的数据。 系统的数据流图如下: 学生子系统 3 查看 课程 信
19、息 D1 课程清单 9 管理员子系统 信号 1(A):修改学生信息信号 信号 2(B):修改课程信息信号 信号 3(C):修改选课期限信号 修改信息 修改信息 D3 选课期限清单 D3 选课清单 查 看 信 号 C B A 选课情况 修改信息 密码 管理员 帐号 密码 退选信息 选课信息 无效期信息 课程信息 课程信息 已选 选课 信 号 查 看 程 信 号 信息 学生 密码 学号 学生 学生 学生 1 资格 审核 4 查看 已选 课程 信息 5 选课 查看已选 课程信息 2 登录 管理员 管理员 1 资格 审核 2 登录 3 管理 学生 记录 4 管理 课程 信息 5 修改 选课 期限 6
20、查看 选课 情况 D2 已选课程清单 D1 学生记录 D2 课程清单 D4 选课清单 10 简化的数据字典 (1)口令 : 用户身份验证 (2)数据流:事务 = 输入 | 查询 |选课 | 事务 = 输入 | 查询 |退选 | 事务 = 输入 | 查询 |增选 | 事务 = 输入 | 查询 |修改 | (3)数据库 = Courses表 + Student表 + Department表 + Elective表 + Admins表 + Period 表 后台数据库据库采用 SQL Server 2000,各表完成如下功能: Courses 表:用于存放课程的详细信息。 Student 表:用于存放所有学生的资料。 Department 表:用于记录开设课程所属院系名称。 Elective 表:用于记录学生选课情况。 Admins 表:用于记录所有管理员的信息。 Period 表:用于设置选课的开始时间和选课的结束时间。 通过对用户提出要求的调查研究,明确了系统设计的目标,确定了系统的基本功能,并分析出数据的流动方向,在此基础之上可以开始着手设计系统,勾画出网上选课系统总体框架。