首页 > 其他 > 详细

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

时间:2019-04-02 21:30:59      阅读:148      评论:0      收藏:0      [点我收藏+]

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


二:实验目的与要求

(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、单词频数可视化柱状图要求是以下样式:
    技术分享图片

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

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


  • 核心功能代码展示
    技术分享图片




技术分享图片


技术分享图片


技术分享图片

  • 程序运行:程序运行时每个功能界面截图

1、统计文本单词总数
技术分享图片


2、统计单词出现的次数
技术分享图片


3、统计出现频率最高的前8个单词结果
技术分享图片


4、统计文本行数
技术分享图片


5、GUI界面
技术分享图片


技术分享图片


6、单词频数可视化柱状图
技术分享图片


7、输出到文件result.txt中
技术分享图片



技术分享图片


8、在GitHub中的仓库管理以及代码的共同合作及修改
1)代码克隆,检查及修改
技术分享图片



技术分享图片

2) issues交互
技术分享图片

技术分享图片

3) pull request请求与项目同步
技术分享图片

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

  • 结对过程、结对照片

    技术分享图片

  • 提供此次作业的psp
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

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

原文:https://www.cnblogs.com/wangxuegang/p/10638965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!