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

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

结对作业搭档:陈杰

一、Coding.Net地址:https://git.coding.net/carlyle59/jiedui.git

二、十二、PSP表展示

为了方便展示和对比,我将两个PSP表格整合到一起

PSP2.1

任务内容

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

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

Planning

计划

60

90

·        Estimate

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

60

90

Development

开发

37*60+5

65*60+25

·        Analysis

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

30

60

·        Design Spec

·         生成设计文档

10

10

·        Design Review

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

5

15

·        Coding Standard

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

60

2*60

·        Design

·         具体设计

5*60

12*60

·        Coding

·         具体编码

3*6*60

4*6*60

·        Code Review

·         代码复审

12*60

2*12*60

·        Test

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

20

2*60

Reporting

报告

3*60+40

6*60+10

·         Test Report

·         测试报告

10

10

·         Size Measurement

·         计算工作量

30

60

·         Postmortem & Process Improvement Plan

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

3*60

5*60

三、接口设计

我先查了关于Information Hiding, Interface Design, Loose Coupling的资料。

Information Hiding(信息隐藏):信息隐藏指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的

摘自博客:https://blog.csdn.net/gongchuangsu/article/details/53895916

Interface Design(接口设计)和Loose Coupling(松耦合)两者相辅相成。Interface Design(接口设计)是面向接口设计的常用手段,Loose Coupling(松耦合)是基于面向接口编程的

我们在设计servlet传值时用了hidden表单

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

我们设计了接收参数的输入类,还设计了有括号和无括号模式的两个类,除此之外还有两个模式下的一些计算类和判断类

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

我们分析了用随机数可能会产生效率下降,因此采用分步骤判断的方法提前去除错误,提高性能

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

由于完成的较晚,所以我们还没来得及进行单元测试,我们会在之后补充图片

七、异常处理

在输入参数的过程中,用户可能存在输入的数值过大或过小,或者操作符的数量过大或过小,下面是解决这个异常的代码

我的手机 2018/4/10 6:38:17
if(Qn<1||Qn>10000) {
            out.println("请重新输入你的题目数量,范围为1-10000");
             out.println("<br />");
             String zzyc="<a href="http://localhost:8088/MyServlet/NewFile.jsp">重新出题请点击这里</a>";
             out.println(zzyc);
            out.close();
        }
        if(On<1||On>10) {
            out.println("请重新输入你的操作符数量,范围为1-10");
             out.println("<br />");
             String zzyc="<a href="http://localhost:8088/MyServlet/NewFile.jsp">重新出题请点击这里</a>";
             out.println(zzyc);
            out.close();
        }
        if(Mi<1||Mi>50) {
            out.println("请重新输入你的下界参数,范围为1-50");
             out.println("<br />");
             String zzyc="<a href="http://localhost:8088/MyServlet/NewFile.jsp">重新出题请点击这里</a>";
             out.println(zzyc);
            out.close();
        }
        if(Ma<50||Ma>1000) {
            out.println("请重新输入你的上界参数,范围为50-1000");
             out.println("<br />");
             String zzyc="<a href="http://localhost:8088/MyServlet/NewFile.jsp">重新出题请点击这里</a>";
             out.println(zzyc);
            out.close();
        }
        if(((On+1)*Mi)>Ma) {
            out.println("你的上界参数与下界参数之间很难形成算式,请重新出题");
             out.println("<br />");
             String zzyc="<a href="http://localhost:8088/MyServlet/NewFile.jsp">重新出题请点击这里</a>";
             out.println(zzyc);
            out.close();
        }
        Command.ma(Qn,On,Mi,Ma,ym,yb,suShi);
        if(ym==0&&yyy==1) {
               for(int i=0;i<2*Qn;i+=2)
               {
                   int ty=2+(i*2)%(2*On);
                   if(ty+3>=2*On+2)
                    ty-=2;
                   if(ty>=2) {
                   suShi[i+1][ty]=1;
                   suShi[i+1][ty+3]=2;
                   }
               }
        }

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

因为这一部分是我的结对搭档主要负责做的,因此我没有详细的设计过程

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

这次项目我们做的是网页版,用servlet实现网页和Java代码的联系

我们的网页有设计题目、做题和显示做题结果三个部分组成

设计题目页面效果如下

做题页面效果如下

做题结果显示效果如下

十、结对照片

因为当时下课匆匆忙忙就直接让同学帮我们在食堂拍了一张

 

十一、结对评价

结对优点:

1、增强团队合作和适应能力

2、相互学习,弥补各自的不足

3、接触更多的代码风格

4、学会合作

结对缺点:

1、可能存在两人分工不均

2、花费时间解释各自代码的含义

3、两人各自的工作难以结合

 

队友评价:

优点:

1、 做事踏实认真

2、 技术强,代码能力强

3、 乐于助人、热心大方

缺点:沟通交流比较少

十三、总结及反思

这次作业对于我来说难度确实很大,我的队友陈杰给了我很大的帮助,我们的代码是基于他第一次作业的基础上做的,他也很辛苦,所以十分的感激他。但是也反映出我自己的水平不过关的事实,会继续努力学习,希望下次作业会做的更好。

原文地址:https://www.cnblogs.com/isccA/p/8776125.html