基于WEB的学生选课系统-ASP语言毕业设计_第1页
基于WEB的学生选课系统-ASP语言毕业设计_第2页
基于WEB的学生选课系统-ASP语言毕业设计_第3页
基于WEB的学生选课系统-ASP语言毕业设计_第4页
基于WEB的学生选课系统-ASP语言毕业设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、中文摘要 I 摘要 本论文主要论述的是基于 WEB 的选课系统的系统维护模块的设计与实现。 设计本系统的目的是对选课信息进行管理。学生选课系统维护模块主要完 成的是系统管理与维护功能。课题研究过程中,首先对系统管理模块进行了详 尽的需求分析,经分析得到系统管理模块主要完成如下的功能:用户基本信息、 选课信息的录入,查看,修改,删除等,同时还具有查询各个模块的功能,数据备 份,数据还原 ,注销等功能。系统管理模块是整个系统的指挥中心,保证整个系 统在校园网上安全有效地运作。之后根据需求提出了系统管理模块的总体设计 方案,并据此进行了详细设计和编码实现。系统使用 B/S 结构设计和开发,系统 的编

2、码实现基于 VS.NET 平台,使用 ASP.NET 作为开发语言,SQL Server 20XX 作为数据库。代码中通过使用进程中的 Session、尽量使用存储过程和尽量减少 数据库连接的打开时间等手段来提高性能。 论文中对课题的设计和开发进行了完整地论述。系统开发完成后,对课题要 求的功能设计出测试用例,进行功能测试,测试结果证明学生选课系统的维护模 块实现了对该模块的功能需求,完成了课题的主要任务。 关键词:选课系统,系统管理,ASP .NET Abstract II Abstract The topic is mainly to comment designment and impl

3、ementation of the maintenance module of the Web-based Course Selection System. The purpose of Course Selection System is to manage the course selection information on computer. Research process, the first system management module for a detailed needs analysis. Upon analysis of system management modu

4、le to be completed the following functions : basic user information in the Course Selection logging information, the following changes. delete, inquiry also has the function of each module, backup data, restore data, the write-off and other functions. The entire system is the command module manageme

5、nt system to ensure that the entire campus network safe and effective transport system to do. After a demand management module design program, and thus achieve a detailed design and coding. The system use the Structure of B/S, using VS.NET as the development language and SQL Server 20XX as database.

6、 Session code through the use of the process. Make full use of the process and minimize storage time open database connectivity to improve performance. The design and development of a thesis topic for a complete exposition. System development is completed, subject to the requirements of the function

7、al test case design and the functionality, Test results show that the system to safeguard optional module of the functional requirements of this module, and complete the main task. Key words : course selection system, management modules,ASP.NET 目录 III 目录 摘要.I Abstract.II 目录 .III 第一章 绪论 .1 1.1 课题背景.1

8、 1.2 关键技术介绍.1 1.2.1 ASP.NET 简介.1 1.2.2 SQL Server .3 1.2.3 ADO.NET 简介.3 1.2.4 HTML.4 1.2.5 Script.5 1.3 课题主要工作.5 第二章 需求分析 .7 2.1 可行性分析.7 2.1.1 网上选课系统的产生和可行性分析.7 2.2 功能分析.8 第三章 系统的设计 .10 3.1 总体设计.10 3.2 功能的详细设计.10 3.3 数据库设计.11 第四章 系统实现与验证.16 4.1 系统实现.16 4.1.1 系统主界面 .16 4.1.2 登录功能 .17 4.1.3 学生模块功能 .19

9、 4.1.4 教师模块功能 .20 4.1.5 管理员模块功能 .21 4.1.6 存储过程 .23 4.1.7 类的使用 .25 4.2 系统验证.26 4.2.1 系统运行环境 .27 目录 IV 4.2.2 系统的验证 .27 结论 .29 参考文献 .30 致谢 .31 第一章 绪论 - 1 - 第一章 绪论 1.1 课题背景 学生选课是学校教学环节开展的前提和基础,是学校工作的重要组成部分。 一直以来人们使用传统人工的方式管理文件挡案,这种管理方式存在着许多缺 点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查 找、更新和维护都带来了不少的困难。 随着科学技术的

