201671030101词频统计软件项目报告

实验二 软件工程个人项目

作业要求

github

1.需求分析

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

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

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

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

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

2. 功能设计

基本功能

读取功能:可以读取并存储任意英文文本。

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

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

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

扩展功能: 无

3. 设计实现

程序包含两个类,分别是主函数类MAIN类和存储类SAVE类

MAIN类:

public static void main主函数、
public static void select菜单界面函数、
public static void out输出函数、
public static void sort排序函数、
public static void highsta高频词输出函数等等

4. 测试运行

界面以及高频词

指定高频词次数及柱状图

保存至result.txt文件

按字典保存的单词

5.代码展示

柱状图部分

public static void sc(String e,int max)
	{
		double num=0;
		int bz=0;
		if(e.length()!=0)
		{
			for(SAVE s : sum1)
			{
				if(s.getWord().equals(e))
				{
					System.out.printf("%-12s-%,5d|",e,s.getNumber());
					num=(double)(s.getNumber())/max*80;
					for(int i=0;i<num;i++)
						System.out.print("★");
					System.out.println();
					bz=1;
				}
			}
			if(bz==0)System.out.printf("%-12s-%,5d|数据未找到\n",e,0);
		}
	}

高频词输出部分

	public static void highsta()
	{
		System.out.println("请输入要查看的单词数");
		Scanner sc=new Scanner(System.in);
		int x=sc.nextInt();
		
		for(SAVE s : sum1)
		{
			System.out.println(s.getWord()+":"+s.getNumber());
			x--;
			if(x==0)break;
		}
	}

6.总结

首先在做完需求分析等部分的内容开始编程时就出现了很多困难,首先是java编程的不熟悉,在编程的过程中花了很多时间相当于重新学习了java的简单实现,其次是本次实验模块化的划分,有一个主函数main函数统领全局,其下有菜单界面显示的函数、对文本排序的函数、统计单词次数的函数、输出字典到文件result的函数等等。每个函数在main函数下被调用。

7.psp部分

PSP 任务内容 计划共完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 15 20
Development 开发 180 200
Analysis 需求分析(包括学习新技术) 15 20
Design Spec 生成设计文档 5 5
Design Review 设计复审 5 5
Coding Standard 代码规范(为目前的开发制定合适的规范) 20 10
Design 具体设计 30 45
Coding 具体编码 120 150
Code Review 代码复审 10 15
Test 测试(自我测试,修改代码,提交修改) 5 5
Reporting 报告 5 5
Test Report 测试报告 5 5
Size Measurement 计算工作量 0 0
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 10 20

posted on 2019-03-20 07:28  jondoe297  阅读(148)  评论(2编辑  收藏  举报