实验选课系统oracle课程设计报告(附源代码)(共18页).doc
精选优质文档-倾情为你奉上数学与计算机学院课程设计说明书课 程 名 称: 大型数据库-课程设计 课 程 代 码: 题 目: 实验选课系统 年级/专业/班: 学 生 姓 名: 学 号: 开 始 时 间: 2012 年 05 月 24 日完 成 时 间: 2012 年 06 月 15 日课程设计成绩:学习态度及平时成绩(30)技术水平与实际能力(20)创新(5)说明书撰写质量(45)总 分(100)指导教师签名: 年 月 日专心-专注-专业目 录 1 引 言 1.1 问题的提出传统的手工选课不仅复杂,也牵涉了很多的人力,对管理也造成了诸多不变,而借助网上选课系统,学生在规定选课时间段内,可以不受地点和时间的限制完成选修课的申请,而学校也可以方便地对系统进行管理和控制,提高工作效率。这个选课系统,能够减轻在实验选课管理方面的负担,要真正的对实验课程进行管理,这个程序还不够,需要完善该系统。1.2国内外研究的现状 用软件代替手工操作作已成为趋势,现在国外的智能化、自动化遥遥领先我国。在IT这行里,由于计算机起步于国外,在文档、软件规范和标准上大部分都遵循国外的。现在我国大部分高校已实现网上选课。1.5任务与分析这个系统主要是开发一个实验课选课系统,用户有三类,学生,教师,管理员。学生可以选择实验课程,退选实验课程,可以注册,教师可以给学生上成绩,可以查看自己班上的学生,可以查询学生成绩,管理员可以删除、更新学生,教师,实验课程信息。用oracle做后台数据库,存储数据,用java web采用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主键是adminidCourse表coourseid,coursename,teacher,couesdesc,credit,teacherid主键是courseidAdministrator表创建语句:CREATE TABLE ADMINISTRATOR( ADMINID VARCHAR2(20) NOT NULL, ADMINNAME VARCHAR2(20), ADMINPASS VARCHAR2(20), CONSTRAINT ADMINISTRATORS_PK PRIMARY KEY ( ADMINID ) ENABLE);course表创建语句:CREATE TABLE COURSE( COURSEID VARCHAR2(20) NOT NULL, CREDIT VARCHAR2(20), COURSENAME VARCHAR2(20), TEACHER VARCHAR2(20), COURSEDESC VARCHAR2(20), TEACHERID VARCHAR2(20), CONSTRAINT COURSES_PK PRIMARY KEY ( COURSEID ) ENABLE);TEACHERS表创建语句:CREATE TABLE TEACHER( TEACHERID VARCHAR2(20) NOT NULL, TEACHERNAME VARCHAR2(20), SEX VARCHAR2(20), PASSWORD VARCHAR2(20), COLLEGE VARCHAR2(20), CONSTRAINT TEACHERS_PK PRIMARY KEY ( TEACHERID ) ENABLE);5 程序说明· Student类的声明package student.beans;public class Student private String stuNum;/学号private String stuName;/姓名private String stuCollege;/学院private String stuClass;/班级private String stuPass;/密码private String sex;/性别public Student()/构造函数public Student(String stuNum, String stuName, String stuCollege,String stuClass, String stuPass, String sex) super();this.stuNum = stuNum;this.stuName = stuName;this.stuCollege = stuCollege;this.stuClass = stuClass;this.stuPass = stuPass;this.sex = sex; public Student(String stuNum, String stuName, String stuCollege,String stuClass, String sex) super();/调用父类构造函数this.stuNum = stuNum;this.stuName = stuName;this.stuCollege = stuCollege;this.stuClass = stuClass;this.sex = sex; public String getStuNum() return stuNum;public void setStuNum(String stuNum) this.stuNum = stuNum;public String getStuName() return stuName;public void setStuName(String stuName) this.stuName = stuName;public String getStuCollege() return stuCollege;public void setStuCollege(String stuCollege) this.stuCollege = stuCollege;public String getStuClass() return stuClass;public void setStuClass(String stuClass) this.stuClass = stuClass;public String getStuPass() return stuPass;public void setStuPass(String stuPass) this.stuPass = stuPass;public String getSex() return sex;public void setSex(String sex) this.sex = sex;· teacher类的声明package teacher.beans;public class teacher private String teacherName;/姓名 private String teacherId;/教师职工号 private String sex;/性别 private String password/密码; private String college;/学院 public teacher()/构造函数 public teacher(String teacherId,String teacherName, String college,String password,String sex) this.teacherId=teacherId; this.teacherName=teacherName; this.sex=sex; this.password=password; this.college=college;/对各属性赋值 public String getTeacherName() return teacherName; public void setTeacherName(String teacherName) this.teacherName = teacherName; public String getTeacherId() return teacherId; public void setTeacherId(String teacherId) this.teacherId = teacherId; public String getSex() return sex; public void setSex(String sex) this.sex = sex; public String getPassword() return password; public void setPassword(String password) this.password = password; public String getCollege() return college; public void setCollege(String college) this.college = college; · admin类的声明public class admin private String adminName;/管理员用户名 private String adminId;/管理员编号 private String adminPass;/管理员密码 public admin(String adminId,String adminName) /构造函数 this.adminId=adminId; this.adminName=adminName; /设置管理员各属性 public String getAdminName() return adminName; public void setAdminName(String adminName) this.adminName = adminName; public String getAdminId() return adminId; public void setAdminId(String adminId) this.adminId = adminId; public String getAdminPass() return adminPass; public void setAdminPass(String adminPass) this.adminPass = adminPass; 6 模块分析6.1 添加模块根据表的字段添加的信息,插入在表中。 图1.2学生用户添加课程 图1.3 6.2 显示模块显示模块将输出所有学生的主要资料 。 图1.46.3 修改模块 首先由用户输入要修改的学生的id号,显示学生选课信息,然后退选课程 图1.56.4 查找模块 图1.6首先由用户输入要查找的课程Id或课程名,然后系统用查找函数查找,然后系统就调用输出函数,输出匹配的课程信息。查找课程信息6.5 删除模块首先由学生点击要退选的课程链接,然后调用退选函数,退选该课程。 图1.7首先由管理员点击要删除的学生链接,然后调用删除函数,删除该学生的信息管理员操作主界面 图1.8管理员进入学生操作界面 图1.9首先由管理员点击要删除的教师链接,然后调用删除函数,删除该教师的信息管理员进入教师操作界面 图2.0管理员进入课程操作界面首先由管理员点击要删除的课程链接,然后调用删除函数,删除该课程的信息。7 系统测试首先进入netbeans 7.1,打开项目,然后进入源程序,右键项目运行即可8 结论对自己完成的题目进行总结,包括程序的功能、创新点(与众不同的地方)及程序存在的问题和修改对策。该系统可以管理基本的实验课管理,采用B/S结构。但是该系统有很多不合理的地方,使用的技术也比较单一,也未考虑安全问题。在软件开发的过程中,不必知道所有的技术知识,只需把握软件开发的一些基本知识,具体知识可查询资料获得,做课程设计就类似于开发软件的过程,一边做一边学习通过本次课程设计的过程,我受益匪浅, 就实验选课系统这个课题,我实现了连接数据库,直接对数据库进行操作,基本实现了课程设计要求的功能。基本掌握了用java se开发一个网站的大概流程,用数据库保存用户数据的优点。附 录package student.dao;import java.sql.*;public class DataBase /private static final String driver = "oracle.jdbc.driver.OracleDriver" private static final String driver = "sun.jdbc.odbc.JdbcOdbcDriver"/使用jdbc-odbc连接oracleprivate static final String schema = "oracleAdmin"/数据库名private static final String name = "scott"/用户名private static final String password = "admin"/数据库用户密码/private static final String url = "jdbc:oracle:thin:127.0.0.1:1521:oracleAdmin"private static final String url = "jdbc:odbc:oracleAdmin"/数据库url private Connection con;private Statement st;public DataBase()tryClass.forName(driver);System.out.println("正在加载驱动");/加载驱动con = DriverManager.getConnection(url, name, password);System.out.println("获取连接");/获取连接st = con.createStatement();System.out.println("得到sql语句");catch(ClassNotFoundException cnfe)cnfe.printStackTrace();catch(SQLException sqle)sqle.printStackTrace();public int executeUpdate(String sql)throws SQLException/执行更新操作return st.executeUpdate(sql);public ResultSet executeQuery(String sql)throws SQLExceptionreturn st.executeQuery(sql);附录2 软件使用说明首先进入netbeans 7.1,打开项目,然后进入源程序,右键项目运行即可