Extreme Programming--MuYu(Fifth assignment)

MuYu2033 团队账号 2023-11-19 21:37:57

 

 Course for This Assignmenthttps://bbs.csdn.net/forums/ssynkqtd-04
Team NameMUYU
Assignment Requirementshttps://bbs.csdn.net/topics/617593156
Objectives of This AssignmentInterest rate calculation on the basis of scientific calculator
Other ReferencesNO reference

CATALOGUE

1. Project address

2. Github's submission log

3. Functional implementation ideas

Sign Up Page

Log In Page

Scientific Calculator Page

Interest Rate Calculator Page

4. Program demonstration 

Registration and login module

Scientific Calculator functions

Calculate deposit and loan interest

Modify deposit and loan interest on the front-end

5. Division of labor among team members

6. Evaluate the contribution ratio

7. Difficulties encountered in cooperation and solutions attached PSP form

8. Project Implementation Summary

Technical Aspect

Team Collaboration

Task Summary


1. Project address

warehouse area:https://github.com/Kev1nForever/MuYu/tree/main/ExtremeCoding/Version_3.0

 

2. Github's submission log

​

 

3. Functional implementation ideas

Sign Up Page

  • Frontend (Sign_up.js)

(1) User Input: Collect user account and password input from the registration form.

(2) Sent to Backend: After clicking the "Sign Up" button, send a request to the backend API containing user account and password data.

  • Backend (API/Server)

(1) Receive Data: Accept incoming data on the server.

(2) Database Interaction: Add user information (account and password) to the 'user' table in the database.

 

Log In Page

  • Frontend (Log_in.js)

(1) User Input: Obtain user account and password from the login form.

(2) Sent to Backend: Send a request to the backend API using the user's login credentials.

  • Backend (API/Serve)

(1) Receive Data: Receive login credentials on the server.

(2) Database Query: Check if the entered username and password match any records in the database.

(3)Authentication: If the credentials are valid, create a session for the user to maintain their login status.

 

Scientific Calculator Page

  • Frontend

(1) Login Check: Before displaying the scientific calculator page, ensure the user is logged in. If not logged in, redirect to the login page. On the login page, after entering the account and password, send a request to the database to match the entered credentials. If incorrect, return "failure." On the registration page, the entered account and password will be sent to the database for storage to ensure successful login.

(2) UI Switch: After successful login, switch the user interface to the scientific calculator page.

(3) Scientific Calculator Features: Implement the functionality of the scientific calculator using HTML, CSS, and JavaScript.

(4) History Records: Retrieve recent calculation history.

 

Interest Rate Calculator Page

  • Frontend

(1) Navigation: Provide a method for navigating between the scientific calculator and interest rate calculator pages.

(2) UI Switch: Allow users to switch between the scientific calculator and interest rate calculator pages.

(3) Logic Handling: Implement logic for switching between the functionalities of the scientific calculator and interest rate calculator.

  • Backend (API/Server)

(1) Use the Flask framework in Python to write backend route handling for the web application.

(2) Functionality Implementation:

- Handling GET Requests: This route handling function only responds to HTTP GET requests.

- Database Query: Retrieve all user information from the table named "users" using the database query statement cursor.execute("SELECT * FROM users").

- Exception Handling: Capture potential exceptions, such as database query failure, within a try-except block. If an exception occurs, return the error message in JSON format, using an HTTP status code of 500 to indicate a server error.

- Return JSON Data: Return the results of the database query to the frontend in JSON format using jsonify({"data": users}). This allows the frontend to parse the JSON data and obtain user information.

 

4. Program demonstration 

Registration and login module

​​

 

Scientific Calculator functions

​

 

Calculate deposit and loan interest

​

 

Modify deposit and loan interest on the front-end

​

 

5. Division of labor among team members

(1) 林泽煌 (Frontend Framework Setup):

Responsible for selecting and setting up the frontend framework, ensuring the project has a well-organized frontend architecture.

(2) 傅安 (Backend Framework and Algorithms):

In charge of selecting and establishing the backend framework, implementing backend algorithmic logic, ensuring system stability, and efficiency.

(3) 化少巍 (Frontend and Backend Testing and Optimization):

Responsible for formulating frontend and backend testing strategies, executing tests, and providing optimization suggestions to ensure system quality and performance.

(4) 郑培炎, 林崇正, 徐抒杰 (Backend Testing Optimization and Database Debugging):

Collaborating on backend testing, optimizing backend code, and debugging the database to ensure system stability and data consistency.

