(with source code) ssm online teaching quality evaluation system computer complete set 141550

Online Teaching Quality Evaluation System Based on SSM

Summary

In daily teaching management, in order to collect teachers' teaching work data comprehensively and conveniently, sort out teaching evaluation information, so that the teaching affairs department can keep abreast of the teaching status, it is necessary to use information technology to assist in the completion. Therefore, the online teaching quality evaluation system is researched and designed to realize the network interaction and mutual evaluation of teachers, students and managers, which provides a scientific basis for teaching quality evaluation.

The main functional modules of the online teaching quality evaluation system include course management, student course selection management, class attendance, course evaluation, evaluation summary, etc. The object-oriented development model is adopted for software development and hardware construction, which can well meet the actual use According to the requirements, the work of corresponding software construction and program coding has been perfected. Mysql is used as the main storage unit of background data, and SSM framework, JSP technology, and Ajax technology are used to code and develop the business system, realizing all the functions of the system. . This report first analyzes the background, function and significance of the research, laying the foundation for the rationality of the research work. Analyze the various needs and technical problems of teaching quality evaluation, prove the necessity and technical feasibility of the system, then give a basic introduction to the technical software and design ideas that need to be used in the design system, and finally realize the online teaching quality evaluation System and deployment runs use it.

Key words: teaching quality evaluation; SSM framework; Mysql database

Online teaching quality evaluation system based on SSM

Abstract

In daily teaching management, in order to comprehensively and conveniently collect teachers' teaching work data and sort out teaching evaluation information, so that the educational administration department can understand the teaching status in time, information means need to be used to assist. Therefore, the online teaching quality evaluation system is studied and designed to realize the network interactive mutual evaluation of teachers, students and managers, which provides a scientific basis for the evaluation of teaching quality.

The main functional modules of the online teaching quality evaluation system include course management, student course selection management, punch in class, course evaluation, evaluation summary, etc. the object-oriented development mode is adopted for software development and hardware erection, which can well meet the needs of practical use and improve the corresponding software erection and program coding, MySQL is used as the main storage unit of background data, and SSM framework, JSP technology and Ajax technology are used to code and develop the business system, which realizes all the functions of the system. This report first analyzes the background, function and significance of the research, which lays a foundation for the rationality of the research work. According to the analysis of various needs and technical problems of teaching quality evaluation, this paper proves the necessity and technical feasibility of the system, then makes a basic introduction to the technical software and design idea needed to design the system, and finally realizes the online teaching quality evaluation system and deploys it.

Key words:Teaching quality evaluation; SSM framework; The Mysql database

Table of contents

Chapter 1 Introduction

1.1  Research background and significance

1.2  Development Status

Chapter 2 Introduction to Related Technologies

2.1 Development Technology

2.2 MV VM mode

2.3 SQL server database

2.4 B/S structure

2.5 SSM framework

2.6 Relationship between layers of ssm framework

2.7 Working principle of B/S system 

2. 7  JavaScript running mode

Chapter 3 System Analysis

3.1  Feasibility analysis

3.2  Analysis of Functional Requirements

3.2.1  Foreground user functions

3.2.2  Background administrator function

3.3  Analysis of non-functional requirements

3.4  Security Requirements Analysis

3.4.1  System Security

3.4.2  Data Security

3.5  Data flow analysis

Chapter 4 System Design

4.1  System architecture design

4.2  Overall system design

4.3  System function design

4.4  Database design

4.4.1  Data Requirements Analysis

4.4.2  Database conceptual design

4.4.3  Database table design

Chapter 5 System Implementation

5.1  Implementation of the database access layer

5.2  Implementation of registration module

5.3  Implementation of login module

5.4  Realization of User Profile Modification Module

5.5 Realization of Evaluation Summary Module 

5.6 Realization of clock-in class module 

5.7 Realization of Course Management Module 

5.8 Realization of student course selection management module 

5.9 Realization of Course Evaluation Module 

Chapter 6 System Testing

6.1  Test purpose

6.2  Functional test

6.3  Performance Test

Chapter 7 Summary and Outlook

references

thank you

  1. introduction
    1. research background and meaning

With the development of computer technology, network technology is becoming more and more important to our life and work, especially in today's highly developed information world, people's demand for the latest information and the release of it urgently need timeliness. The dynamic interactive web page just provides these functions. At present, there are already some similar teaching evaluation systems on the Internet. Through the observation of these systems and the understanding of teachers and students who have used these systems, we found that these systems simply display the evaluation content in the form of web pages. Let the students choose, and then save the results uniformly and submit them to the server. This has great disadvantages, such as difficult to update the evaluation content; the credibility of the evaluation results needs to be improved; when multiple users log in at the same time, the system does not operate well and many other problems. This system is to provide relevant decision-making support for teaching teachers, provide scientific basis for the quality of teaching work for professional title evaluation and employment, and reduce the workload of teaching teachers at the same time. The system is based on Windows XP operating system, developed with JSP, and implemented with MYSQL database.

This system is a system that can realize teaching quality evaluation online, which can greatly reduce the workload of teaching staff and improve work efficiency; designing an online teaching quality evaluation system is just a means, through which I can better understand the working process of computers , master the use of development language, master the work skills of developing various projects, and adapt to the rapidly developing society.

    1. development status

