评分总表

下述表格适用于前端、后端、爬虫开发者的评分,基础分数为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. Docker Note1——架构和三要素

    Docker官方文档: https://docs.docker.com/ 一.docker架构 C/S架构,主要由 client / daemon / containers / images 组成. ...

  2. CSS导航菜单(一级菜单)

    index.html <div class="nav"> <ul> <li><a href="#">Java&l ...

  3. c# List集合类常用操作:二、增加

    所有操作基于以下类 class Employees { public int Id { get; set; } public string Name { get; set; } public stri ...

  4. mysql多次连接后会产生最大失败值

    解决办法 可以更改max_connection_errors的值,即提高允许的max_connection_errors的数量 1.进入mysql 1)首先查看该属性设置为多大:命令:show glo ...

  5. unity2021游戏引擎安装激活并汉化

    今天重新搭建了下unity的开发环境,也踩了不少坑,还有就是看了一些unity3d的教程,越看越不可思议,unity居然能做这么多好玩的东西,像枪战类,模拟类,角色扮演,动作冒险都很震撼. 但是震撼归 ...

  6. javascript 比较版本号大小 字符串

    * 不用系统比较大小的函数 // 不考虑字母 function s2i(s) { return s.split('').reduce(function(a, c) { var code = c.cha ...

  7. hadoop报错

    19/11/24 08:29:08 INFO qlh.MyMapreduce: ================this is job================= 19/11/24 08:29: ...

  8. centos7.5 部署 lopendap

    一.LDAP究竟是什么? LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,一般都简称为LDAP.它是基于X.500标准的,但是简单多了 ...

  9. 使用jemeter构造各种变量数据

    使用手动创建测试数据太麻烦,因此考虑用jmeter写了一些创建测试数据的脚本,针对那些变量非固定的数据可以利用函数来实现 通过函数助手添加各种变量数据 Tools--->函数助手 1:生成当前时 ...

  10. 『Python』面向对象(一)

    类和对象 类(class)是用来描述具有相同属性(attribute)和方法(method)的对象的集合,对象(object)是类(class)的具体实例.比如学生都有名字和分数,他们有着共同的属性. ...