(5) 魏灵菲, 邱淳彦, 陈怡萱 (Frontend Optimization - Login Interface):

Tasked with optimizing the user experience of the login interface, including interface design, interaction logic, and performance optimization.

(6) 王文瑞, 吕辉煌, 郑宇翔 (Frontend Optimization - Calculator Interface):

Responsible for optimizing the scientific calculator interface to ensure a user-friendly calculator experience, including interface design, interaction logic, and performance optimization.

(7) 林佳柽, 吴新宇, 陈奕晖 (Frontend Optimization - Interest Rate Interface):

Responsible for optimizing the interest rate calculator interface, ensuring users can easily perform interest rate calculations, including interface design, interaction logic, and performance optimization.

 

6. Evaluate the contribution ratio

Student IDWork DescriptionContribution
832101114 林泽煌Front-end frame construction12%
832101129 傅安Back-end frameworks and algorithms18%
832101102 化少巍Front-end and back-end testing and optimization12%
832101119 郑培炎Back-end test optimization and database debugging3.167%
832101115 林崇正Back-end test optimization and database debugging3.167%
832101122 徐抒杰Back-end test optimization and database debugging3.167%
832101107 邱淳彦Front-end optimization-login interface and blog writing9%
832101130 魏灵菲Front-end optimization-login interface4.5%
832101110 陈怡萱Front-end optimization-login interface4.5%
832101103 吕辉煌Front-end optimization-Computer interface12%
832101101 王文锐Front-end optimization-Computer interface4.5%
832101118 郑宇翔Front-end optimization-Computer interface4.5%
832101113 林佳柽Front-end optimization-Interest rate interface3.167%
832101106 吴新宇Front-end optimization-Interest rate interface3.167%
832101111 陈奕晖Front-end optimization-Interest rate interface3.167%

 

