• 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

    四、小结感受:

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

  • 相关阅读:
    Linux下的文件批量转换为UTF8编码-enca
    【转】valgrind的简介以及安装
    springboot2.0整合logback日志(详细)
    springboot整合redis
    用Thymeleaf在实际项目中遇到的坑
    RedisTemplate和StringRedisTemplate的区别
    @EnableCircuitBreaker熔断超时机制
    eclipse转到idea过程中的基本设置...
    java.lang.NoSuchMethodError
    springcloud服务提供producer and 服务调用consumer
  • 原文地址:https://www.cnblogs.com/dxd123/p/10612636.html
Copyright © 2020-2023  润新知