springboot+mysql+Graduation project of employment management system for college students - with source code 290915

springboot college student employment management system

Summary

In the information society, there is a need for targeted information acquisition channels, but the expansion of channels is basically the direction that people are striving for. Due to the deviation in their perspective, people can often obtain different types of information, which is also the most difficult technology to overcome. topic. Aiming at the problems of college students' employment management system, etc., research and analyze the college students' employment management system, and then develop and design the college students' employment management system to solve the problems.

The main functional modules of the college student employment management system include system home page, site management (carousel map), user management (administrators, students, teachers, enterprise users), content management (news list, news classification list), and more management (message wall, notification announcement) , recruitment information, resume information, provinces where students work, contract agreements, enterprise information, interview information, industry management), and adopt an object-oriented development model for software development and hardware erection, which can well meet the needs of actual use , perfected the corresponding software setup and program coding work, adopted MySQL as the main storage unit of background data, and used springboot framework, java technology, Ajax technology to code and develop the business system, and realized 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 needs and technical problems of the college students' employment management system, prove the necessity and technical feasibility of the system, then make a basic introduction to the technical software and design ideas that need to be used in the design system, and finally realize the college students' employment management System and deployment runs use it.

Keywords: college student employment management system; springboot framework; MySQL database

Springboot college student employment management system

Abstract

In the information society, there is a need for targeted information access, but the expansion of access is basically the direction of people's efforts. Due to the deviation of the perspective, people can often obtain different types of information, which is also the most difficult subject for technology to overcome. Aiming at the problems of College Students' employment management system, this paper studies and analyzes the college students' employment management system, and then develops and designs the college students' employment management system to solve the problems.

The main functional modules of College Students' employment management system include system home page, site management (rotation map), user management (administrators, students, teachers and enterprise users), content management (news list, news classification list) and more management (message wall, notice announcement, recruitment information, resume information, student work Province, contract agreement, enterprise information, interview information and Industry Management), Adopting the object-oriented development mode for software development and hardware erection can well meet the needs of practical use, improve the corresponding software erection and program coding, take MySQL as the main storage unit of background data, and use springboot framework, Java technology and Ajax technology for business system coding and development, so as to realize 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 College Students' employment management system, this paper proves the necessity and technical feasibility of the system, then makes a basic introduction to the technical software and design ideas needed to design the system, and finally realizes the college students' employment management system and deployment and operation.

Key words: College Students' employment management system; Springboot framework; Mysql database

Table of contents

Chapter 1 Introduction

1.1 Research Background

1.2 Development Status

Chapter 2 Introduction to Related Technologies

2.1 Development Technology

2.2 Language Introduction

(1) Object-oriented

(2) Cross-platform

(3) Multithreading

2.3 HTML Web Technology

2.4 MVVM pattern

2.5 MySQL Description

Chapter 3 System Analysis

3.1 Feasibility Analysis

3.2 Analysis of Functional Requirements

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 Database Design

4.3.1 Database conceptual design

4.3.2 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 Administrator function module

5.5 Student front desk function module

5.6 Teacher function module

5.6 Enterprise function modules

Chapter 6 System Testing

6.1 The Importance of Software Testing

6.2 Research and selection of test cases

6.3 Test environment and test conditions

6.4 System operation

6.5 System Evaluation

6.5.1 System function evaluation

6.5.2 System technical evaluation

6.5.3 Systematic economic evaluation

Chapter 7 Summary and Outlook

references

thank you

  1. introduction
    1. Research Background

With the rapid development of computer, network and communication technology, the rapid development of the Internet has become an irresistible trend in today's society. The level of information is an important indicator of the degree of modernization of a country and society. The processing and utilization of information is the standard for measuring a country's economic development level and scientific and technological level. Talent is the key to the development of any industry. College students are synonymous with talents. How to recruit students with real talents is a concern of all enterprises. But they can't find ideal jobs, and they can't use their talents, which makes college students worry. The first category they enter society is work, and when it comes to job hunting, job fairs are probably the first thing most people think of. Although the job fair is one of the main ways to exchange talents, it is far from meeting the needs of reality.

