201542010208、201571030331软件工程结对项目

https://github.com/gsdz/yunsuan.git

一:需求分析

1:  编写小学四则运算测试系统,要求完成两位数的加,减,乘,除四则运算。能根据用户的输入来选择运算种类,用户输入答案后可以判断正误,做完一次测试后,用户可以决定是否继续进行下一次运算。

2:题型选择界面设计,选择加、减、乘、除运算。

3:系统随机产生一百以内的两个数进行运算。

4:练习时,用户从键盘输入结果,正确和错误均有提示,错误的话提示下会有正确的结果。

二:设计流程图

三:核心代码:

package jiedui;

import java.util.Random;
import java.util.Scanner;

public class jiedui {

public static void main(String[] args) {
/**
* 一共循环10次。
*/
int rightNum = 0;//正确次数
int wrongNum = 0;//错误次数
for (int i =1; i <= 10; i++) {
System.out.println("请计算第" + i + "道题:");// 做到第几题,循环输出
int number1 =(int) (Math.random() * 10);
int number2 =(int) (Math.random() * 10);
Random num = new Random();// 生成随机运算符
int index = num.nextInt(3) + 1;
char[] fuhaos = { ‘+‘, ‘-‘, ‘*‘, ‘/‘ };
String fuhao = String.valueOf(fuhaos[index]);
Scanner scan = new Scanner(System.in);
if (fuhao.equals("+")) { // 进行加法运算
System.out.println(number1 + "+" + number2 + "=");
int input = scan.nextInt();
int sum = number1 + number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else if (fuhao.equals("-")) { // 进行减法运算
System.out.println(number1 + "-" + number2 + "=");
int input = scan.nextInt();
int sum = number1 - number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else if (fuhao.equals("*")) { // 进行乘法运算
System.out.println(number1 + "*" +number2 + "=");
int input = scan.nextInt();
int sum = number1 * number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {
System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}else { // 进行除法运算
System.out.println(number1 + "/" + number2 + "=");
int input = scan.nextInt();
int sum = number1 / number2;
if (sum==input) {
System.out.println("正确");
rightNum++;
} else {

System.out.println("错误");
wrongNum++;
}
System.out.println("正确答案是:" + sum);
}
}
System.out.println("做对" + rightNum + "题");
System.out.println("做错" + wrongNum + "题");
}
}

四:测试结果:

五;psp图


PSP2.1


任务内容


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


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


Planning


计划


30


26


·       Estimate


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


30


26


Development


开发


200


200


··       Analysis


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


40


40


·       Design Spec


·  生成设计文档


30


25


·       Design Review


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


20


15


·       Coding Standard


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


5


5


·       Design


具体设计


350


280


·       Coding


具体编码


150


140


·       Code Review


·  代码复审


10


8


·       Test


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


30


30


Reporting


报告


33


30


··       Test Report


·  测试报告


3


2


·       Size Measurement


计算工作量


10


10


·       Postmortem & Process Improvement Plan


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


25


20

六:伙伴的评价

跟我结伴的是201571030331 益西卓嘎。我的伙伴有很独特的想法和主见,此次实验中有了我的伙伴实验的效果和各个方面大大不同,实验中遇到很多困难但我们依然没放弃,一直坚持真的很感谢我的伙伴。

这次的实验中遇到很多困难,因为我跟伙伴的java基础薄弱的问题而没能实现界面。但是和好伙伴一起完成这次作业是跟以往大大不同,有什么问题和她一起解决,实验效率也提高了许多。我发现合作和个人之间有很大区别。

原文地址:https://www.cnblogs.com/gesangdanzeng/p/8719153.html

时间: 2024-08-30 05:45:25

201542010208、201571030331软件工程结对项目的相关文章

软件工程 结对项目总结

在结对项目中我和王以正同学一组.我们决定以王以正同学个人项目为基础开发.原因主要有几点:我使用的C++在开发效率和难易度上没有王以正用的java好:java语言的跨平台特性可以更好地支持网页端.安卓端:还有就是王以正同学个人项目的功能比我的更为完善.综合以上几点我们选用王以正同学的作为基础开发. 在这次结对项目中我学到了结对编程的方法.感觉这个方法十分实用,效率很高.因为个人开发的话遇到问题很容易陷入困境.止步不前继而工作效率十分低下.结对编程除了两个人分工合作提高了效率之外遇到问题也可以一起解

软件工程结对项目总结

这次的结对项目我与我们班的汪天米为一组. 以之前我的个人项目为基础进行修改的 主要工作做了增加题目难度的选择,对键盘进行去除bug的修改,重新对程序进行了封装,最主要的是对程序进行了单元测试并测量出了代码覆盖率. 对难度选择的实现是通过增加改变生成题目的代码实现的,对原程序中对应题目长度,括号位置,分数个数等常量以新的变量进行替换,并且建立一个新的窗口,在程序运行初要求用户进行设定. 键盘BUG的修改主要是由于个人项目没有考虑清楚,在答案结果可能为负的情况下,小键盘并不能输入负号,导致题目没法正

软件工程结对项目

前言:按照结对编程的原则,我和邻宿舍的小伙伴进行了两人结对编程,我们开发的结对项目的是小学生四则运算练习软件,具体就是随机生成n道题,供学生答题并返回正误记录答题结果,进行多轮.具体需求分析以及功能设计与实现如下. github代码地址:https://github.com/wmajun/Demo3/tree/master/src 一.需求分析 本次实验采用结对编程方式,设计开发一个小学生四则运算练习软件,使之具有以下功能: 由计算机从题库文件中随机选择20道加减乘除混合算式,用户输入算式答案,

软件工程——结对项目

一.项目背景 五子棋是一种两人对弈的纯策略型棋类益智游戏,棋具与围棋通用,起源于中国上古时代的传统黑白棋种之一.主要流行于华人和汉字文化圈的国家以及欧美一些地区. 容易上手,老少皆宜,而且趣味横生,引人入胜:不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性.已在各个游戏平台有应用. 二.五子棋功能 1.计算机能根据棋局状态实时的判断对弈双方的胜负. 2.控制双方交替下棋. 3.友好的界面呈现. 三.结对分工及过程 结对 贾殿铎(学号后四位:1135)  王辉勇(学号后四位:1150)

结对项目——自动生成小学四则运算

结对项目——自动生成小学四则运算 1.Github项目地址: https://github.com/Vicky-Leung/demo 项目制作人:3218005081梁小燕 3218005083许梓莹 2.PSP表格: PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划  60  159 · Estimate · 估计这个任务需要多少时间 60 159 Development 开发  1770  2166 ·

#2018BIT软件工程基础#结对项目:四则运算题目生成

小队成员: 1120161945 雷云霖 1120161949 刘镓煜 一.开发时间 PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟) Planning 计划     · Estimate · 估计这个任务需要多少时间 5 6 Development 开发     · Analysis · 需求分析 (包括学习新技术) 120 120 · Design Spec · 生成设计文档 120 180 · Design Review ·

软件工程团队项目总结

一学期软件工程课结束了,这学期我们共做了三个项目,分别为个人项目.结对项目.以及团队大项目.前两者主要是拿来练手,体会一下简单的软件工程方法论,而结对项目前后历时两个多月,可以说是一次系统的软件工程锻炼,下面对两个迭代过程做一个总结. M1: 我们完成了什么:一个社团平台,给同学提供一个浏览社团活动的活动广场,给社团提供一个管理社员报名和发送通知的集成服务. 我们怎样做到的:需求分析,设想我们的产品的用户场景,建立基本的ER图模型,学习WEB开发的基本知识,做了一些DEMO,学习怎样以基于aja

结对项目1

结对编程初体验 这次结对项目我的小伙伴是中国的朋友闫昊,因为我的代码能力没有比他那么好所以他辛苦了很多. 结对编程是应该互相学习的,但是基本都是他一个人写的代码,所以效率相比之下比较低. 结对项目的特点: 1.通过互相讨论,优点结合到一起. 2.互相有什么错误,可以容易发现. 3.互相帮助,有什么困难的都可以解决. 缺点: 1.因为我们俩住的地方都不一样,所以不容易见面,很难以找共同的时间. 2.容易被打断思考. 关于information hiding,interface design,los

结对项目阶段-模块化分析

在个人项目中,我们完成了四则运算式的自动生成小程序,在结对项目中我们需要做的是把我们的程序按功能划分模块,将不同的功能模块完全分离,作为独立的部分进行测试. 经过了软件工程理论课的学习,我们知道了判断一个程序设计好坏的标志是类的内聚性是否高,耦合度是否低,能够做到高内聚低耦合的设计才是我们希望看到的,这个时候,再回过头看看自己写的程序,简直想哭.当时写的程序用了树的结构,在递归生成运算表达式的时候顺便完成了表达式结果的求解,这不刚好和要求完全相反吗?这个程序除了获得用户输入,输出之外,其他的生成