10、不断提高,计算机科学日渐成熟,其强大的功能已为人们深 刻认识。使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点,例 如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低 等。这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规 化管理,与世界接轨的重要条件。 因此,建立一个学生选课系统,使选课管理工 作规范化、系统化、程序化,避免选课管理的随意性,提高信息处理的速度和准 确性,能够及时、准确、有效的查询和修改选课情况。 1.2 关键技术介绍 1.2.1 ASP.NET 简介 ASP.NET 又称 ASP+,但它不是 ASP 的简单升级,而是微软提出的.NE

11、T 框 架的一部分,它是一种以.NET 框架为基础开发网上应用程序的全新模式4。 .NET 的核心内容之一就是要搭建第三代互联网平台,这个网络平台将打破 不同的上网设备、不同的操作系统、不同的网站,以及各大机构和工业界的网 络障碍,将解决网站之间的协同合作,使网站之间形成自动交流,从而最大限度 的共享资源2。 .NET 框架(.NET Framework)主要有以下 3 部分组成: 公共语言运行库(Common Language Runtime,CLR) 基础库类(Base Class Libarary) 第一章 绪论 - 2 - ASP.NET、VB.NET、C#等语言运行库 ASP.NET

12、 的功能和特点: ASP.NET 是.NET 框架中专门用来开发网上应用程序的,它其实不是一种语 言,而更像一个框架,在这个框架下可以采用 VB.NET,C#等其他.NET 语言开发网 上程序。 相对于他的前身 ASP 来说,ASP.NET 具有如下特点。 1)效率增强 ASP 才有界实质性的方式,每一次用户访问页面时,就从头到尾解释一遍, 这样效率较低。而 ASP.NET 采用编译后运行的方式,当用户第一次访问页面时 对页面进行编译,以后在访问时就直接运行,这样尽管第一次会稍微慢些,但以 后速度就会大大提高。 2)顶级开发工具支持 ASP.NET 可以在 Visual Studio.NET

13、中开发,支持所见即所得、拖防控件和 自动部署等功能,可以使开发效率大大提高。 3)程序结构清晰 再 ASP 中,ASP 代码和 HTML 标记是掺杂在一起的,其实是将 ASP 代码嵌 入到了 HTML 文档中。而 ASP.NET 可以将车古代马赫 HTML 标记分开,使得程序 结构更清晰。 4)开发简单 ASP.NET 中的很多特性使得开发更简单。如它提供的验证控件可以方便的 验证客户是否正确填写表单内容,就不需要自己编写大段验证代码。另外,提交 表单后,可以自动保留客户在表单内输入的内容。 5)移植方便 在 ASP 中,如果要使用第三方组件,就需要在服务器端注册该组件,甚至需 要重新启动服务

14、器,极不方便。而在 ASP.NET 中,可以向目标服务其直接复制组 件,当需要更新时,重新复制一个即可。ASP.NET 会自动逐步用新的组件替换旧 第一章 绪论 - 3 - 的组件。 6)Web 服务 所谓 Web 服务,就是一种特殊的 Web 组件,该组件有一些属性和方法,其他 网上应用程序或传统应用程序可以远程调用着这属性和方法,并返回一个简单 的结果。 1.2.2 SQL Server SQL Server 是一个具备完全 Web 支持的数据库产品,提供了对可扩展标 记语言 (XML) 的核心支持以及在 Internet 上和防火墙外进行查询的能力,提 供了以 Web 标准为基础的扩展数

15、据库编程功能。丰富的 XML 和 Internet 标 准支持允许使用内置的存储过程以 XML 格式轻松存储和检索数据。 SQL Server 提供强大的开发工具和各类开发特性,在大大提高开发效率的 同时,带来新的商业应用机遇。例如,XML 数据库与 Web Service 的支持将使您 的应用实现 Internet 数据互联,.NET 集成极大的扩展了开发空间,异构数据集成、 Service Broker 使您的数据和其它应用无缝集成,各种新数据类型和 T-SQL 扩展 带来了诸多灵活性。C#、VB.Net、XQuery、XMLA、ADO.Net 2.0、SMO、AMO 等都将成为 SQL

16、Server 数据平台上开发数据相关应用的有力 工具12。 1.2.3 ADO.NET 简介 为了处理存储在数据库中的数据,ASP.NET 是使用 ADO.NET(Microsoft 新 的数据访问策略-ActiveX Data Objects for the .NET Framework)来完成的。 它是为.NET 框架而创建的,提供对 Microsoft SQL Server、Oracle 的数据源 以及通过 OLEDB 和 XML 公开的数据的一致访问。数据共享使用者应用程序 可以使用 ADO.NET 来连接到这些数据源,并检索、操作和更新数据。 连接环境下应用程序的对象模型,如图 1-

