The article directories
- 1. Document introduction
-
- 1.1 Purpose
- 1.2 Document Scope
- 1.3 Target Audience
- 1.4 Document Copyright
- 2. Project introduction
-
- 2.1 Project Name
- 2.2 Project Composition
- 2.3 Necessary knowledge system of the project
- 3. Functional requirements
-
- 3.1 Function Summary
- 4. Non-functional requirements
- 5. Overall system design
-
- 5.1 Overall System Framework (Reference)
- 5.2 System Flow Chart (Reference)
- 6. Design the key flow of communication program
-
- 6.1 Handling disconnection and reconnection
- 6.2 Detection and treatment of sticky/half-packet
- 6.3 Detecting and handling missing files
- 7. Project approval criteria
-
- 7.1 Project Team
- 7.2 Development Period Requirements
- 7.3 Coding Specification Requirements
- 8. Assessment criteria
-
- 8.1 The total score of the project is 100 points, and the assessment proportion of each module is as follows:
- 8.2 Development progress assessment criteria
- 8.3 Functional assessment criteria
-
- 8.3.1 client
- 8.3.2 server
- 8.3.3 Stress test
- 8.3.4 Network Security
- 8.4 Assessment criteria for final items
- 8.5 Daily assessment criteria
1. Document introduction
1.1 Purpose
This project based on the Linux advanced development “, “senior Java development foundation”, “senior web development foundation” to learn the knowledge system, on the basis of comprehensive application of knowledge as a starting point in system, the design stage of a student’s learning program, can let the students comprehensive application, consolidate and upgrade phase of learning content, In the actual combat process of the project, the knowledge system will run through, integrate, accumulate project development experience, and pass the learning results of the project inspection stage.
From the perspective of functional requirements, under the guidance of the goal of comprehensive application of knowledge system, this document describes the functional requirements and functional constraints of the project development front in detail, providing a detailed functional requirements description document for students and evaluation teams in the actual project.
1.2 Document Scope
This document describes the functional requirements of the project, functional design objectives, outline design objectives, outline design, design constraints, and format requirements for various human-computer interactions.
1.3 Target Audience
Students involved in project development, teams involved in evaluation, and other readers who want to learn about the project.
1.4 Document Copyright
This document belongs to CSDN blogger “look, the future”, if you need to reprint, please private message me.
2. Project introduction
2.1 Project Name
Project Name: Intelligence-gathering and Intelligent Curriculum project.
2.2 Project Composition
This project realizes the function of automatically arranging courses in the curriculum schedule. The project consists of intelligent curriculum front end, intelligent curriculum computer client, intelligent curriculum server, intelligent curriculum test end and other parts.
The front-end uses web server construction technology, the front-end communication framework based on TCP Socket encapsulates the communication components, dynamic array and other technologies, and the back-end processing system framework based on Nginx, SSM architecture, MySQL database technology and thread pool technology.
The project adopts the team development mode, members not only apply the technology in the actual combat of the project, accumulate project experience and accumulate the experience of team cooperation.
2.3 Necessary knowledge system of the project
Through study, members of the project should master the following skills:
Web server construction Web server and back-end communication technology Nginx load balancing technology multi-process or multi-thread development technology inter-process communication: signal, pipeline, message queue, shared memory, TCP distributed communication between multi-process and multi-thread synchronization technology: Semaphores, mutexes, condition variables, etc. Master UI design and be familiar with database technologyCopy the code
3. Functional requirements
3.1 Function Summary
Module name | Functional category | subfunction |
---|---|---|
Client (Administrator) | System startup | Local cloud startup, initialization interface, software version and other initialization data synchronization |
The user login | User Enters the user name and password to log in | |
Change the password | Enter the user name, old password, and new password to change the password | |
Teachers list | Gets a list of teachers that should currently appear | |
Arranging the query | Query the scheduling of a specified class | |
Arranging approval | Do you agree with the class scheduling plan | |
System Settings | Configure the IP address and port of the service | |
– | – | – |
Client (Teacher) | Version 1.0 is not available | – |
– | – | – |
Web side (Administrator side) | The user login | With the client |
The rest of the business | Same as client | |
– | – | – |
Web side (Student side) | The login | User Enters the user name and password to log in |
Query schedule | Support weekly query and class schedule export | |
– | – | – |
Server Side (Java) | The user access | Receive the connection of web page and client and manage client information |
Distribution of business | Distribute various types of services on the web page or client | |
The heartbeat processing | The custom | |
– | – | – |
Server (C++) | Automatic arrangement | Design algorithm, cooperate with database, complete efficient course arrangement |
Concurrent load | Initialize the processing thread of 30 | |
– | – | – |
The database | Database design and application | Relational model design, serving the course scheduling system |
– | – | – |
The log | The log | A run log is generated every day, recording service processing, running status, and faults |
– | – | – |
Pressure test procedure | Single customer single business test | It mainly tests the processing capacity and data accuracy of a single transaction of the server |
Multi-client single service | Testing server throughput | |
The test report | This section describes key parameters and test results, such as the number of service successes, number of service failures, and service type | |
Pressure parameter setting | During each test, users can customize the test duration, service type, and number of simulated clients, and save them in a parameter file | |
The test log | Record each test result and generate one per day | |
– | – | – |
The altar | Gateway server | Implement queue |
A firewall | Team Firewall Configuration | |
Traffic IP | Simulate heavy traffic IP access |
4. Non-functional requirements
Functional category | Functional specifications |
---|---|
All level of concurrent | A server must withstand more than 10,000 connections |
Large concurrent service | A server is required to withstand 200 to 300 concurrent service processes |
Distributed architecture | TCP stream protocol is used for interprocess communication |
System extensibility | Able to expand business without modifying source code as much as possible |
System security | Being bombarded by some illegal operations |
5. Overall system design
5.1 Overall System Framework (Reference)
5.2 System Flow Chart (Reference)
6. Design the key flow of communication program
6.1 Handling disconnection and reconnection
After the device is powered on, the device is connected to the server for a long time. Due to various reasons, a disconnection may occur during the process. The server needs to detect the disconnection, and the client needs to indicate the disconnection on the UI when detecting the disconnection.
6.2 Detection and treatment of sticky/half-packet
During TCP transmission, two services may have sticky packets. You need to distinguish them. Solution: head + body + tail.
6.3 Detecting and handling missing files
If file transfer is interrupted, handle it properly.
7. Project approval criteria
7.1 Project Team
This project is a team development project, which aims to enable the team members to experience the process of team development and accumulate experience of team cooperation in the process. In order to ensure the amount of code and the level of technology applied in the process, it is recommended that the number of team members should be 2-3, and the best combination is 3. One of them is the development leader to coordinate team development and schedule control.
7.2 Development Period Requirements
The total development cycle of the project is 15 working days, and the specific development time of several stages is allocated as follows
The name of the stage | Elapsed time |
---|---|
Project planning | 2 days |
The benchmark | 3 days |
Project code | 7 days |
The project alignment | 2 days |
Project summary | 1 day |
7.3 Coding Specification Requirements
(1) source code layout specification (2) variable naming specification (3) function naming specification (4) type definition specification (5) annotation specification
In order to later replay, but also to make others understand.
8. Assessment criteria
8.1 The total score of the project is 100 points, and the assessment proportion of each module is as follows:
The project name | Assessment of the proportion of |
---|---|
The development progress | 6% |
The system design | 10% |
Function module | 74% |
Code specification | 5% |
Project summary | 10% |
Daily work | 5% |
8.2 Development progress assessment criteria
Delay three minutes a day.
8.3 Functional assessment criteria
8.3.1 client
The name of the function | Assessment of the proportion of |
---|---|
The network connection | 15% |
UI design | 15% |
Data import | 30% |
User functionality | 15% |
Team collaboration | 20% |
The user experience | 5% |
8.3.2 server
User to connect | 15% |
---|---|
Load balancing | 15% |
The user interaction | 15% |
Curriculum scheduling algorithm design | 25% |
Database interaction | 15% |
Log interaction | 5% |
Members of the cooperation | 10% |
Non-functional requirements are not a plus.
8.3.3 Stress test
UI Interface Settings | 20% |
---|---|
Log information | 20% |
A single business | 15% |
More business | 35% |
The team cooperation | 10% |
8.3.4 Network Security
Gateway server | 40% |
---|---|
Big traffic IP | 30% |
A firewall | 20% |
The team cooperation | 10% |
8.4 Assessment criteria for final items
General introduction of the project Highlights of the project deficiencies and improvements of the project experience defenseCopy the code
8.5 Daily assessment criteria
During the development cycle, write a weekly. Everyone’s busy. If the weekly development report is not filled in on time or should be filled in properly, 0~12 points will be deducted until the full 36 points are deducted.
Finally, I wish you all the best!