博客要求
Github项目地址:https://github.com/zhibihuayue/PairProgramming
作业地址 : https://www.cnblogs.com/cherish599/p/11577268.html|
一、PSP表格估计时间
PSP2.1 | Personal Software Process Stages | 预估耗时(分钟) | 实际耗时(分钟) |
---|---|---|---|
Planning | 计划 | 45 | 45 |
Estimate | 估计这个任务需要多少时间 | 45 | 45 |
Development | 开发 | 720 | 660 |
Analysis | 需求分析 (包括学习新技术) | 45 | 30 |
Design Spec | 生成设计文档 | 30 | 30 |
Design Review | 设计复审 (和同事审核设计文档) | 30 | 45 |
Coding Standard | 代码规范 (为目前的开发制定合适的规范) | 30 | 30 |
Design | 具体设计 | 60 | 60 |
Coding | 具体编码 | 300 | 450 |
Code Review | 代码复审 | 60 | 60 |
Test | 测试(自我测试,修改代码,提交修改) | 90 | 90 |
Reporting | 报告 | 70 | 90 |
Test Report | 测试报告 | 30 | 30 |
Size Measurement | 计算工作量 | 25 | 30 |
Postmortem & Process Improvement Plan | 事后总结, 并提出过程改进计划 | 20 | 30 |
合计 | 1600 | 1725 |
二、项目克隆
1.班级仓库。
2.进入PairProgramming文件夹,新建一个自己使用的文件夹。
3.VS软件编写
三、代码设计
1.计算模块接口的设计与实现过程
解题思路
骰子游戏注意设置随机数的生成,以及将该随机数与外部输入的数字进行比较,并返回结果。
设计实现过程
我和于丁在学校里面进行讨论,并结合网上的一些内容进行我们组项目的制作。主程序由于丁制作,我负责制表等操作。
代码展示(我负责代码部分)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Collections;
using Entity;
namespace DataBase
{
public class DiceData
{
private static List<Dice> diceList;
public static List<Dice> getAll()
{
diceList = new List<Dice>();
Dice num1 = new Dice("1");
diceList.Add(num1);
Dice num2 = new Dice("2");
diceList.Add(num2);
Dice num3 = new Dice("3");
diceList.Add(num3);
Dice num4 = new Dice("4");
diceList.Add(num4);
Dice num5 = new Dice("5");
diceList.Add(num5);
Dice num6 = new Dice("6");
diceList.Add(num6);
return diceList;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections.ObjectModel;
using System.Collections;
using Entity;
namespace DataBase
{
public class DiceData
{
private static List<Dice> diceList;
public static List<Dice> getAll()
{
diceList = new List<Dice>();
Dice num1 = new Dice("1");
diceList.Add(num1);
Dice num2 = new Dice("2");
diceList.Add(num2);
Dice num3 = new Dice("3");
diceList.Add(num3);
Dice num4 = new Dice("4");
diceList.Add(num4);
Dice num5 = new Dice("5");
diceList.Add(num5);
Dice num6 = new Dice("6");
diceList.Add(num6);
return diceList;
}
}
}
using System;
using System.Collections.Generic;
using System.Text;
using Entity;
using DataBase;
namespace DaoLayer
{
class DaoDice
{
public class StudentDAO
{
public int getDiceRecordsNums()
{
List<Dice> DiceList = DiceData.getAll();
return DiceList.Count;
}
public List<Dice> getAllDice()
{
List<Dice> diceList = DiceData.getAll();
return diceList;
}
}
}
}
2.界面展示
3.代码复审及模块部分单元测试(于丁博客)
四、结对的过程
1.结对成员(姜玖林&于丁)
2.提前准备内容
我们组计划做两个不同版本,我先做了个控制台的应用程序,下面的代码便是我提前做出来的内容,在此基础上进行改动,最终程序确定的是form的程序.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace GuessNumber
{
class Program
{
static void Main(string[] args)
{
const int GuessChance = 7;
while (true)
{
Console.WriteLine("*********************欢迎来到猜数字*********************\n");
//生成一个随机数.
int targetNum = new
Random().Next(1, 101);
for (int i = 1; i <=
GuessChance; i++)
{
//输入猜想.
Console.Write("请输入猜想 {0}:
", i);
int guessNum =
Convert.ToInt32(Console.ReadLine());
Console.WriteLine("猜想 {0}:
{1}", i, guessNum);
//判断猜大了还是猜小了.
if (guessNum >
targetNum)
{
Console.WriteLine("猜大了!");
}
if (guessNum <
targetNum)
{
Console.WriteLine("猜小了!");
}
//猜中了.
if (guessNum == targetNum)
{
Console.WriteLine("恭喜你猜中了!");
Console.WriteLine();
break;
}
Console.WriteLine();
}
//是否继续游戏的判断.
Console.WriteLine("是否再来一次游戏?y/n");
string comfirm =
Console.ReadLine();
if (comfirm == "y" ||
comfirm == "Y")
{
Console.WriteLine();
continue;
}
else
{
Console.WriteLine("游戏结束!");
break;
}
}
Console.ReadKey();
}
}
}
3.结果展示
扫描二维码关注公众号,回复:
7408131 查看本文章
五、总结
此次的作业着实太过幸运,竟然迎来了建国七十大庆,小姜同志只得把重重的电脑搬回家里,继续完成作业。
对于此次作业,我们组没有用老师给我们演示的案例(考勤系统)来做,我和于丁思考了一下,决定来个不一样的东西,然后就选择了骰子游戏。我们把骰子游戏进行了部分改动,即没有选择数字的限制(骰子最多选择六点),就单纯稍微改动了一下子。
非常感谢我的队友丁丁同学的帮助,教会了我很多东西,还推荐我使用了git软件的客户端,确实好用一些。代码还需继续努力呢,加油加油!