结对作业——web四则运算
目录:
一、Coding.net项目地址
二、PSP
三、接口设计
四、接口实现
五、性能分析
六、单元测试
七、异常处理
八、模块设计
九、模块对接
十、结对
十一、思考
十二、PSP
网站:http://ali.hellowood.com.cn:8089/出题做题都能实现,如果生成题目太多,可能会有延迟
Coding仓库地址: https://git.coding.net/librarian1/Operation_Generation_Validate.git
二、十二、PSP
PSP |
任务内容 |
计划时间(min) |
完成时间(min) |
Planning |
计划 |
30 |
60 |
Estimate |
估计这个任务需要多少时间,并规划大致工作步骤 |
30 |
60 |
Development |
开发 |
60*36 |
60*60 |
Analysis |
需求分析 |
60 |
60 |
Design Spec |
生成文档 |
0 |
0 |
Design Review |
设计复审 |
2*60 |
4*60 |
Coding Standard |
代码规范 |
10 |
15 |
Design |
具体设计 |
12*60 |
18*60 |
Coding |
具体编码 |
16*60 |
30*60 |
Code Review |
代码复审 |
4*60 |
6*60 |
Test |
测试 |
15 |
60 |
Reporting |
报告 |
5.5*60 |
9*60 |
Test Report |
测试报告 |
60 |
0 |
Size Measurement |
计算工作量 |
30 |
60 |
Postmortem& ProcessImprovement Plan |
事后总结, 并提出过程改进计划 |
4*60 |
8*60 |
三、接口设计
1、Information Hiding
信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的。
信息隐藏原理框图:
2、Interface Design、Loose Coupling
接口设计和低耦合是相辅相成的,接口化设计能大大降低程序的耦合度,低耦合一定离不开接口化设计。
我们将出题功能与做题功能设计成了2个类:为每一个具体的出题参数设计一个接口,在生成题目的generation类中实现这些接口,并且对这个类进行封装;实现松耦合,接口可以由具体类generation和validate直接实现,而不需要改变依赖类interface,使得软件设计具有可扩展性。
四、接口实现
本次界面程序的调用关系如下图:
我们一共设计了5个类,分别为interface、Generate、Validate、Node、strOperating。
六、单元测试
七、异常处理
异常写在了枚举类enum里面,然后在页面输入那些题目要求的时候会对每个输入框进行判断,如果有异常会走后台的方法输出异常
- EXCEPTION_TITEL_NUMBER
未设置题目数量或题目数量不符合规定
- EXCEPTION_NUMBER_RANGE
未设置数值范围或数值范围不符合规定
- EXCEPTION_SIGN_NUMBER
未设置运算符数量或运算符数量不符合规定
- EXCEPTION_SIGN_NUMBER

