软工评分工具

[toc]git

更新

<font color=red > 【issue 2019.12.4】生成千帆图有误,产生的是历次成绩的折线图,没有累加效果,待修正</font>github

下载使用或者编辑

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是阿拉伯数字。一个例子以下: url

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

功能说明

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

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或者功能建议,或者有更简便的操做顺序,请留言~

相关文章
相关标签/搜索