




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 摘要 本论文主要论述的是基于 web 的选课系统的系统维护模块的设 计和实现设计学生选课系统维护模块系统的目的是对选课信息进行 管理。学生选课系统维护模块主要完成的是系统管理与维护功能。 课题研究过程中,首先对系统管理模块进行了详细的需求分析,经 分析得到系统管理模块主要完成如下的功能:用户基本信息,选课 信息录入,查看,修改,删除,从而实现能够在线选课,在线添加 课程,在线查询课程等功能。系统管理模块是整个系统的指挥中心, 保证整个系统在校园网上安全有效的运作。之后跟进需求提出了系 统管理模块的总体设计方案。并进行了详细设计和编码实现,系统 使用 asp。net 作为开发语言,sql server 2000 作为数据库。代码 中通过使用进行中的 session,尽量使用存储过程和尽量减少数据 库连接的打开时间等手段来提高性能。 论文中对课题的设计和开发进行了完整地论述。系统开发完成 后,对课题要求的功能设计出测试用例,进行功能测试,测试结果 证明学生选课系统的维护模块实现了对该模块的功能需求,完成了 课题的主要任务。 关键词:自动化;性能;sql 2 summary this thesis investigates the elective system of the web-based system maintenance module design and design student elective system maintenance module system is elective information management. student elective system maintenance module of the completion of system management and maintenance functions. the research process, the system management module, a detailed needs analysis, analysis of system management module mainly performs the following functions: basic user information, course selection information input, view, modify, delete in order to achieve that online elective add courses online, online query features such as curriculum. the system management module is the command center of the whole system, to ensure the safe and effective operation of the entire system in the campus network. after follow-up demand for the overall design of the system management module. and detailed design and coding system to use asp. net as a development language, the sql server 2000 as database. by using the code in the session, to make use of stored procedures and to minimize the database connection open time means to improve performance. 3 the paper integrity of the design and development of the subject. system development is completed, the subject of the functional design requirements of the test cases for functional testing, test results prove that the class selection system maintenance module to achieve the functional requirements of the module, completing the main task of the subject. keywords: automation; performance; sql 4 目录 1 引言 4 1.1 c/s 结构 .4 1.2 b/s 结构 .5 1.3 b/s 结构与 c/s 结构的分析比较 .6 1.3.1 硬件环境不同 .6 1.3.2 结构不同 .6 1.3.3 处理模式不同 6 1.3.4 构件重用不同 6 1.3.5 系统维护不同 7 2 开发工具介绍 8 2.1 asp.net 简介 .8 2.2 sqlsqrver 简介 .9 3 系统概述 .10 3.1 系统开发的目标 10 3.2 系统需求 10 3.2.1 可行性分析 10 3.3 数据库的设计 11 3.3.1 数据库系统分析 11 5 3.3.2 数据库逻 辑设计 15 3.3.3 数据库物理实现 16 3.4 系统的实现 18 3.4.1 通用操作 19 3.4.2 用户所具有功能 19 3.4.3 系统总体设计 .20 3.5 系统说明书 .24 3.5.1 系统界面说明 24 3.5.2 系统管理说明 29 3.5.3 教师 管理说明 32 4 系统的测试 .38 4.1 编码测试 38 4.2 数据 测试 38 5 总结 .39 6 致谢 .40 7 参考文献 .41 6 1 引言 选课系统是一个学校不可缺少的部分,它的内容对于学校的决策 者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供 充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方 式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密 性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和 维护都带来了不少的困难。 因此,开发这样一套软件成为很有必要的事情,在下面的各章中 我们将以开发一套学生选课系统为例,谈谈其开发过程和所涉及到的 问题及解决方法。 随着 internet 技术不断发展,尤其是基于 web 的信息发布和检 索技术,.net 计算技术以及网络分布式对象技术的飞速发展,导致 了很多应用系统的体系结构从 c/s 结构向更加灵活的 b/s 多级分布 结构演变,使得软件系统的网络体系结构跨入一个新阶段。 本次设计主要采用 b/s 结构。 1.1 c/s 结构 c/s 结构,即 client/server(客户机/服务器)结构。c/s 结构 把数据库内容放在远程的服务器上,相应的在客户机上需安装相应 的软件。c/s 软件一般采用两层结构,其分布结构如图 1.1 所示。 它由两部分构成:前端是客户机,接受用户的请求,并向数据库服 务提出请求,通常是一个 pc 机;后端是服务器,即数据管理 (server)将数据提交给客户端,客户端将数据进行计算并将结果呈 7 现给用户。还要提供完善的安全保护及对数据的完整性处理等操作, 并允许多个客户同时访问同一个数据库。在这种结构中,服务器的 硬件必须具有足够的处理能力。 图 1.1 c/s 结构在技术上很成熟,它的主要特点是交互性强、具有安全的 存取模式、网络通信量低、响应速度快、利于处理大量数据。但是 该结构的程序是针对性开发,变更不够灵活,维护和管理的难度较 大。通常只局限于小型局域网,不利于扩展。并且,由于该结构的 每台客户机都需要安装相应的客户端程序,分布功能弱且兼容性差, 不能实现快速部署安装和配置,因此缺少通用性,具有较大的局限 性。要求具有一定专业水准的技术人员去完成。 1.2 b/s 结构 b/s 结构,即 browser/server(浏览器/服务器)结构,就是只 安装维护一个服务器(server),而客户端采用浏览器(browse)运行 软件。它是随着 internet 技术的兴起,对 c/s 结构的一种变化和改 进。主要利用了不断成熟的 www 浏览器技术,是一种全新的软件系 统构造技术。b/s 三层体系结构采用三层:客户层/中间层/服务器 8 结构,在数据管理层(server)和用户界面层(client)增加了一层结 构,称为中间层,使整个体系结构成为三层。三层结构是伴随着中 间件技术的成熟而兴起的,核心概念是利用中间件将应用分为表示 层、业务逻辑层和数据存储层三个不同的处理层次,如图 1.2 所示。 三个层次的划分是从逻辑上分的,具体的物理分法可以有多种组合。 中间件作为构造三层结构应用系统的基础平台,提供了以下主要功 能:负责客户机与服务器、服务器与服务器间的连接和通信;实现 应用与数据库的高效连接;提供一个三层结构应用的开发、运行、 部署和管理的平台。这种三层结构在层与层之间相互独立,任何一 层的改变不会影响其它层的功能。 图 1.2 在 b/s 体系结构系统中,用户通过浏览器向分布在网络上的许 多服务器发出请求,服务器对浏览器的请求进行处理,将用户所需 信息返回到浏览器。而其余如数据请求、加工、结果返回以及动态 网页生成、对数据库的访问和应用程序的执行等工作全部由 web server 完成。随着 windows 将浏览器技术植入操作系统内部,这种 9 结构已成为当今应用软件的首选体系结构。显然 b/s 结构应用程序 相对于传统的 c/s 结构应用程序是一个非常大的进步。b/s 结构的 主要特点是分布性强、维护方便、开发简单且共享性强、总体拥有 成本低。但数据安全性问题、对服务器要求过高、数据传输速度慢、 软件的个性化特点明显降低,这些缺点是有目共睹的,难以实现传 统模式下的特殊功能要求。例如通过浏览器进行大量的数据输入或 进行报表的应答、专用性打印输出都比较困难和不便。此外,实现 复杂的应用构造有较大的困难。 1.3 b/s 结构与 c/s 结构的分析比较 1.3.1 硬件环境不同 c/s 建立在局域网的基础上,通过专门服务器提供连接和数据 交换服务。所处理的用户不仅固定,并且处于相同区域,要求拥有 相同的操作系统。b/s 建立在广域网的基础上,信息自己管理,有 比 c/s 更强的适应范围,一般只要有操作系统和浏览器就行。与操 作系统平台关系最小。面向不可知的用户群。 1.3.2 结构不同 c/s 软件一般采用两层结构,而 b/s 采用三层结构:这两种结构 的不同点是两层结构中客户端参与运算,而三层结构中客户端并不 参与运算,只是简单地接收用户的请求,显示最后的结果。由于三 层结构中的客户端并不需要参与计算,所以对客户端的计算机电脑 配置要求较低。虽然 b/s 采用了逻辑上的三层结构,但在物理上的 网络结构仍然是原来的以太网或环形网。这样,第一层与第二层结 10 构之间的通信、第二层与第三层结构之间的通信都需占用同一条网 络线路,网络通信量大。而 c/s 只有两层结构,网络通信量只包括 client 与 server 之间的通信量,网络通信量低。所以,c/s 处理大 量信息的能力是 b/s 无法比拟的。 1.3.3 处理模式不同 b/s 的处理模式与 c/s 相比,大大简化了客户端,只要装上操 作系统、网络协议软件以及浏览器即可,这时的客户机成为瘦客户 机,而服务器则集中了所有的应用逻辑。 1.3.4 构件重用不同 在构件的重用性方面,c/s 程序从整体进行考虑,具有较低的 重用性。而 b/s 对应的是多重结构,要求构件具有相对独立的功能, 具有较好的重用性。 1.3.5 系统维护不同 系统维护是在软件生存周期中开销最大的一部分。c/s 程序由 于其本身的整体性,必须整体考察并处理出现的问题。而 b/s 结构, 客户端不必安装及维护。b/s 结构在构件组成方面只变更个别构件, 开发、维护等工作都集中在服务器端。当需要升级时,只需更新服 务器端的软件,而不必更换客户端软件,实现系统的无缝升级。这 样就减轻了系统维护与升级的成本和工作量,使用户的总体拥有成 本(tco)大大降低。 11 2 开发工具介绍 2.1 asp.net 简介 asp.net 是统一的 web 应用程序平台,它提供了为建立和部署 企业级 web 应用程序所必需的服务。asp.net 为能够面向任何浏览 器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了 新的编程模型和基础结构。 asp.net 是 microsoft.net framework 的一部分,是一种可以 在高度分布的 internet 环境中简化应用程序开发的计算环境。.net framework 包含公共语言运行库,它提供了各种核心服务,如内存 管理、线程管理和代码安全。它也包含.net framework 类库,这是 一个开发人员用于创建应用程序的综合的、面向对象的类型集合。 asp.net 提供了下面的优点: 可管理性:asp.net 使用基于文本的、分级的配置系统,简化 了将设置应用于服务器环境和 web 应用程序的工作。因为配置信息 是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新 的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。 安全:asp.net 为 web 应用程序提供了默认的授权和身份验证 方案。开发人员可以根据应用程序的需要很容易地添加、删除或替 换这些方案。 易于部署:通过简单地将必要的文件复制到服务器上,asp.net 12 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至 在部署或替换运行的已编译代码时也不需要重新启动。增强的性能: asp.net 是运行在服务器上的已编译代码。与传统的 active server pages(asp)不同,asp.net 能利用早期绑定、实时(jit)编译、本机 优化和全新的缓存服务来提高性能。 灵活的输出缓存:根据应用程序的需要,asp.net 可以缓存页 数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件 或其他项目,或者可以根据过期策略进行刷新。 国际化:asp.net 在内部使用 unicode 以表示请求和响应数据。 可以为每台计算机、每个目录和每页配置国际化设置。 移动设备支持:asp.net 支持任何设备上的任何浏览器。开发 人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动 设备。 扩展性和可用性:asp.net 被设计成可扩展的、具有特别专有 的功能来提高群集的、多处理器环境的性能。此外,internet 信息 服务(iis)和 asp.net 运行时密切监视和管理进程,以便在一个进程 出现异常时,可在该位置创建新的进程使应用程序继续处理请求。 跟踪和调试:asp.net 提供了跟踪服务,该服务可在应用程序 级别和页面级别调试过程中启用。可以选择查看页面的信息,或者 使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处 于生产状态时,asp.net 支持使用.net framework 调试工具进行本 地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产 13 品代码中而不会影响性能。 与.net framework 集成:因为 asp.net 是.net framework 的一 部分,整个平台的功能和灵活性对 web 应用程序都是可用的。也可 从 web 上流畅地访问.net 类库以及消息和数据访问解决方案。 asp.net 是独立于语言之外的,所以开发人员能选择最适于应用程 序的语言。另外,公共语言运行库的互用性还保存了基于 com 开发 的现有投资。 与现有 asp 应用程序的兼容性:asp 和 asp.net 可并行运行在 iis web 服务器上而互不冲突;不会发生因安装 asp.net 而导致现 有 asp 应用程序崩溃的可能。asp.net 仅处理具有.aspx 文件扩展名 的文件。具有.asp 文件扩展名的文件继续由 asp 引擎来处理。然而, 应该注意的是会话状态和应用程序状态并不在 asp 和 asp.net 页面 之间共享。 2.2 sqlsqrver 简介 上手容易:大多数的中小企业日常的数据应用是建立在 windows 平台上的。由于 sql server 与 windows 界面风格完全一致,且有许 多“向导(wizard)“帮助,因此易于安装和学习,有关 sql server 的 资料、培训随处可得,并且目前国内具有 mcdba 认证的工程师不在 少数。从另一个角度来讲,学习 sql server 是掌握其他平台及大型 数据,如 oracle,sybase,db/2 的基础。因为这些大型数据库对于设 备、平台、人员知识的要求往往较高,而并不是每个人都具备这样 的条件,且有机会去接触它们。但有了 sql server 的基础,再去学 14 习和使用它们就容易多了。it 行业的实践经验充分证明了这一点。 兼容性良好:由于今天 windows 操作系统占领着主导地的位,选 择 sql server 一定会在兼容性方面取得一些优势。另外, sqlserver2000 除了具有扩展性,可靠性以外,还具有可以迅速开 发新的因特网系统的功能。尤其是它可以直接存贮 xml 数据,可以 将搜索结果以 xml 格式输出等特点,有利于构建了异构系统的互操 作性,奠定了面向互联网的企业应用和服务的基石。这些特点在. net 战略中发挥着重要的作用。 15 3 系统概述 学生管理是教务管理中的一个极为重要的环节,它是整个管理 的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学 生情况的管理也变得越来越复杂。面对如此繁杂的任务。如果让个 人去管理文档,就会显得费时费力。尤其在管理成绩时,任务更加 繁重,就选科管理本身来说,它是一项任务繁重、时效性较强的系 统工作,它不但涉及学生个人成绩查询,更涉及到各教师的工作效 率和质量。近年来随着计算机的迅速发展,计算机已经在社会各个 领域显示了它巨大的作用。毋庸置疑,切实有效地把计算机管理引 入学校教务管理中,对于促进学校管理制度,提高学校教学质量与 办学水平有着显著意义。 3.1 系统开发的目标 升级、改造学院现有的办公自动化系统,完善学院网站建设, 实现办公自动化结构的网络化,进一步提高学院的办公效率、工作 水平,朝着信息化、网络化、现代化目标迈进。 建立学院数字化教学系统,进一步提高办学效益和现代化教 学水平。 校园体验子系统,使整个机构完全实现信息化、自动化、网 络化。 3.2 系统需求 本选课管理系统可以说是一个综合性的学校选课管理系统,它 16 集成了学生信息管理,教师信息管理多种功能,因而具有较强的实用 性和先进性。 通过调查,要求系统需要有以下功能: 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改; 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好。 可将系统划分成四个模块: 1. 用户登录身份验证模块 2. 系统管理员功能模块 3. 学生管理功能模块 4. 教师管理功能模块 3.2.1 可行性分析 (1)技术可行性-本系统仅需要一台装有 office 软件的计算机 即可,对机器本身没有太高的要求,一般当前学校或个人电脑 完全可满足要求。对于软件技术要求,现在的程序设计语言已 非常成熟,要运用 html 样式,图形图象制作工具来制作生动活 泼的网页及美观的图形文件或动画文件,数据库使用 sql server 2005 中提供的数据库桌面工具 odbc。 (2)经济可行性-由于本系统是为学生选课管理使用的系统,装 上该应用软件,即可使用系统,系统成本主要集中在系统软件 的开发上,当系统投入运行后可以为学校节约大量的人力,物 17 力。所带来的效益远远大于系统软件的开发成本。在经济上完 全可行。 (3) 操作可行性-界面设计时充分考虑管理人员的习惯,使得 操作简单;数据录入迅速、规范、可靠;统计准确;制表灵活; 适应力强;容易扩充。第 2 章内容主要是:系统需求分析包括, 现有系统介绍;系统的实体分析,实体关系图。 3.3 数据库的设计 3.3.1 数据库系统分析 本系统的数据库实体主要有“学生” 、 “教师” 、 “教学楼” 、 “教 室” 、 “课程”等。其中“教师”与“课程”存在“开设”联系,并 且一个教师可以开设 n 门课程,即“教师”与“课程”之间是一对 多的关系。同样“教学楼”与“教室”也存在一对多的关系。一个 学生可以学习 n 门课程,一门课程可以有 m 个学生学习,即“学生” 与“课程”之间是多对多的关系。同样“课程”与“教室”之间也 是多对多的关系。整个数据库可以用一个 e-r 图表示,如图 3.1.1: 18 图 3.1.1 er 图中的实体图如下图 3.1.2 至 3.1.9: 图 3.1.2 图 3.1.3 19 图 3.1.4 图 3.1.5 20 图 3.1.6 图 3.1.7 21 图 3.1.8 图 3.1.9 3.3.2 数据库逻辑设计 数据库逻辑设计就是将图转换为关系模型的过程,即将所有实 体和关系转换成一系列的关系模式。转换过程中常见规则有: (1)一个实体型转换为一个关系模式; (2)一个一对一的联系可转换成一个独立的关系模式,也可与 任意一端对应的关系模式合并; (3)一个一对多的联系可以转换成一个独立的关系模式,也可 22 与多的那一端对应的关系模式合并; (4)一个多对多的关系转换成一个关系模式。 根据以上四条规则,下面将图转换成关系模型。 对于“教学楼” 、 “教室”和两者之间的关系,就可以根据规则 (3)转换成两个关系模式 教学楼(教学楼 id,教学楼名称) 教室(教室 id,教学楼 id,教室名称) 对于“学生” 、 “课程”和它们之间的“选修”关系就可以规则 (4)转换成三个关系模式。 学生(学号,姓名,性别,年龄,登陆密码,学分,地址,电 话,电子邮件) 课程(课程编码,课程名称,开课教师编号,学分,最大人数, 课程简介,前导课程编号) 选课(学号,课程编号,成绩) 依次类推,剩下的关系转换成下面三个关系模式: 教师(教师编号,姓名,性别,年龄,电话,电子邮件,个人 简介) 课程时间地点(课程编号,开始周次,结束周次,上课时间, 上课教室 id) 管理员(帐号,密码) 3.3.3 数据库物理实现 经过数据库系统分析和逻辑设计后,数据库的结构已经非常清 23 晰,剩下的就是用一种数据库软件实现这样的结构。本系统中数据 库采用 microsoft sql server 2000 作为数据库。首先我们在 microsoft sql server 2000 的“企业管理器”创建一个数据库, 我们命名为“sc” ,如图 3-1: 图 3-1 选中 sc 数据库,向数据库中添加 8 个表: student,teacher,course,sc,coursetime,building,room 和 admin,每个表与逻辑设计中一种的关系模式相对应。下面是每个数 据表中的属性,包括属性列的名称、数据类型、长度、是否可以为 空和备注说明等内容。 24 (1)students 表。students 表用来存储学生的个人信息,使用 学号作为主键,如图 3-2: 图 3-2 (2)teachers 表。teachers 表用来存储教师的个人信息,用 学校分配给教师的教师编号作为主键,这样可以避免重复,如图 3- 3: 图 3-3 (3)course 表。course 表用来存储课程信息,course 表以课程 编号为主键,设置课程编号自动增加 1(通过建表的时候对属性列 设置“标识” ,并设置“标识递增量”为 1) 。表中开课教师 id 为外 键,所有“tid”的值必须是 teachers 是表中的“tid”值。设置外 键关系可以通过在建立表的窗口中单击右键,在右键菜单中选择 “关系” ,在弹出的对话框中设置外键关系。如图 3-4: 25 图 3-4 (4)sc 表。sc 表用于存储学生的选课信息,在 sc 表中学号和课 程编号是主键,同时也是外键。如图 3-5: 图 3-5 (5)coursetime 表。coursetime 表用来存放课程的上课时间和上 课地点信息,其中课程编号和教室编号为外键。如图 3-6: 图 3-6 (6)building 表。building 表用来存放教学楼信息,building 表中教学楼编号为主键,自动增加 1。如图 3-7: 26 图 3-7 (7)room 表。room 表用来存放教室信息,在 room 表中,教室编 号为主键,自动增加 1,教学编号为外键。如图 3-8: 图 3-8 (8)admin 表。admin 表用来存放系统管理员信息,如图 3-9: 图 3-9 3.4 系统的实现 在本系统中,有三类用户:系统管理员,教师和学生。三种不 同的用户所具有的操作权限以及操作内容均不一样。 本选课系统给予教师很大的自主权,系统管理员只负责向系统 中添加学生和教师的个人信息以及教学楼教室信息。系统管理员不 参与开设课程、选择课程等,一切均由教师、学生登陆网站自行完 成。系统管理员设置一个选课时间段,在到达时间段以前,教师可 以开设课程;到达时间段以后,学生可以登陆网站选择课程。 教师用户登陆网站后可以开设课程,为自己的课程编辑上课时 间和地点,当系统中出现时间地点冲突的时候,系统向教师用户报 告并推荐一个时间地点。每门课程可以是必修或则选修,教师为每 27 门课程设置一个学分,并可以在课程结束后给予分数,如果学生及 格,学生将获得该课程的学分。 对于学生用户,每个学生除了必须选择必修课程外,至少还要 选择两门选修课程,学生可以对自己选课信息锁定,以免不小心被 修改。当时候超过选课时段后,系统自动锁定学生的选课课程。系 统可以根据学生的选课信息,生成一份学生自己的课表。课程结束 后学生可登录网站查询成绩与学分。 根据上面的要求,从操作功能上可以分为两个类:一个是通用 操作,主要实现用户的登录注销和修改密码等;另一种是为不同用 户定制不同操作。 3.4.1 通用操作 (1)登录与注销 每个用户都可以用自己的帐号登录系统。用户操作完成后推出 系统,注销后可以重新登录系统。 (2)修改密码 每个用户第一次登录都用默认密码(教师和学生与帐号一样) 。 3.4.2 用户所具有功能 (1)系统管理员 设置选课时间段:系统管理员通过此项功能设置选课时段,只 有在选课时间段里,学生才可以选择课程,超过次时间段,学生选 课信息被自动所定,不得修改。 录入学生与教师个人信息:通过此项功能可以实现对教师和学 28 生的个人信息添加删除。 录入教学楼教室信息:通过此项功能可以把学校里所有的教学 楼教室的信息录入到系统中,以便教师在开设课程时候设置上课的 教室。 (2)教师用户 显示和修改个人信息:教师用户登录系统后,可以查看和修改 教师的个人信息,如姓名,电话,e-mail 地址等。 开设课程:教师用户登录系统后,可以开设课程,可以设置该 课程为必修课程或则选修课程,可以设置该课程的最大人数。教师 还可以为该课程设置一个前导课程,如果学生没有学习或则选择前 导课程则不能选择该课程。 编辑课程上课时间:教师在开设了课程后,可以灵活地设置上 课时间和地点。 给学生分数:课程结束后,教师用户登录系统,可以为学过课程的 学生给予相应的成绩,若及格,给予学生学分。 (3)学生用户 显示和修改个人信息:学生登录系统后,可以查看和修改学生 的个人信息,如姓名,性别,电话等。 查看必修课程:学生登录后,可以查看所有的必修课程。查看 该课程的信息,上课时间地点,开课教师信息等。 选择选修课程:学生登录系统后,在所有选修课程中可以选择 至少两门选修课程。同时可以查看相关信息。 29 锁定选课信息:学生登录系统,确定了所选课程后,可以锁定 自己的选课信息,以防被别人或则自己不小心修改。 查看最终选课信息:学生登录系统后,可列出已选择的课程, 若选课信息未被锁定,则可以退选,若所选课程少于两门,系统会 提示选择的课程少于两门。 查看学分和成绩课程结束后,学生登录系统可查看自己学习课 程的成绩和已获的学分。 3.4.3 系统总体设计 在前面的系统的系统功能分析中,可将系统划分成四个模块,如下 图 4-1: 30 用户登录身份验证模块 选课时间模块 录入信息模块 开设课程模块 编辑程序时间地点模块 评分模块 查看课程模块 选课和锁定模块 数据库模块 数据库 访问模 块 图 4-1 首先,用户登录身份验证模块验证用户名和密码,并根据不同 的用户类型,跳转到对应的页面中。设置选课时间模块提供给系统 管理员修改选课时间段。录入信息模块提供给系统管理员,用来录 入学生和教师信息,以及录入教学楼教室等信息。开设课程模块提 供给教师用户,用来开设一门必修课程或则选修课程。编辑课程时 间地点模块提供给教师用户,编辑课程的上课时间地点友好的界面 和操作。评分模块用于教师用户给选修该教师开设的课程的学生评 分。查看课程模块包括查看必修课程、查看选修课程、查看已选课 程、查看课程成绩单。选课和锁定模块中实现选择选修课程和锁定 31 选课信息的功能。如下:图 4-2、图 4-3、图 4-4。 系统管理员功能模块 学 生 管 理 教 师 管 理 公 告 通 知 课 程 安 排 教 室 管 理 修 改 密 码 退 出 系 统 学 生 信 息 添 加 教 师 信 息 添 加 学 生 信 息 教 师 信 息 选 课 开 放 时 间 课 程 信 息 增 加 课 程 类 型 图 增 加 课 程 课 程 类 型 图 4-2 学生管理功能模块 必 修 课 程 选 修 课 程 选 课 结 果 查 询 修 改 密 码 学 生 信 息 退 出 系 统 图 4-3 32 教师管理功能模块 添 加 课 程 课 程 信 息 修 改 密 码 教 师 信 息 退 出 系 统 图 4-4 33 3.5 系统说明书 3.5.1 系统界面说明 下面是在线选课系统的预览,此处简单介绍本系统的部分功能。 1.登录页面 在用户名和密码处输入用户名和密码,在“用户类型”下拉列 表框中选择“学生” ,单击“登录”按钮,登录选课系统。 主要代码如下: private void btnlogin_click(object sender, system.eventargs e) int type = int32.parse(ddltype.selecteditem.value); string user = txtuser.text.trim(); string inputkey = txtkey.text.trim(); string key = “; string sql = “; dataset ds; switch( type ) case 1:/学生 /验证学生身份代码 34 break; case 2:/教师 /验证教师身份代码 break; case 3:/系统管理员 /验证管理员身份代码 break; default; break; 2.查看必修课程列表页面,如图 5-1: 35 图 5-1 登录成功后,进入学生主页,点击“必修课程”链接,得到所 有必修课程的列表,在列表中可以看到所有必修课程及课程的简单 信息,如授课教师姓名、课程所占学分等。 在列表中可以点课程名称,如“计算机应用基础”链接,查看 课程详细信息;点教师姓名,如“李萍”链接,查看教师的详细信 息;点击“查看上课时间地点”链接,查看对应课程的上课时间和 地点。 在页面加载的时候从数据库读取所有必修课信息,代码如下: string sql = “select course.*,tname from course,teacher where ctype like 必修 and course.tid like teacher.tid“;/ 查询处所有必修课程信息 dataset ds = db.executeselectsql(sql); if ( ds != null dgcourse.databind();/将查询结果绑 定到 datagrid 中 3.查看选修课程列表页面,如图 5-2: 36 图 5-2 单击“选修课程”链接,查看所有选修课程列表,在列表中给 出了比必修课程更多的信息,比如多了对应选修课程的前导课程、 最大人数、当前已选人数等,对每个选修课程均有一个“选修该课 程”的按钮,单击此按钮方可选择对应课程。 主要代码如下: string sql = “select x.*,tname,(select cname from course as y where y.cid = x.cprecid) as cprecname from course as x,teacher where x.ctype like 选修 and x.tid like teacher.tid“; /查询该学生已选修的课程 dataset ds = db.executeselectsql(sql); 37 if ( ds != null dgcourse.databind(); for ( int i = 0; i 0 bool locked= bool.parse(session“locked“.tostring(); if ( ! locked ) lblock.text = “您尚未锁定选课信息!“; 38 else lblock.text = “选课信息已被锁定!“; dgcourse.columns9.visible = false; 4.查看已选课程页面,如图 5-3: 图 5-3 在上一步查看选修课程的列表中,选择“计算机密码学” 、 “计算机 图形学” 、 “线性代数”三门课程后,点击“已选课程”链接查看已 经选择的课程列表,在列表中除了可以看到与上一步中相同的信息 外,还可以查看到课程成绩。刚才选择的三门课程的成绩均为 0, 39 当课程结束后,教师登录本系统给所有学生评分,学生再次浏览此 页面可查看到课程的成绩,若成绩合格,学生可获得对应课程的学 分。 锁定课程代码如下: string sql = “select count(*) from sc where sid like “+session“id“.tostring()+“; dataset ds = db.executeselectsql(sql); int ncourse=0; if ( ds != null if ( ncourse 0 ) for ( int i = 0; i 0 ) dgviewt.datasource = ds1.tables0; dgviewt.databind(); else response.write( myutility.alert(“添加失 败-_-,请检查编号是否已经存在!“) ); return; catch response.write( myutility.alert(“添加失败- _-,请检查编号是否已经存在!“) ); return; 45 录入教学楼教室信息:在 adminroom.aspx 中,教学楼和教室的管理 主要包括添加和删除操作,添加一个教室必须指定其所属的教学楼。 如图 5-6: 图 5-6 添加教学楼代码如下: private void btnaddbuilding_click(object sender, system.eventargs e) if ( txtbuilding.text.trim() = “ ) 46 response.write(myutility.alert(“请输入教学 楼名称!“); return; string sql = “insert into building(buildingname) values(“+txtbuilding.text.trim()+“)“; db.executesql(sql); 3.5.3 教师管理说明 教师用户的功能需求有个人信息的管理、开设课程、课程时间 地点编辑、设置学生成绩。 教师个人信息:在 teacher.aspx 中,在这里可以修改密码和添写教 师个人信息。如图 5-7: 47 如图 5-7 从数据库中读取教师个人信息显示代码如下: string sql = “select * from teacher where tid like “+lbtid.text.trim()+“; dataset ds = db.executeselectsql(sql); if ( ds != null txttage.text = ds.tables0.rows0“tage“.tostring(); 48 txttphone.text = ds.tables0.rows0“tphone“.tostring(); txttmail.text = ds.tables0.rows0“tmail“.tostring(); if ( ds.tables0.rows0“tsex“.tostring() = “男“ ) ddltsex.selectedindex = 0; else ddltsex.selectedindex = 1; 修改信息代码如下: string sql = “update teacher set tname = “+txttname.text.trim()+ “,tage = “+txttage.text.trim()+ “,tsex = “+ddltsex.selecteditem.text+ “,tphone = “+txttphone.text.trim()+ “,tmail = “+txttmail.text.trim()+ “ where tid = “+session“id“.tostring()+“; if ( db.executesql(sql) = 1 ) response.write(myutility.alert(“修改成功!“); 49 修改密码代码如下: if ( txtkey.text.trim() != txtkeyconfirm.text.trim() ) response.write(myutility.alert(“两次输入密 码不相符合“); return; string sql = “update teacher set tkey = “+myutility.md5(txtkey.text.trim()+“ where tid = “+session“id“.tostring()+“; if ( db.executesql(sql) = 1 ) response.write(myutility.alert(“修改成功!“); else response.write(myutility.alert(“修改失败!“); 开设课程:在 newcourse.aspx 中,在这里可以添加新课程,其中包 括课程名称、课程类型、 学分、前导课程、最大人数、 课程介绍。如图 5-8: 50 如图 5-8 从数据库读取所有课程编号和课程名称代码如下: ddlcprecid.items.clear(); ddlcprecid.items.add(“请选择“); string sql = “select cid,cname from course“; dataset ds = db.executeselectsql(sql); if ( ds != null i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025届四川省绵阳市部分校中考生物对点突破模拟试卷含解析
- 农户铲车出售合同范例
- 代理劳务派遣工合同范例
- 出租单价合同范例
- 第三单元 第1节 温度 教学设计- 2024-2025学年人教版物理 八年级上册
- 劳务总包合同范本
- 因材施教的个性化教育计划
- 城建行业保安工作总结计划
- 前台文员的职业培训与发展路径计划
- 分析不同财务工具的适用场景计划
- 国际法专题课程大纲
- 12SDX101-2 民用建筑电气设计计算及示例
- 校企共建实验室备忘录
- 好书 读书分享长安的荔枝
- 起重吊装风险辨识及防范措施
- 2024年江西电力职业技术学院单招职业技能测试题库及答案解析
- 2024-2030年中国循环水加药装置行业市场现状分析及竞争格局与投资发展研究报告
- 水质采样记录表
- MOOC 集合论与图论(下)-哈尔滨工业大学 中国大学慕课答案
- 【真题】2023年常州市中考道德与法治试卷(含答案解析)
- 拉森钢板桩监理实施细则样本
评论
0/150
提交评论