shuominghsu2.0

shixinglin
石兴霖 4 months ago
parent 4ea77483e2
commit f000f5bb5e

@ -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个月

@ -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
- 数据库ORMSQLAlchemy
- 缓存Redis
- 消息队列Celery + RabbitMQ
- 任务调度APScheduler
AI技术栈
- NLP库spaCy + NLTK
- 机器学习scikit-learn + TensorFlow
- 深度学习PyTorch
- 推荐系统Surprise
基础设施:
- 容器化Docker + Kubernetes
- 监控Prometheus + Grafana
- 日志ELK Stack
- CI/CDGitLab 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学习场景
- 扩展移动端支持
- 建立开发者生态系统
Loading…
Cancel
Save