201671010436 王雪刚 实验四 《英文文本统计分析》结对项目报告


一:实验名称:软件工程结对项目


二:实验目的与要求

(1)体验软件项目开发中的两人合作,练习结对编程(Pair programming)。
(2)掌握Github上增量发布软件的操作方法。


三:实验步骤

任务一:两两自由结对,对结对方的《实验二 软件工程个人项目》的项目成果进行评价。
1、对项目博文作业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因探究。
2、克隆结对方项目源码到本地机器,阅读并测试运行代码,结合运行结果评论程序代码,评论要点包括:软件结构、代码规范、功能实现、人机交互等。
3、尝试利用github中的Fork、Clone、Push、Pull request、Merge pull request对结对方仓库中的源码进行合作修改。



任务二:采用两人合作方式,设计开发一个英文文本统计分析软件。


任务三:完成博文作业。

四:实验内容

项目内容
这个作业属于哪个课程http://www.cnblogs.com/nwnu-daizh/
这个作业的要求在哪里https://www.cnblogs.com/nwnu-daizh/p/10569690.html
课程学习目标熟悉软件开发整体流程,提升自身能力。
本次作业在哪个具体方面帮助我们实现目标第一次体验一个完整的工程
任务一:作业互评
    结对对象评论链接地址:https://www.cnblogs.com/bkcq/p/10558650.html
    结对对象github源代码链接地址:https://github.com/201671010403/- <hr>
    点评内容:
    读完你的博文之后,就我个人而言,此篇博文条列清晰,一下就能让人了然与胸,但其中也有很多的不足之处。从博文结构上看,太过于简单,可以在markdown编辑器下学习一些语法,接受一些新知识,新事物来充实你的博文。从博文内容上看,功能实现过于片面,基本功能的实现不完整,比如柱状图的实现。从PSP表上看,我们的JAVA编程功底太差,不止是你,我也是,希望在以后的作业中学习中都能不断的进步。

你的程序编码段:

    设计实现:
    1.在本地磁盘中创建了一个文本文件,摘取英语文本。
    2.通过map集合和定义的文本字节,实现读取存储等功能。
    3.利用类treemap〈K,V〉基于树的接口实现。整个实现过程不够完整,功能实现片面,也没有按照需求分析来实现。
    以上是我的个人看法,希望对你的博文改进有所帮助,有什么观点误解还望指出。<hr>
    阅读心得:在看了结对对象的实验二作业后,我深刻意识到自己的不足,包括在整体结构上。几次接触markdown编辑器之后,基础语法已经能够运用自如,在之后的每篇博文里,我将严格要求自己,一步一步完善自己的博文,查缺补漏,在编程方面也将努力,把之前的不足尽快纠正。
任务二:采用两人合作方式,设计开发一个英文文本统计分析软件
  • 需求分析
    1、实验二的功能;
    2、单词频数可视化柱状图要求是以下样式:
    1614526-20190402090146556-1925180895.png

      3、统计该文本行数及字符数;
      4、各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
      5、可处理任意用户导入的任意英文文本;
      6、人机交互界面要求GUI界面(WEB页面、APP页面都可);

  • 软件设计说明:
    本次项目主要目的是实现可导入任意英文文本文件,统计该英文文件中单词数和各单词出现的频率(次数),并能将单词按字典顺序输出;将单词及频率写入文件;实现GUI界面;将单词及频率写入指定位置。
    算法设计
    1) 文章分割成单词
    简单概述下算法:把从文件提取的文章存放在String字符串中,然后进行逗号,句号,空格分割,基本上可以分割成单词。
    2)按字典排序算法
    这里字符串的排序和数字的排序一样。
    3)统计词频
    利用hashmap的compareTo()方法,map存在则put并count++(计数),不存在则put进去。


  • 核心功能代码展示
    1614526-20190402205318069-44840807.jpg




1614526-20190401225457848-16077780.jpg


1614526-20190401225510489-722718322.jpg


1614526-20190402150424450-192848896.png
  • 程序运行:程序运行时每个功能界面截图

1、统计文本单词总数
1614526-20190401230103191-1291172004.jpg


2、统计单词出现的次数
1614526-20190401230306841-1555077264.jpg


3、统计出现频率最高的前8个单词结果
1614526-20190401230548889-1819248009.jpg


4、统计文本行数
1614526-20190401230625774-1560902471.jpg


5、GUI界面
1614526-20190401230714085-1048553918.jpg


1614526-20190401230721860-478649779.jpg


6、单词频数可视化柱状图
1614526-20190401230828847-1092236344.jpg


7、输出到文件result.txt中
1614526-20190401230907879-809056348.jpg



1614526-20190401231530128-1211122989.jpg

8、在GitHub中的仓库管理以及代码的共同合作及修改
1)代码克隆,检查及修改
1614526-20190402102802136-680789032.jpg



1614526-20190402103104480-1295564846.jpg

2) issues交互
1614526-20190402103155781-1808344494.jpg

1614526-20190402103209837-1912849099.jpg

3) pull request请求与项目同步
1614526-20190402103305994-1375958601.jpg

9、所用集成开发环境eclipse。
使用的JDK版本为 jdk8u161(jdk1.8)。
数据库SQL serve2016。
  • 结对过程、结对照片

    1614526-20190401232151769-1999588396.jpg

  • 提供此次作业的psp
psp2.1任务内容计划总共需要完成的时间(min)实际完成需要的时间(min)
Planning计划1020
Estimate估计需要时间,并计划大致工作步骤1010
Development开发200240
Analysis需求分析1015
Design Spec生成设计文档3025
Design Review设计复审108
Coding Standard代码规范2025
Design具体设计2030
Coding具体编码360420
Code Review代码复审3040
Test测试1520
Reporting报告810
Text Report测试报告58
Size Measurement计算报告量55
Postmortem&Process Improvement plan总结,并提出改进计划1520

  • 小结感受

      通过本次结编程项目,深刻的体会到一个人的力量毕竟有限,无论是在逻辑设计还是技术实现上,都存在很大差距,整个项目的完成过程中,每个人都发挥出了各自的长处,达到了结对编程的目的,1+1>2的效果很明显,两人都必须参与程序的编码工作,在结对编程中两个人轮流做对方的角色,达到知识互补,将代码质量提到最高,在结对编程模式下,我们之间没有水平上的高低比较,双方都是平等地、互补地进行工作,我们一起分析、起设计、写代码并测试运行,直到最后的文档生成,在开发层次,结对编程能提供更好的设计质量和代码质量,两人合作能有更强的解决问题的能力,对我们自身来说,结对编程能带来更多的自信心,每个模块的实现都能带来更多的成就感,这有利于项目可以更好的进行下去,结对能更好并且有效地交流,相互学习和传递经验,因为一个人的知识已经被其他人共享。如果运用得当,结对编程能达到更好的效果。

    结对项目源码在GitHub的仓库主页链接地址:https://github.com/201671010436/jieduibiancheng

转载于:https://www.cnblogs.com/wangxuegang/p/10638965.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值