课程名 | 软件工程 |
实验二 | 词频统计软件项目报告 |
词频(TF) | 是一个词语出现的次数除以该文件的总词语数。 |
实验目的 | (1)掌握软件项目我的开发流程。 (2)掌握Github上发布软件项目的操做方法。 |
环境配置 | 使用的JDK版本为 jdk8u161,windows版下载连接: http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-windows-x64.exe •使用的JRE版本为jre8u161,windows版下载连接: http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jre-8u161-windows-x64.exe |
实验要求 | 软件开发要求: 1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。 2.程序须要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。 3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词  在文本中出现的次数和柱状图。 4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。 5.统计该文本全部单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。 |
实验内容:
java
需求分析 1.使用java语言,对存放在java中的W.txt中的全部单词进行统计。 2.将指定单词统计的结果按照要求显示(按照柱形图的形式显示)。 3.高频单词的统计功能,输入整数K,按照单词的词频数显示前K个数以及单词。 4.将单词及词频数按字典顺序输出到文件result.txt.要求代码健壮,代码简介,代码质量高。 功能设计 该Java程序实现的功能是进行单词的词频统计,能读取容纳英文原版《哈利波特》10万词以上的文章。进行单词的词频统计,还要绘制柱状图,并实现指定单词词频统计、高频词汇的统计该文本全部单词的数量和对应的词频数...... 测试运行 ![]() ![]() ![]() 代码 //读入《哈利波特》 String line "src/word.txt"; File file = new File(line); InputStreamReader is = new InputStreamReader(new FileInputStream(file), "utf-8"); BufferedReader buff = new BufferedReader(is); List String readLine = null;//单词列表初始为空 while((readLine = buff.readLine())!=null){ String[] WordsArr = readLine.split("[^a-zA-z]"); for(String word:WordsArr){ if(word.length()!=0){ list.add(word);//将截取后的纯单词放入list } } } buff.close(); WordsCount = new TreeMap<String,Integer>();//键值对存储单词信息,String为单词,Integer为单词出现次数 //词频统计(查询单次出现次数,并循环进行累加统计) for(String lists:list){ if(WordsCount.get(lists)!=null){ WordsCount.put(lists, WordsCount.get(lists)+1);//单次出现频次累加 }else{ WordsCount.put(lists, 1); } } |
实验总结:
在这次实验做业中,发现了不少关于本身在Java编码方面的不足之处,在选择函数的时候会选择错误的时候,最后利用网络资源和书籍解决本身的疑问点。
git
展现PSP:
github
PSP2.1 | 任务内容 | 计划共完成需求(min) | 实际完成需求的时间(min) |
PLaning | 计划 | 200 | 180 |
. Estimate | . 估计这个任务需求多少时间,并规划大体工做步骤 | 140 | 150 |
Development | 开发 | 150 | 140 |
.. Analysis | 需求分析(包括学习新技术) | 60 | 50 |
. Design Spec | . 生成设计文档 | 60 | 55 |
. Design Review | . 设计复审(和同事审核设计文档) | 100 | 80 |
. Coding Standard | 代码规范(为目前的开发制定合适的规范 | 180 | 150 |
. Designtd> | 具体设计 | 120 | 100 |
. Coding | 具体编码 | 180 | 170 |
. Code Review | .代码复审 | 9 | 9 |
. Test | . 测试(自我测试,修改代码,提交修改) | 60 | 55 |
Reporting | 报告 | 30 | 25 |
.. Test Report | . 测试报告 | 60 | 40 |
. Size Measurement | 计算工做量 | 60 | 50 |
. Postmortem&Process Improvement | .过后总结,并提出过程改进计划 | 20 | 20 |