(with source code) springboot college student project declaration and management system - computer complete set 051744

College student project declaration and management system

Summary

With the advent of the Internet trend, all walks of life are considering using the Internet to promote themselves. The best way is to establish their own Internet system and maintain and manage it. In practical application, the working rules and development steps of the application software are used to build a project declaration management system for college students using Java technology.

This design mainly realizes the project application management system for college students with the advantages of humanization, high efficiency, and convenience, and completes functional modules such as expert management, teacher management, applicant management, and project application review management. The system communicates with the server through the browser to realize data interaction and change. Just use a computer and move your fingers to operate the system and realize data communication management. The design process of the whole system has fully considered the security, stability and reliability of data, and the operation process is simple. The system improves work efficiency and reduces errors and omissions in data storage through scientific management methods and convenient services.

The project application management system for college students uses the Java language and is developed using the JavaEE technology based on the MVVM model. It is written using the MyEclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and cooperates with the front desk HTML+ CSS technology completes the development of the system.

Keywords: project declaration; Java language; MySQL database

Project application and management system for College Students Abstract

With the advent of the Internet trend, all walks of life are considering using the Internet to promote themselves. The best way is to establish their own Internet system, maintain and manage it. In practical application, according to the working rules and development steps of the application software, Java technology is used to build the project management system for college students' application.

This design mainly realizes the college student application project management system integrating the advantages of humanization, high efficiency and convenience, and completes the functional modules such as expert management, teacher management, applicant management, project application and audit management. The system communicates with the server through the browser to realize data interaction and change. You can operate the system and realize data communication management by moving your fingers through a computer. The safety, stability and reliability of data are fully considered in the design process of the whole system, and the operation process is simple. Through scientific management and convenient service, the system improves work efficiency and reduces errors and omissions in data storage.

The college student application project management system uses Java language, uses Java EE technology based on MVVM mode for development, and uses MyEclipse 2017 CI 10 compiler. In terms of data, it mainly uses Microsoft's MySQL relational database as the data storage medium, and completes the system development with the foreground HTML + CSS technology.

Key words: Declared items; Java language; Mysql database

Table of contents

Chapter 1 Introduction 5

1.1  Project Background 5

1.2  Significance of development 5

1.3  Organizational structure of this paper 5

Chapter 2 Introduction to Related Technologies 6

2.1 J2EE Technology 6

2.2 MVVM pattern 6

2.3 B/S structure 7

2.4  Spring boot framework 7

2.5 MySQL database 8

Chapter 3 System Analysis 8

3.1  Feasibility Analysis 9

3.1.1  Technical Feasibility Analysis 9

3.1.2  Economic feasibility analysis 9

3.1.3  Operation Feasibility Analysis 10

3.2  Functional requirements analysis 10

3.3  Non-functional requirements analysis 10

3.4  Data Flow Analysis 11

Chapter 4 System Design 12

4.1  System Architecture Design 13

4.2  System function structure 14

4.3  Functional module design 15

4.4  Database Design 15

4.4.1  Conceptual model 16

4.4.2  Relational Model 16

4.4.3  Data Table 17

Chapter 5 System Implementation 21

5.1  Implementation of login module 21

5.2  Realization of User Subsystem Module 24

5.2.1  User home page module 24

5.2.2  Student Module 24

5.2.3  Teacher approval module 26

5.3  Implementation of the Administrator Subsystem Module 28

5.3.1  Teacher Management Module 28

5.3.2  Project declaration module 28

5.3.3  Expert Management Module 30

5.3.4  Item classification module 32

Chapter 6 System Testing 32

6.1  Test purpose 33

6.2  Testing process 34

6.3  Test results 35

Chapter 7 Summary and Outlook 36

Reference 37

Thanks 38

  1. introduction

1.1 Project Background

With the widespread application of computer technology and the sharp increase in the amount of information in modern society, the traditional artificial information management system is far from meeting the needs of fast-paced and efficient modern life. Outdated management technology has seriously hindered the exchange and sharing of information. At the same time, with the popularization of network technology, how to realize remote access and remote management of scientific and technological information through the network, so as to realize the exchange and sharing of information has become a top priority.

With the continuous development of various industries in society, in the face of a wide variety of data and reports, manual processing has been difficult to keep up with the pace of modern management. With the rapid development of computer and communication technology, higher requirements are put forward for project declaration management. requirements. Traditional management methods, methods and work efficiency can no longer adapt to new development needs, and cannot print out the required reports in a timely and accurate manner. Changing the traditional management mode as soon as possible and using modern means for scientific management has become an urgent problem for the entire enterprise management system. It can realize the whole process of application activities through it. With the vigorous development of the Internet, more and more organizations integrate the project application management system with the Internet to facilitate the communication and management of enterprise personnel. The project declaration management system is developed under such a social background.

