结对作业——四则运算之网页版

结对作业——四则运算之网页版

目录:

一、项目地址

二、PSP表格

三、接口设计

四、计算模块与接口的设计与实现

五、计算模块接口部分的性能改进

六、计算模块部分单元测试展示

七、计算模块部分异常处理说明

八、界面模块的详细设计过程

九、界面模块与设计模块的对接

十、描述结队的过程

十一、优缺点说明

一、项目地址

 源代码的地址:https://git.coding.net/aendless/jieduizuoye.git

 结对小组成员:张洪宇2016012092

                         谢月月2016012075

 

二、PSP表格

PSP 任务内容 计划共完成需要的时间(min)
Planning 计划 30
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 20
Development 开发 1000
Analysis 需求分析 (包括学习新技术) 480
 Design Spec 生成设计文档 40
Design Review 设计复审 (和同事审核设计文档) 40
Coding Standard 代码规范 (为目前的开发制定合适的规范) 50
Design 具体设计 40
Coding 具体编码 720
Code Review 代码复审 60
Test 测试(自我测试,修改代码,提交修改) 60
Report 报告 200
Test Report 测试报告 120
Size Measurement 计算工作量 50
Postmortem & Process Improvement Plan 事后总结, 并提出过程改进计划 40

三、接口设计

        Information Hiding是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他信息隐藏,也叫数据隐藏。简单地说,信息隐藏就是将秘密信息隐藏于另一非保密的载体之中,载体可以是图像、音频、视频、文本,也可以是信道,甚至编码体制或整个系统。模块来说,是不可访问的。信息隐藏的方法主要有隐写术、数字水印技术、可视密码、潜信道、隐匿协议等。

        Interface Design,原意是指面向抽象协议编程,实现者在实现时要严格按协议来办。面向对象编程是指面向抽象和具象。抽象和具象是矛盾的统一体,不可能只有抽象没有具象。一般懂得抽象的人都明白这个道理。 但有的人只知具象却不知抽象为何物。  所以只有interface没有实现,或只有实现而没有interface者是没有用的的。

       Loose Coupling系统通常是基于消息的系统,此时客户端和远程服务并不知道对方是如何实现的。客户端和服务之间的通讯由消息的架构支配。只要消息符合协商的架构,则客户端或服务的实现就可以根据需要进行更改,而不必担心会破坏对方。

四、计算模块与接口的设计与实现

这个是修改以前的模块

这个是修改以后的模块

       首先我们通过Main类对整体的结果进行输出,在计算模块这个部分当中,我们先生成随机数和算数符,再进行单个的计算,然后进行多个的计算,在这个过程中,会对运算符、优先级等进行判断,然后再通过IO对结果进行输出,并判断对错。

计算模块当中的类:

Main类:对整体计算的结果进行输出

IO:

anwser类:对最后输出的答案进行判断设计

shuchu:对输出进行设计

Jisuan:

creat类、creat2类、creat3类:通过这三个类对这个计算进行创造

dangejisuan类:从计算式当中最简单的式子进行设计,县创造一个最简单的式子

jisuanshi类:对计算的式子进行设计,在这个过程中会对运算符、数字进行判断

pinjie类:对单个与计算式等进行拼接

entity:

Chuandi类:

duicuo类:对算数结果和做的代码计算的结果进行判断

SuiJiShu类:对生成的随机数范围等进行判断

YunSuanFul类:对运算符优先级和出现重复等进行判断

五、计算模块接口部分的性能改进

      性能分析的这个软件是我接触到的一个全新的软件。之前对于自己的代码,我从没想过对它进行各方面的全面分析。而我通过这个软件学会了如何对自己的代码进行分析。首先我在eclipse当中配置了jprofiler的小插件,然后通过一段代码将我的原有的项目的分析呈现到jprofiler当中,首先第一个图是我们总的概观,也是我们最初先在jprofiler看见的内容,它从CPU等各个方面分析了代码。

 

这个图书最开始对各个classes进行分析的图,反应了各个classes最初在代码中运用情况

这个是截取的中间某个小阶段中classes的变化情况,可以看出各个时间段classes的运用情况,比较出各个classes的运用次数的多少

这个是最终的状态,可以看出和最开始许多的classes的运用发生了明显的变化。

