UML 项目实例——抖音的 UML 图描述
[](()1 应用程序介绍
抖音,是一款音乐创意短视频社交软件,由今日头条孵化,该软件于 2016 年 9 月上线,是一个专注年轻人音乐短视频社区平台。用户可以通过这款软件选择歌曲,拍摄音乐短视频,形成自己的作品。
抖音,记录美好生活。
[](()2 用例图——探究抖音的业务模式
----------------------------------------- 《一线大厂 Java 面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 ------------------------------------------
用例图含义:由参与者、用例以及他们之间的关系构成的用于描述系统功能的动态视图成为用例图。其中用例和参与者之间的对应关系又叫做通讯关联,他表示参与者使用了系统中的哪些用例。用例图是从软件需求分析到最终实现的第一步,他显示了系统的用户和用户希望提供的功能,有利于用户和软件开发人员之间的沟通。
用例图作用:用例图是需求分析中的产物,主要作用是描述参与者和用例之间的关系,帮助开发人员可视化的了解系统的功能。借助于用例图,系统用户、系统分析人员、系统设计人员、领域专家能够以可视化的方式对问题进行探讨,减少了大量交流上的障碍,便于对问题达成共识。
用例图,是用来表示系统角色与系统功能发生交互的图。通过用例图,可以很清晰地表示系统的主要功能。
经过对抖音 APP 的调研,得到其需求分析为:
1) 用户——点赞当前视频——智能推荐算法——获得用户感兴趣的视频
2) 用户——分享当前视频——转发到其他平台
3) 用户——拍摄并且上传视频——智能推荐系统——分发给其他用户
4) 智能推荐系统——为不同用户分发视频与广告
5) 用户——刷赞/粉——智能推荐系统——对该抖音账号进行降权或封号处理
6) 用户——充钱(DOU+)/被关注/被点赞——智能推荐系统——上热门
用以上用户需求得到业务用例图为:
[](()3 类图——探究系统的类间关系
3.1 抖音软件界面介绍
抖音软件主界面如上图所示,相关部件的功能分别是:
1) 直播按键:用户直播。
2) 点赞按键:用户为感兴趣视频点赞。
3) 评论按键:用户为视频发表评论。
4) 分享按键:用户分享该视频到各个平台。
5) 新建视频按键:用户拍摄视频。
6) 我的主页按键:用户自身主页。
7) 消息按键:用户的聊天以及被回复消息。
3.2 类图
根据上述界面分析,得到该系统的类图为:
上图中的类说明:
| 类名 | 说明 |
| --- | --- |
| TikTok | 抖音软件类 |
| User | 抽象用户类,所有用户类的超类 |
| OrdinaryUser | 普通用户类 |
| GarbageUser | 垃圾用户类 |
| AuthenticatedUser | 认证用户类 |
| Administrator | 管理员(智能推荐系统)类 |
| Component | 抖音界面上的组件抽象类,所有组件的超类 |
| ike | 点赞功能类 |
| Comment | 评论功能类 |
| Share | 分享功能类 |
| NewVideo | 拍摄并且上传视频类 |
| HomePage | 我的主页类 |
上图中的方法说明:
| 方法名 | 说明 |
| --- | --- |
| OrdinaryUser 中的 ike()方法 | 点赞按键 |
| OrdinaryUser 中的 comment()方法 | 评论按键 |
| OrdinaryUser 中的 share()方法 | 分享按键 |
| OrdinaryUser 中的 newVideo()方法 | 新建视频按键 |
| OrdinaryUser 中的 homePage()方法 | 我的主页按键 |
| Administrator 中的 auditVideo()方法 | 管理员审核视频 |
| Administrator 中的 deleteVideo()方法 | 管理员删除视频 |
| Administrator 中的 deleteUser()方法 | 管理员删除用户 |
| Administrator 中的 weightUser()方法 | 管理员降权用户 |
| Administrator 中的 distributeUser()方法 | 管理员加权用户 |
[](()4 时序图——描述系统的运行时态
评论