The project declaration management system can greatly improve the management efficiency. The convenience and flexibility of the user's use are fully considered in the design and design. It can not only realize the efficient management and control of application information, but also meet the macro management needs of enterprise decision makers for projects. . Most importantly, it can directly reflect the status of enterprise projects and provide scientific basis for decision makers.

The project application management system is developed to deal with the increase in the number of project personnel and the increase in the amount of information, realize the modernization and networking of management, gradually get rid of the current manual management method of project application management, and improve the efficiency of project application management. It is hoped that this program can solve a series of functions such as project information storage, project query, input and project query, and provide

Provides query and update functions for each functional module, and these two functions are basically realized through stored procedures. 1.2development meaning

The evaluation of college students' project declaration is an important means to mobilize teachers' work enthusiasm and improve teachers' work efficiency, and it is an important link in the internal management of college students. The project application evaluation of college students originated in the United Kingdom in the 1970s. With the development of the new public management movement, it gradually expanded to the entire western countries and achieved good results. The development of project evaluation for college students in our country is relatively late, and gradually developed with the reform of the public institution system and the establishment of the socialist market economic system.

To distinguish the information materials of teachers and students, the management authority of users and administrators is a difficult point, especially the large number of users and the complex types of information materials, which need to be considered comprehensively. The research methods of this subject mainly use investigation method, experience summary method and comparative analysis method. Firstly, starting from the basic model and practical experience of designing and developing the management system for college students, I collect relevant materials through the library and the Internet, and combine the research status at home and abroad and the background of the subject to organize it in a planned, regular and systematic manner; Then use the comparative research method to improve your own system by analyzing individual cases and drawing on the development experience; finally use the experience summary method to analyze the current demand status of the scientific research management system in universities through practical inspections, and analyze the traditional college student project management methods. Summarize its advantages and disadvantages, and finally determine the design and development strategy and the best path of the project management system through the above research methods.

1.3 Organizational structure of this paper

The first chapter is the introduction, the beginning of this article, some textual descriptions of the research background and research significance of this topic.

The second chapter studies the development techniques and development tools adopted by the project management system for college students.

The third chapter is the system analysis part, including the description of the overall requirements of the system, the analysis of system requirements from a functional point of view, and the non-functional analysis of whether the system can be realized.

The fourth chapter is the system design part, an important part of this article, which provides the detailed design of the system architecture and the design description of some main functional modules.

The fifth chapter is the specific realization of the system, introducing the specific realization of each module of the system.

The sixth chapter tests and runs the system on the basis of the previous chapters.

Finally, the system is seriously summarized, so as to have a new prospect for the future.

  1. Related technology introduction
    1. J2EE technology

People can master many foreign languages, but what a computer scientist is proficient in is mostly programming languages, which are not human natural languages, such as C language, Java, Perl and so on. Since the "middleware" developed by different companies is not standardized enough, Sun launched J2EE and used this standard to solve the ills. It provides a good mechanism, allowing each layer to allow the corresponding server and components to run, making the system stable and usable, efficient in development, and easy to maintain.

    1. MVVM pattern

The MVVM model is a commonly used development model, which is mainly divided into M layer, V layer and C layer in terms of code implementation.

View (View) represents the user interaction interface. A web application may have many interfaces. In the MVVM mode, the view only deals with data collection, processing, and user requests, and does not include the processing of business processes and business processes. Handled by the Model.

Model (Model) is the processing of business processes/states and the formulation of business rules. The process of the model processing the business process cannot be seen by other layers. It is like a black box. After receiving the data requested by the view, it returns the final processing result. The main core of MVVM is the design of the business model. A typical application example is the popular EJB model. It further divides the model from the perspective of application technology implementation in order to make full use of existing components, but it cannot be used as a A framework for applying design models.

The controller (Controller) can be understood as receiving the user's request, and then the view and the model are matched together to complete the user's request together. It has a very obvious role in dividing the control layer, and can clearly tell you that it is a distributor, which model and view to choose, and what kind of request from the user can be completed. The control layer does not do all the data processing, for example: the user clicks a connection, after the control layer receives the request, it does not process the business information, it just transmits the user's information to the model, and tells the model what to do, and then chooses the one that meets the requirements The view is returned to the user.

    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. Spring boot framework

