• 201671030110词频统计软件项目报告


        作业           链接       
    作业所属课程 西北师范大学软件工程
    作业要求 实验二
    源代码 Github

    1.需求分析

    • 功能需求

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

    • 非功能需求

    用户暂无界面等其他需求,不排除后期添加的可能性。

    2.功能设计

    • 基本功能

    (1)读入任意英文文本文件。
    (2)词频统计:用户输入文本当中单词,统计输出单词出现的次数和柱状统计图。
    (3)高频词频统计:用户输入个数K,按词频降序输出前K个单词的词频及单词。
    (4)统计该文本所有单词数量及词频数,按字典顺序输出单词及词频数到文件result.txt。

    • 扩展功能

    3.设计实现

    本软件的实现共有两个类:Main和Sort。
    Main函数中主要是实现了菜单栏和词频统计的各个功能函数。

    4.测试运行

    4.1根据提示输入文本,根据菜单栏提示进行选择,选择功能1,查询输入的单词。如下为该单词不在文本当中时的情况。

    4.2根据菜单栏提示进行选择,继续选择功能1,查询输入的单词。如下为该单词在文本当中时的情况。

    4.3根据菜单栏提示进行选择,选择功能2,查询输入单词的词频。如下为词频为3时的情况。

    4.4根据菜单栏提示进行选择,选择功能3,查询输入单词的词频。查询结果被写入文件result.txt.

    5.代码展示

    boolean flag = false;
            for(int i = 0; i < word.length; i++) {
            	for(Map.Entry<String,Integer> w : map.entrySet()) { 
            		//int count=w.getValue();      			
            		if(word[i].equals(w.getKey()))
            		{  
            			flag = true;
            				System.out.println("单词"+w.getKey() + "出现" + w.getValue()+"次");
                			sum=(float)(w.getValue())/50; 
                			for(int j = 0;j < sum; j++){
                				System.out.print("▓");
                			}	
            			}	
            		} 
            	if(!flag)
            		System.out.println("单词"+word[i] + "不存在,请重新输入!");
            		
            	}       
        }
    

    6.总结

    对于软件开发的模块化我也是在这次项目的完成过程中才体会到的,我在网上查阅了相关资料

    模块化是指:

     1. 将大的个体分解成多个小的个体;
       实现这一步是我通过需求分析来总结用户想要的功能,将词频统计软件划分为一个一个小的功能来设计。
     2. 独立的、闭合的去分析处理这个个体和其与外界的关系。
       实现这一步是将每一个功能单独拿出来分析,为它进行实现该功能的具体算法设计,除此之外还要有主函数来调用这些函数以实现这些功能。
     3.将这些个体组织、集成为一个新的大的个体;
       实现这一步则需要将每一个功能函数和主函数相结合,构成一个主体即可。
     4. 持续的、迭代的进行这个过程直至解决问题。

    7.展示PSP

  • 相关阅读:
    关于ashx的基本应用
    sqlserver中在存储过程中写事务
    安装 SQL Server 2008 需要 Windows PowerShell
    Visual Studio .NET 无法创建或打开应用程序。问题很可能是因为本地WEB本地服务器上没有安装所需的组件。
    Android开发之旅:环境搭建及HelloWorld
    sqlserver 2005 两个表之间的更新操作。
    MS SQLSERVER SELECT FOR XML 中字符的限制问题
    把SVN设置成系统服务
    vs2005 水晶报表部署时处理方法
    Expression Studio简体中文正式版 AND KEY
  • 原文地址:https://www.cnblogs.com/SeattleCarrot/p/10559375.html
Copyright © 2020-2023  润新知