六、计算模块的单元测试

     下面是我们对代码的单元测试的覆盖率的一部分,从这个方面,我们做得还有一些不足,需要改进的地方还有许多,覆盖率有一部分没有达到90%这是我们代码做的不足的地方,由于我们两个的代码能力都不是很好,所以这方面我们还有待提高,在之后的学习中,我会提高自己这方面的能力。

 

 

 

七、计算模块部分异常处理说明

1、在编码的过程中,由于我们电脑的版本问题,从他那拿过来的代码就开始进行报错,出现异常,在这过程中,我就开始根据异常说明进行修改,但是并不能修改正确,后来我就尝试改了几次,最后消除了错误,例如:set<string> set=new hashset<>就会在我的电脑上出现异常,最后我改为set<string> set= hashset<>,然后它消除了异常,能够正常显示

2、在编程的过程中,我尝试改变参数的时候也出现异常,比如,我改变出题范围的时候,在运行之后,它输出文件出错的形式,最后我在主函数中,将出题范围进行了设定等过程,它才没有报错。

3、在将他的代码导入到我的电脑时,出现了代码基本上都报错的情况,如下图:

后来我查找了相关资料才知道,是由于我重新下载了最新版的eclipse,没有配置jdk、tomcat等出现的问题,按照网上的操作步骤,我又在自己的新版的eclipse里面配置了他们

但在配置tomcat的过程中我发现了自己的eclipse没有server,或者server中没有tomcat,在这过程中花费了许多时间来修改。

4、在出结果的过程中,我输入100道题,只出了3道题,但后来试了几次又正常了,我想这是不是这个代码出现了一个小小的bug而已

八、界面模块的详细设计过程

 

通过上面的界面,我们科进行题目的设置,和做题

 

九、界面模块与设计模块的对接

 

 

 

十、描述结队的过程

我们两个水平都不算高,结对项目遇到了很多挫折,我的队友很努力的在完成作业,我由于一些原因做的贡献很少,比较抱歉。首先,我们先进行了讨论,然后我们分了工,他进行web的前端的设计,我做了后端的设计,但是对于单元测试这块,由于我的电脑的问题,没能做好,所以就没上传,最近两天我会努力补齐的。而且在这过程中1,我们学习了很多知识,如单元测试,性能分析等。

十一、优缺点说明

 结对编程的优点:

1、在结对项目中,可以取长补短,也有很好的促进作用,既能督促我们学习新技术,也能促进我们更加的努力,还能和同学沟通交流。

2、结对项目可以在两个人的交流下,使项目更加的完美。

3、结对项目是一个很好的交流方式‘能促进同学之间的感情,又能使整个年级更加的充满朝气,凝聚力。

结对编程的缺点:

在这次编程中,我们两个沟通比较少,前期我们这是相对独立的做,结果在最后发现这样会出现很多问题,刚开始的时候,将他的代码拷过来就报错,然后改了很久,才解决。后面也出现了许多问题,比如说代码异常、软件版本不符等

张宏宇的优点:

1、学习能力强,他能够在短时间内将一样新的技术运用到项目中,是十分值得我学习的

2、做事积极主动,而且比较有责任心,在这次结对项目中,他在我有问题的时候,积极的帮我解决,而且在做项目的过程中,比较积极的去完成

3、能为他人着想,他昨天在我出现问题时,主动的揽下我的活,开始完成我们的结对作业,但是我们未完成的作业的内容太多,以至于我们没能及时的完成,下次我们会尽量在前期就沟通好,不会出现后期压力大的现象

他的缺点:自制力差

我的优点:有耐心

我的缺点:技术能力不足,有很多的技术没有掌握,做结对作业的时候太拖沓,学习能力比较差

十二:PSP表格

 

SP

任务内容

实际时间(min)

Planning

计划

75

 Estimate

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

45

Development

开发

3000

Test

测试

200

Algorithm Optimization

算法优化

200

Interface Design

接口设计

300

Coding Standard

代码规范

300

Design

具体设计

120

Coding

具体编码

800

Code Review

代码复审

100

Test

测试

200

Reporting

报告

30

Test Report

测试报告

120

Size Measurement

计算工作量

30

Postmortem & Process Improvement Plan

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

120

 

 

 

 

 

 

 

 

 

 

 

posted @ 2018-04-10 03:08  雨凌雪  阅读(235)  评论(3编辑  收藏  举报