软件工程网络15结对编程作业

成员

个人博客地址:

201521123060 邹其元
201521123075 江鹭涛
码云地址
源代码

题目要求:

1.浏览所有代码考虑代码质量和测试覆盖率



2.需求分析:

  • 程序设计

  • 代码展示
    (1)计时器:显示用户完成全部答题的所用时间。

(2)分数计算

public String calculate(ArrayList<String> postOrder)throws IOException {
   Stack stack = new Stack();
    //ArrayList<String> stack = postOrder;
    String res = "";
    FileWriter fm = new FileWriter("answer.txt");
    BufferedWriter bufm = new BufferedWriter(fm);
    for (int i = 0; i < postOrder.size(); i++) {            if (res.equals("")) {
            if (Character.isDigit(postOrder.get(i).charAt(0))) {
               stack.push(Integer.parseInt(postOrder.get(i)));
           } else {
               Integer back = (Integer) stack.pop();

                Integer front = (Integer) stack.pop();
                stack.push(back);

                Calculator calculator2 = new Calculator();
                switch (postOrder.get(i).charAt(0)) {
                    case '+':

                        res = calculator2.compute(front + "/1", "+", back + "/1");
                       //res = (front + back);
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();

                        break;
                    case '-':
                        res = calculator2.compute(front + "/1", "-", back + "/1");
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();>                            break;
                        case '*':
                        res = calculator2.compute(front + "/1", "*", back + "/1");
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();
                        break;
                    case '/':
                        res = calculator2.compute(front + "/1", "/", back + "/1");
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();
                        break;
                }
            }            }
        else {
           if (Character.isDigit(postOrder.get(i).charAt(0))) {
                stack.push(Integer.parseInt(postOrder.get(i)));
            } else {
                Integer back = (Integer) stack.pop();
                Calculator calculator2 = new Calculator();
                switch (postOrder.get(i).charAt(0)) {
                   case '+':
                       res = calculator2.compute(res, "+", back + "/1");
                       bufm.write(res);
                        bufm.flush();
                        bufm.newLine();
                        break;
                   case '-':
                        res = calculator2.compute(res, "-", back + "/1");
                        bufm.write(res);>                            bufm.flush();
                        bufm.newLine();
                        break;
                    case '*':>                            res = calculator2.compute(res, "*", back + "/1");
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();
                        break;
                    case '/':
                        res = calculator2.compute(res, "/", back + "/1");
                        bufm.write(res);
                        bufm.flush();
                        bufm.newLine();
                        break;
                }
            }
       }
    }
   return res;
}
  • 程序运行:

3.码云上传记录:

结对照片:

4.小结感受:结对编程真的能够带来1+1>2的效果吗?通过这次结对编程,请谈谈你的感受和体会。

  • 1+1是可以>2的,两个人会有互补,我没注意到的地方有我的伙伴帮我察觉并改正,结对编程有利于我们两个人对于同一个项目的交流。
PSP 个人开发流程 预估耗费时间 实际耗时
Planning 计划 20 18
Estimate 明确需求和其他相关因素,估计每个阶段的时间成本 10 13
Development 开发 180 240
Analysis 需求分析 50 33
Design Spec 生成设计文档 30 27
Design Review 设计复审 20 10
Coding Standard 代码规范 15 10
Design 具体设计 30 50
Coding 具体编码 60 65
Coding Reivew 代码复审 30 40
Test 测试 30 10
Reporting 报告 30 26
测试报告 20 10
计算工作量 10 10
并提出过程改进计划 10 10
原文地址:https://www.cnblogs.com/tt1104/p/8647219.html