201571030310/201571030329《小学四则运算训练软件》结对项目报告

一.项目源码。

Github地址:https://github.com/lucky6991/SoftWareTest/tree/master/SoftWareTest3

二.项目报告。

1.需求分析:

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

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

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

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

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

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

(7)程序人机交互界面是GUI界面(WEB页面、APP页面都可),界面支持中文简体。

2.软件设计:

(1)设计流程图:

(2)设计类图

1> ReadFile类是读取所有文件,将生成的算式全部读出来,以栈的形式放入数组内;

2> Fraction类是关于分数的计算,分为真分数和假分数;

3> Calculate类是百内整数的加减乘除运算;

4> Textview就是显示最终运算结果,以及显示分数,计时等功能。

(3)核心代码:

1>读取生成的文件:

2>分数的运算:

public int getNumerator()
        {
            return c;
        }
        public int getDinominator()
        {
            return d;
        }  

        public void selfTrim()
        {
            int maxCommon=commonDivisor(c,d);       //求出两个数的最大公约数。
            c=c/maxCommon;                  //分式为最简。
            d=d/maxCommon;
            //整理正负号。
            if((c>0&&d<0)||(c<0&&d<0))
            {
                c=-c;
                d=-d;
            }
        }  

        public String toString()                        //重写tostring().
        {
            if(c==0||d==1)                          //分母为1 直接输出分子.
            {
                return Integer.toString(c);
            }
            return Integer.toString(c)+"/"+Integer.toString(d);     //输出c/d.
        }
        //----- plus
        public Fraction minus(Fraction f2)
        {
            int newNumerator=c*f2.getDinominator()-d*f2.getNumerator();
            int newDinominator=d*f2.getDinominator();  

            int maxCommon=commonDivisor(newNumerator,newDinominator);
            return new Fraction(newNumerator/maxCommon,newDinominator/maxCommon);
        }
        //---- minus
        public Fraction plus(Fraction f2)
        {
            int newNumerator=c*f2.getDinominator()+d*f2.getNumerator();
            int newDinominator=d*f2.getDinominator();  

            int maxCommon=commonDivisor(newNumerator,newDinominator);
            return new Fraction(newNumerator/maxCommon,newDinominator/maxCommon);
        }  

        //----- mutiply
        public  Fraction multiply(Fraction f2)                  //两个分数相乘。
        {
            int newNumerator=c*f2.getNumerator();
            int newDinominator=d*f2.getDinominator();  

            int maxCommon=commonDivisor(newNumerator,newDinominator);
            return new Fraction(newNumerator/maxCommon,newDinominator/maxCommon);
        }  

        //-----  divide
        public Fraction divide(Fraction f2)
        {
            if(f2.getNumerator()==0)
            {
                System.out.println("0不能做除数!");
                System.exit(0);
            }
            Fraction result=new Fraction(c,d);
            return result.multiply(new Fraction(f2.getDinominator(),f2.getNumerator()));
        }  

        //计算2个数的最大公约数。按绝对值计算。  

(4)运行结果:

         

测试结果统计:

(5)本次设计的PSP:


PSP2.1


任务内容


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


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


Planning


计划


9


14


Estimate


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


0.5


1.5


Development


开发


9


10.5


Analysis


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


1


0.5


Design Spec


生成设计文档


0.5


0.5


Design Review


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


0.5


0.5


Coding Standard


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


0.5


0.5


Design


具体设计


1


1


Coding


具体编码


4


6


Code Review


代码复审


1


1


Test


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


0.5


0.5


Reporting


报告


1.5


1.25


Test Report


·  测试报告


0.5


0.5


Size Measurement


计算工作量


0.5


0.25


Postmortem & Process Improvement Plan


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


0.5


0.5

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

我的小伙伴很认真,对待每一件事都有一个积极的态度,能很积极主动的和我交流意见,提出他的想法与观点,在本次项目开发中他主要负责计算器和分数统计,能够很认真的做开发,对我设计界面开发和计时器的设计提出了很多建议,我俩做了充分的交流和研究,最终分析利弊,用更完善的方式完成了这次的作业,我们互相删减代码中的冗余部分;和他合作我感觉到很越快,我们的合作很成功,我也期待下次和他继续合作开发项目。在此过程中我们也遇到很多问题,但是我们都没有推卸责任,而是积极探讨、一起解决,解决问题后两个人就特别激动。

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

通过本次项目,我体会到结对编程真的能够带来1+1>2的效果,本次项目的规模相比于上一次大了不少。所以结队编程的好处也就是提高了编码和效率,减轻了工作量;也能够更好地了解他人的想法和思路,对于自己做程序开发也是有很大的积极作用,而且当自己一个人遇到困难的时候,很容易轻易放弃。两个人一起编程,就会感觉不到编程的枯燥与乏味,反而是很轻松,能彼此讨论自己想法的过程。

原文地址:https://www.cnblogs.com/code8890/p/8709700.html

时间: 2024-09-29 02:26:31

