201671010420刘振华《英文文本统计分析》结对项目报告

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

任务一《实验二 软件工程个人项目》的项目成果进行评价

评价对象:https://www.cnblogs.com/dxd123/p/10528310.html
GitHub地址:https://github.com/daxd123/mygit/blob/master/词频统计代码.java

博文结构:
此文结构完整,要求中所需要的内容齐全,包括需求分析,功能设计,设计实现,测试运行,代码,总结,PSP等
博文内容:
博文内容充实,文档清晰,内容合格有结构,就是在总结的时候不够完善。
博文结构与PSP中“任务内容”列的关系:
博文结构与PSP中的“任务内容”列的联系比较紧密,基本按照PSP“任务内容”完成,但是总用时比计划用时多很多。
PSP中“计划共完成需要的时间”与“实际完成需要的时间”两列数据的差异化分析与原因:
完成时间与计划时间差距较大,主要原因是对结构的规划不够完善,导致在实际操作过程中对不可知因素的预知不够,两个时间差距较大。

任务二:

需要给出结对项目源码在Github的仓库主页链接地址:
博文作为结对项目实施过程的文字资料,请完整包含下面7个部分:

1、需求分析:

①在实验二的基础上实现以下功能;
②统计该文本行数及字符数;
③各种统计功能均提供计时功能,显示程序统计所消耗时间(单位:ms);
④可处理任意用户导入的任意英文文本;
⑤人机交互界面要求GUI界面(WEB页面、APP页面都可);
⑥附加分功能:统计文本中除冠词、代词、介词之外的高频词;
⑦附加分功能:统计前10个两个单词组成的词组频率。

2、软件设计:

3、核心功能代码展示:

    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());
        }
    }

4、程序运行:

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

6、 提供此次结对作业的PSP:

任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
计划 20 25
估计这个任务需要多少时间,并规划大致工作步骤 10 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

7、小结感受:

实际过程中,我与结对伙伴划分各自的工作,但却并非各做各的,在过程中的"领航者"与“驾驶员”身份时常互换,相互帮助。一开始困惑很多,完成基础部分的时候,本不打算继续完善进阶甚至做附加任务,因为时间安排不合理,觉得做不来也无法做好,不过两人还是互相搀扶着完成结对任务,我想这也是结对编程带来的。

值得学习的地方:我的队友认真负责,处理任务目标明确、条理清晰,学习能力强
值得改进的地方:实际工作时效率有待提高
源码地址:https://github.com/lzh2540330731/-/blob/master/main.java

原文地址:https://www.cnblogs.com/liuzhenhua1996/p/10612709.html