17、1 所示8。 第一章 绪论 - 4 - 图 1-1 连接环境下应用程序的对象模型 在连接环境下,整个数据存取的步骤如下: (1) 用 SqlConnection 对象和数据库开启连接。 (2) 用 SqlCommand 对象向数据索取所要的数据。 (3) 把取回来的数据,放在 SqlDataReader 对象中读取,或者是做其他的存取。 (4) 在对数据库的存取、查询等操作做完后,关闭 SqlDataReader 对象。 (5) 关闭 SqlConnection 对象。 连接环境下的数据库存取作业,从开始到结束,客户端与服务器端都是保持 在联机的状态。 1.2.4 HTML HTML 的英文全

18、称是Hypertext Markup Language,中文译为“超文本标记 语言” 。 “超文本”就是指页面内可以包含图片,联接,甚至音乐,程序等非文字 的元素。在几年前作为 SGML 的一个子集开发的。一个 HTML 文件中包含了 所有将显示在网页上的文字信息,其中也包括对浏览器的一些指示,如哪些文字 应放置在何处,显示模式是什么样的等。如果你还有一些图片、动画、声音或 是任何其它形式的资源,HTML 文件也会告诉浏览器到哪里去查找这些资源,以 及这些资源将放置在网页的什么位置。浏览的网页就是由 HTML 语言编写出来 的。虽然 HTML 是一种语言,但 HTML 不是程序语言,如 C+

19、和 Java 之类, 它只是标示语言,你只要明白了各种标记的用法便算学会了 HTML 的格式非常 简单,只是由文字及标记组合而成,因此任何文本编辑器都可以制作 HTML 页面。 在编辑器中输入 html 代码即可完成对网页的设计,如果在其中加入 第一章 绪论 - 5 - VB,JAVA 等脚本文件以及数据库连接有关的语句指令,便可对已知数据进行查 询,从而生成动态网页的一部分。 1.2.5 Script 脚本语言现在流行的主要是 JavaScript 和 VBScript,下面简单介绍一下这两 种语言: JavaScript 语言的前身叫作 Livescript。自从 Sun 公司推出著名的

20、Java 语言 之后,Netscape 公司引进了 Sun 公司有关 Java 的程序概念,将自己原有的 Livescript 重新进行设计,并改名为 JavaScript。 JavaScript 是一种基于对象和事件驱动并具有安全性能的脚本语言,有了 JavaScript,可使网页变得生动。使用它的目的是与 HTML 超文本标识语言、 Java 脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而 可以开发客户端的应用程序。它是通过嵌入或调入在标准的 HTML 语言中实现 的。 VBScript 的全称是:Microsoft Visual Basic Script Editon

21、.(微软公司可视化 BASIC 脚本版). 正如其字面所透露的信息, VBS(VBScript 的进一步简写)是 基于 Visual Basic 的脚本语言. 我进一步解释一下, Microsoft Visual Basic 是微 软公司出品的一套可视化编程工具, 语法基于 Basic 脚本语言, 就是不编译成 二进制文件, 直接由宿主(host)解释源代码并执行, 简单点说就是你写的程序 不需要编译成.exe, 而是直接给用户发送.vbs 的源程序, 用户就能执行了. Javascript 主要优势是适用于各个浏览器,但是在各个浏览器上的语句和实 现上又细微的差别.VBScript 的优势是

22、他是微软的产品,因此他和微软的系统结 合的比较好,但这同样也是它的劣势平台比较单一. 1.3 课题主要工作 学生选课系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的 建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致 性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使 第一章 绪论 - 6 - 用等特点。本模块主要包括数据库的构建,设计学生、教师、管理员的登陆情况,根 据不同的用户身份进入不同的界面管理。包括学生、教师、管理员的登陆、修 改密码、退出。系统管理包括的功能有学生资料录入、学生资料修改删除、教 师资料录入、教师资料修改删除、选修课

23、程录入、选修课限额设置、查询用户 密码、查看注册情况、添加通知、通知管理、系统还原、系统备份等等。 第二章 需求分析 第二章 需求分析 2.1 可行性分析 1.技术可行性-本系统仅需要一台装有 Office 软件的计算机即可,对机 器本身没有太高的要求,一般当前学校或个人电脑完全可满足要求。对于软件 技术要求,现在的程序设计语言已非常成熟,要运用于 HTML 样式,图形图象制 作工具来制作生动活泼的网页及美观的图形文件或动画文件,数据库使用 SQL Server 20XX 提供的数据库桌面工具 ODBC。 2.经济可行性-由于本系统是学生选课管理使用的系统,装上该应用软 件,即可使用系统,系统