For a limited time, the job fair is a face-to-face communication with college students. Although some job fairs are released in advance or other publicity methods, there are still many companies and college students who pass by, and some people have to give up some important things to participate in the job fair. Due to the large number of people participating in the job fair and the fluidity of the entire process, management is very difficult. There will be plenty of job fairs and limited booths. It is very difficult for businesses to meet students one by one, so human resources cannot be better allocated. In the real society, there is an urgent need for third parties to bridge the gap between enterprises and talents, and to make up for various deficiencies in recruitment. Under this condition, closely combining network advantages with recruitment, job fairs are developed.

    1. development status

With the advent of the network information age, online recruitment as a new form of recruitment has risen rapidly, and has quickly been supported and applied by most job fair participants and employers. The advantages of online recruitment are first reflected in providing a platform for mutual communication between job fair attendees and employers. The rise of online recruitment is also a big change in the concept and method of job fairs and recruitment compared with the past. With the rapid development of the Internet, the number of Internet users in China has grown rapidly, and the number of online recruiting users has also increased.

51job, Zhonghua Yingcai and Zhaopin are known as the three giants of China's online recruitment. Data show that the market revenue share of the three major recruitment websites reached 61.6%. Although the number and revenue scale of other industry-based, search-type, and social-type websites have increased, it is difficult to shake the online recruitment status of these three giants in the short term.

The needs of recruiting companies for information release, brand promotion, resume screening, and personnel initial test arrangement determine that subdividing recruitment websites will be the future development trend.

Compared with foreign employment systems, there is a big gap in professional marketing and telemarketing, template processing of personalized resumes, industry segmentation, full use of address books, and localized services. It can provide value-added services that satisfy customers. Like Monster, the income of its individual members even accounts for one-third of the total income, and domestic online recruitment companies can fully tap the potential from the existing scale.

It is foreseeable in the future that online recruitment will be further subdivided, and a powerful weapon to surpass homogeneous competition is to find market segments for specialized services. Online recruitment companies that are subdivided into regions and industries will have greater opportunities. They can get closer to users and provide localized services.

  1. Related technology introduction
    1. Development Technology

The front-end framework of this system adopts the popular progressive JavaScript framework Vue.js. Use Vue-Router and Vuex to realize dynamic routing and global state management, Ajax to realize front-end and back-end communication, and Element UI component library to make the page quickly form. Back-end part: use springboot as the development framework, and integrate MyBatis, Redis and other related technologies at the same time.

    1. language introduction

The Java computer programming language itself is different from the traditional C++ computer programming language. It is very simple and can be learned quickly. As an object-oriented language, its main features are:

object oriented

Its basic unit is the object, and the object contains properties and methods. Properties are used to describe objects, and methods are used to manipulate objects.

cross-platform

The software program written can be run and used on any computer without limitation due to different software and hardware conditions.

Multithreading

In an application program, two or more threads can exist at the same time, and these multiple threads can run concurrently, which saves time and improves software performance at the same time.

    1. HTML web technology

HTML is a commonly used language for making web pages, and it is generally used to make static pages. Its commands can reflect text information, link information, graphic information and table information, etc. It is now widely accepted and widely used on the Internet [5].

    1. MVVM mode

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. MySQL description

Now the MySQL database can support many users on the network, and it can also adapt to the deployment or configuration of customer service machines and servers. Our server and client machines here are actually a software concept, and the computer hardware we use is also There is no one-to-one correspondence with them [3].

MySQL is a very popular relational database management system, and its appearance has always been a leader. It is not only very powerful, but also very convenient to use, and MySQL's cross-platform capabilities are also very good. Software developers like it very much of these powerful advantages. Different from other relational databases, it has its own set of solutions for database management, and manages the database by setting corresponding permissions and roles for users. It can be seen that MySQL is a database management software suitable for high throughput, high reliability and high efficiency [4].

