(Source code attached) Python Lost and Found WeChat Mini Program Graduation Project 33322

Design and implementation of Django lost and found WeChat applet

Summary

In the information society, there is a need for targeted ways to obtain information, but the expansion of the ways is basically the direction that people strive for. Due to deviations in the perspective, people can often obtain different types of information, which is also the most difficult problem for technology to overcome. subject. In view of problems such as lost and found, we conduct research and analysis on lost and found, and then develop and design a lost and found WeChat applet to solve the problem.

Lost and Found WeChat Mini ProgramThe main functional modules include:User registration management, Notice of finding items, inspiration for finding items, Application for finding items, News information, etc., adopting an object-oriented development model for software development and hardware installation can well meet the needs of actual use. , perfected the corresponding software setup and program coding work, using Python programming language, MySQL database, and Ajax asynchronous interaction to realize all functions of this system. This report first analyzes the background, role, and significance of the research, laying the foundation for the rationality of the research work. Analyze the requirements and technical issues of the lost and found WeChat applet, prove the necessity and technical feasibility of the system, and then give a basic introduction to the technical software and design ideas that need to be used to design the system, and finally realize the lost and found WeChat applet and deployment run using it.

Keywords: lost and found; Django framework; MySQL database

Design and implementation of Django lost and found platform

Abstract

In the information society, there is a need for targeted access to information, but the expansion of access is basically the direction people are striving for. Due to the deviation in perspective, people often can obtain different types of information, which is also the most difficult topic for technology to overcome. Conduct research and analysis on lost and found items and other issues, and then develop and design a WeChat widget for lost and found items to solve the problem.

The main functional modules of the lost and found WeChat applet include: user registration management, found and found announcements, found and found revelations, found and found applications, news and information, etc. The object-oriented development model is adopted for software development and hardware installation, which can well meet the actual needs of use, improving the corresponding software installation and program coding work, using Python programming language, MySQL database, Ajax asynchronous interaction realizes all the functions of this system. This report first analyzes the background, role, and significance of the research, laying a foundation for the rationality of the research work. Analyze the various requirements and technical issues of the lost and found WeChat applet, prove the necessity and technical feasibility of the system, and then provide a basic introduction to the technical software and design ideas needed to design the system. Finally, implement the lost and found WeChat applet and deploy and run it.

Key words:Lost and Found; Django framework; MySQL database

Table of contents

Chapter 1 Introduction

1.1 Research background

1.2 Opening situation

1.3 Research method

Chapter 2 Introduction to related technologies

2.1 PycharmSimplification

2.2 MySQLDescription

2.3 PythonProgramming Language

2.4 DjangoStile

2.5WeChat Opener Tools 

Chapter 3 System Analysis

3.1 Feasibility analysis

3.2 Functional Requirements Analysis

3.2.1 Front-end user function

3.2.2 Backend administrator function

3.3 Non-functional requirements analysis

3.4 Security Requirements Analysis

3.4.1 Systematic safety

3.4.2 Data Security

3.5 ​Several flow analysis

Chapter 4 System Design

4.1 System structure design

4.2 Overall system design

4.3 统统 Functionality设计

4.4 Database Design

4.4.1 Data requirements analysis

4.4.2 Quantity table design

Chapter 5 System Implementation

5.1 Implementation of database access layer

5.2 Implementation of registration module

5.3 Implementation of login module

5.4 Implementation of user data modification module

5.5Recruitment AnnouncementImplementation of Management Module 

5.6 ProductInformationManagement model implementation

5.7Applying for property collectionImplementation of management module 

Chapter 6 System Testing

6.1 Purpose of exam

6.2 ability test

6.3 Performance test

Chapter 7 Summary and Outlook

references

Acknowledgments

  1. introduction
    1. Research Background

With the continuous development of society and economy, people's pace of life is also accelerating. In addition, more and more items in our lives are miniaturized, and we occasionally overlook and forget these items. In volume, large umbrellas, school bags, suitcases, books, small bank cards, keys, ID cards, glasses, wallets, etc. Umbrellas can be bought, bank cards can be lost and rearranged, and keys can be rematched; if books are lost, new ones can be bought, but previous notes cannot be bought, and ID cards cannot be replenished for half a day, which is especially troublesome when people are out of town.

