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

  按交互式多媒体图书平台的需求,首先按需求类型分类,然后完成概念原型设计(应具有用例图+数据模型),并选择一个关键用例进行深入分析和设计(应具有分析和设计序列图),最终给出一个设计方案(应具有设计类图或者微服务架构图)。

一、需求分类

1、业务需求

业务需求(Business requirement)表示组织或客户高层次的目标业务需求通常来自项目投资人本系统目标在于完成一个可交互的多媒体图书平台,方便读者在操作中学习。每个人都可以是作者,同时也可以

2、用户需求

用户需求(user requirement)描述的是用户的目标,或用户要求系统必须能完成的任务。

1)读者端

读者端可以通过手机、浏览器或桌面软件使用交互式多媒体图书,可以搜索图书,查看图书目录,根据作者设定可以顺序解锁阅读,或随意跳跃阅读,或部分章节内部必须顺序阅读。

2)作者端

作者可以编排图书的目录结构、章节内容,章节内容中包括图片、视频、文字、和集成第三方软件边学边练,能定义常见练习题比如问答题、选择题;作者编辑时可以预览读者端的效果,手机效果、Web和桌面软件效果,作者可以限制只在某一种或几种终端上使用。

(3)附加功能

软件能集成或调用第三方软件,比如阅读过程中能直接调出vscodelinux shell等第三方软件进行实际操作,并对操作做基本正误判断,然后回到图书继续阅读。调出第三方软件应该通过统一的插件模型调用,第三方软件与图书之间的相互转换要自动流畅完成,不需要读者操作。

3、系统需求

系统需求代表的是用于描述包含多个子系统的产品(即系统)的顶级需求。

1设计约束

系统可以只包含软件系统,也可以既包含软件又包含硬件子系统。读者端的手机AppWeb或桌面软件使用统一的代码实现,优先考虑前后端为js+nodejs+mongodb;作者端独立部署,只有在作者发布图书时才将数据导入到读者端系统,以避免作者端的操作对读者端系统的影响。

(2)质量属性

性能:该系统应该在用户可接受的时间范围内做出实时的响应。

安全性:软件系统同时兼顾揭发用户提供服务,阻止非授权使用。

易用性:该系统易于被使用,能够被读者和作者很方便的进行理解。

可伸缩性:当用户数和数据量增加时,该系统软件应该还是能够维持搞服务质量。

鲁棒性:当有用户进行了非法操作时,相关的软硬件系统发生了故障下任然能够正常运行。

(3)数据需求

  本系统要求存放大量的用户数据与图书信息,以及每次上传和下载的信息,用户做的注释等也需要进行存储,数据应该满足

 

二、概念原型设计

用例图是指由参与者(Actor)、用例Use Case),边界以及它们之间的关系构成的用于描述系统功能的视图。用例图(User Case)是外部用户(被称为参与者)所能观察到的系统功能的模型图。

推荐在线工具https://www.processon.com/在线绘制图。

1、读者用例图

 

2、作者用例图

3、数据模型

  数据模型(Data Model)是数据特征的抽象。数据(Data)是描述事物的符号记录,模型(Model)是现实世界的抽象。数据模型从抽象层次上描述了系统的静态特征、动态行为和约束条件,为数据库系统的信息表示与操作提供了一个抽象的框架。

  读者信息,作者信息,书籍,已经设置的交互信息,这些是该系统数据库的主要内容。

 

 

 

 

三、关键用例深入分析和设计

 

时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。它可以表示用例的行为顺序,当执行一个用例行为时,其中的每条消息对应一个类操作或状态机中引起转换的触发事件。

 

以读者端MVC架构为例,画出该系统的时序图如下所示。

 

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分,通常模型对象负责在数据库中存取数据。这里代表的是存储用户信息与图书信息的数据库。
View(视图)是应用程序中处理数据显示的部分,通常视图是依据模型数据创建的。在这里代表着图书阅读器的用户界面。
Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

 

 

四、设计类图

根据数据模型,能够得到下列UML图。

 

 

 

 

 

 

 

posted @ 2020-04-23 20:01  yumiao233  阅读(369)  评论(0编辑  收藏  举报