福气满满——项目原型设计+概要设计
博客文档
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/SE2024 |
---|---|
作业要求 | https://edu.cnblogs.com/campus/fzu/SE2024/homework/13297 |
作业的目标 | 完成小福同学的原型设计以及概要设计 |
团队名称 | 福气满满 |
团队成员学号-名字 | 052203132童潇剑,102201226陈潇健,102201235曾炜坤,102201234洪庆杨,102201224 陈博涵,182200311洪闽南,102202156高涛,042201520舒锦城,102201335董雯莉 |
一、原型设计
原型链接:https://www.figma.com/design/pUUlikoqS1lZYM1OyR3Sqw/小福同学?node-id=0-1&t=vkYI5HYK9PuiM3E5-1
原型特色展示
原型功能展示
主界面
-
功能:
登录后进入的主页面,提供四种对话主题选择。
用户可以根据自己的兴趣选择不同的游戏情境,开始模拟对话。 -
界面要素:
标题:“欢迎来到,小福同学”
游戏主题按钮:网站设计、面试模拟、决战拜年、砍价游戏对话场景页面
-
功能:
显示用户选择的模拟对话场景,与AI或其他用户进行交互。
进度条显示当前对话的进展情况。 -
界面要素:
左侧菜单:主题列表
对话窗口:显示对话内容,用户可输入回复
发送按钮:提交对话内容
进度条:显示目标完成进度成就页面
- 功能:
展示用户的成就解锁,激励用户完成更多情境以获得成就。 - 界面要素:
成就列表:展示已解锁和未解锁的成就
图标:解锁状态的成就显示图标,未解锁状态显示锁图标
- 功能:
-
二、概要设计
UML设计图
UML用例图
UML活动图
时序图
类图
协作图
数据库设计
E-R图
关系数据模型
用户表
字段名称 | 数据类型 |
---|---|
用户ID (user_id) | 主键,INT |
用户名 (username) | string |
用户密码 (password) | string |
成就 (Achievement) | 关联成就ID |
成就表
字段名称 | 数据类型 |
---|---|
成就ID (achievement_id) | 主键,INT |
成就名称 (achievement_name) | string |
成就描述 (achievement_description) | string |
成就解锁状态 (achievement_status) | boolean |
用户排行表
字段名称 | 数据类型 |
---|---|
排行榜ID (ranking_id) | 主键,INT |
用户排名 (user_rank) | INT |
用户分数 (user_score) | INT |
游戏项目 (game_project) | string |
访问表
字段名称 | 数据类型 |
---|---|
用户ID (user_id): | 外键,关联到用户表 |
成就ID (achievement_id) | 外键,关联到成就表 |
排行榜ID (ranking_id): | 外键,关联到排行榜表 |
对象关系映射
from sqlalchemy import Column, Integer, String, ForeignKey, Boolean
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
class User(Base):
__tablename__ = 'users'
user_id = Column(Integer, primary_key=True)
username = Column(String, nullable=False)
password = Column(String, nullable=False)
achievements = relationship("Achievement", secondary="access", back_populates="users")
rankings = relationship("Ranking", secondary="access", back_populates="users")
class Achievement(Base):
__tablename__ = 'achievements'
achievement_id = Column(Integer, primary_key=True)
achievement_name = Column(String, nullable=False)
achievement_description = Column(String)
achievement_status = Column(Boolean, default=False)
users = relationship("User", secondary="access", back_populates="achievements")
class Ranking(Base):
__tablename__ = 'rankings'
ranking_id = Column(Integer, primary_key=True)
user_rank = Column(Integer, nullable=False)
user_score = Column(Integer, nullable=False)
game_project = Column(String)
users = relationship("User", secondary="access", back_populates="rankings")
class Access(Base):
__tablename__ = 'access'
user_id = Column(Integer, ForeignKey('users.user_id'), primary_key=True)
achievement_id = Column(Integer, ForeignKey('achievements.achievement_id'), primary_key=True)
ranking_id = Column(Integer, ForeignKey('rankings.ranking_id'), primary_key=True)
三、团队协作记录
预期开发计划时间安排
周次 | 时间范围 | 达成目标 |
---|---|---|
第一周 | 11月2日 - 11月8日 | 完成前端设计,后端实现基本功能 |
第二周 | 11月9日 - 11月15日 | 完成后端设计以及测试 |
第三周 | 11月16日 - 11月22日 | 完成前端与后端集成,应用演示和测试 |
第四周 | 11月23日 - 11月29日 | 完成文档编写,修复已知BUG,进一步优化程序 |
预期开发计划分工安排
姓名 | 角色 | 负责部分 |
---|---|---|
童潇剑 | 组长 | 成员沟通,项目整体规划与进度跟踪 |
陈潇健 | 测试 | 制定测试方案,负责后续程序运行反馈,编写测试文档 |
曾炜坤 | 前端 | 前端界面设计,交互功能实现,相关文档编写 |
洪庆杨 | 前端 | 前端界面设计,交互功能实现,相关文档编写 |
陈博涵 | 调试大模型,服务器 | 沟通调试出应用场景需要的AI模型,搭建网页服务器 |
洪闽南 | 后端 | 后端功能实现,相关文档编写 |
高涛 | 后端 | 数据库管理,相关文档编写 |
舒锦城 | 测试 | 制定测试方案,负责后续程序运行反馈,编写测试文档 |
董雯莉 | 原型设计,后端 | 完成项目的原型设计,前后端对接 |
团队协作记录
项目管理平台:
我们采用飞书作为我们的项目管理平台
用日历来做时间安排
进行任务分配
一些待办事项由腾讯文档进行任务安排
项目仓库成员
贡献记录
四、仓库及文档下载链接
Github团队项目仓库链接:https://github.com/GoldenglowBF/XiaoFuTongXue
福气满满_系统设计说明书.pdf 下载地址: https://pan.baidu.com/s/1nQouhECmETZzQvafHbpO5Q 提取码: 4567
福气满满__数据库设计说明书.pdf 下载地址: https://pan.baidu.com/s/1p1TfAEC3guZYo64Sd34yEQ 提取码: 4567
福气满满_原型设计+概要设计答辩PPT.pdf 下载地址:https://pan.baidu.com/s/12p-a7JaJi-gMexIPGDsQAA 提取码: 4567