1.XITODO
需要用, 软件开发的思路, 在26.1.2完成整个项目, 只用Win端(允许借助AI); 注意只有一天!!! 找回感觉
需求分析
①分析软件需求 ②具体要哪些功能
| ①桌面端应用 | |
要加入改项目的所有目录, 和时长统计(需要有辅助工具)
2026年1月1日22:12:08
系统设计
①技术栈 ②具体功能代码的接口
详细设计
①软件界面 ②数据结构


数据结构
任务表:(task)
| 示例 | 是否展示到用户界面 | 数据类型 | 说明 | |
|---|---|---|---|---|
| 任务id | 1 | 否 | ||
| 任务名称 | ‘task1’ | 是 | ||
| 任务开始时间 | 2025-12-30 | 是 | 日期 | 静态数据 |
| 任务设定完成时长 | 45天 | 是 | 天 | 静态数据 任务设定完成时长=子任务的所有任务时长/该任务的每日分配平均时长×offset (e.g 子任务所有时长为150h,每天平均分配5h, offset=1.5, 任务设定完成时长=150/5×1.5=45天) |
| 任务设定每日分配时长 | 2025-12-30到2026-01-05 2h 2026-01-06到2025-02-15 5h |
是 | 静态数据 不同日期, 每日时长不同 | |
| 任务设定每日平均分配时长 | 4.5h/天 | 是 | 静态数据任务设定每日平均分配时长= (各时段天数 × 日时长之和)/总天数 |
|
| 任务设定结束日期 | 2026-02-15 | 是 | 日期 | 静态数据 任务设定结束日期=任务开始时间+任务设定完成时长 |
| 任务设定偏移量(offset) | 1.5 | 是 | 静态数据 | |
| =================== | ========================= | ======== | ==== | ================= |
| 任务真实每日平均分配时长 | 10h/天 | 是 | 动态数据任务真实完成时长=子任务的所有任务时长/历史每日完成子任务的平均时长(e.g 过去的5天里, 完成的子任务时长加和为50h, 那任务真实完成时长=50/5=10h/day) |
|
| 任务真实完成时长 | 50天 | 是 | 天 | 动态数据剩余未完成子任务的所有任务时长/任务真实每日平均分配时长 |
| 任务真实结束日期 | 2026-02-20 | 是 | 日期 | 动态数据今天+任务真实完成时长 |
| 任务真实偏移量(offset) | 1.8 | 是 | (任务真实结束日期-任务设定结束日期)/任务设定完成时长 |
|
| 任务说明 | 高数学习 | 是 | ||
| 任务 | 2026-01-15 | 是 | ||
| 该任务每日分配时间段 | 2025-12-30到2026-01-05 12:00-14:00 | 是 | 不同日期, 每日时间段不同 | |
| 任务历史每日完成子任务平均时长 | 记D=从”任务开始时间”到现在的天数, A=D这些天数里, 每天完成子任务时长的加和 则 任务历史每日完成子任务平均时长=A/D |
|||
| 子任务表 |
| 示例 | 数据类型 | 说明 | 是否必须 | 用户可见 | |
|---|---|---|---|---|---|
| 所属任务 | 属于哪个主任务 | 是 | |||
| 所属集群 | 多个子任务, 可以组成一个子任务集群 | 否 | |||
| 子任务id | 是 | ||||
| 任务时长 | 1.5h | 小时 | |||
| 任务名称 | 子任务a | ||||
| 任务备注 | 这是一个子任务 |
CREATE TABLE task (
task_id BIGINT PRIMARY KEY COMMENT '任务唯一标识符',
task_name VARCHAR(255) COMMENT '任务名称',
start_date DATE COMMENT '任务开始时间,静态数据',
estimated_duration_days FLOAT COMMENT '任务设定完成时长,单位:天。静态数据。计算方式:子任务的所有任务时长 / 该任务的每日分配平均时长 × offset',
daily_allocation_schedule TEXT COMMENT '任务设定每日分配时长,静态数据。不同日期,每日时长不同,格式示例:起始日期-结束日期 时长',
avg_daily_allocation_hours FLOAT COMMENT '任务设定每日平均分配时长,单位:小时/天。静态数据。计算方式:各时段天数 × 日时长之和 / 总天数',
estimated_end_date DATE COMMENT '任务设定结束日期,静态数据。计算方式:任务开始时间 + 任务设定完成时长',
offset_set FLOAT COMMENT '任务设定偏移量(offset),静态数据',
actual_avg_daily_hours FLOAT COMMENT '任务真实每日平均分配时长,动态数据。计算方式:历史每日完成子任务的平均时长(过去每日完成子任务总时长 / 天数)',
actual_duration_days FLOAT COMMENT '任务真实完成时长,单位:天。动态数据。计算方式:剩余未完成子任务的所有任务时长 / 任务真实每日平均分配时长',
actual_end_date DATE COMMENT '任务真实结束日期,动态数据。计算方式:当前日期 + 任务真实完成时长',
offset_actual FLOAT COMMENT '任务真实偏移量(offset),动态数据。计算方式:(任务真实结束日期 - 任务设定结束日期) / 任务设定完成时长',
description TEXT COMMENT '任务说明',
task_date DATE COMMENT '任务字段,示例为日期,具体含义根据业务定义', -- 原“任务”字段,示例为日期
daily_time_slots TEXT COMMENT '该任务每日分配时间段,不同日期,每日时间段不同',
historical_avg_subtask_hours FLOAT COMMENT '任务历史每日完成子任务平均时长。动态数据。计算方式:从任务开始时间到现在的天数D,完成子任务总时长A,平均时长 = A / D'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='任务表,存储任务的基本信息、设定数据和动态计算数据';
CREATE TABLE subtask (
subtask_id BIGINT PRIMARY KEY COMMENT '子任务唯一标识符',
parent_task_id BIGINT COMMENT '所属任务,引用任务表的task_id,表示属于哪个主任务',
cluster_id VARCHAR(255) COMMENT '所属集群,表示多个子任务可以组成一个子任务集群',
duration_hours FLOAT COMMENT '任务时长,单位:小时',
subtask_name VARCHAR(255) COMMENT '子任务名称',
remark TEXT COMMENT '任务备注',
FOREIGN KEY (parent_task_id) REFERENCES task(task_id) ON DELETE CASCADE -- 外键约束,确保数据一致性
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='子任务表,存储子任务的详细信息,与任务表关联';
实现
①敲代码
测试
①测试功能
部署与维护
①上线 ②后期bug修复
- Title: 1.XITODO
- Author: 明廷盛
- Created at : 2026-02-12 01:17:04
- Updated at : 2026-01-01 22:05:00
- Link: https://blog.20040424.xyz/2026/02/12/⚔️实战项目/1.XITODO/
- License: All Rights Reserved © 明廷盛