Extreme programming by FZU Flying Club

Catalogues


Course for This AssignmentEE308FZ Software Engineering https://bbs.csdn.net/forums/ssynkqtd-04
Team NameFZU Flying Club
Assignment Requirementshttps://bbs.csdn.net/topics/617593156
Objectives of This AssignmentUnderstanding Extreme Programming, improving software development literacy, fostering teamwork, and improving software programming efficiency
Other ReferencesNone

1 Project address

https://github.com/HenzieTorre/Extreme-programming

2 Screenshot of Github’s commit logs and Count the number of commits

The number of commits: 25+
The screenshots contains only part of the commits record:
在这里插入图片描述

Project repository creator:

在这里插入图片描述
Project Participating Developers:

在这里插入图片描述

3 Function implementation idea description

在这里插入图片描述

3.1 User Login Registration Module

First of all each person needs to create a user for himself, from the login meet jump to the registration interface, the user’s account password will be stored by us in the database, each newly created user’s account password exists in the database. After successfully registering a user and logging in, the user can jump to the scientific calculator. Front-end using CSS, JS, HTML, back-end using JAVA language (servlet, mybatis), database using mySQL.

3.2 Interest Rate Calculator Module

For The Interest Rate Calculator Function 1: Interest rate calculator contains “Calculate”, “Clear”, “Modify”, "Back "four buttons, two input boxes “enter the amount (yuan)”, “enter the length of time (months)”, the output box is “interest (yuan)”. The user can calculate the interest rate by clicking the “Calculate” button. The interest rate is divided into “Deposit” and “Loan”, and the interest rate for deposit and loan is different, which is saved in two separate data tables. Among them, the deposit includes fixed-term and demand, their interest rates are also different, see the first table of the project requirements.

For Interest Rate Calculator Function 2: The backend is implemented using the nodejs express framework, Database using mysql, Add a Modify Interest Rate button to the Interest Rate Calculator to implement the function of interest rate modification and modify the data in the tables to meet the task requirements.

3.3 Scientific Calculator Module

Scientific Calculator is not only capable of simple four operations, but also some complex mathematical operations, such as trigonometric functions and squaring functions. In addition, the scientific calculator is able to call the user’s history, scientific calculator to do to be able to view the history of each registered user, to do a user corresponds to a history, different users have different history. The front-end uses HTML, CSS and JS files, back-end using JAVA language (servlet, mybatis), and the database uses mySQL.

4 Screenshots and full run video program

4.1 User login registration module AND Scientific calculator module

4.1.1 Screenshots

在这里插入图片描述

在这里插入图片描述

4.1.2 Video

Demonstration Of User registration and login interface and scientific calculator


4.2 Interest rate calculator module

4.2.1 Screenshots

Interest rate calculator:

在这里插入图片描述
Modified interest rate:

在这里插入图片描述

4.2.2 Video

Interest rate calculator

Modified interest rate

5 Division of labor

5.1 User Login Registration Module

Zhang Qin: User login module UI design, user registration module UI design, user login front-end code implementation
Zhang Jiayang: User Login Front-end Code Implementation, User Registration Front-end Code Implementation
Peng Houming: User registration front-end code implementation
Chen Yuheng: User Login Registration Module Backend Database Implementation

5.2 Interest Rate Calculator Module

Zhao Pan: Interest rate calculator UI design, Interest rate calculator front-end code implementation
Yin Xiangbin: Front-end code implementation of interest rate calculator
Chen Zhenggang: Back-end database implementation of Interest Rate Calculator
Chen Jinghua: Database implementation of interest rate calculator backend

5.3 Scientific Calculator Module

Yi Li: UI design of scientific calculator, front-end code implementation of scientific calculator
Hu Jiachen: Scientific calculator front-end code implementation
Liu Yiqi: Scientific calculator back-end database implementation

6 Evaluation form

Student IDNameWork DescriptionContribution
832102212张钦(QIN ZHANG)User login module UI design, user registration module UI design, user login front-end code implementation10%
832102227彭厚铭(HOUMING PENG)User registration front-end code implementation6%
832101223胡佳辰(JIACHEN HU)Scientific calculator front-end code implementation6%
832101221易立(LI YI)UI design of scientific calculator, front-end code implementation of scientific calculator6%
832102221赵攀(PAN ZHAO)Interest rate calculator UI design, Interest rate calculator front-end code implementation6%
832102213张嘉扬(JIAYANG ZHANG)User Login Front-end Code Implementation, User Registration Front-end Code Implementation11%
832102214陈正罡(ZHENGGANG CHEN)Back-end database implementation of Interest Rate Calculator11%
832102215陈宇恒(YUHENG CHEN)User Login Registration Module Backend Database Implementation11%
832102219陈敬华(JINGHUA CHEN)Database implementation of interest rate calculator backend11%
832102205尹相斌(XIANGBIN YIN)Front-end code implementation of interest rate calculator11%
832102206刘译祺(YIQI LIU)Scientific calculator back-end database implementation11%

