码迷,mamicode.com
首页 > 其他好文 > 详细

201571030320/201571030335《小学四则运算练习软件》结对项目报告

时间:2018-04-04 23:20:46      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:onsubmit   listener   standard   tle   cin   测试   ··   tin   panel   

源码在Github的仓库主页链接地址:https://github.com/mashifang(我的201571030320)

                                                      https://github.com/woaichimangguo(小伙伴的201571030335)

1. 需求分析

(1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分;

 (2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下:

技术分享图片

 

(3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做)、带括号算式、真分数算式练习;

(4)程序允许用户进行多轮测试,提供用户多轮测试分数柱状图,示例如下:

技术分享图片 

(5)程序记录用户答题结果,当程序退出再启动的时候,可为用户显示最后一次测试的结果,并询问用户可否进行新一轮的测试;

(6)测试有计时功能,测试时动态显示用户开始答题后的消耗时间。

(7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体(必做)/中文繁体/英语,用户可以进行语种选择。

2. 核心功能代码展示:

(1)、界面设计及相关功能实现

    public static void main(String[] args) {
        // TODO Auto-generated method stub
      JFrame frame=new  Self();
      frame.setTitle("小学四则运算训练小程序");
      frame.setSize(300,200);
      frame.setLocationRelativeTo(null);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
    }
    public Self(){
        setLayout(new GridLayout(3, 2,5,5));
        addAnswer();
        JPanel panel2=new JPanel();
        //panel2.setSize(10,100);
        panel2.add(new JLabel("请输入答案:"));
        panel2.add(text);
        this.add(panel2);
        JButton buttonSubmit=new JButton("提交答案");
        buttonSubmit.addActionListener(new ActionListener() {
 
            @Override
            public void actionPerformed(ActionEvent e) {
                // TODO Auto-generated method stub
                int size=list.size();
                int errorSum=size-rightSum;
                JFrame resultFrame=new JFrame();
                resultFrame.setTitle("运算结果");
                resultFrame.setSize(500,500);
                resultFrame.setLocationRelativeTo(null);
                resultFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                resultFrame.setVisible(true);
                JPanel panel=new JPanel();
                Font font = new Font(Font.DIALOG, Font.PLAIN, 20);
                panel.add(new JLabel("做题总数: "+size+" "+"正确数:"+rightSum));
                setLayout(new GridLayout(100, 1,5,5));
                for(int i=0;i<size;i++){
                    panel.add(new JLabel(list.get(i)));
                }
                resultFrame.add(panel);
            }});
        JButton buttonNext=new JButton("下一题");
        buttonNext.addActionListener(new ActionListener() {//定义时间监听器
           public void actionPerformed(ActionEvent e) {
               String question=label.getText();
               double result=Double.parseDouble(text.getText());
               String ifRight="";
               if(Her.result==result){
                 ifRight="正确";
                 rightSum++;
               }else{
                   ifRight="错误";
               }
               String message=question+", "+"你的答案:"+result+", "+"正确答案: "+Her.result+", 状态: "+ifRight;
               list.add(message);
               text.setText("");
               String answer=Her.creat();
                label.setText(answer);
               }
              });
        JPanel panel3=new JPanel();
        //button.setSize(10,10);
        panel3.add(buttonNext);
        panel3.add(buttonSubmit);
        add(panel3);
    }

3. 程序运行:程序运行时每个功能界面截图。

技术分享图片技术分享图片技术分享图片技术分享图片技术分享图片

4.两人在讨论、细化和编程时的结对照片

技术分享图片

5.提供此次结对作业的PSP

PSP2.1

任务内容

计划共完成需要的时间(h)

实际完成需要的时间(h)

Planning

计划

15

17

·       Estimate

·  估计这个任务需要多少时间,并规划大致工作步骤

18

20

Development

开发

96

98

··       Analysis

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

48

50

·       Design Spec

·  生成设计文档

24

26

·       Design Review

·  设计复审 (和同事审核设计文档)

18

20

·       Coding Standard

  代码规范 (为目前的开发制定合适的规范)

12

16

·       Design

  具体设计

24

25

·       Coding

  具体编码

36

21

·       Code Review

·  代码复审

7

9

·       Test

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

13

21

Reporting

报告

9

6

··       Test Report

·  测试报告

3

2

·       Size Measurement

  计算工作量

2

1

·       Postmortem & Process Improvement Plan

·  事后总结 ,并提出过程改进计划

3

3

6. 请使用汉堡评价法给你的小伙伴一些点评。

       通过这次结对项目合作,我发现我的小伙伴是一个细心严谨的人,虽然我们俩的Java编程基础较薄弱,但在互相鼓励,互相支持下,我们尽最大努力完成了这个项目。在项目完成过程中遇到问题,她严谨努力的态度使我们一次一次尝试,一次一次发现错误,改正错误,解决问题,她的这些精神是我们这个项目不可或缺的助力剂。她思考问题逻辑很严谨,这是值得我学习的。希望在以后的学习生活中可以经常和她合作,学习她的优秀学习习惯。

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

       结对编程真的能够带来1+1>2的效果吗?答案是肯定的,一定能带来。这次结对项目的合作,让我体会到了在软件设计过程中合作的重要性。就这次项目来说,一个人是可以完成的,但相比之下,两人合作效率更高,设计出来的程序也更完美,两人之间还可以优势互补,通过一起讨论、合作,达到互相学习、共同进步的目的。所以我认为合作在软件设计中是必要的,在以后的学习生活中可以多多尝试。虽然这次由于我们俩编程功底不足有些功能尚未实现,但我们在一点一点进步,我们会继续一起努力的。

201571030320/201571030335《小学四则运算练习软件》结对项目报告

标签:onsubmit   listener   standard   tle   cin   测试   ··   tin   panel   

原文地址:https://www.cnblogs.com/nwnu-MSF/p/8715166.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!