Although our country is now vigorously supporting the construction of the teaching evaluation system, objectively speaking, the construction of the teaching evaluation system in our country is still in the initial stage, and there is still a lack of some theoretical guidance and unified deployment problems, resulting in the current situation of complete but not perfect. There is still a big gap between my country's teaching evaluation system and foreign countries.

The state has invested a huge amount of funds in the construction of the information environment and the teaching evaluation system in colleges and universities, and has achieved remarkable results. The existing system and other digital learning resources, as well as the achievements of the information environment construction in colleges and universities provide a good material basis for the research of this subject. However, the sharing and application of excellent teaching resources is not sufficient at present, and the role of teaching quality evaluation system resources in improving teaching quality and school-running efficiency is still far from people's expectations. The service and sustainable development of the teaching quality evaluation system are not only an important part of resource construction in the process of education informatization, but also its co-construction and sharing model can contribute to the development of national informatization, the construction of a lifelong education system based on an informatization environment, and the construction of a learning society. for reference.

  1. Related technology introduction
    1. development technology

The front-end part of the system is developed based on the MVVM model, using the B/S model, and the back-end part is developed based on the Java ssm framework.

Front-end part: The front-end framework adopts the popular progressive JavaScript framework Vue.js. Use Vue-Router and Vuex to achieve dynamic routing and global state management, Ajax to achieve front-end and back-end communication, Element UI component library to make the page quickly prototype, and the front-end of the project realizes responsiveness through grid layout, which can be adapted to PC, tablet, mobile, etc. Perfect layout display for different screen sizes.

Back-end part: use ssm as the development framework, and integrate MyBatis, Redis and other related technologies at the same time

    1. MVVM pattern

MVVM is shorthand for Model-View-ViewModel. It's essentially an improved version of MVC. MVVM is to abstract the state and behavior of the View in it, and let us separate the view UI from the business logic. Of course, ViewModel has already done these things for us. It can take out the data of Model and help deal with the business logic involved in View because of the need to display content. Microsoft's WPF brings new technical experience, such as Silverlight, audio , video , 3D , animation ..., which leads to more detailed and customizable software UI layer. At the same time, at the technical level, WPF also brings new features such as Binding, Dependency Property, Routed Events, Command, DataTemplate, and ControlTemplate. The origin of the MVVM (Model-View-ViewModel) framework is a new type of architectural framework developed and evolved from the application of the MVP (Model-View-Presenter) pattern combined with WPF . It is based on the original MVP framework and incorporates the new features of WPF to cope with the increasingly complex needs of customers.

    1. SQL server database

The advancement of science and technology has brought many conveniences to daily life: the projectors in the dormitory use virtual imaging technology, and the digital cameras use photoelectric detection technology. For example, the record of goods entering and leaving the warehouse in a supermarket requires an information warehouse. This information warehouse is a database, and this time the student logistics support system also needs the support of this technology. The advantages of the SQlserver database are as follows:

(1) High-performance design can make full use of the advantages of WindowsNT.

(2) Advanced system management, support Windows graphical management tool, support local and remote system management and configuration.

(3) Strong transaction processing function, adopt various methods to ensure data integrity.

(4) Support symmetric multiprocessor structure, stored procedures, ODBC, and S has its own SQL language. SQL Serverl provides an outstanding database platform for users, developers and system integrators with its built-in data replication function, powerful management tools, tight integration with the Internet and open system structure.

    1. B/S structure

B/S (Browser/Server) is a more convenient architecture than its predecessor architecture. It uses the Web server to complete the data transfer and exchange. You only need to download the browser as the client, then the work will achieve a "slimming" effect, and there is no need to consider the problem of non-stop installation of software.

    1. SSM framework

SSM is SpringMVVM+Spring+MySQL. These three frameworks have their own unique advantages, so combining them together can create a strong spark. The designer can create a web application program without consuming a lot of effort, and this program also has the characteristics of clear hierarchy, upgrade and update operations will not affect normal use, and allows multiple uses. This composite framework forms a system with a complete structure, powerful functions and a good structure: SpringMVVM separates each plate, Spring makes development more flexible and convenient, allows developers to directly manipulate objects, and divides labor details at each level, and realizes each level. Decoupling makes the code more flexible and streamlined. This framework enables programmers to avoid individual mistakes during the development period that lead to the destruction of the whole, and also to respond to new requirements from customers for the product in the later stage.

    1. The relationship between the layers of the ssm framework:

Both the DAO layer and the Service layer can be developed independently, and the mutual coupling is very low, so they can be carried out independently. Such a model is especially advantageous in the process of developing large projects.

The Controller and View layers are developed together because of their high coupling, but they can also be developed independently of the first two layers as a whole. In this way, you only need to know the definition of the interface before the layer and the layer, and call the interface to complete the required logic unit application. Everything is very clear and simple.

    1. Working principle of B/S system:

The B/S architecture adopts the working mode of browser request and server response.

Users can access information such as text, data, pictures, animation, video on demand and sound generated by the web server on the Internet through a browser;

And each web server can be connected with the database server in various ways, and a large amount of data is actually stored in the database server;

