103
社区成员
发帖
与我相关
我的任务
分享| 这个作业属于哪个课程 | 2501_CS_SE_FZU |
|---|---|
| 这个作业要求在哪里 | 软件工程实践学习及作业 |
| 这个作业的目标 | 对软件工程实践进行学习和开发上的规划 |
| 其他参考文献 | 《软件工程实践者的研究方法》 |
在原项目组中,我主要负责服务器部署与Java后端框架开发工作。具体包括:
服务器环境搭建:负责项目生产环境与测试环境的服务器配置,包括CentOS系统的初始化设置、安全加固、性能优化等
Java后端框架开发:基于Spring Boot框架搭建项目基础架构,设计并实现了用户认证、权限管理、数据持久化等核心模块
数据库设计与优化:参与MySQL数据库的表结构设计,编写高效的SQL语句并建立适当的索引
API接口开发:遵循RESTful规范设计并实现了多个业务模块的接口,确保前后端数据交互的顺畅
在新项目组中,我将主要负责游戏战斗系统的核心模块开发,具体包括:
攻击模块设计与实现
战斗逻辑架构:设计并实现基于状态机的战斗系统核心架构,确保战斗流程的清晰性和可扩展性
伤害计算体系:构建多维度的伤害计算模型,包括基础攻击力、属性克制、暴击机制、防御减免等复杂计算逻辑
攻击效果系统:实现多样化的攻击效果,如连击、追击、反击、合击等特殊战斗机制
目标选择机制:开发灵活的目标选择系统,支持单体、群体、范围、随机等多种攻击目标判定方式
战斗事件处理:建立完整的事件响应机制,处理攻击命中、闪避、格挡、暴击等战斗事件的触发与结算
技能树系统开发
技能数据结构设计:构建层次化的技能数据模型,支持技能升级、分支选择、前置条件等复杂关系
技能效果引擎:开发可配置的技能效果系统,支持伤害、治疗、增益、减益、控制等多种技能类型
技能解锁机制:实现基于等级、任务、成就等多条件的技能解锁和激活逻辑
天赋系统集成:设计天赋与技能的关联系统,提供多样化的角色成长路径和build选择
技能连携组合:开发技能之间的连携效果,实现技能组合的协同作用和战术深度
技术架构与优化
性能优化:针对高频率的战斗计算进行性能优化,确保在大规模战斗场景下的流畅运行
数据持久化:设计合理的技能和攻击数据存储方案,支持玩家进度的实时保存和读取
配置化管理:建立可视化的技能配置工具,方便策划人员调整平衡性和设计新技能
网络同步机制:在多人游戏环境下,确保战斗数据的准确同步和冲突解决
异常处理:完善错误处理和数据校验机制,保证战斗系统的稳定性和数据安全性
协作接口定义
与前端的协议规范:定义清晰的API接口和数据格式,确保前后端战斗数据的一致性和实时性
与角色系统的集成:建立与角色属性、装备系统的数据交互接口,实现完整的战斗力计算体系
战斗日志系统:开发详细的战斗日志记录和分析功能,支持问题排查和游戏平衡性调整
向ddl战士小组的张天荣同学对接。张同学在原项目组中负责后端开发,对项目整体架构有一定了解,具备快速接手后端工作的基础。
为确保项目平稳过渡,我进行了系统性的交接工作:
文档整理与移交:
编写了负责的服务器部署手册,包括环境配置步骤、常见问题排查方法等
整理了Java框架的设计文档、API接口文档和数据库设计文档
创建了项目运维手册,记录了日常维护流程和应急预案
技术交接会议:
与应国浩同学进行了两次深入的服务器管理交接会议,详细演示了部署流程和监控工具的使用
向郑炜豪同学讲解了自己的Java框架的设计理念、核心模块的实现逻辑和扩展方法
权限与资源转移:
将服务器SSH密钥、数据库访问权限等关键资源正式移交给对应负责人
协助更新了相关系统的账户信息和访问权限
代码与资料移交:
将已完成的Java框架代码打包,并通过Git创建了专门的分支用于交接
提供了完整的测试用例和测试数据,确保新负责人能够验证系统功能
在新项目组"ddl战士小组"中,我将接替张天荣同学的工作,主要负责以下技术开发内容:
后端核心模块开发
攻击系统架构重构
分析现有攻击模块的代码结构和性能瓶颈
重新设计攻击逻辑处理流程,采用事件驱动架构提升系统响应速度
实现攻击优先级和冲突解决机制,确保多人同时攻击时的数据一致性
开发攻击效果组合系统,支持多种攻击效果的叠加和互斥处理
技能树系统优化与扩展
重构技能数据模型,支持更复杂的技能依赖关系和前置条件
实现动态技能解锁机制,支持任务完成、等级达成、物品使用等多种解锁条件
开发技能效果编辑器,为策划人员提供可视化的技能配置界面
优化技能触发逻辑,提高技能释放的准确性和性能表现
技术架构改进
服务端性能优化
引入缓存机制,对频繁访问的技能数据和攻击配置进行内存缓存
优化数据库查询,对技能树、攻击效果等复杂数据结构进行索引优化
实现异步处理机制,将耗时的攻击计算和技能效果处理异步化
系统可扩展性设计
采用模块化架构,使攻击和技能系统能够独立扩展和更新
设计配置热重载机制,支持在不重启服务的情况下更新技能配置
实现版本兼容性处理,确保系统升级过程中的数据平滑迁移
通过在原项目组的工作,我在技术方面获得了显著成长:
全栈开发能力提升:从单纯的后端开发扩展到对前端技术、部署运维的全流程理解
系统架构设计能力:学会了如何设计可扩展、易维护的系统架构,平衡技术债务与开发效率
问题解决能力:在解决服务器性能瓶颈、数据库优化等实际问题中,积累了宝贵的排错经验
新技术实践:在实际项目中应用了Docker容器化、微服务架构等现代软件开发技术
在团队协作方面,我深刻认识到:
沟通的重要性:定期同步进度、明确接口规范能显著减少联调阶段的问题
代码规范的价值:统一的代码风格和注释规范极大提高了代码可读性和可维护性
知识共享的效益:技术分享会和文档沉淀避免了知识孤岛,提升了团队整体技术水平
敏捷开发实践:通过实践Scrum等敏捷方法论,学会了更高效的项目管理和任务拆分
在项目管理方面,我有以下体会:
需求分析的关键性:充分理解业务需求能避免后期大量返工,需求评审环节不可或缺
里程碑规划的必要性:合理的阶段划分和里程碑设置有助于保持项目节奏和团队士气
风险预判的能力:提前识别技术风险和依赖关系,制定应对方案,降低项目不确定性
质量保障体系的构建:建立多层次的质量保障机制,包括代码审查、自动化测试、性能监控等