201671010402-陈靖——英文文本统计分析》结对项目报告

1、实验目的与要求

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

2、实验内容和步骤

任务1:两两自由结对,对结对方的《实验二 软件工程我的项目》的项目成果进行评价

(一)具体要求以下:

  • 1.对项目博文做业进行阅读并进行评论,评论要点包括:博文结构、博文内容、博文结构与PSP中“任务内容”列的关系、PSP中“计划共完成须要的时间”与“实际完成须要的时间”两列数据的差别化分析与缘由探究。html

  • 2.克隆结对方项目源码到本地机器,阅读并测试运行代码,结合运行结果评论程序代码,评论要点包括:软件结构、代码规范、功能实现、人机交互等。git

  • 3.尝试利用github中的Fork、Clone、Push、Pull request、Merge pull request对结对方仓库中的源码进行合做修改。github

(二)过程以下:

所点评的结对方的博客园地址连接 http://www.javashuo.com/article/p-rqphfriw-ho.html
点评内容 首先从博文结构来看,你的整体结构还算工整,可是博文的排版不够规范,好比说各级标题看着不够清晰,还有PSP表格的制做也是错误的;其次从博文内容来看,你的内容相对于比较简单,尤为是对该程序的功能设计和设计实现比较简单,好比说没有指出该程序中用了哪些类及这些类的功能;再者从功能实现来看,没有彻底实现该程序的功能,好比说柱状图这一功能没有实现,还有没有将单词及词频数按字典顺序输出到result.txt文件中;再还有从软件结构和代码规范来看,你的软件结构和代码总体还算规范,惟一美中不足的就是没有添加注释;还有就是从你上传到GitHub的代码来看,该项目的src文件未上传到GitHub上;最后从你的PSP展现能够看出,你在“开发”和“具体编码”这两个阶段的“计划完成所须要的时间”和“实际完成所用的时间”相差较大,缘由多是你的Java编程能力相对比较薄弱。但愿之后的博文中注意这些问题,好好学习,再接再砺,加油!
结对方GitHub连接地址 https://github.com/tanglu007/lu
点评心得 首先从结对方的博客能够看出,咱们在实验过程当中均存在不少问题,并且在遇到问题时,咱们没有很快的解决问题,归其缘由也是由于咱们的专业知识太差,因此才致使后来咱们没有在老师规定思惟时间内完成该系统的因此功能;其次,咱们存在的最大的问题就是Java的编程能力太薄弱,因此这次任务对于咱们来讲仍是比较困难,但咱们会尽可能本身找资料,本身抽时间学习来弥补本身的不足;最后,我意识到结对合做对开发一个系统的重要性,明白了一我的的力量是有限的,因此两人合做很好的解决了这一问题。

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

(一)需求分析:

  • 1.实验2要求的功能;编程

  • 2.单词频数可视化柱状图要求是如下样式:学习

  • 3.统计该文本行数及字符数;测试

  • 4.各类统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);编码

  • 5.可处理任意用户导入的任意英文文本;设计

  • 6.人机交互界面要求GUI界面(WEB页面、APP页面均可)。3d

(二)核心功能代码展现:

  • 高频词的统计

  • 柱状图的实现

  • 行数与字符数的统计

(三)程序运行结果:

  • 词频统计

  • 柱状图实现

  • 行数与字符数实现

  • 将统计结果返回到result.txt文档中

