第一次结对编程作业

组队情况

031702210 陈超颖 & 031702321 林鑫灿

需求分析

Need--需求

  • 老刘修习代码多年,希望开发一套自动化福建十三水的出牌系统,具体细化为:
    • 类似于自动托管,为用户选择一种最优牌型
    • 普通牌型和特殊牌型分开考虑
  • 注册登陆界面
    • PC端名称、相关背景
    • 登陆、注册按钮,注册时,要填写性别,昵称以及密码,与一般的注册流程相似
    • 账号及密码输入文本框
  • 游戏对战状态
    • 选手显示
      • 显示昵称,根据性别展示不同的选手形态
    • 手牌显示与操作
      • 按照前墩、中墩、后墩三墩排列在页面下方
      • 鼠标首次点击为选中依次手牌(手牌上升),再次点击则放弃选中手牌(手牌降下)
      • 鼠标点住拖动为连续选择
    • 三墩显示与操作
      • 按照前中后顺序选择,显示于页面右下方,30s选择
      • 三墩选择符合要求后,按“确定”按钮后,即”准备“状态,双方准备好即开始对战。
    • 聊天功能
      • 以文本框形式显示于左下方
      • 支持系统已定的语句和自定义语句发送
      • 加以简单的聊天表情
  • 其他页面
    • 排行榜显示
      • 积分与排位
    • 历史战绩显示
      • 对战时间
      • 胜负情况
      • 对手昵称
    • 个人中心
      • 账号信息
      • 昵称
      • 性别

Approach--做法

  • 我们设计的系统应用于PC端。用户首先进行注册登陆,然后进入游戏大厅,可以进行开始游戏、观看排行榜、积分情况、历史记录等情况。
  • 初步计划用python进行编写

原型分析

原型开发工具:墨刀

  • 进入游戏时的页面
- 点击屏幕上任意区域出现如下所示页面,在这个页面用户可以选择注册或者登录 - 若选择注册,则会出现以下的注册页面,注册时仅需输入用户名(文字类型,不和其他id重复)和密码,然后点击右上角的标志即成功注册 - 注册成功后,输入用户名和密码即可登录,登录完后进入游戏主页 - 选择开始游戏之后可以进入如下对战页面,点击一键出牌可以自动出牌 - 在游戏主页点击“排行榜”后,出现排行榜页面,可查看当前排行榜前三的资料 - 个人页面:此处会设置动画,当鼠标点击时,会自动飘出积分情况 - 选择“历史记录”界面,可以查看近期的对战结果(拓展功能是可以查看具体牌型,还在构思中。。。)

结对

  • 结对过程
    • 就刚好在人群里看了你一眼,哈哈
    • 知根知底,两人优势刚好可互补,男生编程能力相对较高,女生审美及表达上更具优势。
  • 结对照片

PSP表格

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

设计说明

  • 最终产品:福建十三水AI自动化出牌PC端
  • 功能概述:
    • 用户登陆服务器,完成登陆与注册
    • 根据系统分牌结果,匹配出最优牌型
    • 查看个人账户信息、历史战绩、排行榜等
  • 方法实现:
    • 设计选择尽量好的算法
    • 合理调用接口

遇到的困难及解决方法

困难描述 解决尝试 是否解决 有何收获
原型分析工具的选择 下载了Axure Rp、Prototype Composer、墨刀 Axure Rp界面设计复杂度太高,所耗费的学习成本过多;
Prototype Composer集成环境相对完整,但设计界面过于简陋,缺乏美感;
最终采用国产墨刀,具有复杂的功能以及支持富文本功能的文字处理。
具体开发思路 目前打算用python进行开发 开发的过程异常艰辛

学习进度条

第N周 新增代码(行) 累计代码(行 ) 本周学习耗时(小时) 累计学习耗时(小时) 重要成长
1 0 0 12 12 初学原型设计工具并进行原型设计,体会到了自己创作的乐趣.
但是由于对原型工具的使用不够熟练,做出来的效果不太满意,今后还希望自己多加练习,提升设计技能.

心得体会

鑫灿:
这次作业主要是UI界面的设计,我选择了墨刀作为原型设计的工具~~真就伏笔呗~~,没想到设计的过程中我发现墨刀的一些工具不好用,想做的很多东西都做不了,比如说想做个背景图,自己琢磨了半天不知道怎么做,后来又上网找了怎么设置背景图,结果说没这个功能,我瞬间自闭~~嘤嘤嘤~~,只好拿图片垫垫底,做出来的效果也可见一斑~~我为什么没早学axure,现在就是后悔,非常后悔~~;同时,找素材也试件令人头疼的事,可能是我的途径出了问题,还希望有经验的带佬指点迷津或者额分享些好的素材网站,带我脱离缺素材的苦海~。
超颖:
1、首先,这一周主要时间放在了十三水规则的熟悉,这个游戏最后是否胜利一在于牌运,二在于对前墩,中墩,底墩的安排。
2、 其次,在网上了解"NABCD"模型和队友讨论原型设计,对接下去开发的pc端系统有了大致的思路。我在《构建之法》里看过类似的一段话,意思大概是一个优秀的软件工程师往往把更多的时间放在需求分析和原型设计,编程的时间相对于前者而言更少。因此,把需求梳理清楚、把原型做好,能让最后的效果事半功倍。其中需求分析要细化,原型设计要有一定的审美。
3、最后,希望我和我的队友能一起加快学习,加快进步,能靠着自己开发的系统打的一手好牌!

原文地址:https://www.cnblogs.com/lxccccc/p/11580895.html