Advantage 1: In MySQL, users with different identities are set with different permissions to complete different business logics, which makes MySQL far exceed other relational databases in terms of security and integrity.

Advantage 2: MySQL can also support the data types of animation, graphics and sound, which shows that MySQL can also support multiple data types.

Advantage 3: MySQL can also be developed on multiple platforms, and various programming languages ​​for software development can realize the operation of MySQL database [5] [6].

  1. system analysis
    1. Feasibility Analysis

In terms of technology, the current mainstream springboot 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 tasks of this design are the homepage, homepage, site management (carousel map), user management (administrators, students, teachers, enterprise users) content management (news list, news classification list) in the college student employment management system. ) More management (message wall, notification announcement, recruitment information, resume information, student job province, contract agreement, enterprise information, interview information, industry management), etc., 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 college student employment management 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 practical application brought by the employment management system for college students The value of this aspect 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 college student employment management system are mainly divided into front-end users registering and logging in according to their own needs, browsing job information and applying for selected jobs. Background system administrators are divided into ordinary administrators and super administrators due to different responsibilities. Ordinary administrators mainly process application forms, while super administrators mainly process registered users, employment information, information classification lists, and employment information.

The system use case diagram is shown below.

 

Figure 3-1 System use case diagram

    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 seven aspects of the employment management system for college students, 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 the employment management system of college students, 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

  1. system design
    1. System architecture design

The architecture design of the undergraduate employment management system is 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 college student employment management system is generally divided into former student module, enterprise module, teacher module and administrator module.

The four 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. Database Design
      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 college student employment management system are as follows: user information table, job information table, student resume table, and enterprise information table.

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

contract_agreement

Field Name

type

length

not null

primary key

field description

contract_agreement_id

int

11

no

primary key

Contract Agreement ID

enterprise_name

varchar

64

yes

Company Name

student

int

11

yes

student

enterprise_industry

varchar

64

yes

Enterprise industry

person_in_charge

int

11

yes

principal

contract_agreement

varchar

255

yes

agreement

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

enterprise_information

Field Name

type

length

not null

primary key

field description

enterprise_information_id

int

11

no

primary key

Enterprise Information ID

enterprise_name

varchar

64

yes

Company Name

business_address

varchar

64

yes

company address

enterprise_industry

varchar

64

yes

Enterprise industry

company_profile

text

0

yes

company profile

enterprise_picture

varchar

255

yes

corporate image

person_in_charge

int

11

yes

principal

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

enterprise_users

Field Name

type

length

not null

primary key

field description

enterprise_users_id

int

11

no

primary key

Enterprise User ID

gender

varchar

64

yes

gender

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

user_id

int

11

no

User ID

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

industry_management

Field Name

type

length

not null

primary key

field description

industry_management_id

int

11

no

primary key

Industry Management ID

industry_name

varchar

64

yes

industry name

industry_number

varchar

64

yes

Industry code

industry_details

text

0

yes

Industry Details

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

interview_information

Field Name

type

length

not null

primary key

field description

interview_information_id

int

11

no

primary key

Interview Information ID

student

int

11

yes

student

enterprise_name

varchar

64

yes

Company Name

enterprise_industry

varchar

64

yes

Enterprise industry

person_in_charge

int

11

yes

principal

invitation_information

text

0

yes

invitation information

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

message_wall

Field Name

type

length

not null

primary key

field description

message_wall_id

int

11

no

primary key

Message wall ID

message_title

varchar

64

yes

Message title

message_time

date

0

yes

Message Time

message_person

int

11

yes

commenter

message_content

text

0

yes

Message content

cover

varchar

255

yes

the cover

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

notice_announcement

Field Name

type

length

not null

primary key

field description

notice_announcement_id

int

11

no

primary key

Notification Bulletin ID

announcement_title

varchar

64

yes

bulletin title

announcement_no

varchar

64

yes

Bulletin No.

release_time

date

0

yes

release time

announcement_content

longtext

0

yes

Announcement content

examine_state

varchar

16

no

Approval Status

recommend

int

11

no