7 Difficulty description and PSP form (each team member)

7.1 Team Member 1: Zhang Qin

7.1.1 Difficulties encountered in cooperation and solutions

Problem 1: In the pre-extreme programming phase, communication between team members was not very smooth, and everyone’s schedules were cumbersome and inconvenient.

Solution: A team meeting was held to briefly communicate the task assignments with describing the task requirements clearly to ensure that everyone understood the requirements and goals of the task. And coordinate the time to set the deadline time for each task.

Problem 2: I also encountered technical challenges in the programming tasks, such as understanding the database and how to implement the user login function, as well as how to create a reasonable and comfortable UI interface.

Solution: I will support and share my experience with each other and with team members, and participate in the discussions of the development team. In short, when encountering technical difficulties, I will seek help and find solutions together.

Problem 3: In terms of time management, due to extreme programming, there is not much time left for our team to complete the project, the deadline is relatively advanced, and the tasks need to be completed in a short period of time, which leads to increased pressure on my time management.

Solution: I divide my personal tasks into small manageable parts, check progress regularly, create a good and reasonable timetable to complete my tasks, and make timely adjustments to the plan based on the progress of the tasks to ensure that I complete the tasks within the given time.

7.1.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning1010
• Estimate1010
Development240300
• Analysis1515
• Design Spec55
• Design Review1010
• Coding Standard1010
• Design2020
• Coding140200
• Code Review3030
• Test1010
Reporting3030
• Test Repor1515
• Size Measurement1010
• Postmortem & Process Improvement Plan55
Sum280340

7.2 Team Member 2: Zhao Pan

7.2.1 Difficulties encountered in cooperation and solutions

In Extreme Programming, I initially struggled to adapt to pair programming. However, continuous communication and guidance from team members helped me overcome this challenge.

7.2.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning
• Estimate3030
Development
• Analysis3040
• Design Spec1015
• Design Review55
• Coding Standard1010
• Design2020
• Coding120120
• Code Review3030
• Test2015
Reporting6090
• Test Repor1010
• Size Measurement2010
• Postmortem & Process Improvement Plan2020
Sum385415

7.3 Team Member 3: Hu Jiachen

7.3.1 Difficulties encountered in cooperation and solutions

Problems:

  1. The role and division of labour are unclear.

Solutions:

  1. Clarify the roles and responsibilities of each team member and ensure that everyone is clear about their own scope of work.
  2. Encourage team members to support and cooperate with each other to ensure a clear division of tasks.

7.3.2 PSP form

Personal Software Process StagesEstimated time (minutes)Actual time (minutes)
Planning105
Estimate1010
Development6090
Analysis3020
Design Spec3020
Design Review3010
Coding Standard305
Design3020
Coding6050
Code Review3030
Test3040
Test Report1020
Size Measurement1010
Postmortem & Process Improvement Plan3020
Total400350

7.4 Team Member 4: Yi Li

7.4.1 Difficulties encountered in cooperation and solutions

At the beginning of the project, the requirements were not explained simply and clearly enough, resulting in differences in understanding among members. It was only after a period of time that it was discovered that many of the things written could not be combined for use. After discovering the problem, the team increased the number of team meetings and requested a simple and intuitive description of how the project needs to proceed at each meeting to ensure that the team has the same direction.

7.4.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning3020
• Estimate3020
Development7070
• Analysis1010
• Design Spec1515
• Design Review55
• Coding Standard55
• Design1515
• Coding1515
• Code Review55
• Test1010
Reporting2020
• Test Repor1010
• Size Measurement55
• Postmortem & Process Improvement Plan55
Sum120120

7.5 Team Member 5: Peng Houming

7.5.1 Difficulties encountered in cooperation and solutions

  1. Communication problems: Team members may have communication problems in terms of requirements understanding, implementation details, etc.

    • Solution: Regular station meetings can help improve communication efficiency. The use of simple and clear tools, such as whiteboards and cards, can help to express ideas clearly. In addition, continuous integration can be used to ensure timely feedback on code changes.
  2. Requirements Changes: Requirements may change as the project progresses, which can lead to uncertainty about the direction of the team.

    • Solution: XP encourages flexible responses to requirements. Discuss and adjust requirements in a timely manner during station meetings and iteration reviews. Maintain close contact with customers to get quick feedback and adapt to changes.
  3. Insufficient Iteration Time: The time for each iteration may be underestimated, resulting in tasks not being completed on time.

    • Solution: Consider potential uncertainty in the iteration plan and allow some buffer time. Conduct a review at the end of the iteration to understand the actual completion status to better estimate the workload for the next iteration.
  4. Inadequate Test Coverage: Due to time pressure, tests may be neglected, leading to a drop in code quality.

    • Solution: Implement test-driven development (TDD) to ensure that tests are written before code is written. Automated testing improves testing efficiency and reduces the workload of manual testing.

