北京电子科技学院BESTI实验报告

课程:程序设计与数据结构

班级: 1623

姓名: 王译潇

学号:20162314

指导教师:娄佳鹏老师、王志强老师

实验日期:2017年5月12号

实验密级: 非密级

预习程度: 较好

实验时间:60分钟

必修/选修:必修

实验序号:2

实验内容

  1. 初步掌握IDEA中Code的用法

  2. 理解并掌握在码云中与搭档结对编程开发的方式方法

  3. 初步掌握结对编程的方式过程

  4. 熟悉S.O.L.I.D原则

  5. 了解设计模式

实验要求

1.没有Linux基础的同学建议先学习《Linux基础入门(新版)》《Vim编辑器》 课程

2.完成实验、撰写实验报告,实验报告以博客方式发表在博客园,注意实验报告重点是运行结果,遇到的问题(工具查找,安装,使用,程序的编辑,调试,运行等)、解决办法(空洞的方法如“查网络”、“问同学”、“看书”等一律得0分)以及分析(从中可以得到什么启示,有什么收获,教训等)。报告可以参考范飞龙老师的指导

  1. 严禁抄袭,有该行为者实验成绩归零,并附加其他惩罚措施。

  2. 请大家先在实验楼中的~/Code目录中用自己的学号建立一个目录,代码和UML图要放到这个目录中,截图中没有学号的会要求重做,然后跟着下面的步骤练习。

实验情况

1.IDEA工具Code格式化代码

2.码云与搭档结对后,下载并修改搭档的Complex的代码,提交git log 截图

3.在码云上下载并Code格式化搭档的代码

4.结对方式学习Java密码学相关内容,以下是凯撒密码的加密解密,其余内容已经git到我和搭档林臻的公共项目

搭档-20162310林臻的博客

码云上公共项目的链接

PSP2.1(Personal Software Process)

步骤 时间 百分比
需求分析 45分钟 16.7%
设计 50分钟 18.5%
代码实现 2小时 44.4%
测试 30分钟 11.1%
分析总结 25分钟 9.2%

结对编程四则运算第一阶段总结

课程:程序设计与数据结构

班级: 1623

姓名: 王译潇

学号:20162314

担任角色

驾驶员:林臻

副驾驶:王译潇

一、需求分析

  • 我们这门课是讲面向对象的程序设计,以对象为主,以使用者即以人为本是我们数据结构和程序设计的出发点
  • 需要一个给测试对象自主选择的对象:难度等级、确定继续或退出等。
  • 需要一个针对每个等级设计出的计算方法,一个循环器
  • 需要一个统计正确率的循环器
  • 需要一个针对除法及真分数计算的一个类

二、设计思路

  • 使用if (else-if) 语句 去实行自主选择level1-level6的难度
  • 使用( while(**.equalsIgnoreCase("y")) ) 来给使用者一个自主选择题目难度及数量的方法
  • 借助循环器记录并统计计算用户的正确率

阶段性成果

  • 设计level1-level6的6个等级难度
  •     Level1: 两个个位整数的加法运算
  •     Level2: 三个十位整数的加减法混合运算
  •     Level3:三个个位帧数的加减乘混合运算
  •     Level4:两个分式相加
  •     Level5:四个分式的加法和乘法混合运算
  •     Level6:六个分式的加减乘除混合运算

遇到的问题(与搭档20162310林臻一起遇到并解决的,故这点我俩博客是相同的)

第一个遇到的问题是:

因为设计了两个( while(**.equalsIgnoreCase("y")))来达到内层外层的能循环的目的。但是实际操作的时候出现了错误程序竟然没等我输入是否要再选一个难度时就已经结束了程序的运行

解决方案: 我发现两层的循坏在**位置上不能用同一个字符串,得换一个,如此达成目的。

第二个遇到的问题是:

在设计实现准确率的过程之中,我在每次的运算中都进行了正确的题和错误的记录,所以我怕在程序的结尾打了一行[tf = t / (t + f);]但是程序并没有朝着我所预期的方向运行,不管用户端的操作者答对了多少题目,最后的准确率依然为0.0。

解决方案:由于我之前定义[t和f]:int t = 0;我就意识到了可能在各个难度循环中得到的[t和f]值并没能出来,所以最后那一段代码只能得到我定义的初始值,于是我在着一行代码前打了t = t;;f = f;如此即可以正常运行了。

三、JUnit测试

  • 测试结果

结对评价

在这周的实验和结对编程过程中,20162310林臻表现出色认真,一丝不苟,创意十足,有许多idea,由于我个人学习安排,更随我不辞辛苦

远到北大在我作为领航者的带领下,深入贯彻落实我的讲话精神和指示方针,圆满联手完成了结对以来的第一个作业,画上了一个圆满的句号。

PSP2.2

PSP2.2