Download the program from the Web server to execute locally. If an instruction related to the database is encountered during the download process, the Web server will hand it over to the database server for interpretation and execution, and return it to the Web server, and the Web server will return it to the user. In this structure, many networks are connected together to form a huge network, that is, the global network. Each enterprise can build its own Internet on the basis of this structure.

In the B/S mode, the user requests access to many servers distributed on the network through the browser. The browser's request is processed by the server, and the processing result and corresponding information are returned to the browser. Other data Processing and requests are all completed by the Web Server. Through the frame structure and the browser embedded in the operating system, this structure has become the mainstream structure mode of today's software applications.

 

    1. JavaScript run mode:

JavaScript is a high-level scripting language belonging to the network. It has been widely used in the development of Web applications. It is often used to add various dynamic functions to web pages and provide users with smoother and more beautiful browsing effects. Usually, JavaScript scripts realize their own functions by embedding them in HTML.

1.1 is an interpreted scripting language (code is not precompiled).

1.2 is mainly used to add interactive behavior to HTML (an application under the Standard Universal Markup Language) page.

1.3 can be directly embedded in HTML pages, but written as a separate js file is conducive to the separation of structure and behavior.

1.4 Cross-platform feature, with the support of most browsers, it can run on multiple platforms (such as Windows, Linux, Mac, Android, iOS, etc.).

1.5 JavaScript scripting language, like other languages, has its own basic data types, expressions and arithmetic operators and the basic program framework of the program. JavaScript provides four basic data types and two special data types for processing data and text. Variables provide a place to store information, and expressions can complete more complex information processing.

  1. system analysis
    1. Feasibility Analysis

In terms of technology, the current mainstream SSM framework is used to build the main framework of the system. The front desk uses jquery and ajax to realize the design and aesthetic adjustment of the front page. The above technologies are all learned systematically by myself and practiced in course design. It can make development more convenient and systematic. From a technical point of view, this system is completely achievable.

In terms of practicability, the main task of this design is to realize the course management, student course selection management, check-in class, course evaluation, etc. in the online teaching quality evaluation system, which is in line with the current trend of development. From the perspective of users, while also considering system operating costs and human resources, it adopts a convenient way on the Internet to realize online business, making the business process more systematic and more convenient for user experience, which is more practical.

In terms of economy, the main purpose of the online teaching quality evaluation system designed in this project is to conduct information query management and retrieval services more conveniently and quickly, that is, information software that can be directly put into use. The main cost of the system is mainly concentrated on the operation of continuous maintenance and management update of the used data in the later period. However, once the system is put into actual operation and use, it can improve the efficiency of information query and retrieval. At the same time, it is also necessary to effectively ensure the security of the information of the inquirer. At the same time, the actual online teaching quality evaluation system brings The value of the application far exceeds the cost of developing and maintaining the actual system. Therefore, it is economically feasible to develop this software.

    1. Functional Requirements Analysis

The functions of the online teaching quality evaluation system are mainly divided into front-end users registering and logging in according to their own needs, browsing the course information list and performing course selection operations, and can evaluate the teaching quality. Background system administrators are divided into ordinary administrators and super administrators due to different responsibilities. Administrators mainly manage student users, course evaluations, course information, and evaluation summaries.

The administrator use case diagram is shown below.

 

Figure 3-1 Administrator use case diagram

The student use case diagram is shown below.

 

Figure 3-2 Student use case diagram

      1. front-end user function

The functions for registered students are as follows:

Login: Log in according to the account password.

Maintain personal information: Students can modify their registration information at any time due to changes in personal information.

Student check-in: mainly includes student check-in (including course title, lecturer, check-in information).

Course evaluation: mainly includes course title, lecturer, student evaluation, evaluation content, and review status.

      1. Background administrator function

Background administrators can be divided into ordinary administrators and super administrators.

The administrator functions are as follows:

Change password: Administrators can change their own login passwords to the system at any time to ensure system security.

Course management: maintain course information, add, delete and modify information.

Student course selection management: maintain student course selection information, add, delete, and modify information.

Course evaluation management: maintain and manage the teaching evaluation information of lecturers.

Student Management: You can view the information of registered students and manage them.

Punch in class management.

    1. Non-Functional Requirements Analysis

The first thing to consider is the system function software. In terms of specific design, whether it can better meet the basic functional requirements of various users. If it cannot better meet the needs of users, then the existence of this system is worthless. The non-functional analysis of the software system is carried out from 7 aspects, one is performance analysis, which is aimed at the system; one is security analysis, which is aimed at the system; the other is integrity analysis, which is aimed at the system; It is scalability analysis, for the system, and the other is performance analysis to adapt to the business. In the face of the comprehensive comparison and analysis of the performance, security, expansion, and integrity of the online teaching quality evaluation system in seven aspects, it is found that the corresponding non-functional requirements analysis is needed.

    1. Security Requirements Analysis
      1. system security

Security is very important to every system. A system with good security can protect enterprise information and user information from being stolen. Improving the security of the system is not only the responsibility of the user, but also the responsibility of the enterprise. Especially for teaching interactive platforms, there must be good security to protect the entire system.