In our lives, we will accidentally pick up lost items. We can easily contact you by picking up your work card, student ID card, and unit information; but the information on the ID card is too expensive to contact; if it is an umbrella, A book, or even a connected person, the key to which you don't know should be returned. Who or whoever is given, and the owner is still anxious to worry about the house; the bank card can only be handed over to the issuing bank, but in fact, when the bank card is lost, it is difficult for the person who lost the bank card to find the chance of losing the bank card. There is no one online channel where everyone knows how to post or claim a lost property. When the owner loses his stuff, it will be difficult for him to find it.

    1. Development status

Compared with the informatization process abroad, the development speed of my country's informatization process is slow. Our country's lost and found items are in their infancy, the lost and found WeChat mini program system is not yet mature, and the legislative process for lost and found WeChat mini programs is also very slow. It is not perfect in all aspects. In foreign countries, many lost and found WeChat applets appeared decades ago. Looking at these systems, they mainly have the following characteristics:

1. Advanced nature: realize network management.

2. Versatility: It can be used by all major lost and found management systems.

3. Convenience: Management work can be completed through the Internet.

4. Timeliness: Information is updated in a timely manner.

This type of lost and found system has only appeared in our country in the past few years. Most areas do not have a dedicated lost and found system. They only use manual management methods, which is extremely inefficient. Therefore, the establishment of a lost and found WeChat applet can better serve people, make it more standardized, scientific and information-based, and meet the needs of users. The development of the Internet in our country is showing a rapid growth trend, and the number of Internet users is constantly increasing. With the implementation and price reduction of broadband, nearly hundreds of millions of people enter the online world every day. With the popularization of the Internet, the birth and development of the Internet have subverted the traditional way of information dissemination, breaking through the barriers of time and space in traditional communication methods, and greatly changed human beings from material to spiritual, from form to content, Various activities from production to life, and bring new opportunities and challenges to mankind. The lost and found WeChat applet can help us faster, which is of great significance.

    1. Research methods

First, through engine search or relevant literature, we learned about the background of the system development and the significance of designing the system, and collected user demand information. Secondly, in terms of development tools, it was finally decided to use the Python platform to design and develop this system, and MySQL as the tool for designing the database. That is, the Python language is used to implement the user interface and is connected with the database to achieve complete communication functions. After that, the general functional modules of the system are designed. It is mainly analyzed from the perspective of convenience for system users and system administrators to clarify the functions that the system should have. The final step is to test the system, discover existing problems and find solutions through use case testing. Utilize the existing development platform, combine the knowledge you have learned, and complete the design with the guidance of the teacher to ensure the usability and practicality of the system.

  1. Introduction to related technologies
    1. Introduction to Pycharm

PyCharm is the most popular IDE for the Python scripting language.

1. Each file has its output window.

2. You can terminate the process (just click the button).

3. Various prompts are super powerful: ① The color of unused variables will turn gray ② There will be a red wavy line under the wrong variable ③ Writing prompts (sublime also has them but it is weaker).

4. The indexing function is super powerful.

    1. MySQL description

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

MySQL is a very popular relational database management system. It has always been the leader. It is not only very powerful, but also very convenient to use. 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. Database management is achieved 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.

Advantage 1: MySQL sets different permissions for users with different identities to complete different business logic, which makes MySQL far beyond other relational databases in terms of security and integrity.

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

Advantage three: MySQL can also be developed on multiple platforms, and multiple programming languages ​​for software development can operate the MySQL database.

    1. Python programming language

Python is a development language that can be used as a computer language in a literal way and can be used for object-oriented programming. It was developed by Guido van Rossum in the late 1880s and released for public use in 1991. Python has many features, such as concise syntax, clear statements, and rich class libraries. Due to these advantages, it can be combined with other languages ​​very quickly to implement various functional modules. Many people have nicknamed it "sticky glue" language. Using Python to quickly generate program prototypes is a method used by many programmers today. If there are any special requirements, they can be easily modified.

Moreover, PyQt has dual certificates, which ensures that it can run across platforms (such as UNIX, Microsoft and Apple platforms).

