201671030104 邓海祥-词频统计软件项目
一.需求分析
用户需求:
1.程序可读入任意英文文本文件,该文件中英文词数大于等于1个。
2.程序需要很壮健,能读取容纳英文原版《哈利波特》10万词以上的文章。
3.指定单词词频统计功能:用户可输入从该文本中想要查找词频的一个或任意多个英文单词,运行程序的统计功能可显示对应单词在文本中出现的次数和柱状图。
4.高频词统计功能:用户从键盘输入高频词输出的个数k,运行程序统计功能,可按文本中词频数降序显示前k个单词的词频及单词。
5.统计该文本所有单词数量及词频数,并能将单词及词频数按字典顺序输出到文件result.txt。
二.功能设计
基本功能:
1.读入读出文件功能(将文件进行读取,存放)
2.用户输入功能(用户输入想要查询的单词,以及查询高频单词的个数)
3.词频统计功能
4.排序功能(降序排序和按字典顺序排序)
5.显示功能(显示柱状图,显示前k个高频单词的词频,显示指定单词出现的次数)
备注:因为编码能力有限,所以只能实现部分功能,没有按照老师的要求将功能全部实现。
三.设计实现
本次设计没有完全按照老师的要求,自己搜了一篇文章,直接保存,然后统计这个文档里的词频。
四.部分代码设计
五:运行结果
六:总结
因为能力不足,能做到这一步。此次软件项目个人开发项目让我对软件开发有了更深刻的理解,一个完整的软件开发过程中,任何一个步骤都是不可缺少的。在开始此次软件开发后,我先是进行了软件的需求分析,分析后开始设计,代码的编写还是没有流程中说的那么简单,在经过挺长时间的编程后,,经过测试,实现了部分功能。
七: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 |