The system has authority control for users, and limits the authority of users according to the role barriers, so as to ensure the security of the system.

      1. data security

The data in the database is input from the outside world. When the data is input, due to various reasons, the input data will be invalid or dirty. Therefore, how to ensure that the input data conforms to the regulations has become the primary concern of database systems, especially multi-user relational database systems.

Therefore, when writing to the database, data integrity, correctness, and consistency must be guaranteed.

    1. Data Flow Analysis

Analyze the data flow of the system, and the users of the system are divided into two categories, general users and administrators. The system mainly processes interface information transmission, login information verification, registration information reception, and user response to various operations.

The top-level data flow diagram of the system is shown in the figure below.

 

Figure 3-2 Top-level data flow diagram

To judge the identity of the user, it is judged according to the login data, and then jumps to the corresponding function interface. The internal users of the system can operate the data, and the database center can receive the effective data stream transmitted by the system to perform corresponding operations on the data SQL statements.

The underlying data flow diagram of the system is shown in the figure below.

 

 Figure 3-3 The underlying data flow diagram

 

The system can be divided into two parts, the foreground and the background. After each operation, the system returns the operation result. The data connection between the foreground and the background is mainly through the database, which means that different operations are performed on the database respectively.

  1. system design
    1. System architecture design

The architecture design of the online teaching quality evaluation system can be mainly divided into three layers, mainly including the Web layer, the business layer, and the Model layer. The web layer also includes the View layer and the Controller layer, and the Model layer includes the metadata extension layer and the data access layer.

The system architecture is shown in the figure below.

 

Figure 4-1 System architecture

    1. Overall System Design

The online teaching quality evaluation system is generally divided into a front-end user module and a back-end administrator module.

The two modules appear to exist independently, but the accessed database is the same. The function of each module is made according to the previously completed demand analysis, and after consulting relevant materials.

To sum up, the functional structure diagram of the system is shown in the figure below.

 

Figure 4-2 System function structure diagram

    1. System function design

Login module: The login module is the entrance to the system, and all users must log in to access the system. To log in, you need to enter your username and password, and if you try to log in multiple times, you need to enter a verification code. When logging in, you need to choose the role of the user, whether it is a general user or an administrator to log in. After a successful login, the user's permissions will be obtained through the database and redirected to the user's home page.

Course management module: users can upload semester course tasks, students' course task release, etc.

Course evaluation management module: It can be divided into evaluation management retrieval, evaluation management maintenance, etc. The administrator has maintenance authority for evaluation management.

    1. Database Design
      1. Data Requirements Analysis

It can be analyzed from the front that the most important things in the database are course information, student information, and student course selection information. The analysis can get the following data description:

Students: Used to record various information of students, including student number, password, name, gender, ID card, phone number, department, class, photo, whether to review and other data items.

Course: the content stored for the course, including course number, course name, release time, teaching year, course video, course attachment, publisher and other data items.

Teacher: store various teacher information. Including data items such as employee number, password, name, gender, ID card, phone number, title, photo, and approval or not.

Course evaluation: store data items such as course evaluation information in the platform.

      1. Database conceptual design

According to the previous data flow chart, combined with the functional module design of the system, design each information entity that conforms to the system.

The ER diagram of the system is shown in the figure below.

 

Figure 4-3 System ER diagram

      1. database table design

The data tables owned by the online teaching quality evaluation system are as follows: student information table, course information table, course selection information table, class attendance table, course evaluation table, evaluation summary table, etc.

Due to the large number of data tables, only the main data tables of the system are displayed, as shown in the following table.

name

type

length

not null

primary key

note

student_user_id

int

11

yes

yes

Student User ID

student_number

varchar

64

no

no

student ID

full_name

varchar

64

no

no

Name

major

varchar

64

no

no

major

faculty

varchar

64

no

no

Faculty

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

user_id

int

11

yes

no

User ID

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

student_course_selection_id

int

11

yes

yes

Student course ID

student_user

int

11

no

no

student user

course_title

varchar

64

no

no

course title

instructor

int

11

no

no

Instructor

course_date

date

0

no

no

course date

course_content

text

0

no

no

Course content

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

punch_in_class_id

int

11

yes

yes

Punch in class ID

student_user

int

11

no

no

student user

course_title

varchar

64

no

no

course title

instructor

int

11

no

no

Instructor

punch_in

varchar

64

no

no

Whether to check in

punch_in_date

date

0

no

no

Punch date

remarks

varchar

64

no

no

Remark

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

evaluation_summary_id

int

11

yes

yes

Review Summary ID

teacher_user

int

11

no

no

teacher user

number_of_praise

int

11

no

no

Number of praise

medium_rating_quantity

int

11

no

no

Appraisal quantity

number_of_negative_comments

int

11

no

no

Number of bad reviews

remarks

varchar

64

no

no

Remark

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

teacher_id

int

11

yes

yes

Teacher ID

user_name

varchar

64

no

no

username

full_name

varchar

64

no

no

Name

faculty

varchar

64

no

no

Faculty

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

user_id

int

11

yes

no

User ID

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

course_management_id

int

11

yes

yes

Course Management ID

course_title

varchar

64

no

no

course title

instructor

int

11

no

no

Instructor