Before using the Python language, you need to install the platform. Users need to download different versions according to different platforms, and then configure the environment variables before running.

Python features:

1. Compared with other computer languages, it is relatively easy to learn: Python has fewer keywords, a relatively simple structure, and simple syntax, making it easier for people who are just learning programming languages ​​to get started.

2. It is relatively easy to read: Python code structure is concise and clear, and the definition also looks very clear, so it is easier to read.

3. Easy to maintain: Python’s maintenance is simple and convenient.

4. The standard library is particularly extensive: The biggest advantage of Python is that it has a lot of libraries, which are cross-platform and have good compatibility with the system. For example, it is compatible with UNIX, Windows and Macintosh systems.

5. Convenient interactive mode: With the support of interactive mode, developers can see the results from the code, making it more convenient for developers to test and debug programs.

6. Good portability: Python can run across platforms.

7. Very good scalability: If there is critical code, you can write it in a special language and debug and run it in the system.

    1. DjangoStile

Django is an open source web framework written in Python with complete website building capabilities. Using Django, with very little code, Python program developers can easily complete most of the content required for a formal website and further develop full-featured web services.

Django itself is based on the MVC model, that is, the Model + View + Controller design pattern, so it naturally has the excellent genes of MVC: fast development, easy deployment, high reusability, and low maintenance costs. Python plus Django is the best combination for rapid development, design, and deployment of websites.

    1. WeChat Developer Tools

WeChat developer tools have now been developed and run by the mini program development team. At present, WeChat developer tools are still being continuously improved, and they often need to be constantly updated when developing mini programs. You can use WeChat to scan the QR code to log in to the developer tools. The developer tools will use the information of this WeChat account to develop and debug small programs.

Model selection: The mini program uses the screen size of the smartphone as the design standard to cut the picture.

Preview interface: After writing the view layout, click Compile to refresh the view interface.

Console: Convenient for debugging and printing output information.

Upload code: Upload to Tencent server and submit for review. You can fill in the version number and remark information when uploading the code.

Resource file: Generally, breakpoint debugging of the file directory corresponding to the project can be performed in the resource file.

Display remote debugging: Joint debugging of mobile and PC development tools is very practical for users.

Local data storage: Displays locally stored data.

View debugging: Standard components are presented in a child-parent hierarchical structure to facilitate debugging.

  1. system analysis
    1. Feasibility Analysis

In terms of technology, the current mainstream Django 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 desk page. The above technologies are all systematically studied by me and have been practiced in course design. , which can make development more convenient and systematic. From a technical perspective, this system is completely achievable.

In terms of practicality, the main task of this design is to realize the following in the lost and found WeChat applet: registration management, announcement of finding, inspiration for finding items, application for finding items, news information, etc., which is in line with the development of the current trend. From the user's perspective, we also consider system operating costs and human resources, and use convenient methods on the Internet to implement online business, making the business process more systematic, more user-friendly, and more practical.

In terms of economy, the main purpose of the lost and found WeChat applet designed in this project is to provide information query management and retrieval services more conveniently and quickly, that is, it is an information software that can be directly put into use. The main cost of the system is mainly concentrated on the subsequent maintenance and management update of usage data. However, once the system is put into actual operation and use, it can greatly improve the efficiency of information query and retrieval. At the same time, it is also necessary to effectively ensure the security of the queryer's information. At the same time, the lost and found WeChat applet brings practical benefits. The application value 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 lost and found WeChat applet are mainly divided into front-end users registering and logging in according to their own needs, browsing lost property information and claiming lost property. The backend system administrator mainly processes lost property information and manages registered users, found property notices, lost property information, and claim information.

The system use case diagram is shown below.

Figure 3-1 System use case diagram

      1. Front-end user function

The functions of registered users at the front desk are as follows:

Register an account: The user fills in personal information and verifies the mobile phone number.

Login: Log in based on your account and password.

Browse recruitment announcement data: Users can browse the recruitment announcement data on the main page to understand the latest recruitment announcement data of the system.

Browse missing object notices: Users can browse the information of missing object notices according to the type of found object notices, and select a found object notice to view details, such as: item name, lost time, lost location, picture, username, name, gender, contact Method, remarks, whether to review, etc.

