EE308FZ_Sixth Assignment_Beta Sprint_Sprint Essay 3

news2024/12/21 23:26:01
Assignment 6Beta Sprint
CourseEE308FZ[A] — Software Engineering
Class Link2401_MU_SE_FZU
RequirementsTeamwork—Beta Sprint
Team NameFZUGO
ObjectiveSprint Essay 3_Day5-Day6 (12.15-12.16)
Other Reference1. WeChat Mini Program Design Guide 2. Javascript Style Guide 3. WeChat Developer Tools 4. The Art of Construction

Catalog

  • 1. SCRUM Section
    • 1.1 Team Achievements
    • 1.2 Achievements Showcase
      • 1.2.1 Front and back end collaboration achievement
      • 1.2.2 Improve homepage fluency and accuracy
    • 1.3 Questionnaire survey feedback collection
    • 1.4 SCRUM Meeting Photos
  • 2. PM Report
    • 2.1 Expected Tasks and Completed Tasks
    • 2.2 Project Burn-Up Chart
  • 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 MemberCompleted TasksTime SpentIssues EncounteredTomorrow’s Schedule
王希瑞Map Module Integration and Bug Fixes3hNoneFourth Beta Test Report Writing
刘丹妮Map Module Integration and Bug Fixes3hNoneFourth Beta Test Report Writing
张子晔System Stability Testing2.5hNoneEnsure system stability under high loads
寿宇浩System Stability Testing2.5hNoneEnsure system stability under high loads
谢荣城Weather Module Integration and Bug Fixes3hNoneImprove frontend performance and user experience
张绍钰Weather Module Integration and Bug Fixes3hNoneImprove frontend performance and user experience
吴杨顺User Feedback Feature Collection2hNoneimprove interface efficiency
唐宁蔚User Feedback Feature Collection2hNoneOptimize data storage
周欣怡Third Beta Test Report Writing3hNoneOptimize data storage
薛墨澜Third Beta Test Report Writing3hNoneEnsure 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
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
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
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
<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.

// 获取天气
    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 TasksCompleted?
Map module integrationYes
Bug of path the SDK planning interface and weatherYes
Test resultsYes
More Aesthetically Pleasing UIYes

2.2 Project Burn-Up Chart

在这里插入图片描述

3. Result Presentation

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2263478.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

国内主流的工程项目管理软件有哪些?

随着科技的发展&#xff0c;工程管理软件已经成为了工程管理的重要工具。在国内&#xff0c;有许多优秀的工程管理软件&#xff0c;它们可以帮助我们更好地管理工程项目。那么&#xff0c;你知道有哪些工程管理软件吗&#xff1f;下面就让我们一起来盘点一下。 1、广联达 广联…

网络变压器如何识别电路

1. 基本符号的理解 曲线&#xff1a;表示变压器的线圈&#xff08;windings&#xff09;&#xff0c;每个曲线代表一个独立的线圈。 直线&#xff1a;用于连接不同的元件或引脚&#xff0c;表明电流路径。 2. 关键标注解释 CT&#xff08;Center Tap&#xff09;&#xff1a;中…

【原生js案例】ajax的简易封装实现后端数据交互

ajax是前端与后端数据库进行交互的最基础的工具&#xff0c;第三方的工具库比如jquery,axios都有对ajax进行第二次的封装&#xff0c;fecth是浏览器原生自带的功能&#xff0c;但是它与ajax还是有区别的&#xff0c;总结如下&#xff1a; ajax与fetch对比 实现效果 代码实现 …

免费开源!推荐一款网页版数据库管理工具!

免费开源&#xff01;推荐一款网页版数据库管理工具&#xff01; DBGate 是一个开源的数据库管理工具&#xff0c;DBGate 的最大特点是可以 Web 访问&#xff01;&#xff0c;轻松实现一台机器部署&#xff0c;所有人使用&#xff01; 无论是 MySQL、PostgreSQL、SQLite 还是…

主要是使用#includenlohmannjson.hpp时显示找不到文件,但是我文件已正确导入visual studio配置,也保证文件正确存在

问题&#xff1a; 主要是在项目配置中包括了C/C配置中文件位置&#xff0c;但是没有把nlohmann上一级的目录包括进去&#xff0c;导致#include"nlohmann/json.hpp"找不到文件位置 解决&#xff1a; 加上上一级目录到附加包含目录 596513661)] 总结&#xff1a; 找不…

智慧公交指挥中枢,数据可视化 BI 驾驶舱

随着智慧城市的蓬勃发展&#xff0c;公共交通作为城市运营的核心枢纽&#xff0c;正朝着智能化和数据驱动的方向演进。通过整合 CAN 总线技术(Controller Area Network&#xff0c;控制器局域网总线)、车载智能终端、大数据分析及处理等尖端技术&#xff0c;构建的公交“大脑”…

[c++11(二)]Lambda表达式和Function包装器及bind函数

