目 录
1 分析 1
1.1背景分析 1
1.2 功能分析 1
2 设计 1
2.1 类结构设计 1
2.2 成员与操作设计 1
2.3 系统逻辑设计 2
3 实现 3
3.1 生成文件的实现 3
3.1.1 实现方法 3
3.1.2 核心代码 3
3.2 关键字检索的实现 4
3.2.1 实现方法 4
3.2.2 核心代码 4
4 测试 5
4.1 基础功能测试 5
4.2 默认文件名测试 5
4.2 极端情况测试 6
1 分析
1.1背景分析
检索某个关键字在一段文字中出现次数,是在文字处理、文本统计等工作中经常需要使用的操作。由于其操作相对比较偏向底层,因此使用的频率相对而言较高,所以其执行的效率、复杂度等也是设计者需要考虑的一大问题。对于不同的语言,执行效率也有所不同,比如英语,其单词都以空格鲜明地分隔开来,故实现起来比较容易,;但对于中文,一句话所有的字词都紧密地连接在一起,因而实现起来比较复杂。
1.2 功能分析
作为一个关键字检索系统,我们让用户在终端输入多段英语段落(也即多行英文),为了明确标识结束符,我们以单独一行的一个“0”作为终端输入的结束符。在程序中,我们将用户输入的英文段落读入,并将其存储于一个用户指定文件名的文件之中。这是第一个步骤。
而后,我们再通过读取这个文件,去检索关键字。这是第二个步骤。这是题目的要求,虽然看似多此一举比较繁琐,但是它实现了将输入内容存放于文件、从文件中读取内容两个操作,很好地将此题建立在了文件输入输出的基础上,并且能够保存用户输入的文字,一举两得。
2 设计
2.1 类结构设计
我们设计了两个类:一个类(文件初始化类InitFile)专门负责读取终端输入的英文段落,并将其生成文件;另一个类(关键字检索类KeywordSearch)负责读取第一个类生成的文件,然后检索关键字在其中出现的次数,最后在main函数中输出。