软件工程(QLGY2015)博客点评总结

时间:2021-12-16 11:42:29

目录

第一次作业(2015.5.9)

第二次作业(2015.5.21)

第三次作业(2015.6.11)

2015上半年软工助教总结

第一次作业(2015.5.9)

存在主要问题

1)书写这种练习博客的步骤几乎都不对,建议按照以下步骤:

  • 题目介绍(简单介绍题目内容、要求,或给出题目链接)
  • 源码地址(github源码链接、或其他位置链接)
  • 实现步骤
    • 需求分析(再简单的系统也有需求、也要分析)
    • 功能设计(有哪些功能,每个功能怎样实现,有图更好)
    • 难点攻克(有没有难点,有的话,怎样攻克该难点)
    • 编码实现(编码实现不是指“贴代码”,每段代码前后需要进行详细说明)
    • 测试(测试截图,测试结果)
  • 心得(做完此次练习后的体会,学到了哪些知识点?)

2)博客正文中所有源代码必须使用“代码样式”,Java代码使用Java代码样式,C代码使用C代码样式(此次作业很少人用到代码样式),看起来很不舒服;

3)命名要规范。无论类名、函数(方法)名、(成员)临时变量名、源文件名,统统使用规范命名方式,比如定义一个圆形类,请使用“Circle”,不要使用“Yuan”。负责计算的文件使用Calculator.cpp,不要使用class1.cpp;

4)要有代码注释。无论类、函数(方法)、成员变量都得要有注释,关键代码也要有注释;

5)截图时请截取局部即可,不要全屏截图,那样看不到重点,而且一般显示器显示不全;

6)提交源码必须整个项目文件夹全部上传,不要只上传一个源文件(比如test.c)。整个项目上传后,别人下载下来编译一下即可看到效果;

7)博客排版问题非常大,各级标题要与正文区分开来,字体、粗细要有区分;

8)部分学生题目没做完,只实现了一部分要求。

(其它具体小问题、在博客点评中已说明)

学生成绩

博客中有些同学写的实在是太简单,内容太少了,所以没有点评,直接给出分数。只要有内容的,我都给了分数,并没有给0分。

学号

分数

1162

8

1032

8

1184

4

1164

6

1165

6

1166

6

1167

7

1168

7

1170

1

1171

9

1172

5

1173

5

1174

5

1175

4

1176

7

1177

2

1178

4

1179

6

1180

7

1181

6

1182

8

1183

7

1184

1

1185

6

1186

6

1187

6

1188

8

1189

8

1190

8

1191

9

1192

5

1193

2

1194

8

1195

8

1196

6

1197

5

1198

5

1199

7

1200

9

1201

6

1202

1

1203

8

1016

4

1026

7

建议

感觉教会学生排版、格式  是当务之急。

第二次作业(2015.5.21)

第二次作业模式是同学之间结对编程,我在博客中只对同一组中第一名学生的博客进行了点评。点评完后,发现存在主要的几个问题:

存在主要问题

1)github提交源码几乎没有一个组正确,大部分都是只提交一个源码文件(比如.java、.c文件),甚至有人将代码放在txt文件中提交了。这个问题希望老师在上课的时候给同学演示一遍怎样提交源码,让学生有个直观的感受,可能我们在博客中说,学生没有概念;

2)这次同学们的博客质量明显上升了一个档次,无论是排版还是内容上,都比上次要好很多,进步很大。但是还有几个建议:

  • 大多数同学过分强调程序的运行结果,并没有注重“实践过程”的展示。这主要体现在:大部分学生贴程序的运行截图,几乎不写他们是怎么去实现的;
  • 博客中不提倡将全部代码全部贴进去,只需要将部分关键、重要的代码贴进去即可,并进行相应的说明和解释。这样让别人更能理解你的思路,很多学生要么一行代码没有,要么将全部代码往上一粘贴,还不给注释,这样看不到重点;
  • 贴在博客中的代码必须要使用代码样式,不能直接像文字一样粘贴进去;

3)命名规范还需要注意,不能随便取a、a1\、bba这样的名字;