1.前言 Lambda表达式着重解决的是在某种场景下使用仿函数困难的问题&#xff0c;而function着重解决的是函数指针的问题&#xff0c;它能够将其简单化。 本章重点&#xff1a; 本章将着重讲解lambda表达式的规则和使用场景&#xff0c;以及function的使用场景及bind函数的相关使…

redis数据类型:list

list 的相关命令配合使用的应用场景&#xff1a; 栈和队列&#xff1a;插入和弹出命令的配合&#xff0c;亦可实现栈和队列的功能 实现哪种数据结构&#xff0c;取决于插入和弹出命令的配合&#xff0c;如左插右出或右插左出&#xff1a;这两种种方式实现先进先出的数据结构&a…

基于51单片机的验证码收发系统的仿真设计

一、设计要求 主机、从机均以AT89C52单片机为控制核心。主机生成6位随机验证码、并将验证码发送给从机&#xff1b;从机输入验证码发送给主机&#xff0c;主机接收来自从机发送的验证码并核对两个验证码是否一致。 二、设计内容 主机通过独立按键生成6位随机验证码并发送给从…

WPF实现曲线数据展示【案例:震动数据分析】

wpf实现曲线数据展示&#xff0c;函数曲线展示&#xff0c;实例&#xff1a;震动数据分析为例。 如上图所示&#xff0c;如果你想实现上图中的效果&#xff0c;请详细参考我的内容&#xff0c;创作不易&#xff0c;给个赞吧。 一共有两种方式来实现&#xff0c;一种是使用第三…

[机器学习]AdaBoost(数学原理 + 例子解释 + 代码实战)

AdaBoost AdaBoost&#xff08;Adaptive Boosting&#xff09;是一种Boosting算法&#xff0c;它通过迭代地训练弱分类器并将它们组合成一个强分类器来提高分类性能。 AdaBoost算法的特点是它能够自适应地调整样本的权重&#xff0c;使那些被错误分类的样本在后续的训练中得到…

详细解读TISAX认证的意义

详细解读TISAX认证的意义&#xff0c;犹如揭开信息安全领域的一颗璀璨明珠&#xff0c;它不仅代表了企业在信息安全管理方面的卓越成就&#xff0c;更是通往全球汽车供应链信任桥梁的关键一环。TISAX&#xff0c;即“Trusted Information Security Assessment Exchange”&#…

黑马Redis数据结构学习笔记

Redis数据结构 动态字符串 Intset Dict ZipList QuickList SkipList 类似倍增 RedisObject 五种数据类型 String List Set ZSet Hash

sqlilabs靶场二十一关二十五关攻略

第二十一关 第一步 可以发现cookie是经过64位加密的 我们试试在这里注入 选择给他编码 发现可以成功注入 爆出表名 爆出字段 爆出数据 第二十二关 跟二十一关一模一样 闭合换成" 第二十三关 第二十三关重新回到get请求&#xff0c;会发现输入单引号报错&#xff0c…

Win10将WindowsTerminal设置默认终端并添加到右键(无法使用微软商店)

由于公司内网限制&#xff0c;无法通过微软商店安装 Windows Terminal&#xff0c;本指南提供手动安装和配置新版 Windows Terminal 的步骤&#xff0c;并添加右键菜单快捷方式。 1. 下载新版终端安装包: 访问 Windows Terminal 的 GitHub 发布页面&#xff1a;https://githu…

从地铁客流讲开来:十二城日常地铁客运量特征

随着城市化进程的加速和人口的不断增长&#xff0c;公共交通系统在现代都市生活中扮演着日益重要的角色。地铁作为高效、环保的城市交通方式&#xff0c;已经成为居民日常出行不可或缺的一部分。本文聚焦于2024年10月28日至12月1日期间&#xff0c;对包括北上广深这四个超一线城…

firefox浏览器如何安装驱动?

firefox的浏览器驱动:https://github.com/mozilla/geckodriver/releases 将geckodriver.exe所在文件路径追加到系统环境变量path的后面

2.2.3 进程通信举例

文章目录 PV操作实现互斥PV操作实现同步高级通信 PV操作实现互斥 PV操作实现互斥。先明确临界资源是什么&#xff0c;然后确定信号量的初值。实现互斥时&#xff0c;一般是执行P操作&#xff0c;进入临界区&#xff0c;出临界区执行V操作。 以统计车流量为例。临界资源是记录统…

UE5 移植Editor或Developer模块到Runtime

要将源码中的非运行时模块移植到Runtime下使用,个人理解就是一个解决编译报错的过程,先将目标模块复制到项目的source目录内,然后修改模块文件夹名称,修改模块.build.cs与文件夹名称保持一致 修改build.cs内的类名 ,每个模块都要修改 // Copyright Epic Games, Inc. All …

Qt WORD/PDF(三)使用 QAxObject 对 Word 替换(QML)

关于QT Widget 其它文章请点击这里: QT Widget 国际站点 GitHub: https://github.com/chenchuhan 国内站点 Gitee : https://gitee.com/chuck_chee 姊妹篇: Qt WORD/PDF&#xff08;一&#xff09;使用 QtPdfium库实现 PDF 操作 Qt WORD/PDF&#xff08;二…