实验选课系统oracle课程设计报告附源代码.docx
《实验选课系统oracle课程设计报告附源代码.docx》由会员分享,可在线阅读,更多相关《实验选课系统oracle课程设计报告附源代码.docx(17页珍藏版)》请在冰豆网上搜索。
实验选课系统oracle课程设计报告附源代码
数学与计算机学院
课程设计说明书
课程名称:
大型数据库-课程设计
课程代码:
8424141
题目:
实验选课系统
年级/专业/班:
学生姓名:
学 号:
开始时间:
2012年05月24日
完成时间:
2012年06月15日
课程设计成绩:
学习态度及平时成绩(30)
技术水平与实际能力(20)
创新(5)
说明书撰写质量(45)
总分(100)
指导教师签名:
年月日
1引言
1.1问题的提出
传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。
这个选课系统,能够减轻在实验选课管理方面的负担,要真正的对实验课程进行管理,这个程序还不够,需要完善该系统。
1.2国内外研究的现状
用软件代替手工操作作已成为趋势,现在国外的智能化、自动化遥遥领先我国。
在IT这行里,由于计算机起步于国外,在文档、软件规范和标准上大部分都遵循国外的。
现在我国大部分高校已实现网上选课。
1.5任务与分析
这个系统主要是开发一个实验课选课系统,用户有三类,学生,教师,管理员。
学生可以选择实验课程,退选实验课程,可以注册,教师可以给学生上成绩,可以查看自己班上的学生,可以查询学生成绩,管理员可以删除、更新学生,教师,实验课程信息。
用oracle做后台数据库,存储数据,用javaweb采用B/S结构实现与用户的交互。
在登录验证页面,实现不同的用户跳转到不同的页面,实现不同的操作权限。
程序的主要功能
2.1添加功能
添加一个学生的基本信息,包括姓名,学号,性别,学院,班级,密码。
2.2删除功能
能够对一个学生的信息进行删除按学号进行删除。
能够对一个教师的信息进行删除按职工号进行删除
能够对一个课程的信息进行删除按课程号进行删除
2.3删除全部职员信息
能够对于全部职员的信息进行删除!
2.4显示功能
显示所有学生的主要信息包括姓名,学号,性别,学院,班级!
显示所有教师的主要信息包括姓名,职工号,性别,学院
显示所有课程的主要信息包括课程名,课程号,上课教师,学分
2.5查找功能
根据你键入的学生姓名、学号,显示其详细信息!
根据你键入的教师姓名、职工号,显示其详细信息!
根据你键入的课程名、课程号,显示其详细信息!
2.6修改功能
对学生的信息进行修改。
对浇水的信息进行修改。
对课程的信息进行修改。
3程序运行平台
Netbeans7.1、jdk1.7
具体操作如下:
新建……项目,添加相应的源文件……,再编译,执行等。
4总体设计
图1.1系统总体框架图
数据库表结构
一共建有三个表,student表,course表,studentcourse表administrator表
Student表adminid,adminname,adminpass主键是adminid
Course表coourseid,coursename,teacher,couesdesc,credit,teacherid主键是courseid
Administrator表创建语句:
CREATETABLEADMINISTRATOR
(
ADMINIDVARCHAR2(20)NOTNULL,
ADMINNAMEVARCHAR2(20),
ADMINPASSVARCHAR2(20)
CONSTRAINTADMINISTRATORS_PKPRIMARYKEY
(
ADMINID
)
ENABLE
);
course表创建语句:
CREATETABLECOURSE
(
COURSEIDVARCHAR2(20)NOTNULL,
CREDITVARCHAR2(20),
COURSENAMEVARCHAR2(20),
TEACHERVARCHAR2(20),
COURSEDESCVARCHAR2(20),
TEACHERIDVARCHAR2(20)
CONSTRAINTCOURSES_PKPRIMARYKEY
(
COURSEID
)
ENABLE
)
;
TEACHERS表创建语句:
CREATETABLETEACHER
(
TEACHERIDVARCHAR2(20)NOTNULL,
TEACHERNAMEVARCHAR2(20),
SEXVARCHAR2(20),
PASSWORDVARCHAR2(20),
COLLEGEVARCHAR2(20)
CONSTRAINTTEACHERS_PKPRIMARYKEY
(
TEACHERID
)
ENABLE
)
;
5程序说明
∙Student类的声明
packagestudent.beans;
publicclassStudent{
privateStringstuNum;//学号
privateStringstuName;//姓名
privateStringstuCollege;//学院
privateStringstuClass;//班级
privateStringstuPass;//密码
privateStringsex;//性别
publicStudent()//构造函数
{}
publicStudent(StringstuNum,StringstuName,StringstuCollege,
StringstuClass,StringstuPass,Stringsex){
super();
this.stuNum=stuNum;
this.stuName=stuName;
this.stuCollege=stuCollege;
this.stuClass=stuClass;
this.stuPass=stuPass;
this.sex=sex;
}
publicStudent(StringstuNum,StringstuName,StringstuCollege,
StringstuClass,Stringsex){
super();//调用父类构造函数
this.stuNum=stuNum;
this.stuName=stuName;
this.stuCollege=stuCollege;
this.stuClass=stuClass;
this.sex=sex;
}
publicStringgetStuNum(){
returnstuNum;
}
publicvoidsetStuNum(StringstuNum){
this.stuNum=stuNum;
}
publicStringgetStuName(){
returnstuName;
}
publicvoidsetStuName(StringstuName){
this.stuName=stuName;
}
publicStringgetStuCollege(){
returnstuCollege;
}
publicvoidsetStuCollege(StringstuCollege){
this.stuCollege=stuCollege;
}
publicStringgetStuClass(){
returnstuClass;
}
publicvoidsetStuClass(StringstuClass){
this.stuClass=stuClass;
}
publicStringgetStuPass(){
returnstuPass;
}
publicvoidsetStuPass(StringstuPass){
this.stuPass=stuPass;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;}}
∙teacher类的声明
packageteacher.beans;
publicclassteacher{
privateStringteacherName;//姓名
privateStringteacherId;//教师职工号
privateStringsex;//性别
privateStringpassword//密码;
privateStringcollege;//学院
publicteacher(){}//构造函数
publicteacher(StringteacherId,StringteacherName,Stringcollege,Stringpassword,Stringsex){
this.teacherId=teacherId;
this.teacherName=teacherName;
this.sex=sex;
this.password=password;
this.college=college;
}
//对各属性赋值
publicStringgetTeacherName(){
returnteacherName;
}
publicvoidsetTeacherName(StringteacherName){
this.teacherName=teacherName;
}
publicStringgetTeacherId(){
returnteacherId;
}
publicvoidsetTeacherId(StringteacherId){
this.teacherId=teacherId;
}
publicStringgetSex(){
returnsex;
}
publicvoidsetSex(Stringsex){
this.sex=sex;
}
publicStringgetPassword(){
returnpassword;
}
publicvoidsetPassword(Stringpassword){
this.password=password;
}
publicStringgetCollege(){
returncollege;
}
publicvoidsetCollege(Stringcollege){
this.college=college;
}
}
∙admin类的声明
publicclassadmin{
privateStringadminName;//管理员用户名
privateStringadminId;//管理员编号
privateStringadminPass;//管理员密码
publicadmin(StringadminId,StringadminName){//构造函数
this.adminId=adminId;
this.adminName=adminName;
}
//设置管理员各属性
publicStringgetAdminName(){
returnadminName;
}
publicvoidsetAdminName(StringadminName){
this.adminName=adminName;
}
publicStringgetAdminId(){
returnadminId;
}
publicvoidsetAdminId(StringadminId){
this.adminId=adminId;
}
publicStringgetAdminPass(){
returnadminPass;
}
publicvoidsetAdminPass(StringadminPass){
this.adminPass=adminPass;
}
}
6模块分析
6.1添加模块
根据表的字段添加的信息,插入在表中。
图1.2
学生用户添加课程
图1.3
6.2显示模块
显示模块将输出所有学生的主要资料。
图1.4
6.3修改模块
首先由用户输入要修改的学生的id号,显示学生选课信息,然后退选课程
图1.5
6.4查找模块
图1.6
首先由用户输入要查找的课程Id或课程名,然后系统用查找函数查找,然后系统就调用输出函数,输出匹配的课程信息。
查找课程信息
6.5删除模块
首先由学生点击要退选的课程链接,然后调用退选函数,退选该课程。
图1.7
首先由管理员点击要删除的学生链接,然后调用删除函数,删除该学生的信息
管理员操作主界面
图1.8
管理员进入学生操作界面
图1.9
首先由管理员点击要删除的教师链接,然后调用删除函数,删除该教师的信息
管理员进入教师操作界面
图2.0
管理员进入课程操作界面
首先由管理员点击要删除的课程链接,然后调用删除函数,删除该课程的信息。
7系统测试
首先进入netbeans7.1,打开项目,然后进入源程序,右键项目运行即可
8结论
对自己完成的题目进行总结,包括程序的功能、创新点(与众不同的地方)及程序存在的问题和修改对策。
该系统可以管理基本的实验课管理,采用B/S结构。
但是该系统有很多不合理的地方,使用的技术也比较单一,也未考虑安全问题。
在软件开发的过程中,不必知道所有的技术知识,只需把握软件开发的一些基本知识,具体知识可查询资料获得,做课程设计就类似于开发软件的过程,一边做一边学习
通过本次课程设计的过程,我受益匪浅,就实验选课系统这个课题,我实现了连接数据库,直接对数据库进行操作,基本实现了课程设计要求的功能。
基本掌握了用javase开发一个网站的大概流程,用数据库保存用户数据的优点。
附录
packagestudent.dao;
importjava.sql.*;
publicclassDataBase{
//privatestaticfinalStringdriver="oracle.jdbc.driver.OracleDriver";
privatestaticfinalStringdriver="sun.jdbc.odbc.JdbcOdbcDriver";//使用jdbc-odbc连接oracle
privatestaticfinalStringschema="oracleAdmin";//数据库名
privatestaticfinalStringname="scott";//用户名
privatestaticfinalStringpassword="admin";//数据库用户密码
//privatestaticfinalStringurl="jdbc:
oracle:
thin:
@127.0.0.1:
1521:
oracleAdmin";
privatestaticfinalStringurl="jdbc:
odbc:
oracleAdmin";//数据库url
privateConnectioncon;
privateStatementst;
publicDataBase()
{
try
{
Class.forName(driver);System.out.println("正在加载驱动");/加载驱动
con=DriverManager.getConnection(url,name,password);System.out.println("获取连接");//获取连接
st=con.createStatement();System.out.println("得到sql语句");
}
catch(ClassNotFoundExceptioncnfe)
{
cnfe.printStackTrace();
}
catch(SQLExceptionsqle)
{
sqle.printStackTrace();
}
}
publicintexecuteUpdate(Stringsql)throwsSQLException//执行更新操作
{
returnst.executeUpdate(sql);
}
publicResultSetexecuteQuery(Stringsql)throwsSQLException
{
returnst.executeQuery(sql);
}
}
附录2
软件使用说明
首先进入netbeans7.1,打开项目,然后进入源程序,右键项目运行即可