24、成本主要集中在系统软件的开发上,当系统投入运行后 可以为学校节约大量的人力,物力。所带来的效益远远大于系统软件的开发成 本。在经济上完全可行。 3.操作可行性-界面设计时充分考虑管理人员的习惯,使得操作简单; 数据录入迅速、规范、可靠;统计准确;制表灵活;适应力强;容易扩展。 2.1.1 网上选课系统的产生和可行性分析 网上选课系统是针对在校学生和教师使用,从学生的角度来说,由于学校教 学制度的改革,现在大部分高等院校开始实行的是学生的自主选课模式,传统的 教学模式学生按照学校安排好的课程上课已经不能适应新型的教学手 段,如果仍然通过纸上的方式选课,一方面浪费的大量的人力、物力资源,另一 方面

25、浪费时间以及在人为的统计过程中不可避免出现的差错等情况。随着高校 人数的增多,这种弊端会越来越多的暴露出来。因此,利用网络,使学生只要在 计算机前输入自己的个人选课信息即可完成原来几倍的作业量。从教师的角度 来说,同样是节省了大量的工作量,由于教师提出代课申请完成课程发布的工作 较学生选课而言更加的复杂,因此通过网上进行课程发布能大幅度的减少教师 的工作量,减少错误的发生几率。作为教师,也只要通过自己的电脑来操作即可,不 用再奔波于教务处和办公室之间。以 MIS 系统的构建思想来实现网上选课系统 第二章 需求分析 - 8 - 可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化

26、原 则。技术可行性:以 MIS 技术为开发基础。 2.2 功能分析 我国不少高校都实行了学分制,它的核心是允许学生自由选课,即把学习的 自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且 往往需要在较短的时间内完成。运用计算机辅助选课,既能实时地对大量选课数 据进行检验和统计,十分方便地输出结果,同时也避免了人工处理时容易产生的 错误。 从系统开发的复杂程度来看,计算机辅助排课与选课是高校教务系统中的两 个关键子系统,目前不少教务系统尚未很好地解决排课与选课问题。本文主要是 对高校教务管理系统中计算机课表编排与选课子系统的基本功能、设计思想、 需求分析以及实现技术进行探讨

27、。在大学中,学生选课存在这样的特点:公选课 较多,学生人数众多,学生可根据自己的专业及兴趣选择公选课程进行学习,而且 学生对课程的要求有较大差异。本系统将从教学部门的要求出发,实现公选课的 选择、查询与统计。 使用该系统有三个角色,即管理员、学生和教师用户。管理员的权限最高, 包括设置系统登陆信息, 用户基本信息、选课信息的录入,查看,修改,删除等、 同时还具有查询各个模块的功能。老师和学生可以实现基本信息查询和进行选 课的相关操作,如添加选课信息,退选等。 一共分五个功能模块: 系统管理:实现管理员对系统的管理,包括添加删除用户。更改密码,数据 备份,数据还原,注销等功能。 基本信息:实现显

28、示学生和老师的基本信息(包括学生基本信息,教师基本 信息,课程基本信息 )。 选课:实现学生选择课程,选择老师,老师选择自己所能教的课程。 查询:包括实现学生查询,老师查询。学生查询包括自己的基本信息,自己 第二章 需求分析 - 9 - 的课程,课表,成绩,同班同学等,老师查询包括查询自己的信息,自己所带班的 学生,自己的课程表等。 帮助系统:帮助系统为用户指明方向。 系统维护模块的总体框架图如图 2.1 所示。 选课系统管理与维护 登录 修 改 密 码 课 程 信 息 的 维 护 学 生 信 息 的 维 护 教 师 信 息 的 维 护 系 统 备 份 与 还 原 图 2.1 选课系统管理与维

29、护模块总体框架图 第三章 系统的设计 - 10 - 第三章 系统的设计 3.1 总体设计 本系统共分三大模块,分学生、教师、管理员模块,登录,修改密码,退出系 统功能是学生、教师、管理员所共有的功能。学生登录模块中,当学生成功登 录后,将学生的姓名、学号、密码作为共用信息保存下来,作为密码修改模块、 查询选课信息模块、修改选课信息模块使用时的参数。查询选课信息模块中的 课程号、学期、教师姓名信息作为传递参数用于查询教师信息模块、查询选课 名单模块、查询课程信息模块、修改选课信息。同样,教师登录模块中,成功登 录后将教工号、教师姓名作为参数保存下来,传递到密码修改模块、查询已发 布课程信息模块、