The Spring framework is an open source application framework on the Java platform that provides a container with inversion of control features. Although the Spring framework itself has no restrictions on the programming model, its frequent use in Java applications made it so popular that it was later used as a supplement or even a substitute for the EJB (EnterpriseJavaBeans) model. The Spring framework provides a series of solutions for development, such as using the core features of inversion of control, and implementing inversion of control through dependency injection to realize the containerization of the management object life cycle, using aspect-oriented programming for declarative transaction management, and integrating A variety of persistence technologies manage data access, provide a large number of excellent web frameworks to facilitate development, and so on. The Spring framework has the feature of inversion of control (IOC). IOC is designed to facilitate project maintenance and testing. It provides a method for unified configuration and management of Java objects through the Java reflection mechanism. The Spring framework uses the container to manage the life cycle of objects. The container can configure objects by scanning XML files or specific Java annotations on classes. Developers can obtain objects through dependency lookup or dependency injection. Aspect Oriented Programming(AOP) framework, the Spring AOP framework is based on the proxy mode, and can be configured at runtime; the AOP framework is mainly modularized for the cross concerns between modules. The AOP framework of the Spring framework only provides basic AOP features. Although it cannot be compared with the AspectJ framework, it can also meet the basic needs through integration with AspectJ. Functions such as transaction management and remote access under the Spring framework can be realized by using Spring AOP technology. Spring's transaction management framework brings an abstraction mechanism to the Java platform that enables local and global transactions, as well as nested transactions, to work with savepoints and in almost any environment on the Java platform. Spring integrates multiple transaction templates. The system can configure transactions through transaction templates, XML or Java annotations, and the transaction framework integrates functions such as messaging and caching. Spring's data access framework addresses common difficulties developers encounter when using databases in their applications. It not only provides support for all popular data access frameworks such as Java: JDBC, iBATS/MyBATIs, Hibernate, Java Data Objects (JDO), ApacheOJB and Apache Cayne, but also can be used with Spring's transaction management to provide data access Flexible abstraction. The Spring framework initially did not intend to build its own Web MVC framework . During the development process, its developers believed that the separation between the presentation layer and the request processing layer of the existing Struts Web framework and between the request processing layer and the model was not enough, so they created Spring MVC.

    1. MySQL database

MySQL has been updated many times, and the functional level has been very rich and perfect. From MySQL4 to version5, a relatively large update has been made, and it has achieved good practical application results in actual commercial use. The latest version of MySQL supports compression of information, and at the same time, encryption can better meet the needs of information security. At the same time, after multiple updates of the system, the mirroring function of the database itself has also been greatly enhanced, the smoothness of operation and ease of use have been greatly improved, and the use and creation of drivers are also more efficient and faster. The biggest change is the optimization of the display of spatial information, which makes it easier to label and calculate coordinates on the application map. The powerful backup function also ensures that users will feel more at ease during the use process, and the supported Office features also support users' self-installation and use. The display form of information has also been greatly updated, and two very useful display areas have been added, one is the information area, which has classified tables and text, and the display of the interface is more refreshing and specific. The second is the information control of the instrument, which can display information in the instrument information area and compare multiple information at the same time, which brings great convenience to the actual use of users.

In the actual implementation process of the arena venue reservation system designed in this paper, the main reason for choosing the MySQL database is that there will be a large number of databases that are frequently operated during the application and development of the enterprise application system, and the data security The sexual requirements are also very high. Based on these factors, MySQL with a relatively high safety factor was finally selected to store and operate the background data of the arena venue reservation system.

  1. system analysis
    1. Feasibility Analysis

This design is based on the B/S mode, using Java and JSP technologies using MySQL database and Myeclipse. The overall feasibility is divided into the following three aspects.

      1. Technical Feasibility Analysis

The so-called technical feasibility refers to whether the functions planned in the early stage can be satisfied within a limited time. Whether there will be problems that cannot be solved in the development and design. Whether the completed project can be well applied, if there are shortcomings, whether there is great difficulty in later maintenance. After evaluating the system, it was determined that existing technology could achieve the goals. Using JSP technology to realize dynamic pages, embedding low-dependency design patterns, flexible databases, and stable servers, the operating efficiency of the entire system is greatly improved. It can be seen that achieving the goal at the technical level is not a nonsense.

      1. Economic Feasibility Analysis

Most of the tools used in the project are currently popular open source and free, so in the early stage of development, the funds used for the project will be greatly reduced, and the development of the software will not be affected by the funds during the project start-up period, so It is still economically feasible. Try to use the least cost to meet the needs of users. Save funds for labor costs and equipment costs. It will go further and further on the road of paperless and high efficiency.

      1. Operational Feasibility Analysis

