diff --git a/doc/04_软件设计规格说明书 - 副本.docx b/doc/04_软件设计规格说明书 - 副本.docx new file mode 100644 index 0000000..832a2e2 Binary files /dev/null and b/doc/04_软件设计规格说明书 - 副本.docx differ diff --git a/doc/04_软件设计规格说明书.docx b/doc/04_软件设计规格说明书.docx index 5e5d4b2..c9e35b8 100644 Binary files a/doc/04_软件设计规格说明书.docx and b/doc/04_软件设计规格说明书.docx differ diff --git a/doc/迭代版本_软件设计规格说明书.docx b/doc/迭代版本_软件设计规格说明书.docx new file mode 100644 index 0000000..faf8caa --- /dev/null +++ b/doc/迭代版本_软件设计规格说明书.docx @@ -0,0 +1,157 @@ +《软件工程课程设计》 +软件设计规格说明书(迭代版本) + +MagicWord v2.0 + +组长学号姓名: 230340211 马子昂 +成员学号姓名: 230340233 石兴霖 + 230340219 黄俊源 + 230340210 陆冲 + 230340235 马明义 + +二〇二五年十月 + +第1章 引言 +1.1 软件设计目标和原则 + +设计目标(迭代版本新增) +1. 隐私学习体验增强:在原有基础上增加智能干扰文本生成算法,使伪装效果更加自然 +2. 多格式文件支持扩展:新增对PPT、Excel文件格式的支持,完善文件处理能力 +3. 学习功能智能化:集成AI辅助学习功能,提供智能提示和错误纠正 +4. 用户界面优化:增加主题切换、字体大小调整等个性化设置 +5. 云端同步功能:支持学习进度云端备份和多设备同步 +6. 性能优化:提升大文件处理速度和内存使用效率 + +设计原则(迭代版本优化) +1. 用户中心原则:增加用户行为分析,提供个性化学习建议 +2. 兼容性与扩展性原则:采用模块化设计,便于后续功能扩展 +3. 功能丰富性原则:集成更多实用工具,如番茄时钟、学习统计等 +4. 创新性原则:引入机器学习算法优化学习体验 +5. 可行性驱动原则:采用渐进式开发策略,确保技术可行性 + +1.2 软件设计的约束和限制(迭代版本更新) +- 运行环境要求:Windows 10+/MacOS 10.15+,支持移动端适配 +- 开发语言:Python 3.8+,前端采用PyQt6 +- 标准规范:遵循PEP 8编码规范,增加代码质量检查 +- 开发工具:PyCharm Professional,集成Git版本控制 +- 性能要求:文件加载时间<3秒,内存占用<500MB + +第2章 软件体系结构设计 + +2.1 系统架构优化(迭代版本新增) +图2-1展示了MagicWord v2.0的系统架构,在原有三层架构基础上增加了: +- 云端服务层:负责数据同步和AI服务调用 +- 缓存层:提升系统响应速度 +- 插件层:支持功能模块动态加载 + +2.2 技术架构升级 +- 采用微服务架构,各功能模块独立部署 +- 引入Redis缓存机制,提升数据访问效率 +- 集成Docker容器化部署,提高系统可移植性 + +第3章 用户界面设计 + +3.1 界面设计优化(迭代版本新增) +1. 主界面重新设计:采用现代化扁平设计风格 +2. 响应式布局:支持不同屏幕尺寸自适应 +3. 暗色模式:增加深色主题支持 +4. 快捷键优化:提供更丰富的键盘操作支持 + +3.2 新增界面模块 +1. 学习统计面板:可视化展示学习进度和效果 +2. 设置中心:集中管理所有系统配置 +3. 插件市场:支持第三方功能扩展 +4. 帮助中心:集成在线文档和教程 + +第4章 详细设计 + +4.1 新增用例设计 + +4.1.10 AI辅助学习用例实现的设计方案 +用户通过AI辅助功能获得智能学习建议。具体实现过程: +- 用户触发AI分析功能 +- 系统调用AI服务分析学习内容 +- 生成个性化学习建议 +- 在界面显示分析结果 + +4.1.11 云端同步用例实现的设计方案 +用户通过云端同步功能实现多设备数据同步。具体实现过程: +- 用户登录云端账户 +- 系统自动同步学习进度 +- 支持手动上传/下载数据 +- 提供冲突解决机制 + +4.1.12 学习统计用例实现的设计方案 +用户查看学习统计信息。具体实现过程: +- 系统收集学习行为数据 +- 生成可视化统计图表 +- 提供学习效果分析 +- 支持数据导出功能 + +4.2 类设计优化(迭代版本更新) + +新增核心类: +1. AIServiceController:负责AI功能调用和管理 +2. CloudSyncManager:处理云端数据同步 +3. StatisticsAnalyzer:学习数据统计分析 +4. PluginManager:插件系统管理 + +优化现有类: +1. MainUI:增加现代化UI组件 +2. FileManager:支持更多文件格式 +3. SettingsManager:增强配置管理能力 + +4.3 数据模型设计扩展 + +4.3.1 新增数据库表设计 +1. T_LearningStatistics(学习统计表) +2. T_UserPreferences(用户偏好设置表) +3. T_PluginConfig(插件配置表) +4. T_CloudSyncLog(云端同步日志表) + +4.3.2 数据操作设计扩展 +新增数据操作类: +1. LearningStatisticsLibrary:学习统计数据处理 +2. UserPreferencesLibrary:用户偏好设置管理 +3. PluginConfigLibrary:插件配置管理 + +第5章 性能与安全设计(迭代版本新增) + +5.1 性能优化策略 +- 采用懒加载技术减少内存占用 +- 实现文件分块处理提升大文件处理能力 +- 优化数据库查询性能 +- 引入缓存机制减少重复计算 + +5.2 安全设计考虑 +- 用户数据加密存储 +- 网络传输采用HTTPS协议 +- 实现权限控制机制 +- 定期安全漏洞扫描 + +第6章 部署与维护(迭代版本新增) + +6.1 部署方案 +- 支持一键安装包部署 +- 提供Docker镜像部署 +- 支持云端自动更新 + +6.2 维护策略 +- 建立用户反馈机制 +- 定期发布功能更新 +- 提供在线技术支持 +- 建立用户社区 + +附录A:技术选型说明(迭代版本新增) +- 前端框架:PyQt6 +- 后端服务:FastAPI +- 数据库:SQLite(本地)+ MySQL(云端) +- 缓存:Redis +- AI服务:集成OpenAI API +- 部署工具:Docker + Kubernetes + +附录B:开发计划(迭代版本新增) +- 第一阶段:基础功能完善(2个月) +- 第二阶段:AI功能集成(1个月) +- 第三阶段:云端服务开发(1个月) +- 第四阶段:测试与优化(1个月) \ No newline at end of file diff --git a/doc/迭代版本_软件设计规格说明书.txt b/doc/迭代版本_软件设计规格说明书.txt new file mode 100644 index 0000000..0c1ef74 --- /dev/null +++ b/doc/迭代版本_软件设计规格说明书.txt @@ -0,0 +1,420 @@ +《软件工程课程设计》 +软件设计规格说明书(迭代版本 v2.0) + +MagicWord - 隐私学习平台 + +项目团队: +组长学号姓名: 230340211 马子昂 +成员学号姓名: 230340233 石兴霖 + 230340219 黄俊源 + 230340210 陆冲 + 230340235 马明义 + +版本信息:v2.0 +发布日期:二〇二五年十月 + +================================================================================ + +第1章 引言 + +1.1 软件设计目标和原则 + +1.1.1 设计目标(迭代版本增强) + +核心目标: +1. 隐私学习体验优化 + - 改进干扰文本生成算法 + - 实现动态学习内容伪装 + - 支持多场景学习模式切换 + +2. 文件格式支持全面扩展 + - 新增支持:PPT(.pptx)、Excel(.xlsx)、Markdown(.md) + - 增强PDF/EPUB解析精度 + - 支持批量文件处理 + +3. 学习功能增强 + - 基础学习路径设置 + - 实时错误检测 + - 学习进度跟踪 + +4. 用户界面现代化重构 + - 响应式设计适配多设备 + - 深色/浅色主题切换 + - 可定制化界面布局 + +5. 系统性能深度优化 + - 大文件加载时间优化至<2秒 + - 内存占用控制<300MB + - 支持并发用户操作 + +1.1.2 设计原则(迭代版本优化) + +1. 用户中心设计原则 + - 基于用户需求优化体验 + - 提供基础学习设置 + - 建立用户反馈机制 + +2. 模块化扩展原则 + - 采用模块化架构 + - 支持功能模块扩展 + - 提供标准接口规范 + +3. 技术创新驱动原则 + - 采用现代化开发框架 + - 支持持续技术迭代 + +4. 安全隐私保护原则 + - 本地数据处理优先 + - 透明化隐私政策 + +1.2 软件设计的约束和限制 + +技术约束: +- 运行平台:Windows 10+ / macOS 10.15+ / Linux Ubuntu 18.04+ +- 开发语言:Python 3.8+ (主程序) +- 前端框架:PyQt6 + QML (现代化UI) +- 数据库:SQLite (本地) + +性能约束: +- 单文件最大支持:500MB +- 并发用户数:≥100 +- 响应时间:页面加载<1s,操作响应<100ms +- 存储空间:安装包<200MB,用户数据无限制 + +安全约束: +- 数据存储:基础加密保护 +- 隐私保护:本地数据处理 + +================================================================================ + +第2章 软件体系结构设计 + +2.1 系统架构总览 + +采用分层架构: + +┌─────────────────────────────────────────────────────────────┐ +│ 表现层 (Presentation Layer) │ +├─────────────────────────────────────────────────────────────┤ +│ 主界面模块 设置模块 学习统计模块 插件管理模块 │ +└─────────────────────────────────────────────────────────────┘ +┌─────────────────────────────────────────────────────────────┐ +│ 业务逻辑层 (Business Logic Layer) │ +├─────────────────────────────────────────────────────────────┤ +│ 文件处理服务 学习管理服务 用户设置服务 │ +└─────────────────────────────────────────────────────────────┘ +┌─────────────────────────────────────────────────────────────┐ +│ 数据访问层 (Data Access Layer) │ +├─────────────────────────────────────────────────────────────┤ +│ 本地数据库 文件存储 缓存服务 │ +└─────────────────────────────────────────────────────────────┘ +┌─────────────────────────────────────────────────────────────┐ +│ 基础设施层 (Infrastructure Layer) │ +├─────────────────────────────────────────────────────────────┤ +│ 日志系统 配置管理 错误处理 性能监控 │ +└─────────────────────────────────────────────────────────────┘ + +2.2 核心模块设计 + +2.2.1 文件处理模块 +- 支持格式:TXT, DOC/DOCX, PDF, EPUB, PPT/PPTX, XLS/XLSX, MD +- 处理引擎:基于Apache Tika的内容提取 +- 图片处理:OpenCV图像识别和优化 +- 格式转换:统一内部文档格式 + +2.2.2 学习管理模块 +- 学习进度跟踪 +- 错误检测和统计 +- 学习模式切换 +- 基础学习分析 + +================================================================================ + +第3章 用户界面设计 + +3.1 界面架构设计 + +采用现代化MVVM模式: + +主界面组件: +- 导航栏:快速访问核心功能 +- 工作区:文档编辑和学习区域 +- 侧边栏:工具和设置面板 +- 状态栏:系统状态和信息显示 + +3.2 核心界面设计 + +3.2.1 主工作界面 +- 仿Word现代化设计风格 +- 支持多标签页文档管理 +- 实时语法高亮和错误提示 +- 智能内容推荐侧边栏 + +3.2.2 学习模式界面 +- 专注模式:隐藏干扰元素 +- 练习模式:实时反馈和评分 +- 复习模式:智能内容重现 +- 测试模式:学习效果评估 + +3.2.3 设置中心 +- 主题定制:颜色、字体、布局 +- 学习设置:难度、模式、目标 +- 隐私设置:数据同步和分享 +- 插件管理:功能扩展配置 + +3.3 交互设计规范 + +3.3.1 导航设计 +- 面包屑导航显示当前位置 +- 快捷键支持快速操作 +- 手势操作支持(触摸设备) + +3.3.2 反馈机制 +- 实时操作状态提示 +- 错误信息的友好展示 +- 成功操作的确认反馈 + +================================================================================ + +第4章 详细设计 + +4.1 新增用例详细设计 + +4.1.10 学习数据分析统计用例 + +用例描述:用户查看基础的学习统计信息 + +参与对象: +- 用户 (Actor) +- 统计模块 (System) +- 数据可视化组件 (Component) + +前置条件: +- 用户有学习记录 +- 统计功能已启用 + +基本流程: +1. 用户打开统计面板 +2. 系统加载学习数据 +3. 生成基础统计图表 +4. 显示学习进度信息 +5. 提供数据导出功能 + +统计维度: +- 时间维度:日/周/月统计 +- 内容维度:不同学习材料统计 +- 效果维度:正确率、速度 + +4.2 类设计详细规范 + +4.2.1 新增核心类设计 + +类名:StatisticsAnalyzer +职责:学习数据统计分析 +属性: +- data_sources: list # 数据源配置 +- analysis_methods: dict # 分析方法 + +方法: ++ generate_daily_report(date): DailyReport ++ analyze_learning_progress(period): ProgressAnalysis ++ export_statistics(format): ExportFile + +4.2.2 优化现有类设计 + +类名:MainUI (优化版) +新增属性: +- theme_manager: ThemeManager # 主题管理 +- layout_customizer: LayoutCustomizer # 布局定制 + +新增方法: ++ switch_theme(theme_name): bool ++ customize_layout(layout_config): bool ++ get_ui_state(): UIState + +类名:FileManager (扩展版) +扩展支持: +- 新增文件格式解析器 +- 批量文件处理能力 + +新增方法: ++ batch_process(files): BatchResult ++ detect_content_type(file): ContentType + +4.3 数据模型设计扩展 + +4.3.1 新增数据库表结构 + +表名:T_LearningStatistics +字段设计: +- stat_id: INT PRIMARY KEY +- user_id: INT FOREIGN KEY +- learning_date: DATE +- total_time: INT # 学习总时长(秒) +- correct_rate: DECIMAL(5,2) # 正确率 +- speed_wpm: INT # 打字速度(字/分钟) +- material_type: VARCHAR(50) # 学习材料类型 +- difficulty_level: INT # 难度等级 + +表名:T_UserPreferences +字段设计: +- pref_id: INT PRIMARY KEY +- user_id: INT FOREIGN KEY +- theme_preference: VARCHAR(20) +- font_size: INT +- language_setting: VARCHAR(10) +- privacy_level: INT + +4.3.2 数据操作类设计 + +类名:LearningStatisticsLibrary +方法设计: ++ record_learning_session(session_data): bool ++ get_user_statistics(user_id, period): UserStats ++ compare_group_statistics(group_criteria): GroupStats ++ generate_insight_reports(): InsightReport + +类名:UserPreferencesLibrary +方法设计: ++ save_user_preferences(pref_data): bool ++ get_user_settings(user_id): UserSettings ++ reset_to_default(user_id): bool ++ export_preferences(user_id): ExportData + +================================================================================ + +第5章 性能与安全设计 + +5.1 性能优化策略 + +5.1.1 大文件处理优化 +- 流式处理:大文件分块处理,避免内存溢出 +- 并行处理:多线程处理不同文件块 +- 进度跟踪:实时显示处理进度 +- 错误恢复:处理失败时支持断点续传 + +5.2 安全设计策略 + +5.2.1 本地安全增强 +- 文件加密:敏感文件本地加密存储 +- 权限管理:细粒度的文件访问权限 +- 安全删除:彻底删除敏感数据 +- 防篡改:文件完整性校验 + +================================================================================ + +第6章 部署与维护 + +6.1 部署方案设计 + +6.1.1 本地部署 +- 提供一键安装包(Windows/macOS/Linux) +- 支持离线安装和运行 +- 自动依赖管理和环境配置 + +6.1.2 云端部署 +- Docker容器化部署 +- Kubernetes集群管理 +- 自动扩缩容机制 +- 多地域部署支持 + +6.1.3 混合部署 +- 本地应用+云端服务模式 +- 边缘计算节点部署 +- 智能路由和负载均衡 + +6.2 运维监控体系 + +6.2.1 系统监控 +- 实时性能指标监控 +- 错误日志收集和分析 +- 用户行为追踪和分析 +- 系统健康状态检查 + +6.2.2 自动化运维 +- 自动备份和恢复 +- 定期安全扫描 +- 性能优化建议 +- 故障自动修复 + +6.3 用户支持体系 + +6.3.1 技术支持 +- 在线帮助文档 +- 社区论坛支持 +- 实时在线客服 +- 远程协助功能 + +6.3.2 反馈机制 +- 用户反馈收集 +- 需求投票系统 +- Bug报告跟踪 +- 功能建议评估 + +================================================================================ + +附录A:技术选型详细说明 + +前端技术栈: +- UI框架:PyQt6 + QML +- 样式引擎:Qt Style Sheets +- 图表库:PyQtGraph + Matplotlib +- 动画引擎:Qt Animation Framework + +后端技术栈: +- Web框架:FastAPI +- 数据库ORM:SQLAlchemy +- 缓存:Redis +- 消息队列:Celery + RabbitMQ +- 任务调度:APScheduler + +AI技术栈: +- NLP库:spaCy + NLTK +- 机器学习:scikit-learn + TensorFlow +- 深度学习:PyTorch +- 推荐系统:Surprise + +基础设施: +- 容器化:Docker + Kubernetes +- 监控:Prometheus + Grafana +- 日志:ELK Stack +- CI/CD:GitLab CI + +================================================================================ + +附录B:开发里程碑计划 + +阶段一:基础架构搭建 (6周) +- 第1-2周:技术选型和环境搭建 +- 第3-4周:核心模块开发 +- 第5-6周:基础功能测试 + +阶段二:AI功能集成 (4周) +- 第7周:AI服务接口开发 +- 第8周:学习算法实现 +- 第9周:智能推荐系统 +- 第10周:AI功能测试优化 + +阶段三:云端服务开发 (4周) +- 第11周:云端架构设计 +- 第12周:同步服务开发 +- 第13周:用户管理系统 +- 第14周:云端功能测试 + +阶段四:系统优化发布 (4周) +- 第15周:性能优化 +- 第16周:安全加固 +- 第17周:用户测试 +- 第18周:正式发布 + +================================================================================ + +文档版本历史: +- v1.0 (2025-09):初始版本 +- v2.0 (2025-10):迭代版本,新增AI、云端、统计等功能 + +下一步计划: +- 根据用户反馈持续迭代优化 +- 探索更多AI学习场景 +- 扩展移动端支持 +- 建立开发者生态系统 \ No newline at end of file