评分总表

下述表格适用于前端、后端、爬虫开发者的评分,基础分数为50分,在此基础上进行增减。

类别 程度 加减分
准时性 提前完成 +0
按时完成 +0
延后完成,迟交时间一天内或未延误进度 -2
延后完成,迟交时间一天以上或延误进度 -4
质量 质量较高,可读性好,可扩展性好 +2
质量过关或者bug极其微小 +0
质量较差,有非架构设计上的功能性bug -2
质量差,且修复较困难,甚至延误项目进度 -4
Bonus 协助他人完成因拖延或技术难题而未完成的工作 +2
完成额外的开发任务 +2

PM由于工作性质较为特殊,所以不参与以上打分。PM若在实际开发阶段中参与了开发,则可适用Bonus相关的规则。PM的分数将由剩下的所有同学,在团队项目验收结束后进行统一打分。打分模板如下。如果该模板不够详细,可进行进一步细化。

评价 分数
非常尽职尽责,积极性强 +4
较为尽职尽责,比预想的好一点 +2
一般,只是做了该做的事情 0
不太尽职尽责,对日期和任务不敏感 -2
非常不尽职尽责,有些PM的本分工作甚至需要开发者来提醒 -4

准时性评分

对于Alpha阶段开始时所开放的issue,大家都有在Alpha阶段结束时较好的完成。不过,在测试这一周,依然出现了不少需要开发的任务,这些任务先前没有分配,会计入“完成额外的开发任务”的bonus中。

因此,在准时性方面,大家都没有扣分。

质量评分

所有的额外开发任务和Bug都有issue进行记录,对issue进行量化评分。统计4月23日~5月4日之间的issue。

issue类别 issue内容 负责人 备注
设计bug 爬虫:无法分析两个老师共用同一节数的课表信息 #84 杜博玮
沟通bug 消息队列:修正格式 #86 李嘉铖、杜博玮
设计bug 后端:ddl上出现未知错误,返回时间为空 #88 胡彬彬 存在截止日期为空的情况
设计bug 后端:成绩查询成绩不全 #89 李嘉铖
设计bug 爬虫:消息队列进程无法正常处理 #92 杜博玮
沟通bug 后端:user_login报错 #94 胡彬彬、杜博玮 爬虫修改错误返回值后沟通不及时
设计bug 后端/爬虫:课表重复课程 #95 杜博玮
设计bug 后端/爬虫:课表没有13、14节课的信息 #97 杜博玮
设计bug 爬虫:课表格式分析再度出错 #98 杜博玮
设计bug 爬虫:Try-catch覆盖不全,对于课程中心的形式无法正确处理 #103 杜博玮
设计bug 后端:两级制GPA计算 #131 李嘉铖
设计bug 爬虫:部署在后端的Chrome没有kill干净 #133 杜博玮
设计bug 爬虫:课程中心页面分析bug #140 杜博玮 截止日期存在“未显示”

胡彬彬的代码bug数量最少,并且每次上交之前都会进行测试,整体代码质量在测试阶段表现较好。对于上一阶段做的不够完善的错误处理,在测试阶段也进行了修改,目前的错误处理信息已经较为完善,会给到加分。

李嘉铖的代码bug数量不多,且都是可以原谅,不太影响功能的bug。不过,在写代码时还是存在一定程度的粗心和考虑不周,需要注意。