The operation of this system to realize the function is very simple. The common configuration of ordinary computers can run this software, and as long as you have a rough understanding of the basic common sense of computer use, you can use this software smoothly. The computer has the ability to connect to the Internet and can access the system normally. It does not require the operator to have any superb ability. It only needs to understand the business process and operate correctly according to professional knowledge. Therefore, the university scientific research project management system is operationally feasible. .

    1. Functional Requirements Analysis

Before system development and design, you should make a preliminary idea of ​​the functions, know what sections the management system has, what functions each section has, whether the overall design meets the needs of users, and then conduct a detailed analysis and summary of the developed system functions , so as to design a complete system and implement it. Communication analysis of users and developers to achieve the best understanding and make the system function to the best.

The teacher use case diagram is shown below.

 

Figure 3-1 Teacher use case diagram

The administrator use case diagram is shown below.

 

Figure 3-2 Administrator use case diagram

The expert use case diagram is shown below.

 

Figure 3-3 Expert use case diagram

After analyzing the requirements of the college student project application management system, the whole system is mainly divided into two parts: administrators, teachers, and experts. The branch functions of each module are different. Describe the function as follows:

Teacher Module:

Teacher login main interface: Teacher users can enter the teacher account interface after correctly filling in the user name and password on the main login interface. Teacher users can first view all project declarations in previous years by year. At the same time, you can check the declaration status of the project declaration of the students you tutor and release information to the students you tutor.

Expert Module:

Expert login main interface: Expert users can enter the expert account interface after correctly filling in the user name and password on the main login interface. The expert account can first view all projects pending review, and can also view all project declarations in previous years by year. And be able to review the project according to the review tasks arranged by the administrator, and submit the review results.

Admin module:

Administrator main interface: Administrator users can enter the administrator account interface after correctly filling in the user name and password on the main login interface. The administrator account can add, delete, modify, and check student accounts, teacher accounts, expert accounts, and project declarations. At the same time, you can also specify which experts will review the project application.

    1. Non-Functional Requirements Analysis

There are many non-functional requirements of the system, such as performance requirements, maximum number of users that can be carried, stability, and usability requirements. The analysis of this system takes into account the requirement of ease of use, because the system is used by people, so it is necessary to fully consider the user experience from the user's point of view, so that the system is easy to understand, easy to use and easy to operate.

    1. Data Flow Analysis

The zero-level data flow chart includes modules such as login, user function, and retrieval maintenance. The data used in the login module stores user account documents, and the storage required by the user function module is the data file of each user function module. The retrieval maintenance uses the above Data documents are retrieved by keywords.

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

 

Figure 3-2 System data flow diagram (zero layer)

The first-level data flow chart is a refinement of the zero-level data flow chart, subdividing login into filling in login data and improving data, and subdividing user functions into basic user functions and main user functions.

The layer-by-layer data flow diagram of the system is shown in the figure below.

 

Figure 3-3 System data flow diagram (one layer)

The second-tier data flow is the refinement of filling in login information and user functions in the first-tier data flow diagram. That is: fill in the login information and refine it into filling information, background review, and user functions into operations such as applicant, project name, project classification, designated expert, project number, approval teacher, project details, and approval status.

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

 

Figure 3-4 System data flow diagram (second floor)

  1. system design
    1. System architecture design

At present, the main data access method of the B/S system is: the user can enter the system through the browser page, and the system can automatically process the request sent by the user to the server. The processing request is carried out in the background of the system. Perform corresponding operations on the page, and you can see the processing results delivered by the server. The project application management system for college students is mainly divided into three layers of architecture design: view-model-control. In the view layer, it mainly operates the data fed back and displayed from the server to the client. In the model layer, it mainly deals with related business logic, data integration, etc., and the final control layer is between the view and the model. It is to adjust the relationship between the two layers and finally implement the data transmission.

The system architecture diagram is shown in the figure below.

 

Figure 4-1 System architecture diagram

    1. System function structure

The purpose of system design is to analyze all the functional structures included in the system, and make preparations for developers to design, develop and implement the system. After the preliminary demand investigation, analysis and sorting, the determined overall demand mainly includes multiple modules, namely: expert management, teacher management, student management, project classification management, instructor management, teacher approval, expert review management, guidance Expert management. The overall role of the system is divided into three parts, one is the teacher, the other is the expert, and the last is the administrator. The authority distribution is also obvious. In addition to browsing information, teachers also have the authority to query and manage their own account information, teacher approval, project classification, project name, project number, project details, approval teacher, approval status, etc.; management Members are the highest authority holders.

The functional structure diagram of the system is shown in the figure below.

Figure 4-2 System function structure diagram

 

    1. Functional module design

User Management Module