Intelligent Recommendation

create_time

datetime

0

no

creation time

update_time

timestamp

0

no

update time

recruitment_information

Field Name

type

length

not null

primary key

field description

recruitment_information_id

int

11

no

primary key

Recruitment information ID

enterprise_name

varchar

64

yes

Company Name

business_address

varchar

64

yes

company address

enterprise_industry

varchar

64

yes

Enterprise industry

enterprise_picture

varchar

255

yes

corporate image

person_in_charge

int

11

yes

principal

company_profile

text

0

yes

company profile

professional_requirements

varchar

64

专业要求

age_requirements

varchar

64

年龄要求

character

varchar

64

性格

educational_requirements

varchar

64

学历要求

graduation_school_requirements

varchar

64

毕业学校要求

recruitment_occupation

varchar

64

招聘职业

certificate_requirements

varchar

64

证书要求

occupational_category

varchar

64

职业类别

type_of_work

varchar

64

工作类型

working_province

varchar

64

工作省份

working_years

varchar

64

工作年限

a_monthly_salary

varchar

64

月薪

is_it_wrapped

varchar

64

是否包住

working_hours

varchar

64

工作时间

compensation_and_benefits

varchar

64

薪酬福利

job_description

text

0

职业描述

hits

int

11

点击数

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

resume_information

字段名称

类型

长度

不是null

主键

字段说明

resume_information_id

int

11

主键

简历信息ID

enterprise_name

varchar

64

企业名称

enterprise_industry

varchar

64

企业行业

student

int

11

学生

student_resume

varchar

255

学生简历

person_in_charge

int

11

负责人

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

student

字段名称

类型

长度

不是null

主键

字段说明

student_id

int

11

主键

学生ID

gender

varchar

64

性别

personal_profile

varchar

64

个人简介

full_name

varchar

64

姓名

certificate

varchar

255

证书

age

varchar

64

年龄

major

varchar

64

专业

registered_residence

varchar

64

户籍地

nation

varchar

64

民族

education

varchar

64

学历

graduation_school

varchar

64

毕业学校

id_number

varchar

255

身份证号

awards

varchar

64

获奖情况

employment_intention

varchar

64

就业意向

social_practice

varchar

64

社会实践

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

student_work_province

字段名称

类型

长度

不是null

主键

字段说明

student_work_province_id

int

11

主键

学生工作省份ID

province_name

varchar

64

省份名称

number_of_students

int

11

学生数量

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

teacher

字段名称

类型

长度

不是null

主键

字段说明

teacher_id

int

11

主键

老师ID

gender

varchar

64

性别

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

user_id

int

11

用户ID

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用户注册流程图

用户注册界面如下图所示。

 

图5-2用户注册界面图

注册代码如下:

/**

     * 注册

     * @param user

     * @return

     */

    @PostMapping("register")

    public Map<String, Object> signUp(@RequestBody User user) {

        // 查询用户

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

        query.put("username",user.getUsername());

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

        if (list.size()>0){

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

        }

        user.setUserId(null);

        user.setPassword(service.encryption(user.getPassword()));

        service.save(user);

        return success(1);

}

