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

29 篇文章 1 订阅
17 篇文章 3 订阅


目录

在这里插入图片描述
在这里插入图片描述

一、系统设计

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图如下所示。
在这里插入图片描述
其他实体的E-R图比较简单,这里就不详细介绍了。

3.3.3数据库逻辑结构设计

数据库概念结构设计完后,将数据概念结构转化为数据库系统所支持的实际数据模型,也就是数据库逻辑结构。

教师教学质量评估系统中各个表设计如下:
在这里插入图片描述

二、系统实现

5.1 系统页面主体设计

系统登陆页面设计如图:

在这里插入图片描述
5.2 数据操作类

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


package Javabeans;
import java.sql.*;
public class DB {
    private Connection con;
    private Statement stm;
    private ResultSet rs;
    private String classname="com.microsoft.jdbc.sqlserver.SQLServerDriver";
    private String url="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(Exception e){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(Exception e){e.printStackTrace();}      
       try{
        if(stm!=null)stm.close();
      }
      catch(Exception e){e.printStackTrace();}      
       try{
        if(con!=null)con.close();
      }
catch(Exception e){e.printStackTrace();}      
    }
}

源文件

在这里插入图片描述

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值