结对编程1
Deadline:##
2017-3-15 12:00AM,以博客发表日期为准。
评分基准:##
- 按时交 - 有分,检查的项目包括后文的三个方面
- 题目要求
- 代码提交
- 博文规范
- 晚交 - 0分
- 迟交两周以上 - 倒扣本次作业分数
- 抄袭 - 倒扣本次作业分数
题目描述:##
不知道大家是否尝试过这样一种开发模式:你有一个伙伴,你们坐在一起,并肩作战,面对着同一台显示器,使用着同一键盘,同一个鼠标,你们一起思考,一起分析,一起编程?这次,就让我们来体验一下结对编程的魅力:
http://www.cnblogs.com/xinz/archive/2011/08/07/2130332.html
我们在个人作业1中,用各种语言实现了一个命令行的四则运算小程序。进一步,本次要求把这个程序做成GUI(可以是Windows PC 上的,也可以是Mac、Linux,web,手机上的),成为一个有基本功能、一定价值的程序。在下面的功能需求中实现两个:
- 记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。
- 有计时功能,能显示用户开始答题后的消耗时间。
- 界面支持中文简体/中文繁体/英语,用户可以选择一种;
在软件开发中,我们需要大量使用工具来辅助设计,每个环节大家都要善于学习和使用工具。设计的时候,请使用思维导图设计你的模块之间的关系,参考这位同学的思维导图:
http://www.cnblogs.com/hts-technology/p/6490667.html
题目要求:##
-
一个小组中的两个同学选取比较优秀的 作业1 (两个人的都独立完成了), 把它作为本次作业的基础,然后再修改。
-
结对编程实现上述功能,同样的,在程序正式开发之前,请先预估下PSP每个环节的消耗时间,并在过程中统计实际耗时,最后提交PSP表格。依然注意,这个主要是给你们自己看的,不必造假数据。
-
在两人合作的过程中, 请看下面的内容
a. 满足代码风格规范和代码设计规范(参考书第4章4.1-4.3内容)http://www.cnblogs.com/xinz/archive/2011/11/20/2255971.html
- 请重视这点,在开发时两个人要有口头上的沟通:“好的,我们一起在开发中遵守一起认可的编码规范”
- 请把你们约定的编码规范文档也提交到gitb. 给人提意见的方式——送一个汉堡包http://www.cnblogs.com/xinz/archive/2011/08/22/2148776.html
c. 理解领航员和驾驶员两种角色关系,并在结对编程中两个人轮流做对方的角色。两人都必须参与本次作业的编码工作,并在git提交日志上体现这点。
代码提交:##
要求必须增量式开发-提交到coding.net地址,coding上要能看到多次commit的记录,同时必须有两个人各自的commit记录。
博文规范##
-
提交的博客(两个同学都要写)必须完整包含下面内容:
a. 需求分析:针对选择的2-3个新开发功能做分析。
b. 程序设计:针对选择的2-3个新开发功能做设计,使用思维导图。
c. 代码展示:展示每个功能的核心代码。
d. 程序运行:程序运行及每个功能的使用截图。
e. 小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。
-
在随笔开头,备注两个同学的学号。
-
提供项目开发的coding.net 地址。
-
描述结对的过程,提供非摆拍的两人在讨论、细化和编程时的结对照片。
-
提供此次结对作业的PSP。
参考链接:##
- 模块化,单元测试,回归测试,TDD: http://www.cnblogs.com/xinz/p/4421170.html
- 在博客中插入代码: http://www.cnblogs.com/schaepher/p/6503126.html