第一次结对编程作业

组队人员

林郁昊、郑木平

原型分析

Need

本次作业要求开发一个自动化的出牌系统,提供的接口如下:
  • 登录
  • 开启一局游戏
  • 出牌
  • 查询排行榜
  • 查询往期对战结果

首先是后台逻辑部分,十三水的游戏方式比较简单,程序只需要根据发牌接口提供的13张牌,将其分成获胜希望较大的三墩即可。
UI部分,根据要求,还要设计相应的登录界面、当前对战状态、排行榜界面、往期对战信息等。
最终目标是利用所提供的接口开发出可以直接运行的客户端。

Approach

第一阶段,利用原型设计工具设计UI界面,规划整个程序各部分的逻辑结构。
第二阶段,用Python实现程序的编写,用PyInstaller打包成exe程序。

UI设计

设计风格比较简洁统一,没有多余的元素,突出重点。

原型贴图举例

  • 登录界面,输入账户密码,点击登录进入菜单界面。
  • 菜单界面,有三个按钮,用于跳转至不同的功能:对战、查看排行榜、查看历史记录。
  • 发牌阶段,在中央显示发牌员所发的牌,单击出牌进入牌面组合阶段。
  • 对战界面,根据发牌员给的牌,组合出三墩水进行比赛。左边是三墩水的组合,右边是三墩水分别对应的牌型,并显示胜负结果,新增返回主菜单按钮。
  • 排行榜,新增返回主菜单按钮。
  • 往期记录查询,新增返回主菜单按钮。

原型开发工具

墨刀,Adobe Photoshop

结对过程

  • 讨论这次作业的要求
  • 进行需求分析:需要实现哪些功能、要用到哪些工具、需要掌握哪些技能
  • 具体的工作分配
    • 我主要负责博客撰写和原型分析审查,郁昊负责原型设计与素材查找、背景制作。
  • UI的设计和讨论

PSP表格

PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟)
Planning 计划 60
Estimate 估计这个任务需要多少时间 60
Development 开发 2500
Analysis 需求分析 (包括学习新技术) 600
Design Spec 生成设计文档 30
Design Review 设计复审 20
Coding Standard 代码规范 (为目前的开发制定合适的规范) 20
Design 具体设计 50
Coding 具体编码 1650
Code Review 代码复审 50
Test 测试(自我测试,修改代码,提交修改) 100
Reporting 报告 100
Test Repor 测试报告 30
Size Measurement 计算工作量 20
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 50
合计 2660

设计说明

  • 产品:一个自动化出牌的客户端
  • 功能:
    • 对局(自动出牌,显示当前对局状态)
    • 查看排行榜
    • 查看历史对局
  • 实现方法:
    • 调用接口,发送组牌结果,接受对局结果、历史记录等数据
    • 通过相应的算法将牌分为前中后三墩(前墩<=中墩<=后墩)
    • 算法中尽量分析各种情况,实现较高的胜率

困难及解决方法

困难描述

不懂什么是原型设计,不会使用原型设计工具。

解决尝试

  • 上网了解原型设计的主要流程
  • 学习如何使用原型工具
  • 查看往届的博客,学习经验

是否解决

是。

有何收获

了解了原型设计的大体流程以及原型工具的使用。

心得体会

正式的代码编写还没开始,前面很多的原型设计都是队友完成的,所以比较轻松(逃。感想主要是对接下来的预期。首先是要提前做计划,避免开发的过程中太盲目。其次明确做这些项目的目的是以学习为主,主要是开发过程中的学习和思考。做结对项目和团队项目,不仅是学习的过程,更是交友和成长的过程。

学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 0 0 8 8 学习了Python的基本语法
posted @ 2019-09-23 16:43  annahme  阅读(251)  评论(2编辑  收藏  举报