Application for claiming items: Users can apply for claiming items online.

      1. Backend administrator function

Administrator functions are as follows:

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

Found object information management: maintain found object information, add, delete, and modify information.

Recruitment announcement management: maintain recruitment announcement information, add, delete, and modify information.

News list management: publish and delete relevant news data information.

User management: You can view the information of registered users and manage them.

    1. Non-functional requirements analysis

First of all, the main consideration is whether the system functional software can better meet the basic functional needs of various users in the specific design process. If it cannot better meet the user needs, then the existence of this system is of no value. The non-functional analysis of software systems is carried out from seven aspects: one is performance analysis, which is aimed at the system; one is security analysis, which is aimed at the system; one is integrity analysis, which is aimed at the system; one is maintainability analysis, which is aimed at the system; One is scalability analysis, targeting the system, and the other is performance analysis to adapt to the business. After a comprehensive comparison and analysis of the seven aspects of performance, security, expansion, and completeness of the lost and found WeChat applet, it was found that corresponding non-functional requirements analysis is needed.

    1. Security requirements analysis
      1. System security

Security is very important for every system. A system with good security can protect corporate information and user information from being stolen. Improving system security is not only responsible for users, but also for enterprises. Especially for the lost and found WeChat applet, it is necessary to have good security to protect the entire system.

The system has permission control for users, and restricts users' permissions based on different roles 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 data. Therefore, how to ensure that the input data complies with 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 ensured.

    1. Data flow analysis

After analyzing the data flow of the system, the users of the system are divided into two categories: general users and administrators. The system mainly handles interface information transmission, login information verification, registration information reception, and responses to various user 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 determine the identity of the user, it is judged based on the login data and then jumps to the corresponding functional interface. Users within 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 Underlying data flow diagram

The system can be divided into two parts: the frontend and the backend. After each operation, the system returns the operation results. The data connection between the front-end and the back-end is mainly through the database, which means different operations are performed on the database respectively.

  1. system design
    1. System architecture design

The architectural design of this lost and found WeChat applet is mainly divided into three layers, mainly 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 lost and found WeChat applet is generally divided into a front-end user module and a back-end administrator module.

The two modules appear to exist independently, but the database they access is the same. The functions of each module are compiled and produced based on previously completed demand analysis and review of relevant information.

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

Figure 4-2 System functional structure diagram

    1. System functional design

Login module: The login module is the entrance to the system. All users must log in before they can access the system. You need to enter your username and password to log in. If you try to log in multiple times, you need to enter a verification code. When logging in, you need to select the user's role, whether it is a general user or administrator login, etc. After successful login, the user's permissions will be obtained through the database and jumped to the user's home page.

Recruitment announcement data module: It can be divided into three modules: recruitment announcement data browsing, recruitment announcement data retrieval, and recruitment announcement data maintenance. The administrator has the authority to maintain recruitment announcement data, publish new recruitment announcement data, and update existing recruitment announcements. Data etc.

Hidden object revelation management module: Hidden object revelation management is divided into found object revelation addition, modification and found object revelation query. The lost object enlightenment information can be modified, added, or deleted by the person who lost it; the found object enlightenment query can be performed by ordinary users.

    1. Database Design
      1. Database concept design

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

The system ER diagram is shown below.

Figure 4-3 System ER diagram

      1. Database table design

The lost and found WeChat applet has the following data tables: user information table, found announcement table, found object inspiration table, and news table.

Since there are many data tables, only the main data tables of the system are shown, as shown in the table below.

    1. Table auth (user rights management)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

auth_id

int

10

0

N

AND

Authorization ID:

2

user_group

varchar

64

0

AND

N

user group:

3

mod_name

varchar

64

0

AND

N

Module name:

4

table_name

varchar

64

0

AND

N

Table Name:

5

page_title

varchar

255

0

AND

N

page title:

6

path

varchar

255

0

AND

N

Routing path:

7

position

varchar

32

0

AND

N

Location:

8

mode

varchar

32

0

N

N

_blank

Jump method:

9

add

tinyint

3

0

N

N

