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

1. 理解功能需求

作者端
  1. 作者可以编排图书的目录结构、章节内容,章节内容中包括图片、视频、文字。
  2. 软件可以集成第三方软件,让作者边学边练,能定义常见练习题比如问答题、选择题。
  3. 作者编辑时可以预览读者端的效果,手机效果、Web和桌面软件效果。
  4. 作者可以限制只在某一种或几种终端上使用。
读者端
  1. 读者端可以通过手机、浏览器或桌面软件使用交互式多媒体图书。
  2. 读者可以搜索图书,查看图书目录。
  3. 根据作者设定可以顺序解锁阅读,或随意跳跃阅读,或部分章节内部必须顺序阅读。
    参照码农的自我修养之从需求分析到软件设计——一种从需求分析到软件设计的基本建模方法,按如下交互式多媒体图书平台的需求,首先按需求类型分类,然后完成概念原型设计(应具有用例图+数据模型),并选择一个关键用例进行深入分析和设计(应具有分析和设计序列图),最终给出一个设计方案(应具有设计类图或者微服务架构图)。
需求补充
  1. 应用功能应该简洁明了,突出主要功能。最好能加入新用户功能指导。
  2. 在各种界面,功能模块切换之间响应时间应该少于0.2s
  3. 能够提供高并发访问量
  4. 能够提供日志,可用到kafak之类进行日志管理
  5. 能够提供可方便拓展的模块接口
  6. 作者和读者之间可以提供相应的讨论区
  7. 数据冗余备份,可恢复
  8. 可以加入图书审查版权之类的管理员功能
  9. 软件鲁棒性要强
安全需求
  1. 用户信息防泄漏
  2. 存储数据加密
其他需求或约束
  1. 软件能集成或调用第三方软件,比如阅读过程中能直接调出vscode或linux shell等第三方软件进行实际操作,并对操作做基本正误判断,然后回到图书继续阅读。调出第三方软件应该通过统一的插件模型调用,第三方软件与图书之间的相互转换要自动流畅完成,不需要读者操作。

  2. 读者端的手机App、Web或桌面软件使用统一的代码实现,优先考虑前后端为js+nodejs+mongodb;

  3. 作者端独立部署,只有在作者发布图书时才将数据导入到读者端系统,以避免作者端的操作对读者端系统的影响。

2.用例建模

作者端用例

读者端用例

系统管理员用例

3. 数据建模

这里包括三个部分:

  1. 数据对象
  2. 数据属性
  3. 关系
    常用ERD来进行描述。这里由于位置不够,我没有标明数据属性。

4. 类建模


这部分没做好,用的工具不是很好,没有实现,泛化、组合这些符号。后面再换。

5. 选择一个关键用例进行深入分析和设计

用例:读者查询图书


还有部分未完成

posted @ 2020-04-23 16:46  cyssmile  阅读(129)  评论(0编辑  收藏  举报