类图
' 聊天项目类图
@startuml
' 智能陪聊
' 存储用户的基本信息
class 用户 {
+用户ID: String
+用户名: String
+密码: String
+邮箱: String
+头像: String
+个人简介: String
+ 开始聊天():void
+ 选择陪聊师():String
+ 总结聊天记录():void
}
' 存储专业陪聊师的信息
class 专业陪聊师 {
+陪聊师ID: String
+名称: String
+专业领域: String
+评分: Float
+头像: String
+个人简介: String
+ 提供聊天(): String
}
' 存储普通陪聊师的信息
class 普通陪聊师 {
+陪聊师ID: String
+名称: String
+评分: Float
+头像: String
+个人简介: String
+ 提供聊天(): String
}
' 记录用户与陪聊师的聊天记录
class 聊天记录 {
+聊天记录ID: String
+时间: Date
-聊天内容: List
+用户: 用户
+聊天机器人: 聊天机器人
+ 获取聊天记录(): List
}
' 记录产生的报告
class 报告 {
+报告ID: String
-分析结果: String
+ 生成报告(): String
}
用户 "1" --> "*" 聊天记录
专业陪聊师 "1" --> "*" 聊天记录
普通陪聊师 "1" --> "*" 聊天记录
聊天记录 "1" -- "1" 报告
@enduml
时序图
@startuml
actor 用户
participant "专业陪聊师" as 专业陪聊师
participant "普通陪聊师" as 普通陪聊师
participant "聊天记录" as 聊天记录
participant "报告" as 报告
用户 -> 用户: 选择陪聊师()
alt 选择专业陪聊师
用户 -> 专业陪聊师: 提供聊天()
else 选择普通陪聊师
用户 -> 普通陪聊师: 提供聊天()
end
用户 -> 用户: 开始聊天()
用户 -> 聊天记录: 总结聊天记录()
聊天记录 -> 聊天记录: 获取聊天记录()
聊天记录 -> 报告: 生成报告()
报告 -> 用户: 返回分析报告
@enduml
状态图
@startuml
[*] --> 选择陪聊师
选择陪聊师 --> 聊天中: 开始聊天
聊天中 --> 继续聊天 : 选择继续聊天
聊天中 --> 退出聊天 : 选择退出聊天
退出聊天 --> 总结中 : 总结聊天记录
总结中 --> 生成报告 : 生成分析报告
生成报告 --> 生成失败 : 报告生成失败
生成报告 --> 生成成功 : 报告生成成功
生成成功 --> [*] : 聊天结束
生成失败 --> 生成报告 : 重新生成
@enduml
活动图
@startuml
|用户|
start
:发送消息;
|专业陪聊机器人|
:回复消息;
|用户|
repeat
if (继续聊天?) then (是)
|用户|
:发送消息;
|专业陪聊机器人|
:回复消息;
else (否)
|管理员|
:记录消息;
stop
endif
repeat while (回复消息)
@enduml