杜博玮作为爬虫开发,bug数量确实非常多。大部分debug时间都在与爬虫交流,或者说一个bug最终总会定位到爬虫身上。不过这不代表其代码本身的质量比其他开发者差,只是这份工作的特殊性导致bug不断。不过这么多的bug应当也有办法去减少。比如:

  • 建立更加完善的错误处理机制,覆盖更全面的try-catch,起码保证不要有chrome没杀掉
  • 与后端沟通,最好是每一个字段都有为空串或者null的准备,预防特殊情况
  • 做好错误局部化处理,不要因为一个错误导致整个爬虫进程瘫痪(例如issue#140,issue#98)

我认为这些都是爬虫可以做到更好的地方。在Beta阶段,在使用python的requests包进行重构的时候,虽然避免了许多内存上的问题,但在网络方面的问题依然无法忽视。希望爬虫能够做到更好。

issue类别 issue内容 负责人 备注
设计bug 按返回键会回到登录界面而不是退出程序 #54 乔玺华
设计bug 空教室查询页面无法下拉 #58 乔玺华
设计bug 登录页面错误处理bug #62 张艺璇
设计bug 主页设置功能在退出程序后重新进入又变成课表 #66 张艺璇
设计bug 成绩查询页面缺少夏季成绩 #98 单彦博

前端总体来说,bug较少,可能是因为使用了较为成熟的框架和模板,但存在一些疏忽的bug。

相对而言,单彦博出的bug更少,且担任了前端code review的职责,在PM不熟悉前端代码的情况下,充当了一个3人组内的PM角色,所以会把加分给到单彦博。

Bonus评分

下面是额外开发任务的评分参考。完全按照issue数量来定开发加分不太合适,因为每个issue的任务量不同。如果是任务量较少但可归为一类的任务,会统一计算。

开发任务 相关issue 负责人
课表界面美化 课表美化 #67
课表显示细节中,对于只有一节课的课程,不应显示n-n节 #87
张艺璇
人性化改动 自定义主页界面增加确定按钮 #57
自定义主页点击确认后应当自动返回 #79
乔玺华
人性化改动2 空教室查询美化 #68
DDL界面增加选项,设置已完成的内容不显示 #93
乔玺华
版本更新功能 版本更新检测功能 #69 单彦博
安全性改善 使用AES算法对传输的“学号”和“姓名”进行加密 #83 单彦博
开发任务 相关issue 负责人
多爬虫适配 后端:user_login支持爬虫的多线程爬取 #107 胡彬彬
后端:消息队列去重、支持爬虫的改动 #108 李嘉铖
爬虫:支持多线程和消息队列交互 #109 杜博玮
GPA计算细化 后端/爬虫:修改GPA算法以适应五级评分制,爬取课程评价信息 #111 李嘉铖、杜博玮
版本更新 后端:增加版本更新功能适配 #141 胡彬彬
安全性改善 后端:使用AES算法对“密码”和“学号”进行加密 #112
后端:能够处理爬虫发送的DELETE请求,并预先和数据库密码、消息队列进行检查 #114
胡彬彬
爬虫:修改并统一解密算法 #113
爬虫:遇到“用户名或密码错误”时,告知前端删除该用户信息 #115
杜博玮
摒弃Chrome 爬虫:重构用户登录检查和获取基本信息 #142 杜博玮

最终评分

折算加权时,前端3人共享150分加权,后端3人共享150分加权。

因为要求不能出现重分,且分数必须为整数,所以如果出现重分,会优先根据代码质量、额外开发issue数量来决定谁的分数更高。

最终分数将等PM分数投票出来后,七人共享350分加权。

姓名 准时性 质量分 Bonus 总分
乔玺华 0 0 4 54
张艺璇 0 0 2 52
单彦博 0 2 4 54
李嘉铖 0 0 4 54
胡彬彬 0 2 6 58
杜博玮 0 -2 8 56

PM分数投票,加权均分53.33,截图如下:

[软工顶级理解组] Alpha阶段团队贡献分评分的更多相关文章

  1. [软工顶级理解组] Beta阶段团队贡献分评分

    贡献分评分依据 下述表格适用于前端.后端.爬虫开发者的评分,在此基础上进行增减. 类别 程度 加减分 准时性 提前完成 +0 按时完成 +0 延后完成,迟交时间一天内或未延误进度 -2 延后完成,迟交 ...

  2. [软工顶级理解组] Alpha阶段测试报告

    [软工顶级理解组] Alpha阶段测试报告 在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原 ...

  3. [软工顶级理解组] Alpha阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  4. [软工顶级理解组] Alpha阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  5. [软工顶级理解组] Beta阶段项目展示

    目录 团队成员 软件介绍 项目简介 预期典型用户 功能描述 预期目标用户数 用户反馈 团队管理 分工协作 项目管理 取舍平衡 代码管理 程序测试 代码规范 文档撰写 继续开发指导性 用户沟通 需求分析 ...

  6. [软工顶级理解组] Beta阶段事后分析

    目录 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 质量提高 会议截图 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰 ...

  7. [软工顶级理解组] Beta阶段测试报告

    在测试过程中发现了多少Bug? 测试阶段发现并已修复的bug: 尚且存在,但是难以解决或者不影响使用的bug: 计算重修课程的时候,如果重修课程的课程号和原课程号不同,则GPA计算会出现误差.但我们无 ...

  8. [软工顶级理解组] 团队任务拆解(Alpha)

    一.任务概述 在alpha阶段,我们需要完成功能规格说明书中所提到的所有功能,在一个阶段的开发周期内,交付最小可行的可用版本. 二.任务分配及时长 分组&成员 具体任务 预计时长(小时) 前端 ...

  9. [软工顶级理解组] 团队规划和任务拆解(Beta)

    目录 需求再分析 功能增减 管理改进 任务分解 人员管理 需求再分析 在Alpha阶段,我们的产品得到了用户的广泛好评,但是还是存在一些问题. 登录不稳定,登录速度慢等问题:这是北航VPN本身的不稳定 ...

随机推荐

  1. Python习题集(六)

    每天一习题,提升Python不是问题!!有更简洁的写法请评论告知我! https://www.cnblogs.com/poloyy/category/1676599.html 题目 ''' 问题1.对 ...

  2. Linux常用命令 - more命令详解

    21篇测试必备的Linux常用命令,每天敲一篇,每次敲三遍,每月一循环,全都可记住!! https://www.cnblogs.com/poloyy/category/1672457.html 每次显 ...

  3. Identity基于角色的访问授权

    详情访问官方文档 例如,以下代码将访问权限限制为属于角色成员的用户的任何操作 AdministrationController Administrator : [Authorize(Roles = & ...

  4. Spring Boot学习(一)——Spring Boot介绍

    Spring Boot介绍 Spring Boot简介 Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式 ...

  5. Vue3.x全家桶+vite+TS-搭建Vue3.x项目

    目录 一.搭建基础项目 1.vite创建项目 3.运行项目 2.环境变量设置介绍 vite配置多环境打包 二.配置Router 1.安装路由 2.配置路由 3.引入 三.配置Vuex 1.安装vuex ...

  6. SpringMVC执行流程总结

    SpringMVC 执行流程: 用户发送请求至前端控制器 DispatcherServlet DispatcherServlet 收到请求调用处理映射器 HandlerMapping 处理映射器根据请 ...

  7. 截断误差VS舍入误差

     截断误差:是指计算某个算式时没有精确的计算结果,如积分计算,无穷级数计算等,使用极限的形式表达的,显然我们只能截取有限项进行计算,此时必定会有误差存在,这就是截断误差. 舍入误差:是指由于计算机表示 ...

  8. 机器学习——正则化方法Dropout

    1 前言 2012年,Dropout的想法被首次提出,受人类繁衍后代时男女各一半基因进行组合产生下一代的启发,论文<Dropout: A Simple Way to Prevent Neural ...

  9. C++ windows 函数讲解(二)鼠标坐标

    获得鼠标坐标: #include<bits/stdc++.h> #include<windows.h> using namespace std; int main() { PO ...

  10. Jmeter系列(20)- 录制控制器

    作用:相当于对录制的脚本进行分组存放,放在同一个线程组里面:录制脚本的时候,选择线程组下面想要存放的录制控制器中