1.游客
2.用户
3.管理员
游客和用户的共同需求
可以在相应页面查看所有院校的列表以及院校信息,院校信息包括课程和院校介绍。并且可以通过关键词搜索院校。
可以在相应的页面查看所有课程的列表以及课程介绍。可以通过关键词搜索课程。
用户和管理员的共同需求
可以选择注销账号,消除账号信息。
游客可以通过设置个人信息注册一个账号。
游客可以登入已有的账号获得用户的权限。
用户可以选择想上的课程并加入到用户的课程中。
包括我的课程和账号设置。
1)我的课程
用户进入我的课程可以获得选课列表和选课信息。
选课列表
在选课列表中,可以通过关键词搜索选课,可以退出已选的课程。
课程信息
选课信息包括课程信息,讨论区和课程评价。
用户可以查看该课程的课程信息、讨论区的信息和课程评价,可以在讨论发言,可以对该课程做出评价。
2)账号设置
包括修改个人信息、修改密码、手机绑定、邮箱绑定。
对用户的crud操作。
对课程的crud操作。
对院校的crud操作。
对课程评价的crud操作。
根据需求的描述可以画出用例图
通过用例图可以得到的对象有,游客、用户、管理员、院校、课程、讨论发言、课程评价。
考虑系统的责任,为了在检索时能快速地找到相应的信息,增加以下对象:课程一览表、院校一览表。它记录了所有的课程、院校、,并提供检索和增删改查功能。
属性:角色是游客。
操作:
属性:角色是用户,个人信息、密码、手机、邮箱、选课列表
操作
属性:角色是管理员。
操作:用户管理、课程管理、院校管理、课程评价管理。对其进行相应的crud操作
属性:院校介绍、院校课程表
操作:信息更新:管理员更新信息。
属性:是一个汇总了所有院校的目录,是一个数组。
操作:
属性:课程介绍、讨论发言表、课程评价表、用户表
操作:信息更新:管理员更新信息。
同院校一览表
属性:发言内容、发言用户、发言时间
属性:评价内容、评价用户、评价时间、评价级别
操作:信息更新:管理员更新信息。
课程和讨论发言、课程评价是强关联,没有课程,讨论发言、课程评价都不存在,是不可分离的,故为组合关系。
院校一览表和院校构成聚合关系。因为可以相互独立存在,是可以分离的,且可以通过前者属性院校表体现整体和部分的关系。
同理课程和课程一览表,课程和院校也是聚合关系。
游客和用户在执行操作查看院校的时候,向院校一览表发消息,请求检索服务得到相应的院校信息。
游客和用户向院校对象发消息请求获知该院校的属性信息。
课程一览表和课程的依赖关系同上
管理员在执行管理操作时,分别向用户、课程一览表、院校一览课程评价发送消息,请求相应的crud操作。
根据之前分析可以得到对面模型图如下
用户输入账号密码执行登入,验证信息正确则进入登入页面
用户查看全部院校,之后输入检索信息查看特定院校。查找到特定院校后,查看院校的介绍和课程。
用户选定课程查看课程的信息。
用户选择加入课程,后端更新课程的信息。
用户在讨论区发表评论,前端在相应的位置显示评论,并将评论信息传给后端系统以更新评论信息。
用户在上完课发表课程评价,前端在相应的位置显示评价,并将评价信息传给后端系统以更新评价信息。
用户退出课程,后端系统更新课程信息。
用户查看个人信息,返回个人信息页面。用户更改个人信息,输入更改的信息,后端更新用户信息。
管理员查询管理目标即用户、课程、院校、课程评价的信息。
管理员管理(crud)用户、课程、院校、课程评价的信息。
管理员输入账号密码登入。
根据上述分析可以得到下图
因为4个管理目标操作相似,这里只列出课程的管理事件跟踪图。
用户的输入流:
加入、退出课程,查询课程,查询课程介绍,讨论发言、课程评价。
输出流:课程列表,课程介绍,事务信息。
功能模型图如下
用户的输入流: 查询院校,查询院校介绍、查询院校课程
输出流:院校列表,院校介绍,院校课程。
因为和课程类似,故重复作图。
用户的输入流有查询个人信息,更改信息
输出流:个人信息,事务信息。
功能模型图
管理员的输入流:查询信息,管理要求。
其中管理要求为crud操作。
输出流:查询结果。
下图是管理员管理课程的功能模型图。
原文:https://www.cnblogs.com/zhu-meng/p/12827499.html