2021秋软工实践第二次结对编程作业

AdmireSeven AdmireSeven 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
这个作业属于哪个课程 构建之法-2021秋-福州大学软件工程 https://bbs.csdn.net/forums/fzuSoftwareEngineering2021
这个作业要求在哪里 2021秋软工实践第二次结对编程作业 https://bbs.csdn.net/topics/601189945
个人学号031904140
结对成员学号031904138
结对小伙伴的作业博客链接 结对小伙伴的作业博客链接 https://bbs.csdn.net/topics/601401980
GitHub 仓库地址 GitHub仓库地址 https://github.com/AdmireSeven/Bobing
视频演示链接 博饼小程序演示视频 https://www.bilibili.com/video/BV1Jv411g7H5/

一、PSP表格

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

二、重点或难点功能、编程思考

两次结对项目的大致流程是:想法 -> 实现 -> 优化
1、重点:

  • 摇骰子过程的复现

    • 对于此项问题我们没有通过算法实现,而是设计了一个图片交替出现的逻辑过程,实现了骰子的晃动。
    • 例如:wxml文件代码如下:
      <view wx:if="{{p==1}}">
                <view class='start' wx:if="{{statu==1}}">
                    <image class='p21' src="/image/p2.jpg">
                        <text class='p21text'>{{userName[0]}}</text>
                    </image>
                    <image class='p22' src="/image/p1.jpg">
                        <text class='p22text'>{{userName[1]}}</text>
                    </image>
                    <image class='bowl' src="/image/bowl.png"></image>
                    <button class='press' bindtap='click1'>请玩家{{userName[p-1]}}点击投掷</button>
                </view>
                <view class='shake' wx:if="{{statu==2}}">
                    <image class='bowl' src="/image/bowl.png"></image>
                    <image class='playDice' src="/image/playDice.gif"></image>
                    <button class='press' bindtap='click2'>点击停止投掷</button>
                </view>
                <view class='result' wx:if="{{statu==3}}">
                    <image class='bowl' src="/image/bowl.png"></image>
                    <image class='img1' src="{{dicelist[0]}}"></image>
                    <image class='img2' src="{{dicelist[1]}}"></image>
                    <image class='img3' src="{{dicelist[2]}}"></image>
                    <image class='img4' src="{{dicelist[3]}}"></image>
                    <image class='img5' src="{{dicelist[4]}}"></image>
                    <image class='img6' src="{{dicelist[5]}}"></image>
                    <view class='rank'>{{rank}}</view>
                    <button class='press' bindtap='next2'>点击轮到下一位</button>
                </view>
            </view>
      
    • js文件代码如下:
      click1(){
        console.log("点击投掷")
        this.setData({
          statu: 2,
          finallyRank:[]
        })
      },
      
      click2(){
      console.log("点击停止投掷")
      this.setData({
        statu: 3
      })
      this.result();
      },
      
  • 实现结果自动判定

    • 参照博饼规则,我们设计了一系列的if-else通过统计相应骰子的点数实现了结果的判定。
    • 例如对堂结果的判定:
      if(one==1&&two==1&&three==1&&four==1&&five==1&&six==1){
          this.setData({
            rank:"对堂!",
            score:"+300"
          })
          flag=1
        }
      
  • 单机或联机形式的多人参与博饼

    • 通过创建或加入房间的形式容纳多人参与博饼。但由于未能实现网络连接,此处的加入房间本质上是随机创建。

    • 创建房间的wxml如下:

      <view class="container" wx:if="{{statu==0}}">
      <image class="bgImg"
        src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fbpic.588ku.com%2Fback_pic%2F05%2F64%2F56%2F795b6712ffa1723.jpg%21r650%2Ffw%2F800&refer=http%3A%2F%2Fbpic.588ku.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1635861213&t=9dfe2acfda3e8057196d2585a0452471">
      </image>
      <other-widget class="other-widget">
        <view class='input_ID'>
            <input class="input" name="roomID" placeholder-style="font-size:15px" placeholder="请输入房间名称"
                bindinput="bindKeyInput" />
        </view>
        <button class='in' bindtap="click">确定</button>
        <view class='tishi'>{{infoMess}}</view>
      
        <view class='top'>
            <view class='top-selected' bindtap='bindShowMsg'>
                <text>{{num}}</text>
      
            </view>
            <!-- 下拉需要显示的列表 -->
            <view class="select_box" wx:if="{{select}}">
                <view wx:for="{{nums}}" wx:key="unique">
                    <view class="select_one" bindtap="mySelect" data-name="{{item}}">{{item}}</view>
                </view>
            </view>
        </view>
      </other-widget> <!-- other widget希望是放在背景图片之上的 -->
      </view>
      

