侧边栏最下方也有目录

这个作业属于哪个课程 课程链接
这个作业要求在哪里 作业要求的链接
团队名称 杨荣模杰和他的佶祥虎
这个作业的目标 说明Beta冲刺过程、发布并说明产品Beta版本

最棒团队成员信息

学号 姓名
201731103226 翟仕佶
201731062517 曾中杰
201731062424 杨模
201731062632 邓高虎
201731062624 张祥
201731062224 陈远杨
201731062420 胡思荣

一、7次冲刺博客链接

为了使结构清晰,也为将博客要求落实,一共7篇冲刺博客。

一阶段冲刺写一阶段的博客,非常详细的记录了每天的冲刺。

链接如下:

Beta冲刺第7次(即本次)

Beta冲刺第6次

Beta冲刺第5次

Beta冲刺第4次

Beta冲刺第3次

Beta冲刺第2次

Beta冲刺第1次


二、解决的Alpha版本问题 / Beta计划任务(与Alpha版本不同点)

  • Java web后端(4个)
  • 安卓(4个)
  • web 前端(4个)
  • 后勤组(4个)

1. WEB后端组

  1. 之前因为敏捷开发讲究快速搭建成果,从而很多的操作直接去建立数据库的连接,因为建立数据库的连接是较为耗费资源的,我们做了如下优化:首先使用阿里巴巴数据源druid实现连接池,druid堪称如今世界最优秀的数据库连接池,得益于此,我们不仅实现了管理数据库连接,还实现了对sql查询,url访问接口的一个图形化展示,对访客的实时点击操作有个良好的记录,安全性也大大的提高

  2. 接着利用Redis实现了缓存技术,首页将增加公告功能,因为考虑到公告并不需要每次去访问数据库,造成资源的浪费,所以将公告保存在了Redis数据库中,利用了Redis的快速读取的特性,所以一方面进一步地减轻了数据库,另一方面实现了公告的快速读取,之后将会进一步将一些公共资源放在Redis数据库中

  3. 将一些静态资源放在其他的服务器上,也能够减轻主服务器的压力,进一步加快网站的响应速度

  4. 负载均衡:分摊到多个操作单元上进行执行,和它的英文名称很匹配。就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。



通过反向代理,按照按照一定的算法【权重、轮询】,将客户端请求转发到不同应用服务器上,减轻单个服务器压力,提高系统并发量。



DruidConfig.java

package com.yrmjhtdjxh.punch.conf;

import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; import javax.sql.DataSource;
import java.util.Arrays;
import java.util.HashMap;
import java.util.Map; /**
* 导入druid数据源
*/
@Configuration
public class DruidConfig { @ConfigurationProperties(prefix = "spring.datasource")
@Bean
public DataSource druid(){
return new DruidDataSource();
} /**
* 配置Druib的监控
* 1.配置一个管理后台的servlet
* @return
*/
@Bean
public ServletRegistrationBean statViewServlet() {
ServletRegistrationBean bean = new ServletRegistrationBean(new StatViewServlet(), "/druid/*");
Map<String, String> initParams = new HashMap<>(); initParams.put("loginUsername", "admin");
initParams.put("loginPassword", "123456");
// IP白名单,默认就是允许所有访问
initParams.put("allow", "");
//initParams.put("deny", "127.0.0.1");
bean.setInitParameters(initParams);
return bean;
} /**
* 2.配置一个web监控的filter
* @return
*/
@Bean
public FilterRegistrationBean webStatFilter() {
FilterRegistrationBean bean = new FilterRegistrationBean();
bean.setFilter(new WebStatFilter()); Map<String, String> initParams = new HashMap<>();
initParams.put("exclusions", "*.js,*.css,/druid/*"); bean.setInitParameters(initParams);
bean.setUrlPatterns(Arrays.asList("/"));
return bean;
} }

2. 安卓组

  1. 优化配置
  2. 优化查询
  3. 增加了适配机型
  4. 解决了卡死bug


3. 后勤组

  • 重构人脸比对函数
  • 重构图片web接口处理函数
  • 新增获取已有特征值函数
  • 新增本地扩展风格函数








4. WEB前端组

  1. 自动登录
  2. 注册速度优化
  3. 自定义头像
  4. 首屏加载速度优化

二、项目本次α版本的发布地址、下载安装说明

项目github地址 网页端登注/APK下载
网页github项目地址 网页版登注地址
安卓github项目地址 安卓apk下载地址
人脸识别项目github地址

