系统分析(团队作业4)

决胜 Poker

1.修改完善已提交的需求规格说明书

  • 不足:需求文档描述缺少目录以及规范多人游戏时的规范
    《需求规格说明书v1.1》


    2.讨论制定团队的编码规范

    java代码开发规范

    一、基本编码原则

  • 1.用空格字符缩进源代码,不用tab,每个缩进4个空格。
  • 2、一行一个语句,每个语句后要换行。
  • 3、列限制(一行最多80个字符),否则需要换行。
  • 4、每次编写完成部分任务需备份发给同伴检查,及时为同伴解答代码意思,积极与同伴解决出现的问题。
  • 5、无直接关联的代码之间空两行方便辨识。


    二、命名

    一、标识符

  • 1、明确
    标识符能准确的表达出它所代表的意义。尽量不用ABC这些简单的字母来设定标识符。
  • 2、简洁
    用尽量少的标识符。一些较长的标识符用缩写来代替。(注意标注)
  • 3、使用英文
    尽可能的使用通俗易懂的英文单词,实在不行则使用汉语拼音,避免拼音与英文混用。
  • 4、骆驼命名法
    混合使用大小写字母来构成变量和函数的名字,函数名中的每一个逻辑断点都有一个大写字母来标记。例如:printEmployeePaychecks();

二、包名

  • 全部使用小写字母。例如:com.xxx.test

三、类名

  • 1、类名首字母大写。例如:NewService。
  • 2、类名后缀用规定好的后缀名来表达相应的意思。例如:PaymentOrderService,Service表明了这个类是个服务器类。

四、方法名

  • 1、首字母小写。例如:createText()。
  • 2、动词在前。例如:textCreate()错误。
  • 3、动词前缀用规定好的后缀名来表达相应的意思。例如:deleteOrder,delete表明删除。

五、域名

  • 1、静态常量与枚举
    全用大写字母和下划线分割。例如:public static find String GET_MONEY = “GET_MONEY”

3.数据库设计

  • 在随笔中展示数据库设计的结果,至少需要包含ER图。

4.项目的后端架构设计

  • 选择通用架构,因为其方便调试


5.确定团队Alpha版本要实现的功能

  • 参考分而治之(WBS - Work Breakdown Structure)给出相应的WBS图。

  • 利用象限法(《构建之法》 8.5)审核上一次作业所确定需求优先级,明确项目的核心功能

优先级 功能 用户故事描述
基础 正常运行游戏 身为一名大学生,我想要有一款运行流畅的桌游APP,可以随时随地玩转桌游
装饰 用户界面个性化装饰 身为一名追求精致的桌游爱好者,在这款APP中我希望有与众不同的个人界面,游戏头像
困难模式 让用户玩到更高难度的桌游 我是一个桌游的疯狂爱好者,对于过于简单的游戏没有兴趣,我希望和我一样有实力的人一起玩困难模式

6.关键技术与难点


6.1 在线会话

  • 多人模式在线会话通过在线会话节点完成,以下节点通过 蓝图 在多人游戏中创建主机、寻找、加入或退出。 这些节点为 隐藏,意味着它们在后台执行操作(通常因为这些操作必须通过网络进行交流),并在之后的某点结束。

I.创建会话

  首先从 Create Session 节点开始。游戏成功创建一个会话后,游戏的其他实例即可发现(使用 Find Session 节点)并加入(使用 Join Session 节点)。在此节点上可指定会话中允许的玩家数量,以及是否可在 LAN 模式中创建会话。对于支持的在线子系统模块而言,将 LAN 模式设为 false 将尝试创建在线游戏。


II.寻找会话

使用 Find Sessions 节点获取当前公布并可加入的游戏会话的列表。BlueprintSessionResult 从成功调用返回后可获取服务器的名称、ping 和玩家数量。


III.加入会话

确定加入的 BlueprintSessionResult 后,将其传入 Join Session 调用。如游戏成功连接到服务器,它将自动前往服务器的映射并加入游戏。  


IV.销毁会话

如不希望其他玩家发现并加入游戏,可调用 Destroy Session 节点。此操作将导致您离开会话;如您为主机,将会话关闭,使其无法被发现。     


6.2难点:错误处理节点

  • 处理网络操作时始终存在出现错误的可能,游戏需要对错误进行恰当的处理。可能主机已于先前推出您尝试加入的会话,也可能您的网络服务已临时关闭,还可能出现不胜枚举的各种其他错误。游戏可通过蓝图灵活处理这些与网络相关的错误。
    以上会话操作出现的错误将通过 OnFailure 执行引脚进行报告,以便对游戏进行设置,处理问题。对于一些特定类型的错误,或游戏进程中发生的错误,可从 GameInstance 蓝图中调用两个错误事件 - Network Error 和 Travel Error。

Event Network Error:
Network Error 事件允许游戏对事件进行回应,接收描述错误类型的枚举值,并进行适当的回应 - 如游戏可能对用户显示一个对话框。
Event Travel Error:
Travel Error 事件不及 Network Error 常见,使游戏处理 Network Error 未涉及的情况(如尝试加载无效地图)。


7.团队管理

  • 团队分工
姓名 比例权重 参与工作范围
郑俊瑜 18% 制作ER图,撰写博客及排版等
陈卓楠 16% 制作WBS图 ,撰写 Alpha版本要实现的功能
陈映宏 16% 制作 WBS图,撰写Alpha版本要实现的功能
冉繁盛 17% 撰写关键技术及难点
刘世华 17% 演讲,撰写项目的后端架构设计
姚皓钰 16% 撰写编码规范


  • 用Leangoo的截图来展示分工和完成的过程


  • 燃尽图

猜你喜欢

转载自www.cnblogs.com/zjy0013/p/10026981.html