201671030104 邓海祥-词频统计软件项目

一.需求分析
用户需求:

1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。

2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。

3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。

4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。

5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
二.功能设计
基本功能:

1.读入读出文件功能(将文件进行读取,存放)
2.用户输入功能(用户输入想要查询的单词,以及查询高频单词的个数)
3.词频统计功能
4.排序功能(降序排序和按字典顺序排序)
5.显示功能(显示柱状图,显示前k个高频单词的词频,显示指定单词出现的次数)
备注:因为编码能力有限,所以只能实现部分功能,没有按照老师的要求将功能全部实现。
三.设计实现
本次设计没有完全按照老师的要求,自己搜了一篇文章,直接保存,然后统计这个文档里的词频。
四.部分代码设计
201671030104  邓海祥-词频统计软件项目
五:运行结果
201671030104  邓海祥-词频统计软件项目
201671030104  邓海祥-词频统计软件项目
六:总结
因为能力不足,能做到这一步。此次软件项目个人开发项目让我对软件开发有了更深刻的理解,一个完整的软件开发过程中,任何一个步骤都是不可缺少的。在开始此次软件开发后,我先是进行了软件的需求分析,分析后开始设计,代码的编写还是没有流程中说的那么简单,在经过挺长时间的编程后,,经过测试,实现了部分功能。
七:PSP

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 8 6
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 6 6
Development 开发 60 90
Analysis 需求分析(包括学习新技术) 10 8
Design Spec 生成设计文档 15 25
Design Review 设计复审 3 5
Coding Standard 代码规范(为目前的开发制定合适的规范) 3 3
Design 具体设计 20 30
Coding 具体编码 100 150
Code Review 代码复审 5 20
Test 测试(自我测试,修改代码,提交修改) 5 12
Reporting 报告 7 15
Test Report 测试报告
Size Measurement 计算工作量 1 1
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 2 3