course_date

date

0

no

no

course date

course_attachment

varchar

255

no

no

Course Attachments

course_content

text

0

no

no

Course content

examine_state

varchar

16

yes

no

Approval Status

recommend

int

11

yes

no

Intelligent Recommendation

create_time

datetime

0

yes

no

creation time

update_time

timestamp

0

yes

no

update time

name

type

length

not null

primary key

note

teacher_praise_list_id

int

11

教师好评榜ID

the_first

varchar

64

第一名

proxime_accessit

varchar

64

第二名

third

varchar

64

第三名

fourth_place

varchar

64

第四名

fifth_place

varchar

64

第五名

sixth_place

varchar

64

第六名

seventh_place

varchar

64

第七名

eighth_place

varchar

64

第八名

ninth_place

varchar

64

第九名

tenth_place

varchar

64

第十名

evaluation_date

date

0

评比日期

remarks

varchar

64

备注

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

  1. 系统实现
    1. 数据库访问层的实现

该系统是通过jdbc和Mysql达成连接的,新建一个jdbc.properties文件来填写与数据库连接所需要的驱动和参数。

jdbc.driverClass=com.Mysql.jdbc.Driver

jdbc.url=jdbc:Mysql://localhost:3306/tsi

jdbc.username=root

jdbc.password=123

第一个参数代表Mysql数据库的驱动,第二个参数代表要连接的数据库,第三个和第四个参数代表数据库连接名和密码。

后台与数据库访问主要是通过HQL语句来进行查询的,查询语句中的表名是表格的实体类名,在这种查询语句中*是不允许使用的,除非适合聚合函数一起使用才可以。

    1. 注册模块的实现

用户在填写数据的时候必须与注册页面上的验证相匹配否则会注册失败,注册页面的表单验证是通过JavaScript进行验证的,用户名的长度必须在6到18之间,邮箱必须带有@符号,密码和密码确认必须相同,你输入的密码,系统会根据你输入密码的强度给出指定的值,电话号码和身份证号码必须要求输入格式与生活相符合,当你前台验证通过的时候你点击注册,表单会将你输入的值通过name值传递给后台并保存到数据库中。

用户注册流程图如下图所示。

 

图5-1用户注册流程图

用户注册的关键代码如下。

     * 注册

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(HttpServletRequest request) throws IOException {

        // 查询用户

        Map<String, String> query = new HashMap<>();

        Map<String,Object> map = service.readBody(request.getReader());

        query.put("username",String.valueOf(map.get("username")));

        List list = service.selectBaseList(service.select(query, new HashMap<>()));

        if (list.size()>0){

            return error(30000, "用户已存在");

        }

        map.put("password",service.encryption(String.valueOf(map.get("password"))));

        service.insert(map);

        return success(1);

}

    public Map<String,Object> readBody(BufferedReader reader){

        BufferedReader br = null;

        StringBuilder sb = new StringBuilder("");

        try{

            br = reader;

            String str;

            while ((str = br.readLine()) != null){

                sb.append(str);

            }

            br.close();

            String json = sb.toString();

            return JSONObject.parseObject(json, Map.class);

        }catch (IOException e){

            e.printStackTrace();

        }finally{

            if (null != br){

                try{

                    br.close();

                }catch (IOException e){

                    e.printStackTrace();

                }

            }

        }

        return null;

    }

    public void insert(Map<String,Object> body){

        E entity = JSON.parseObject(JSON.toJSONString(body),eClass);

        baseMapper.insert(entity);

        log.info("[{}] - 插入操作:{}",entity);

}

    1. 登录模块的实现

主要由两部分组成,登录前的登录界面以及登录后的用户功能界面。登录界面,要求用户输入用户名和密码,当用户名和密码其中一个输入为空时,给出提示“用户名,密码不能为空”。获取用户名和密码后到数据库中查找,如果用户名存在,以及对应的密码正确,则登录成功,否则登录失败。登录失败后给出提示,并把焦点停在文本框中。登录成功后将该次会话的全局变量username设置为用户名。登录成功后进入会员的功能模块,主要有会员基本信息修改,已经发布课程信息管理,发布信息,和退出功能。退出功能是清除全局变量username的值,并跳回到首页。

登录流程图如下图所示。

 

图5-4登录流程图

用户登录界面如下图所示。

 

图5-5用户登录界面