This module is designed for all users to log in. For example, ordinary users such as teachers can only perform their own common function operations (such as personal information modification) after logging in. Administrators have different permissions after logging in, and administrators cannot exceed permissions. The super administrator can manage the data of the entire system, mainly the user's login authority and the user's operation authority in the system after login.

Expert Module

There is an audit relationship between experts and project declarations, and the relationship is one-to-many. According to the project application number, the project application data is transferred to the audit data. The operator is an expert, and then generates an audit list. The expert can view the personal historical audit list and destroy the data. .

teacher module

The teacher enters the project declaration data, clicks the project declaration input button, fills in the project declaration data to be entered in turn, clicks the submit button, submits the data to the database, and then refreshes the project declaration data page, there are delete and edit buttons on the right of each data, to Complete the corresponding delete and update functions.

student module

There is an audit relationship between experts and students, and the relationship is one-to-many. According to the project number, the project data is transferred to the audit data. The operator is an expert, and then generates an audit list. The expert can view the personal historical audit list and destroy the data.

Teacher Approval Module

The teacher enters the project declaration data, clicks the project declaration input button, fills in the project declaration data to be entered in turn, clicks the submit button, submits the data to the database, and then refreshes the subject data page, and there are delete and edit buttons on the right of each data, To complete the corresponding delete and update functions.

    1. Database Design
      1. conceptual model

For a system to be developed, ER diagrams allow others to understand the transactions of the system and the relationships between them faster and easier. According to the conclusions drawn in the system analysis stage, it is determined that there are multiple entities in the scientific research project management system of universities, which are students, teachers, administrators, project declarations, and applicants.

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

 

Figure 4-4 System overall ER diagram

      1. relational model

Administrator ( administrator id , username, password, account number)

Expert ( expert id , nickname, password, user name, expert name, address, gender, mobile phone number, photo, email)

Teacher ( teacher id , teacher ID, password, teacher name, gender, photo, mobile phone number, email)

Students ( student id , student number, password, student name, grade, gender, nickname, mobile phone number, email)

Project declaration ( project declaration id , name of applicant, project name, project number, project details, instructor, declaration date)

Project classification ( project classification id , classification name, classification number, classification picture, classification details, adder,)

Teacher approval ( teacher approval id , project name, project classification, project number, applicant, project details, approval teacher, approval status, teacher comments)

Designated expert ( designated expert id , project name, designated expert, project number, project classification, approval teacher, project details, approval status, application date)

      1. data sheet

The logical structure of the database is to describe the ER diagram in the database with specific fields. Use fields and data type descriptions to materialize object characteristics, and finally form a database table structure with certain logical relationships. Part of the data structure table required by the university scientific research project management system is shown in the following table.

designated_experts表:

Field Name

type

length

not null

primary key

field description

designated_experts_id

int

11

yes

yes

Designated expert ID

entry_name

varchar

64

no

no

project name

designated_experts

int

11

no

no

appointed expert

item_no

varchar

64

no

no

Item Number

item_classification

varchar

64

no

no

Types of section

approval_teacher

int

11

no

no

review teacher

project_details

text

0

no

no

project details

approval

varchar

64

no

no

Approval status

declaration_date

varchar

64

no

no

declaration date

declarant

int

11

no

no

declarer

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

expert table:

Field Name

type

length

not null

primary key

field description

expert_id

int

11

yes

yes

Expert ID

full_name

varchar

64

no

no

Name

address

varchar

64

no

no

address

gender

varchar

64

no

no

gender

career_life

longtext

0

no

no

resume

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

expert_review table:

Field Name

type

length

not null

primary key

field description

expert_review_id

int

11

yes

yes

Expert Review ID

entry_name

varchar

64

no

no

project name

item_classification

varchar

64

no

no

Types of section

item_no

varchar

64

no

no

Item Number

declarant

int

11

no

no

declarer

project_details

text

0

no

no

project details

approval_teacher

int

11

no

no

review teacher

approval

varchar

64

no

no

Approval status

review

varchar

64

no

no

Review situation

review_expert

int

11

no

no

review expert

expert_comments

text

0

no

no

Expert comments

declaration_date

varchar

64

no

no

declaration date

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

instructor_ table:

Field Name

type

length

not null

primary key

field description

instructor_id

int

11

yes

yes

Instructor ID

job_number

varchar

64

yes

no

Job number

gender

varchar

64

no

no

gender

date_of_birth

varchar

64

no

no

date of birth

full_name

varchar

64

no

no

Name

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

item_classification table:

Field Name

type

length

not null

primary key

field description

item_classification_id

int

11

yes

yes

Item Category ID

classification_name

varchar

64

no

no

Category Name

classification_number

varchar

64

yes

no

classification number

classified_picture

varchar

255

no

no

Category pictures

classification_details

longtext

0

no

no

Category details

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

student table:

Field Name

type

length

not null

primary key

field description

student_id

int

11

yes

yes

student ID

student_number

varchar

64

yes

no

student ID

grade

varchar

64

no

no

grade

gender

varchar

64

no

no

gender

full_name

varchar

64

no

no

Name

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

project_declaration表:

字段名称

类型

长度

不是null

主键

字段说明

project_declaration_id

int

11

项目申报ID

entry_name

varchar

64

项目名称

item_classification

varchar

64

项目分类

item_no

varchar

64

项目编号

declarant

int

11

申报人

project_details

varchar

255

项目详情

instructor

int

11

指导老师

declaration_date

varchar

64

申报日期

examine_state

varchar

16

审核状态

recommend

int

11

智能推荐

create_time

datetime

0

创建时间

update_time

timestamp

0

更新时间

  1. 系统实现
    1. 登录模块的实现

系统的登录窗口是用户的入口,用户只有在登录成功后才可以进入访问。通过在登录提交表单,后台处理判断是否为合法用户,进行页面跳转,进入系统中去。

登录合法性判断过程:用户输入账号和密码后,系统首先确定输入输入数据合法性,然后在login.jsp页面发送登录请求,调用src下的mainctrl类的dopost方法来验证。

用户登录模块的IPO如下所示:

输入:用户名和密码。

处理:

1)检测用户输入的账号、密码是否正确及在数据库已对应存在。

2)从数据库中提取记录,并储存在本地的session中(timeout默认=30min)。

3)根据用户名,将其显示在系统首页上。

输出:是否成功的信息。

登录流程图如下所示。

 

图5-1登录流程图

系统登录界面如下所示。

 

图5-2系统登录界面

登录页,首先传入"username"、"email"、"phone"、"password",用户可通过用户名、邮箱、手机号进行登陆,通过判断resultList来确定查询结果,然后执行查询用户组UserGroup,用户组里面不存在,依然报“用户不存在”,执行完以上代码,最后涉及到用户带有“审核”的,会查询examine_state(用户的审核状态),数据库表user_group中含有source_table和source_field进行查询,以上步骤完成,对输入的密码进行存储Token到数据库,匹对账号和密码,数据库中的AccessToken为令牌,用于身份认证,其代码如下:

/**

     * 登录

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

        }

}

用户子系统模块的实现

      1. 用户首页模块

系统呈现出一种简洁大方的首页:界面简约、鳞次栉比,用户能轻车熟路的使用。出于对系统使用群体广泛的顾虑,应有良好性能的后台。

如下图所示为系统的首页界面。

 

图5-3系统首页界面

      1. 学生模块

学生项目审核过程中,首先使用getmap(id,"xinxi"),通过项目申报ID得到项目申报数据,将项目申报数据赋值给项目申报审核,调用CommDAO的insert方法将审核数据插入审核表中,最后查看个人历史项目申报审核记录,可以销毁历史审核数据。

学生模块流程图如下所示。

 

图5-4学生模块流程图

学生界面如图所示。

 

图5-5学生界面

项目申报管理界面如图所示。

图5-6项目申报管理界面

      1. 教师批审模块

教师批审过程中,首先使用getmap(id,"xinxi"),通过项目ID得到项目申报数据,将项目数据赋值给教师审核,调用CommDAO的insert方法将审核数据插入审核表中,最后查看个人历史学生项目审核记录,可以销毁历史审核数据。

教师审批流程图如下所示。

 

图5-7教师批审流程图

教师批审界面如图所示。

 

图5-8教师批审界面

专家复审界面如图所示。

 

图5-9专家复审界

    1. 管理员子系统模块的实现
      1. 老师管理模块

老师在yhzhgl查看教师信息,先使用sql语句查询出所有教师表的数据,然后调用PageManager.getPages(url,4,sql, request ),返回一个ArrayList的对象,在for循环里,使用jsp得到每个ArrayList对象的数据,在jsp页面中解析ArrayList对象,得到其各个键值对的值。

教师管理界面如下图所示。

 

图5-10教师管理界面

      1. 项目申报模块

用户点击登录填写账号信息登录后,由后台通过Freemarker取出session作用域中的用户信息进行动态渲染,例如,邮箱、电话号码、用户名等等。同时页面上会显示修改个人信息和修改密码的按钮,这时客户可以修改自己的登录密码以保障账号的安全性,防止被人窃取账号,通过UserController.java的updatePassword()实现,同时也可以根据自己的个人信息是否变动做出相应的修改,通过updateUserInfo()实现。

项目申报流程图如下所示。

 

图5-11项目申报流程图

 

图5-12项目申报界面

      1. 专家管理模块

添加课题申报信息时,输入必填字段后,表现层的KetishenbaoController接受传过来的课题申报信息参数,再调用KetishenbaoController类的addKetishenbao方法,经过KetishenbaoService业务层到KetishenbaoMapper持久层的处理,完成对整个添加课题申报信息的操作。addKetishenbao方法也和用户管理中的addUser方法类似,同时做添加和修改工作。

修改课题申报信息时,选择需要修改的课题申报进行修改,调用KetishenbaoController控制器的editKetishenbao方法,拿到该课题申报原本的信息并显示到页面,管理员再对需要修改的课题申报信息字段进行修改,完成后调用addKetishenbao方法,调用业务层的updateByKey方法,更新数据库的课题申报信息表的数据。

指定专家流程图如下所示。

 

图5-13指定专家流程图

指定专家界面如下图所示。

 

图5-14指定专家界面

专家复审界面如下图所示。

 

图5-15专家复审界面

      1. 项目分类管理模块

删除项目分类时,选择需要删除的项目图片进行删除,把主键的uId传到KetijietiController控制器,再调用控制器的deleteKetijieti方法,数据经过KetijietiService业务层解析和处理,请求KetijietiMapper持久层调用deleteByPrimaryKey方法操作数据库将课题结题数据从数据库中删除。

查找项目分类时,输入需要查找的项目名称,调用getData方法获取所有数据并且进行分页,把获取到的所有数据显示到视图上,这时候只需要用脚本方法便能快速查找,不涉及对数据库操作。

项目分类管理流程图如下所示。

 

图5-16项目分类流程图

项目分类界面如下图所示。

 

图5-17项目分类界面

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

在对该系统进行完详细设计和编码之后,就要对大学生项目申报管理系统的程序进行测试,检测程序是否运行无误,反复进行测试和修改,使之最后成为完整的软件,满足用户的需求,实现预期的功能。

    1. 测试过程

在软件的测试过程中,通常测试人员需要针对不同的功能模块设计多种测试用例。通过测试用例能够及时发现代码业务逻辑上是否与真实的业务逻辑相对应,及时发现代码上或逻辑上的缺陷,以此来来完善系统,提高软件产品的质量,使软件具有良好的用户体验。

登录测试用例表如下所示。

表6-1登录测试用例

测试性能

用户或操作员登录系统

用例目的

测试用户或操作员登录系统时功能是否正常

前提条件

进入用户登录页面或操作员登录页面

输入条件

预期输出

实际情况

各项信息不予填写,直接点击登陆按钮

不允许登录,提示填写账号相关信息

一致

填写错误的登录名或密码后点击登录系统

提示用户名或密码错误,要求重新填写进行登录

一致

填写与验证码信息不一致的信息

系统显示出提示信息,表明验证码错误,要求重新填写

一致

课题申报审核测试用例表如下所示。

表6-2课题申报审核测试用例

测试性能

用户进行课题申报审核的操作

用例目的

测试用户进行课题申报审核操作时,该功能是否正常

前提条件

用户进入课题申报详情页,该课题申报能够被审核

输入条件

预期输出

实际情况

对着某课题申报点击“审核”按钮

界面跳转至审核界面

一致

在审核界面,输入必填项,点击“提交”按钮

提示“审核成功”,并返回上一级界面

一致

在审核界面,填写审核表单的时候未输入完整,点击“提交”按钮

提示“审核失败”

一致

课题申报管理测试用例表如下所示。

表6-3课题申报管理测试用例

测试性能

课题申报相关信息管理功能

用例目的

测试系统操作者对课题申报相关信息进行管理的功能是否正常

前提条件

登录系统进入相关管理页面

输入条件

预期输出

实际情况

进入课题申报管理界面,点击“录入”按钮,填写所有必填项,点击提交

提示“录入成功”,并返回查询界面

一致

进入课题申报管理界面,点击“录入”按钮,未填写一个或者多个必填项,点击提交

提示“录入失败”,请填写必填项

一致

进入课题申报管理界面,选择要修改的一条数据,点击该条数据后面的“修改”按钮 

节目跳转至修改界面

一致

在修改界面,修改可修改项后,点击“提交”按钮

提示“修改成功”,并返回查询界面

一致

进入课题申报管理界面,点击某条数据后面的删除按钮

提示“是否要删除该数据”,如果用户点击“确定”按钮,则成功删除该条数据,并提示“删除成功”,之后返回查询界面

一致

    1. 测试结果

经过对此系统的测试,得出该系统足以满足用户日常需求,在功能项目和操作等方面也能满足操作员对于其他用户的管理。但是,还有很多功能有待添加,这个系统仅能满足大部分的需求,还需要对此系统的功能更进一步的完善,这样使用起来才能更加的完美。

  1. 总结与展望

通过大学生项目申报管理系统的开发,本人巩固了之前学过的知识,如今将平时所学到的知识融合在设计中,在设计过程中,做了很多的准备,首先,在数据库系统的设计过程中,尤其是在数据库的工作原理、工作特点,对其深刻的讨论,与此同时,对于小型站点来说,最好服务器的选择,其次,利用所学的知识点分析所做的系统,并在此基础上设计。

目前本系统已经上线,正在试运行阶段,用户反馈良好,基本完成用户所需,试运行过程中没有出现阻断性问题,有一些不足和小问题也及时予以修正,系统上线后,为了保证数据的安全性,对系统进行了备份操作,系统备份是每两个月备份一次,数据库备份为每周备份一次,系统部署在租赁的云平台服务器中。

本次系统上线成功后,得到了用户的高度认可,但是在功能上和性能上还需做进一步的研究处理,使其有更高的性能和更好的用户体验。

系统在以后的升级过程中,需要解决一系列用户所提出的问题,例如打印过程中如何避免浏览器的兼容性问题,大量用户访问时,如何保持较高的响应速度,在系统今后的升级过程中将着重解决这些安全性问题。

参考文献

[1]赵保同.徐州工程学院大学生创新创业基金项目管理系统设计研究[J].科技与创新,2021(22):107-108.DOI:10.15913/j.cnki.kjycx.2021.22.045.

[2]刘灿嘉,彭红杏.地方政府专项债券项目前期申报策划对策建议[J].山西农经,2021(21):184-186+192.DOI:10.16675/j.cnki.cn14-1065/f.2021.21.072.

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

[4]吴晨旭,王笑斌,段凯歌.基于JavaEE的大学生创新创业项目管理平台的设计与实现[J].物联网技术,2021

[5]李光达.浅谈大创项目对大学生创新能力的培养[J].教育教学论坛,2021(27):9-12.

[6]张玉波.高校大学生创新创业能力培养的研究与实践[J].安徽职业技术学院学报,2021,20(02):76-80.

[7]侯天顺,裴振伟.大学生科技创新项目申报指导工作的探讨[J].中国林业教育,2021,39(03):1-4.

[8]杨长德,牛昆,杨小龙,蔡新胜.采矿工程专业学生大创项目申报与研究——以浅埋深大采高首采工作面矿压变化规律研究为例[J].黑龙江科学,2021,12(07):76-77.

[9]吴丽萍.大学生创新训练项目对提高本科毕业论文的影响——以西北政法大学为例[J].高教学刊,2020(28):43-45.

[10]赵娟.大学生创新创业训练计划项目信息化管理研究——以四川文理学院为例[J].产业科技创新,2020,2(18):103-105.

[11]周方遒,高艳.基于专业课培养大学生创新能力路径探究[J].辽宁工业大学学报(社会科学版),2020

[12]闵树琴,陈芳.经济学类大学生科研创新能力体系构建与实现路径[J].安徽电子信息职业技术学院学报,2020,19(02):47-51.

[13]贡璐,吕杰,陆海燕.以大学生创新训练计划项目为平台的本科创新型人才培养实践[J].教育教学论坛,2020(09):72-73.

[14]Shanshan Wang,Ziping Zhao,Yu Qiao. Application of Genetic Algorithms in Project Declaration[J]. Journal of Physics: Conference Series,2019,

[15]Yifei Cong,Bin Zou. Design and Realization of the declaration of the project based on Struts framework[C]//Proceedings of 2017 International Conference on Advances in Materials,Machinery,Electrical Engineering(AMMEE 2017).Proceedings of 2017 International Conference on Advances in Materials,2017:347-351.

thank you

With the completion of the design, the college career is coming to an end. The time in college is the time I cherish the most. I have learned a lot and grown a lot during the time in college. Every memory during this time is engraved in my mind. Thanks to the students who studied and grew up together, and the teachers who taught me during the growth process, I am very grateful for your company.

First of all, I would like to thank my instructor. The completion of the design is inseparable from a series of guidance from the teacher. During the completion of the graduation project, the teacher gave many pertinent suggestions. It is precisely because of the teacher's meticulous work attitude that my design can be successfully completed.

Finally, I would like to thank every teacher who taught me during my college career. You have taught me a wealth of knowledge and taught me how to deal with and solve problems when I encounter them. Thank you for your help and support.

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

Guess you like

Origin blog.csdn.net/ID3461074420/article/details/131080049