4)既然是结对编程,每个人分工应该再写详细一点。比如加上两个人在协作过程中遇见了哪些问题,最后怎样解决的,这个几乎每组都没有。

总的来说,这次普遍质量要高于第一次,进步非常大。:)

具体点评内容,可以参见每个小组中第一个成员博客后面的评论。

建议

让学生尽快学会github上源码管理。

第三次作业(2015.6.11)

(持续更新)

第三次作业是一个团队项目作业,要求3~7同学组成项目团队,实现一个小型项目。具体要求见:http://www.cnblogs.com/qluZhao/p/4508794.html。我负责点评23-44号项目组的博客,在每组的博客中我大概都留了一些建议。

首先需要明确的是,无论从技术上还是工作任务量上看,本次作业确实要比前两次复杂一些。下面是我总结的一些问题:

存在主要问题

1)上两次作业的重点是编码和测试,这两个方面也是学生在课堂上接触最多的,有直观的印象。“可行性分析”、“需求分析”、“画功能设计图”、“画用例图、时序图”这些相对来讲,可能对于学生们更陌生,因为如果没做过实际项目,他们是体会不到这些工作的实质性意义,所以做完提交的内容显得非常不专业。需求分析、用例图、类图做得几乎都不合格。

2)个人认为,本次作业提交方式更适合采用上传附件的方式(博客中简要文字介绍一下即可)。本次作业中很多文档不是用一两段文字、上传几张图片就能完事儿的,而是要求分块、分级去写,这样一来,格式显得非常重要。可能很多同学不太擅长在博客园发表博客,所以上传的文章很多没法看。很多同学直接从Visio画图软件中截完图贴上来(图片还处在编辑状态),图片分辨率太小看不清,正文内容还不分级别(没有标题)。我认为,软件工程中很多文档应该在一些专业文档中完成,比如使用word/excel等,应该严格要求学生们的文档格式。一个计算机专业的学生连word/excel格式都不会调,真的说不过去。如果这种事情做不好,“软件工程”构建大法学得再好,也只能是虚的。

3)目前同学们已经提交的博客中,制定测试计划给出设计类图这两部分普遍都不合格。团队组建及项目启动做得还好。利用NABCD模型进行竞争性需求分析每个组也都认真去写了(除了个别抄袭以外),但是写得内容还存在很多问题,大多数只停留在字面意思上,有的甚至字面意思都没理解到,比如NABCD中的"4.C竞争",有的同学分析自己在完成了项目后,对自己Java能力有很大提升,他把这个当作系统的竞争优势。在利用NABCD模型进行竞争性需求分析这块有以下问题:

  • 说实话,要让学生想出一个非常具有创新性的项目出来,可能很难。他们能想到的大多数软件系统市面上都已经有成熟产品,所以在写“C竞争”这块时,都很吃力,没什么优势可写。但是作为一个作业来讲,哪怕自己做的系统没有什么竞争优势,我觉得同学们也应该按照正确的方式列出1、2、3来,而不是写一些模棱两可的套话;
  • 在写“N需求”这块,也是套话太多。并没有类似“实地调研”的报告出来。

总之,在利用NABCD模型进行竞争性需求分析这块,感觉同学还并没有理解它实质性的用处,要知道,一个项目产品能否成功启动、后期能否成功推广产生利润,这一环节起到很关键性的作用。

[2015.6.15更新]

4)6.14号大部分学生提交了“面向对象程序设计”这部分博客。最大的问题有以下:

  • 前面需求分析、竞争性分析包括设计都太理想化,到最终的代码实现特别简单。完全是把课堂上的一个小程序拿过来应付一下,跟前面做的工作脱节了,没有考虑前面已完成的工作;
  • 经过之前两次作业的训练,学生到现在还没有掌握github源码管理;
  • 完成一个项目后,将实现过程(编码实现)总结一下,写到博客中去。这样的一个任务,感觉大部分学生还并没有了解应该怎么做。学生们需要学的东西还有很多。

[2015.6.22更新]

