Extreme Programming
| Course for This Assignment | 2401_MU_SE_EE308 |
|---|---|
| First member | Liu Danni (MU: FZU:832202208) |
| Second member | Wu Yansghun (MU: FZU:832202213) |
| Assignment requirements | Contact management system |
| Github Address | https://github.com/lnd2014/ExtremeProgramming |
| Other References | 2021最新阿里代码规范 |
Catalog
- 1.Github's submission log
- 2.Description of functional implementation ideas
- 2.1 Bookmark/Favorite Contacts
- 2.2 Add Multiple Contact Methods
- 2.3 Import and Export Contacts
- 3.Functional implementation
- 3.1 Bookmark contacts
- 3.2 Add multiple contact methods
- 3.3 Import and Export
- 4.Division of labor
- 5.Difficulties encountered in cooperation and solutions
- 5.1 The data format does not match
- 5.2 State management problem
- 6.PSP table
1.Github's submission log
- main branch

- new branch

2.Description of functional implementation ideas
2.1 Bookmark/Favorite Contacts
Objective: Allow users to mark certain contacts as favorites for quick access.
Implementation Ideas:
- UI Element: Introduce a "Star" icon next to each contact in the list. Users can click this icon to toggle the bookmark status.
- Database Schema: Add a
starboolean field to the contacts table in your database to track whether a contact is bookmarked.
2.2 Add Multiple Contact Methods
Objective: Enable users to store multiple contact methods for a single contact.
Implementation Ideas:
- UI Design: Set a detail link next to the contact, click to enter the details page to edit the contact information
- Data Structure: Use a relational database design where a contact can have multiple entries in a
contact_methodstable, each linked to the maincontactstable via a foreign key. - Validation: Ensure that the input methods are validated for correctness (e.g., email format, phone number format).
- Edit and Delete: Allow users to edit or delete individual contact methods without affecting the main contact information.
2.3 Import and Export Contacts
Objective: Enable users to import and export their contacts to and from an Excel spreadsheet.
Implementation Ideas:
(1)Export:
- Data Retrieval: Fetch all contacts and their details from the database.
- Formatting: Ensure that the data is formatted correctly in the spreadsheet, with appropriate headers and data types
- File Download: Provide a download button that users can click to download the generated Excel file.
(2) Import:
- File Upload: Allow users to upload an Excel file through a file input in the UI.
- Data Parsing: Read the Excel file and parse the data, ensuring that it matches the expected format.
- Data Validation: Validate the imported data for completeness and correctness before adding it to the database.
3.Functional implementation
3.1 Bookmark contacts
You can mark a contact as a favorite. Contacts marked as favorites can be unfavorites. Contacts that are marked as favorites will appear on the Favorites page. Make it easy to find and modify favorites
3.2 Add multiple contact methods
A contact can add multiple categories of information, such as phone, address, email, and so on. You can add multiple contact information to each category, associating a single contact with multiple contact information.
3.3 Import and Export
- Import: By importing the xlsx or xlx form of contact information in the correct format, you can accurately identify the corresponding information and add the information to the contact management system.
- Export: The contact information in the contact management system is exported as an xlsx table. The contact information in the table is distributed in the correct format. Each behavior is a different contact, each list a different type of contact information, and record whether the contact is favorites.
4.Division of labor
| Liu Danni | Wu Yangshun |
|---|---|
| Front-end frame | Front-end page function implementation |
| Implementation of front and back end interaction | Front-end page optimization |
| Back-end frame | Blog writing |
| Back-end function implementation | |
| Database implementation |
5.Difficulties encountered in cooperation and solutions
5.1 The data format does not match
Description of the problem: The format of the data returned by the back-end is inconsistent with the format expected by the front-end, causing the front-end to fail to parse correctly.
Solution:
(1)Unified Data Format: Ensure that the data format returned by the back end is consistent with the front-end expectations.
(2)API Documentation: Provides detailed API documentation that specifies data structures and types that both front and back end developers should follow.
5.2 State management problem
Description of the problem: Application status management is chaotic, resulting in data inconsistency or difficulty to maintain.
Solution:
Unified status management: ensures unified status management and operations, avoiding multiple decentralized management.
6.PSP table
| Modules | Estimated Time(hour) | Actual Time(hour) |
|---|---|---|
| Planning | 0.5 | 1 |
| Analysis and design | 2 | 2 |
| Front-end | 8 | 10 |
| Back-end | 8 | 10 |
| Test | 2 | 4 |
| Debug | 2 | 4 |
| Blog | 1 | 2 |
| Total | 23.5 | 33 |
相关推荐
Addison-Wesley eXtreme Programming Explored
《Addison-Wesley eXtreme Programming Explored》是一本由William C. Wake编写的书籍,深入探讨了极限编程(eXtreme Programming,
Java Extreme Programming Cookbook 无水印pdf
"Java Extreme Programming Cookbook 是一本由Eric M. Burke和Brian M. Coyner编著的英文技术书籍,主要关注Java编程中的极限编程实践。这本书
Planning Extreme Programming.chm
Planning Extreme Programming.chm
什么是极端编程(eXtreme Programming)?
### 极端编程(eXtreme Programming,XP)的核心理念与实践#### 一、极端编程概述极端编程(eXtreme Programming,简称XP)是一种敏捷开发方法论,其核心理念在于通过一系列严格的实践规则
Extreme Programming Explained
### 极限编程(Extreme Programming, XP)概览#### 一、极限编程的基本概念与背景极限编程(Extreme Programming, 简称 XP)是一种轻量级的软件开发方法论,