用户登录的关键代码如下。

     * 登录

     * @param data

     * @param httpServletRequest

     * @return

     */

    @PostMapping("login")

    public Map<String, Object> login(@RequestBody Map<String, String> data, HttpServletRequest httpServletRequest) {

        log.info("[执行登录接口]");

        String username = data.get("username");

        String email = data.get("email");

        String phone = data.get("phone");

        String password = data.get("password");

        List resultList = null;

        QueryWrapper wrapper = new QueryWrapper<User>();

        Map<String, String> map = new HashMap<>();

        if(username != null && "".equals(username) == false){

            map.put("username", username);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(email != null && "".equals(email) == false){

            map.put("email", email);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }

        else if(phone != null && "".equals(phone) == false){

            map.put("phone", phone);

            resultList = service.selectBaseList(service.select(map, new HashMap<>()));

        }else{

            return error(30000, "账号或密码不能为空");

        }

        if (resultList == null || password == null) {

            return error(30000, "账号或密码不能为空");

        }

        //判断是否有这个用户

        if (resultList.size()<=0){

            return error(30000,"用户不存在");

        }

        User byUsername = (User) resultList.get(0);

        Map<String, String> groupMap = new HashMap<>();

        groupMap.put("name",byUsername.getUserGroup());

        List groupList = userGroupService.selectBaseList(userGroupService.select(groupMap, new HashMap<>()));

        if (groupList.size()<1){

            return error(30000,"用户组不存在");

        }

        UserGroup userGroup = (UserGroup) groupList.get(0);

        //查询用户审核状态

        if (!StringUtils.isEmpty(userGroup.getSourceTable())){

            String res = service.selectExamineState(userGroup.getSourceTable(),byUsername.getUserId());

            if (res==null){

                return error(30000,"用户不存在");

            }

            if (!res.equals("已通过")){

                return error(30000,"该用户审核未通过");

            }

        }

        //查询用户状态

        if (byUsername.getState()!=1){

            return error(30000,"用户非可用状态,不能登录");

        }

        String md5password = service.encryption(password);

        if (byUsername.getPassword().equals(md5password)) {

            // 存储Token到数据库

            AccessToken accessToken = new AccessToken();

            accessToken.setToken(UUID.randomUUID().toString().replaceAll("-", ""));

            accessToken.setUser_id(byUsername.getUserId());

            tokenService.save(accessToken);

            // 返回用户信息

            JSONObject user = JSONObject.parseObject(JSONObject.toJSONString(byUsername));

            user.put("token", accessToken.getToken());

            JSONObject ret = new JSONObject();

            ret.put("obj",user);

            return success(ret);

        } else {

            return error(30000, "账号或密码不正确");

        }

}

    public String select(Map<String,String> query,Map<String,String> config){

        StringBuffer sql = new StringBuffer("select ");

        sql.append(config.get(FindConfig.FIELD) == null || "".equals(config.get(FindConfig.FIELD)) ? "*" : config.get(FindConfig.FIELD)).append(" ");

        sql.append("from ").append("`").append(table).append("`").append(toWhereSql(query, "0".equals(config.get(FindConfig.LIKE))));

        if (config.get(FindConfig.GROUP_BY) != null && !"".equals(config.get(FindConfig.GROUP_BY))){

            sql.append("group by ").append(config.get(FindConfig.GROUP_BY)).append(" ");

        }

        if (config.get(FindConfig.ORDER_BY) != null && !"".equals(config.get(FindConfig.ORDER_BY))){

            sql.append("order by ").append(config.get(FindConfig.ORDER_BY)).append(" ");

        }

        if (config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE))){

            int page = config.get(FindConfig.PAGE) != null && !"".equals(config.get(FindConfig.PAGE)) ? Integer.parseInt(config.get(FindConfig.PAGE)) : 1;

            int limit = config.get(FindConfig.SIZE) != null && !"".equals(config.get(FindConfig.SIZE)) ? Integer.parseInt(config.get(FindConfig.SIZE)) : 10;

            sql.append(" limit ").append( (page-1)*limit ).append(" , ").append(limit);

        }

        log.info("[{}] - 查询操作,sql: {}",table,sql);

        return sql.toString();

}

    public List selectBaseList(String select) {

        List<Map<String,Object>> mapList = baseMapper.selectBaseList(select);

        List<E> list = new ArrayList<>();

        for (Map<String,Object> map:mapList) {

            list.add(JSON.parseObject(JSON.toJSONString(map),eClass));

        }

        return list;

}

    1. 用户资料修改模块的实现

用户登录/注册成功之后可以修改自己的基本信息。修改页面的表单中每一个input的name值都要与实体类中的参数相匹配,在用户点击修改页面的时候,如果改后用户名与数据库里面重复了,页面会提示该用户名已经存在了,否则通过Id来查询用户,并将用户的信息修改为表单提交的数据。

    1. 评价汇总模块的实现

查询评价汇总是通过ajax技术来进行查询的,需要传递教师信息等参数然后在返回到该页面中,可以选中要修改或删除的那条信息,如果选中了超过一条数据,页面会挑一个窗口提醒只能选择一条数,如果没有选中数据会挑一个窗口题型必须选择一条数据。当选择确认修改的时候,后台会根据传过来的id到数据库查询,并将结果返回到修改页面中,可以在修改页面中修改刚刚选中的信息当点击确认的时候from表单会将修改的数据提交到后台并保存到数据库中,就是说如果提交的数据数据库中存在就修改,否则就保存。

评价汇总界面如下图所示。

 

图5-6评价汇总界面

评价汇总的关键代码如下。

<%

String lb=request.getParameter("lb");

HashMap ext = new HashMap();  

new CommDAO().insert(request,response,"xinwentongzhi",ext,true,false,"xinwentongzhi_add.jsp?lb="+lb);

%>

    1. 打卡上课模块的实现

学生用户可以进行上课打卡。将页面session中的用户账号userId和上传打卡信息,文字框内容传入控制层LiuyanAction,调用addLiuyan方法,通过LiuyanDAOImp向数据库打卡上课记录表插入,将结果返回lyb.jsp界面。

