[2019BUAA软工助教]结对编程 - 小结

一、评分规则

  1. 博客

    博客共五十分

    序号 要求 分值
    1 在文章开头给出Github项目地址 1
    2 在开始实现程序之前,在下述PSP表格记录下你估计将在程序的各个模块的开发上耗费的时间 0.5
    3 看教科书和其它资料中关于Information Hiding, Interface Design, Loose Coupling的章节,说明你们在结对编程中是如何利用这些方法对接口进行设计的 5
    4 计算模块接口的设计与实现过程。 设计包括代码如何组织,比如会有几个类,几个函数,他们之间关系如何,关键函数是否需要画出流程图?说明你的算法的关键(不必列出源代码),以及独到之处 7
    5 阅读有关UML的内容:https://en.wikipedia.org/wiki/Unified_Modeling_Language。画出UML图显示计算模块部分各个实体之间的关系(画一个图即可)。 2
    6 计算模块接口部分的性能改进。 记录在改进计算模块性能上所花费的时间,描述你改进的思路,并展示一张性能分析图(由VS 2015/2017的性能分析工具自动生成),并展示你程序中消耗最大的函数 3
    7 看Design by Contract, Code Contract的内容:
    http://en.wikipedia.org/wiki/Design_by_contract
    http://msdn.microsoft.com/en-us/devlabs/dd491992.aspx
    描述这些做法的优缺点, 说明你是如何把它们融入结对作业中的
    5
    8 计算模块部分单元测试展示。 展示出项目部分单元测试代码,并说明测试的函数,构造测试数据的思路。并将单元测试得到的测试覆盖率截图,发表在博客中。要求总体覆盖率到90%以上,否则单元测试部分视作无效。 6
    9 计算模块部分异常处理说明。 在博客中详细介绍每种异常的设计目标。每种异常都要选择一个单元测试样例发布在博客中,并指明错误对应的场景。 5
    10 界面模块(如果没有实现GUI,则可以描述命令行模块)的详细设计过程。 在博客中详细介绍界面模块是如何设计的,并写一些必要的代码说明解释实现过程。 5
    11 界面模块(GUI或命令行模块)与计算模块的对接。 详细地描述UI模块的设计与两个模块的对接,并在博客中截图实现的功能。 4
    12 描述结对的过程,提供非摆拍的两人在讨论的结对照片。 1
    13 看教科书和其它参考书,网站中关于结对编程的章节,例如:
    http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html
    说明结对编程的优点和缺点。
    结对的每一个人的优点和缺点在哪里 (要列出至少三个优点和一个缺点)。
    5
    14 在你实现完程序之后,在附录提供的PSP表格记录下你在程序的各个模块上实际花费的时间。 0.5
  2. 程序,详见博客[BUAA-SE-2019]结对作业测试报告

    程序共六十分

    源代码管理评分(5'):
    该评分主要通过源代码管理中的commit注释信息,增量修改的内容,是否有运行说明,每个阶段是否打上了标签等内容给分。(5')

    第一阶段(20'):

    该评分将进行这-c -w -h -t -r五个参数的正确性测试,对于前四个参数,输入的单词数量范围为0-10000;对于-r参数,输入单词数量的范围为0-100,要求程序在 300 s 内给出结果,超时则认定运行结果无效

    第二、三阶段(20'):

    将针对上述六个参数进行鲁棒性测试,可能测试的内容包括且不限于:
    错误的命令、错误的参数、大小写、错误的参数组合、错误的文件格式等。
    要求必须正常结束,崩溃不得分。
    错误无任何提示,不得分。
    错误种类较多,提示合理,得正分。

    性能评分(15')

    当第一阶段评分等于20分时才可以参与性能评分环节,所以请各位同学务必保证自己程序的正确性,该阶段没有时间的最小要求限制。
    性能评分将采取档级评分制度,助教将根据同学们的程序跑同一数据耗费的时间长度将程序分为若干档,每一档的同学得到的分数为 15/档级数。

  3. 附加题

    附加需求:GUI(10')
    该评分将进行用户交互界面的测试

    第四阶段:模块松耦合(10')
    在结对项目博客中按照阶段四的博客要求添加相应内容(5') 最终的对接效果(5')

二、得分图表

  1. 得分表格

    注:点击每列标题可按标题排序

    编号 学号 班级 博客 github 助教 链接 PSP IH\ID\LC 计算模块 UML 性能 契约 测试 异常 界面 对接 结对 伙伴 博客总分 源码管理 GUI 松耦合 程序测试得分 结对总分
    25 1167 周二 1 1 zy 1 1 5 6 2 3 5 6 5 5 4 1 5 49 2 1 1 46 117
    25 1170 周二 1 1 zy 1 1 5 6 2 3 5 6 5 5 4 1 5 49 2 1 1 46 117
    16 1093 周二 1 1 cyj 1 1 4 7 2 3 4 5 4 5 4 1 5 46 3 1 1 46 115
    16 1155 周二 1 1 cyj 1 1 4 7 2 3 4 5 4 5 4 1 5 46 3 1 1 46 115
    5 1011 周四 1 1 cyj 1 1 4 6 2 3 3 8 5 5 4 1 5 48 4 1 1 37 109
    10 1109 周二 1 1 lc 1 1 4 6 2 3 5 6 5 5 4 1 5 48 3 1 1 38 109
    11 1160 周二 1 1 syq 1 1 5 7 2 3 5 6 5 5 4 0 5 49 3 1 1 37 109
    14 1175 周二 1 1 syq 1 1 4 5 2 3 5 6 5 4 4 1 5 46 3 1 1 45 114
    21 1200 周二 1 1 zy 1 1 5 4 2 3 5 6 4 5 4 1 5 46 3 1 1 45 114
    4 1103 周四 1 1 cyj 1 1 5 7 2 2 5 6 5 5 4 1 5 49 5 1 1 34 108
    5 1152 周四 1 1 cyj 1 1 3 6 2 3 4 8 5 5 4 1 4 47 4 1 1 37 108
    10 1097 周二 1 1 lc 1 1 4 6 2 3 4 6 5 5 4 1 5 47 3 1 1 38 108
    14 1156 周二 1 1 syq 1 1 3 5 2 3 3 6 5 4 4 1 5 43 3 1 1 45 111
    21 1076 周二 1 1 zy 1 1 5 3 2 2 4 6 3 5 4 1 5 42 3 1 1 45 110
    22 1173 周二 1 1 zy 1 1 4 6 2 3 3 6 5 5 4 1 5 46 3 1 1 40 109
    4 1192 周四 1 1 cyj 1 1 4 7 2 2 0 6 5 5 4 1 4 42 5 1 1 34 101
    34 1137 周二 1 1 xcd 1 1 3 4 2 3 3 6 5 5 4 1 4 42 2 1 0 52 106
    24 1125 周二 1 1 zy 1 1 5 5 2 3 5 5 4 4 3 1 5 44 3 1 0 43 100
    34 1144 周二 1 1 xcd 1 1 3 3 2 3 3 6 5 5 4 1 4 41 2 1 0 52 105
    22 1135 周二 1 1 zy 1 1 4 6 2 3 3 3 5 5 4 1 3 41 3 1 1 40 104
    30 1118 周二 1 1 lqx 1 1 4 6 2 3 3 5 5 5 4 1 5 45 4 0 1 45 104
    30 1061 周二 1 1 lqx 1 1 4 6 2 3 3 5 5 5 4 1 5 45 4 0 1 45 104
    23 1007 周四 1 1 zy 1 1 4 5 2 3 5 4 5 5 4 1 5 45 3 1 0 39 97
    23 1059 周四 1 1 zy 1 1 5 5 2 3 4 4 5 5 4 1 5 45 3 1 0 39 97
    12 1161 周四 1 1 syq 1 1 4 6 2 3 5 6 4 4 2 1 4 43 3 1 1 30 96
    12 1112 周四 1 1 syq 1 1 5 6 2 3 4 6 4 3 2 1 3 41 3 1 1 30 94
    7 1049 周二 1 1 lc 1 1 4 6 2 3 4 4 4 5 3 1 4 42 3 0 1 37 92
    7 1057 周二 1 1 lc 1 1 4 6 2 3 3 4 5 4 3 1 4 41 3 0 1 37 91
    24 1145 周二 1 1 zy 1 1 3 4 2 2 3 4 2 2 3 1 5 33 3 1 0 43 89
    31 1104 周二 1 1 xcd 1 1 2 5 2 2 4 3 0 4 2 1 3 30 4 1 0 48 92
    9 1030 周四 1 1 lc 1 1 5 6 2 3 4 4 5 5 0 1 4 41 3 0 0 42 86
    18 1247 周四 1 1 cyj 1 1 3 6 2 2 4 5 4 5 4 1 5 43 3 1 1 19 85
    33 1159 周二 1 1 xcd 1 1 2 5 2 3 3 5 5 5 2 0 5 39 2 0 0 44 85
    33 1051 周二 1 1 xcd 1 1 3 5 1 3 3 5 5 5 2 0 4 38 2 0 0 44 84
    18 1030 周四 1 1 cyj 1 1 3 6 2 2 4 5 4 5 4 1 3 41 3 1 1 19 83
    31 1082 周二 1 1 xcd 1 1 2 2 2 2 2 3 2 4 2 1 2 26 4 1 0 48 88
    3 1010 周四 1 1 cyj 1 1 5 7 2 2 3 6 5 2 2 1 3 40 3 0 0 38 81
    3 1022 周四 1 1 cyj 1 1 4 7 2 2 3 6 5 2 2 1 4 40 3 0 0 38 81
    9 1031 周四 1 1 lc 1 1 4 6 1 3 3 3 5 5 0 1 3 36 3 0 0 42 81
    17 1048 周四 1 1 cyj 1 1 2 4 2 2 3 5 3 3 2 1 4 33 3 1 1 22 78
    17 1023 周四 1 1 cyj 1 1 2 4 2 2 3 4 3 3 2 1 3 31 3 1 1 22 76
    20 1197 周二 1 1 cyj 1 1 4 3 2 1 4 2 2 4 3 1 4 32 3 1 0 31 76
    1 1101 周二 1 1 cyj 1 1 4 4 2 2 4 5 3 2 1 1 4 34 4 0 0 37 75
    1 1107 周二 1 1 cyj 1 1 3 4 2 2 4 5 3 2 1 1 3 32 4 0 0 37 73
    29 1119 周二 1 1 lqx 1 1 2 6 2 3 4 5 4 4 4 1 5 42 2 0 0 24 68
    20 1110 周二 1 1 cyj 1 1 3 2 2 1 1 2 2 4 3 1 4 27 3 1 0 31 71
    2 1201 周二 1 1 cyj 1 1 5 6 2 1 3 3 3 2 2 1 3 33 3 0 0 28 64
    2 1201 周二 1 1 cyj 1 1 3 6 2 1 3 3 3 2 2 1 4 32 3 0 0 28 63
    29 1106 周二 1 1 lqx 1 1 2 6 1 3 4 3 3 3 4 1 5 37 2 0 0 24 63
    15 1168 周二 1 1 syq 1 1 2 3 2 2 3 4 4 3 2 1 4 32 2 0 0 28 62
    15 1182 周二 1 1 syq 1 1 2 3 2 2 3 4 4 3 2 1 4 32 2 0 0 28 62
    11 1078 周二 NULL syq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 37 60
    27 1113 周二 1 1 lqx 1 1 2 4 2 2 4 4 5 4 3 1 5 38 3 0 0 17 58
    27 1114 周二 1 1 lqx 1 1 2 4 2 2 4 4 5 4 3 1 5 38 3 0 0 17 58
    8 1050 周二 1 1 lc 1 1 2 4 2 1 0 2 3 2 0 1 4 23 2 0 0 28 53
    8 1165 周二 1 1 lc 1 1 2 4 2 1 0 2 3 2 0 1 4 23 2 0 0 28 53
    32 1027 周二 1 1 xcd 1 1 3 5 1 2 3 0 3 4 3 1 4 31 2 0 0 20 53
    26 5012 周二 1 1 lqx 1 1 2 4 2 2 3 3 5 4 3 1 4 35 1 0 0 16 52
    26 1100 周二 1 1 lqx 1 1 2 4 2 2 3 3 5 4 3 1 4 35 1 0 0 15 51
    32 1014 周二 1 1 xcd 1 1 2 4 0 1 3 0 3 4 2 1 5 27 2 0 0 20 49
    28 1153 周四 1 1 lqx 1 1 3 5 2 3 4 6 4 4 3 1 5 42 2 0 0 3 47
    28 1203 周四 1 1 lqx 1 1 2 5 2 3 4 6 4 4 3 1 5 41 2 0 0 3 46
    6 1008 周二 1 1 lc 1 0 3 4 0 0 0 0 0 0 0 0 3 11 2 0 0 15 28
    6 1026 周二 1 1 lc 1 0 3 4 0 0 0 0 0 0 0 0 3 11 2 0 0 15 28
    19 1120 周四 1 1 cyj 1 1 2 4 2 2 2 0 2 2 2 1 2 23 2 0 0 1 26
    13 1114 周二 1 1 syq 1 1 4 4 0 0 0 0 0 0 0 0 0 10 1 0 0 0 11
    19 1061 周四 NULL cyj 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 1 3
    13 1190 周二 NULL syq 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1
    35 1096 周二 NULL xcd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
    35 1186 周二 NULL xcd 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  2. 累计得分图

三、小结

  1. 推荐作业:

  2. 作业迭代建议:
    • 给出具体可用的覆盖率插件,与教程链接
    • 给出作业模板
    • 测试须知中添加(?)要求:文件名参数位置可变
    • 明确GUI模块与附加题的界限
    • 在作业中给出具体的评分规则
    • 将博客作业中的公共部分移动到代码作业中,作为github项目的readme,个人发布博客时仅发布与个人相关的内容即可
  3. 结对黄衫:

    • Peak Experiences 

      “在一些事情上做到最好,用这样的体验来鼓励自己”

      把一件事情做到最好,怎么做?

      当然我们很难做到全世界最好, 但是可以做到全班最好, 或者 ”这个题目的这个子问题,我做到了最好” , 体会一下你做到最好的时刻。 这样的时刻越多,学生就越有自信;老师也要在合适的时机表扬那些在某个局部做到最好的同学。 有些老师在开学之初让学生讲述自己超过别人的地方, 描述自己如何做到这个地步,很多同学描述自己通过持续锻炼在体育, 文艺方面达到的 Peak Experience, 这对他们的学习是一种鼓舞, 《构建之法》在学期中段会给优秀学生发领骑黄衫, 这就是让他们体验到 Peak Experiences.

    节选自:现代软件工程 怎么教好课 (读书笔记)

    • 周二班:167-bsh、170-szy
    • 周四班:011-nyh、103-zzy
    • 另外周四班 152-zyn 与 nyh 一组,分数跟 zzy 相同,也获得黄衫一件

    祝贺这些同学!

[2019BUAA软工助教]结对编程 - 小结的更多相关文章

  1. [2019BUAA软工助教]第一次阅读 - 小结

    [2019BUAA软工助教]第一次阅读 - 小结 一.评分规则 总分 16 分,附加 2 分,共 18 分 markdown格式统一且正确 - 2分 不统一:扣 1 分 不正确:扣 1 分(例如使用代 ...

  2. [2017BUAA软工助教]结对项目小结

    2017BUAA结对项目小结 一.作业链接 http://www.cnblogs.com/jiel/p/7604111.html 二.评分细则 1.注意事项 按时间完成并提交--正常评分 晚交一周以内 ...

  3. [2019BUAA软工助教]答黄杉同学

    [2019BUAA软工助教]答黄杉同学 一.答黄杉同学 011-黄衫博客 我当然不否认软件工程的各种博客是有一定作用的,但是相信大多数人对诸如例会博客并没有什么热情(不过似乎也没有什么其他方法保证团队 ...

  4. [2019BUAA软工助教]助教学期总结

    [2019BUAA软工助教]助教学期总结 一.量化自评 线上 博客点评:https://www.cnblogs.com/ChildishChange/MyComments.html 共 106 条 博 ...

  5. [2019BUAA软工助教]团队alpha得分总表

    [2019BUAA软工助教]团队alpha得分总表 [2019BUAA软工助教]团队alpha得分总表 一.团队累计得分 累计得分图 得分总表 二.各项得分计算规则 介绍与采访 项目选择与NABCD ...

  6. [2019BUAA软工助教]第0次个人作业

    [2019BUAA软工助教]第0次个人作业 一.前言 我认为人生就是一次次地从<存在>到<光明>. 二.软件工程师的成长 博客索引 同学们在上这门课的时候基本都是大三,觉得在大 ...

  7. [2019BUAA软工助教]第0次代码作业

    [2019BUAA软工助教]第0次代码作业 前言 本博客为完成结对项目所需的先导知识,题目不难,请认真对待 :) 欢迎来到软件工程 :) 注:本次实验为附加作业,不做不扣分,做了有附加分 Part 0 ...

  8. [2019BUAA软工助教]Alpha阶段无人转出申请审核结果

    [2019BUAA软工助教]Alpha阶段无人转出申请审核结果 一.队伍信息 队伍名 项目 人数 红太阳 社团 8(6+2) pureman 博客园 6 水哥牛逼 招募 6 葫芦娃 拖拽Pytorch ...

  9. [2018福大至诚软工助教]alpha阶段小结

    [2018福大至诚软工助教]alpha阶段小结 一.得分 1. 冲刺(7次 Scrum) 150分 1)第1篇(25分) 项目 评分标准 各个成员在 Alpha 阶段认领的任务 (6分)视详细程度给分 ...

随机推荐

  1. SQL的日期转换

    日期转会计期 SUBSTRING(CONVERT(VARCHAR,getdate(), 20), 1, 7)   2015-06 SUBSTRING(CONVERT(VARCHAR,DATEADD(m ...

  2. Lua代码规范

    以下规范,是在Unity中使用Lua做为开发语言,仅供参考. 1.格式规范 1. lua文件名统一小写,中间一律不加下划线分割 2. 类名首字母大写,多个词组成的类名,每个词的首字母大写,中间一律不加 ...

  3. JavaScript -- 时光流逝(八):js中的事件Event的使用

    JavaScript -- 知识点回顾篇(八):js中的事件Event的使用 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行. (1) onabort : onabort 事件会在图像 ...

  4. Servlet(六):连接数据库,完整的CRUD

    Servlet的知识点大致讲完了,今天补充下与之相关的一些小知识,然后做一个完整的小例子. 一.MVC设计模式 1.MVC设计模式是什么? 在了解MVC之前,先聊聊Model1.Model2开发模式. ...

  5. Mybatis 报错 There is no getter for property named '***' in 'class java.lang.String'

    在mapper.xml中 , 如果单参数是String类型 , 且在sql语句中对参数进行了判断 , 如下 when 中的判断 , 如果出现 if 判断也是一样的.都需要把判断中的参数用 _param ...

  6. 修改mysql默认端口

    最初,我将mysql端口改成了3307,现在需要将其改3306端口,已改好,做个记录 首先:借助资源监视器,找到对应的端口,查看对应的Pid,然后打开任务管理器,点击服务,找到对应的服务器,将其服务停 ...

  7. shopkeep/spark Dockerfile示例

    FROM java:openjdk- ENV HADOOP_HOME /opt/spark/hadoop- ENV MESOS_NATIVE_LIBRARY /opt/libmesos-.so ENV ...

  8. C#事件の事件解析

    事件(event)是基于windows消息处理机制的类,封装的更好,让开发者无须知道底层的消息处理机制,就可以开发出强大的基于事件的应用程序来.委托(delegate)委托可以理解成为函数指针,不同的 ...

  9. 将逗号分隔的字符串转换为Python中的列表

    给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转换为列表? mStr = ['192.168. ...

  10. [SDOi2012]吊灯

    嘟嘟嘟 这题想了半天,搞出了一个\(O(10 * d * n)\)(\(d\)为\(n\)的约数个数)的贪心算法,就是能在子树内匹配就在子树内匹配,否则把没匹配的都交给父亲,看父亲能否匹配.交上去开了 ...