7. Difficulties encountered in cooperation and solutions attached PSP form

  • 林泽煌 (Frontend Framework Setup)

    Challenge 1: Front-end and Back-end Collaborative Development — The development progress of the front-end and back-end is not synchronized, leading to integration issues.
    Solution: Conduct regular integration testing to ensure consistent coordination of interfaces between the front-end and back-end.

    Challenge 2: Front-end and Back-end Collaboration — Unable to ensure smooth collaboration between the front-end and back-end.
    Solutions:
    (1) Define clear API interfaces to ensure consistency in data formats and communication protocols between the front-end and back-end.
    (2) Use version control systems (such as Git) to coordinate front-end and back-end development work.
    (3) Hold regular communication and coordination meetings to ensure the overall progress of the project.

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2025
Estimate2025
Development205230
Analysis1520
Design Spec1010
Design Review1010
Coding Standard1010
Design3030
Coding8090
Code Review2020
Test3040
Reporting3540
Test Repor1010
Size Measurement1015
Postmortem & Process Improvement Plan1515
Sum260295

 

  • 傅安 (Backend Framework and Algorithms)

    Challenge 1: Data Format Consistency — There may be inconsistencies in the data format exchanged between the front-end and back-end.
    Solutions:
    (1) Use a standardized data interchange format, such as JSON, to reduce the possibility of data format issues.
    (2) Establish clear data conventions between the front-end and back-end to ensure data consistency and correctness.

    Challenge 2: Communication Issues — Communication between front-end and back-end team members is not smooth.
    Solutions:
    (1) Facilitate offline communication to promptly address issues.
    (2) Appoint Hua Shaowei to coordinate work between the front-end and back-end teams.

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2025
Estimate2025
Development205235
Analysis1520
Design Spec1010
Design Review1010
Coding Standard1010
Design3030
Coding80100
Code Review2025
Test3030
Reporting3530
Test Repor1010
Size Measurement1010
Postmortem & Process Improvement Plan1510
Sum260290

 

  • 化少巍 (Frontend and Backend Testing and Optimization)

    Challenge 1: Compatibility Issues — Due to differences in various browsers, there are display problems with the front-end pages on different browsers.
    Solutions:
    (1) Use CSS hacks for compatibility testing.
    (2) Utilize other tools for individual testing to address compatibility issues.

    Challenge 2: Version Control Issues — At the early stages of a task, front-end and back-end team members release multiple versions in a single day, resulting in excessively frequent versions and adding a burden to the testing process.
    Solution: Reduce the frequency of version releases. The front-end and back-end teams should finalize and release versions only after thorough testing and optimization, documenting the tested features on each version.

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2020
Estimate2020
Development175215
Analysis1020
Design Spec510
Design Review510
Coding Standard55
Design3040
Coding1010
Code Review5060
Test6060
Reporting3530
Test Repor1010
Size Measurement1010
Postmortem & Process Improvement Plan1510
Sum230265

 

  • 郑培炎, 林崇正, 徐抒杰 (Backend Testing Optimization and Database Debugging)

    Challenge 1: Data Consistency Issues — During back-end testing, data loss and data errors were encountered in the database debugging process.
    Solutions:
    (1) Implement transaction control for database operations and use database backup and restore tools for data recovery.
    (2) Write well-structured database operation statements to ensure data consistency.

    Challenge 2: Database Connection Issues — Database connection problems in back-end testing are preventing normal test execution.
    Solutions:
    (1) Check the configuration of the database connection string to ensure correctness and verify that the database service is running properly.
    (2) Use a database connection pool for connection management to avoid issues related to too many or too few connections.

    Challenge 3: Slow SQL Issues — While debugging with the MySQL database, there were instances of slow SQL affecting database query performance.
    Solutions:
    (1) Use analysis and diagnostic tools (such as `mysql explain`) to analyze and optimize SQL queries, improving query efficiency and preventing slow SQL issues.
    (2) Pay attention to index-related rules when writing SQL queries to avoid common issues caused by SQL writing, and check SQL statements before the debugging process to prevent problems.

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2020
Estimate2020
Development105130
Analysis1010
Design Spec55
Design Review55
Coding Standard55
Design2030
Coding1010
Code Review2030
Test3035
Reporting3530
Test Repor1010
Size Measurement1010
Postmortem & Process Improvement Plan1510
Sum160180

 

  • 魏灵菲, 邱淳彦, 陈怡萱 (Frontend Optimization - Login Interface)

    Challenge 1: Cleanliness of the Interface — Ensuring the login page is both secure and user-friendly with appropriate identity verification, avoiding excessive steps and complexity.
    Solution: Reference the login interface of a second-hand trading platform on an instant messaging app that we have used before, maintaining a clean and simple page.

    Challenge 2: Communication Issues — During remote design processes, there are communication barriers, increasing collaboration difficulties.
    Solution: Use video conferencing communication tools to ensure timely and effective message communication.

  • 王文瑞, 吕辉煌, 郑宇翔 (Frontend Optimization - Calculator Interface)

    Challenge 1: Consistency in Interface — Ensuring the cleanliness of the page and consistency with the login interface style to maintain a clear overall framework.
    Solution: Adhere to the principles of simple design, make optimal use of white space, and maintain a unified design style.

    Challenge 2: Requirement Changes — Changing requirements leading to frequent format adjustments.
    Solution: Communicate information in a timely manner to ensure synchronization of information.

  • 林佳柽, 吴新宇, 陈奕晖 (Frontend Optimization - Interest Rate Interface)

    Challenge 1: Diversity in Interface — Involving numerous elements related to interest rates, ensuring that the page can accommodate various interest rate calculations.
    Solution: Consider different types of interest rate calculations, provide flexible input fields to accommodate various types of interest rates, terms, and other relevant parameters.

    Challenge 2: Time Uniformity — Each team member has different schedules, making it challenging to collaborate at the same time.
    Solution: Plan the project schedule in advance, establish clear work plans, and share them within the team.

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2020
Estimate2020
Development105135
Analysis1010
Design Spec1015
Design Review1015
Coding Standard55
Design2020
Coding3050
Code Review1010
Test1010
Reporting3535
Test Repor1010
Size Measurement1010
Postmortem & Process Improvement Plan1515
Sum160190

 

8. Project Implementation Summary

Technical Aspect

In this project, we employed advanced technical tools and methodologies. On the frontend, we utilized modern JavaScript libraries, such as React, to build the user interface, ensuring a smooth user experience. On the backend, we employed Python's Flask framework to develop the API, facilitating data interaction between the frontend and backend. The use of version control systems, such as Git, effectively coordinated the development efforts between frontend and backend, ensuring code consistency and maintainability.

Team Collaboration

Throughout the project, the team collaborated closely, following agile development practices. Regular coordination meetings and offline communication ensured effective communication among team members. Clear API interface definitions and data conventions were established, ensuring smooth collaboration between frontend and backend. Through collective efforts, the team overcame synchronization issues that might arise in frontend and backend collaborative development.

Task Summary