打卡上课流程图如下图所示。

 

图5-10打卡上课添加流程图

打卡上课发表界面如下所示。

 

图5-1打卡上课界面

打卡上课关键代码如下。

<mapper namespace="com.project.demo.dao.base.BaseMapper">

    <select id="selectBaseList" resultType="java.util.LinkedHashMap">

        ${select}

    </select>

    <select id="selectBaseCount" resultType="Integer">

        ${count}

    </select>

    <select id="selectBaseOne" resultType="Object">

        ${select}

    </select>

    <update id="updateBaseSql">

        ${sql}

    </update>

    <delete id="deleteBaseSql">

        ${sql}

    </delete>

</mapper>

    1. 课程管理模块的实现

此页面的关键是编写课程信息,包括课程编名称,详情等。单击提交按钮以完成信息的添加。如果未写入完整的课程信息,例如,如果未写入课程名称,系统将给出相应的错误提示,并且无法成功输入。数据以概念的形式以onsubmit =“return checkForm()”的形式写入以进行检查,checkForm()函数是一种用于写入数据的不同类型的校对方法,是不是为空也是经过form表单中的οnsubmit=”return checkForm()来检查。

管理员点击左侧菜单“课程信息管理”,页面跳转到课程信息管理外观,调用后台课程查询所有课程信息。并将信息密封到数据集合List,绑定到请求对象,然后页面跳转到相应的jsp,显示出课程信息,单击删除按钮完成课程信息的删除。

课程管理流程图如下图所示。

 

图5-17课程管理流程图

课程添加界面如下图所示。

 

图5-18课程添加界面

课程管理界面如下图所示。

 

图5-19课程管理界面

课程发布的关键代码如下。

 @RequestMapping("/get_obj")

    public Map<String, Object> obj(HttpServletRequest request) {

        List resultList = service.selectBaseList(service.select(service.readQuery(request), service.readConfig(request)));

        if (resultList.size() > 0) {

            JSONObject jsonObject = new JSONObject();

            jsonObject.put("obj",resultList.get(0));

            return success(jsonObject);

        } else {

            return success(null);

        }

}

    1. 学生选课管理模块的实现

学生选课时,会给出数据填写的页面,该页面根据填写好的选课信息同样会事先发送Ajax请求查询课程是否已存在,数据填写好之后提交到后台,会调用相关服务在数据库中插入记录。

学生选课管理流程图如下图所示。

 

图5-20学生选课管理流程图

学生选课添加页面设计效果如下图所示。

 

图5-21学生选课添加界面

学生选课管理页面效果如下图所示。

 

图5-22学生选课管理界面

    1. 课程评价模块的实现

管理员管理课程评价信息,用户点击想要查看的评价信息进入播放界面,浏览器自动播放该评价信息,评分信息播放通过调用html的<video>标签,将播放文件路径参数传入,完成播放,在play.jsp实现评价信息的播放。

课程评价流程图如下图所示。

 

图5-23课程评价流程图

课程评价界面如下图所示。

 

图5-24课程评价界面

课程评价代码如下所示。

 @PostMapping("/add")

    @Transactional

    public Map<String, Object> add(HttpServletRequest request) throws IOException {

        service.insert(service.readBody(request.getReader()));

        return success(1);

    }

    @Transactional

    public Map<String, Object> addMap(Map<String,Object> map){

        service.insert(map);

        return success(1);

}

  1. 系统测试
    1. 测试目的

对任何系统而言,测试都是必不可少的环节,测试可以发现系统存在的很多问题,所有的软件上线之前,都应该进行充足的测试之后才能保证上线后不会Bug频发,或者是功能不满足需求等问题的发生。下面分别从单元测试,功能测试和用例测试来对系统进行测试以保证系统的稳定性和可靠性。

    1. 功能测试

下表是系统登录功能测试用例,检测了用户名和密码的不同的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-1 系统登录功能测试用例

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的用户名和密码带有非法字符

提示用户名或者密码错误

与预期结果一致

输入的用户名或者密码为空

提示用户名或者密码错误

与预期结果一致

输入的用户名和密码不存在

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

下表是注册功能测试用例,检测了各种数据的输入情况,观察系统的响应情况。得出该功能达到了设计目标。

表6-2 注册功能测试用例

功能描述

用于用户注册

测试目的

检测用户注册时的合法性检查

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

提示请输入正确的手机号码

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

下表是课程管理功能的测试用例,检测了课程管理中对课程信息的增加,删除,修改,查询操作是否成功运行。观察系统的响应情况,得出该功能也达到了设计目标,系统运行正确。

前置条件;用户登录系统。

表6-3 课程管理的测试用例

功能描述

用于课程管理

测试目的

检测课程管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加课程,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加课程,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改课程,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改课程,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除课程,选择课程删除

提示删除成功

与预期结果一致

点击搜索课程,输入存在的课程名

查找出课程

与预期结果一致

点击搜索课程,输入不存在的课程名

不显示课程

与预期结果一致

    1. 性能测试

使用阿里云PTS(Performance Testing Service)性能测试服务对线上系统进行压力测试。线上服务器环境为:1核心CPU,1G内存,1Mbps公网带宽,Centos7.0操作系统。