2、难点:

  • 想法在第一次结对编程时已经设计完成,这次任务的难点在于对想法的实现;
  • 对博饼小程序功能的创新;
  • 实现小程序进阶功能:支持网络连接,能够在线多人参与博饼。

三、在编码、争论、复审等活动中花费时间较长,给你较大收获的事件

  • 着手准备的过程:第一次接触到微信小程序的开发工作,一切都要从头学起,包括js,css,json等前端知识。
  • 讨论页面设计的过程:由于不知道好的页面和构思应该是什么模样,只是通过感官判断觉得好看,参考主流小程序界面设计并意见达成一致。
  • 追寻代码优化的过程:复审中认为小程序并没有创新点,讨论后决定将博饼结果改变为积分制。

四、结对编程体验


  • 我觉得编程就是在不断否定自己的过程中获得成长的,代码需要一遍又一遍的审视。结对编程就更加需要审视的这个过程,一方面需要借助同伴的观点来帮助自己提升对代码结构上的认知,一方面也需要敦促自己不断优化细节,达到更好的合作效果;
  • 借助工具进行团队合作,会让工作更有效率,比如使用Github ,通过 git 协作方式完成编码;
  • 本次编程重新审视了有关「结对」的概念,双方都参与到了开发的各个过程,受益匪浅。

五、学习进度条


大致任务流程如下:

img

第N周新增代码(行)累计代码(行)本周学习耗时(小时)累计学习耗时(小时)重要成长
11971197134.534.5初步掌握了小程序开发的基本框架

附:commit记录

commit

push

结对照片

img

...全文

相关推荐

安卓毕业设计app项目源码6-CalculateExercise:软工结对编程项目-小学生四则计算练习工具项目配套安卓APP

安卓毕业设计app项目源码6 CalculateExercise 软工结对编程项目-小学生四则计算练习工具项目配套安卓APP 软件工程 作业要求 作业目标 熟悉在未结对情况下如何结对开发项目 Github与合作者 合作者(学号): 区德明:318005422 虚左以待 Github链接: 由于本来的合作者临时有事不能和我一起结对编程,所以我也只好咬咬牙单刀赴会了。 因为本次的题目要求有图形化界面,而我也学过移动开发的,所以一不做二不休,直接提刀杀进AndroidStudio,开始秃头设计一款小学生也能用的四则计算题练习工具App,一来可以简化方便操作和展示,二来也算是在众多.exe中里面可以独树一帜。 一、PSP PSP2.1 Personal Software Process Stages 预估耗时 (分钟) 实际耗时 (分钟) Planning 计划 25 38 · Estimate · 估计这个任务需要多少时间 25 38 Development 开发 945 830 · Analysis · 需求分析 (包括学习新技术) 75 130 · Design Spec · 生成设计文

weixin_38631454

PairProject:W班软件工程实践结对第二次作业仓库

结对第二次作业-顶会热词统计的实现 为了不遗漏作业内容,这里有一个清单检查表方便同学们快速检阅。 fork仓库,和伙伴商讨如何通过github协作/代码规范等 编程实现 功能一,操作爬取的论文列表 功能二,爬取结果分析展示 功能三,爬取论文信息(附加功能,实现有附加分) 其他附加功能 部署 发布发布版本,发起拉取请求 撰写博客,在预先之前提交一份博客 包含作业描述和目录 核对评分标准 上一次结对作业中,大家都和小伙伴完成了原型的设计,那么现在再联合小伙伴动手实现原型中的部分功能吧。采用网络技术来实现原型中的功能。 一,作业内容 1.基础功能 功能1:对已爬取的论文列表进行操作 可对论文列表进行删除; 可对论文列表进行查询详细信息(支持模糊查询,查询结果的展示,排序等功能可自行设计); 功能2:分析已爬取到的论文信息,提取top10个热门领域或热门研究方向 形成如关键字图谱之类直观的查看方式

ywnwx

软工概论大作业校园帮帮

软工概论大作业校园帮帮原型文档

FGGIT

软件工程实践结对作业二.md

软件工程实践结对作业二.md

Joey0610

android课程设计11年秋软工

android 课程设计 2011年秋软工

战争迷雾
评论
收藏 已收藏
分享
返回顶部