• 结对编程1-模块化


    结对编程1-模块化

    柳泽峰  201421122011

    林伟钦  201421122025

    Coding地址:https://git.coding.net/Aes/Exp2.git

    演示视频:http://v.youku.com/v_show/id_XMzEwMjYyOTI3Ng==.html?spm=a2h3j.8428770.3416059.1&qq-pf-to=pcqq.c2c

    一、需求分析:

    在作业一的基础上,实现图形界面,并且有以下的功能:

    1.记录用户的对错总数,程序退出再启动的时候,能把以前的对错数量保存并在此基础上增量计算。

    2.有计时功能,能显示用户开始答题后的消耗时间。

    二、程序设计:

    先画出初始界面,用来接收用户的两个输入参数,然后给两个关键的按钮设置监听。

    两个关键按钮的监听事件如下:

    三、代码展示

    1.已知正确题数[rightNumber],和总题数[answer.size()],求正确率,并将数据更新到label当中。

    // 创建一个数值格式化对象
        NumberFormat numberFormat = NumberFormat.getInstance();
    // 设置精确到小数点后1位
        numberFormat.setMaximumFractionDigits(1);
        String ratePercent = numberFormat.format((float) rightNumber / ((float) answer.size()) * 100);
        rate.setText(rate.getText() + ratePercent + "%");

    2.检查用户的答案,如果正确的 话,正确数+1,否则,错误数+1,如果放空的话,视为错误。而且,还要将提示的label设为可见,这样才会显示出正确的答案

        // 检查用户的答案并计算正确题数
        public void checkAnswer() {
            double result = 0;
            double userInput = 0;
            for (int i = 0; i < answer.size(); i++) {
                if (tfUserAns.get(i).getText().trim().equals("")) {
                    userInput = 1;
                    result = 0;
                } else {
                    userInput = Double.parseDouble(tfUserAns.get(i).getText().trim());
                    result = Double.parseDouble(answer.get(i).trim());
                }
                hint.get(i).setVisible(true);
                // 回答正确的话:
                if (result - userInput == 0) {
                    hint.get(i).setText("√");
                    rightNumber++;
                } else {
                    // 回答错误的话:
                    wrongNumber++;
                }
            }
        }

    四、运行效果

    1.代码运行时的界面

    2.button1,生成题目,并且开始计时

     

    3.停止计时,检查用户的答案,计算本次正确率,从文件中读取历史正确题数,算出总的正确题数和正确率

     

    五、小结感受

    并没有感受到1+1>2的效果,因为虽然是两个人在完成一个项目,但是同一个问题两个人都有不一样的想法,所以,还是要花费很多时间在统一看法,统一风格这些方面上。

    代码的编写感觉有点乱,一些方法没有很好的封装。

    六、队伍评价和图片

    优点:遇到难题时,能快速准确的找到解决问题的方案

    缺点:代码不爱注释

    建议:一些代码或许自己看得懂,但是给别人看的时候,注释是很重要的

     结对编程图片:

    七、PSP记录表

    PSP2.1

    Personal Software Process Stages

    Time Senior Student

    Time

    Planning

    计划

    10

    10

    · Estimate

    估计这个任务需要多少时间

    10

    10

    Development

    开发

    281

    459

    · Analysis

    需求分析 (包括学习新技术)

    4

    15

    · Design Spec

    生成设计文档

    10

    5

    · Design Review

    设计复审

    5

    5

    · Coding Standard

    代码规范

    5

    5

    · Design

    具体设计

    20

    40

    · Coding

    具体编码

    200

    320

    · Code Review

    代码复审

    7

    9

    · Test

    测试(自我测试,修改代码,提交修改)

    30

    60

    Reporting

    报告

    15

    7

    ·

    测试报告

    10

    2

    ·

    计算工作量

    2

    2

    ·

    并提出过程改进计划

    3

    3

  • 相关阅读:
    SSM框架的基本配置
    Python开发的飞机打外星人小游戏
    python中count和index
    破解Xmind时长
    光流法简介
    Linux常用命令
    GitHub常用命令
    极大似然估计与最大后验概率估计
    在linux上加速git clone
    Endnote导入共享数据
  • 原文地址:https://www.cnblogs.com/Aeons/p/7709685.html
Copyright © 2020-2023  润新知