Catalogues
- 1 Project address
- 2 Screenshot of Github's commit logs and Count the number of commits
- 3 Function implementation idea description
- 4 Screenshots and full run video program
- 5 Division of labor
- 6 Evaluation form
- 7 Difficulty description and PSP form (each team member)
- 7.1 Team Member 1: Zhang Qin
- 7.2 Team Member 2: Zhao Pan
- 7.3 Team Member 3: Hu Jiachen
- 7.4 Team Member 4: Yi Li
- 7.5 Team Member 5: Peng Houming
- 7.6 Team Member 6: Liu Yiqi
- 7.7 Team Member 7: Yin Xiangbin
- 7.8 Team Member 8: Chen Zhenggang
- 7.9 Team Member 9: Zhang Jiayang
- 7.10 Team Member 10: Chen Jinghua
- 7.11 Team Member 11: Chen Yuheng
Course for This Assignment | EE308FZ Software Engineering https://bbs.csdn.net/forums/ssynkqtd-04 |
---|---|
Team Name | FZU Flying Club |
Assignment Requirements | https://bbs.csdn.net/topics/617593156 |
Objectives of This Assignment | Understanding Extreme Programming, improving software development literacy, fostering teamwork, and improving software programming efficiency |
Other References | None |
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 ID | Name | Work Description | Contribution |
---|---|---|---|
832102212 | 张钦(QIN ZHANG) | User login module UI design, user registration module UI design, user login front-end code implementation | 10% |
832102227 | 彭厚铭(HOUMING PENG) | User registration front-end code implementation | 6% |
832101223 | 胡佳辰(JIACHEN HU) | Scientific calculator front-end code implementation | 6% |
832101221 | 易立(LI YI) | UI design of scientific calculator, front-end code implementation of scientific calculator | 6% |
832102221 | 赵攀(PAN ZHAO) | Interest rate calculator UI design, Interest rate calculator front-end code implementation | 6% |
832102213 | 张嘉扬(JIAYANG ZHANG) | User Login Front-end Code Implementation, User Registration Front-end Code Implementation | 11% |
832102214 | 陈正罡(ZHENGGANG CHEN) | Back-end database implementation of Interest Rate Calculator | 11% |
832102215 | 陈宇恒(YUHENG CHEN) | User Login Registration Module Backend Database Implementation | 11% |
832102219 | 陈敬华(JINGHUA CHEN) | Database implementation of interest rate calculator backend | 11% |
832102205 | 尹相斌(XIANGBIN YIN) | Front-end code implementation of interest rate calculator | 11% |
832102206 | 刘译祺(YIQI LIU) | Scientific calculator back-end database implementation | 11% |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | 10 | 10 |
• Estimate | 10 | 10 |
Development | 240 | 300 |
• Analysis | 15 | 15 |
• Design Spec | 5 | 5 |
• Design Review | 10 | 10 |
• Coding Standard | 10 | 10 |
• Design | 20 | 20 |
• Coding | 140 | 200 |
• Code Review | 30 | 30 |
• Test | 10 | 10 |
Reporting | 30 | 30 |
• Test Repor | 15 | 15 |
• Size Measurement | 10 | 10 |
• Postmortem & Process Improvement Plan | 5 | 5 |
Sum | 280 | 340 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | ||
• Estimate | 30 | 30 |
Development | ||
• Analysis | 30 | 40 |
• Design Spec | 10 | 15 |
• Design Review | 5 | 5 |
• Coding Standard | 10 | 10 |
• Design | 20 | 20 |
• Coding | 120 | 120 |
• Code Review | 30 | 30 |
• Test | 20 | 15 |
Reporting | 60 | 90 |
• Test Repor | 10 | 10 |
• Size Measurement | 20 | 10 |
• Postmortem & Process Improvement Plan | 20 | 20 |
Sum | 385 | 415 |
7.3 Team Member 3: Hu Jiachen
7.3.1 Difficulties encountered in cooperation and solutions
Problems:
- The role and division of labour are unclear.
Solutions:
- Clarify the roles and responsibilities of each team member and ensure that everyone is clear about their own scope of work.
- 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 Stages | Estimated time (minutes) | Actual time (minutes) |
---|---|---|
Planning | 10 | 5 |
Estimate | 10 | 10 |
Development | 60 | 90 |
Analysis | 30 | 20 |
Design Spec | 30 | 20 |
Design Review | 30 | 10 |
Coding Standard | 30 | 5 |
Design | 30 | 20 |
Coding | 60 | 50 |
Code Review | 30 | 30 |
Test | 30 | 40 |
Test Report | 10 | 20 |
Size Measurement | 10 | 10 |
Postmortem & Process Improvement Plan | 30 | 20 |
Total | 400 | 350 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | 30 | 20 |
• Estimate | 30 | 20 |
Development | 70 | 70 |
• Analysis | 10 | 10 |
• Design Spec | 15 | 15 |
• Design Review | 5 | 5 |
• Coding Standard | 5 | 5 |
• Design | 15 | 15 |
• Coding | 15 | 15 |
• Code Review | 5 | 5 |
• Test | 10 | 10 |
Reporting | 20 | 20 |
• Test Repor | 10 | 10 |
• Size Measurement | 5 | 5 |
• Postmortem & Process Improvement Plan | 5 | 5 |
Sum | 120 | 120 |
7.5 Team Member 5: Peng Houming
7.5.1 Difficulties encountered in cooperation and solutions
-
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.
-
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.
-
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.
-
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | 20 | 25 |
• Estimate | 20 | 25 |
Development | 135 | 140 |
• Analysis | 20 | 25 |
• Design Spec | 10 | 10 |
• Design Review | 15 | 15 |
• Coding Standard | 15 | 15 |
• Design | 20 | 20 |
• Coding | 35 | 35 |
• Code Review | 10 | 10 |
• Test | 10 | 10 |
Reporting | 15 | 15 |
• Test Repor | 5 | 5 |
• Size Measurement | 5 | 5 |
• Postmortem & Process Improvement Plan | 5 | 5 |
Sum | 170 | 180 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | ||
• Estimate | 10 | 10 |
Development | ||
• Analysis | 15 | 15 |
• Design Spec | 5 | 5 |
• Design Review | 10 | 10 |
• Coding Standard | 10 | 10 |
• Design | 20 | 20 |
• Coding | 240 | 300 |
• Code Review | 30 | 30 |
• Test | 10 | 10 |
Reporting | ||
• Test Repor | 15 | 15 |
• Size Measurement | 10 | 10 |
• Postmortem & Process Improvement Plan | 5 | 5 |
Sum | 380 | 440 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | ||
• Estimate | 10 | 10 |
Development | ||
• Analysis | 15 | 15 |
• Design Spec | 5 | 5 |
• Design Review | 10 | 10 |
• Coding Standard | 10 | 10 |
• Design | 20 | 20 |
• Coding | 200 | 240 |
• Code Review | 30 | 30 |
• Test | 10 | 10 |
Reporting | ||
• Test Repor | 15 | 15 |
• Size Measurement | 10 | 10 |
• Postmortem & Process Improvement Plan | 5 | 5 |
Sum | 340 | 380 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | 40 | 30 |
• Estimate | 30 | 20 |
Development | 20 | 10 |
• Analysis | 10 | 20 |
• Design Spec | 20 | 30 |
• Design Review | 30 | 40 |
• Coding Standard | 40 | 30 |
• Design | 30 | 20 |
• Coding | 20 | 10 |
• Code Review | 10 | 20 |
• Test | 20 | 30 |
Reporting | 30 | 40 |
• Test Repor | 40 | 30 |
• Size Measurement | 30 | 40 |
• Postmortem & Process Improvement Plan | 30 | 20 |
Sum | 400 | 390 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | 30 | 30 |
• Estimate | 30 | 30 |
Development | 245 | 255 |
• Analysis | 30 | 40 |
• Design Spec | 10 | 15 |
• Design Review | 5 | 5 |
• Coding Standard | 10 | 10 |
• Design | 20 | 20 |
• Coding | 120 | 120 |
• Code Review | 30 | 30 |
• Test | 20 | 15 |
Reporting | 60 | 90 |
• Test Repor | 10 | 10 |
• Size Measurement | 10 | 10 |
• Postmortem & Process Improvement Plan | 20 | 20 |
Sum | 375 | 415 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | ||
• Estimate | 60 | 65 |
Development | ||
• Analysis | 10 | 10 |
• Design Spec | 20 | 10 |
• Design Review | 20 | 15 |
• Coding Standard | 40 | 40 |
• Design | 60 | 80 |
• Coding | 40 | 60 |
• Code Review | 10 | 20 |
• Test | 10 | 30 |
Reporting | ||
• Test Repor | 15 | 10 |
• Size Measurement | 10 | 8 |
• Postmortem & Process Improvement Plan | 10 | 10 |
Sum | 305 | 368 |
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 Stages | Estimated Time(minutes) | Actual Time(minutes) |
---|---|---|
Planning | ||
• Estimate | 30 | 35 |
Development | ||
• Analysis | 10 | 10 |
• Design Spec | 20 | 10 |
• Design Review | 20 | 15 |
• Coding Standard | 40 | 40 |
• Design | 60 | 80 |
• Coding | 40 | 60 |
• Code Review | 10 | 20 |
• Test | 10 | 30 |
Reporting | ||
• Test Repor | 15 | 10 |
• Size Measurement | 10 | 8 |
• Postmortem & Process Improvement Plan | 10 | 10 |
Sum | 275 | 338 |