极限编程
To ensure no assignment details are overlooked, here is a checklist for students to quickly review:
-
Fork the repository and discuss with teammates how to collaborate via Git / code standards, etc.
-
Program Implementation
-
Deployment
-
Release a version and initiate a pull request
-
Write a blog and submit it prior to the deadline
Deadline
The deadline for this assignment is: December 12, 2025 23:59
Note: The blog needs to be reviewed after publication, please remember to publish the blog in advance to avoid affecting the assignment submission.
1. Basic functions
1.1 bookmark contacts 25‘
- One of the key functionalities you need to implement is the ability for users to favorite/bookmark contacts. This should allow users to mark certain contacts as important or frequently contacted, making it easier for them to access these contacts quickly in the future.".**
1.2. add multiple contact methods 10‘
- In your application, you should enable users to associate multiple contact details with a single contact. This could include, but is not limited to, phone numbers, email addresses, social media handles, and physical addresses.
1.3. Import and Export 25‘
Implement an address book import and export function:
- Export: Export each contact and all their information in the address book to an Excel spreadsheet. Format the spreadsheet correctly, with each contact's information in a separate row and each type of information (e.g., name, phone number) in a separate column.
- Import: Be able to read and add information from an Excel file with the correct format into the address book.
1.4. Web Deployment(optional 15‘)
- deploy your address book on a cloud server. The project is deployed on servers such as Huawei Cloud or Alibaba Cloud, and the link to localhost does not count as cloud deployment
2.Homework content
- Design the division of module in advance
- It's a multi-person collaborative work. Although this is a team task, we hope that each student can complete a total development process through group communication. Everyone needs to participate in coding. Establish a GitHub team repository (commit times ≥ 3) and upload relevant programs and documents to the repository before the deadline.There are no mandatory requirements for the repository directory structure, but it is important to ensure that the code provided by this repository can be relied on to build the project.
- Two people share a single Markdown document and both need to submit blogs as their own records. And the blog with the following content:
* Project address (repository address, access address, and other related addresses)
* Take a screenshot of Github's submission log and count the commit times of each one
* Description of functional implementation ideas
* Screenshots and complete running video of the program
* Division of labor among team members
* Evaluate the contribution ratio of each team member, with a total score of 100
* Difficulties encountered in cooperation and solutions
* Team member 1
* …
* Team member 2
* …
* PSP table (one table per team member, posted on blog)
3.Assignment Grading Criteria and Evaluation Rule
The total score for this assignment is 100 points.
- (30’)Basic Requirements [Covering Course Objective 2]
- (10‘) Blog Formatting, using Markdown formatting; Provide the Github repository link correctly and the code standard link.
- (20‘) Description of functional implementation ideas, Program screenshot, Division of labor among members.
- (70‘)Coding Implementation [Covering Course Objective 4]
- (10‘) Page Style
- (25‘) bookmark contacts
- (10‘) add multiple contact methods
- (25‘) Import and Export
To help teachers or teaching assistants from other schools understand the course situation, please add a format description at the beginning of the assignment:
|Course for This Assignment|... |
|-- |-- |
|Team Name|... |
|Assignment Requirements|... |
|Objectives of This Assignment|... |
|Other References|... |