课程设计说明文档
学生选课查询系统
学生选课查询系统
内容摘要:随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分, 学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
关键词:选课、课程信息发布、JSP
一、项目概述
1、背景:
华师选课系统每到选课的时候必然瘫痪,系统承受不了大量的学生用户在同一时间段涌入,此时就需要一个快捷简易的选课查询系统来帮助学生解决这种烦恼,减轻教务网的压力。
选课系统是学校必不可少的部分,随着科学技术的不断提高和计算机科学的日益成熟,其强大的功能已经为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机进行选课信息进行管理,有着手工管理无法比拟的优点。
例如:检索迅速,查找方便,可靠性高,存储量大,保密性好,寿命长,成本低等。
本系统使学生能更方便的对自己的成绩进行查询,更准确的选课。
该系统实现了办公无纸化,网络化,信息化。
2、选题意义:
深入了解JAVA的程序设计,设计自己所需的友好操作界面,通过该课程设
计了解如何将程序与数据库连接。
具体应实现的功能如下:
●身份验证模块
功能:根据权限的不同,分别跳转到不同的页面,进行不同的操作。
该系统涉及两种用户:学生和教师。
教师:
学生信息查询:管理员可通过学生的学号,姓名对在籍学生进行信
息查询。
课程表的管理:查看每个人的课程表。
学生:
个人信息的修改和填写,个人的密码修改。
网上选课:选择自己的课程。
●信息管理模块(选做,若有时间剩余则完成该部分)
功能:教师成绩录入,学生查看成绩
3、自己作品的优势所在
(1)界面简洁,操作简单
(2)代码简单,运行速度快
二、系统构建
1、系统框图
教师学生
选课
登录
查询已选课程查询已选课程
登陆
个人信息信息查询及修改
2、程序主要框架
(1)信息表
a.教师
Field Type Null Key Comment
Username char(10) ——PRI 用户名
password char(10) ————密码
b.学生
Field Type Null Key Comment
Sno nvarchar(50) ——PRI 学号
Sname nvarchar(50) ————姓名
Sx nvarchar(50) ————系别
pw nvarchar(50) ————密码
c.课程
Field Type Null Key Comment
Cname nvarchar(50) ——PRI 课名
Ctime nvarchar(50) ————上课时间
Cplace nvarchar(50) ————上课地点
Cnum nvarchar(50) ————上课人数
(2)选课规则:
每名学生需要把所有必选科目的课程选择完,其中个别科目的上课时间可选,
但学生选择的课程时间不能冲突,否则系统报错。
如果选择该门课某一时间段的人数达到上限,则只可以选择另外一个时间段。
(2)代码分析:
连接数据库方法:
这是java连接数据库的驱动,有关数据库的操作都要用到他。
用户登录界面user.java:
登录时,凡是账号密码未填写、输入错误账号密码都会提出错误提示框。
在填写好账号密码后,会读取数据库里admin表,并查询其输入是否存在,若无误,则登录到用户界面。
用户界面:Menu.java
用户界面能菜单栏有4个一级菜单,学生管理、课程管理、选课管理都能添加、修改、删除数据,分别操作数据库里的S表(学生),C表(课程),SC表(选课)。
查询管理则可进行三个表的查询。
添加界面:UpdateC.java/UpdateSC.java /Updatestu.java
先查找你想要修改的项目,若修改的信息包括号码(学号、课号),则会进行查询,如果修改后的号码已存在,以及修改后必须的信息变成空都会提示无法修改和其错误原因。
此外,若修改C表或则S表,会连同SC表中对应的信息一起修改。
查询界面:Selsto.java
可以查找相关的表。
(3)数据流分析:
课程管理管理系统的数据流程:首先由教师或系统管理员等有录入权限的用户将各自权限范围内的信息进行录入处理,然后保存信息到数据库中。
有权限的人可以对这些库信息进行修改和删除处理。
所有用户均可以进行信息查询和统计。
(4)数据库设计:
数据库设计的任务是确定系统所需的数据库。
数据库是表的集合 通常一个系统只需一个数据库。
本次实验 我使用的是MySql数据库管理软件 建立了selectCourse数据库以及admin、student、course、stuCourse这五个表。
1、课程信息表course 10个字段:课程编号courID、名称courName上课时间courTime、上课地点courPlace、人数courNumber、学分courScore
2、学生信息表student6个字段:学号stuID、姓名stuName、所在班级stuClass、登录密码stuPassword
3、教师信息表Admin 2个字段:管理员用户名adminName、管理员密码adminPassword .
项目开发工具:j2ee、java、mySQL数据库.
三、任务安排
时间人员任务
11.5-11.11 全体成员上网查找相关资料与例程,同时自学复习课本前两篇内容
11.12-11.18 全体成员
专注于学习课本第三篇内容,特别是网络协
议与JSP部分,尽力去理解网上的程序
复习数据库知识
11.18-12.2 负责学生信息部分的代码编写负责老师信息部分的代码编写负责选课部分的代码编写负责数据库部分的代码编写
12.2-12.9 全体成员程序调试、合成
四、开发技术介绍
1、MyEclipse介绍
MyEclipse是企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,MyEclipse 附带了一个标准的插件集,包括Java 开发工具(Java Development Tools,JDT)。
MyEclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展MyEclipse 的软件开发人员,因为它允许他们构建与MyEclipse 环境无缝集成的工具。
由于MyEclipse 中的每样东西都是插件,对于给MyEclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
总之,MyEclipse是一款功能强大的JavaEE集成开发环境,支持代码编写、配置、测试以及除错,操作灵活,是开发人员的好帮手。
2、MySQL介绍
MySQL是一个快速的多线程、多用户和健壮的SQL数据库服务器。
MySQL 服务器支持关键任务。
重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。
(1)MySQL是一个数据库管理系统。
(2)MySQL是一个关系数据库管理系统。
(3)MySQL服务器是一个快的、可靠的和易于使用的数据库服务器。
(4)MySQL服务器工作在客户/服务器或嵌入系统中。
(5)MySQL也可以是一个嵌入的多线程库,你可以把它连接到你的应用中而得到一个小、快且易于管理的产品。
3、JSP介绍
JSP及其特点:JavaServer Pages(JSP)是一种实现普通静态HTML和动态HTML混合编码的技术。
JSP和ASP相比具有两方面的优点。
首先,动态部分用Java编写,而不是VB Script或其他Microsoft语言,不仅功能更强大而且更易于使用。
第二,JSP应用可以移植到其他操作系统和非Microsoft的Web服务器上。
JSP和纯Servlet相比JSP并没有增加任何本质上不能用Servlet实现的功能。
但是,在JSP中编写静态HTML更加方便,不必再用println语句来输出每一行HTML代码。
更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开:比如,由页面设计专家进行HTML设计,同时留出供Servlet程序员插入动态内容的空间。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
参考文献:
《Java课程设计案例精编》…………黄晓东等编著,中国水利水电出版社2007 《Java课程设计》…………黄明, 梁旭, 周绍斌编著,电子工业出版社2006 《Java课程设计》…………耿祥义, 张跃平编著,清华大学出版社 2008。