170
社区成员
Which course does this assignment belong to | 2401_Mu_SE_FZU |
---|---|
Where is the requirement for this assignment | Fifth Assignment——Alpha Sprint |
Team name | Smart Fishpond Access |
The goal of this assignment |
1. Establish coding guidelines. 2. Sprint tasks and plans |
Other references |
Alibaba Java Development Manual Ultimate Edition v1.3.0 |
Content
2. Overview: Development Task Analysis
2.1 Overview of Development Tasks
The code standard is uploaded on Github, see codestyle.
The core goal of the current project is to develop a Monitoring System for Deep Pond Aquaculture, combining hardware devices, IoT middleware, front-end applications, and deep learning algorithms to provide efficient and intelligent management tools for fish farmers.
The development tasks are divided into the following three layers,
Hardware Service Layer
Embedded devices have been developed to collect water quality parameters such as water temperature, water depth, air temperature, and humidity.
The communication module and sensor network architecture have been set up, supporting real-time monitoring of water quality parameters.
Data Persistence Layer
An IoT middleware based on the EXPRESS framework and ORM technology has been developed to enable device data transmission.
Backend development based on MySQL database has been completed to support real-time data storage and management.
An expert database based on the NEO4j graph database have been established to support the intelligent Q&A functionality.
A machine learning algorithm (KF-PSO-BPNN) has been developed and deployed on Ali server to predict water temperature and perform data analysis.
A deep learning algorithm (BERT) has been implemented for semantic recognition and intelligent Q&A (core model design has been completed).
Application Display Layer
The Android application, based on Vue3 framework and Echarts, has been developed to support real-time water quality monitoring, alarm notifications, historical records, and device management.
The Web platform, based on HTML and CSS, has been developed to support multi-device location tracking, weather forecasting, and intelligent Q&A functionality.
After the initial development and technical integration, the following tasks have been completed,
Hardware Layer
Embedded development is complete, with the sensor network operating stably to monitor multi-layer water temperatures in real time.
Devices have been deployed and tested, and the data transmission module is functioning properly.
Data Persistence Layer
The MySQL backend database architecture has been completed to store and manage water quality data.
The IoT middleware based on the EXPRESS framework has been implemented to ensure stable device data transmission.
The graph database has been built, and the knowledge graph has been initially completed with expert knowledge organized.
The KF-PSO-BP algorithm has been implemented and passed initial tests, with predicted results meeting expectations.
Application Display Layer
The UI design for the Android app and Web platform has been completed.
In the upcoming sprint phase (November 27, 2023 - December 6, 2023), the team will focus on remaining front-end development tasks, testing, and documentation. The specific plan is as follows:
Timeline: November 27, 2023 - December 6, 2023
The distribution of labor is shown below.
FZU ID | Distribution of Labor | Description |
---|---|---|
832201109 | Front-end and back-end | Project initialization, page framework set up |
832201117 | Front-end and back-end | Development of login and registration pages, and implementation of validation features |
832201110 | Front-end and back-end | Development of device management and real-time monitoring |
832201111 | Front-end and back-end | Development of smart Q&A and device location |
832201112 | Front-end and back-end | Deployment and interface optimization |
832201127 | Front-end and back-end | Frontend and backend API integration and debugging |
832201318 | Testing Team | Frontend and backend API integration and debugging |
832201306 | Testing Team | Executing frontend and backend interaction, and functional module tests |
832201307 | Testing Team | Device location and database optimization |
832201313 | Testing Team | Executing frontend and backend interaction, and functional module tests |
832201325 | Testing Team | Device location and database optimization |
832201116 | Blog Team | Writing and publishing the sprint blog |
832201114 | Blog Team | Writing and publishing the sprint blog |
832201120 | PPT Team | Create the defense PPT, summarizing project progress and outcomes |
832201105 | PPT Team | Create the defense PPT, summarizing project progress and outcomes |
832201104 | PPT Team | Create the defense PPT, summarizing project progress and outcomes |
Four teams are shown below.
Development Team (6 members)
Responsible for front-end and back-end functionality development and API implementation.
Testing Team (5 members)
Responsible for designing and executing test cases to ensure functionality completeness.
Blog Team (2 members)
Responsible for writing, publishing, and updating blogs to regularly showcase project progress.
PPT Team (3 members)
Responsible for preparing the final presentation PPT on the last day to showcase the project results.
Development Tasks
Front-end Team
Initialize Vue3 project and set up the basic page framework.
Create the login page (Login.vue) and device management page (Devices.vue).
Back-end Team
Initialize Spring Boot project, complete the database table (Users) for the user module.
Configure MySQL database connection and complete the registration and login API.
Testing Tasks
Write test cases for user registration and login.
Blog Tasks
Write the blog "Code Standards and Sprint Plan", describing the development tasks, timeline, and objectives.
Create the "Special Blog Collection" page to record subsequent blog links.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Complete the registration page (Register.vue) and implement input validation.
Back-end Team
Implement back-end logic for user registration and login, returning JWT.
Testing Tasks
Use Postman to test the registration and login API and verify front-end and back-end interaction.
Blog Tasks
Publish the first sprint blog: Show burndown chart, project initialization progress, and screenshots.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Develop basic functionality for the device management page, including add and delete buttons for devices.
Create a multi-device list display page.
Back-end Team
Implement APIs for adding, deleting, and querying devices.
Testing Tasks
Test the device management module's API functionality.
Blog Tasks
Update "Special Blog Collection."
Corresponding Teams
Development Team, Testing Team.
Development Tasks
Front-end Team
Integrate Axios to call the device management API, ensuring device add and delete functions work correctly.
Back-end Team
Simulate the real-time monitoring data API (GET /monitoring/{deviceId}).
Testing Tasks
Write test cases for the real-time monitoring module to validate data format and stability.
Blog Tasks
Publish the second sprint blog: Show progress of the device management module, with burndown chart and screenshots.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Develop the real-time monitoring page (Monitoring.vue) and integrate Echarts to display real-time data curves.
Back-end Team
Integrate water temperature prediction algorithm and provide prediction API (GET /monitoring/predict/{deviceId}).
Testing Tasks
Test the response time and accuracy of the prediction algorithm API.
Blog Tasks
Update "Special Blog Collection".
Corresponding Teams
Development Team, Testing Team.
Development Tasks
Front-end Team
Implement integration of real-time monitoring page and prediction data display.
Back-end Team
Develop alarm record API.
Testing Tasks
Test the alarm record module to ensure data storage and query functionality.
Blog Tasks
Publish the third sprint blog: Show progress on real-time monitoring and prediction functionality.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Develop the intelligent Q&A page (QA.vue), integrating voice input functionality.
Back-end Team
Complete the intelligent Q&A API, integrating the BERT model and knowledge graph.
Testing Tasks
Test the semantic recognition effect of the intelligent Q&A feature.
Blog Tasks
Update "Special Blog Collection".
Corresponding Teams
Development Team, Testing Team.
Development Tasks
Front-end Team
Develop the multi-device location page (Location.vue) and integrate AMap API.
Back-end Team
Develop the device location API to provide latitude and longitude data.
Testing Tasks
Test the functionality and map loading performance of the device location module.
Blog Tasks
Publish the fourth sprint blog: Show progress on intelligent Q&A and device location modules.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Integrate all feature pages and optimize the interface layout.
Back-end Team
Perform database optimization to improve query efficiency.
Testing Tasks
Complete system-wide testing and fix all identified issues.
Blog Tasks
Write a testing blog, describing testing tools, test case design, and results.
Corresponding Teams
Development Team, Testing Team, Blog Team.
Development Tasks
Front-end Team
Package the front-end project and prepare for deployment.
Back-end Team
Deploy the back-end service to Ali and perform final integration testing.
Testing Tasks
Conduct the final regression testing to ensure the system runs stably.
Blog Tasks
Publish the fifth sprint blog: Summarize the sprint results, including complete screenshots and videos of the system running.
PPT Tasks
Prepare the defense PPT
Showcase the burndown chart, project functionalities, testing results, and improvement plans.
Corresponding Teams
Development Team, Testing Team, Blog Team, PPT Team.
Task Phase | Task Description | Estimated Time (Days) | Actual Time (Days) | Notes |
---|---|---|---|---|
Project Initialization | Initialize front-end and back-end projects, set up the basic framework, complete the Users database table and MySQL configuration | 1 | 1 | Front-end and back-end initialization tasks |
User Module Development | Develop user registration and login pages, integrate input validation, implement back-end APIs (registration, login, JWT) | 1 | 1.5 | Front-end and back-end development for user module |
Device Management Module | Develop device management page (add/delete device functions), implement device management API, integrate front-end and back-end | 1.5 | 1.5 | Device management development and integration |
Real-Time Monitoring Module | Develop real-time monitoring page, integrate Echarts to display data curves, simulate real-time monitoring data API | 1.5 | 1.5 | Real-time monitoring page development and back-end API simulation |
Prediction Feature Development | Integrate water temperature prediction algorithm and provide prediction API, display prediction data on the front-end | 1 | 1 | Prediction feature development and data integration |
Alarm Record Feature | Develop alarm record API, conduct testing to ensure data storage and query functionality | 1 | 1 | Alarm record module development and testing |
Intelligent Q&A Module | Develop the intelligent Q&A page, integrate voice input functionality, implement BERT model and knowledge graph API | 1.5 | 1.5 | Intelligent Q&A feature development and integration |
Device Location Module | Develop device location page, integrate map API, implement device location API | 1 | 1 | Device location feature development and map integration |
Interface Optimization and Integration | Integrate all modules, optimize interface layout, and integrate front-end and back-end functions | 1.5 | 1.5 | Module integration and interface optimization |
System Testing and Deployment | Conduct full system testing, regression testing, fix any issues, package front-end project, and deploy back-end service | 1.5 | 1.5 | System testing and deployment preparation |
Total | 10 | 10 |
The Gantt Chart of the 10 days is hwin below.