网页端与安卓端的操作界面因为前期较好的设计、后期根据使用反馈作了修改,所以都易上手,下面提供简单的操作说明:

注意:注册有限制,管理员必须在后台同意申请才可以注册,下面提供1个试用账号

但是,试用账号因未上传您的照片不可体验人脸识别,想体验的话还是需要自行注册

201731062224
123456

1. 网页版操作简明:

为不出现兼容问题,希望使用Chrome浏览器访问,可能被提示警告信息,请选择 高级->继续访问

  1. 第一次使用请选择“注册账户”

    (建议使用试用账号,否则请联系我同意您的账号申请;注册上传照片时请注意照片要有人像,否则会失败)

  2. 进入主界面后,右方选择“启动摄像头”,开始摄像后点击“开始打卡”即可开始识别(必须是是自行注册的账户,已上传照片才可进行识别)

    • 点击打开摄像头,然后点击开始打卡,在后端确认前显示正在认证

    • 人脸识别非本人,打卡失败

    • 人脸识别成功后,提示进入ip验证

    • ip验证失败后提示必须连接指定wifi

    • 不开摄像头直接点击开始打卡,提示服务器错误

  3. 开始、结束打卡

    • 打卡成功页,状态由未打卡变为已打卡

      当断开指定wifi “LC”后,将自动判定为离线
  4. 左侧栏选择“数据统计”,可以看到目前做出的一项数据可视化功能

  5. 基本设置(文本信息)

  6. 更换头像

    【账户】->【用户设置】->【基本设置】->

  7. copyright

  8. 自定义UI风格

  9. 用户管理

  10. 更多请自行体验

2. 安卓端安装及操作简明:

  1. 安卓apk下载地址,下载之后,直接允许安装即可(EMUI可能会让允许QQ安装应用,都点击允许即可)
  2. 若不在乐程团队wifi范围内,建议使用83端口版本(该版本可以非指定wifi环境打卡),首次使用请先注册(若已在网页端注册则可以直接登录)

  3. 进入主界面是打卡排名,可以选择“同级”看到与你同年级的打卡排名情况,选择“全部”则不分年级

  4. 选择个人栏可以看到有打卡、停止打卡等功能

  5. 更多功能请体验

四、PM最终报告(详细报告在各冲刺博客中)

1. 燃尽图

其中,因个别任务难度较高,难以估计时间,为避免队员可能经常未按时完成产生挫败感,或是过早完成使曲线波动过大,

各折线以任务量计数。

#### 2. 工作总结
       首先是非常高兴能与我的队员在一起做项目,这也是我做的最舒心的一次团队合作。每次立会都能有新颖的想法,每次安排任务时可以提出给自己安排挑战的任务,最后也能够将自己的任务做的优秀。不仅仅是因为我的队友都是各自技术方向上的佼佼者,使我们的项目进度飞快,而且是因为我终于将自己的所学知识转化为了对项目的贡献。

       更加详细的冲刺总结在前面的冲刺博客中已经体现,下面是概括与整理。

(1)web后端在Bete冲刺中,很大胆,为了项目整体的运行效率,更换了底层代码,也不断优化了SQL查询等等。希望他们能够在明年春招拿到心仪的offer。

(2)web前端,是最贴近用户的。相比其他队前端多、后端少的现象,我们队内本次只有一个web前端的队员,不仅既与web后端对接也与负责人脸识别的后勤组对接,还要保证网页安全性高、交互型强且简洁美观,工作量非常大。在Beta冲刺过程中,又解决了一些小小的bug(Alpha2版本其他人测试提出来的bug全部解决),也完善了一些项目的扩展功能。

(3)安卓端,由于安卓版本不统一和各手机厂商对原生UI的优化导致的不兼容,以及web组的接口变动,常常出bug。在本次Beta版本中,没有新增功能,但是解决了一堆隐蔽bug,主动适配了很多使用安卓10的机型。

(4)后勤组,组如其名,项目伊始最先动工,只是为了提供一个人脸识别功能锦上添花。Alpha2版本整合上线也让测试我们项目的同学眼前一亮,不过由于模型太难重新训练。后勤组转向测试优化和扩展功能,如优化了文件I/O,重构接口代码,新增了一些图像处理功能。

(5)最后作为PM,再次感谢我的队友的倾力配合与协助。