八、模块设计
<head
<meta charset="UTF-8">
<title>四则运算题目</title>
<link href="css/main.css" rel="stylesheet" />
<script src="js/jquery-3.2.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
/*计时器*/
function two_char(n) {
return n >= 10 ? n : "0" + n;
}
function time_fun() {
var sec=0;
setInterval(function () {
sec++;
var date = new Date(0, 0)
date.setSeconds(sec);
var h = date.getHours(), m = date.getMinutes(), s = date.getSeconds();
document.getElementById("mytime").innerText = two_char(h) + ":" + two_char(m) + ":" + two_char(s);
}, 1000);
}
/*弹窗*/
$(function() {
$(".button").click(function(){
var $p=$("<p>3</p>");
var p_txt=$p.text();
var $h2=$("h2")
var h2_txt=$h2.text();
$(".mainone").remove();
$("h1").after(p_txt)
$("h1").after("<h3>正确题目数:</h3>")
$("h1").after(h2_txt)
$("h1").after("<h3>此次所用时间:</h3>")
});
}); </script>
</head>
十、结对
在结对的过程中,我和我的伙伴,也就是我的舍友,我们之间有很多愉快和不愉快的事情,意见不统一,项目也存在很多问题,但经过两个人的磨合,我们也算收获到很多东西,很感谢我的伙伴这段时间以来给予我的帮助和配合,感谢她帮了我很多东西,也很感谢我朋友给予我的帮助。
说一说我的小伙伴吧,她是一个南方女孩,在这么多天,包括这两年的接触中,我总结一下她的优点和缺点吧。
优点:很自律,很有时间观念,喜欢钻研一个东西,喜欢思考比较有挑战的问题,不畏惧难题,
缺点:太钻牛角尖,不懂得变通,在完成一个任务的过程中不喜欢接收别人的帮助,喜欢单打独斗,不注重团队合作。
最后说说自己的优缺点:
优点:做事果断,有主见,有领导能力,行动力强。
缺点:缺乏耐心,不够细心,比较浮躁,无法集中注意力。
十一、思考
总之很感谢这段时间的合作,我们在这次结对作业中都收获了很多东西,学会了处理问题的办法,独立思考,互相帮助。
结对编程的缺点:
1、对于有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾。
2、有时候,程序员们会对一个问题各执己见(代码风格可能会是引发技术人员口水战的地方),争吵不休,反而产生重大内耗。
3、两个人在一起工作可能会出现工作精力不能集中的情况。程序员可能会交谈一些与工作无关的事情,反而分散注意力,导致效率比单人更为低下。
4、结对编程可能让程序员们相互学习得更快。有些时候,学习对方的长外,可能会和程序员们在起滋生不良气氛一样快。比如,合伙应付工作,敷衍项目。
5、面对新手,有经验的老手可能会觉得非常的烦躁。不合适的沟通会导到团队的不和谐。
6、新手在面对有经验的老手时会显得非常的紧张和不安,甚至出现害怕焦虑的的精神状态,从而总是出现低级错误,而老手站在他们后面不停地指责他们导致他们更加紧张,出现恶性循环。最终导致项目进展效率低下,并且团队貌合神离。
7、有经验的人更喜欢单兵作战,找个人来站在他背后看着他可能会让他感到非常的不爽,最终导致编程时受到情绪影响,反而出现反作用。
结对编程的优点:
1、程序员互相帮助,互相教对方,可以得到能力上的互补。
2、可以让编程环境有效地贯彻Design。
3、增强代码和产品质量,并有效的减少BUG。
4、降低学习成本。一边编程,一边共享知识和经验,有效地在实践中进行学习。
5、在编程中,相互讨论,可能更快更有效地解决问题。
结对作业——web四则运算的更多相关文章
- 结对作业 -GUI四则运算
目录: 一.前言(及项目地址) 二.PSP(planning) 三.结对编程中对接口的设计 四.计算模块接口的设计与实现过程 五.计算模块接口部分的性能改进 六.计算模块部分单元测试展示 七.计算模块 ...
- 结对作业:四则运算(Java+JavaFX)
一.简介 此程序是一个可自动生成,计算小学四则运算题目的项目. Github地址:https://github.com/czmDeRepository/SoftwareWork/tree/master ...
- 结对作业——随机生成四则运算(Core 第7组)
结对作业 ——随机生成四则运算(core第7组) 吕佳玲 PB16060145 涂涵越 PB16060282 GITHUB地址 https://github.com/hytu99/homework_2 ...
- 结对作业——四则运算 Part2. 封装与对接相关问题
结对作业——四则运算 Part2. 封装与对接相关问题 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分Part 2. ...
- 结对作业——四则运算 Part3. 对于结对编程的总结与思考
结对作业——四则运算 Part3. 对于结对编程的总结与思考 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 Part 1. Core代码编写部分 Part ...
- Core 第三组 结对作业——四则运算 Part1. Core代码编写
结对作业——四则运算 Part1. Core代码编写 PB15061303 刘梓轩PB16061489 艾寅中 GITHUB 地址 戳这里 目录 (因为内容较多,分为了三个部分,但作业系统中只能提交一 ...
- 【第二次个人作业】结对作业Core第一组:四则运算生成PB16061082+PB16120517
[整体概况] 1.描述最终的代码的实现思路以及关键代码. 2.结对作业两个人配合的过程和两个人分工. 3.API接口文档和两个组的对接. 4.效能分析,优化分析和心得体会. [代码实现] 一. 实现功 ...
- 结对作业1----基于flask框架的四则运算生成器
011.012结对作业 coding地址:https://coding.net/u/nikochan/p/2nd_SE/git 一.作业描述 由于上次作业我没有按时完成,而且庞伊凡同学编程能力超棒,所 ...
- 四则运算UI组结对作业报告
Github提交地址: 小组成员:陈兆庭,陈昶金: 一.编程阶段 清明节开始接触和调研关于UI设计的方法.由于两人的各方面知识储备均不足,在各种东西C#.MFC.Qt中进行调查和讨论,最终因为网上说Q ...
随机推荐
- Android远程擦除漏洞
漏洞原理: 安卓浏览器内核有这样一个机制,当网页内嵌入了一个特定格式的字符串,就可以被识别为一个电话号码通过点击该字符串的方式拨打电话.但是没有对*#06#等具有特殊功能的拨号组合进行限制,由于很多厂 ...
- # 课下测试ch02
课下测试ch02 1.假设下面位串是基于IEEE格式的5位浮点表示,一个符号位,2个阶码位,两个小数位.下面正确的是(AD) A . 3.5的表示是[01011] B . -1.0的表示[01111] ...
- ISP与IAP
ISP:in system program 顾名思义,在系统编程,单片机不用从电路上拆下,直接用下载器或者串口即可完成程序的烧写.这个是用于工程师调试程序,或者出厂时烧写程序.本质上是芯片出厂时烧录到 ...
- easybcd删除win10启动项如何恢复?
制作windows启动盘: u盘启动 开始安装,选择左下角的"修复计算机": 运行命令 bcdboot c:\windows /l zh-cn 从系统盘C:\Windows目录中复 ...
- 18 [网络编程]-UDP
1.TCP VS UDP tcp基于链接通信 基于链接,则需要listen(backlog),指定连接池的大小 基于链接,必须先运行的服务端,然后客户端发起链接请求 对于mac系统:如果一端断开了链接 ...
- Openstack入门篇(十二)之neutron服务(计算节点)的部署与测试
1.Neutron组件安装 [root@linux-node2 ~]# yum install -y openstack-neutron-linuxbridge ebtables ipset 2.配置 ...
- nginx反向代理解决wechat图片问题
在nginx 中nginx.conf开启反向代理 location ^~ /wechat_image/ { add_header 'Access-Control-Allow-Origin' " ...
- idea 误删out目录中的文件导致开启服务器后无法访问页面的问题
只需要把out目录整个删除掉,然后再重新开启服务器,服务器就会自动生成新的out目录 同理,target目录也是整个删除掉就能重新生成
- python爬虫之Scrapy框架(CrawlSpider)
提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬去进行实现的(Request模块回调) 方法二:基于CrawlSpi ...
- 总结一下公司项目使用各种较新的前端技术和 Api 的一些经验。
关于 ES6: 需要注意 ES6 的一些特性和 API 是需要一个 200k 的 Polyfill 才能得到支持的,特性如 for ... of 循环,generator,API 如 Object.a ...