zoukankan      html  css  js  c++  java
  • 软工评分工具

    更新

    【issue 2019.12.4】生成千帆图有误,产生的是历次成绩的折线图,没有累加效果,待修正

    下载使用或者编辑

    gradingTool for software engineering practice class
    1.下载的文件里包含了源代码,可以修改、添加新的功能
    2.作为Excel add-in使用:
    参考了这个链接提供的信息:How to Create and Use an Excel Add-in

    step 1 下载gradingTool.xlam(和两个评分表放在一起)
    step 2 打开个人评分表格
    step 3 在“开发工具”栏找到“Excel加载项”,浏览找到刚刚下载的文件,点击确定

    step 4 在“文件”,“开始”,“插入”那一块点击鼠标右键,选择“自定义功能区”
    step 5 在弹出的面板左侧下拉框选择“宏”,找到gradingTool,在面板中间点击“添加”,随后点击面板上的“确认”

    step 6 做好了!之后要使用的时候,点击这里

    前提

    1.评分一共涉及三个Excel文件:“软工个人评分.xlsx”,“软工小组评分.xlsx”和gradingTool.xlam。三个文件严格要求在同一个文件夹下,并且前两个的名字是严格要求。

    2.第一次使用时,个人评分表中必须有一个叫做“花名册”的Sheet,前两列必须是“学号”和“姓名”。一个例子如下:

    3.“软工小组评分.xlsx”中必须有一个叫做“贡献度表”的Sheet,必须包含“组号”,“学号”,“姓名”和“第x次贡献度”四种列,其中x是阿拉伯数字。一个例子如下:

    checklist:
    1.同一文件夹下:个人评分表+“软工小组评分.xlsx”+gradingTool.xlam
    2.“软工个人评分.xlsx”包含:花名册(学号,姓名)
    3.“软工小组评分.xlsx”包含:贡献度表(组号,学号,姓名,第1次贡献度,第2次贡献度,.....,第n次贡献度)

    功能说明



    part 1 个人评分工具
    1.初始化:只需要在第一次使用时点击一次,会将“花名册”变成“总成绩表”,同时生成个人编号以及学号后四位。

    2.个人已统计:点击后显示一个数字,代表你之前已经统计过的个人作业次数。个人已统计+小组已统计=总的已统计次数。

    3.++和--:用于控制个人已统计次数,方便错误操作后的重新统计。

    4.新建评分表:生成一张新的评分表“第x次作业评分”,其中x=个人已统计+小组已统计=总的已统计次数。就在这张表完成本次的个人作业评分,注意评完分后手动添加“总分”列,并算出总分。

    5.保存评分详情:会将刚刚新建的那张评分表的内容截图,创建文件夹“第x次作业评分”并保存。会隐藏姓名和学号。

    6.生成排名:会对“总分”列排序后,生成一张条形图。调整这张图到合适的大小,选中它,使用下面的“保存选中图像”功能。(生成排名图就立即保存掉,否则接着生成千帆图的话会出错)

    7.生成千帆图:会将“第x次作业评分”中的“总分”列汇合到“总成绩表”,并且生成千帆图。调整这张图到合适的大小,选中它,使用下面的“保存选中图像”功能。

    8.保存选中图像:会将选中的图像保存到“第x次作业评分”,并删除。

    9.完成本次评分,点击“++”累加个人已经评分次数。


    part 2 小组评分工具
    1.初始化:只需要在第一次使用时点击一次,只是将“小组已统计”设置为0。

    2.小组已统计:点击后显示一个数字roundGroup,代表你之前已经统计过的小组作业次数。小组已统计+个人已统计=总的已统计次数。

    3.++和--:用于控制小组已统计次数,方便错误操作后的重新统计。

    4.小组分转换:
    -生成一张新的评分表“第x次作业评分”,其中x=个人已统计+小组已统计=总的已统计次数。
    -会将“软工小组评分.xlsx”中相应次数(roundGroup+1)的“总分”列,通过“贡献度”表中相应次数(roundGroup+1)的贡献度,换算为个人成绩。
    -目前默认的转换方式为:小组成绩+个人贡献度=个人成绩。目前默认姓名为索引,是不重复的。
    -如果班级列表存在同学没有贡献度信息或者小组信息,会报告;请确认一下是不是总成绩表和贡献度表中的姓名不一致。


    5.保存评分详情:会将“软工小组评分.xlsx”中相应次数的评分内容截图,创建文件夹“第x次作业评分”并保存。

    6.生成排名:与个人部分相同。

    7.生成千帆图:与个人部分相同。

    8.保存选中图像:与个人部分相同。

    9.完成本次评分,点击“++”累加小组已经评分次数。


    复习:
    评分工具使用到三个数字:

    • 个人已统计roundPerson:表示此前已经统计的个人作业次数。
    • 小组已统计roundGroup:表示此前已经统计的小组作业次数。
    • 总已统计roundPerson+roundGroup:表示总共已统计作业次数。
    • 假设之前统计了3次个人作业,2次小组作业。则roundPerson=3,roundGroup=2。假如现在统计第3次小组作业,使用评分工具时,会对应“第3次小组评分”和“第3次贡献度”,创建“第6次作业评分”。

    checklist:
    1.个人评分里有没有“总分”列?
    2.小组评分有没有对应次数的 “第x次小组评分”,其中包含 “总分”列;“贡献度表”中包含“第x次贡献度”
    3.统计完有没有++?

    其他

    思考
    VBA编程...有很多对象,一开始会比较懵。好处是调试一步一步来,能看到excel的变化,很方便。导出为add-in使用起来也比较方便。还有录制宏这样的功能,基本上使用录制,再把一些变量抽象一下,就能实现你想要的功能了。经常机械操作excel的人可以学习!

    没有使用到复杂的算法之类的。稍微巧妙的地方在于:
    1.多添加一个“索引”列,把某次成绩转换到“总成绩”时,就先根据索引排序,然后复制粘贴。

    • 一方面助教在打分的时候,可以手动按学号排序,同时博客园的作业也可以按照学号排序,这样点击一个作业链接就能同时给这个人打分,效率高一些。
    • 另一方面,期末登记总成绩的时候,按照索引排序,也是一一对应的

    2.使用VBA字典完成了小组到个人成绩的转换,不需要搜索:姓名->组号;姓名->贡献度;组号->小组成绩;
    3.把统计次数保存到了文档属性里

    此外还存在一些缺陷。比如:
    1.使用姓名作为小组分转换到个人分时的索引,可能会有重名,应该改成学号作为索引。
    2.默认的贡献度计算方式为加法。你需要什么样的计算方式呢?我可以尽快添加进去
    3.命名比较严格,当指定的表不存在时,会出错。
    4.目前代码注释也比较少,待整理


    建议
    建议助教把贡献度表准备成共享文档,请组长每次小组作业完成后填写。


    QAF

    1.操作出错了怎么办?
    使用前请备份。把多生成的sheet,列和图标删除掉,一般就可以重新操作一次了
    2.......


    如果存在bug或者功能建议,或者有更简便的操作顺序,请留言~

  • 相关阅读:
    网易云课堂Dubbo学习笔记
    Java的native方法
    java中三种for循环之间的对比
    java中的匿名内部类小结
    三重DEC加密在java中的实现
    CoreException: Could not get the value for parameter compilerId for plugin execution default-compile Maven项目pom文件报错,插件引用不到
    安装plsql developer
    Eclipse安装插件的“最好方法”:dropins文件夹的妙用
    linux项目部署常用命令
    Linux学习笔记
  • 原文地址:https://www.cnblogs.com/kofyou/p/11968273.html
Copyright © 2011-2022 走看看