1

Is it possible to add:

10

of the

tinyint

3

0

N

N

1

Can it be deleted:

11

set

tinyint

3

0

N

N

1

Whether it can be modified:

12

get

tinyint

3

0

N

N

1

Is it possible to view:

13

field_add

text

65535

0

AND

N

Add fields:

14

field_set

text

65535

0

AND

N

Modify fields:

15

field_get

text

65535

0

AND

N

Query fields:

16

table_nav_name

varchar

500

0

AND

N

Cross-table navigation name:

17

table_nav

varchar

500

0

AND

N

Cross-table navigation:

18

option

text

65535

0

AND

N

Configuration:

19

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

20

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

    1. table collect (collection)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

collect_id

int

10

0

N

AND

Collection ID:

2

user_id

int

10

0

N

N

0

Collector ID:

3

source_table

varchar

255

0

AND

N

Source table:

4

source_field

varchar

255

0

AND

N

Source field:

5

source_id

int

10

0

N

N

0

Source ID:

6

title

varchar

255

0

AND

N

title:

7

img

varchar

255

0

AND

N

Cover:

8

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

9

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

    1. Table comment (comment)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

comment_id

int

10

0

N

AND

Comment ID:

2

user_id

int

10

0

N

N

0

Commenter ID:

3

reply_to_id

int

10

0

N

N

0

Reply comment ID: empty is 0

4

content

longtext

2147483647

0

AND

N

content:

5

nickname

varchar

255

0

AND

N

Nick name:

6

avatar

varchar

255

0

AND

N

Avatar address: [0,255]

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

9

source_table

varchar

255

0

AND

N

Source table:

10

source_field

varchar

255

0

AND

N

Source field:

11

source_id

int

10

0

N

N

0

Source ID:

    1. Table hits (user clicks)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

hits_id

int

10

0

N

AND

Like ID:

2

user_id

int

10

0

N

N

0

Liked by:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

5

source_table

varchar

255

0

AND

N

Source table:

6

source_field

varchar

255

0

AND

N

Source field:

7

source_id

int

10

0

N

N

0

Source ID:

    1. Notice (announcement)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

notice_id

mediumint

8

0

N

AND

Announcement id:

2

title

varchar

125

0

N

N

title:

3

content

longtext

2147483647

0

AND

N

text:

4

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

5

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

    1. Express praise (like)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

praise_id

int

10

0

N

AND

Like ID:

2

user_id

int

10

0

N

N

0

Liked by:

3

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

4

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

5

source_table

varchar

255

0

AND

N

Source table:

6

source_field

varchar

255

0

AND

N

Source field:

7

source_id

int

10

0

N

N

0

Source ID:

8

status

bit

1

0

N

N

1

Like status: 1 is like, 0 is canceled

    1. Table requisition_announcement (recruitment announcement)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

requisition_announcement_id

int

10

0

N

AND

Recruitment Announcement ID

2

title_name

varchar

64

0

AND

N

title name

3

lost_and_found_pictures

varchar

255

0

AND

N

Lost property pictures

4

lost_and_found_location

varchar

64

0

AND

N

Lost property location

5

receiving_place

varchar

64

0

AND

N

Pick up location

6

release_date

date

10

0

AND

N

release date

7

publishing_users

int

10

0

AND

N

0

publish user

8

contact_information

varchar

64

0

AND

N

Contact information

9

clarify_the_content

text

65535

0

AND

N

clarify content

10

examine_state

varchar

16

0

N

N

Not reviewed

Approval Status

11

recommend

int

10

0

N

N

0

Intelligent Recommendation

12

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

13

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

    1. Table requisition_application (requisition application)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

requisition_application_id

int

10

0

N

AND

Claim application ID

2

title_name

varchar

64

0

AND

N

title name

3

lost_and_found_pictures

varchar

255

0

AND

N

Lost property pictures

4

lost_and_found_location

varchar

64

0

AND

N

Lost property location

5

application_date

date

10

0

AND

N

Date of Application

6

publishing_users

int

10

0

AND

N

0

publish user

7

contact_information

varchar

64

0

AND

N

Contact information

8

application_user

int

10

0

AND

N

0

