第一次结对编程作业

组队人员

林郁昊、郑木平

原型分析

Need

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

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

Approach

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

UI设计

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

原型html

html地址

原型贴图举例

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

原型开发工具

墨刀,Adobe Photoshop
使用墨刀是因为使用简单操作方便,我第一次接触到这类工具,根据助教姐姐说的可以用墨刀。我个人对ps十分感兴趣,有着一定的ps技能,所以采用了用ps设计图片背景,墨刀辅助的方式。

结对过程

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

设计说明

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

困难及解决方法

困难描述

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

解决尝试

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

是否解决

是。

有何收获

  • 了解了原型设计的大体流程以及原型工具的使用。
  • 知道了软件开发前的原型设计也是需要好好准备的,对于一个软件的开发起着奠基作用。

心得体会

  • 这是我第一次真真正正地开始准备一个小有规模的项目,虽然只是一个打牌游戏啦,但是真的是我学编程以来的一个突破,没有想到自己以前学的ps还能有点用处,在背景素材的制作上挺轻松的,算是开了一个好头,接下来就是真刀真枪的实战 ,希望我能再接再厉,与队友好好配合圆满完成作业!

学习进度条

第N周 新增代码(行) 累计代码(行) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 0 0 8 8 通过搜索资源、观看教学视频,基本对于程序实现有了一个大概的思路
posted @ 2019-09-23 19:39  方道友  阅读(341)  评论(2编辑  收藏  举报