5)6.21绝大部分学生均提交了最后的“运行及总结”这部分博客。有以下几点问题:

  • 从最后的运行结果可以看到,和预料的一样,几乎没有可以拿去实际使用的项目系统。但是我认为,作为一个大作业,历时一个多月,凡是自己认真动手、动脑子去做了,哪怕最后用不了,还是值得鼓励的。我自己本科毕业4年,还是知道一点点情况的,学生做出来的东西几乎都用不了。这种情况避免不了,我们要做的就是多练习,日后能够短时间内适应真实的项目。
  • 做完一个项目后,将自己在项目过程中遇到的一些问题以及怎样去解决的记录下来,这一点很少有人写到。总结这块还是跟前面一样,套话太多。
  • 整个项目基本结束了,就我个人而言,有几个组还是做得比较好的。其中我认为最好的应该是这组http://www.cnblogs.com/bbker/(23~44组中选出来的)。可以看到,这组每篇博客均是用心去写的,没有官腔套话,这组编码能力也还行,最后做出来的东西虽然也可能用不上,但是我能感觉到这组成员确实是自己动脑子、认真对待了这次作业。

各组成绩

有疑问的同学可以联系我)逾期未缴作业的重新补交没用。

序号

团队博客名称

NABCD[3*10]

程序代码[4*10]

(注意这部分包含提交博客和提交到github的源码)

运行及总结[3*10]

逾期未缴作业[-1*10]

总分

说明

23

小小狗们

15

30

25

 

70

主要问题:

1)NABCD各项理解均有误,套话太多,没有自己的话。并缺少D项内容。

2)代码解释很详细,但要注意排版。github代码提交不正确。

24

24

10

10

20

 

40

主要问题:

1)需求分析并没有按照NABCD格式来。

2)没有源代码,只有界面截图。

25

在路上

25

25

25

 

75

主要问题:

1)NABCD基本理解正确,但是C项(竞争)还是不太具体。

2)代码没有上传至github,博客中只有截图,没有关键代码解释。

26

Duang~

25

32

28

 

85

主要问题:

1)NABCD理解基本正确。C项(竞争)还是没有说服力,作为一次作业,整体上还是比较好。以后这种文档用语请使用书面用语,不要口语化。

2)源码解释非常详细。github提交源码还是有问题,具体方法参见之前助教@沉默的代码 的一篇博客。

3)大文件传输怎么解决

27

lemon tree

0

15

0

-10

5

主要问题:

1)NABCD部分有抄袭行为。

2)源码提交正确,但博客中并没有给出关键代码说明。

3)运行总结博客没有提交。提交后请联系我。

28

Braveheart

20

25

25

 

70

主要问题:

1)NABCD虽然每项给出的内容说服力不足,但是理解基本到位。

2)源码没有提交。

29

29

0

0

0

 

0

没有正常提交博客

最后的运行总结涉嫌抄袭

30

自强不息

10

20

20

 

50

主要问题:

1)NABCD理解错误。

2)博客中代码没有说明,全部复制粘贴。也没有提交到github。

31

Fighting

15

15

20

-10

40

主要问题:

1)博客排版格式很好,但对NABCD的理解不太准确。

2)设计部分详细,但是我看不到源码在哪里?源码提交后请联系我。

3)看不见运行截图

32

狼图腾

12

25

15

 

52

主要问题:

1)需求分析没有按照NABCD格式。写得比较详细。

2)没有提交源码。

3)总结部分涉嫌抄袭

33

飞跃队

5

15

25

 

45

主要问题:

1)NABCD理解错误,而且还不完整。

2)博客中源码没有注释,全部赋值粘贴,也没有提交。

34

Melanoma

5

0

10

-10

5

主要问题:

1)NABCD理解错误,还没写完整。

2)博客没有按时提交。提交博客后请联系我。

3)没有运行截图。

35

日光微澜

10

25

25

 

60

主要问题:

1)需求分析没有按照NABCD格式。

2)源码没有提交。

3)总结中应该列出遇到的一些问题,怎么解决的

36

团成团

15

15

25

 

55

主要问题:

1)NABCD理解有偏差,没有D项。

2)源码提交不正确,博客中也没有对关键代码进行说明解释。

37

疯狂的代码

10

25

20

 

55

主要问题:

1)需求没有按照NABCD格式,套话太多。

2)不应该使用控制台输出结果

