【毕业设计】jSP在线教学质量评价系统的设计与实现(源代码+论文)


目录

在这里插入图片描述

一、系统设计

3.1系统功能设计

系统要求能够实现以下功能:

(1) 要求学生能够进行选课。

(2) 要求学生能够对教师进行教学质量评估及对其留言。

(3) 要求教师能够查看评教,以及对同行进行教学质量评估。

(4) 要求管理员能够对学生,教师信息进行插入,删除等操作

(5) 要求管理员能够对教学质量评估进行统计。

3.2 系统设计思想

本系统存在3种用户:学生、教师、管理员。学生和教师用管理员给定的帐号、密码登陆页面进行操作。登陆判定上首次基于数据库验证,然后把用户信息写进session,然后其他页面采用session验证。系统结构上采用页面镶嵌程序和语句,工作原理如下图所示。在这里插入图片描述
在系统结构中,用户界面层通过统一的接口向数据库存储层发送请求,数据库存储层收到请求处理之后把数据返回到用户界面层。

3.3 数据库分析

3.3.1数据库需求分析

数据库需求分析就是要了解在这个系统中,用户需要查询、更新、删除和保存哪些数据,收集基本数据、数据结构以及数据处理的流程,组成一份详尽的数据字典,为后面的具体设计打下基础。

针对教师教学质量评估系统功能的需求,总结出如下需求信息。

(1) 用户分教师、学生和管理员。

(2) 教师担任一门或多门课程。

(3) 学生能选修一门或多门课程,学生选择的课程要有选课记录。

(4) 学生对自己所选择的课程相对应的教师进行教学评估(进行打分),并根据情况意愿留言。

(5) 教师根据自己所授课程查看学生对自己的评分,同时查看学生对自己的留言。

经过需求总结,考虑到将来功能上的扩展,设计如下数据项和数据结构。

(1) 学生,包括数据项:学号、姓名、系名、班名、密码等。

(2) 教师,包括数据项:教师ID、姓名,所属院系、所授课程、所带班级、密码等。

(3) 管理员,包括数据项:管理员ID、密码等。

(4) 课程,包括数据项:课程编码、课程名称、授课教师等。

(5) 选课记录,包括数据项:课程编号、课程名称、学号。

(6) 学生分数记录表:包括数据项:学号、教师姓名、课程名称、分数。

(7) 教师分数记录表:包括数据项:教师ID、教师姓名、所属院系、所授课程、分数

(8) 留言, 包括数据项:留言、编号、教师姓名等。

3.3.2数据库概念结构

得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体以及实体之间的关系,为后面的数据库逻辑结构设计打下基础。这些实体包括各种具体信息通过互相之间的作用形成数据流动。

本系统根据上面的设计规划出的实体有:学生实体、教师实体、管理员实体、课程实体、选课实体、学生分数记录实体、教师分数记录实体、留言实体。

实体之间的关系的E-R图如下所示。
在这里插入图片描述

二、系统实现

5.1 系统页面主体设计

系统登陆页面设计如图:
在这里插入图片描述
在这里插入图片描述
5.2 数据操作类

基本的数据库操作都被封装到DB类,该类对数据库访问的方法包括了数据库的连接、查询、插入、删除、更新等操作。在开发过程中,涉及到数据库的操作时,可以直接调用DB的方法。这样可以提高开发人员的效率,充分体现了组件的重用性。类代码如下:

 package Javabeans;

import java.sql.*;

public class DB {

   private Connection con;

   private Statement stm;

   private ResultSet rs;

   private Stringclassname="com.microsoft.jdbc.sqlserver.SQLServerDriver";

   private Stringurl="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=教师教学质量评估系统";
public DB(){}

   public Connection getCon(){       

          try{

                 Class.forName(classname);

          }

          catch(ClassNotFoundException e){

                 e.printStackTrace();

          }

          try{

              con=DriverManager.getConnection(url,"sa","");

          }

          catch(Exception e){

              e.printStackTrace(System.err);

                 con=null;

          }

          return con;

    }

   public Statement getStm(){

       try{

          con=getCon();

          stm=con.createStatement();

       }catch(Exception e){e.printStackTrace(System.err);}

        return stm;

     }

     public Statement getStmed(){

       try{

          con=getCon();

          stm=con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

       }catch(Exceptione){e.printStackTrace(System.err);}

       return stm;

    }

     public ResultSet search(String sql){

       if(sql==null)sql="";

       System.out.println("sql:"+sql);

           try{

               stm=getStmed();

               rs=stm.executeQuery(sql);

            }

           catch(Exception e){e.printStackTrace();}

       return rs;

     }

     public int dosql(String sql){

       int num=-1;

            if(sql==null)sql="";

           try{

               stm=getStmed();

               num=stm.executeUpdate(sql);

            }

           catch(Exception e){e.printStackTrace();num=-1;}

       return num;

      }

     public void closed(){

           try{

                 if(rs!=null)rs.close();

          }

          catch(Exceptione){e.printStackTrace();}      

           try{

                 if(stm!=null)stm.close();

          }

          catch(Exception e){e.printStackTrace();}      

           try{

                 if(con!=null)con.close();

          }

          catch(Exceptione){e.printStackTrace();}      

    }

}

源文件

在这里插入图片描述

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值