Apply for user

9

certification_content

text

65535

0

AND

N

Proof content

10

examine_state

varchar

16

0

N

N

Not reviewed

Approval Status

11

examine_reply

varchar

16

0

AND

N

moderation reply

12

recommend

int

10

0

N

N

0

Intelligent Recommendation

13

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

14

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

    1. Table revelation (revelation of finding objects)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

revelation_id

int

10

0

N

AND

Hidden Object Revelation ID

2

inspiration_title

varchar

64

0

AND

N

revelation title

3

cover

varchar

255

0

AND

N

cover

4

release_date

date

10

0

AND

N

release date

5

publishing_users

int

10

0

AND

N

0

publish user

6

contact_number

varchar

16

0

AND

N

contact number

7

inspiration_content

text

65535

0

AND

N

Revelation content

8

recommend

int

10

0

N

N

0

Intelligent Recommendation

9

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

10

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

    1. Table slides (carousel)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

slides_id

int

10

0

N

AND

Carousel image ID:

2

title

varchar

64

0

AND

N

title:

3

content

varchar

255

0

AND

N

content:

4

url

varchar

255

0

AND

N

Link:

5

img

varchar

255

0

AND

N

Carousel image:

6

hits

int

10

0

N

N

0

Number of clicks:

7

create_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Creation time:

8

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time:

    1. Table system_user (system user)

serial number

name

type of data

length

Decimal places

Allow null values

primary key

default value

illustrate

1

system_user_id

int

10

0

N

AND

System user ID

2

user_name

varchar

64

0

AND

N

username

3

examine_state

varchar

16

0

N

N

passed

Approval Status

4

recommend

int

10

0

N

N

0

Intelligent Recommendation

5

user_id

int

10

0

N

N

0

User ID

6

create_time

datetime

19

0

N

N

CURRENT_TIMESTAMP

creation time

7

update_time

timestamp

19

0

N

N

CURRENT_TIMESTAMP

Update time

  1. System implementation
    1. Implementation of database access layer

The system is connected through jdbc and MySQL. Create a new jdbc.properties file to fill in the drivers and parameters required to connect to the database.

jdbc.driverClass=com.MySQL.jdbc.Driver

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

jdbc.username=root

jdbc.password=123

The first parameter represents the MySQL database driver, the second parameter represents the database to be connected, and the third and fourth parameters represent the database connection name and password.

Backend and database access are mainly queried through HQL statements. The table name in the query statement is the entity class name of the table. * is not allowed to be used in such query statements unless it is suitable for use with aggregate functions.

    1. Implementation of registration module

When the user fills in the data, it must match the verification on the registration page, otherwise the registration will fail. The form verification on the registration page is verified through PythonScript. The length of the user name must be between 6 and 18, and the email address must have the @ symbol. , the password and password confirmation must be the same. For the password you enter, the system will give a specified value based on the strength of the password you enter. The phone number and ID number must be input in a format consistent with life. When you pass the verification at the front desk, you Click register, and the form will pass the value you entered to the background through the name value and save it to the database.

The user registration flow chart is shown below.

Figure 5-1 User registration flow chart

The user registration interface is shown in the figure below.

Figure 5-2 User registration interface

    1. Implementation of login module

It mainly consists of two parts, the login interface before login and the user function interface after login. The login interface requires the user to enter a username and password. When either username or password is empty, a prompt "Username and password cannot be empty" is given. After obtaining the username and password, search in the database. If the username exists and the corresponding password is correct, the login is successful, otherwise the login fails. After login failure, a prompt will be given and the focus will be stopped in the text box. After successful login, the global variable username of the session is set to the username. After successfully logging in, enter the member function module, which mainly includes the modification of basic member information, management of published found object information, publishing information, and exit functions. The exit function is to clear the value of the global variable username and jump back to the homepage.

The login flow chart is shown below.

Figure 5-3 Login flow chart

The user login interface is shown in the figure below.

Figure 5-4 User login interface

    1. Implementation of user data modification module

After successful login/registration, users can modify their basic information. The name value of each input in the form of the modified page must match the parameters in the entity class. When the user clicks to modify the page, if the user name after the change is repeated in the database, the page will prompt that the user name already exists. , otherwise query the user by Id and modify the user's information to the data submitted by the form.

    1. Implementation of recruitment announcement management module