(四)描述结对的过程,提供两人在讨论、细化和编程时的结对照片。

  • 1.结对过程:首先在看到老师发布的实验任务书时,我先是找到个人结对方,接下来就开始了咱们的计划。由于结对编程在开发过程当中,须要有两个角色,分别是“驾驶员”和“领航员”,且驾驶员的做用是控制鼠标和键盘的使用,即负责编码工做,而领航员得做用是坐在驾驶员一旁观察和思考,即负责检查错误、考虑解决方案。但鉴于咱们两个的Java编程能力都比较薄弱,一人完成不了编码的任务,因此在整个开发过程当中,咱们都是采用两人互相合做的方式,这两个角色的任务没有那么分工明确,但在开发过程当中,两我的均付出了本身的努力。
    下面就是咱们这次结对编程的步骤:首先咱们在拿到题目后,根据老师的需求,咱们经过坐在一块儿讨论的方式,明确了设计思路,并编写了需求分析(因为老师在实验任务书中的需求分析写的比较明确,因此这个阶段用时不是不少);紧接着就是具体编码这一步骤了,这一阶段对咱们来讲是最困难的,在这一阶段中,咱们互相吸收结对方比较好的意见并采用,在遇到技术盲区时,咱们也是各自先查找资料,各自先学习,在两我的都查找完成后,再坐在一块儿发表各自的想法,最后再用于项目中;而后就是代码复审和测试阶段,在这一阶段中我是负责代码复审的工做,而结对方负责项目的测试阶段,在双方的工做都完成后,再坐在一块儿说出本身的意见,即咱们发表一下咱们以为这个项目有什么不足的地方,且有哪些地方是能够改进的;最后就是撰写设计报告了,即写博文,这一阶段咱们先是本身写本身的,在双方都写完后,再坐在一块儿互相看对方的博文,并指出结对方的博文的不足之处,再总结一下这一项目的开发对咱们的学习做用。经过以上结对编程步骤,咱们这一组的结对编程任务就完成了,固然在这一过程当中,咱们遇到了不少不懂的问题,最后的任务完成的也不是很完美,但咱们会继续努力。代码规范

  • 2.下面是咱们两人在讨论、细化和编程时的结对照片:

(五)这次结对做业的PSP展现:

PSP2.1 任务内容 计划共完成须要的时间(min) 实际完成所须要的时间(min)
Planning 计划 12 8
Estimate 估计这个任务须要多少时间,并规划大体工做步骤 15 10
Development 开发 600 800
Analysis 需求分析(包括学习新技术) 15 10
Design Spec 生成设计文档 20 30
Design Review 设计复审(审核设计文档) 15 20
Coding Standard 代码规范(为目前的开发制定合适的规范) 15 20
Design 具体设计 15 20
Coding 具体编码 600 900
Code Review 代码复审 20 30
Test 测试(自我测试,修改代码,提交修改) 50 70
Reporting 报告 50 60
Test Report 测试报告 30 40
Size Measurement 计算工做量 15 20
Postmortem & Process Improvement Plan 过后总结,并提出过程改进计划 20 30

(六)小结感觉:

  • 经过这次实验,咱们发如今整个项目开发过程当中遇到的问题仍是不少。从咱们的PSP展现能够看出来,在开发和具体编码阶段,咱们计划所须要的时间和实际完成须要的时间相差太大,也用时最多,缘由是咱们两人的Java编程能力都比较薄弱,须要学习新的知识,因此致使咱们用时最多。在开发过程当中,咱们相互讨论,互相帮助,互相吸收对方好的建议和意见,这也锻炼了咱们的责任心,包容心,由于在这个过程当中,不免两人会有不一样的想法,这就须要两人相互沟通,交流,统一意见。
    整个实验下来,我也深入感觉到结对编程的好处:首先能够加强咱们的沟通能力和团队凝聚力;其次能够增长代码的质量,在开发过程当中减小代码的错误率;最重要的一点是能够学习本身之前没接触过的新的知识。因此这次实验对咱们的帮助很大,但愿之后还能够一块儿进步!

任务三:博文简要信息表:

项目 内容
做业所属课程:软件工程 任课教师博客主页连接:https://www.cnblogs.com/nwnu-daizh/
做业要求 做业连接地址:http://www.javashuo.com/article/p-bjcswxqf-ma.html
课程学习目标 熟悉软件开发总体流程,提高自身能力
本次做业在哪一个具体方面帮助咱们实现目标 第一次体验一个完整的工程

源码地址:

相关文章
相关标签/搜索