交互式多媒体图书平台的设计与实现

使用从需求分析到软件设计的基本建模方法为交互式多媒体图书平台提供一个设计方案,该平台的需求有如下几点:

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

一、需求类型分类

功能需求:系统要实现的功能

  • 交互式多媒体图书平台包括读者端和作者端;
  • 作者可以编排图书的目录结构、章节内容,章节内容中包括图片、视频、文字、和集成第三方软件边学边练,能定义常见练习题比如问答题、选择题;
  • 作者编辑时可以预览读者端的效果,手机效果、Web和桌面软件效果,作者可以限制只在某一种或几种终端上使用;
  • 读者端可以通过手机、浏览器或桌面软件使用交互式多媒体图书,可以搜索图书,查看图书目录,根据作者设定可以顺序解锁阅读,或随意跳跃阅读,或部分章节内部必须顺序阅读。
  • 软件能集成或调用第三方软件,比如阅读过程中能直接调出vscode或linux shell等第三方软件进行实际操作,并对操作做基本正误判断,然后回到图书继续阅读。

质量需求:质量属性

  • 易用性:第三方软件与图书之间的相互转换要自动流畅完成,不需要读者操作
  • 安全性:只有在作者发布图书时才将数据导入到读者端系统,以避免作者端的操作对读者端系统的影响。
  • 可修改性:需求不足可以适当补充和调整

设计约束:平台和接口构件的选择

  • 读者端的手机App、Web或桌面软件使用统一的代码实现
  • 作者端独立部署

过程约束:技术和资源限制

  • 调出第三方软件应该通过统一的插件模型调用
  • 优先考虑前后端为js+nodejs+mongodb;

二、概念原型设计

用例分析:

从功能需求中提取出一下用例:

  • 作者可以编辑图书内容、样式
  • 作者可以定义练习题
  • 作者可以设定阅读顺序
  • 作者可以预览样式
  • 作者可以设定图书的访问平台
  • 读者可以搜索书籍
  • 读者可以查看目录
  • 读者可以阅读书籍
  • 读者可以做练习
  • 作者和读者可以调用第三方软件进行操作

 

数据模型

该系统中的实体类 有用户和书籍,用户又分为作者和读者。期间的关联类有写书和读书。以作者、读者和书籍这三种的数量上的1对n的关系来说,n应该属于many但不是squilliongs的范围,采用用户端存储书籍号数组的子引用设计方式。

三、关键用例分析

对象交互建模、找出关键剧情、关键剧情描述、剧情描述表、分析序列图、设计序列图

以读者查找书籍并阅读者两个用例进行分析

  1.搜索界面使用用户输入的ID或链接查找图书

  1.1系统创建一个空白信息

  1.2系统循环查询每一个要搜索的ID

  1.2.1  系统使用ID从数据库请求数据

  1.2.2  数据库返回数据

  1.2.3  如果数据存在

  1.2.3.1    是否有权限阅读

  1.2.3.1.1     系统将数据存入空白信息

  1.2.3.2    如果没有权限

  1.2.3.2.1     将“暂无权限”写入空白信息

  1.2.4  如果数据不存在

  1.2.4.1    将“没有此书籍”写入空白信息

  1.3系统将消息返还给搜索界面

  1.4如果消息是所查询到的书籍信息

  1.4.1  用户开始阅读

  1.5如果没有书籍信息

  1.5.1  操作停止Data

  1.6系统返回搜索界面

  Subject Action Data Object
1 搜索界面 搜索 书籍编号 系统
1.1 系统 创建   空白信息
1.2 循环查询
1.2.1 系统 请求数据 书籍编号 数据库
1.2.2 数据库 返还 信息 系统
1.2.3 信息是否存在
1.2.3.1 是否有权限阅读
1.2.3.1.1 系统 写入 数据 空白信息
1.2.3.2 没有权限
1.2.3.2.1 系统 写入 “无权限” 空白信息
1.2.4 信息不存在
1.2.4.1 系统 写入 “无数据” 空白信息
1.3 系统 返还 信息 搜索界面
1.4 是否是数据内容
1.4.1 系统 打开 书籍内容 阅读界面
1.5 其他信息
1.5.1 系统 停止   搜索
1.6 系统 返回   搜索界面

 

用剧情描述表画出分析序列图,并得出设计序列图

 

四、设计类图

 将设计序列图的每一项设计成一个类,并填入其所拥有的方法及属性,最后连接其相互关系。

 

posted @ 2020-04-23 22:30  MosEleven  阅读(254)  评论(0编辑  收藏  举报