If the recruitment announcement information needs to be modified, the administrator can query the recruitment announcement data by querying the basic information of the recruitment official. The query of recruitment announcement data is queried through ajax technology. It is necessary to pass the recruitment announcement title, collection location and other parameters and then return to the page. , you can select the piece of information to be modified or deleted. If more than one piece of data is selected, the page will select a window to remind you that only one number can be selected. If no data is selected, a window will be selected for the question type and you must select one piece of data. When you choose to confirm the modification, the background will query the database based on the passed id and return the results to the modification page. You can modify the just selected information in the modification page. When you click Confirm, the from form will submit the modified data. Go to the background and save it to the database, that is, if the submitted data exists in the database, modify it, otherwise save it.

The recruitment announcement display interface is shown in the figure below.

Figure 5-5 Recruitment announcement display interface

The recruitment announcement management interface is shown in the figure below.

Figure 5-6 Recruitment announcement management interface

    1. Implementation of finding object enlightenment management module

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

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

寻物启示管理流程图如下图所示。

图5-7寻物启示管理流程图

寻物启示展示界面如下图所示。

图5-8寻物启示展示界面

寻物启示管理界面如下图所示。

图5-9寻物启示管理界面

    1. 领物申请管理模块的实现

用户可以在线进行领物申请提交,管理员会对用户的领物申请进行审核处理。

图5-10领物申请流程图

领物申请管理页面效果如下图所示。

图5-11领物申请管理界面

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

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

    1. 功能测试

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

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

功能描述

用于系统登录

测试目的

检测登录时的合法性检查

测试数据以及操作

预期结果

实际结果

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

提示用户名或者密码错误

与预期结果一致

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

提示用户名或者密码错误

与预期结果一致

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

提示用户名或者密码错误

与预期结果一致

输入正确的用户名和密码

登录成功

与预期结果一致

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

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

功能描述

用于用户注册

测试目的

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

测试数据以及操作

预期结果

实际结果

输入的手机号不合法

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

与预期结果一致

输入的字段为空

提示必填项不能为空

与预期结果一致

输入的密码少于6位

提示密码必须为6-12位

与预期结果一致

输入的密码大于12位

提示密码必须为6-12位

与预期结果一致

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

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

表6-3 寻物启示管理的测试用例

功能描述

用于寻物启示管理

测试目的

检测寻物启示管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加寻物启示,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加寻物启示,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改寻物启示,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改寻物启示,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除寻物启示,选择寻物启示删除

提示删除成功

与预期结果一致

点击搜索寻物启示,输入存在的寻物启示名

查找出寻物启示

与预期结果一致

点击搜索寻物启示,输入不存在的寻物启示名

不显示寻物启示

与预期结果一致

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

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

表6-4 招领公告管理的测试用例

功能描述

用于招领公告管理

测试目的

检测招领公告管理时的各种操作的运行情况

测试数据以及操作

预期结果

实际结果

点击添加招领公告,必填项合法输入,点击保存

提示添加成功

与预期结果一致

点击添加招领公告,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击修改招领公告,必填项修改为空,点击保存

提示必填项不能为空

与预期结果一致

点击修改招领公告,必填项输入不合法,点击保存

提示必填项不能为空

与预期结果一致

点击删除招领公告,选择招领公告删除

提示删除成功

与预期结果一致

点击搜索招领公告,输入存在的招领公告名

查找出招领公告

与预期结果一致

点击搜索招领公告,输入不存在的招领公告名

不显示招领公告

与预期结果一致

    1. 性能测试

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

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

  1. 总结与展望

随着计算机互联网技术的迅猛发展,各行各业都已经实现采用计算机相关技术对日益放大的数据进行管理。该课题是失物招领微信小程序为核心展开的,主要是为了实现失物招领信息化管理和用户在线寻找失物的需求。

