实验二 结对编程第一阶段
一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三、问题描述
开发一个自动生成小学四则运算题目的命令行 “软件”。实现 输入你要出题的个数,随机产生四则运算,然后用户回答,并且进行打分。
规则:用随机数实现100以内的加、减、乘、除运算,其中和与积不能超过100,差不为负(即须大减小),商不为小数或分数(即必须整除)。要求总计输出10个运算式,每输出一个运算式,等待输入结果,然后进行对错判断并输出。最后输出统计答对的题数与分
四、实验过程
(一)组队信息
队伍名称:TL
课题:四则运算
博客地址:张丽(https://www.cnblogs.com/zeroli/)
吴庭(https://www.cnblogs.com/hotdog8/)
github仓库地址https://github.com/hotdog226/my-travel-plans
(二)查阅相关资料加深对敏捷开发和结对编程的理解
参考链接:https://baike.so.com/doc/3151875-3321607.html
敏捷开发以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发。在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视、可集成和可运行使用的特征。换言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。
参考链接:https://baike.so.com/doc/6031258-6244259.html
远程结对编程,也称作虚拟结对编程或分布式结对编程,是指两个程序员不在同一地点,通过协同编辑器,共享桌面,或远程结对编程的IDE插件进行的结对编程。 许多工具,例如Eclipse有插件支持远程结对。有些团队尝试使用VNC和RealVNC、TeamView,每个程序员使用他们自己的计算机。其他人使用基于文本的GNU Screen的多显示模式。苹果公司的Mac OS X包含内建的屏幕共享应用。
(三)实验讨论
经过二人商量后决定采用QQ远程协作工具实现桌面分享,采用github远程仓库托管代码,使用eclipse,java语言编写代码。
目前我们只建立了仓库,确定了课题以及开发平台和技术工具,接下来先准备开始对四则运算这个课题进行一个总体的设计,代码部分还要更详细的讨论。
实验难点在于随机产生四则运算和验证答案是否正确。随机数和加减乘除的排列,验证时,优先级的比较等等,这些都是需要解决的问题。

浙公网安备 33010602011771号