第二次团队作业
| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/ |
|---|---|
| 这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/202501SoftwareEngineering/homework/14580 |
| 这个作业的目标 | 提交原型设计,系统设计,数据库设计以及相关需求分析的文档 |
| 学号 | 102301312 张铭浩 102301314 张博凇 102301318 杨垚 102301321 吴颖哲 102301330 李坤伟 102301331 李鸿洋 102301332 柯鸿斌 102301333 江文博 102301334 黄伟圣 112301521 翁小燚 |
🎨 原型设计
原型设计使用墨刀进行原型设计,我们进行了简单的前台页面展示。
主菜单界面

AI 问答界面

游戏资料库界面

战术板界面

📊 UML 设计
2.1 需求分析
首先是整个项目的整体需求分析,我们具体将其分为 4 个主要模块,如下:
- AI 问答模块
- 游戏资料库模块
- 战术板模块
- 用户系统模块
系统用例图

2.2 核心功能分析
我们使用活动图、时序图以及协作图对我们的一系列核心功能进行了可视化,如下:
AI 问答功能与战术管理功能 - 协作图



AI问答与战术保存功能 - 时序图


AI 问答与战术保存业务流程 - 活动图


2.3 类图

🗄️ 数据库设计
数据库 ER 图具体如下:

数据库表
Users(用户表)
public class Users
{
public Guid Id { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public string PasswordHash { get; set; }
public string AvatarUrl { get; set; }
public string Bio { get; set; }
public bool IsActive { get; set; }
public DateTime LastLogin { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
ChatHistory(聊天历史表)
public class ChatHistory
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public string Role { get; set; }
public string Content { get; set; }
public string Model { get; set; }
public int Tokens { get; set; }
public DateTime Timestamp { get; set; }
}
Agent(英雄表)
public class Agent
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Role { get; set; }
public string Description { get; set; }
public string ImageUrl { get; set; }
public string Nationality { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
Ability(技能表)
public class Ability
{
public Guid Id { get; set; }
public Guid AgentId { get; set; }
public string Key { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public int Cooldown { get; set; }
public int Cost { get; set; }
public string Type { get; set; }
public DateTime CreatedAt { get; set; }
}
Map(地图表)
public class Map
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Sites { get; set; }
public string KeyPoints { get; set; }
public string ImageUrl { get; set; }
public int DifficultyLevel { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
Tactic(战术表)
public class Tactic
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public Guid MapId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Elements { get; set; }
public string Timeline { get; set; }
public bool IsPreset { get; set; }
public int ViewCount { get; set; }
public DateTime CreatedAt { get; set; }
public DateTime UpdatedAt { get; set; }
}
DrawingElement(绘制元素表)
public class DrawingElement
{
public Guid Id { get; set; }
public Guid TacticId { get; set; }
public string Type { get; set; }
public float PositionX { get; set; }
public float PositionY { get; set; }
public string Color { get; set; }
public string Data { get; set; }
public int OrderIndex { get; set; }
public DateTime CreatedAt { get; set; }
}
FavoriteTactic(收藏战术表)
public class FavoriteTactic
{
public Guid Id { get; set; }
public Guid UserId { get; set; }
public Guid TacticId { get; set; }
public DateTime CreatedAt { get; set; }
}
主要表结构说明
| 表名 | 主要字段 | 说明 |
|---|---|---|
| users | id, username, email, password_hash, avatar | 用户表 |
| chat_history | id, user_id, role, content, timestamp | 聊天历史表 |
| agents | id, name, role, description, image_url | 英雄表 |
| abilities | id, agent_id, key, name, description | 技能表 |
| maps | id, name, description, sites, key_points | 地图表 |
| tactics | id, user_id, map_id, name, elements | 战术表 |
| drawing_elements | id, tactic_id, type, position, color | 绘制元素表 |
| favorite_tactics | id, user_id, tactic_id | 收藏战术表 |
📊 团队协作记录
在团队协作方面,我们使用qq群聊以及unityhub来进行我们的团队协作。


预期计划
- 13-14 周:完成项目的基本功能实现
- 14-15 周: 完成项目的杀手级功能
- 16 周: 测试项目并进行上线部署
团队分工安排
| 学号 | 姓名 | 角色 | 负责模块 |
|---|---|---|---|
| 102301312 | 张铭浩 | 数据库架构师 | 进行项目数据库开发与管理 |
| 102301314 | 张博凇 | 前端组件开发 | 开发前端功能 |
| 102301318 | 杨垚 | 前端组件开发 | 开发前端功能 |
| 102301321 | 吴颖哲 | UI设计师兼前端主开发 | 开发前端功能并进行UI设计 |
| 102301330 | 李坤伟 | 前端组件开发 | 开发前端功能 |
| 102301331 | 李鸿洋 | 数据扩展工程师 | 查找资料,拓展数据 |
| 102301332 | 柯鸿斌 | 数据扩展工程师 | 查找资料,拓展数据 |
| 102301333 | 江文博 | 项目经理 | 统筹推进项目进展 |
| 102301334 | 黄伟圣 | 数据扩展工程师 | 查找资料,拓展数据 |
| 112301521 | 翁小燚 | 测试与文档工程师 | 测试项目功能,撰写文档 |
🔗 相关链接
项目仓库
- GitHub 团队仓库: [https://github.com/Boshsama/IG-theshyBigHorseHead]
原型设计
- 原型链接: [https://modao.cc/proto/UM40WYBrt5xi0e6pgTvQjG/sharing?view_mode=read_only&screen=rbpV2ut4wky6EscXs #valoplant-分享]
设计文档
- 系统设计说明书: [https://github.com/Boshsama/IG-theshyBigHorseHead/blob/main/智能助手系统设计文稿.pdf]
- 数据库设计说明书: [https://github.com/Boshsama/IG-theshyBigHorseHead/blob/main/数据库设计说明书.pdf]
后端设计图

浙公网安备 33010602011771号