7.5.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning2025
• Estimate2025
Development135140
• Analysis2025
• Design Spec1010
• Design Review1515
• Coding Standard1515
• Design2020
• Coding3535
• Code Review1010
• Test1010
Reporting1515
• Test Repor55
• Size Measurement55
• Postmortem & Process Improvement Plan55
Sum170180

7.6 Team Member 6: Liu Yiqi

7.6.1 Difficulties encountered in cooperation and solutions

This assignment is to add an interest rate calculator to our second calculator assignment. The more difficult part is the interaction code between the front-end and the database. Since I have never learned the database before, I referred to some materials and codes on the b website and roughly understood the mode and code of interaction between the preceding paragraph and the database.

7.6.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning
• Estimate1010
Development
• Analysis1515
• Design Spec55
• Design Review1010
• Coding Standard1010
• Design2020
• Coding240300
• Code Review3030
• Test1010
Reporting
• Test Repor1515
• Size Measurement1010
• Postmortem & Process Improvement Plan55
Sum380440

7.7 Team Member 7: Yin Xiangbin

7.7.1 Difficulties encountered in cooperation and solutions

This assignment is to add the function of calculating interest rate on the basis of separating the front and back end of the computer. We think the main difficulty of this programming is how to add this function to the calculator. We determined the implementation method through discussion, and at the same time learned and wrote the relevant code, and successfully completed the goal.

7.7.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning
• Estimate1010
Development
• Analysis1515
• Design Spec55
• Design Review1010
• Coding Standard1010
• Design2020
• Coding200240
• Code Review3030
• Test1010
Reporting
• Test Repor1515
• Size Measurement1010
• Postmortem & Process Improvement Plan55
Sum340380

7.8 Team Member 8: Chen Zhenggang

7.8.1 Difficulties encountered in cooperation and solutions

Difficulties encountered: use of databases, writing of sql statements
Solution: Check the database study notes

7.8.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning4030
• Estimate3020
Development2010
• Analysis1020
• Design Spec2030
• Design Review3040
• Coding Standard4030
• Design3020
• Coding2010
• Code Review1020
• Test2030
Reporting3040
• Test Repor4030
• Size Measurement3040
• Postmortem & Process Improvement Plan3020
Sum400390

7.9 Team Member 9: Zhang Jiayang

7.9.1 Difficulties encountered in cooperation and solutions

when I write user login and registration, I do not know how to jump to another page, and then I see the explanation of others in CSDN to know how to write, and when writing with other front-end writers, I need to wait for others’ git upload to see the overall web page, and we can only quickly write their own pages.

7.9.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning3030
• Estimate3030
Development245255
• Analysis3040
• Design Spec1015
• Design Review55
• Coding Standard1010
• Design2020
• Coding120120
• Code Review3030
• Test2015
Reporting6090
• Test Repor1010
• Size Measurement1010
• Postmortem & Process Improvement Plan2020
Sum375415

7.10 Team Member 10: Chen Jinghua

7.10.1 Difficulties encountered in cooperation and solutions

During the cooperation process, some front-end parts failed to connect with the back-end. Solve the problem after many negotiations.

7.10.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning
• Estimate6065
Development
• Analysis1010
• Design Spec2010
• Design Review2015
• Coding Standard4040
• Design6080
• Coding4060
• Code Review1020
• Test1030
Reporting
• Test Repor1510
• Size Measurement108
• Postmortem & Process Improvement Plan1010
Sum305368

7.11 Team Member 11: Chen Yuheng

7.11.1 Difficulties encountered in cooperation and solutions

Problem: Web page maladaptation and browser caching issues make debugging difficult.

Solution: Problem solving through csdn and google searches.

7.11.2 PSP form

Personal Software Process StagesEstimated Time(minutes)Actual Time(minutes)
Planning
• Estimate3035
Development
• Analysis1010
• Design Spec2010
• Design Review2015
• Coding Standard4040
• Design6080
• Coding4060
• Code Review1020
• Test1030
Reporting
• Test Repor1510
• Size Measurement108
• Postmortem & Process Improvement Plan1010
Sum275338

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值