# GT-OOP **Repository Path**: EasonLYB/gt-oop ## Basic Information - **Project Name**: GT-OOP - **Description**: For our final assessment, we’re building a Python LMS via core OOP principles, covering user management, course enrollment, grading and progress tracking. - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-10-14 - **Last Updated**: 2025-11-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: Python ## README # 成员分工及其变量命名 ### Eason - 用户管理 #### 类名 ======= - 核心用户类:`User`(基础用户抽象类 )、`Student`(学生类 )、`Teacher`(教师类 )、`Administrator`(管理员类 ) #### 变量名 - 通用属性(`User`类 ):`user_id`、`username`、`_password`、`email`、`role` - 学生专属属性(`Student`类 ):`student_id`、`enrolled_courses`、`submitted_assignments`、`grades` - 教师专属属性(`Teacher`类 ):`teacher_id`、`managed_courses`、`created_assignments` - 管理员专属属性(`Administrator`类 ):`admin_id`、`system_users`、`all_courses` #### 函数名 - `User`类及子类方法: - 通用方法(`User`类 ):`login(username, password)`、`logout()`、`view_dashboard()`、`update_profile(new_info)` - `Student`类方法:`enroll_course(course)`、`drop_course(course)`、`submit_assignment(assignment, content)`、`view_my_grades()`、`view_my_progress(course)` - `Teacher`类方法:`create_course(course_info)`、`modify_course(course, new_info)`、`delete_course(course)`、`create_assignment(course, assignment_info)`、`grade_assignment(assignment, student, score)`、`view_class_roster(course)` - `Administrator`类方法:`add_user(user)`、`delete_user(user_id)`、`approve_course(course)`、`view_system_stats()` #### 文件名 - 核心代码文件:`user_classes.py`(存放`User`、`Student`、`Teacher`、`Administrator`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及用户数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含用户管理模块说明 ) ### Yori - 课程管理与选课 #### 类名 - 课程与任务类:`Course`(课程类 ) - 系统功能类:`EnrollmentSystem`(选课系统类 ) #### 变量名 - 课程属性(`Course`类 ):`course_id`、`course_name`、`course_description`、`teacher`、`max_students`、`enrolled_students`、`course_assignments` - 系统功能相关变量(选课系统 ):`enrollment_records` #### 函数名 - 课程与任务类方法(`Course`类 ):`add_assignment(assignment)`、`remove_assignment(assignment)`、`get_enrolled_students()`、`check_enrollment_status(student)` - 系统功能类方法(`EnrollmentSystem`类 ):`process_enrollment(student, course)`、`process_drop(student, course)`、`validate_enrollment(student, course)` #### 文件名 - 核心代码文件:`course_task_classes.py`(存放`Course`类定义 )、`system_modules.py`(存放`EnrollmentSystem`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及课程数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含课程管理与选课模块说明 ) ### Serein - 作业与评分 #### 类名 - 课程与任务类:`Assignment`(作业类 )、`Quiz`(测验类 )、`Assignable`(抽象基类 ) - 系统功能类:`GradingSystem`(评分系统类 ) #### 变量名 - 作业属性(`Assignment`类 ):`assignment_id`、`assignment_title`、`assignment_content`、`due_date`、`course`、`submissions` - 系统功能相关变量(评分系统 ):`grade_records`、`grade_scale` #### 函数名 - 课程与任务类方法: - `Assignable`抽象方法:`publish()`、`check_submission(student)`、`calculate_score(submission)` - `Assignment`类方法(实现`Assignable` ):`publish()`、`check_submission(student)`、`set_due_date(new_date)` - 系统功能类方法(`GradingSystem`类 ):`record_grade(student, assignment, score)`、`calculate_course_grade(student, course)`、`generate_grade_report(student)` #### 文件名 - 核心代码文件:`course_task_classes.py`(存放`Assignment`、`Quiz`、`Assignable`类定义 )、`system_modules.py`(存放`GradingSystem`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及作业、成绩数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含作业与评分模块说明 ) ### Daniel - 进度追踪 + CLI + 数据持久化 #### 类名 - 系统功能类:`ProgressTracker`(进度追踪类 )、`LMS`(学习管理系统主类 ) #### 变量名 - 进度追踪变量(`ProgressTracker`类 ):`progress_records`、`completed_tasks`、`total_tasks` #### 函数名 - 系统功能类方法: - `ProgressTracker`类:`update_progress(student, course)`、`get_progress_percentage(student, course)`、`generate_progress_report(student)` - `LMS`类:`initialize_system()`、`run_cli()`、`save_data()`、`load_data()` - 工具/辅助函数:`input_validation(prompt, validation_rule)`、`error_handling(exception)`、`generate_id(prefix)` #### 文件名 - 核心代码文件:`system_modules.py`(存放`ProgressTracker`类定义 )、`lms_main.py`(存放`LMS`主类 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化核心实现,如用JSON存数据 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含进度追踪、CLI、数据持久化模块说明 ) # 学习管理系统(LMS)项目文件结构 本文档基于项目成员分工,梳理了学习管理系统(LMS)各模块的文件夹及文件详情,涵盖核心代码、辅助配置、文档交付三类文件,明确各文件的功能定位与职责。 ## Eason - 用户管理 **文件夹名**:`User_Management` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `user_classes.py` | 定义 `User`、`Student`、`Teacher`、`Administrator` 类;实现用户通用方法及各子类专属方法,支撑用户管理核心逻辑。 | | 辅助与配置文件 | `utils.py` | 存放工具函数,如用户输入格式验证、唯一ID生成等,辅助用户管理模块功能实现。 | | 辅助与配置文件 | `config.py` | 存储用户管理相关系统配置,例如用户密码加密方式、默认用户角色权限等。 | | 辅助与配置文件 | `data_persistence.py` | 负责用户数据持久化;提供用户数据向文件/数据库的保存、从存储介质加载的功能。 | | 文档与交付文件 | `README.md` | 项目整体说明文档的用户管理模块部分;包含功能介绍、使用方法等内容。 | | 文档与交付文件 | `source_code_documentation.md` | 详细解释用户管理模块的类与方法;涵盖设计思路、参数含义、功能实现逻辑。 | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示用户管理模块各类的继承关系、属性及方法结构。 | | 文档与交付文件 | `project_report.md` | 阐述用户管理模块的设计决策;包括继承结构选择原因、开发挑战及解决方案。 | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的用户管理模块部分;包含功能演示、设计亮点等内容。 | ## Yori - 课程管理与选课 **文件夹名**:`Course_Management_and_Enrollment` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `course_task_classes.py` | 定义 `Course` 类;实现课程创建、修改、删除及作业管理等课程管理核心功能。 | | 核心代码文件 | `system_modules.py` | 定义 `EnrollmentSystem` 类;实现选课系统核心逻辑,包括处理学生选课/退课请求、验证选课合法性等。 | | 辅助与配置文件 | `utils.py` | 提供课程管理与选课相关工具函数,如课程信息格式验证、选课冲突处理等。 | | 辅助与配置文件 | `config.py` | 存储课程管理与选课相关系统配置,例如课程容量限制、选课时间范围等。 | | 辅助与配置文件 | `data_persistence.py` | 负责课程数据与选课数据持久化;实现课程信息、选课记录的保存与加载功能。 | | 文档与交付文件 | `README.md` | 项目整体说明文档的课程管理与选课模块部分;包含功能介绍、操作流程等内容。 | | 文档与交付文件 | `source_code_documentation.md` | 详细解释课程管理与选课模块的类与方法;涵盖设计思路、参数设置、功能实现细节。 | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示 `Course` 类与 `EnrollmentSystem` 类的结构及相互关系。 | | 文档与交付文件 | `project_report.md` | 阐述课程管理与选课模块的设计决策;包括课程类属性设计依据、选课算法选择原因、开发问题及解决方案。 | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的课程管理与选课模块部分;包含课程管理操作演示、选课流程展示等内容。 | ## Serein - 作业与评分 **文件夹名**:`Assignment_and_Grading` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `course_task_classes.py` | 定义 `Assignment`、`Quiz`、`Assignable` 类;实现作业/测验发布、提交检查、分数计算等核心功能。 | | 核心代码文件 | `system_modules.py` | 定义 `GradingSystem` 类;实现评分系统核心功能,包括成绩录入、课程总成绩计算、成绩报告生成等。 | | 辅助与配置文件 | `utils.py` | 提供作业与评分相关工具函数,如作业格式验证、成绩加权计算等。 | | 辅助与配置文件 | `config.py` | 存储作业与评分相关系统配置,例如评分标准细则、作业提交格式要求等。 | | 辅助与配置文件 | `data_persistence.py` | 负责作业数据与成绩数据持久化;实现作业详情、学生提交记录、成绩信息的保存与加载功能。 | | 文档与交付文件 | `README.md` | 项目整体说明文档的作业与评分模块部分;包含功能介绍、使用规则等内容。 | | 文档与交付文件 | `source_code_documentation.md` | 详细解释作业与评分模块的类与方法;涵盖设计思路、参数意义、功能实现逻辑。 | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示作业与评分模块各类的继承/组合关系、属性及方法结构。 | | 文档与交付文件 | `project_report.md` | 阐述作业与评分模块的设计决策;包括抽象基类设计目的、评分算法选择依据、开发挑战及应对策略。 | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的作业与评分模块部分;包含作业创建/提交演示、成绩计算及报告展示等内容。 | ## Daniel - 进度追踪 + CLI + 数据持久化 **文件夹名**:`Progress_Tracking_CLI_DataPersistence` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `system_modules.py` | 定义 `ProgressTracker` 类;实现学生课程进度追踪功能,包括进度更新、进度百分比获取、进度报告生成等。 | | 核心代码文件 | `lms_main.py` | 定义 LMS 学习管理系统主类;实现系统初始化、命令行界面(CLI)启动、数据保存/加载等核心功能,是整个系统的入口与调度中心。 | | 辅助与配置文件 | `utils.py` | 提供通用工具函数,如输入验证(`input_validation`)、错误处理(`error_handling`)、ID生成(`generate_id`)等,辅助进度追踪、CLI及数据持久化功能实现。 | | 辅助与配置文件 | `config.py` | 存储进度追踪、CLI及数据持久化相关系统配置,例如进度计算规则、数据存储路径、CLI交互提示信息等。 | | 辅助与配置文件 | `data_persistence.py` | 数据持久化核心实现文件;使用 JSON 或其他方式存储数据,提供用户、课程、作业、成绩等各类数据的保存与加载具体逻辑。 | | 文档与交付文件 | `README.md` | 项目整体说明文档的进度追踪/CLI/数据持久化模块部分;包含功能介绍、使用方法等内容。 | | 文档与交付文件 | `source_code_documentation.md` | 详细解释进度追踪/CLI/数据持久化模块的类与方法;涵盖设计思路、参数设置、功能实现细节。 | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示相关类的结构及相互关系,如 `ProgressTracker` 与其他模块类的交互、`LMS` 类的内部结构等。 | | 文档与交付文件 | `project_report.md` | 阐述进度追踪/CLI/数据持久化模块的设计决策;包括进度追踪算法选择、CLI设计原则、数据持久化方案优缺点、开发问题及解决方案。 | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的进度追踪/CLI/数据持久化模块部分;包含进度追踪展示、CLI操作演示、数据持久化效果展示等内容。 | ======= - 核心用户类:`User`(基础用户抽象类 )、`Student`(学生类 )、`Teacher`(教师类 )、`Administrator`(管理员类 ) #### 变量名 - 通用属性(`User`类 ):`user_id`、`username`、`_password`、`email`、`role` - 学生专属属性(`Student`类 ):`student_id`、`enrolled_courses`、`submitted_assignments`、`grades` - 教师专属属性(`Teacher`类 ):`teacher_id`、`managed_courses`、`created_assignments` - 管理员专属属性(`Administrator`类 ):`admin_id`、`system_users`、`all_courses` #### 函数名 - `User`类及子类方法: - 通用方法(`User`类 ):`login(username, password)`、`logout()`、`view_dashboard()`、`update_profile(new_info)` - `Student`类方法:`enroll_course(course)`、`drop_course(course)`、`submit_assignment(assignment, content)`、`view_my_grades()`、`view_my_progress(course)` - `Teacher`类方法:`create_course(course_info)`、`modify_course(course, new_info)`、`delete_course(course)`、`create_assignment(course, assignment_info)`、`grade_assignment(assignment, student, score)`、`view_class_roster(course)` - `Administrator`类方法:`add_user(user)`、`delete_user(user_id)`、`approve_course(course)`、`view_system_stats()` #### 文件名 - 核心代码文件:`user_classes.py`(存放`User`、`Student`、`Teacher`、`Administrator`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及用户数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含用户管理模块说明 ) ### Yori - 课程管理与选课 #### 类名 - 课程与任务类:`Course`(课程类 ) - 系统功能类:`EnrollmentSystem`(选课系统类 ) #### 变量名 - 课程属性(`Course`类 ):`course_id`、`course_name`、`course_description`、`teacher`、`max_students`、`enrolled_students`、`course_assignments` - 系统功能相关变量(选课系统 ):`enrollment_records` #### 函数名 - 课程与任务类方法(`Course`类 ):`add_assignment(assignment)`、`remove_assignment(assignment)`、`get_enrolled_students()`、`check_enrollment_status(student)` - 系统功能类方法(`EnrollmentSystem`类 ):`process_enrollment(student, course)`、`process_drop(student, course)`、`validate_enrollment(student, course)` #### 文件名 - 核心代码文件:`course_task_classes.py`(存放`Course`类定义 )、`system_modules.py`(存放`EnrollmentSystem`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及课程数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含课程管理与选课模块说明 ) ### Serein - 作业与评分 #### 类名 - 课程与任务类:`Assignment`(作业类 )、`Quiz`(测验类 )、`Assignable`(抽象基类 ) - 系统功能类:`GradingSystem`(评分系统类 ) #### 变量名 - 作业属性(`Assignment`类 ):`assignment_id`、`assignment_title`、`assignment_content`、`due_date`、`course`、`submissions` - 系统功能相关变量(评分系统 ):`grade_records`、`grade_scale` #### 函数名 - 课程与任务类方法: - `Assignable`抽象方法:`publish()`、`check_submission(student)`、`calculate_score(submission)` - `Assignment`类方法(实现`Assignable` ):`publish()`、`check_submission(student)`、`set_due_date(new_date)` - 系统功能类方法(`GradingSystem`类 ):`record_grade(student, assignment, score)`、`calculate_course_grade(student, course)`、`generate_grade_report(student)` #### 文件名 - 核心代码文件:`course_task_classes.py`(存放`Assignment`、`Quiz`、`Assignable`类定义 )、`system_modules.py`(存放`GradingSystem`类定义 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化,涉及作业、成绩数据存储相关 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含作业与评分模块说明 ) ### Daniel - 进度追踪 + CLI + 数据持久化 #### 类名 - 系统功能类:`ProgressTracker`(进度追踪类 )、`LMS`(学习管理系统主类 ) #### 变量名 - 进度追踪变量(`ProgressTracker`类 ):`progress_records`、`completed_tasks`、`total_tasks` #### 函数名 - 系统功能类方法: - `ProgressTracker`类:`update_progress(student, course)`、`get_progress_percentage(student, course)`、`generate_progress_report(student)` - `LMS`类:`initialize_system()`、`run_cli()`、`save_data()`、`load_data()` - 工具/辅助函数:`input_validation(prompt, validation_rule)`、`error_handling(exception)`、`generate_id(prefix)` #### 文件名 - 核心代码文件:`system_modules.py`(存放`ProgressTracker`类定义 )、`lms_main.py`(存放`LMS`主类 ) - 辅助与配置文件:`utils.py`(工具函数 )、`config.py`(系统配置 )、`data_persistence.py`(数据持久化核心实现,如用JSON存数据 ) - 文档与交付文件:`README.md`、`source_code_documentation.md`、`UML_class_diagram.png`、`project_report.md`、`presentation_slides.pdf`(整体项目文档,含进度追踪、CLI、数据持久化模块说明 ) # 学习管理系统(LMS)项目文件结构 本文档基于项目成员分工,梳理了学习管理系统(LMS)各模块的文件夹及文件详情,涵盖核心代码、辅助配置、文档交付三类文件,明确各文件的功能定位与职责. ## Eason - 用户管理 **文件夹名**:`User_Management` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `user_classes.py` | 定义 `User`、`Student`、`Teacher`、`Administrator` 类;实现用户通用方法及各子类专属方法,支撑用户管理核心逻辑. | | 辅助与配置文件 | `utils.py` | 存放工具函数,如用户输入格式验证、唯一ID生成等,辅助用户管理模块功能实现. | | 辅助与配置文件 | `config.py` | 存储用户管理相关系统配置,例如用户密码加密方式、默认用户角色权限等. | | 辅助与配置文件 | `data_persistence.py` | 负责用户数据持久化;提供用户数据向文件/数据库的保存、从存储介质加载的功能. | | 文档与交付文件 | `README.md` | 项目整体说明文档的用户管理模块部分;包含功能介绍、使用方法等内容. | | 文档与交付文件 | `source_code_documentation.md` | 详细解释用户管理模块的类与方法;涵盖设计思路、参数含义、功能实现逻辑. | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示用户管理模块各类的继承关系、属性及方法结构. | | 文档与交付文件 | `project_report.md` | 阐述用户管理模块的设计决策;包括继承结构选择原因、开发挑战及解决方案. | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的用户管理模块部分;包含功能演示、设计亮点等内容. | ## Yori - 课程管理与选课 **文件夹名**:`Course_Management_and_Enrollment` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `course_task_classes.py` | 定义 `Course` 类;实现课程创建、修改、删除及作业管理等课程管理核心功能. | | 核心代码文件 | `system_modules.py` | 定义 `EnrollmentSystem` 类;实现选课系统核心逻辑,包括处理学生选课/退课请求、验证选课合法性等. | | 辅助与配置文件 | `utils.py` | 提供课程管理与选课相关工具函数,如课程信息格式验证、选课冲突处理等. | | 辅助与配置文件 | `config.py` | 存储课程管理与选课相关系统配置,例如课程容量限制、选课时间范围等. | | 辅助与配置文件 | `data_persistence.py` | 负责课程数据与选课数据持久化;实现课程信息、选课记录的保存与加载功能. | | 文档与交付文件 | `README.md` | 项目整体说明文档的课程管理与选课模块部分;包含功能介绍、操作流程等内容. | | 文档与交付文件 | `source_code_documentation.md` | 详细解释课程管理与选课模块的类与方法;涵盖设计思路、参数设置、功能实现细节. | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示 `Course` 类与 `EnrollmentSystem` 类的结构及相互关系. | | 文档与交付文件 | `project_report.md` | 阐述课程管理与选课模块的设计决策;包括课程类属性设计依据、选课算法选择原因、开发问题及解决方案. | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的课程管理与选课模块部分;包含课程管理操作演示、选课流程展示等内容. | ## Serein - 作业与评分 **文件夹名**:`Assignment_and_Grading` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `course_task_classes.py` | 定义 `Assignment`、`Quiz`、`Assignable` 类;实现作业/测验发布、提交检查、分数计算等核心功能. | | 核心代码文件 | `system_modules.py` | 定义 `GradingSystem` 类;实现评分系统核心功能,包括成绩录入、课程总成绩计算、成绩报告生成等. | | 辅助与配置文件 | `utils.py` | 提供作业与评分相关工具函数,如作业格式验证、成绩加权计算等. | | 辅助与配置文件 | `config.py` | 存储作业与评分相关系统配置,例如评分标准细则、作业提交格式要求等. | | 辅助与配置文件 | `data_persistence.py` | 负责作业数据与成绩数据持久化;实现作业详情、学生提交记录、成绩信息的保存与加载功能. | | 文档与交付文件 | `README.md` | 项目整体说明文档的作业与评分模块部分;包含功能介绍、使用规则等内容. | | 文档与交付文件 | `source_code_documentation.md` | 详细解释作业与评分模块的类与方法;涵盖设计思路、参数意义、功能实现逻辑. | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示作业与评分模块各类的继承/组合关系、属性及方法结构. | | 文档与交付文件 | `project_report.md` | 阐述作业与评分模块的设计决策;包括抽象基类设计目的、评分算法选择依据、开发挑战及应对策略. | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的作业与评分模块部分;包含作业创建/提交演示、成绩计算及报告展示等内容. | ## Daniel - 进度追踪 + CLI + 数据持久化 **文件夹名**:`Progress_Tracking_CLI_DataPersistence` | 文件类别 | 文件名 | 文件功能描述 | |------------------|---------------------------------|------------------------------------------------------------------------------| | 核心代码文件 | `system_modules.py` | 定义 `ProgressTracker` 类;实现学生课程进度追踪功能,包括进度更新、进度百分比获取、进度报告生成等. | | 核心代码文件 | `lms_main.py` | 定义 LMS 学习管理系统主类;实现系统初始化、命令行界面(CLI)启动、数据保存/加载等核心功能,是整个系统的入口与调度中心. | | 辅助与配置文件 | `utils.py` | 提供通用工具函数,如输入验证(`input_validation`)、错误处理(`error_handling`)、ID生成(`generate_id`)等,辅助进度追踪、CLI及数据持久化功能实现. | | 辅助与配置文件 | `config.py` | 存储进度追踪、CLI及数据持久化相关系统配置,例如进度计算规则、数据存储路径、CLI交互提示信息等. | | 辅助与配置文件 | `data_persistence.py` | 数据持久化核心实现文件;使用 JSON 或其他方式存储数据,提供用户、课程、作业、成绩等各类数据的保存与加载具体逻辑. | | 文档与交付文件 | `README.md` | 项目整体说明文档的进度追踪/CLI/数据持久化模块部分;包含功能介绍、使用方法等内容. | | 文档与交付文件 | `source_code_documentation.md` | 详细解释进度追踪/CLI/数据持久化模块的类与方法;涵盖设计思路、参数设置、功能实现细节. | | 文档与交付文件 | `UML_class_diagram.png` | 可视化展示相关类的结构及相互关系,如 `ProgressTracker` 与其他模块类的交互、`LMS` 类的内部结构等. | | 文档与交付文件 | `project_report.md` | 阐述进度追踪/CLI/数据持久化模块的设计决策;包括进度追踪算法选择、CLI设计原则、数据持久化方案优缺点、开发问题及解决方案. | | 文档与交付文件 | `presentation_slides.pdf` | 项目演示PPT的进度追踪/CLI/数据持久化模块部分;包含进度追踪展示、CLI操作演示、数据持久化效果展示等内容. | >>>>>>> 70c38675958621e74be67dac4811682809fbc90f