关键词:
队伍成员:
黄明炜:201421122097
许晓烽:201421122112
代码地址:https://gitee.com/huhulong/JieDuiXiangMu
1.需求分析:
(1)通过界面能给定参数,限定算式个数和操作数范围
(2)进度条显示计时,可以设置时间
(3)根据输入答案判定对错,保存历史答题情况
2.程序设计
3.代码展示
//主函数入口 public static void main(String[] args) { // TODO Auto-generated method stub try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); } catch (ClassNotFoundException | InstantiationException | IllegalAccessException | UnsupportedLookAndFeelException e) { // TODO Auto-generated catch block e.printStackTrace(); } new MainFrame(); }
//主窗口类 public class MainFrame extends JFrame{ JPanel jpanel=new JPanel(); MainMenuBar mainMenuBar=new MainMenuBar(this);//菜单 ButtonLabel generatingItemButton=new ButtonLabel(Param.generatingItem);//生成按钮 ButtonLabel beginButton=new ButtonLabel(Param.begin);//开始按钮 TimeProgressBar timeProgressBar=new TimeProgressBar(this); JTextArea subjectArea=new JTextArea();//题目框 JTextArea answerArea=new JTextArea();//答题区 public ButtonLabel submitButton=new ButtonLabel(Param.submit);//提交按钮 //构造函数 public MainFrame(){ init(); mouseEvent(); this.setJMenuBar(mainMenuBar);//添加菜单 this.setTitle(Param.title); this.setSize(700,600); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置默认关闭窗口方式 this.setLocationRelativeTo(null);//设置窗体相对居中 this.setResizable(false);//设置窗口不可调整 this.setVisible(true);//可视化 } //初始化设置 public void init(){ this.setLayout(null);//设置空布局 generatingItemButton.setBounds(20, 20, 100, 30); this.add(generatingItemButton); beginButton.setBounds(130, 20, 100, 30); this.add(beginButton); //进度条 timeProgressBar.setBounds(400, 20, 250, 30); this.add(timeProgressBar); subjectArea.setEditable(false); //给试题框出现滚动条 JScrollPane jssubjectArea=new JScrollPane(subjectArea); jssubjectArea.setBounds(20, 100, 600, 150); this.add(jssubjectArea); answerArea.setEditable(false); //给答题框加设滚动条 JScrollPane jsanswerArea=new JScrollPane(answerArea); jsanswerArea.setBounds(20, 300, 600, 150); this.add(jsanswerArea); submitButton.setBounds(300, 480, 100, 30); this.add(submitButton); jpanel.setBounds(0, 0, 700, 1000); this.add(jpanel); } }
4.运行程序
默认界面:
参数修改界面:
成绩展示:
开始做题界面:
5.小结感受:
两个人的合作不只是工作量上的互相分摊,还有思维上会互相弥补对方的视野盲区。比如再设置参数关闭页面的时候,使用dispose()关闭时一直无法实现,也一直找不到问题出在哪里,但是partner一眼就看出来我设置的参数格式出问题,控制台已经报异常。所以后续的dispose执行不到。但是我一直没注意到。
但是两个人合作也会产生不必要的麻烦,比如我写了一个进度条组件,当时写的时候为了贪图方便不用多写类,又不想影响到主窗口类,又想要测试进度条的效果,就直接将类继承了jframe。后续提交给partner去使用的时候,产生大量不必要的麻烦。
6.评价搭档
我的拍档许晓峰同学身为我们宿舍前身的舍长,有很强的责任感而且做事很踏实。一开始我们讨论完实现思路之后,在我还在犹豫使用什么语言实现UI的时候,晓烽同学已经把项目的框架搭建好了。为人和善,很容易沟通,在交流的时候会认真倾听partner的建议,结合对方建议给出自己思考后的答复,具有较强的编程能力。
展示PSP
PSP2.1 |
Personal Software Process Stages |
Time Senior Student |
Time |
Planning |
计划 |
16 |
25 |
· Estimate |
估计这个任务需要多少时间 |
15 |
22 |
Development |
开发 |
552 |
573 |
·Analysis |
需求分析 (包括学习新技术) |
40 |
35 |
· Design Spec |
生成设计文档 |
30 |
25 |
· Design Review |
设计复审 |
15 |
23 |
· Coding Standard |
代码规范 |
16 |
15 |
· Design |
具体设计 |
46 |
35 |
· Coding |
具体编码 |
264 |
263 |
· Code Review |
代码复审 |
40 |
26 |
· Test |
测试(自我测试,修改代码,提交修改) |
40 |
50 |
Reporting |
报告 |
63 |
84 |
|
测试报告 |
10 |
8 |
|
计算工作量 |
14 |
13 |
|
并提出过程改进计划 |
15 |
17 |
结队-结队编程项目贪吃蛇--需求分析
1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、退出... 查看详情
结队-结队编程项目贪吃蛇-需求分析
1.目标贪吃蛇游戏能够稳定运行,有基本的功能。2.特点简单易操作,交互性好3.功能模块的需求包括游戏图形区域界面(比如经典的无米宫地图,方格)、游戏开始按钮、暂停按钮、退出按钮。主要完成游戏的开始、暂停、... 查看详情
结队编程
队伍成员:黄明炜:201421122097许晓烽:201421122112代码地址:https://gitee.com/huhulong/JieDuiXiangMu1.需求分析: (1)通过界面能给定参数,限定算式个数和操作数范围 (2)进度条显示计时,可以设置时间 (3)根据输入答案... 查看详情
《结队-结队编程项目贪吃蛇--需求分析》
用户的特点: 由于本程序简单易操作,交互性好,对用户没有什么特别的要求。项目功能设计概述:1.需求分析: 本系统主要完成贪吃蛇的基本操作,满足余下几点要求: 1)利用方向键(或A,B,C,D)改变蛇的运... 查看详情
《结队-结队编程项目贪吃蛇--需求分析》
项目功能设计概述:1.需求分析: 本系统主要完成贪吃蛇的基本操作,满足余下几点要求: 1)利用方向键(或A,B,C,D)改变蛇的运行方向 2)空格键控制游戏的开始和暂停,并在随机的地方生成食物 3)蛇吃到... 查看详情
结队编程
我的结对编程伙伴是徐纬,和他结队因为比较熟悉,在做一些工作的时候比较方便,可以更高效率的完成任务。编程时完成的任务是解决了老师所讲的一些BUG,还有自己再找到了一些BUG,然后将它们解决。虽然我们两个都不是很... 查看详情
结队编程1-四则运算(9597)
Coding地址:https://coding.net/u/huhulqq/p/jiedui1/git/tree/master/结队成员: 林清青201421123095 郑莹 201421123097 查看详情
结队编程1-四则运算(9597)
Coding地址:https://coding.net/u/huhulqq/p/jiedui1/git/tree/master/结队成员: 林清青201421123095 郑莹 201421123097 查看详情
结队编程
通过我们三人组的努力,我们找到了一些小BUG,让我们一起来看看。 1.登录界面,在没有输入账号密码的时候,点击登录按钮会闪退。 解决方法:在登录程序的代码里加一个判断条件,触发这个条件就可以了。 ... 查看详情
结队编程--作业一
201421122068 林国梽 201421122060 张洪滨coding地址: https://coding.net/u/TomorrowOfYou_ldy/p/jdbczyy/git需求分析:记录用户的对错总数。有计时功能,能显示用户开始答题后的消耗时间。界面支持中文简体/中文繁体/英语,用户可... 查看详情
日程管理系统代码维护第二弹(结队编程)
结队编程的好处:第一:培养新人,促进沟通,提升团队整体能力。第二:更好的知识共享和信息交流,促进团队协作。第三:促进团队成员的沟通,提升团队凝聚力。但由于我们一开始的工作模式都是个人的,现在开始了这个... 查看详情
20165214结队编程项目-四则运算(第二周)(代码片段)
20165214第一次结队编程项目——四则运算第二周需求分析本周的结队编程想要实现一个四则运算系统,它可以自动生成n个计算题(本周不包括分数),其中n由我们输入。每输出一道题目,运行程序的人需要输入相应的答案,直... 查看详情
结队编程2-单元测试(107120)
码市链接:https://git.coding.net/Luojiening/TeamworkTest.gita.需求分析: 1.把计算模块提取出来,单独创建一个类。 2.针对提取出来的计算类的接口函数做单元测试。 3.通过单元测试代码,测试计算类对于各种参... 查看详情
j结队编程代码分析
首先看运行结果: 优点: (1) 思路清晰,在代码里用到了很多的函数,这些函数能够使人比较绒内衣清楚他的思路。 (2) 代码简洁,没有过多的重复的代码片段,这也是使用多个函数的原因。 ... 查看详情
结队编程第一次(代码片段)
功能模块名称语法分析 审查人李少鹏审查日期2018/4/6 代码名称语法分析.cpp 代码作者王斌 文件结构重要性 审查项结论 头文件和定义文件的名称是否合理?... 查看详情
结队编程感悟(代码片段)
一、项目需求1、用户注册功能。用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册;2、用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功。密码6-10位,必须含大小写字母... 查看详情
结队编程项目作业3----开发过程
开发过程: 软件需求分析,首先为整个棋盘建立一张表格用以记录棋子的信息。 初始化,建立盘面数组Table【15】【15】,对战双方的棋型表Computer【15】【15】【4】和Player【15】【15】【4】并将他们... 查看详情
结队编程练习2
一.题目要求1.自动生成小学四则运算题目(加、减、乘、除)2.生成带有真分数的算式。3.统计计算结果正确率二.需求分析1.有单独类提前知晓计算结果。2.有单独类可储存现有输入结果。3.两者可以比较。4.可统计输出与输入结果相... 查看详情