功能要求
现有一交互式多媒体图书平台,需要实现的功能如下:
- 交互式多媒体图书平台包括读者端和作者端;
- 作者可以编排图书的目录结构、章节内容,章节内容中包括图片、视频、文字、和集成第三方软件边学边练,能定义常见练习题比如问答题、选择题;作者编辑时可以预览读者端的效果,手机效果、Web和桌面软件效果,作者可以限制只在某一种或几种终端上使用。
- 读者端可以通过手机、浏览器或桌面软件使用交互式多媒体图书,可以搜索图书,查看图书目录,根据作者设定可以顺序解锁阅读,或随意跳跃阅读,或部分章节内部必须顺序阅读。
- 软件能集成或调用第三方软件,比如阅读过程中能直接调出vscode或linux shell等第三方软件进行实际操作,并对操作做基本正误判断,然后回到图书继续阅读。调出第三方软件应该通过统一的插件模型调用,第三方软件与图书之间的相互转换要自动流畅完成,不需要读者操作。
- 读者端的手机App、Web或桌面软件使用统一的代码实现,优先考虑前后端为js+nodejs+mongodb;作者端独立部署,只有在作者发布图书时才将数据导入到读者端系统,以避免作者端的操作对读者端系统的影响。
细化需求
-
功能需求
交互式多媒体图书平台包括读者端和作者端,这两个客户端的需求是不同的,分别如下:
-
作者端
- 可以编排图书的目录结构、章节内容
- 章节内容中包括图片、视频、文字
- 集成第三方软件边学边练,能定义常见练习题比如问答题、选择题
- 编辑时可以预览读者端的效果
- 手机效果、Web和桌面软件效果,作者可以限制只在某一种或几种终端上使用。
-
读者端
- 通过手机、浏览器或桌面软件使用交互式多媒体图书
- 可以搜索图书
- 查看图书目录
- 根据作者设定可以顺序解锁阅读,或随意跳跃阅读,或部分章节内部必须顺序阅读。
- 集成或调用第三方软件,对操作做基本正误判断,然后回到图书继续阅读。
-
非功能需求
- 高并发,可以支持许多读者和作者同时访问该平台
- 响应时间小,用户的操作需要及时进行响应
- 交互简易,易于用户使用
- 易于扩展
-
设计约束
- 调出第三方软件应该通过统一的插件模型调用,第三方软件与图书之间的相互转换要自动流畅完成,不需要读者操作
- 读者端的手机App、Web或桌面软件使用统一的代码实现,优先考虑前后端为js+nodejs+mongodb
- 作者端独立部署,只有在作者发布图书时才将数据导入到读者端系统,以避免作者端的操作对读者端系统的影响
用例图
作者端:
读者端:
数据库图
时序图
作者端:
读者端: