ERROR401--软件工程实践团队作业第二次——原型设计&需求分析

ERRROR401 ERRROR401 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程2601_FZU_SE 软件工程实践社区
这个作业要求在哪里软件工程实践团队作业第二次——原型设计&需求分析
项目目标完成团队歼灭射击游戏的需求分析、界面原型、Unity 演示版本与课程交付材料,并记录计划、协作和验收状态
参考资料GB/T 8567—2006《计算机软件文档编制规范》、GB/T 9385—2008《计算机软件需求规格说明规范》、Unity 官方文档及项目设计方案

目录


一、项目引言

1.1 编写目的

本文用于说明《校园突袭》团队项目的开发背景、目标、阶段计划、关键风险、成员分工、协作方式及课程交付物,便于团队成员、课程教师和评审人员了解项目如何开展、当前完成情况以及后续验收重点。文中“计划”“当前状态”和“待完成”分别表示目标安排、已有材料或工程证据、尚需完成的工作,避免将计划表述为已完成成果。

1.2 项目背景

项目信息内容
课程2601_FZU_SE 软件工程实践社区
团队名称ERROR401
项目名称校园突袭(Campus Strike)
项目任务提出者课程教师
项目开发者ERROR401 团队
项目类型基于 Unity 的第一人称团队战术射击游戏课程项目

1.3 参考资料

  1. GB/T 8567—2006《计算机软件文档编制规范》。
  2. GB/T 9385—2008《计算机软件需求规格说明规范》。
  3. 《校园突袭》项目设计方案、需求规格说明书及界面原型材料。
  4. Unity 官方文档及团队当前 Demo 工程。

1.4 术语和缩略语

术语/缩略语含义
Unity本项目使用的游戏开发引擎。
Demo用于展示和验证核心功能的可运行演示版本。
AI人工智能(Artificial Intelligence),本项目中指由程序控制的对战角色。
HUD抬头显示(Heads-Up Display),指对局中展示比分、时间、生命和弹药等信息的界面。
Git用于跟踪代码和文档变更的分布式版本控制系统。
Pull Request(PR)请求将一个分支的变更合并到目标分支的协作审查流程。

二、项目总体描述

2.1 项目目标

开发意图:

团队通过需求分析、原型设计、面向对象建模和 Unity 实现,完成一款可演示的校园题材团队射击游戏,实践软件工程中的需求管理、模块分工、接口协作、版本控制和验收验证方法。

应用目标和作用范围:

本项目面向课程展示、同学试玩和软件工程实践教学。当前交付重点为可在单机环境体验的核心比赛流程,由人工玩家与 AI 角色组成对战队伍;工程中包含局域网联机实现,是否纳入本阶段验收以完成双设备实测为准。账号、战绩服务和大规模在线匹配属于后续设想,不作为当前阶段已交付功能。

产品前景:

当前版本以核心玩法闭环和课程演示为目标。后续可在稳定单机比赛流程的基础上完善局域网联机、增加地图与武器、改进 AI 行为,并进一步优化设置和比赛反馈。是否扩展由团队根据课程周期、用户反馈和实现成本评估。

2.2 团队项目计划与里程碑

《校园突袭》是一款以校园建筑为战场的第一人称团队战术射击游戏。项目以团队歼灭为核心,红蓝双方在地图中交战;单机模式由 AI 补足队伍人数,工程中也包含局域网对战代码。项目计划周期为四周,当前处于第二周。团队按“需求与环境准备—核心玩法实现—比赛流程集成—测试与交付”的顺序推进;表中状态以当前第二周为基准,具体日历日期可按课程安排补填。

里程碑计划时间主要交付物与验收条件当前状态
M1 需求基线与开发环境第 1 周明确核心玩法、系统边界和模块接口;完成 Unity 工程、版本仓库及基本场景配置;玩家可移动并控制视角需求、原型和类图已有初稿;工程已有玩家控制代码,需团队按实际任务记录确认本周交付项
M2 射击与基础对战第 2 周(当前)完成武器射击、弹药与换弹、命中伤害和死亡处理;接入基础 AI,能够在测试场景中完成一轮对战当前进行中;已有武器、选装及 AI 相关实现记录,仍需集中验证战斗闭环、AI 难度和胜局规则
M3 AI、地图与比赛流程集成第 3 周完善 AI 导航、感知与敌我识别;整合地图、计时、计分、回合重置、结算及主要界面;从菜单进入并完成一场比赛计划中;优先解决规则口径不一致和模块接口问题,确保主流程可重复运行
M4 测试、构建与课程交付第 4 周修复阻断问题;生成 Windows 可执行构建并在目标设备验证;完成需求文档、博客、两份 PPT 和演示材料计划中;目前尚未生成独立 Player 构建,双机局域网验收和真实用户试玩也待完成;按实际范围决定是否列入最终验收

2.3 版本路线

  • 当前阶段(第 2 周)重点: 跑通射击、伤害、死亡和基础 AI 对战,及时记录问题并稳定需求规则。
  • 第 3–4 周重点: 集成比赛流程和主要界面,随后完成回归验证、独立构建、目标设备复测及课程材料整理;真实玩家试玩应留存反馈记录。
  • 后续扩展: 完成双机局域网验收后,再评估更大规模联机、账号/战绩服务、更多地图和新模式;未经排期和验收的扩展不作为本阶段承诺。

三、项目具体要求

3.1 关键点、难点与风险分析

项目关键点与技术难点

  1. 需求、原型和实现保持一致。 比赛规则、队伍人数、武器选择和页面状态会同时出现在说明书、原型和代码中。任何规则变更都应同步更新三处材料及验收用例。
  2. AI 的可感知信息和难度公平。 AI 应通过视线、遮挡和声音等规则发现对手,不能直接读取不可见玩家位置;反应时间、射击间隔和命中率需要通过试玩调整。
  3. 比赛状态和界面信息一致。 回合计时、比分、存活状态、击杀播报和结算都应由统一比赛状态驱动,避免界面显示与实际胜负判定不一致。
  4. Unity 模块集成与场景资源协作。 玩家、武器、AI、地图、比赛流程和 UI 同时依赖场景对象、预制体与公共接口;未经沟通修改公共接口或场景资源容易造成合并后无法运行。
  5. 局域网联机的端到端验证。 房间发现、连接、主机权威、同步、断线和防火墙行为受设备与网络环境影响,仅在编辑器本机运行不能证明双机可用。

风险清单与应对

风险影响应对方式与触发后的处理
规则文档与 Demo 版本不一致比分、回合数或结算用例无法通过同一基线验收当前设计说明书采用“先赢 3 局”规则,Demo 更新记录出现“先赢 5 局”;先由团队确认唯一规则,再同步修改需求、UI 文案、代码和测试用例
局域网功能未经双机实测房间发现、连接或状态同步可能在真实网络失败安排两台设备在同一局域网按建房、加入、准备、开局、换回合、断线逐项验证;记录系统、防火墙和网络条件
缺少独立构建包只能在 Unity 编辑器中演示,无法确认交付电脑能否运行锁定引擎版本和场景列表,尽早生成 Windows Player;在未生成前将状态标为“编辑器 Demo”,不称为可发布版本
AI 强度不合适或导航异常玩家体验不公平,AI 可能卡住、隔墙发现玩家或无法到达战场先检查导航数据和视线遮挡,再调反应、射击间隔和精度;保留容易复现的测试地图与用例
模块接口或公共场景冲突集成返工、主场景损坏或构建失败事先约定接口与资源负责人,公共接口变更先沟通;通过分支和合并请求集成,保持主分支可运行
范围持续扩张核心玩法和验收被新模式、账号或美术需求挤占将需求区分为本阶段必做与后续计划;任何新增项先评估工期、影响和负责人,再决定是否纳入
需求缺少真实目标用户反馈菜单、规则和难度可能只符合设计者预期组织目标玩家完成“开始一局、选装、战斗、观战、查看结算”任务,记录困惑点和修改决定;未开展前不声称已完成用户验证

3.2 组员分工与工作量比例

本次分工按作业要求的七类成果安排:博客随笔、界面原型、原型答辩 PPT、需求规格说明书、需求分析报告 PPT、界面原型设计评审表和需求分析评审表。每项成果指定一名主负责人,其他成员参与内容互审、试讲或验收。下表贡献度为本次作业的预计工作量比例,合计 100%;提交前应依据实际完成情况和工作记录确认。

学号工作内容贡献度
102400129总协调与博客主笔:整理作业目录和评分要点,撰写项目计划、里程碑、协作方式及分工说明;汇总各项材料并检查博客完整性15%
102400116界面原型负责人:完善原型页面与交互说明,整理原型源文件、导出图并提供可访问链接14%
102400111需求规格说明书负责人:整理用户需求、用户场景、功能需求及系统边界,完成说明书主体撰写14%
102400110需求规格说明书协作:负责类图、技术属性、输入输出及验收标准等章节,与负责人统一术语和规则口径12%
102400127需求分析报告 PPT 负责人:根据需求文档提炼汇报内容,制作 PPT、准备讲述提纲并参加试讲12%
102400132原型设计答辩 PPT 负责人:依据界面原型制作答辩 PPT,准备讲解流程并检查页面展示效果12%
102400112界面原型设计评审表负责人:在腾讯共享文档创建并填写评审表,组织成员检查原型流程、信息布局和易用性,整理修改意见10%
102400130需求分析评审与交付负责人:在腾讯共享文档创建需求分析评审表;将说明书 Word 版及两份答辩 PPT 上传华为云仓库,按要求导出/上传 PDF 并核验链接权限11%

所有成员共同参与两份评审表的评审、说明书和 PPT 的交叉校对、课堂汇报演练及最终验收。

3.3 成员协作方式

沟通工具

  • 微信群: 日常进度同步、接口变更提醒、阻塞问题快速讨论;结论较复杂时转为会议或文档记录。
  • 腾讯会议: 每周至少一次阶段同步,检查里程碑、演示当前成果、确定负责人和截止时间。