201571030310/201571030329《小学四则运算训练软件》结对项目报告的相关文章

201571030329/201571030310《小学四则运算练习软件需求获取》结对项目报告

任务1:实施软件用户调研活动说明: (1) 调研对象:通过一位已经毕业在小学当数学教师的学姐,以她的同事以及班内小学生作为本次调研对象.让他们进行体验我和小伙伴设计的小学四则运算练习软件,并在体验结束后填写电子调查问卷:因为上次和我的搭档开发的时候就是利用Android设计的一个小APP,所以直接通过微信分享了软件,安装在手机上就可以直接进行体验测试了.让参加调查的数学老师和小学生们以这个软件为原型工具进行反馈.     (2)调查问卷设计:由于考虑到用户的差异性,本次问卷调查分为两类,第一类是

201571030132/201571030333《小学四则运算系统》结对项目报告

GitHub仓库地址: https://github.com/Sophur/Team-four-operation 一.需求分析 (1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分: (2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下: (3)程序为用户提供三种进阶四则运算练习功能选择:百以内整数算式(必做).带括号算式.真分数算式练习: (4)程序允许用户进行多轮

201571030121《小学四则运算练习软件软件需求说明》结对项目报告

201571030107/201571030121<小学四则运算练习软件软件需求说明>结对项目报告 结对小伙伴:冯晓(201571030107) 任务一 首先,我们进行了实例体验,把我们已经上线的<小学生四则运算网站>链接发给我们调研的人,在他们体验过我们的程序后在填写需求分析调查问卷,这样可以更好的得到一个反馈,让我们的需求分析更加清楚. 网站链接:http://123.56.24.117:8080/ 其次,我们主要采取了精准的问卷调查方式来进行需求分析,调查的主要对象为老师和有

201571030122/201571030129《小学四则运算练习软件软件需求说明》结对项目报告

<小学四则运算练习软件>博文链接:http://www.cnblogs.com/mzll/p/8709480.html GitHub的链接地址:https://github.com/13993013291/Shiyan3.git 任务一:        以实验二个人项目.实验三结对项目所开发的小学生四则运算练习软件作为原型,实施小学生四则运算练习软件用户调研活动. 1.调研对象:老师,学生以及家长: 2.调研方法:主要是问卷调查,其次通过即时通讯工具访谈了下当老师的同学: 3.问卷样本链接:h

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

源码链接地址:  https://github.com/woaichimangguo(我的201571030335) https://github.com/mashifang(小伙伴的201571030320) 一. 需求分析: (1)由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,程序检查答案是否正确,每道题正确计5分,错误不计分,20道题测试结束后给出测试总分. (2)题库文件可采用实验二的方式自动生成,也可以手工编辑生成,文本格式如下: (3)程序为用户提供三种进阶四

2015710301020/201571030119《小学四则运算练习软件软件需求说明》结对项目报告

任务一:以小学生四则运算练习软件作为原型,实施小学生四则运算练习软件用户调研活动 1.实践软件需求获取方式 调查问卷: 利用问卷星平台,列出来28道题分别对老师.家长以及小学生进行了问卷调查. 问卷样本链接:https://www.wjx.cn/jq/22531831.aspx 2.调查问卷分析 任务二:采用适当的建模方法描述任务1所获取的需求,请调研用户复查. 任务三: 1.<小学四则运算练习软件软件需求说明>链接:https://shimo.im/docs/OtKU7suLE2QKTihS

201571030120/201571030119《小学四则运算练习软件软件需求说明》结对项目报告

任务一:以小学生四则运算练习软件作为原型,实施小学生四则运算练习软件用户调研活动 1.需求获取方式 (1)老师:搭档父亲是一名小学老师,由她提前和他通了电话,他答应帮她把电子版的调查问卷发放给他的同事.然后让他对我们的原型进行了分析. (2)家长和学生:亲戚中有小孩上小学,我们将包含我们软件原型和博客的调查问卷发给他们,同时获取了小学生和家长的意见,考虑小学生的理解能力有限,我们提前和家长进行了沟通,帮助孩子理解题目并作答. 2.调查问卷设计(https://www.wjx.cn/m/22531

2016011990小学四则运算练习软件项目报告

 小学四则运算练习软件项目报告 项目克隆地址:https://git.coding.net/chenf640/workhome2_2.git 目录: 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试运行 六.代码展示 七.psp 八.总结 -------------------------------------------------- 一.需求分析 (一)功能需求  基本功能: 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题. 每个数字

2016012075+小学四则运算练习软件项目报告

2016012075+小学四则运算练习软件项目报告 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试详解 六.代码展示 七.总结 八.PSP展示 coding.net地址:https://git.coding.net/sparkleStar/arithmetic.git,代码在Main.java中 一.需求分析 1.编写目标 使用Java编程语言,独立完成一个3到5个运算符的四则运算练习的命令行软件开发. 2.基本功能需求 (1)程序可接收一个输入参数n,然后随机产生加减乘除(分