/**

     * 用户ID:[0,8388607]用户获取其他与用户相关的数据

     */

    @Id

    @GeneratedValue(strategy = GenerationType.IDENTITY)

    @Column(name = "user_id")

    private Integer userId;

    /**

     * 账户状态:[0,10](1可用|2异常|3已冻结|4已注销)

     */

    @Basic

    @Column(name = "state")

    private Integer state;

    /**

     * 所在用户组:[0,32767]决定用户身份和权限

     */

    @Basic

    @Column(name = "user_group")

    private String userGroup;

    /**

     * 上次登录时间:

     */

    @Basic

    @Column(name = "login_time")

    private Timestamp loginTime;

    /**

     * 手机号码:[0,11]用户的手机号码,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "phone")

    private String phone;

    /**

     * 手机认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "phone_state")

    private Integer phoneState;

    /**

     * 用户名:[0,16]用户登录时所用的账户名称

     */

    @Basic

    @Column(name = "username")

    private String username;

    /**

     * 昵称:[0,16]

     */

    @Basic

    @Column(name = "nickname")

    private String nickname;

    /**

     * 密码:[0,32]用户登录所需的密码,由6-16位数字或英文组成

     */

    @Basic

    @Column(name = "password")

    private String password;

    /**

     * 邮箱:[0,64]用户的邮箱,用于找回密码时或登录时

     */

    @Basic

    @Column(name = "email")

    private String email;

    /**

     * 邮箱认证:[0,1](0未认证|1审核中|2已认证)

     */

    @Basic

    @Column(name = "email_state")

    private Integer emailState;

    /**

     * 头像地址:[0,255]

     */

    @Basic

    @Column(name = "avatar")

    private String avatar;

    /**

     * 创建时间:

     */

    @Basic

    @Column(name = "create_time")

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

    private Timestamp createTime;

    @Basic

    @Transient

    private String code;

}

    1. 登录模块的实现

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

登录流程图如下图所示。

 

图5-3登录流程图

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

 

图5-4用户登录界面

登录页面代码如下:

/**

     * 登录

     * @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;

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

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

            map.put("username", username);

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

        }

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

            map.put("email", email);

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

        }

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

            map.put("phone", phone);

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

        }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.select(groupMap, new HashMap<>()).getResultList();

        if (groupList.size()<1){

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

        }

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

        //查询用户审核状态

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

            String sql = "select examine_state from "+ userGroup.getSourceTable() +" WHERE user_id = " + byUsername.getUserId();

            String res = String.valueOf(service.runCountSql(sql).getSingleResult());

            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, "账号或密码不正确");

        }

}

5.4管理员功能模块

管理员登录,通过填写注册时输入的用户名、密码、角色、验证码进行登录,如图5-5所示。

 

图5-5管理员登录界面图

管理员登录进入大学生就业管理系统可以查看首页、站点管理(轮播图)用户管理(管理员、学生、老师、企业用户)内容管理(新闻列表、新闻分类列表)更多管理(留言墙、通知公告、招聘信息、简历信息、学生工作省份、合同协议、企业信息、面试信息、行业管理)系统管理等信息,如图5-6所示。

 

图5-6管理员功能界面图

用户管理,在用户管理页面中可以查看索引、用户名、姓名、性别、用户名、专业名称等信息,并可根据需要进行修改或删除等操作,如图5-7所示。

 

图5-7用户管理界面图

招聘信息管理,在招聘信息页面中可以查看企业名称、企业地址、企业行业、企业图片、负责人、招聘详情、企业简介等信息,并可根据需要进行修改或删除等操作,如图5-8所示。

 

图5-8招聘信息管理界面图

面试信息管理,在面试信息管理页面中可以查看索引、学生、企业名称、企业行业、负责人、邀请信息、创建时间等信息,并可根据需要进行查看修改或删除等操作,如图5-9所示。

 

图5-9面试信息管理界面图

5.5学生前台功能模块

学生登录进入大学生就业管理系统可以查看首页、新闻、发布留言、通知公告、招聘信息、留言墙等内容。如图5-10所示。

 

图5-10学生功能界面图

招聘信息管理,招聘信息管理页面中可以查看企业名称、企业行业、企业图片等信息进行相对应操作,如图5-11所示。

 

图5-11招聘信息界面图

5.6老师功能模块

老师登录进入大学生就业管理系统可以查看首页、学生管理、留言墙、通知公告、招聘信息、简历信息、学生工作省份等内容。如图5-12所示。

 

图5-12老师功能界面图

学生工作省份管理,学生工作省份管理页面中可以查看省份名称、学生数量等信息进行相对应操作,如图5-13所示。

 

图5-13学生省份界面图

5.6企业功能模块

企业登录进入大学生就业管理系统可以查看首页、内容管理、更多管理(企业合同、面试信息、企业信息、招聘信息、简历信息)等内容。如图5-14所示。

 

图5-14企业功能界面图

合同协议管理,合同协议管理页面中可以查看企业名称、学生、企业行业、负责人、合同协议下载等信息进行相对应操作,如图5-15所示。

 

图5-15合同协议管理界面图

  1. 系统测试

测试存在于软件开发进程中的最后一个阶段,它可以保证一个软件的开发质量是否符合设计者的初衷,也为程序的正式上线做了最后一道质量检测的工序。软件测试主要是控制各种条件、包括软件输出方式,使用模式和运行环境等,来评估一个系统或应用是否符合设计标准。在软件测试过程中,我们一般刻意的去制造错误和极端条件,不能仅依照正常模式允许,而是多去尝试那些意外的情况。

    1. 软件测试的重要性

只有在运行和维护阶段之前经历大量的测试的软件,才能说明它的质量是经得起检验的。最近计算机业界也都一致认为,测试应该存在于软件设计的每个阶段,因为越早发现错误,修复起来就越容易。

实际上,对于一个软件应用,错误是必然存在的,无论使用何种技术或手段,都不可能绝对的排除软件漏洞。测试是随着软件开发一同诞生的,两者是共同发展进步的。实际上,测试可以大幅度的降低维护的成本,如果一个漏洞在开发的早期就被发现,那么修复它的成本远比上线后再修复的成本要低得多。

    1. 测试实例的研究与选择

测试有白盒测试和黑盒测试两种方式。

其中,白盒测试是将软件看成一个透明的白盒子,按照程序的内部控制结构和处理技术逻辑来选定测试用例、软件系统测试的逻辑路径及过程需要进行管理测试,又称玻璃盒测试。因此白盒测试需要选择足够多的测试用例,覆盖尽可能多的代码来发现程序中的错误。

黑盒测试,也称为功能测试。它将需软件看作一个黑盒,像一个普通用户一样来模拟软件的使用流程。黑盒测试通过大量的输入边界值或错误数据,来检查是否可产生正确的输出。

本系统测试 主要选择黑盒测试,少量采用白盒测试。通过测试达到以下测试目的:

1.检查各大功能模块的运行,确保其能够正确运行,并检查各页面的完整性,保证页面完整。

2.检查各个接口是否可以正确地输入和输出,保证数据流通稳定可行。

3.检查数据结构,保证其和外部接口没有访问错误,访问顺利。

4.检查原计划的性能需求有没有完成,运行流畅。

本系统的测试用例(部分):

登录部分测试用例

编号

对象

项目

操作

预期结果

结果

1

登录

登录提示

使用正确的账号密码登录

成功登录

预期结果

2

登录提示

使用正确的账号但错误的密码登录

提示密码错误

预期结果

3

登录提示

使用错误的账号登录

提示不存在账户

预期结果

4

登录提示

不输入账号,点击登录

提示输入账号

预期结果

5

登录提示

输入账号但不输入密码点击登录

提示输入密码

预期结果

6

登录入口

已登录账号,查看登录入口

不显示登录入口

预期结果

    1. 测试环境与测试条件

处理器:Inter Core I7-4710MQ四核处理器

内存:4GB

硬盘:1T

操作系统:Windows 10

数据库:MySQL

6.4系统运行情况

全部测试用例都已通过(包括但不限于以上测试用例),且不存在漏洞,实现了论文开始时所作要求。本系统运行稳定,使用流畅,可以满足用户需求。

6.5系统评价

6.5.1系统功能评价

试运行后进行系统评估,可以认为该系统达到预定的目标要求,可以满足用户的需求,也满足了系统开发前所作目标。

6.5.2系统技术评价

系统在经过大量重复测试后运行十分稳定,安全实用,功能模块已经达到预定目标所需。

6.5.3系统经济评价

在规定的时间内实现系统的大部分功能,且满足要求,节省开发成本,有助于提高科学管理水平,符合本人经济情况。

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是大学生就业管理系统为核心展开的,主要是为了实现应届毕业生就业信息化管理和用户在线投递简历的需求。

大学生就业管理系统的开发是以Java编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了大学生就业管理系统的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了大学生就业管理系统所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。整个系统的开发过程中大量使用了Java相关的知识以及前端开发使用的html和javascript等,同时涉及到了很多开源框架和组件,例如后台系统中运用的MVC架构、Freemarker模板引擎等,前端运用的UI框架等。

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

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

参考文献

[1]王一竹.基于MySQL的图书馆信息管理系统设计[J].电脑编程技巧与维护,2022(01):93-95+116.DOI:10.16184/j.cnki.comprg.2022.01.003.

[2]刘学玉.JAVA编程语言在计算机软件开发中的应用[J].电子技术与软件工程,2022(01):57-60.

[3]陈洁.“MySQL数据库安全”课程教学方法优化分析[J].无线互联科技,2021,18(24):160-161.

[4]单树倩,任佳勋.基于SpringBoot和Vue框架的数据库原理网站设计与实现[J].电脑知识与技术,2021,17(30):40-41+50.DOI:10.14004/j.cnki.ckt.2021.2868.

[5]吴迪.Java编程语言在计算机软件开发中的应用[J].信息与电脑(理论版),2021,33(20):29-31.

[6]张翔.浅谈JAVA编程语言在计算机软件开发中的应用[J].电子元器件与信息技术,2021,5(10):204-205.DOI:10.19772/j.cnki.2096-4455.2021.10.095.

[7]曹瑞燕.Java语言在软件开发中的应用[J].信息记录材料,2021,22(10):96-97.DOI:10.16009/j.cnki.cn13-1295/tq.2021.10.045.

[8]喻佳,吴丹新.基于SpringBoot的Web快速开发框架[J].电脑编程技巧与维护,2021(09):31-33.DOI:10.16184/j.cnki.comprg.2021.09.013.

[9]向福川,方玉,刘浪,唐振云,练瑶.基于SpringBoot+Vue框架的协同育才系统设计与开发[J].现代信息科技,2021,5(14):5-7+12.DOI:10.19850/j.cnki.2096-4706.2021.14.002.

[10]蔡俊豪,王桂荣.Java在互联网的应用分析[J].电子技术,2021,50(06):44-45.

[11]Siyi Liu. Explore Java Language and Android Mobile Software Development[J]. International Journal of Frontiers in Engineering Technology,2021,3.0(2.0):

[12]秦蓉.基于Java语言的安卓软件开发研究[J].电子技术与软件工程,2021(05):44-45.

[13]谭敏,童宇,范强.高校就业管理系统的研究与设计[J].信息技术与信息化,2020(09):26-28.

[14]Kevin Kline. The Java Language Extension for SQL Server Is Now Open Source[J]. Database Trends and Applications,2020,34(4):

[15]Hu Xin,Yan Chaobing. Development and application of JAVA language development test evaluation system software[J]. Journal of Computational Methods in Sciences and Engineering,2020,20(4):

[16]熊永平.基于SpringBoot框架应用开发技术的分析与研究[J].电脑知识与技术,2019,15(36):76-77.DOI:10.14004/j.cnki.ckt.2019.4290.

[17]刘瑜琪,宋嘉祎.基于B/S的高校学生就业管理系统的设计与实现[J].信息与电脑(理论版),2019(09):83-84.

[18]李朋飞,杨威,张润东,王赫,尚双圆,董振杰.高校就业管理系统的设计与实现[J].电子测试,2019(01):93-94+118.DOI:10.16520/j.cnki.1000-8519.2019.01.038.

[19]金丽.高校就业管理系统的设计与研究[J].现代信息科技,2018,2(08):28-29+31.

[20]吕宇琛.SpringBoot框架在web应用开发中的探讨[J].科技创新导报,2018,15(08):168+173.DOI:10.16660/j.cnki.1674-098X.2018.08.168.

致谢

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.

Like+Favorite+Follow → private message to receive the source code and database
 

Guess you like

Origin blog.csdn.net/weixin_61498557/article/details/131164453