PSP2.2 Personal Software Process Stages 预估耗时(小时) 实际耗时(小时)
Planning 计划 1 1
· Estimate · 估计这个任务需要多少时间 5 10
· Analysis · 需求分析 (包括学习新技术) 2 2
· Design Spec · 生成设计文档 1 1
· Design Review · 设计复审 (和同事审核设计文档) 1 1
· Coding Standard · 代码规范 (为目前的开发制定合适的规范) 1 1
· Design · 具体设计 2 3
· Coding · 具体编码 5 6
· Code Review · 代码复审 1 1
· Test · 测试(自我测试,修改代码,提交修改) 1 1
Reporting 报告 1 1
· Test Report · 测试报告 2 2.5
· Size Measurement · 计算工作量 0.5 0.5
· Postmortem & Process · 事后总结, 并提出过程改进计划 3 2

王译潇20162314 实验报告三plus结对编程四则运算第一阶段的更多相关文章

  1. java实验报告三

    实验三 敏捷开发与XP实践 一.实验内容 1. XP基础 2. XP核心实践 3. 相关工具 二.实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上 ...

  2. 20145118 《Java程序设计》 实验报告三

    实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验要求 1.没有Linux基础的同学建议先学习<Linux基础入门(新版)><Vim编辑器> 课程 2 ...

  3. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  4. JAVA实验报告三:敏捷开发与XP实践

    实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领域:软件需 ...

  5. 20145221 《Java程序设计》实验报告三:敏捷开发与XP实践

    20145221 <Java程序设计>实验报告三:敏捷开发与XP实践 实验要求 以结对编程的方式编写一个软件,Blog中要给出结对同学的Blog网址 记录TDD和重构的过程,测试代码不要少 ...

  6. 2017-2018-2 1723《程序设计与数据结构》第十一周作业 & 实验三 & (总体)第三周结对编程 总结

    作业地址 第十一次作业:https://edu.cnblogs.com/campus/besti/CS-IMIS-1723/homework/1933 (作业界面已评分,可随时查看,如果对自己的评分有 ...

  7. 20145226夏艺华 《Java程序设计》实验报告三

    实验三 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 相关工具 实验步骤 (一)敏捷开发与XP 软件工程是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程.软件工程包括下列领 ...

  8. 第五周总结&实验报告三

    第五周总结&实验报告三 实验报告 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s ...

  9. 20145221 《Java程序设计》实验报告五:网络编程及安全

    20145221 <Java程序设计>实验报告五:网络编程及安全 实验要求 掌握Socket程序的编写 运行TCP代码包,结对进行,一人服务器,一人客户端 掌握密码技术的使用 利用加解密代 ...

随机推荐

  1. 边缘检测sobel算子

    sobel算子 - sophia_hxw - 博客园http://www.cnblogs.com/sophia-hxw/p/6088035.html #1,个人理解 网上查了很多资料,都说sobel算 ...

  2. ObjC利用正则表达式抓取网页内容(网络爬虫)

    本文转载至 http://www.cocoachina.com/bbs/read.php?tid=103813&fpage=63 在开发项目的过程,很多情况下我们需要利用互联网上的一些数据,在 ...

  3. 51NOD 1013(3的幂的和)

    题目链接:传送门 题目大意:求(3^0+3^1+3^2+3^3+...+3^n)%1e9的值 题目思路:乘法逆元裸题 #include <iostream> #include <cs ...

  4. HttpURLConnection 当作请求调用接口不带返回参数的工具类

    package cn.smartercampus.core.util; import java.io.BufferedReader; import java.io.InputStream; impor ...

  5. ClickHouse开源数据库

    ClickHouse是一个开源的面向列式数据的数据库管理系统,能够使用SQL查询并且生成实时数据报告. 优点: 1.并行处理单个查询(利用多核) 2.在多个服务器上分布式处理 3.非常快的扫描,可用于 ...

  6. maven的核心概念

    1 简单的核心概念 1.1 坐标 groupId.artifactId.version,很简单,这三个坐标定位到了该依赖的位置,有了它们就可以下载该依赖了. 1.2 依赖 如果一个jar包使用了另外一 ...

  7. query_string查询支持全部的Apache Lucene查询语法 低频词划分依据 模糊查询 Disjunction Max

    3.3 基本查询3.3.1词条查询 词条查询是未经分析的,要跟索引文档中的词条完全匹配注意:在输入数据中,title字段含有Crime and Punishment,但我们使用小写开头的crime来搜 ...

  8. css3的clip-path属性

    css3的clip-path属性 网上看到的都是因为2年前一个出名的网站引发了对该属性的研究.所以大概是2年前火了一阵子的属性.2016-09-10  23:54:00 直接开始总结它的用法: 2个基 ...

  9. ajax简介及JS写原生ajax

    ajax 1.什么是ajax ajax 的全称是Asynchronous JavaScript and XML,其中, Asynchronous 是异步的意思,指的是异步 JavaScript 和 X ...

  10. PHP的语言结构和函数的区别

    相信大家经常看到对比一些PHP应用中,说用isset() 替换 strlen(),isset比strlen执行速度快等. 例子: if ( isset($user) ) { //do some thi ...