30、删除课程发布信息模块、修改课程发布信息模块。管理员登 录后的修改教师信息、删除教师信息模块中传递的是教工号信息,参数由用户 输入的信息得来;修改学生信息、删除学生信息模块中传递的是学生的学号信 息,同样传递的参数由用户输入得来。管理员还有系统还原、备份。 有登录界面,根据不同的用户进入不同的界面。修改密码界面,完成用户对 密码的修改。课程信息的添加、修改、删除界面,完成对课程的录入、修改、 删除。学生信息的添加、修改、删除界面,教师信息的添加、修改、删除界面, 完成对用户的操作。 需要学生、教师、管理员、课程、班级、专业、系、学院基本信息,学生 选课、专业开课情况,教师授课信息,建立了 11

31、个相关的表。 3.2 功能的详细设计 为了使界面统一,使用了表格,在其中加入 Panel 控件,以便不用跳转到不同 的页面,在同一页面通过 Click 事件调用不同的用户控件,从而达到预期效果。 1.登录 在登录页面对应的地方输入用户名、密码,确认后登录。提交后首先通过 第三章 系统的设计 - 11 - 用户名和密码和 type 值运行存储过程 login,对数据库中的学生/教师/管理员信 息表进行检索,若检索到的记录集为空,从而转到登陆错误页面,提示“你输入 的用户名或密码有误,请重新输入!”若记录集不为空,再进行姓名密码判断, 若相等则转入学生/教师/管理员登录成功的操作页面,并将编号/密

32、码和 type 值 以 session 对象保存起来。 2. 修改密码 学生登陆成功后,通过 session 传递学号,找到相应的个人信息显示出登陆成 功。可以重新登陆,修改密码,退出系统,选课,查询成绩,查看帮助。重新登陆 通过传递 reboot 值,调用 login.ascx 用户控件,修改密码调用存储过程 changepwd,退 出系统注销 session 值,查看帮助调转到 help.aspx 页面。登陆错误跳转到错误界 面。 教师登陆成功后,通过 session 传递教工号,找到相应的个人信息显示出登陆 成功。可以重新登陆,修改密码,退出系统,选定课程,查看课表安排等。 3.信息维护

33、 管理员包括的功能有学生资料录入、学生资料修改删除、教师资料录入、 教师资料修改删除、选修课程录入、选修课限额设置、系统还原、系统备份等 等,将各模块做成用户控件,根据不同的标识跳转到相应的界面。在各自的 LinkButton_Click 跳转到相应的界面下调用存储过程实现各功能。 3.3 数据库设计 在 login 模块,根据身份的不同,需要学生、教师、管理员的信息表,关联学 生的有班级、专业、系、学院信息,关联教师的有教师授课表和学院信息表,对 课程的管理需要课程信息表。 表之间关系如图 3.1 所示 第三章 系统的设计 - 12 - 第三章 系统的设计 - 13 - 图 3.1 数据库间

34、表的关系图 下面列出选课系统所有表的结构和索引。 1.学生信息表 学号为主索引,为班级号建立索引,通过该索引和班级信息表建立关联。 表 3.1 学生信息表 字段名 类型 宽度 是否允许空 约束 学号 char 10 F 主键 姓名 char 10 F 密码 char 10 F 性别 char 2 F 联系 TEL varchar 20XXT 班级号 char 10 F 外键 2.教师信息表 第三章 系统的设计 - 14 - 教工号为主索引,为所在院号建立索引,通过该索引和学院信息表建立关联。 表 3.2 教师信息表 字段名 类型 宽度 是否允许空 索引 教工号 char 10 F 主键 姓名

35、char 10 F 性别 char 2 F 职称 varchar 20 F 密码 char 10 F 所在院号 char10F 外键 TELvarchar20T 学历 char10 F 3.课程信息表 课程编号为主索引。 表 3.3 课程信息表 字段名 类型 宽度 是否允许空 索引 课程号 char 10 F 主键 课程名称 varchar 20 F 4.学生选课表 学号、课程号共同做主索引,通过学号和学生信息表建立关联,通过课程 号和课程基本表建立关联。 表 3.4 学生选课表 字段名 类型 宽度 是否允许空 索引 学号 char 10 F 主键 课程号 char10 F 主键 成绩 sma

