201671030116宋菲菲 词频统计软件项目 告

项目要求
源码地址

一、需求分析

尝试按照《构建之法》第2章中2.3所述PSP流程,使用JAVA编程语言,独立完成一个英文文本词频统计的软件开发。软件基本功能要求如下:

  • 程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
  • 指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
  • 高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
  • 统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。

二、功能设计

  • 读取文件text.txt,能容纳10万单词以上。
  • 统计词频,可以分解输入字符串并统计输入一个或多个单词的词频。
  • 统计高频词,用户输入高频词个数n,程序返回n个高频词以及每个单词的词频。
  • 将text.txt文本中的单词及其词频按照字典顺序输出到文件result.txt文件中。

三、设计实现

项目主要包含两个类,一个是主函数Main,一个是统计单词的类SortResult。

四、测试运行

读入text.txt文件,输入要查找的一个或多个词语,以空格为分割符,返回各个单词的词频及柱状图:

若同时输入了查找单词和查找高频单词个数,只执行查找单词功能:

五、部分代码


输出柱状图:

输出高频词:

六、总结

  • 本次项目为单人项目,通过实践,大致了解了软件项目个人开发流程。从需求分析到设计实现再到测试运行,此次项目实验让我体验了每一个步骤的具体实现。
  • 学会了在Github上发布软件项目的操作方法。
  • 项目完成后还有许多地方不足,比如柱状图没有用图形的样式表现出来。
  • 本次项目完成时的模块划分能力有所欠缺,只有两个模块,功能实现Main和字典输出到文本,多数功能都在Main中直接编码调用。

七、PSP

实际完成时间(min) 计划完成时间(min) 任务内容 PSP2.1
28 20 计划 Planning
28 20 估计这个任务需要多少时间,并规划大致工作步骤 Estimate
1020 674 开发 Development
30 20 需求分析(包括学习新技术) Analysis
35 20 设计 Design
22 10 设计复审 Design Review
5 4 代码规范 Coding Standard
58 60 具体设计 Design
720 480 具体编码 Coding
120 60 代码复审 Code Review
30 20 测试 test
65 60 Reporting
30 30 测试 告 Test Report
20 20 计算工作量 Size Measurement
15 10 事后总结,病提出过程改进计划 Postmortem & Process Improvement Plan

通过总结,发现本次项目的计划时间与实际完成时间出入比较大,尤其在具体编码方面,体现了我的动手编写代码能力不足,需要加强,也是因为设计的时候没有细化,不够完善,导致编写代码时不顺利。在今后的学习中,希望可以加强我的项目具体设计能力及编程能力。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览91537 人正在系统学习中 相关资源:下拉通刷词软件v3.1.zip-其它代码类资源-CSDN文库

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年2月16日
下一篇 2019年2月16日

相关推荐