类图
' 聊天项目类图
@startuml
' 智能陪聊
' 存储用户的基本信息
class 用户 {
+对象ID: String
+创建时间: Date
+用户名: String
+密码: String
+邮箱: String
+头像: String
+个人简介: String
+ 更新个人信息(): void
}
' 存储专业陪聊师的信息
class 专业陪聊机器人 {
+对象ID: String
+创建时间: Date
+名称: String
+专业领域: String
+评分: Float
+可用性: Boolean
+头像: String
+个人简介: String
+ 更新评分():void
}
' 存储普通陪聊师的信息
class 普通聊天机器人 {
+对象ID: String
+创建时间: Date
+名称: String
+描述: String
+版本: String
+可用性: Boolean
+头像: String
}
' 记录用户与陪聊师的聊天记录
class 聊天记录 {
+对象ID: String
+创建时间: Date
+消息: String
+时间戳: Date
+用户: 用户
+聊天机器人: 聊天机器人
+管理员: 管理员
+ 保存聊天记录(): void
+ 获取聊天记录(): List
}
' 存储管理员的信息
class 管理员 {
+对象ID: String
+用户名: String
+密码: String
+邮箱: String
+创建时间: Date
+ 管理聊天记录(): List<聊天记录>
}
用户 "1" --> "*" 聊天记录
专业陪聊机器人 "1" --> "*" 聊天记录
普通聊天机器人 "1" --> "*" 聊天记录
管理员 "1" --> "*" 聊天记录
@enduml
时序图
@startuml
actor 用户
participant 专业陪聊机器人
participant 管理员
participant 聊天记录
用户 -> 专业陪聊机器人: 发送消息
专业陪聊机器人 -> 用户: 返回回复消息
用户 -> 管理员: 退出聊天
管理员 -> 聊天记录: 保存聊天记录
聊天记录 -> 管理员: 返回记录确认
@enduml
@startuml
actor 用户
participant 普通聊天机器人
participant 管理员
participant 聊天记录
用户 -> 普通聊天机器人: 发送消息
普通聊天机器人 -> 用户: 返回回复消息
用户 -> 管理员: 退出聊天
管理员 -> 聊天记录: 保存聊天记录
聊天记录 -> 管理员: 返回记录确认
@enduml
状态图
@startuml
[*] --> 选择聊天页面
选择聊天页面 --> 聊天中 : 开始聊天
聊天中 --> 与专业陪聊机器人交互 : 选择专业陪聊机器人
聊天中 --> 与普通聊天机器人交互 : 选择普通聊天机器人
聊天中 --> 退出聊天 : 选择退出聊天
退出聊天 --> 记录中 : 记录聊天记录
记录中 --> 保存成功 : 保存记录
记录中 --> 保存失败 : 保存记录失败
保存成功 --> [*] : 聊天结束
保存失败 --> 记录中 : 重新保存
@enduml
活动图
@startuml
|用户|
start
:发送消息;
|专业陪聊机器人|
:回复消息;
|用户|
repeat
if (继续聊天?) then (是)
|用户|
:发送消息;
|专业陪聊机器人|
:回复消息;
else (否)
|管理员|
:记录消息;
stop
endif
repeat while (回复消息)
@enduml