EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3

Assignment 6 Beta Sprint
Course EE308FZ[A] --- Software Engineering
Class Link 2401_MU_SE_FZU
Requirements Teamwork---Beta Sprint
Team Name FZUGO
Objective Sprint Essay 3_Day5-Day6 (12.15-12.16)
Other Reference 1. WeChat Mini Program Design Guide 2. Javascript Style Guide 3. WeChat Developer Tools 4. The Art of Construction

Catalog

  • [1. SCRUM Section](#1. SCRUM Section)
    • [1.1 Team Achievements](#1.1 Team Achievements)
    • [1.2 Achievements Showcase](#1.2 Achievements Showcase)
      • [1.2.1 Front and back end collaboration achievement](#1.2.1 Front and back end collaboration achievement)
      • [1.2.2 Improve homepage fluency and accuracy](#1.2.2 Improve homepage fluency and accuracy)
    • [1.3 Questionnaire survey feedback collection](#1.3 Questionnaire survey feedback collection)
    • [1.4 SCRUM Meeting Photos](#1.4 SCRUM Meeting Photos)
  • [2. PM Report](#2. PM Report)
    • [2.1 Expected Tasks and Completed Tasks](#2.1 Expected Tasks and Completed Tasks)
    • [2.2 Project Burn-Up Chart](#2.2 Project Burn-Up Chart)
  • [3. Result Presentation](#3. Result Presentation)

The completed task

  • Map and Weather Module Integration and Bug Fixes
  • System Stability Testing
  • User Feedback Feature Collection

1. SCRUM Section

1.1 Team Achievements

Team Member Completed Tasks Time Spent Issues Encountered Tomorrow's Schedule
王希瑞 Map Module Integration and Bug Fixes 3h None Fourth Beta Test Report Writing
刘丹妮 Map Module Integration and Bug Fixes 3h None Fourth Beta Test Report Writing
张子晔 System Stability Testing 2.5h None Ensure system stability under high loads
寿宇浩 System Stability Testing 2.5h None Ensure system stability under high loads
谢荣城 Weather Module Integration and Bug Fixes 3h None Improve frontend performance and user experience
张绍钰 Weather Module Integration and Bug Fixes 3h None Improve frontend performance and user experience
吴杨顺 User Feedback Feature Collection 2h None improve interface efficiency
唐宁蔚 User Feedback Feature Collection 2h None Optimize data storage
周欣怡 Third Beta Test Report Writing 3h None Optimize data storage
薛墨澜 Third Beta Test Report Writing 3h None Ensure system stability under high loads

1.2 Achievements Showcase

1.2.1 Front and back end collaboration achievement

The mini program map interface integrates positioning, search, navigation and point of interest display and other functions. Users can view the current location in real time, query the target location, and plan walking. The interface supports map mode switching, point of interest display and custom markers, providing smooth interactive experience and multi-language support. This interface is suitable for travel navigation
(1) Map module integration

Map location clustering is a technology that classifies and integrates geographic location data according to specific rules, often used to optimize location-related applications, such as map navigation, location recommendation, and business display. Its core purpose is to group multiple locations that are geographically close or have similar characteristics in order to better present information, improve system efficiency, or improve user experience.


Clustering principle

Clustering refers to the grouping of a set of geographic location data points by their spatial location or other characteristics (such as category, purpose, etc.). Common clustering algorithms include K-means, DBSCAN, hierarchical clustering and so on. These algorithms automatically divide geographic locations into clusters by calculating the similarity or distance between locations, with locations in each cluster having a high degree of similarity.

  • Corresponding code block
javascript 复制代码
includePoints() {
  var points = Array.from(this.data.polyline[0].points); // 路径点数组
  this.mapCtx = wx.createMapContext('map');              // 地图上下文
  this.mapCtx.includePoints({
    padding: [100, 40, 20, 40], // 地图视野的边距
    points: points,             // 包括的所有坐标点
  });
}

(2)Repair path the SDK planning interface is easy to get stuck

  • Corresponding code block
javascript 复制代码
qqmapsdk.direction({
  mode: 'walking', // 路径规划模式(步行)
  from: e.detail.value.start, // 起点
  to: e.detail.value.dest,    // 终点
  success: function (res) {
    var ret = res.result.routes[0]; // 获取规划结果
    var coors = ret.polyline;       // 获取路径压缩坐标数组
    var pl = [{                    // 初始化路径点串,添加起点
      latitude: e.detail.value.start.split(",")[0],
      longitude: e.detail.value.start.split(",")[1],
    }];
    // 解压缩路径点串
    var kr = 1000000;
    for (var i = 2; i < coors.length; i++) {
      coors[i] = Number(coors[i - 2]) + Number(coors[i]) / kr;
    }
    // 将解压后的路径点依次存入 `pl` 数组
    for (var i = 0; i < coors.length; i += 2) {
      pl.push({
        latitude: coors[i],
        longitude: coors[i + 1],
      });
    }
    // 添加终点
    pl.push({
      latitude: e.detail.value.dest.split(",")[0],
      longitude: e.detail.value.dest.split(",")[1],
    });

    // 更新 `polyline` 数据,显示路径
    _this.setData({
      polyline: [{
        points: pl,
        color: '#58c16c',    // 路线颜色
        width: 10,           // 路线宽度
        borderColor: '#2f693c', // 边框颜色
        borderWidth: 2,      // 边框宽度
        arrowLine: true,     // 显示箭头
      }]
    });
    _this.includePoints(); // 调整地图视野
  },
});

1.2.2 Improve homepage fluency and accuracy

Home interface design is simple and intuitive, the top display Fuzhou University image and emblem, and provide a school introduction entrance, convenient for users to quickly understand the school information. Functional modules include map navigation, campus guide, location popularity and friendly links to meet users' needs for campus travel and information inquiry. It also displays real-time weather information in Fuzhou, Fujian Province, and the bottom navigation bar provides a shortcut entry for users to quickly access related functions.
(1)Home scrolling test

  • Corresponding code block
javascript 复制代码
background: [],

        indicatorDots: true, //是否显示面板指示点
        indicatorColor: "white", //指示点颜色
        activeColor: "#2adce2", //当前选中的指示点颜色
        autoplay: true, //是否自动切换
        circular: true, //是否采用衔接滑动
        interval: 3500, //间隔时间
        duration: 1500, //滑动时间
        windowWidth: 400,

        dialogShow: false,
        buttons: [{
            text: '关闭'
        }],

    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getWeather()
        var that = this;
        wx.getSystemInfo({
            success: function (res) {
                that.setData({
                    windowWidth: res.windowWidth,
                })
            }
        })
        this.get()
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

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

    },

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

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        console.log("PullDownRefresh")
        this.get()
    },

    /**
     * 用户点击右上角分享到朋友圈
     */
    onShareTimeline: function (res) {

    },

    //图片比例
    imgHeight: function (e) {
        var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
        var imgh = e.detail.height; //图片高度
        var imgw = e.detail.width; //图片宽度
        var swiperH = winWid * imgh / imgw + "px" //等比设置swiper的高度。 即 屏幕宽度 / swiper高度 = 图片宽度 / 图片高度  ==》swiper高度 = 屏幕宽度 * 图片高度 / 图片宽度
        this.setData({
            Height: swiperH //设置高度
        })
    },

    // 获取轮播图
    get() {
        db.collection('media')
            .where({
                name: "轮播图"
            })
            .get()
            .then(res => {
                wx.stopPullDownRefresh()
                console.log('success', res.data[0].img)
                this.setData({
                    background: res.data[0].img,
                })
            })
            .catch(err => {
                console.log('fail', err)
            })
    },

    // 学校官微
    toschool() {
        wx.previewImage({
            current: this.data.guanwei[0],
            urls: this.data.guanwei
        })
    },

    // 图书馆官微
    tolibrary() {
        wx.previewImage({
            current: this.data.guanwei[1],
            urls: this.data.guanwei
        })
    },

    // 财务处官微
    tofinance() {
        wx.previewImage({
            current: this.data.guanwei[2],
            urls: this.data.guanwei
        })
    },


    // 招生官微
    toenroll() {
      wx.previewImage({
          current: this.data.guanwei[3],
          urls: this.data.guanwei
      })
  },
  • (2)Improving the accuracy of real-time weather temperature, humidity and wind direction involves a variety of technical approaches
  • Corresponding code block
css 复制代码
<view class="list-laba">
    <image class="list-laba-image" src="{{weather}}" />
    <view class="list-laba-text weather_text">
      校园天气
    </view>
  </view>

  <view class="card-container">
    <view class="card-container-weather">
      <view class="card-container-weather-city">
        {{school_information.location}}
      </view>

      <view class="card-container-weather-tmp">
        <view>{{now.temp}}°</view>
        <image class="card-container-weather-tmp-icon" src="https://icons.qweather.com/assets/icons/{{now.icon}}.svg"></image>
      </view>

      <view class="card-container-weather-info">
        <view>{{now.windDir}} {{now.windScale}}级</view>
        <view>湿度 {{now.humidity}}%</view>
        <view>气压 {{now.pressure}}Pa</view>
      </view>

Optimize weather models with machine learning and data assimilation to improve forecast accuracy. High-resolution weather models and automated correction systems can also adjust data in real time to enhance forecast accuracy.

javascript 复制代码
// 获取天气
    getWeather() {
        var that = this
        wx.request({
            url: 'https://devapi.qweather.com/v7/weather/now?key=' + that.data.APIKEY + "&location=" + that.data.school_location,
            success(result) {
                var res = result.data
                that.setData({
                    now: res.now
                })
            }
        })
    }
  • Test range
    Stability test : Simulate high concurrent user access and test the performance of the system under peak load.
    Response speed testing: Measures the average time it takes a system to process a request to ensure that performance standards are met.

  • Test results
    Stability test results:

    The system performs stably under standard loads without crashes or abnormal outages.In the high load test, the system has a slight performance degradation, but does not affect the normal operation of the core function.

1.3 Questionnaire survey feedback collection

The application of questionnaires in small programs is mainly used to collect user feedback. Through structured questions, users can efficiently obtain comments on the functionality, interface, and performance of the applet, helping the development team identify problems, optimize the experience, and improve the product.

1.4 SCRUM Meeting Photos

2. PM Report

2.1 Expected Tasks and Completed Tasks

Overall Project Prediction Tasks Completed?
Map module integration Yes
Bug of path the SDK planning interface and weather Yes
Test results Yes
More Aesthetically Pleasing UI Yes

2.2 Project Burn-Up Chart

3. Result Presentation

相关推荐
大米饭消灭者1 天前
Taro是怎么实现一码多端的【底层原理】
微信小程序·taro
日月云棠1 天前
各版本JDK对比:JDK 25 特性详解
java
用户8307196840821 天前
Spring Boot 项目中日期处理的最佳实践
java·spring boot
JavaGuide1 天前
Claude Opus 4.6 真的用不起了!我换成了国产 M2.5,实测真香!!
java·spring·ai·claude code
IT探险家1 天前
Java 基本数据类型:8 种原始类型 + 数组 + 6 个新手必踩的坑
java
花花无缺1 天前
搞懂new 关键字(构造函数)和 .builder() 模式(建造者模式)创建对象
java
用户908324602731 天前
Spring Boot + MyBatis-Plus 多租户实战:从数据隔离到权限控制的完整方案
java·后端
桦说编程1 天前
实战分析 ConcurrentHashMap.computeIfAbsent 的锁冲突问题
java·后端·性能优化
程序员清风1 天前
用了三年AI,我总结出高效使用AI的3个习惯!
java·后端·面试
beata1 天前
Java基础-13: Java反射机制详解:原理、使用与实战示例
java·后端