Week4——结对练习&团队作业1

Deadline:

2017-10-14 10:00PM,以博客发表日期为准。

评分基准:

  • 按时交 - 有分(结对代码-10分,结对博客-10分,团队博客-10分),检查的项目包括后文的三个方面
    • 按要求完成结对练习博客(基本分5分,根据完成质量加分,原则上不超过满分10分)
    • 按要求完成结对练习代码(基本分5分,根据代码质量加分,原则上不超过满分10分)
    • 按题目要求完成团队博客注册(1分)
    • 完成团队展示和计划(基本分5分,根据完成质量加分,原则上不超过满分10分)
  • 晚交 - 0分
  • 迟交两周以上 - 倒扣本次作业分数
  • 抄袭 - 倒扣本次作业分数

Task1:结对代码练习

  1. 将https://gitee.com/happyfaye/Calculator项目fork到自己的项目下;
  2. 阅读CalString类,分析四则运算的实现原理,了解代码审查工具,编写测试用例,进行单元测试,分析代码覆盖率;
  3. 阅读Calculator类,主要实现两个操作数的加减乘除运算,结合CalString类,扩展Calculator类实现四则混合运算。类的分析可用思维导图,参考:http://www.cnblogs.com/hts-technology/p/6490667.html;
  4. 附加题:扩展Calculator类的图形界面,包括“(、)”运算符,实现四则混合运算;
  5. 结对编程实现上述功能。
  6. 在两人合作的过程中, 请看下面的内容:

    a. 满足代码风格规范和代码设计规范(参考书第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html
    - 请重视这点,在开发时两个人要有口头上的沟通:“好的,我们一起在开发中遵守一起认可的编码规范”
    - 请把你们约定的编码规范文档也提交到git

    b. 给人提意见的方式——送一个汉堡包http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html

    c. 理解领航员驾驶员两种角色关系,并在结对编程中两个人轮流做对方的角色。两人都必须参与本次作业的编码工作,并在git提交日志上体现这点

  7. 参考示例:http://www.cnblogs.com/circlek/p/6528722.html

Task2:结对练习博客

  1. 提交的博客(两个同学都要写)必须完整包含下面内容:

    a. 需求分析:测试上有哪些详细的需求?

    b. 设计测试框架, 模拟测试数据:

    • (1) 请给出计算模块的测试用例及运行结果
      (2) 描述测试过程中遇到的问题以及解决的方案。
      (3) 请展示上面描述的单元测试的每个环节。
    c. 小结与感受:通过测试,是否有效发现了程序计算模块的问题,并给予改进?

    d. 体会代码规范要求

    • (1) 良好的设计
      (2) 编码规范
      (3) 必要的注释
  2. 在随笔开头,备注两个同学的学号。
  3. 提供项目开发的码云地址。
  4. 提供此次结对作业的PSP。

个人软件过程:

  1. 在开始实现程序之前,理解下Personal Software Process Stages(http://www.cnblogs.com/xinz/archive/2011/10/22/2220872.html)
  2. 在开始实现程序之前,请使用以下PSP表格,在第3列填上自己对每个环节的估计时间(单位:分钟).
  3. 在做每个环节的过程中,请在第4列填上对应环节的实际消耗时间(单位:分钟).
  4. 在软件开发中,掌握估计时间是一项重要的技能,请通过PSP表格做到

    a.厘清开发的完整环节,争取在每个环节都有实际的工作,一开始边界不清楚是正常的,但请尝试按自己的理解去努力在对应环节做实际的工作。
    b.预估每个环节的时间,并真实统计这些环节的耗时,在完成后输出完整的PSP耗时估计表。
    c.注意:该表格是给自己看的,不要伪造数据!
    d.PSP模版表格如下,第3列和第4列分别对应第2列条目的估计时间和真实时间,模版表格里的时间只是示意。

PSP2.1 Personal Software Process StagesEstimate Time (单位:分钟)Actual Time (单位:分钟)
Planning 计划 86
· Estimate 估计这个任务需要多少时间 8 6
Development开发8288
· Analysis需求分析 (包括学习新技术)610
· Design Spec生成设计文档56
· Design Review设计复审46
· Coding Standard代码规范33
· Design具体设计1012
· Coding具体编码3621
· Code Review代码复审79
· Test测试(自我测试,修改代码,提交修改)1321
Reporting报告96
·测试报告32
·计算工作量21
·并提出过程改进计划33

Task3:注册团队博客账号

  • 目的:提交每次团队作业
  • 安科网地址:http://www.cnblogs.com/
  • 班级博客:https://edu.cnblogs.com/campus/jmu/2016SEM

Task4:团队展示

根据5-6人的组队要求,每个队伍创建团队博客并发表一篇随笔,包括:

  1. 队名;
  2. 队员学号(标记组长);
  3. 拟作的团队项目描述:一句话;
  4. 队员风采:介绍每一队员的风格、擅长的技术、编程的兴趣、希望的软工角色(开发、测试、PM等)、一句话宣言等;请阅读第7章:MSF(Microsoft Solution Framework),理解MSF的9点的基本原则,例如:

    a. 为共同的远景而工作

    b. 充分授权和信任

    c. 各司其职,为项目共同负责

  5. 团队的首次合照(有图有真相,合照风格可以发挥创意);
  6. 团队的特色描述,主要描述有别于其他所有团队的特点或核心竞争力,言简意赅。

Task5:团队计划

根据发布的项目时间规划,初步确立团队任务计划,将团队的任务计划添加到码云的团队项目任务里,要求:

  1. PM组织成员快速阅览《构建之法》第8章到第15章关于“软件开发完整生命周期”的相关章节,对项目做时间安排。同时请参考下面的团队项目每周环节进度表。
  2. 必须使用《构建之法》“计划和估计” 一节中提到的讨论方法和耗时估计公式来矫正计划的时间表,为每个环节定制好时间。并注意,不要贪图做太多的功能,而是要把关键的场景实现了。

参考链接

http://www.cnblogs.com/xinz/archive/2011/05/01/2033927.html

团队项目很难么?别的同学做难度更大的要求都完成了(10 个SCRUM):
http://www.cnblogs.com/teamftd/p/4929007.html

参考链接:

  • GitHub团队项目合作例子:http://www.cnblogs.com/schaepher/p/4933873.html
  • 团队git仓库初始化的例子:http://www.cnblogs.com/greyzeng/p/6044837.html

相关推荐