• 结对项目-四则运算 “软件”之升级版


    作业要求:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2213

    Github地址:https://github.com/rg-zpf/rg-software

    结对项目成员以及各博客地址:

    201606120038李家俊

    博客园:https://www.cnblogs.com/-QAQ/

    201606120043曾鹏菲

    博客园:https://www.cnblogs.com/zpfs/

    1.开发环境:IntelliJ IDEA 2018.2.2 x64

    2.结对开发软件过程耗时估计与统计表

    PSP2.1 Personal Software Process Stages predicted(h) actual(h)
    · Planning 计划 1 1
    · Estimate 估计这个任务需要多少时间 50 55
    · Development 开发 3 3
    · Analysis 需求分析 (包括学习新技术) 1 1
    · Design Spec 生成设计文档 1 1
    · Design Review 设计复审 2 2
    · Coding Standard 代码规范 5 5
    · Design 具体设计 1 1
    · Coding 具体编码 20 22
    · Code Review 代码复审 5 5
    · Test 测试(自我测试,修改代码,提交修改) 10 13
    · Reporting 报告 2 2
    · 测试报告 0.5 0.5
    · 计算工作量 1 1
    · 并提出过程改进计划 0.5 0.5

    3.扩展方向

    1.用户可以选择出题的个数(最多不能超过5个题目),答题结束可以显示用户答错的题目个数和答对的题目个数,并且显示用户的得分(曾鹏菲)

    2.程序可以出单个整数阶乘的题目:如:4!=24(阶层在10以内随机产生)(曾鹏菲)

    3.用户答题结束以后,程序可以显示用户答题所用的时间(以00:00形式显示)(李家俊)

    4.程序可以设置答题时间,时间设置为整数,单位为秒,最大不能超过120秒,若超过了答题时间未答题,则提示:时间已到,不能答题。(每一题的答题时间)(曾鹏菲)

    5.程序设置总时间5分钟,若5分钟内还未完成所有题目,时间到则当程序结束,未作答的题目当错误(程序总时间)(李家俊)

    4.程序运行界面及部分关键代码:

    界面:

     

    部分关键代码

    计时功能:程序运行,即总时间开始倒计时5分钟,若倒计时完毕还未答题完毕,则不能再作答,直接输出最后得分和做对题目数和做错题目数。

     1 tis = new Timer();
     2         tis.schedule(new TimerTask() {
     3             public void run() {
     4 
     5                 if (times==0){
     6                     code = num - count;
     7                     string = string + "
    " + "正确:" +count +"	"+"错误:" + code +"
    "+ "你的最后分数是:"+(float)count/num*100;
     8                     Content.setText(string);
     9                     tis.cancel();
    10                     timer.cancel();
    11                     n=-1;
    12                 }else {
    13 
    14                     times--;
    15 
    16                     long hh = times / 60 / 60 % 60;
    17                     long mm = times / 60 % 60;
    18                     long ss = times % 60;
    19                     StrOut = "还剩" + hh + "小时" + mm + "分钟" + ss + "秒";
    20                     outTime.setText(StrOut);
    21                 }
    22             }
    23         }, 0, 1000);

     

    输入题目数,题目数不能超过5题,输入完题目数,点击按钮的同时,做题开始计算做题时间(总时间与做题计算时间不同步)

    Number.setOnMouseClicked(new EventHandler<MouseEvent>() {
                @Override
                public void handle(MouseEvent event) {
                    num = Integer.parseInt(NumText.getText());
                    if (num>5){
                        string = string + "
    " + "题目数不能超过5题,请重新输入!"+ "
    " + "请输入题目数目:";
                        Content.setText(string );
                    }else {
                        string = string + NumText.getText();
                        Content.setText(string);
                    }
    
    
                    TimerTask task1 = new TimerTask() {
                        @Override
                        public void run() {
                            StrTime = String.format("%1$tM:%1$tS",System.currentTimeMillis()-time);
                        }
                    };
                    new Timer().schedule(task1, 1, 1000);
                }
            });

     

    5.结对编程的收获和感悟:

    感觉这次的结对项目在个人项目的基础上做起来并不难,两个人工作量太小,至于为什么没有做完8个扩展要求,是因为没什么兴趣写下去。为什么没有兴趣,因为有花了一些力气设计界面的,并且在开始写代码前画了一些草图,但是感觉在界面编码时并不能很好地实现自己草图上的一些设计,设计的界面不太符合现代的审美。这次写界面用了Java Fx,由于个人项目用Java写的,在大二时也学了一点Java Fx,所以一切的发生也好像水到渠成。感觉Java Fx写界面写起来不如网页的界面开发和Android的界面设计写起来那么舒服,Java Fx也有fxcss,但是自己的兴趣并不在界面设计上,fxcss和css差不多,但是我对css一知半解,fxcss也并不想去学,而且了解到还有BootstrapFx,但是资料并不多,估测Java Fx是不是处于一种不太好的发展状态呢,听说JDK11也删除了Java Fx。

      感觉自己在写代码时设计模式还需要学习和加强一些,代码写的有一些臃肿和杂乱,虽然知道MVC模式,但是在代码编写时也没有实现出来,在开发方面,自己还是太稚嫩了。

    6.工作照:

     

  • 相关阅读:
    docker安装
    快速删除docker中的容器
    CentOS赋予一个普通用户root权限
    大型电商网站:第三章:环境搭建
    面试:第十一章:缓存
    面试:第十章:单点登录
    面试:第九章:分布式 、高并发、集群、负载均衡、高可用
    面试:第八章:SpringMVC、Springboot、Mybatis、Dubbo、Zookeeper、Redis、Elasticsearch、Nginx 、Fastdfs、ActiveMQ
    面试:第七章:冷门面试题
    大型电商网站:第一章:主要电商模式
  • 原文地址:https://www.cnblogs.com/-QAQ/p/9846022.html
Copyright © 2020-2023  润新知