版本仓库协作

  • 远程仓库:**[仓库地址]**。
  • main 保持可演示版本;日常任务从开发分支或最新主线切出 feature/* 分支,修复使用 fix/* 分支。
  • 提交前先同步远程主线,完成本地运行或对应模块检查;通过 Pull Request/合并请求说明改动、影响范围和验证结果,经相关模块成员审查后合并。
  • Commit 信息使用 feat:、fix:、docs:、test:、refactor: 等前缀,方便追踪功能、缺陷和文档变化。
  • 场景、预制体和公共配置文件容易产生冲突,应提前指定主要维护人;多人修改前先约定修改范围,避免在 Unity 中同时覆盖同一资源。

冲突处理与任务同步

  • 接口冲突: 先由相关模块负责人说明变更原因、调用方和兼容方案;确认后更新接口约定与受影响需求。
  • 代码冲突: 在功能分支中合并主线,逐项检查冲突资源和代码,再运行受影响场景;无法确定时由双方负责人共同评审,不直接覆盖他人提交。
  • 计划冲突: 将依赖关系和阻塞项记录到任务表,由项目协调人排定先后顺序;超出原里程碑的功能先评估是否延期或移入后续版本。
  • 同步频率: 每周例会更新一次全部任务;里程碑前每日更新未完成项;每次决策记录结论、负责人和复查时间。

AI 辅助开发约定

使用 AI 工具生成的代码或文档须由负责成员检查需求依据、接口、异常处理和许可证/来源,再进行运行验证和代码审查;未经人工确认的内容不直接合并。成员应能说明自己负责模块的输入、输出、关键类和与其他模块的依赖。


四、界面原型

4.1 原型展示

01 · 主菜单

img

02 · 选择模式

img

03 · 部署前简报

img

04 · AI 编组示例

img

05 · 作战设置

img

06 · 部署确认

img

07 · 模拟对局准备

img

08 · 退出确认

img

09 战前选装 · 武器配置

img

10 对局中 · 基础 HUD 与击杀提示

img

11 回合结算 · 红队胜利

img

12 回合结算 · 蓝队胜利

img

13 完整对局结束 · 最终结算

img

4.2 原型链接

原型源文件链接: [figma原型文件链接]

原型覆盖主菜单、模式选择、设置、退出确认、部署前配置、队伍编组、部署确认、战前选装、对局 HUD、回合结算和整局结算等页面。文档中对静态原型、Unity 已实现界面和待验证的战斗画板作了区分。静态画面用于说明信息布局;按钮跳转和数据联动仍需通过交互原型或运行版本验收。


五、功能描述及验收验证标准

5.1 具体功能描述

本阶段围绕“进入比赛—完成准备—参与战斗—查看结果”组织功能展示:

  1. 启动与菜单: 用户启动游戏后进入主菜单,可选择开始、设置或退出等入口。
  2. 战前准备: 用户选择比赛模式并完成队伍、部署或武器配置;具体页面以当前原型和 Demo 实现为准。
  3. 对局战斗: 玩家可进行第一人称移动、视角控制、射击、换弹和武器切换;AI 角色参与对战并遵循队伍识别、感知和攻击逻辑。
  4. 比赛流程: 系统显示回合时间、比分和玩家状态,并在回合或整局结束后展示结算结果。

5.2 本次作业目录与交付链接

作业目录与评分要点核对

序号作业成果核对要点提交位置/链接
1博客随笔含作业目录;逐项核对本表交付要求,项目内容与团队实际一致本文
2界面原型设计页面覆盖核心流程,页面间关系清楚;博客中提供原型访问链接figma原型文件链接
3界面原型设计答辩 PPT内容与原型一致,适合课堂讲述;上传华为云,建议附 PDFPPT 版、PDF 版
4需求规格说明书Word 电子版;内容清晰、完整并与项目实际一致;上传华为云,建议附 PDFword 版、PDF 版
5需求分析报告 PPT内容与需求规格说明书一致,适合课堂讲述;上传华为云,建议附 PDFPPT 版、PDF 版
6界面原型设计评审表使用腾讯共享文档,记录评审结论和修改意见界面原型设计评审表(腾讯共享文档)
7需求分析评审表使用腾讯共享文档,记录需求评审结论和修改意见需求分析评审表(腾讯共享文档)

5.3 验收验证标准

  1. 需求与文档: 需求规格说明书、原型、Demo 和答辩材料中的核心规则保持一致;目录、图片、链接和术语可正常阅读。
  2. 界面: 从主菜单进入主要页面,页面状态和按钮反馈清楚;在目标分辨率下文字可读、控件不遮挡或溢出,结算信息与比赛结果一致。
  3. 单机功能: 在目标设备上启动最终构建,完成开始比赛、战前准备、移动与射击、回合结束、整局结算及重新开始的完整流程;关键异常有明确反馈。
  4. AI 行为: AI 能识别敌我并参与战斗;遮挡时不应依据不可见位置直接攻击;导航、死亡和回合重置行为可重复验证。
  5. 用户试玩: 邀请目标玩家完成主要任务,记录操作困难、规则理解和改进项;如尚未开展,应标记为待完成,不写作已验证。
...全文

相关推荐

前端axios请求封装

源码

凯__

vue axios封装及API统一管理的方法

主要介绍了vue axios封装以及API统一管理 ,需要的朋友可以参考下

weixin_38631282

在Vue中使用axios请求拦截的实现方法

一、前言 axios的基础使用就不过多的讲解啦,如何使用可以看axios文档使用说明·Axios中文说明 在这里和大家分享一下axios拦截在实际项目中的使用 很多人都看过axios的官方文档中拦截器这一栏,有的人可能会有点懵,因为文档只告诉你有这个东西,而不告诉你在什么情况下使用。很多初学者就会放弃使用axios拦截器,毕竟拦截器是可以不使用的,但是使用拦截器,会在页面中减少很多不必要的代码。 二、说在前面的 项目使用的ui框架是iview 以下友好提示均使用iview ui的message提示组件,例如this.$Message.xxx /api/request 仅仅只是例子接口,实际开发

weixin_38575456

【JavaScript源代码】Vue3+TypeScript封装axios并进行请求调用的实现.docx

Vue3+TypeScript封装axios并进行请求调用的实现   不是吧,不是吧,原来真的有人都2021年了,连TypeScript都没听说过吧?在项目中使用TypeScript虽然短期内会增加一些开发成本,但是对于其需要长期维护的项目,TypeScript能够减少其维护成本,使用TypeScript增加了代码的可读性和可维护性,且拥有较为活跃的社区,当居为大前端的趋势所在,那就开始淦起来吧~  使用TypeScript封装基础axios库   代码如下:  // http.ts  import axios, { AxiosRequestConfig, AxiosResponse } fr

mmoo_python

android 上传aar到私有maven服务器的示例

搞这个东西也是花了蛮长时间,主要还是对gradle中的groovy语言不熟悉所导致的,写下来,以防下次再入坑~ 在gradle中新建task 如果你需要将某个module打包成aar,并上传到maven上去,需要在这个module下面的build.gradle文件中添加如下代码: 其中代码: apply plugin: 'maven' 表示我们要应用的插件。 MAVEN_LOCAL_PATH表示maven服务器地址,packaging表示需要打包的类型,groupId:artifactId:version,就是我们需要依赖的字段。 上传aar到maven服务器 在studio中打开控制

weixin_38717359
评论
收藏 已收藏
分享
返回顶部
ERRROR401
2601_FZU_SE 95 成员 218 内容