38

Run Up

25

30

15

-10

60

主要问题:

1)博客中贴进去的代码最好给出详细说明。

2)将总结补上。联系我

39

翻滚吧代码

10

20

5

 

35

主要问题:

1)NABCD理解有错误。

2)代码没有上传。

3)总结部分涉嫌抄袭。

40

齐工合伙人

20

20

10

 

50

主要问题:

1)代码没提交,设计和实现不一致

41

愤怒的5只小鸟

5

25

25

 

55

主要问题:

1)NABCD理解错误,缺少D项。

2)代码没上传。

42

42

20

15

5

 

40

主要问题:

1)NABCD理解基本正确,缺少C项。

2)代码没上传。

3)最后做的跟前面需求分析不一致

43

遇见

15

15

5

 

35

主要问题:

1)NABCD部分内容跟前面团队有重复

2)代码没上传。

44

毛毛虫

20

28

20

 

68

主要问题:

1)NABCD理解基本正确,缺少D项

2)代码提交还是有问题。

建议

[2015.6.22更新]

经过3次作业训练,源码提交、博客排版等这些基本简单技能同学们几乎都没有完全掌握。我觉得这两个是今后网上教学的最基本前提,如果学生连这两个技能都没学会,网上教学很难推进。

任何一次作业,凡是自己动手、动脑子去做的,均可以得不低的分数,都值得鼓励。那种抄袭、自己不动手去做的均给零分或者低分。我建议老师们鼓励学生多自己动手,哪怕做得不好,也不要抄。

2015上半年软工助教总结(2015.7.6)

[1]各位同学请抓紧时间下载软件工程自我评测表,填写后提交至 zhouzhi@syxysoft.com。这里是模版

[2]本次最优团队博客(23~44组)是:http://www.cnblogs.com/bbker/

我是4月底受周筠老师邀请做软工助教的,抱着共同学习共同进步的心态,我很欣然地同意了。但我本科毕业才四年,我很清楚记得我读书时周围学生的学习态度是怎样的(虽然这可能跟学校有点关系),所以当时觉得助教在网上辅导这件事推进会很困难,但后来两个月里我发现在大家的共同努力下,推进效果还是很明显的。

刚开始辅导的是贵师大的学生,发现他们基础还可以,后来由于某些不可抗力因素,换到了齐鲁工大的学生。点评第一次作业的时候,说实在话,我觉得跟贵师大的差别还是蛮大的,基础普遍不太好,无论是从博客排版还是代码格式上,均不太理想。记得当时我还跟周筠老师反馈过,她让我耐心一些。后来点评第二次作业的时候,发现大部分学生的进步非常明显,可能赵老师在第一次作业结束后在班上总结了几位助教的建议,学生们有所收获。总之,第二次作业让我看到了希望。再后来就是团队作业,我在前面点评总结中也说过了,可能这次作业难度较大,跨越时间较长,涉及的知识广,所以最后完成的效果并没有达到我的预期。当然这不是重点,重点的是很多学生涉嫌抄袭,应付了事。学生们这种行为不仅会让教软工这门课的老师失望,也更会让我们这些助教失去激情。(当然涉嫌抄袭的学生是少数,大部分学生虽然完成质量有待提高,但是都是自己动手去做的)

还有一个我搞不太明白的是:为什么三次作业过去了,博客排版、github代码管理等这些简单技能,作为软工学生大部分人硬是没有掌握呢。我不认为这些有技术难度,因为凡是上心想去做好的学生这两件事肯定可以做好。一打开博客,格式错乱,几乎不忍直视,源码提交还用txt...

总地来讲,我很享受这学期的网上助教点评,虽说小部分学生的表现不是很积极,但是大部分学生还是做得不错,很多私信我咨询问题,值得鼓励。有做技术的前辈指导,对于在校学生来讲,我觉得是一件来之不易的事情,希望童鞋们好好珍惜,我那时候读书很少碰到这样的机会,很多问题上论坛问,最后也石沉大海了 :)  同时,感谢赵老师、周筠老师、邹欣老师、飞龙大哥助教、曾助教,一起共事很快乐,再接再厉额! :)