第二次团队作业

这个作业属于哪个课程 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 翁小燚

🎨 原型设计

原型设计使用墨刀进行原型设计,我们进行了简单的前台页面展示。

主菜单界面

QQ_1763637282469

AI 问答界面

QQ_1763637302124

游戏资料库界面

QQ_1763637313716

战术板界面

QQ_1763637328994

📊 UML 设计

2.1 需求分析

首先是整个项目的整体需求分析,我们具体将其分为 4 个主要模块,如下:

  • AI 问答模块
  • 游戏资料库模块
  • 战术板模块
  • 用户系统模块

系统用例图

XML图

2.2 核心功能分析

我们使用活动图、时序图以及协作图对我们的一系列核心功能进行了可视化,如下:

AI 问答功能与战术管理功能 - 协作图

![AI 问答协作图](请在此处插入 AI 问答协作图)

写作1

协作2

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

战术保存时序图

IMG_3538(20251120-181100)

IMG_3538(20251120-181100)

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

流程图1

流程图2

2.3 类图

系统类图

QQ_1763633198618


🗄️ 数据库设计

数据库 ER 图具体如下:

QQ_1763637834079

数据库表

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来进行我们的团队协作。

QQ_1763639322088

QQ_1763638642136

预期计划

  • 13-14 周:完成项目的基本功能实现
  • 14-15 周: 完成项目的杀手级功能
  • 16 周: 测试项目并进行上线部署

团队分工安排

学号 姓名 角色 负责模块
102301312 张铭浩 数据库架构师 进行项目数据库开发与管理
102301314 张博凇 前端组件开发 开发前端功能
102301318 杨垚 前端组件开发 开发前端功能
102301321 吴颖哲 UI设计师兼前端主开发 开发前端功能并进行UI设计
102301330 李坤伟 前端组件开发 开发前端功能
102301331 李鸿洋 数据扩展工程师 查找资料,拓展数据
102301332 柯鸿斌 数据扩展工程师 查找资料,拓展数据
102301333 江文博 项目经理 统筹推进项目进展
102301334 黄伟圣 数据扩展工程师 查找资料,拓展数据
112301521 翁小燚 测试与文档工程师 测试项目功能,撰写文档

🔗 相关链接

项目仓库

原型设计

设计文档


后端设计图

QQ_1763637984025


posted @ 2025-11-20 19:50  Boshsama  阅读(19)  评论(0)    收藏  举报