评分总表

下述表格适用于前端、后端、爬虫开发者的评分,基础分数为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 面试宝典

    Docker 是什么? 是实现容器技术的一种工具 是一个开源的应用容器引擎 使用 C/S 架构模式,通过远程API 来管理 可以打包一个应用及依赖包到一个轻量级.可移植的容器中 容器是什么? 对应用软 ...

  2. Redis哨兵机制的实现及与SpringBoot的整合

    1. 概述 前面我们聊过Redis的读写分离机制,这个机制有个致命的弱点,就是主节点(Master)是个单点,如果主节点宕掉,整个Redis的写操作就无法进行服务了. 为了解决这个问题,就需要依靠&q ...

  3. openswan协商流程之(七):main_inR3

    主模式第六包(收包):main_inR3 1. 序言 main_inR3()函数是ISAKMP协商过程中第一阶段的最后一个报文的接收处理函数,它的作用同main_inI3_outR3()部分功能相同: ...

  4. 源码编译安装LAMP

    LAMP架构是目前成熟的企业网站应用模式之一,指的是协同工作的一整套系统和相关软件,能够提供动态Web站点服务及其应用开发环境.LAMP是一个缩写词,具体包括Linux操作系统.Apache网站服务器 ...

  5. AWVS13批量添加目标脚本

    # -*-coding:utf-8-*- # @Author:malphite.tang import json import requests from queue import Queue req ...

  6. Java中使用jxl.jar将数据导出为excel文件

      Java对Excel文件的读写操作可由jxl.jar或poi.jar实现,这里使用jxl.jar完成对Excel文件的导出. 一.将Excel文件导出在本地 步骤:   创建文件 -> 创建 ...

  7. vue-自定义指令(directive )的使用方法

    前言 在vue项目中我们经常使用到 v-show ,v-if,v-for等内置的指令,除此之外vue还提供了非常方便的自定义指令,供我们对普通的dom元素进行底层的操作.使我们的日常开发变得更加方便快 ...

  8. Jetpack Compose学习(5)——从登录页美化开始学习布局组件使用

    原文:Jetpack Compose学习(5)--从登录页美化开始学习布局组件使用 | Stars-One的杂货小窝 本篇主要讲解常用的布局,会与原生Android的布局控件进行对比说明,请确保了解A ...

  9. python风格对象

    对象表示形式 python提供了两种获取对象字符串表示形式的标准方式 repr()         //便于开发者理解的方式返回对象的字符串表示形式(一般来说满足obj==eval(repr(obj) ...

  10. solidity 错误

    solidity版本 0.7.5 Member "transfer" not found or not visible after argument-dependent looku ...