系统分析(团队作业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图。 ![](https://img2018.cnblogs.com/blog/1472502/201811/1472502-20181127221803533-161027777.png)
- 利用象限法(《构建之法》 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的截图来展示分工和完成的过程
- 燃尽图 ![](https://img2018.cnblogs.com/blog/1472502/201811/1472502-20181127201115000-928506922.jpg)