智琴云钢琴学习平台软件需求规格说明书
1. 引言
1.1 编写目的
本文档按照《计算机软件文档编制规范》GB/T 8567-2006 的软件需求规格说明书编写思路,对钢琴学习平台的需求获取过程、功能性需求、非功能性需求、用例模型、顺序图、类图和状态图进行说明,为后续系统设计、编码实现、测试验收和项目答辩提供依据。
1.2 项目背景
传统钢琴学习主要依赖线下授课和人工陪练,存在时间地点受限、练习监督成本高、学习反馈不及时、学习资源分散等问题。随着在线教育、音视频通信和音频识别技术的发展,建设一个面向钢琴学习者、教师、家长和管理员的一体化平台具有可行性和实际价值。
1.3 项目范围
本系统面向钢琴学习全过程,提供用户管理、曲库乐谱、智能陪练评分、课程约课、教学资源、社区交流、学习监督和后台管理等功能。系统重点解决“如何练习、如何评价、如何监督、如何教学、如何交流”的问题。
1.4 参考资料
《计算机软件文档编制规范》GB/T 8567-2006。
本项目《可行性分析报告》。
1.5 术语和缩略语
术语
说明
学生
使用平台进行钢琴学习、练习、评分和约课的用户
教师
在平台提供课程、资源、点评和教学服务的用户
家长
与学生账号关联并查看学习监督数据的用户
管理员
负责内容审核、用户管理、投诉处理和系统维护的用户
乐谱
平台中的曲谱资源,可采用 MusicXML 等标准格式保存
练习记录
学生一次练习产生的音频、时间、评分和分析结果
智能陪练
系统采集演奏音频并对音高、节奏等进行识别和反馈的功能
UML
统一建模语言,用于描述软件系统的结构和行为
2. 任务概述
2.1 系统目标
系统建设目标如下:
为学生提供曲库浏览、在线练习、智能评分和学习报告功能。
为教师提供资源上传、课程发布、学生进度查看和作业评价功能。
为家长提供学生练习监督、学习进度查看和阶段报告功能。
为管理员提供用户、资源、课程、社区内容和投诉的后台管理能力。
通过数据记录和可视化分析提升钢琴学习过程的可量化程度。
2.2 用户特点
用户类别
用户特点
关注重点
学生
年龄跨度较大,可能包含少儿、青少年和成人爱好者
操作简单、反馈及时、练习有成就感
教师
关注教学效率和学生练习质量
约课管理、资源发布、作业点评、进度跟踪
家长
关注孩子是否持续练习以及练习效果
练习时长、成绩变化、阶段报告
管理员
关注平台内容合规和运行秩序
审核、投诉、权限、统计和维护
2.3 假定和约束
系统优先支持 Web 端和平板端,后续可扩展移动端或小程序端。
智能评分功能在初期以基础曲目、单旋律和节奏识别为主要场景。
乐谱、视频、音频等资源必须考虑版权授权和内容审核。
用户录音、课程视频和未成年人信息必须进行隐私保护。
系统需要具备可扩展性,便于后续增加推荐、AI 分析和更多资源类型。
3. 需求获取
3.1 需求获取方法
本项目采用以下方法获取和整理需求:
方法
具体做法
获得的信息
文档分析法
分析项目原始设想材料和 GB/T 8567-2006 文档规范
明确平台建设目标、文档结构和交付要求
用户访谈法
假定访谈学生、教师、家长和管理员四类角色
获取不同角色的核心业务诉求
场景分析法
按“学生练习、教师授课、家长监督、管理员审核”梳理典型场景
提炼主要功能流程和边界条件
竞品分析法
参考在线音乐教育、智能陪练、在线约课类产品
提炼曲库、评分、报告、约课和社区等通用能力
原型评审法
将需求转化为用例、顺序图和状态图进行检查
验证交互流程是否完整、需求是否可实现
3.2 需求获取对象
学生用户:关注找谱、练习、打分、反馈、约课和交流。
教师用户:关注课程发布、资源上传、作业评价和学生进度。
家长用户:关注练习时长、评分变化、阶段报告和监督提醒。
管理员:关注账号管理、资源审核、社区治理、投诉处理和数据统计。
3.3 需求获取结论
经过需求获取和分析,系统应重点建设以下能力:
学生可以完成“选曲、练习、评分、查看报告”的完整闭环。
教师可以完成“发布课程、确认约课、授课、评价学生”的教学闭环。
教学资源需要具备上传、分类、审核、浏览和下载流程。
社区交流需要具备发布、评论、点赞、举报和管理员处理能力。
家长和教师需要通过学习看板查看学生的练习数据和成长趋势。
4. 自然语言需求描述
4.1 功能性需求
本节先用自然语言描述系统的功能性需求,再在后续章节中使用用例图、用例描述和顺序图进一步建模。
编号
功能需求描述
FR-01
系统应支持学生、教师、家长和管理员注册、登录、退出和身份认证。
FR-02
系统应支持按角色分配权限,不同角色只能访问其被授权的功能。
FR-03
系统应支持用户维护个人资料,包括昵称、头像、简介和联系方式等。
FR-04
系统应支持学生浏览曲库,按曲名、作曲家、难度、风格等条件检索乐谱。
FR-05
系统应支持展示乐谱详情,包括曲目简介、难度等级、示范资源和练习入口。
FR-06
系统应支持学生选择曲目并开始练习,采集演奏音频。
FR-07
系统应支持对学生练习音频进行音高、节奏和完整度评分。
FR-08
系统应支持在练习结束后生成练习报告,展示得分、薄弱点和改进建议。
FR-09
系统应保存练习历史记录,支持学生、教师和家长按权限查看。
FR-10
系统应支持教师发布课程信息,包括课程名称、时间、价格、简介和授课方式。
FR-11
系统应支持学生向教师发起约课申请,教师可以确认、调整或拒绝。
FR-12
系统应支持课程状态管理,包括待确认、已排课、进行中、待评价、已完成和已取消。
FR-13
系统应支持教师上传教学视频、音频、乐谱、文档和图片资料。
FR-14
系统应支持管理员对上传资源进行审核、通过、驳回、下架和分类管理。
FR-15
系统应支持学生浏览、收藏和下载被授权的教学资源。
FR-16
系统应支持用户发布社区动态、练习心得和学习成果。
FR-17
系统应支持评论、点赞、收藏、举报等社区互动操作。
FR-18
系统应支持教师和家长查看学生学习看板,包括练习次数、练习时长、评分变化和曲目完成情况。
FR-19
系统应支持生成阶段性学习报告。
FR-20
系统应支持管理员管理用户、课程、资源、社区内容和投诉记录。
4.2 非功能性需求
编号
非功能需求描述
NFR-01
易用性:系统界面应简洁清晰,学生、教师和家长能够快速理解主要操作。
NFR-02
性能:普通页面操作应在可接受时间内响应,练习评分反馈应尽量保持低延迟。
NFR-03
可靠性:练习记录、课程状态、资源审核等关键数据不得无故丢失。
NFR-04
安全性:系统应进行身份认证、权限控制和关键操作日志记录。
NFR-05
隐私保护:系统应保护用户资料、练习录音、课程视频和未成年人相关数据。
NFR-06
可维护性:系统应采用模块化结构,便于后续维护和功能扩展。
NFR-07
兼容性:系统应适配常见浏览器、平板和手机浏览环境。
NFR-08
合规性:平台上传的乐谱、视频和教学资料应具备版权审核和违规处理机制。
NFR-09
可扩展性:系统应支持后续扩展 AI 评测、个性化推荐、移动端和更多教学资源类型。
5. 功能性需求的用例模型
5.1 参与者说明
参与者
说明
学生
进行注册登录、浏览曲库、智能练习、约课、查看报告、参与社区
教师
发布课程、确认约课、上传资源、点评作业、查看学生进度
家长
关联学生账号,查看练习记录和学习监督看板
管理员
审核资源和社区内容,管理用户与投诉
评分服务
对学生练习音频进行识别、评分和报告生成的外部或内部服务
5.2 用例图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 graph TD Student[👤学生] Teacher[👤教师] Parent[👤家长] Admin[👤管理员] ScoreService[评分服务] subgraph System[钢琴学习平台] UC01((注册/登录)) UC02((浏览曲库与乐谱)) UC03((智能陪练与打分)) UC04((查看练习报告)) UC05((一对一约课)) UC06((在线授课)) UC07((上传教学资源)) UC08((审核资源与内容)) UC09((发布社区动态)) UC10((评论点赞举报)) UC11((查看学习监督看板)) UC12((处理投诉)) UC13((管理用户权限)) end Student --> UC01 Student --> UC02 Student --> UC03 Student --> UC04 Student --> UC05 Student --> UC09 Student --> UC10 Teacher --> UC01 Teacher --> UC05 Teacher --> UC06 Teacher --> UC07 Teacher --> UC11 Parent --> UC01 Parent --> UC11 Admin --> UC08 Admin --> UC12 Admin --> UC13 ScoreService --> UC03
6. 核心用例描述
6.1 UC-03 智能陪练与打分
项目
内容
用例名称
智能陪练与打分
主要参与者
学生
相关参与者
评分服务、数据库
前置条件
学生已登录,已选择可练习曲目,设备麦克风可用
后置条件
系统保存练习记录并生成练习报告
基本事件流
1. 学生进入曲目详情页并点击“开始练习”。 2. 系统加载乐谱和标准节奏数据。 3. 系统请求麦克风权限并开始采集音频。 4. 学生演奏曲目。 5. 系统将音频片段发送给评分服务。 6. 评分服务识别音高、节奏和完整度。 7. 评分服务返回评分结果。 8. 系统生成练习报告并保存记录。 9. 学生查看得分和改进建议。
备选事件流
A1. 麦克风权限被拒绝,系统提示用户开启权限后重试。 A2. 评分服务不可用,系统先保存音频并提示稍后生成报告。
异常处理
网络中断时保存本地临时记录,恢复网络后继续上传。
6.2 UC-05 一对一约课
项目
内容
用例名称
一对一约课
主要参与者
学生
相关参与者
教师、通知服务、数据库
前置条件
学生和教师均已注册,教师已发布可预约课程
后置条件
生成课程预约记录,并进入待确认或已排课状态
基本事件流
1. 学生浏览教师列表和课程信息。 2. 学生选择教师、课程和期望时间。 3. 系统校验课程是否可预约。 4. 学生提交约课申请。 5. 系统生成待确认预约记录。 6. 系统通知教师处理申请。 7. 教师确认预约。 8. 系统将课程状态更新为已排课并通知学生。
备选事件流
A1. 教师调整时间,学生确认后课程进入已排课状态。 A2. 教师拒绝申请,课程状态变为已取消。
异常处理
预约时间冲突时,系统提示学生重新选择时间。
6.3 UC-07 上传教学资源
项目
内容
用例名称
上传教学资源
主要参与者
教师
相关参与者
管理员、对象存储、数据库
前置条件
教师已登录并具有资源上传权限
后置条件
资源进入待审核状态,审核通过后可被学生浏览
基本事件流
1. 教师进入资源管理页面。 2. 教师选择资源类型并填写标题、简介、标签和适用难度。 3. 教师上传视频、音频、乐谱或文档文件。 4. 系统校验文件格式和大小。 5. 系统将文件保存到对象存储。 6. 系统生成资源记录并标记为待审核。 7. 管理员审核资源。 8. 审核通过后资源上架。
备选事件流
A1. 审核不通过,系统记录驳回原因并通知教师。 A2. 教师修改资源后可重新提交审核。
异常处理
文件上传失败时,系统提示重试并保留已填写的资源信息。
6.4 UC-09 发布社区动态
项目
内容
用例名称
发布社区动态
主要参与者
学生或教师
相关参与者
管理员、数据库
前置条件
用户已登录,账号状态正常
后置条件
动态发布成功或进入待审核状态
基本事件流
1. 用户进入社区页面。 2. 用户编辑文字内容并可选择上传图片、音频或视频。 3. 系统进行格式校验和敏感内容检查。 4. 用户点击发布。 5. 系统保存动态内容。 6. 若内容无需人工审核,系统立即展示动态。 7. 其他用户可评论、点赞或举报。
备选事件流
A1. 内容触发敏感词规则,动态进入待审核状态。 A2. 管理员审核不通过,系统隐藏动态并通知发布者。
异常处理
上传附件失败时,系统提示用户重新上传或仅发布文字内容。
6.5 UC-11 查看学习监督看板
项目
内容
用例名称
查看学习监督看板
主要参与者
家长、教师
相关参与者
学生、统计服务、数据库
前置条件
家长已关联学生账号,教师与学生存在教学关系
后置条件
用户查看学生阶段性学习数据和分析结果
基本事件流
1. 家长或教师进入学习看板页面。 2. 系统校验其是否具有查看该学生数据的权限。 3. 用户选择时间范围。 4. 系统查询练习记录、课程记录和评分数据。 5. 统计服务计算练习时长、次数、平均分和进步趋势。 6. 系统展示图表、薄弱点和阶段建议。
备选事件流
A1. 学生暂无练习数据,系统展示空状态和练习建议。 A2. 用户无权限查看,系统拒绝访问并提示原因。
异常处理
统计服务异常时,系统展示基础记录列表并提示稍后查看图表。
7. 核心顺序图
7.1 智能陪练与打分顺序图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 sequenceDiagram actor Student as 学生 participant Client as 客户端 participant MusicCtrl as 练习控制类 participant AudioBoundary as 音频采集边界类 participant ScoreCtrl as 评分控制类 participant ScoreService as 评分服务 participant RecordEntity as 练习记录实体 participant DB as 数据库 Student->>Client: 点击开始练习 Client->>MusicCtrl: 请求曲谱与标准数据 MusicCtrl->>DB: 查询曲目和乐谱 DB-->>MusicCtrl: 返回乐谱与标准数据 MusicCtrl-->>Client: 展示乐谱 Student->>AudioBoundary: 授权麦克风并演奏 AudioBoundary->>ScoreCtrl: 提交音频片段 ScoreCtrl->>ScoreService: 请求音高节奏识别 ScoreService-->>ScoreCtrl: 返回评分结果 ScoreCtrl->>RecordEntity: 创建练习记录和报告 RecordEntity->>DB: 保存练习记录 DB-->>Client: 返回练习报告 Client-->>Student: 展示得分和建议
7.2 一对一约课顺序图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 sequenceDiagram actor Student as 学生 actor Teacher as 教师 participant CourseBoundary as 课程界面边界类 participant BookingCtrl as 约课控制类 participant CourseEntity as 课程实体 participant NotifyCtrl as 通知控制类 participant DB as 数据库 Student->>CourseBoundary: 浏览教师课程 CourseBoundary->>BookingCtrl: 查询可预约时间 BookingCtrl->>DB: 查询课程排期 DB-->>BookingCtrl: 返回排期 Student->>CourseBoundary: 提交约课申请 CourseBoundary->>BookingCtrl: 创建预约 BookingCtrl->>CourseEntity: 生成待确认课程记录 CourseEntity->>DB: 保存预约 BookingCtrl->>NotifyCtrl: 通知教师 NotifyCtrl-->>Teacher: 发送约课申请 Teacher->>CourseBoundary: 确认预约 CourseBoundary->>BookingCtrl: 更新课程状态 BookingCtrl->>CourseEntity: 状态变更为已排课 CourseEntity->>DB: 保存状态 NotifyCtrl-->>Student: 通知预约成功
7.3 上传教学资源顺序图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 sequenceDiagram actor Teacher as 教师 actor Admin as 管理员 participant ResourceBoundary as 资源管理边界类 participant ResourceCtrl as 资源控制类 participant Storage as 对象存储 participant AuditCtrl as 审核控制类 participant ResourceEntity as 资源实体 participant DB as 数据库 Teacher->>ResourceBoundary: 填写资源信息并上传文件 ResourceBoundary->>ResourceCtrl: 提交资源数据 ResourceCtrl->>ResourceCtrl: 校验格式和大小 ResourceCtrl->>Storage: 上传资源文件 Storage-->>ResourceCtrl: 返回文件地址 ResourceCtrl->>ResourceEntity: 创建待审核资源 ResourceEntity->>DB: 保存资源记录 AuditCtrl-->>Admin: 推送待审核任务 Admin->>AuditCtrl: 审核资源 AuditCtrl->>ResourceEntity: 更新审核状态 ResourceEntity->>DB: 保存审核结果 AuditCtrl-->>Teacher: 通知审核结果
7.4 发布社区动态顺序图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 sequenceDiagram actor User as 学生或教师 actor Admin as 管理员 participant CommunityBoundary as 社区边界类 participant PostCtrl as 动态控制类 participant ModerationCtrl as 内容审核控制类 participant PostEntity as 动态实体 participant DB as 数据库 User->>CommunityBoundary: 编辑并发布动态 CommunityBoundary->>PostCtrl: 提交动态内容 PostCtrl->>ModerationCtrl: 进行敏感内容检查 alt 内容正常 ModerationCtrl-->>PostCtrl: 审核通过 PostCtrl->>PostEntity: 创建已发布动态 PostEntity->>DB: 保存动态 CommunityBoundary-->>User: 显示发布成功 else 需要人工审核 ModerationCtrl-->>PostCtrl: 标记待审核 PostCtrl->>PostEntity: 创建待审核动态 PostEntity->>DB: 保存动态 Admin->>ModerationCtrl: 人工审核 ModerationCtrl->>PostEntity: 更新审核结果 PostEntity->>DB: 保存结果 end
7.5 查看学习监督看板顺序图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 sequenceDiagram actor Viewer as 家长或教师 participant DashboardBoundary as 看板边界类 participant PermissionCtrl as 权限控制类 participant DashboardCtrl as 看板控制类 participant StatService as 统计服务 participant PracticeEntity as 练习记录实体 participant DB as 数据库 Viewer->>DashboardBoundary: 选择学生和时间范围 DashboardBoundary->>PermissionCtrl: 校验查看权限 PermissionCtrl->>DB: 查询关联关系 DB-->>PermissionCtrl: 返回权限结果 PermissionCtrl-->>DashboardBoundary: 允许访问 DashboardBoundary->>DashboardCtrl: 请求学习数据 DashboardCtrl->>PracticeEntity: 查询练习记录 PracticeEntity->>DB: 查询练习和评分数据 DB-->>PracticeEntity: 返回数据 DashboardCtrl->>StatService: 计算统计指标 StatService-->>DashboardCtrl: 返回趋势和分析 DashboardCtrl-->>DashboardBoundary: 返回看板数据 DashboardBoundary-->>Viewer: 展示图表和建议
8. 分析类与完整系统类图
8.1 顺序图中的分析类提取
根据 5 个顺序图,可提取边界类、控制类和实体类如下:
类别
分析类
边界类
练习界面、音频采集边界类、课程界面边界类、资源管理边界类、社区边界类、看板边界类
控制类
练习控制类、评分控制类、约课控制类、通知控制类、资源控制类、审核控制类、动态控制类、权限控制类、看板控制类
实体类
用户、学生档案、教师档案、家长关联、曲目、乐谱、练习记录、评分报告、课程、预约、教学资源、审核记录、动态、评论、投诉、通知
8.2 完整系统类图
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 classDiagram class User { +userId: String +role: String +nickname: String +phone: String +status: String +login() +updateProfile() } class StudentProfile { +studentId: String +level: String +learningGoal: String } class TeacherProfile { +teacherId: String +qualification: String +introduction: String +rating: Float } class ParentBinding { +bindingId: String +relation: String +bindStatus: String } class MusicPiece { +musicId: String +title: String +composer: String +difficulty: String } class SheetMusic { +sheetId: String +format: String +fileUrl: String +auditStatus: String } class PracticeRecord { +recordId: String +startTime: DateTime +duration: Int +audioUrl: String +status: String } class ScoreReport { +reportId: String +pitchScore: Float +rhythmScore: Float +totalScore: Float +suggestion: String } class Course { +courseId: String +title: String +price: Float +scheduleTime: DateTime +status: String } class Booking { +bookingId: String +requestTime: DateTime +status: String } class TeachingResource { +resourceId: String +title: String +type: String +fileUrl: String +auditStatus: String } class AuditRecord { +auditId: String +targetType: String +result: String +reason: String } class Post { +postId: String +content: String +publishTime: DateTime +status: String } class Comment { +commentId: String +content: String +createTime: DateTime } class Complaint { +complaintId: String +reason: String +status: String } class Notification { +noticeId: String +title: String +content: String +readStatus: String } User "1" --> "0..1" StudentProfile : 拥有 User "1" --> "0..1" TeacherProfile : 拥有 User "1" --> "0..*" ParentBinding : 建立 ParentBinding "*" --> "1" StudentProfile : 监督 MusicPiece "1" --> "1..*" SheetMusic : 包含 User "1" --> "0..*" PracticeRecord : 产生 PracticeRecord "*" --> "1" MusicPiece : 基于 PracticeRecord "1" --> "0..1" ScoreReport : 生成 TeacherProfile "1" --> "0..*" Course : 发布 Course "1" --> "0..*" Booking : 对应 User "1" --> "0..*" Booking : 发起 User "1" --> "0..*" TeachingResource : 上传 TeachingResource "1" --> "0..*" AuditRecord : 审核 User "1" --> "0..*" Post : 发布 Post "1" --> "0..*" Comment : 包含 User "1" --> "0..*" Comment : 发表 User "1" --> "0..*" Complaint : 提交 Complaint "*" --> "1" User : 被处理 User "1" --> "0..*" Notification : 接收
9. 状态图
9.1 课程预约状态图
1 2 3 4 5 6 7 8 9 10 11 12 stateDiagram-v2 [*] --> 待确认: 学生提交约课申请 待确认 --> 已排课: 教师确认 待确认 --> 已取消: 教师拒绝或超时 已排课 --> 进行中: 到达上课时间 已排课 --> 已取消: 学生或教师取消 进行中 --> 待评价: 课程结束 待评价 --> 已完成: 双方完成评价 待评价 --> 申诉中: 学生或教师发起申诉 申诉中 --> 已完成: 管理员处理完成 已完成 --> [*] 已取消 --> [*]
9.2 教学资源审核状态图
1 2 3 4 5 6 7 8 9 10 stateDiagram-v2 [*] --> 草稿: 教师创建资源 草稿 --> 待审核: 提交审核 待审核 --> 已上架: 管理员审核通过 待审核 --> 已驳回: 管理员审核不通过 已驳回 --> 草稿: 教师修改资源 已上架 --> 已下架: 管理员下架或版权到期 已下架 --> 待审核: 重新提交审核 已上架 --> [*] 已下架 --> [*]
9.3 练习记录状态图
1 2 3 4 5 6 7 8 9 10 11 stateDiagram-v2 [*] --> 待开始: 学生选择曲目 待开始 --> 练习中: 点击开始练习 练习中 --> 评分中: 结束演奏并提交音频 练习中 --> 已取消: 主动退出练习 评分中 --> 已生成报告: 评分服务返回结果 评分中 --> 待重新评分: 评分服务异常 待重新评分 --> 评分中: 重新提交音频 已生成报告 --> 已归档: 保存练习记录 已取消 --> [*] 已归档 --> [*]
10. 外部接口需求
10.1 用户界面接口
学生端应提供曲库浏览、练习入口、评分报告、约课和社区入口。
教师端应提供课程管理、资源上传、学生进度和评价入口。
家长端应突出学习监督、练习统计和阶段报告。
管理后台应提供用户管理、内容审核、投诉处理和运营统计入口。
10.2 硬件接口
系统应调用麦克风采集学生练习音频。
系统可调用摄像头用于在线授课或演奏视频上传。
系统可扩展支持 MIDI 键盘接入,以提高评分准确性。
10.3 软件接口
对象存储接口:保存乐谱、视频、音频、图片和文档文件。
音视频服务接口:支持在线授课和实时互动。
消息通知接口:发送约课提醒、审核结果和系统通知。
评分服务接口:接收练习音频,返回音高、节奏、总分和建议。
11. 需求追踪与验收标准
11.1 需求追踪
需求来源
对应功能
学生练习场景
曲库浏览、智能陪练、评分报告、练习记录
教师教学场景
课程发布、约课确认、资源上传、学生进度查看
家长监督场景
账号关联、学习看板、阶段报告
平台运营场景
内容审核、投诉处理、用户权限管理
11.2 验收标准
系统能够支持学生完成一次从选曲到查看报告的完整练习流程。
系统能够支持学生和教师完成一次完整约课流程。
系统能够支持教师上传资源并由管理员完成审核。
系统能够支持用户发布社区动态并进行互动或举报。
系统能够支持教师或家长查看学生学习监督看板。
用例图、5 个用例描述、5 个顺序图、完整类图和 3 个状态图能够与自然语言需求保持一致。