The implementation approach outlined for the project successfully realized functionalities such as registration, login, scientific calculator, and interest rate calculator. By adopting a unified data exchange format (JSON) and version control system management, data consistency and code traceability were ensured. The team demonstrated excellence in addressing challenges related to data format consistency, communication issues, interface compatibility, contributing significantly to the smooth completion of the project.

 

...全文
187 回复 打赏 收藏 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文介绍了基于Matlab代码实现的电力系统机组组合优化调度方法,适用于IEEE14、IEEE30和IEEE118节点标准测试系统。该资源聚焦于电力系统中发电机组的优化调度问题,通过智能优化算法实现对机组启停、出力分配等决策的最优化,旨在降低运行成本、提升系统可靠性和经济性。文中系统阐述了从数学模型构建、多类型约束处理到优化算法设计与仿真实验验证的完整研究流程,并提供了可复现的Matlab代码,涵盖目标函数设定、约束条件建模及算法求解过程,适用于电力系统调度、能源优化等相关领域的科研与教学实践。; 适合人群:具备电力系统分析、运筹学基础及Matlab编程能力的高校学生、科研人员和工程技术人员,尤其适合从事电力系统优化、智能算法应用研究的研究生与青年学者。; 使用场景及目标:①用于电力系统机组组合(UC)问题的教学实验与课程设计;②支撑科研工作中对遗传算法、粒子群算法等智能优化算法在电力系统调度中应用的研究;③为含可再生能源接入的现代电网调度提供仿真平台与技术参考,助力低碳电力系统规划与运行。; 阅读建议:建议读者结合电力系统调度理论与优化建模知识,深入理解机组组合问题的数学本质与物理约束,再通过Matlab代码进行仿真实践,重点关注算法收敛性、多目标权衡策略与不同测试系统间的性能对比,以实现理论与实践的深度融合。
内容概要:本文研究了一种基于TCN-BiGRU-Attention混合神经网络模型的风电功率预测方法,旨在提升预测精度。该模型融合了时间卷积网络(TCN)对局部时序特征的强大提取能力、双向门控循环单元(BiGRU)对时间序列前后依赖关系的双向捕捉能力,以及注意力(Attention)机制对关键时间步特征的自适应加权聚焦能力。研究采用多变量输入方式,综合纳入风速、风向、温度等多种气象因素作为输入特征,实现风电功率的单步预测。通过对实际风电场数据的实验验证,该模型在预测精度方面相较于单一模型或其他组合模型展现出显著优势,有效降低了预测误差。; 适合人群:具备一定机器学习与深度学习基础,从事新能源预测、电力系统调度或相关领域研究的科研人员与工程技术人员。; 使用场景及目标:①应用于风电场功率实时预测,提升电网调度的稳定性与安全性;②为电力市场交易、储能配置和可再生能源消纳提供高精度数据支持;③作为深度学习模型融合设计的参考案例,推动时序预测技术的发展。; 阅读建议:此资源提供了完整的Matlab代码实现,读者在学习时应重点关注模型结构的设计原理、多变量特征的处理方式以及Attention机制的融入方法,建议结合代码进行复现实验,调整参数以深入理解各组件对最终预测性能的影响。
内容概要:本文聚焦于非线性值迭代自适应动态规划(ADP)算法的研究,通过复现Matlab代码深入探讨离散时间非线性系统的策略迭代方法。文章系统阐述了ADP算法的核心原理,重点分析了其在处理非线性系统时的优势与挑战,并详细展示了值迭代与策略迭代在优化控制策略中的具体实现过程。研究强调了通过迭代优化实现系统性能最大化的方法论,同时提供了完整的代码与文档资源,便于读者进行深入学习与实践。; 适合人群:具备一定编程基础,尤其是对Matlab有初步了解的研发人员,以及从事控制理论、自动化、人工智能等领域的研究人员和研究生。; 使用场景及目标:① 为控制理论与自动化领域的研究者提供非线性系统控制策略设计与实现的实用案例;② 为学生和初学者提供学习与理解自适应动态规划算法及其在非线性系统中应用的实践机会;③ 推动相关领域的学术交流与技术进步,激发更多研究者投身于非线性控制系统的研究与优化。; 阅读建议:此资源兼具理论深度与实践指导。建议读者在学习过程中紧密结合理论知识与代码操作,动手实现算法,并通过调整参数或应用场景来深化理解。同时,可参考提供的参考资料,进一步探索自适应动态规划领域的最新研究进展。

176

社区成员

发帖
与我相关
我的任务
社区描述
梅努斯软件工程
软件工程 高校 福建省·福州市
社区管理员
  • LinQF39
  • Jcandc
  • chjinhuu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