团队——Beta版本发布的更多相关文章

  1. 团队作业-Beta版本发布

    这个作业属于哪个课程  <课程的链接>            这个作业要求在哪里 <作业要求的链接> 团队名称 Three cobblers 这个作业的目标 Beta版本发布报 ...

  2. Beta版本测试报告以及Beta版本发布说明

    Beta版本测试报告 请根据团队项目中软件的需求文档.功能说明.系统设计和Beta阶段的计划安排,写出软件的测试过程和测试结果,并回答下述问题. 在测试过程中总共发现了多少bug?每个类别的bug分别 ...

  3. 团队项目作业-Beta版本发布

    团队成员: 学号 姓名 201731062234 薛磊 201731062230 李林 201731062231 燕泓达 201731062232 陈东 201731062229 沈瑞琦 201731 ...

  4. 团队项目-Beta版本发布

    这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求链接 团队名称 众志陈成 这个作业的目标 通过团队协作了解软件开发的大致流程,并在这个过程中体会调整与优化程序的方法,为以后真实的软件开发奠 ...

  5. 学霸网站-Beta版本发布说明

    项目名称 学霸网站 项目版本 Beta 项目团队 ourteam 发布日期 2015-1-5 一.Alpha版本实现功能简介: 1.匿名提问 2.匿名回答 3.采纳功能 4.登录.注册失败后,用户名等 ...

  6. Beta版本发布报告

    项目名称 学霸系统写手机客户端 项目版本 Beta版本 负责人 北京航空航天大学计算机学院 hots团队 联系方式 http://www.cnblogs.com/hotsbuaa/ 要求发布日期 20 ...

  7. Beta版本发布

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/?page=2 这个作业要求在哪里 <作业要求的 ...

  8. Beta版本发布!

    该作业所属课程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2 作业地址:https://edu.cnblogs.com/c ...

  9. 团队——Alpha2版本发布

    这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求的链接 团队名称 杨荣模杰和他的佶祥虎 这个作业的目标 发布并说明产品Alpha2版本 一.团队成员的学号姓名列表 学号 姓名 201731 ...

随机推荐

  1. Rattle

    Rattle使用RGtk2 包提供的Gnome图形用户界面,可以在WINDOWS,MAC OS/X,Linux等多个系统中使用. Rattle基于大量的R包:RGtk2, pmml, colorspa ...

  2. Guava---缓存之LRU算法

    随笔 - 169  文章 - 0  评论 - 292 GuavaCache学习笔记一:自定义LRU算法的缓存实现   前言 今天在看GuavaCache缓存相关的源码,这里想到先自己手动实现一个LRU ...

  3. 【操作系统之十二】分支预测、CPU亲和性(affinity)

    一.分支预测 当包含流水线技术的处理器处理分支指令时就会遇到一个问题,根据判定条件的真/假的不同,有可能会产生转跳,而这会打断流水线中指令的处理,因为处理器无法确定该指令的下一条指令,直到分支执行完毕 ...

  4. 代码同时支持.NET Framework和.NET Core

    代码同时支持.NET Framework和.NET Core .NetCore技术研究-一套代码同时支持.NET Framework和.NET Core   在.NET Core的迁移过程中,我们将原 ...

  5. python 在cmd时执行celery -A tasks worker --loglevel=info报错:failed to create process怎么解决

    在cmd命令前加 : python -m 命令(如:python -m celery -A tasks worker --loglevel=info) -m: 将库中的python模块用作脚本去运行, ...

  6. 宏offsetof分析

    1.前言 在C语言的结构体中,由于字节对齐的问题,所以成员的地址并不能直接根据数据类型的大小进行计算,使用宏offsetof可以获得结构体成员相对于结构体首地址的字节偏移量. 2.offsetof宏实 ...

  7. Linux内核文档翻译——kobject.txt

    ==================================================================== Everything you never wanted to ...

  8. Vue ----------- 了解, 展示json 数据

    Vue.js  是一套构建用户界面的渐进式框架. 优点: 与大型框架不同的是采用自底向上的增量开发的设计, 只聚焦于视图层,不仅易于上手,还便于与第三方库或既有项目整合 当与现代化工具链以及各种类库结 ...

  9. 鼠标滚轮滚动慢/拖动Office出现滞后问题处理

    一.说明 我对外设一直不是很了解,买的鼠标今天到了,使用时遇到了两个问题在这里记一下. 二.滚轮滚动慢处理 问题描述:在网页中滚动滚轮每次只能上下移动一点点,感觉很难受. 问题原因:此问题是滚轮滚动一 ...

  10. [转帖]k8s 部署问题解决

    k8s 部署问题解决 https://www.jianshu.com/p/f53650a85131 本文记录一下在部署 k8s 时遇到的一些问题及解决方法,具体部署流程可以参考 ubuntu 安装 k ...