版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘摘 要要 随着高校教育改革的不断深入,众多院校采用选课制。作为现代综 合教务管理系统的重要组成部分的网上选课系统已成为当务之急。随着 大学规模的不断扩大,专业、班级、学生的数量急剧增加,有关学生选 课的各种信息量也成倍增加,以前那种人工操作实现学生选课管理的方 法已经不符合现阶段的要求。因此迫切需要开发基于互联网的学生选课 系统来提高教学管理工作的效率。 本文阐述了基于 java 的学生选课系统的工作原理和实现方法,分 析了学生选课工作的流程,并对系统功能目标和使用的数据库进行了系 统的分析和设计,在这些基础上实现了基于 java 的网上选课系统。利 用 java 制作的网上选课系统,实现了
2、选课的动态管理,使得对信息的 管理更加及时、高效和安全,并且由于 java 适用于任何系统,使得系 统的通用性更高。同时本文还对系统的开发原理、系统的功能特点和设 计方案进行了介绍。 本系统的优势在于操作简单、功能强大、适用性强,面向对象的思 想使界面更加人性化。运行系统后证明思路是正确的,技术方案是可行 的。 关键词:javabean,数据库,窗口,表 abstract with the development of higher education reform, many universities took the course-selection system, building up
3、 the online course-selection system,. building up the online course-selection system, the essential component of web-based comprehensive teaching management system, is more and more emergence. as the expanding on scale the university, and rapid increasing of students, class and specialties, the cour
4、se-selection information growths doubled, the previous method for students choosing course by manual operation didnt meet the requirements at this stage. it is necessary to develop an internet-based mis to improve the efficiency of management. the principle and method of a java-based student selecti
5、on system is described in this paper, the course-selection is specified in this thesis. the object and function of the system is also provided. the detailed database design is given, too. following these, it sketches out the process of the development of the online course-selection system, which bas
6、ed on above specification and design, and employing the java-based technology. for the students convenient selecting course, ocss equipped with a dynamic management component. ocss provided high performance, information management as quickly as possible, and safety ,or by using java, system of unive
7、rsal higher. meanwhile, design principle, function, project and security framework of the system had been introduced. the advantages of this system consist in easy operations, strong functions, and strong applicability, object-oriented thinking made interface more human. after operating system, the
8、technical plan works was be proved. keykey wordswords: javabean, database, windows, tabl 目目 录录 1 前言 .1 1.1 选题背景及意义 .1 1.2 学生选课系统的发展和研究现状.1 1.3 各章节内容简介 .2 2 java 语言以及开发工具 .3 2.1 java背景知识介绍 .3 2.1.1 java 的起源 .3 2.1.2 java 的特点 .3 2.1.3 jsp 技术简介 .5 2.1.4 java 的开发工具 .6 3 学生选课系统的需求分析 .11 3.1 学生选课系统功能分析 .1
9、1 3.2 学生选课系统总体设计:.12 3.3 学生选课系统数据库需求分析 .13 3.3.1 用户登陆: .13 3.3.2 学生登陆: .14 3.3.3 教师登陆: .14 3.3.4 管理员登陆 .16 3.3.5 数据库的构建 .17 4 学生选课系统的实现 .21 4.1 学生选课系统程序及注释 .21 4.2 系统运行环境.25 4.3 学生选课系统运行截图 .25 4.3.1 登陆页面(起始页) .25 4.3.2 学生操作界面 .26 4.3.3 教师操作界面 .27 4.3.4 管理员操作界面 .30 5 总结与展望 .36 致 谢 .37 参考文献 .38 1 前言前言
10、 1.1 选题背景及意义选题背景及意义 随着计算机技术和网络通迅技术的飞速发展,现在国内有很多大学 的选课方式由传统的选择方式转变成了网上选课,学生可以在网上选择 规定范围内的课程,并且可以在网上查询成绩。无需自己去老师那一门 一门查,了解自己已得多少学分还需多少学分,即节省了学生的时间,又 便于学校的管理。 因为传统的选课方式都是手工的,教务处通知各班进行选课,各班 班长再通知每个同学,经过统计在上交教务处,这样比较浪费时间。再 者选课时不知道所选课人数是否已满,要等向教务处上报统计后才会知 道,然后才能重新选择。网上选课系统为同学节省了时间的同时,减少 了不必要的步骤,也方便管理员管理。
11、网上选课系统为同学提供了一个自由选择的平台,学生可以选修规 定范围内的课程,查看已修学分总数,还可以修改个人信息。本系统也 为教师提供了很大的方便,教师可以根据统计的人数挑选一定数量的学 生,也可以直接在网上公布成绩,让学生直接在网上查询成绩。 本系统方便了学生的选课,同时便于管理,减少大量的人力资源。 并且促进了学生的积极性,近而开发了网上选课系统。 1.2 学生选课系统的发展和研究现状学生选课系统的发展和研究现状 进入 21 世纪以来,国内各高校都在积极推动教育体制的改革,为 培养更为优秀的新世纪复合型人才做出努力。然而在 80 年代以前,计 算机还没有在国内普及各高校学生选课都是手工完成
12、,不仅教师的工作 量大,而且学生查询和检索时也很麻烦。 80 年代后期,少数高校开始实行学年学分制,学生有了一定程度 的选课自由。学生在学校只需要修满学分就可以毕业,并且可以根据自 己的喜好选择科目。并且随着 pc 机的普及,有些高校已经开始应用电 脑进行日常管理工作。这时,学生选课系统诞生了。但是,这些系统大 多是基于 dos 或者 windows 的单机版本,不仅界面不友好,而且功能薄 弱。各科系之间的数据交流只能借助软盘为中介,费时费力。随着高校 的规模扩大,教育体制改革的深化,这类系统已经不能适应管理上的要 求。 90 年代后期以来,各高校纷纷建立自己的高速校园网;在技术上, 客户机/
13、服务器体系结构已经非常成熟,同时浏览器/服务器体系结构正 在兴起,这些都为创建大型的学生选课系统创造了条件,满足了数据集 中存放,管理运作分布执行的需求。中心数据库存放学生选课系统的相 关数据,管理人员通过网络访问数据库进行业务管理;学生和任课教师 可以通过浏览器查询相关数据。目前国内各高校均有自己的选课系统。 1.3 各章节内容简介各章节内容简介 本论文在第一章介绍了学生选课系统的研究意义以及研究现状, 突出本系统研究的必要性;第二章介绍 java 语言和它的开发工具,以 说明选择 java 的好处;第三章进行学生选课系统的需求分析,以使系 统的模块更加清楚;第四章介绍本系统各模块的功能以及
14、结构它们的结 构图,以进行下一步的程序编写;第五章学生选课系统主要程序介绍, 以使每一步程序的功能清晰的跃然纸上;第六章学生选课系统的前景展 望,使系统更加的完美。 2 java 语言以及开发工具语言以及开发工具 有了系统制作的必要性接下来是选择开发语言不和工具,由于选择 的 java 制作,所以本章节将对 java 进行介绍以说明选择它进行学生选 课系统开发的理由,并介绍几种 java 的开发工具。 2.1 java 背景知识介绍背景知识介绍 2.1.1 java 的起源的起源 1991 年四月份,sun 的绿色计划(green project)开始着手于发展 消费性电子产品(consume
15、r electronics),所使用的语言是 c、c+、 及 oak (为 java 语 言的前身),后因语言本身和市场的问题,使得消 费性电子产品的发展无法达到当初 预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是 1994 年了。 而这一次的 改变,就是 java 诞生的契机。而 java 这个名字不是由几个单字的首 字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中产生灵 感的。 2.1.2 java 的特点的特点 sun 是要 java 成为一个简单(simple)、面向对象的(object oriented)、 分布式的(distributed)、解释的(
16、interpreted)、健壮的 (robust)、安全的(secure)、 结构中立的(architecture neutral)、 可移植的(portable)、高效能的(high performance)、多线程的 (multithreaded)、动态的(dynamic)的程序语言。 面向对象的思想是 java 语言的重要指导思想,最主要的重点是即 将要用 java 编写的程序,其次才是所需要的工具;最近的即插即用 (plug and play)亦是面向对象设计的重点。 java 与 c/c+最大不同点是 java 有一个指针模型(pointer model)来 排除内存被覆盖(over
17、writing memory)和毁损数据(corrupting data) 的可能性。总的来说 java 有以下特点: 结构中立的(architecture neutral):一般而言,网络是由很多不 同机型的机器所 组合而成的,cpu 和作业系统体系结构均有所不同; 因此,如何使一个应用程序可以 在每一种机器上执行,是一个难题。 所幸,java 的编译器产生一种结构中立的目标 文件格式(object file format);这使得编译码得以在很多种处理器中执行。 可移植的(portable):原始资料型式的大小是被指定的,例如 float一直是表示一个 32 位元 ieee 754 浮点运
18、算数字,因绝大多数 的 cpu 都具有此共同特征。程序库属于系统的一部份,它定义了一些可 移植的程序接口,java 本身具备有很好的可移植性。 解释的(interpreted):java 解释器能直接地在任何机器上执行 java 位元码(bytecodes),因此在进行程序连结时,时间的节省,这对 于缩短程序的开发过程,有极大的帮助。 高效能的(high performance):java 位元码迅速地能被转换成机 器码(machine code), 从位元码转换到机器码的效能几乎与 c 与 c+ 没有分别。 多线程的(multi threaded):java 语言具有多线程的功能,这对 于交
19、互回应能力及 即时执行行为是有帮助的。 动态的(dynamic):java 比 c 或 c+语言更具有动态性,更能适应 时刻在变的环境,java 不会因程序库的更新,而必须重新编译程序。 正如上文所述,java 是一种成熟的语言又有其它语言所不具有的特 点,所以本系统采用 java 编程实现。 2.1.3 jsp 技术简介技术简介 现在虽然有多种技术可用于生成为动态内容提供服务的 web 应用 程序,但真正受 到开发界青睐的是 javaserver pages (jsp)。这并非没 有充分的理由。jsp 不仅 拥有跨平台和跨 web 服务器支持,并且将 服务器端 java 技术的功能与静态 h
20、tml 页的“所见即所得”功能有效 地结合了起来。作为 java 平台的一部分,jsp 的脚本语言采用 java,拥 有 java 编程语言“一次编写,各处运行”的特点,完全继承了 java 的所 有优点。而且通过开发定制化标示库,jsp 技术是可以扩展的,使 web 页面开发人员能够使用熟悉的工具和如同标识一样的执行特定功能的组 件来工作。 java servlet 简介 java servlet 是基于服务器端的编程,可以说 servlet 是基于服务器 上的 applet 编程,jsp 技术主要就是用在网络编程上所以也是基于 servlet 的。java servlets 提供了一项协议
21、和平台无关的方法来创建基于 web 的应用,servlets 在 web 服务器上运行,而且不需要图形用户接 口(gui)这和 applet 不同,在 web 服务器上运行的 servlet 引擎通过请 求和响应来交互信息客户端程序,可以用任意语言编写访问 web 服务器, 同时生成请求,请求然后由 web 服务器上的 servlet 引擎处理处理完毕 后,servlet 引擎处理把响应返回给 servlet,然后由 servlets 把响应结果 传给客户端。java servlets 是运行在请求/面向请求服务器上的模块,比 如一个 java-enabled web 服务器, 和类似这样的延
22、伸场合。例如,一个 java servlet 可以从一个 html 订单表中获取数据,然后用一些商业上 的算法来耕新公司相应的订单数据库,也就是说 java servlet 能够象 cgi 脚本一样扩展 web 服务器功能。但是 servlet 占用很少密集资源, 有很多用 cgi 脚本编制的一些站点由于访问量剧增,性能迅速下降这是 cgi 脚本一个缺点有关。同时由于 java servlet 是用 java 编写的,因此 是跨平台的,java servlet 可以相当有效地替代 cgi 脚本, 它可以方 便地产生容易编写,而且运行快的动态文本可以很方便的调试寻找出程 序问题. servlet
23、 程序是用 java servlet api 开发的, astandard java extension. 但不是 java 核心框架的一部分。 2.1.4 java 的开发工具的开发工具 现在常用的 java 项目开发环境有:jbuilder、visualage for java、forte for java, visual cafe、eclipse、netbeans ide、jcreator +j2sdk、jdk+记事本、editplus+ j2sdk 等等。一般开发 j2ee 项目时 都需要安装各公司的应用服务器(中间件)和相应的开发工具,在使用 这些开发工具之前,我们最好能熟知这些软件
24、的优点和缺点,以便根据 实际情况选择应用。编程工具只是工具,为了方便人们工作而开发的, 各有特点,下面将介绍几种常用的工具: jbuilder:jbuilder 支持最新的 java 技术,包括 applets、jsp/servlets、javabean 以及 ejb(enterprise javabeans)的应用。 用户可以自动地生成基于后端数据库表的 ejb java 类,jbuilder 同 时还简化了 ejb 的自动部署功能.此外它还支持 corba,相应的向导 程序有助于用户全面地管理 idl(分布应用程序所必需的接口定义语言 interface definition langua
25、ge)和控制远程对象。 jbuilder 支持各种应用服务器。jbuilder 与 inprise application server 紧密集成,同时支持 weblogic server,支持 ejb 1.1 和 ejb 2.0,可以 快速开发 j2ee 的电子商务应用。 jbuilder 能用 servlet 和 jsp 开发和调试动态 web 应用。 利用 jbuilder 可创建(没有专有代码和标记)纯 java2 应用。由于 jbuilder 是用纯 java 语言编写的,其代码不含任何专属代码和标记, 它支持最新的 java 标准。 jbuilder 拥有专业化的图形调试介面,支持
26、远程调试和多线程调试, 调试器支持各种 jdk 版本,包括 j2me/j2se/j2ee。 jbuilder 环境开发程序方便,它是纯的 java 开发环境,适合企业 的 j2ee 开发;缺点是往往一开始人们难于把握整个程序各部分之间的 关系,对机器的硬件要求较高,比较吃内存,这时运行速度显得较慢。 eclipse:eclipse 是一种可扩展的开放源代码 ide。2001 年 11 月, ibm 公司捐出价值 4,000 万美元的源代码组建了 eclipse 联盟,并由该 联盟负责这种工具的后续开发。集成开发环境(ide)经常将其应用范围 限定在“开发、构建和调试”的周期之中。为了帮助集成开
27、发环境(ide)克 服目前的局限性,业界厂商合作创建了 eclipse 平台。eclipse 允许在同 一 ide 中集成来自不同供应商的工具,并实现了工具之间的互操作性, 从而显著改变了项目工作流程,使开发者可以专注在实际的嵌入式目标 上。 eclipse 框架的这种灵活性来源于其扩展点。它们是在 xml 中定义 的已知接口,并充当插件的耦合点。扩展点的范围包括从用在常规表述 过滤器中的简单字符串,到一个 java 类的描述。任何 eclipse 插件定义 的扩展点都能够被其它插件使用,反之,任何 eclipse 插件也可以遵从 其它插件定义的扩展点。除了解由扩展点定义的接口外,插件不知道它
28、 们通过扩展点提供的服务将如何被使用。 利用 eclipse,可以将高级设计(也许是采用 uml)与低级开发工具 (如应用调试器等)结合在一起。如果这些互相补充的独立工具采用 eclipse 扩展点彼此连接,那么当我们用调试器逐一检查应用时,uml 对话框可以突出显示我们正在关注的器件。事实上,由于 eclipse 并不 了解开发语言,所以无论 java 语言调试器、c/c+调试器还是汇编调试 器都是有效的,并可以在相同的框架内同时瞄准不同的进程或节点。 eclipse 的最大特点是它能接受由 java 开发者自己编写的开放源代 码插件,这类似于微软公司的 visual studio 和 su
29、n 微系统公司的 netbeans 平台。eclipse 为工具开发商提供了更好的灵活性,使他们能 更好地控制自己的软件技术。eclipse 联盟已经宣布将在 2004 年中期发 布其 3.0 版软件。这是一款非常受欢迎的 java 开发工具,这国内的用户 越来越多,实际上实用它 java 开发人员是最多的。缺点就是较复杂,对 初学者来说,理解起来比较困难。 jcreator:jcreator 是一个 java 程序开发工具,也是一个 java 集 成开发环境(ide) 。无论你是要开发 java 应用程序或者网页上的 applet 元件都难不倒它。在功能上与 sun 公司所公布的 jdk 等
30、文字模 式开发工具相较之下来得容易,还允许使用者自订义操作窗口界面及无 限 undo/redo 等功能。 jcreator 为用户提供了相当强大的功能,例如项目管理功能,项目 模板功能,可个性化设置语法高亮属性、行数、类浏览器、标签文档、 多功能编绎器,向导功能以及完全可自定义的用户界面。通过 jcreator,我们不用激活主文档而直接编绎或运行我们的 java 程序。 jcreator 能自动找到包含主函数的文件或包含 applet 的 html 文件, 然后它会运行适当的工具。在 jcreator 中,我们可以通过一个批处理同 时编绎多个项目。jcreator 的设计接近 windows
31、界面风格,用户对它的 界面比较熟悉。其最大特点是与我们机器中所装的 jdk 完美结合,是 其它任何一款 ide 所不能比拟的。它是一种初学者很容易上手的 java 开发工具,缺点是只能进行简单的程序开发,不能进行企业 j2ee 的开 发应用。 intellij:intellij idea 是一款综合的 java 编程环境,被许多开发人 员和行业专家誉为市场上最好的 ide。它提供了一系列最实用的的工具 组合:智能编码辅助和自动控制,支持 j2ee,ant,junit 和 cvs 集成, 非平行的编码检查和创新的 gui 设计器。idea 把 java 开发人员从一 些耗时的常规工作中解放出来,
32、显著地提高了开发效率。具有运行更快 速,生成更好的代码;持续的重新设计和日常编码变得更加简易,与其 它工具的完美集成;很高的性价比等特点。在 4.0 版本中支持 generics,bea weblogic 集成,改良的 cvs 集成以及 gui 设计器。 intellij idea 能尽可能地促进程序员的编程速度。它包括了很多辅 助的功能,并且与 java 结合得相当好。不同的工具窗口围绕在主编程 窗口周围,当鼠标点到时即可打开,无用时也可轻松关闭,使用户得到 了最大化的有效屏幕范围。以技术为导向的 idea 集成了调试器,支持 本地和远程的调试,即使我们需要修改一些设置上的东西使我们的工作
33、顺利进展。另外,它还提供了通常的监视,分步调试以及手动设置断点 功能,在这种断点模式下,我们可以自动地在断点之外设置现场访问, 甚至可以浏览不同的变量的值。ide 支持多重的 jvm 设置,几个编译 程序和 ant 建造系统,并且,它使得设置多重的自定义的类途径变得简 单。 intellij idea 是一个相对较新的 java ide。它是 java 开发环境中最 为有用的一个。高度优化的 intellej idea 使普通任务变得相当容易,idea 支持很多整合功能,更重要的使它们设计的好容易使用。idea 支持 xml 中的代码实现,idea 同时还会校正 xml,idea 支持 jsp
34、 的结构。 作用于普通 java 代码的众多功能同样适用于 jsp(比如整合功能) ,同 时支持 jsp 调试;支持 ejb,尽管它不包括对个别应用服务器的特殊支 持。idea 支持 ant 建立工具,不仅是运行目标它还支持编译与运行程序 前后运行目标,另外也支持绑定键盘快捷键。在编辑一个 ant 建立 xml 文件时,idea 还对组成 ant 工程的 xml 部分提供支持。intellij idea 被称为是最好的 java ide 开发平台,这套软件就是以其聪明的 即时分析和方便的 refactoring 功能深获大家所喜爱。缺点是较复杂, 对初学者来说,理解起来比较困难。 当然,jav
35、a 远不止这几个工具,但是其它的不是老化以不再使用, 就是应用上不方便所以在此只介绍这几种工具。 本章小结本章小结 本章节通过对 java 的介绍以及它的编写工具的简介,论述了选择 java 的理由,阐明了选择 java 的好处为下个章节对系统程序结构做了 铺垫。 3 学生选课系统学生选课系统的需求分析的需求分析 在选择了开发工具后将对系统进行需求分析,以确保程序的结构清 晰明朗,所以本章节将对学生选课系统的功能和结构进行分析,最后列 出主要类表。 3.1 学生选课系统功能分析学生选课系统功能分析 本在线选课系统功能比较多,除了最基本的选课功能外,教师也具 有开课功能,同时后台的管理员还能对教
36、师和个人信息进行维护。 选课系统的核心是选课功能。学生在选课以前,必须通过系统的身 份验证,让后就可以选定自己的选修课程。当然,学生也能删除选错或 者误选的课程。另外,选课系统还提供了课程查看的功能。 选课系统还提供了一个后台管理功能。管理员通过身份验证以后, 可以查看和修改学生的个人信息,也可以添加或删除学生。另外,管理 员也可以查看和修改教师的个人信息,以及添加或删除教师。 3.2 学生选课系统总体设计学生选课系统总体设计: 图 3-1 学生选课系统总体结构图 本系统采用 servlet+jsp+javabean+sql2000 设计方式,其中 servlet 担当主要逻辑控制,通过接受
37、jsp 传来的用户请求,调用以及 初始化 javabean,在通过 jsp 传到客户端,本系统中 sqlbean 担当主 要的与数据库的连接与通信,javabean 在本系统中主要担当配合 jsp 以及 servlet 来完成用户的请求,而 jsp 主要担当接受与响应客户端。 3.3 学生选课系统数据库需求分析学生选课系统数据库需求分析 通过对学生选课系统工作内容和相关数据流程分析,根据学生选课 系统的需要,以及系统功能设计的要求以及功能模块的划分,就可以设 计出满足用户需求的各种实体。 该系统由登陆模块,学生模块,教师模块,管理员模块,四部分组 成。其功能如下: 3.3.1 用户登陆:用户登
38、陆: 图 3-2 学生选课系统登陆流程图 登陆模块包括欢迎信息、日历、用户类型选择、及用户名密码输入 框,当用户为输入用户名或密码登陆或出错时系统会报错! 3.3.2 学生登陆:学生登陆: 图 3-3 学生选课系统学生登陆流程图 学生登陆以后,可以选报课程。系统会根据学生所在系及课程的预 修课判断(课程有系别,预修课等属性) 。首先,系统会列出所有满足 该生系别以及该生还未选报的课程,或者其预修课为“public”的课程。 如果该生选报了未满足预修课要求的课程,系统会有相关的错误提示。 其次,学生可以查看自己的成绩,包括该生已选课程的名称,学分以及 该生的总分。如果教师还未给出成绩,则系统会有
39、相关提示。再次,该 生可以更改自己的个人信息,包括密码,电话号码等,其中要求密码不 能为空。 3.3.3 教师登陆教师登陆: 教师在本系统中拥有是否接受学生所选课程,以及给学生打分的权 力,只有先接受学生,才能给该生打分。 首先, 系统要求教师选择学 生,然后系统会列出该教师所代课程的班级, 其次系统会列出选报了 该课程的所有学生(其中包括了该生的一些详细情况) ,在教师选择了 接受以后,就可以给该生的这门课打分,在这之后系统会分析教师的输 入是否正确(即是否为阿拉伯数字) ,否则会有提示。 其次,在教师给 出了学生成绩之后,系统会根据成绩来判断该生是否通过了考试,如果 该成绩大于或等于 60
40、,则在该生的学分上加上该课程的学分。具体流 程如图 3-4 所示: 图 3-4 学生选课系统教师登陆流程图 3.3.4 管理员登陆管理员登陆 图 3-5 学生选课系统管理员登陆流程图 管理员在本系统中有着最高的权力,包括新增,更改,删除学生, 教师,课程以及班级。 其中“班级” 是本系统中关键的环节,同样也 是数据库中的关键。 它直接与课程,教师,上课时间,地点联系,学 生所选的课程也要具体到某一个班级,所以首先班级号不能为空,其次 要保证同一教师在同一时间不能上两门课程。 在新增“课程”时,要 求决定课程所在系以及其预修课(系统会动态列出现有的课程) ,其中 课程所在系必须与预修课所在系一致
41、(或者选择无预修课,再或者预修 课属性为(public) ,否则系统会有错误提示。除此之外,在更改或新 增时,名称,id 或者密码不可为空,否则系统会有相关提示。具体流 程如图 3-5 所示。 3.3.53.3.5 数据库的构建数据库的构建 (1)数据库模块分析 图 3-6 学生选课系统数据库关系图 再加上它们之间的关系图 3-6 所示,由此得到数据库所支持的数据 模型,具体如下: 对于学生选课系统数据库,可以列出以下数据项和数据结构: 学生信息:学号、学生姓名、学生的系号、学生性别、学生生日、 学生密码。 对于教师信息维护数据库,可以列出以下数据项和数据结构: 教师个人信息:教师编号、教师名
42、称、教师所在系号、教师职称、 教师密码。 对于后台管理数据库,可以列出以下数据项和数据结构: 管理员信息:管理员名称、管理员密码。 辅助数据库: 课程信息:课程号、课程名称、课程类别、课程学分、课程容量。 选课信息:课程号、学生学号、成绩、课程类别、编号。 班级信息表:班级号、班级名 (2) 数据库的结构设计 根据数据库的需求分析,建立 5 个数据表分别结构如下: 班级信息表,下面给出它的类表如表 3-1 所示。 表 3-1 班级信息表 关键词类长度 班级名 char10 班级号 char10 学生信息表,下面给出它的类表如表 3-2 所示。 表 3-2 学生信息表 关键词类长度 学号 cha
43、r9 学生姓名 char8 学生班级 号 char20 学生性别 char2 学生生日 char8 学生密码 char20 教师信息表,下面给出结构如表 3-3 所示。 表 3-3 教师信息表 关键词类长度 教师编号 char9 教师姓名 char8 教师职称 char6 教师密码 char20 课程信息表,下面给出它的类表如表 3-4 所示。 表 3-4 课程信息表 关键词类长度 教师编号 char9 学生学号 char10 课程名称 char20 课程类别 char8 课程容量 int4 选课信息表,下面给出它的类表如表 3-5 所示。 表 3-5 选课信息表 关键词类长度 课程名称 ch
44、ar10 学生学号 char9 成绩 char9 课程类别 char8 课程标识 int4 本章小结本章小结 在本章节,主要论述了学生选课系统主要模块的构建,并通过图示 的方法解决了各模块构建时结构不清晰的难题。然后建立了各模块的信 息类表,为编程实现做了最后的准备。 4 学生选课系统的实现学生选课系统的实现 在系统的功能和结构分析完后,程序可以进行编写,本章节将对程 序进行介绍,然后介绍了系统的运行环境,最后展示了程序完成后的界 面截图。 4.1 学生选课系统程序及注释学生选课系统程序及注释 由于本系统程序繁多,故只将程序的主要部分做了介绍,以下是数 据库操作文件 sqlbean.java
45、内容及注释: package manage;/所在包名 import java.io.*;/用到输入输出流方法 import java.sql.*;/用到数据库支持方法 public class sqlbean/主类名 public connection conn=null; public resultset rs=null; private string databasedriver=sun.jdbc.odbc.jdbcodbcdriver;/设置 数据库驱动器 /datasource 数据源名称dsn private string databaseconnstr=jdbc:odbc:cla
46、ssdb,limq,123;/配置 数据源为classdb /*setxxx用于设置属性值;getxxx用于得到属性值*/数据库用户 名limq public void setdatabasedriver(string driver)/密码:123 this.databasedriver=driver; public string getdatabasedriver() return (this.databasedriver); public void setdatabaseconnstr(string connstr) this.databaseconnstr=connstr; public
47、 string getdatabaseconnstr() return (this.databaseconnstr); public sqlbean()/构造方法 try class.forname(databasedriver); catch(java.lang.classnotfoundexception e) system.err.println(加载驱动器有错误:+e.getmessage( ); system.out.print(执行插入有错误:+e.getmessage();/输出到客户端 public int executeinsert(string sql)/执行插入操作的方法
48、体,其中sql 字符串传递sql语句。 int num=0; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); num=stmt.executeupdate(sql); catch(sqlexception ex) system.err.println(执行插入有错误:+ex.getmessage() ); system.out.print(执行插入有错误:+ex.getmessage();/输出到客户 端 closedataba
49、se(); return num; public resultset executequery(string sql)/执行查询的方法体 rs=null; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); rs=stmt.executequery(sql); catch(sqlexception ex) system.err.println(执行查询有错误:+ex.getmessage() ); system.out.print(
50、执行查询有错误:+ex.getmessage(); /输出到客户 端 return rs; public int executedelete(string sql)/执行删除的方法体 int num=0; try conn = drivermanager.getconnection(jdbc:odbc:classdb,limq,123); statement stmt=conn.createstatement( ); num=stmt.executeupdate(sql); catch(sqlexception ex) system.err.println(执行删除有错误:+ex.getmes
51、sage() ); system.out.print(执行删除有错误:+ex.getmessage(); /输出到客户 端 closedatabase(); return num; public void closedatabase()/关闭数据库的方法体 try conn.close(); catch(exception end) system.err.println(执行关闭connection对象有错误: +end.getmessage( ) ); system.out.print(执行执行关闭connection对象有错误:有错误: +end.getmessage(); /输出到客户端
52、 4.2 系统运行环境系统运行环境 另外,由于本系统开发时用到 jbuilder2005、servlet、javabean 编程及 sql2000 数据库,故其运行需要一定的系统环境。如果服务器上 装有 jbuilder 系列软件并已经配置环境变量、sql2000 服务器,则只 要将本系统解压到 dirtomcat4.1.30webdavroot下,在运行本系统 前打开 tomcat4.1.30 并开启 sql 服务器便可。开启 tomcat4.1.30 的文 件是 dirtomcat4.1.30 binstartup.dat。如果服务器上没有 jbuilder 系列软件则需要下载并安装 jd
53、k、servlet、tomcat 软件包。 安装完后配置系统环境变量,具体配置过程请参见 网站。 4.3 学生选课系统运行截图学生选课系统运行截图 4.3.1 登陆页面(起始页)登陆页面(起始页) 图 4-1 学生选课系统登陆界面截图 首先选择用户类型,输入用户名和密码就可以登陆到相应类型用户 的主界面。 4.3.2 学生操作界面学生操作界面 (1)主界面 图 4-2 学生操作主界面截图 学生登陆后可以看到自己的基本信息,可提供给学生的服务有:选 修课程、查看学分、更改信息、注销登陆。 (2)选修课程界面 图 4-3 选修课程界面截图 点击注册后如果课程需要有预修课程而学生没有选修过时会显示出 错信息,如果没有预修课程或预修课程已选修过的话则选课成功,等待 任课教师确认。 (3)查看学分界面 图 4-4 查看学分界面截图 (4)更新信息界面 图 4-5 更新信息界面截图 密码是必填信息,而电话和 e-mail 可以选填。不填则系统自动赋 值为 null。 4.3.3 教师操作界面教师操作界面 (1)主界面 图 4-6 教师操作主界面截图 教师
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2030年中国胸围钩带产业未来发展趋势及投资策略分析报告
- 2024-2030年中国聚光光伏CPV模块行业运营状况及发展规划研究报告
- 2024-2030年中国绿色能源行业市场容量预测及发展规模分析报告
- 2024-2030年中国线圈升降机行业发展形势与投资前景预测报告
- 2024-2030年中国精制蓖麻蜡行业十三五需求及投资战略分析报告
- 2024-2030年中国科技地产行业技术发展现状分析规划研究报告
- 2024-2030年中国碱性食品行业市场竞争趋势及投资价值研究报告
- 2024-2030年中国矿用机械齿轮行业发展状况规划分析报告
- 2023年氟硼酸项目评价分析报告
- 2023年氧化锆纤维隔膜布项目综合评估报告
- DB41T 2280-2022 路桥用泡沫轻质土应用技术规程
- 公共卫生主题培训
- 广东省特种设备作业人员考试机构申请表
- 第三章-自然语言的处理(共152张课件)
- 分布式光伏系统组件缺陷检测及诊断技术规范
- 企业网站建设及维护服务合同
- 北师版八年级数学上册 第四章 一次函数(压轴专练)(十大题型)
- 住院医师规范化培训教学病例讨论教案(模板)
- 2023年合肥市轨道交通集团有限公司招聘笔试真题
- 2024年安全教育培训变更新增记录
- 医学文献检索复习试题和答案解析(四)
评论
0/150
提交评论