# 衣韵智裁UML编写
# 一、Schema范式设计

## AI个性化服务模块
* 测试目标
    - 确保AI设计算法能够精准捕捉并理解用户的个性化需求，生成符合其风格偏好、面料选择及场合需求的服装设计方案。

* 测试方法与步骤
    - 样本选择：
        - 选取不同性别、年龄、职业、风格偏好的用户作为测试样本，确保样本的多样性。
        - 对每个用户进行详细的个人喜好、身材数据、购买历史等信息收集。
    - 需求明确：
        - 与用户进行深度沟通，明确其定制需求，包括风格、面料、尺寸、场合等。
        - 确保用户需求的完整性和准确性。
    - 设计方案生成：
        - 使用AI设计算法根据用户需求生成设计方案。
        - 记录生成方案的时间、风格、面料、尺寸等详细信息。
    - 用户反馈收集：
        - 组织用户对设计方案进行评审，收集其对设计方案的满意度、风格匹配度、面料选择合理性等方面的反馈。
        - 记录用户提出的修改意见和建议。
    - 数据分析与算法优化：
        - 对用户反馈进行数据分析，评估AI设计算法的准确性和用户满意度。
        - 根据用户反馈和数据分析结果对算法进行优化调整，提高设计方案的精准度和用户满意度。
* 预期结果
    - AI设计算法能够高效、准确地生成符合用户个性化需求的服装设计方案，用户满意度达到较高水平。

## 1、表设计
### 用户表（user）
- objectId: 唯一标识符
- createdAt: 创建时间
- name: String (用户姓名)
- gender: String (性别)
- age: Number (年龄)
- occupation: String (职业)
- stylePreference: String (风格偏好)
- measurements: Object (身材数据，包含胸围、腰围、臀围等)
- purchaseHistory: Array (购买历史)
### 设计需求表（DesignRequirement）
- objectId: 唯一标识符
- createdAt: 创建时间
- user: Pointer (关联用户)
- style: String (风格)                
- fabric: String (面料)
- size: String (尺寸)
- occasion: String (场合)
- detailedPreferences: String (详细偏好描述)
### 设计提案表（DesignProposal）
- objectId: 唯一标识符
- createdAt: 创建时间
- designRequirement: Pointer (关联设计需求)
- generatedDesign: String (生成的设计方案描述)
- designTime: Date (生成方案的时间)
- style: String (设计风格)
- fabric: String (设计面料)
- size: String (设计尺寸)
### 用户反馈表（UserFeedback）
- objectId: 唯一标识符
- createdAt: 创建时间
- designProposal: Pointer (关联设计方案)
- satisfactionLevel: Number (满意度评分)
- styleMatchRating: Number (风格匹配度评分)
- fabricReasonabilityRating: Number (面料选择合理性评分)
- feedbackComments: String (用户反馈意见)
### 技术优化表（TechnicalOptimization）
- objectId: 唯一标识符
- createdAt: 创建时间
- userFeedback: Pointer (关联用户反馈)
- optimizationDetails: String (优化细节)
- improvementSuggestions: String (改进建议)

## 2、PlantUML 类图表示
以下是使用PlantUML表示的类图：

```plantuml
@startuml
class User {
    +objectId: String
    +createdAt: Date
    +name: String
    +gender: String
    +age: Number
    +occupation: String
    +stylePreference: String
    +measurements: Object
    +purchaseHistory: Array
}

class DesignRequirement {
    +objectId: String
    +createdAt: Date
    +user: Pointer
    +style: String
    +fabric: String
    +size: String
    +occasion: String
    +detailedPreferences: String
}

class DesignProposal {
    +objectId: String
    +createdAt: Date
    +designRequirement: Pointer
    +generatedDesign: String
    +designTime: Date
    +style: String
    +fabric: String
    +size: String
}

class UserFeedback {
    +objectId: String
    +createdAt: Date
    +designProposal: Pointer
    +satisfactionLevel: Number
    +styleMatchRating: Number
    +fabricReasonabilityRating: Number
    +feedbackComments: String
}

class AlgorithmOptimization {
    +objectId: String
    +createdAt: Date
    +userFeedback: Pointer
    +optimizationDetails: String
    +improvementSuggestions: String
}

User "1" -- "0..*" DesignRequirement : creates
DesignRequirement "1" -- "0..*" DesignProposal : generates
DesignProposal "1" -- "0..*" UserFeedback : receives
UserFeedback "1" -- "0..*" AlgorithmOptimization : leads to
@enduml
```

## 3、设计说明
- 用户（User） 表存储用户的基本信息、身材数据和购买历史，以便进行个性化的服装设计。
- 设计需求（DesignRequirement） 表记录用户的服装定制需求，包括风格、面料、尺寸和场合等信息。
- 设计提案（DesignProposal） 表存储根据用户需求生成的设计方案，包括设计的描述和相关信息。
- 用户反馈（UserFeedback） 表收集用户对设计方案的反馈，包括满意度和具体的意见。
- 技术优化（AlgorithmOptimization） 表存储基于用户反馈进行的算法优化和改进建议，以提升设计方案的准确性和用户满意度。