EE308FZ Lab2-2

m0_53521350 2022-11-13 21:39:27

目录

  • EE308FZ Software Engineering---LAB 2-2
  • 1. Bobing Game
  • 1.1 Page Setup
  • 1.2 Function
  • 2. PSP Form and Learning Progress Bar
  • 2.1 PSP Form
  • 2.2 Learning Progress Bar
  • 3. Code
  • 3.1 Link for GitHub
  • 3.2 Git Commit
  • 3.3 Partial code presentation
  • 4. Programming Experience
  • 4.1 The key or difficult functions and programming thinking
  • 4.2 Events that take a long time
  • 4.3 Pair programming experience

EE308FZ Software Engineering---LAB 2-2

The Link Your Classhttps://bbs.csdn.net/forums/MUEE308FZU202201
The Link of Requirement of This Assignmenthttps://bbs.csdn.net/topics/608859318
The Aim of This AssignmentDevelop a bobing software based on the prototype of the first pair programming assignment
MU STD ID and FZU STU ID20122594_832001314
Partner STD ID and FZU STU ID20122586_832001315
Link of Partner Bloghttps://bbs.csdn.net/topics/609180507
Link of Videohttps://live.csdn.net/v/253645

1. Bobing Game

1.1 Page Setup

img

1.2 Function

img

2. PSP Form and Learning Progress Bar

2.1 PSP Form

Personal Software Process StagesEstimated Time Consumption (mins)Completed Time(mins)
Planning----
Estimate6065
Development----
Analysis90100
Design Spec5560
Design Review1515
Coding Standard2025
Design90100
Coding13001250
Code Review4540
Test10095
Reporting----
Test Report8080
Size Measurement1515
Postmortem & Process Improvement Plan5045
Total19201890

2.2 Learning Progress Bar

Week NNew Codes(lines)Cumulative Codes(lines)Study Time This Week(hours)Cumulative Study Time(hours)Important Growth
13603601010Be acquainted with json, js, wxss and wxml
298813482232Learn how to link json, js,wxss and wxml and learn some useful functions in them

3. Code

https://github.com/FZUHUANGWENLIN/EE308FZ_LAB2-1

3.2 Git Commit

img

3.3 Partial code presentation

// pages/testing/testing.ts
Page({

  /**
   * 页面的初始数据
   */
  data: {
    keys: 1,

  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad() {
    // console.log(this.options.ID)

    var arrList = ["keys1", "keys2", "keys3"]
  },
  getKeys(){
    var arr = new Array(6)
    for (var i=0; i<6; i++) {
      arr[i] = Number((Math.floor(Math.random()*10)) % 6 + 1)
    }
    return arr
  },
  next(){
    // Math.random() 返回的是一个 0-1 的浮点数

    this.options.ID = this.options.ID - 1 
    if (this.options.ID >=0){
      var arrTrue = []
      arrTrue = this.getKeys()
      wx.navigateTo({
        url: '/pages/rollresult/index?ID='+this.options.ID + '&arr=' + arrTrue,
      })}
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})

img

4. Programming Experience

4.1 The key or difficult functions and programming thinking

    ①In the process of designing the bobing mini program, the first difficult function is how to set the number of dice throwing according to the specified number of participants input by the user, that is, according to the number of players to achieve the corresponding number of throwing page cycle.
    ②The second key programming thinking is how to implement logic and function functions like in programming languages (C, Python) in the process of designing bobing program.In the process of programming with my partner, I found that the programming thinking of software design was different from that of simply using programming language to achieve a specific function.We need to use different syntax to write in different suffix files (json, wxml, wxss, etc.) under the same page to realize the page construction and configuration of a page. At the same time, there is a close relationship between different suffix files, and we need to grasp this connection.

4.2 Events that take a long time

    ①The first was a discussion between the small program we programmed and the prototype we designed with the ink knives. At the beginning, we thought that we could fully realize all the functions embodied in the ink knives prototype, but in the continuous learning of the front-end and programming practice, we realized that only two weeks of learning time, our technical level is still far from 100% to fully realize all the functions of the ink knives prototype, which caused us a sense of gap. So we decided to put aside some of the more complex functions, through in-depth study and practice, basically realized all the functions of the bobing small program.
    ②The different suffixes js,json,wxml and wxss required for the composition of a page all have different functions and different ways of writing. Therefore, in the early stage of programming, we spent a lot of time learning the writing of suffix files by watching teaching videos and related blogs, and sorting out the links between suffix files. After the early learning, we have been able to complete the basic appearance design of the page and the basic page jump function, but for some complex page functions, we can only learn deeply in the later writing to fully grasp and apply them.
    ③The biggest challenge in this assignment was to have the number of page looping throws depending on the number of players. In the early days, we thought of two loop schemes.
        ⅰ In the first scheme, the number of players was set as variable i, and the first person rolled the dice once in the roll interface and entered the roll-result page, while i was subtracted 1. And see if i satisfies the condition that i is equal to zero. If the condition is met, go to the rule-game page and end the game, otherwise go back to the roll page to continue rolling dice.
        ⅱThe second scheme is not to enter the roll-result page to display the result after rolling the dice on the roll page, but to enter the roll-result page to display the rolling result after all the people have finished rolling the dice. Later, we thought that the result presented by the first scheme was more complete and the circular logic was more organized, so we chose the first scheme.Then we spent a lot of time studying how to implement different page jumps under ifelse conditional statements, how to pass the input parameters of one page to the next page, and finally presented the page and its functions completely.

4.3 Pair programming experience

img

    Before this assignment, I felt very unsure of it because I knew almost nothing about the software and knowledge needed for software development. So at the beginning of the task, my teammate and I had to spend a lot of time to learn the relevant basic knowledge. During the task, we were also very anxious. Because the deadline was approaching, we still had a lot of problems to solve. However, the strength of two people is far greater than that of one person, and we have a clear division of labor in the process of tasks. When we meet a problem, my teammate will help me to collect and screen various methods to solve the problem, and I will apply these methods one by one after reading until the problem is solved. Therefore, after this assignment, I benefited a lot from both the theoretical aspect and the cooperative relationship with my teammate. I am pretty grateful for that!

img

...全文
184 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

285

社区成员

发帖
与我相关
我的任务
社区描述
福州大学 梅努斯国际工程学院 软件工程(2022秋) 教学
软件工程 高校
社区管理员
  • LinQF39
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