36、llint 2 T 5.班级信息表 班级号做主索引,为所属专业号建立索引,通过该索引和专业信息表建立关 联。 第三章 系统的设计 - 15 - 表 3.5 班级信息表 字段名 类型 宽度 是否允许空 索引 班级号 char 10 F 主键 班级名 varchar 20 F 所属专业号 char10F 外键 人数 int 4 T 6.教师授课表 分别为教工号和课程号建立索引,通过教工号和教师信息表建立关联,通过 课程号和课程信息表建立关联。 表 3.6 教师授课表 字段名 类型 宽度 是否允许空 索引 教工号 char 10 F 主键 课程号 char 10 F 主键 指导人数 int 4 T

37、7.专业信息表 为所在系号建立索引,通过所在系号和系信息表建立关联。 表 3.7 专业信息表 字段名 类型 宽度 是否允许空 索引 专业号 char 10 F 主键 专业名称 varchar20 F 所在系号 char 10F 外键 8.系信息表 为所在院号建立索引,通过所在院号和院信息表建立关联。 表 3.8 系信息表 字段名 类型 宽度 是否允许空 索引 系号 char 10 F 主键 系名 varchar20 F 所在院号 char 10 F 外键 9.专业开课信息表 第三章 系统的设计 - 16 - 学年设置 check 约束只能输入 1-4,学期设置 check 约束只能输入上或下。

38、 分别为专业号和课程号建立索引,通过专业号和专业信息表建立关联,通过课程 号和课程信息表建立关联。 表 3.9 专业开课信息表 字段名 类型 宽度 是否允许空 索引 专业号 char 10 F 主键 课程号 char 10 F 主键 学时 int 4 T 学分 int 4 T 是否必修 bit 1 T 上课地点 varchar20T 己选人数 int4T 总人数 int4T 学年 int4T 学期 char6 T 10.学院信息表 为学院号建立索引。 表 3.10 学院信息表 字段名 类型 宽度 是否允许空 索引 学院号 char 10 F 主键 学院名 varchar20 F 所在学校 va