失物招领微信小程序的开发是以Python编程语言作为基础,在Myeclipse平台上完成编码工作,系统整体为B/S架构,数据库系统使用MySQL。文中详细分析了失物招领微信小程序的研究背景、研究目的和意义、开发工具和相关技术以及系统需求、系统详细设计和系统测试等等一系列内容。系统实现了失物招领微信小程序所需的一些基本功能,并通过测试对这些实现的功能进行了完善,进而提高了系统整体的实用性。

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

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

参考文献

[1]教育部.关于全面提高高等职业教育教学质量的若干意见.中国职业技术教育,2017(1):14-15.

[2]罗漪.大学生网上评教体系优化的研究.江西师范大学,2013.

[3]韩园园.大学生利用网络评价教师课堂教学的研究.南京师范大学,2016.

[4]解建立,张倩.大学生网上评教问题研究——基于S市部分高校调查.河北企业,2015(6):130-131.

[5]黄建军,黄继东,尹加帮,等.美国、加拿大和日本高校学生评教的特点与启示.医学教育探索,2015,09(5):621-625.

[6]邢永富,常瑾.国外知名高校学生评教工作述评与启示——以四所名校为例.宁波大学学报:教育科学版,2015(1):59-63.

[7]孙朝云,张羽.基于B/S结构失物招领微信小程序设计与实现.计算机应用与软件,2014,29(3):183-186.

[8]李海海.基于Spring框架的失物招领微信小程序的设计与实现.湖南大学,2015.

[9]李刚.轻量级Django企业应用实战.电子工业出版社,2016.

[10]计文柯.Spring技术内幕:深入解析Spring架构与设计原理(第2版).机械工业出版社,2015.

[11]姜承尧.MySQL技术内幕.机械工业出版社,2014.

[12]阙丽平.福建经贸学院教师考评系统设计与实现.电子科技大学,2014.

[13]单东林张晓菲魏然.锋利的JQUERY.人民邮电出版社,2015.

[14]MartinM,LamMS.AutomaticGenerationofXSSandSQLInjectionAttackswithGoal-directedModelCheckingUsenixSecuritySymposium,July28-August1,2008,SanJose,Ca,Usa.2018:31-44.

[15]闫新.基于WEB的失物招领微信小程序设计与实现.电子科技大学,2014.

[16]BeckK,GammaE.Test-infected:programmerslovewritingtestsMorePythongems.CambridgeUniversityPress,2015:357-376.

[17]GuptaP,GovilMC.SpringWebMVCFrameworkforrapidopensourceJ2EEapplicationdevelopment:acasestudy.InternationalJournalofEngineeringScience&Technology,2015,2(6).

[18]BruceRich;TheoderJ.Shrader;AthonyJ.Nadalin,PythonandInternet[J].IntelligentInformation Management.,2015,(10):210-230

[19]ElizabethAWilliamson,DavidKHarrison,MikeJordan.Informationsystemsdevelopmentwithin supplychainmanagement[J].InternationalJournalofInformationManagement,2014,(5):25-32.

[20]MattBishop.Trendsinacademicresearch:vulnerabilitiesanalysisandintrusiondetection[J]. Computers&Security,2014,(7)56-78.

致谢

本次设计历时3个月。在这个毕业设计中,它离不开指导教师的指导,使事情基本顺利。指导老师无论是在毕业设计历经中,还是在论文做完中都给了了我特别大的助益。另1个方面,教师认真负责的工作姿态,谨慎的教学精神厚重的理论水准都使我获益匪浅。他勤恳谨慎的教学育人学习姿态也给我留下了特别特别深的感觉。我从老师那里学到了很多东西。在理论和实践中,我的技能得到了特别大的提高。在此,特向教师表示由衷的感激。

经过对该毕业设计的全部研究和开发,我的系统研发经历了从需求分析到实现详细功能,再到最终测试和维护的特殊进展。让我对系统研发有了更深层次的认识。如今我的动手本领单独处理疑惑的本领也获取到了特别大的演练学习增多,这是这次毕业设计最好的收获。

最后,在整个系统开发过程中,我周围的同学和朋友给了我很多意见,所以我很快就确认了系统的商业思想。在次,我由衷的向他们表示感激。

免费领取项目源码,请关注点赞+私聊

Guess you like

Origin blog.csdn.net/VXbishe/article/details/134918274