第二次团队作业
软件工程博客作业
| 作业所属课程 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/ |
|---|---|
| 作业要求 | https://edu.cnblogs.com/campus/gdgy/SoftwareEngineering24/homework/15656 |
| 作业的目标 | 根据上次作业的进度,我们已经完成了代码开发,本次作业是上次作业的延续,进行下一步的原型设计和概要设计。 |
| 团队名称 | 凑企鹅队 |
| 团队成员学号-名字 | 3124004637 徐永盛 3124004632 王睿智 3124004621 黄毓 |
1. 原型设计链接
https://modao.cc/proto/wXnWTsStesuguZtuLr43U/sharing?view_mode=device&screen=rbpVIjPz2SAMqD9Bf #未命名原型 5-分享 1
后台密码:654321
2.对话交互评分游戏 - 概要设计
一、系统总体架构
1.1 系统分层架构
graph TD
UI[表现层 UI Layer]
Core[业务逻辑层 Core]
API[接口服务层 AI API]
DB[数据持久层 Database]
UI --> Core
Core --> API
Core --> DB
mindmap
root((对话交互评分游戏))
界面模块
主界面/场景切换
打字机文本效果
分数闪烁动画
视频预加载
游戏流程模块
场景加载/跳转
6关任务流程
胜负判定
返回主页
对话交互模块
玩家输入
AI 回复
对话记录
评分计算模块
6套独立评分规则
关键词加减分
总分统计
配置工具模块
全局配置
协程工具
场景参数传递
二、UML 设计
2.1 用例图
flowchart LR
Player[玩家]
System[系统]
AI[AI接口]
Player --> A(开始/退出游戏)
Player --> B(选择游戏场景)
Player --> C(输入对话内容)
Player --> D(查看AI回复)
Player --> E(完成关卡)
System --> F(自动计算分数)
AI --> G(提供对话回复)
2.2 活动图(业务流程)
flowchart TD
A[开始] --> B[启动界面]
B --> C[加载主界面]
C --> D[选择关卡1-6]
D --> E[进入游戏场景]
E --> F[玩家输入对话]
F --> G[发送请求至AI]
G --> H[AI返回回复]
H --> I[评分计算]
I --> J[显示本轮分数]
J --> K{轮次结束?}
K -->|否| F
K -->|是| L{总分达标?}
L -->|是| M[游戏胜利]
L -->|否| N[游戏失败]
M --> O[返回主界面]
N --> O
2.3 类图
classDiagram
class UIController {
-Config config
+ShowDialog()
+ShowScore()
}
class SceneLoad {
-string sceneName
+LoadScene()
+LoadAsync()
}
class ScoreCalculator {
+Calculate()
}
class DeepSeekAPIManager {
+SendMsg()
+ReceiveReply()
}
class Task1_ToWin {
+CheckWin()
+UpdateScore()
}
class Config {
+string apiKey
+string model
}
class BackToMain {
+GoToMain()
}
UIController --> ScoreCalculator
UIController --> DeepSeekAPIManager
UIController --> SceneLoad
Task1_ToWin --> ScoreCalculator
2.4 时序图(对话评分流程)
sequenceDiagram
participant 玩家
participant UIController
participant DeepSeekAPIManager
participant ScoreCalculator
玩家->>UIController: 输入对话内容
UIController->>DeepSeekAPIManager: 发送AI请求
DeepSeekAPIManager->>AI接口: 调用API
AI接口-->>DeepSeekAPIManager: 返回回复
DeepSeekAPIManager-->>UIController: 传递回复
UIController->>ScoreCalculator: 计算本轮分数
ScoreCalculator-->>UIController: 返回得分
UIController->>玩家: 显示回复与分数
2.5 对象协作图
graph LR
UIController <--> SceneTransfer
UIController <--> DeepSeekAPIManager
UIController <--> ScoreCalculator
TaskX_ToWin <--> ScoreCalculator
TaskX_ToWin <--> SceneLoad
All[所有对象] <--> Config
三、数据库设计
3.1 ER 图
erDiagram
User {
bigint user_id
varchar user_name
}
GameScene {
int scene_id
varchar scene_name
}
GameRound {
bigint game_id
bigint user_id
int scene_id
}
Dialogue {
bigint dialogue_id
bigint game_id
}
RoundScore {
bigint score_id
bigint dialogue_id
}
ScoreRule {
int rule_id
int scene_id
}
AIInteraction {
varchar request_id
bigint game_id
}
User ||--o{ GameRound : 参与
GameScene ||--o{ GameRound : 包含
GameRound ||--o{ Dialogue : 拥有
Dialogue ||--|| RoundScore : 对应
GameScene ||--o{ ScoreRule : 拥有
Dialogue ||--o{ AIInteraction : 产生
3.2关系数据模型
| 数据表名称 | 包含字段 |
|---|---|
| 用户表 | 用户ID、昵称、创建时间、是否删除 |
| 游戏场景表 | 场景ID、场景编码、场景名称、最大轮次、胜利分数、场景描述 |
| 游戏对局表 | 对局ID、用户ID、场景ID、总分数、当前轮次、是否结束、游戏结果 |
| 轮次对话表 | 对话ID、对局ID、轮次号、玩家消息、AI回复、发送时间 |
| 轮次评分表 | 评分ID、对话ID、本轮分数、评分规则、计算时间 |
| 评分规则表 | 规则ID、场景ID、规则类型、关键词、分值、规则描述 |
| AI交互记录表 | 请求ID、对局ID、请求内容、响应内容、请求状态、请求时间 |
3.3 对象 - 关系映射(ORM
1. 用户类(User) ↔ 用户表(t_user)
- userId ↔ user_id
- userName ↔ user_name
- createTime ↔ create_time
2. 游戏场景类(GameScene) ↔ 游戏场景表(t_game_scene)
- sceneId ↔ scene_id
- sceneName ↔ scene_name
- maxRound ↔ max_round
- winScore ↔ win_score
3. 游戏对局类(GameRound) ↔ 游戏对局表(t_game_round)
- gameId ↔ game_id
- userId ↔ user_id
- sceneId ↔ scene_id
- totalScore ↔ total_score
4. 对话类(Dialogue) ↔ 轮次对话表(t_dialogue)
- dialogueId ↔ dialogue_id
- gameId ↔ game_id
- playerMsg ↔ player_message
- aiReply ↔ ai_reply
5. 评分类(RoundScore) ↔ 轮次评分表(t_round_score)
- scoreId ↔ score_id
- dialogueId ↔ dialogue_id
- roundScore ↔ round_score
6. 评分规则类(ScoreRule) ↔ 评分规则表(t_score_rule)
- ruleId ↔ rule_id
- sceneId ↔ scene_id
- keyword ↔ keyword
- scoreValue ↔ score_value
3. 团队协作记录
3.1 开发计划时间安排
| 时间 | 任务 | 任务 |
|---|---|---|
| 4.27-5.1 | 系统设计说明书 | 数据库设计说明书 |
| 5.2-5.10 | 原型设计 | 概要设计 |
3.2 开发计划分工安排
| 成员 | 系统设计说明书 | 数据库设计说明书 | 原型设计 | 概要设计 |
|---|---|---|---|---|
| 徐永盛 | 1 | 1 | ||
| 王睿智 | 1 | 1 | ||
| 黄毓 | 1 | 1 |
4. 项目资源链接
- Github 团队仓库链接:https://github.com/origisxu/CE
- 系统设计说明书:【金山文档 | WPS云文档】凑企鹅队_系统设计说明书_20260504204239 https://www.kdocs.cn/l/csyyHm8TZGJz
- 数据库设计说明书:【金山文档 | WPS云文档】凑企鹅队_数据库设计说明书 https://www.kdocs.cn/l/cqzZ4N7hqH4o
- 原型在线预览链接:https://modao.cc/proto/wXnWTsStesuguZtuLr43U/sharing?view_mode=device&screen=rbpVIjPz2SAMqD9Bf #未命名原型 5-分享 1

浙公网安备 33010602011771号