39、rchar20 F 11.管理员信息表 为账号建立索引。 表 3.11 管理员信息表 字段名 类型 宽度 是否允许空 索引 账号 char 10 F 主键 密码 char10 F 第四章 系统实现与验证 - 17 - 第四章 系统实现与验证 4.1 系统实现 4.1.1 系统主界面 登录界面如图 4.1 所示。 图 4.1 主界面 主界面 main.aspx 的主要设计如下 插入两行两列的表,将第一行单元格合并,分别在上、左、右单元格中加入 Panel 控件,分别设置 ID 为 p3,pl,pr。在 page_load 中添加代码: P3.Controls.Add(Page.LoadContr

40、ol(header.ascx) 加载图片控件 Pl.Controls.Add(Page.LoadControl(menu1.ascx) 加载左侧菜单 Pr.Controls.Add(Page.LoadControl(js.ascx) 初始时加载简介信息 If Request.QueryString(type) = 0 Then 学生登录 Pr.Controls.Clear() Pr.Controls.Add(Page.LoadControl(login.ascx) 第四章 系统实现与验证 - 18 - Exit Sub End If If Request.QueryString(type) =

41、 1 Then 教师登录 Pr.Controls.Clear() Pr.Controls.Add(Page.LoadControl(login.ascx) Exit Sub End If If Request.QueryString(type) = 2 Then 管理登录 Pr.Controls.Clear() Pr.Controls.Add(Page.LoadControl(login.ascx) Exit Sub End If header.ascx 为一图片控件, menu1.ascx 为用户登录菜单,添加 3 个 LinkButton 控件,分学生、教师、管理员身份, js.ascx

42、为登录介绍。 在 menu1.ascx 中学生的 LinkButton_Click 中添加代码 Response.Redirect(main.aspx?type=0) 在 menu1.ascx 中教师的 LinkButton_Click 中添加代码 Response.Redirect(main.aspx?type=1) 在 menu1.ascx 中管理员的 LinkButton_Click 中添加代码 Response.Redirect(main.aspx?type=2) 4.1.2 登录功能 当点击不同的用户后,进入同一登录界面,通过识别不同的标识,即 type 值 的不同而进入不同的用户界

43、面。在登录页面对应的地方输入用户名、密码,确 认后登录。调用存储过程 login,根据编号、密码、type 值的不同来判断用户身 份。登录界面如图 4.2 所示。 第四章 系统实现与验证 - 19 - 图 4.2 登录界面 Login.ascx 中的设计如下: 确定按扭中添加代码: Dim s As String If Request.QueryString(reboot) = 1 Then s = Session(type) Else s = Request.QueryString(type) End If Dim db As New dbaccess db.para.Add(user, b

44、ianhao.Text.Trim) db.para.Add(pwd, pwd.Text.Trim) db.para.Add(type, s) db.runproc(login) If db.retok Then Session(user) = bianhao.Text.Trim Session(type) = s Select Case s Case 0 第四章 系统实现与验证 - 20 - Response.Redirect(student.aspx) Case 1 Response.Redirect(teacher.aspx) Case 2 Response.Redirect(admin.

45、aspx) End Select Else Response.Redirect(登陆错误.aspx) End If 重置按扭中添加代码: bianhao.Text = pwd.Text = 4.1.3 学生模块功能 当点击学生后,通过输入学号和密码进入学生登录界面,右边的表格中列出 登录者的相关信息,如输入错误跳转到登陆错误界面。教师、管理员的也相同。 学生、教师登录成功后都可重新登陆、修改密码、查询相关内容和退出系统等 功能。登录界面如图 4.3 所示。 第四章 系统实现与验证 - 21 - 图 4.3 学生登录成功界面 1)重新登陆会跳转到 Login.ascx 的界面。 2)退出系统中代

46、码如下: Session.Abandon()清空会话信息 Response.Redirect(main.aspx) 为了安全,退出后注销用户的 Session 信息,跳转到主界面。 3)修改密码中代码如下: If pwd2.Text.Trim pwd3.Text.Trim Then Response.Write( alert(两次输入的密码不一致!);) Else Dim db As New dbaccess Response.Write(Session(type) db.para.Add(id, Session(user) db.para.Add(oldpwd, pwd1.Text.Trim

47、) db.para.Add(pwd, pwd2.Text.Trim) Dim temp As String temp = Session(type) db.para.Add(type, temp.Trim) db.runproc(changepwd) If (db.retok) Then Response.Write( alert(修改成功!);) Else Response.Write( alert(原始密码错误!);) End If End If 4.1.4 教师模块功能 教师登陆也同样传递 session 值,将教工号和 type 值保留以备调用不同的用 户控件。其它功能同学生模块相同。

48、登录界面如图 4.4 所示。 第四章 系统实现与验证 - 22 - 图 4.4 教师登录成功界面 4.1.5 管理员模块功能 管理员登陆成功后,界面如图 4.4 所示,重新登陆、修改密码、退出系统同 上。系统还原调用存储过程 hy,备份调用存储过程 bf,添加、修改、删除课程信 息分别调用存储过程 ins_c、del_c、course_update,添加、修改、删除学生信息 分别调用存储过程 ins_s、del_s、student _update,添加、修改、删除课程信息分 别调用存储过程 ins_t、del_t、teacher_update。 第四章 系统实现与验证 - 23 - 图 4.5

49、 管理员登录成功界面 1)还原的 LinkButton_Click 中添加代码 db.runproc(hy, True) If db.retok Then Response.Write( alert(还原成功!);) Else Response.Write( alert(还原失败!);) End If 2)addstudent.ascx 中的代码如下 page_load 中的代码 db.runproc(grade) If db.retok Then g.DataSource = db.ds.Tables(0) 绑定班级信息 g.DataTextField = db.ds.Tables(0).C

50、olumns(1).ToString 显示班级名 g.DataValueField = db.ds.Tables(0).Columns(0).ToString 值为班级号 g.DataBind() 第四章 系统实现与验证 - 24 - End If submit_Click 中的代码 If studentid.Text.Trim And pwd.Text.Trim Then Dim db As New dbaccess db.para.Add(sid, studentid.Text.Trim) db.para.Add(pwd, pwd.Text.Trim) db.para.Add(sname,

51、 studentname.Text.Trim) db.para.Add(sex, sex.Text.Trim) db.para.Add(gradeid, g.SelectedValue) db.para.Add(telep, telep.Text.Trim) db.runproc(ins_s) If db.retok Then msg.Text = insert success ! Else msg.Text = insert failure! record may exists ! studentid.Text = pwd.Text = studentname.Text = sex.Text

52、 = telep.Text = End If Else msg.Text = 学号或密码不能为空! End If 4.1.6 存储过程 为了提高效率,使代码简单,大量使用了存储过程。 下面是登陆时调用的存储过程: CREATE proc login 第四章 系统实现与验证 - 25 - user char(10),pwd char(10),type int=0 as if type=0 begin select * from 学生信息 as b where b.学号=user and b.密码=pwd end if type=1 begin select * from 教师信息 as b wh

53、ere b.教工号=user and b.密码=pwd end if type=2 begin select * from 管理员信息 as b where b.账号=user and b.密码=pwd end 下面是还原时调用的存储过程: CREATE PROCEDURE hy AS DECLARE spid smallint DECLARE sql char(10) DECLARE deluser CURSOR FAST_FORWARD FOR SELECT spid FROM sysprocesses as p where dbid in (select s.dbid from sysd

54、atabases as s where =cc) OPEN deluser FETCH NEXT FROM deluser INTO spid WHILE FETCH_STATUS != -1 begin 第四章 系统实现与验证 - 26 - SET sql = KILL + CAST(spid AS char(10) EXEC(sql) FETCH NEXT FROM deluser INTO spid end CLOSE deluser DEALLOCATE deluser restore database cc from bf if error=0 select ok 4.1

55、.7 类的使用 在 OOP(面向对象的编程)中,类定义一类对象,通过将大量逻辑添加到自定 义类中,不仅能使代码更易于重复使用,还可以扩展现有的类,添加新的功能或 修改现有的功能。本程序中编写了一个类,供各摸块使用,代码如下: Imports System.Data Imports System.Data.SqlClient Imports System.Collections.Specialized Public Class dbaccess 使用 sql 访问数据库的对象 Public Shared ds As New Data.DataSet Public retok As Boolean

56、 如果返回的第一个表不为空,则为 1,反之为 0 Public para As New ListDictionary 出错返回 Nothing Public Sub runproc(ByVal procNAME As String, Optional ByVal master As Boolean = False) Dim db As String If master Then db = master Else db = cc End If Dim conn As New SqlConnection(server=.;database= + db + ;uid=csf;pwd=csf) Dim

57、 comm As New SqlCommand 第四章 系统实现与验证 - 27 - Dim adp As New SqlDataAdapter(comm) comm.Connection = conn comm.CommandType = CommandType.StoredProcedure comm.CommandText = procNAME comm.Parameters.Clear() Dim myDE As DictionaryEntry 加入参数 For Each myDE In para comm.Parameters.Add(myDE.Key, myDE.Value) Ne

58、xt myDE para.Clear() 参数已无用,回收空间 If Not (ds Is Nothing) Then 清空已有表 ds.Reset() End If retok = 0 conn.Open() adp.Fill(ds) conn.Close() If ds.Tables.Count 0 Then If ds.Tables(0).Rows.Count 0 Then retok = 1 如果有结果返回,则为真 End If Else retok = 0 反之,返回零 End If End Sub End Class 4.2 系统验证 第四章 系统实现与验证 - 28 - 4.2.

59、1 系统运行环境 1.硬件环境 PC 机一台 2.软件环境 1)以 Windows NT/20XX Server/XP 作为学生选课管理系统的后台操作系统 2)前台开发软件为 VB.NET、ASP.NET、ADO.NET、SQL Server 20XX 3)后台数据库系统采用 SQL Server 20XX 4.2.2 系统的验证 1.学生登录 表 4.1 学生登录验证 测试用例用例描述预期结果实际结果 10001,0001 存在登陆成功成功 20001,0005 不存在不成功不成功 2.删除课程信息 表 4.2 删除课程信息验证 测试用例用例描述预期结果实际结果 10001 存在删除成功成功

60、 2005 不存在不成功不成功 3.添加教师信息 表 4.3 添加教师信息验证 测试用例用例描述预期结果实际结果 1 0006,0006,子哈,女,不存在添加成功成功 第四章 系统实现与验证 - 29 - 0001,教授,研究生 2 0001,0001,含笑,女, 0001,教授,研究生 存在不成功不成功 4.修改课程信息 表 4.4 修改课程信息验证 测试用例用例描述预期结果实际结果 1 0001,英语存在修改成功成功 2003 不存在不成功不成功 在模块的建立时,很多时候发现功能不能正常运行,在检查完程序语句的结 构之后,发现并没有错误,于是在检查页面与页面交互时发现了问题,很多地方 传递

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论