(1)体验软件项目开发中的两人合做,练习结对编程(Pair programming)。
(2)掌握Github上增量发布软件的操做方法。html
任务一:两两自由结对,对结对方的《实验二 软件工程我的项目》的项目成果进行评价。
一、对项目博文做业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成须要的时间”与“实际完成须要的时间”两列数据的差别化分析与缘由探究。
二、克隆结对方项目源码到本地机器,阅读并测试运行代码,结合运行结果评论程序代码,评论要点包括:软件结构、代码规范、功能实现、人机交互等。
三、尝试利用github中的Fork、Clone、Push、Pull request、Merge pull request对结对方仓库中的源码进行合做修改。git
项目 | 内容 |
这个做业属于哪一个课程 | http://www.cnblogs.com/nwnu-daizh/ |
这个做业的要求在哪里 | http://www.javashuo.com/article/p-bjcswxqf-ma.html |
课程学习目标 | 熟悉软件开发总体流程,提高自身能力。 |
本次做业在哪一个具体方面帮助咱们实现目标 | 第一次体验一个完整的工程 |
结对对象评论连接地址:https://www.cnblogs.com/bkcq/p/10558650.html 结对对象github源代码连接地址:https://github.com/201671010403/- <hr> 点评内容: 读完你的博文以后,就我我的而言,此篇博文条列清晰,一下就能让人了然与胸,但其中也有不少的不足之处。从博文结构上看,太过于简单,能够在markdown编辑器下学习一些语法,接受一些新知识,新事物来充实你的博文。从博文内容上看,功能实现过于片面,基本功能的实现不完整,好比柱状图的实现。从PSP表上看,咱们的JAVA编程功底太差,不止是你,我也是,但愿在之后的做业中学习中都能不断的进步。
你的程序编码段:github
设计实现: 1.在本地磁盘中建立了一个文本文件,摘取英语文本。 2.经过map集合和定义的文本字节,实现读取存储等功能。 3.利用类treemap〈K,V〉基于树的接口实现。整个实现过程不够完整,功能实现片面,也没有按照需求分析来实现。 以上是个人我的见解,但愿对你的博文改进有所帮助,有什么观点误解还望指出。<hr> 阅读心得:在看告终对对象的实验二做业后,我深入意识到本身的不足,包括在总体结构上。几回接触markdown编辑器以后,基础语法已经可以运用自如,在以后的每篇博文里,我将严格要求本身,一步一步完善本身的博文,查缺补漏,在编程方面也将努力,把以前的不足尽快纠正。
需求分析
一、实验二的功能;
二、单词频数可视化柱状图要求是如下样式:
算法
三、统计该文本行数及字符数; 四、各类统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms); 五、可处理任意用户导入的任意英文文本; 六、人机交互界面要求GUI界面(WEB页面、APP页面均可);
软件设计说明:
本次项目主要目的是实现可导入任意英文文本文件,统计该英文文件中单词数和各单词出现的频率(次数),并能将单词按字典顺序输出;将单词及频率写入文件;实现GUI界面;将单词及频率写入指定位置。
算法设计
1) 文章分割成单词
简单概述下算法:把从文件提取的文章存放在String字符串中,而后进行逗号,句号,空格分割,基本上能够分割成单词。
2)按字典排序算法
这里字符串的排序和数字的排序同样。
3)统计词频
利用hashmap的compareTo()方法,map存在则put并count++(计数),不存在则put进去。数据库
一、统计文本单词总数
编程
二、统计单词出现的次数
markdown
三、统计出现频率最高的前8个单词结果
eclipse
四、统计文本行数
编辑器
五、GUI界面
学习
六、单词频数可视化柱状图
七、输出到文件result.txt中
八、在GitHub中的仓库管理以及代码的共同合做及修改
1)代码克隆,检查及修改
psp2.1 | 任务内容 | 计划总共须要完成的时间(min) | 实际完成须要的时间(min) |
Planning | 计划 | 10 | 20 |
Estimate | 估计须要时间,并计划大体工做步骤 | 10 | 10 |
Development | 开发 | 200 | 240 |
Analysis | 需求分析 | 10 | 15 |
Design Spec | 生成设计文档 | 30 | 25 |
Design Review | 设计复审 | 10 | 8 |
Coding Standard | 代码规范 | 20 | 25 |
Design | 具体设计 | 20 | 30 |
Coding | 具体编码 | 360 | 420 |
Code Review | 代码复审 | 30 | 40 |
Test | 测试 | 15 | 20 |
Reporting | 报告 | 8 | 10 |
Text Report | 测试报告 | 5 | 8 |
Size Measurement | 计算报告量 | 5 | 5 |
Postmortem&Process Improvement plan | 总结,并提出改进计划 | 15 | 20 |
小结感觉
经过本次结编程项目,深入的体会到一我的的力量毕竟有限,不管是在逻辑设计仍是技术实现上,都存在很大差距,整个项目的完成过程当中,每一个人都发挥出了各自的长处,达到告终对编程的目的,1+1>2的效果很明显,两人都必须参与程序的编码工做,在结对编程中两我的轮流作对方的角色,达到知识互补,将代码质量提到最高,在结对编程模式下,咱们之间没有水平上的高低比较,双方都是平等地、互补地进行工做,咱们一块儿分析、起设计、写代码并测试运行,直到最后的文档生成,在开发层次,结对编程能提供更好的设计质量和代码质量,两人合做能有更强的解决问题的能力,对咱们自身来讲,结对编程能带来更多的自信心,每一个模块的实现都能带来更多的成就感,这有利于项目能够更好的进行下去,结对能更好而且有效地交流,相互学习和传递经验,由于一我的的知识已经被其余人共享。若是运用得当,结对编程能达到更好的效果。
结对项目源码在GitHub的仓库主页连接地址:https://github.com/201671010436/jieduibiancheng