201671010408-达星斗-《英文文本统计分析》结对项目报告

实验四 英文文本统计分析

一、博文简要信息表:

项目 内容
软件工程 任课教师博客主页链接:https://home.cnblogs.com/u/nwnu-daizh/
作业要求:
(1)体验软件项目开发中的两人合作,练习结对编程。
(2)掌握Github上增量发布软件的操作方法。
作业链接地址:https://www.cnblogs.com/nwnu-daizh/p/10569690.html
课程学习目标:
掌握Github上增量发布软件的操作方法。
熟悉软件开发整体流程,提升自身能力
往Github上上传代码,让我们学习到了Github的基本操作方法。 第一次体验一个完整的工程

二、任务1:

要给出所点评作业的博客:https://www.cnblogs.com/liuzhenhua1996/p/10540940.html
github链接地址:https://github.com/lzh2540330731/-/blob/master/新建文本文档.java
点评内容:你的博文上有流程图和测试运行截图,而且流程图做的很好,使博文看起来很完整,这一点很值得我学习。
点评心得:看了同伴的博文,让我学习到了很多东西,同伴的博文写的很完整,代码也很规范。在以后的学习中,我应该多向他请教,好好提升自己的编程能力。

三、任务2:

需要给出结对项目源码在Github的仓库主页链接地址:https://github.com/daxd123/mygit/blob/master/main.java
博文作为结对项目实施过程的文字资料,请完整包含下面7个部分:
a.需求分析:
①在实验二的基础上实现以下功能;
②统计该文本行数及字符数;
③各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
④可处理任意用户导入的任意英文文本;
⑤人机交互界面要求GUI界面(WEB页面、APP页面都可);
⑥附加分功能:统计文本中除冠词、代词、介词之外的高频词;
⑦附加分功能:统计前10个两个单词组成的词组频率。
b.软件设计:

c.核心功能代码展示:

    while ((thechar = isr.read()) != -1) {
        char letter = (char) thechar;
        if ((letter >= 'a' && letter <= 'z')
                || (letter >= 'A' && letter <= 'Z')) {
            sb.append(letter);
        } else if (sb.length() != 0) {
            String theword = new String(sb);
            if (wordList.containsKey(theword)) {
                wordList.put(theword, wordList.get(theword) + 1);
            } else {
                wordList.put(theword, 1);
            }
            sb.delete(0, sb.length());
        }
    }

d. 程序运行:

e. 描述结对的过程,提供两人在讨论、细化和编程时的结对照片(非摆拍):

f. 提供此次结对作业的PSP:

任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
计划 20 25
估计这个任务需要多少时间,并规划大致工作步骤 15 28
开发 240 310
需求分析 (包括学习新技术) 20 25
生成设计文档 20 25
设计复审 (和同事审核设计文档) 6 9
代码规范 (为目前的开发制定合适的规范) 10 12
具体设计 25 26
具体编码 130 160
代码复审 20 40
测试(自我测试,修改代码,提交修改) 40 80
报告 90 110
测试报告 20 20
计算工作量 30 40
事后总结 ,并提出过程改进计划 40 60

四、小结感受:

①结对中刘振华充当领航员角色,达星斗充当驾驶员角色。先是一起讨论做了大体类的设计和算法流程设计,接着我们就开始一起编程。两个人编程还是比一个人来的效率高些,有问题一起讨论,错误也第一时间被指出,特别是一开始的讨论,就先定义和封装了几个要用到的函数,避免了后期推翻修改,提高了开发效率。不过缺点也是有的,就是一个人在编程的时候,另一个人不好打扰,默默滴看,后面发现没有完全按照领航员的设计来实现。函数没有完全按照预期抽象出来,导致效能分析处有问题!设计当中的接口和新增功能未实现,但类图当中的设计将其抽象出来方便了后续的代码优化。
②这次的体会真的很深,实打实的结对,两人分工合作完成一个看似不难的任务,实际执行过程中还是遇到不少困难,结对的最大好处就在此处体现:在遇到困难的时候总是可以通过提醒和讨论解决之!
③两个人的合作总是胜过一个人埋头苦写代码的,通过两个人结对的交流和探讨,会比平常一个人设计节约了不少的时间。由于我们编程能力还是很生疏,在编程期间也在网上找了很多资料,也找了其他能力强一点的同学给我们进行了指导。

posted @ 2019-04-02 23:20  十分钟意  阅读(156)  评论(1编辑  收藏  举报