压测过程中使用了2台并发机器,每台机器20个用户并发,对系统主页,登录,数据查询和数据维护等模块进行并发访问,测试结果是有40个用户并发时,数据管理相关页面的响应时间甚至达到了7s,通过查看服务器出网流量发现已经达到1381kb/s,可以看出服务器的带宽已经达到峰值,如果系统使用5Mbps的带宽,系统的响应时间和TPS将会大大增加。在整个测试的过程中,CPU的使用率占用仅8%,也提现出带宽瓶颈对系统的影响非常严重。

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是围绕教学质量评价为核心展开的。在线教学质量评价系统开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用Mysql。文中详细分析了在线教学质量评价系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了在线教学质量评价系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。

系统投入运行时,各功能均运行正常。系统的每个界面的操作符合常规逻辑,对使用者来说操作简单,界面友好。整个系统的各个功能设计合理,体现了人性化。

但是由于自己在系统开发过程中对一些用到的相关知识和技术掌握不够牢固,再加上自身开发经验欠缺,因此系统在有些方面的功能还不够完善,考虑的不够全面,因此整个系统还有待日后逐步完善。

参考文献

[1]张烈超,胡迎九.典型Java Web开发框架模型的研究[J].武汉交通职业学院学报,2021,23(04):122-127.

[2]钱明霞,杨延,殷伍平.新时代下高校学生评教制度的探索与实践研究[J].江苏科技信息,2021,38(35):25-29.

[3]井云.以学生评教为视角的高校教师满意度调查研究[J].中国眼镜科技杂志,2021(12):98-100.

[4]刘淼,高岭.基于方差分析的课堂教学质量评价实践研究[J].产业与科技论坛,2021,20(23):245-246.

[5]任洪,方欣懿.基于“以学生为中心”的高校学生评教指标改进策略研究[J].科学咨询(科技·管理),2021(11):90-92.

[6]王江霖,黄彩霞,樊旭龙.基于SSM框架的网络资源共享平台的研究与实现[J].电脑知识与技术,2021,17(28):76-78.

[7]Wenyu Zhang,Run Wang,Yanqin Tang,En Yuan,Yongfen Wu,Zhen Wang. Research on Teaching Evaluation of Courses Based on Computer System Ability Training[C]//Abstracts of the 7th International Conference of Pioneering Computer Scientists,Engineers and Educators(ICPCSEE 2021)Part II.Abstracts of the 7th International Conference of Pioneering Computer Scientists,2021:121-123.

[8]林志敏.诊改背景下高职院校学生评教的组织与实施[J].林区教学,2021(09):48-50.

[9]高岩,张晓琴,韩建枫.基于混合式课程的教学评价设计与思考[J].教育教学论坛,2021(36):161-164.

[10]田园.高校学生评教现状及改进措施[J].山西青年,2021(16):93-94.

[11]鲁燕飞.多元交互式教学评价体系的构建——评《“多元交互式”教学评价》[J].中国高校科技,2021(08):98.

[12]房义斌.关于高校课堂教学质量评价体系改革的思考[J].天中学刊,2021,36(04):146-149.

[13]许跃颖.基于敏捷开发的SSM Web应用开发措施[J].电子制作,2021(16):45-46+22.

[14]耿晓凤,张春慧.高校学生评教量表现状及评教影响因素分析[J].大学教育,2021(08):196-198.

[15]夏莉艳.大学课堂:缘何失去对学生的吸引力[J].高教论坛,2021(07):60-63.

[16]任泽海.高校评教的困境分析与应对之策[J].文教资料,2021(19):193-195.

[17]Wu Yahua,Yang Ningning,Shi Yazhong,Wang Gailing. Quality Monitoring and Evaluation System of the Practical Teaching of Food Science and Engineering Specialty in Local Application-Oriented Undergraduate Colleges under the Background of New Engineering—A Case Study of Bengbu University[J]. Open Journal of Social Sciences,2021,09(06):

thank you

This design took 3 months. In this graduation project, it is inseparable from the guidance of the instructor to make things go smoothly. The instructor has given me a lot of help both in the graduation design experience and in the completion of the thesis. On the other hand, I have benefited a lot from the teacher's serious and responsible work attitude, prudent teaching spirit and strong theoretical level. His diligent and cautious attitude towards teaching and educating people also left me with a particularly deep feeling. I have learned a lot from my teachers. In theory and practice, my skills have been greatly improved. Here, I would like to express my heartfelt gratitude to the teachers.

After all the research and development of this graduation project, my system research and development has experienced a special progress from requirement analysis to realization of detailed functions, to final testing and maintenance. Let me have a deeper understanding of system development. Now my hands-on ability and ability to deal with doubts alone have also gained a particularly large increase in practice and learning. This is the best harvest of this graduation project.

Finally, during the whole system development process, the classmates and friends around me gave me a lot of opinions, so I quickly confirmed the business idea of ​​the system. Here, I sincerely express my gratitude to them.

Please pay attention to like + private message blogger, get the source code of the project for free

Guess you like

Origin blog.csdn.net/Q_3461074420/article/details/131363394