软 件 学 院
课程设计报告书
课程名称 面向对象程序设计 设计题目 敏感词汇分析程序 专业班级 软件工程10-02班 学 号 1020010209 姓 名 胡 广 亚 指导教师 李 建 东
2012年6月
目录
1 设计时间 ............................................. 3 2 设计目的 ............................................. 3 3设计任务 ............................................. 3 4 设计内容 ............................................. 3 4.1需求分析 ......................................... 3 4.1.1问题描述 ...................................................................3 4.1.2基本要求 ...................................................................3 4.2总体设计 ......................................... 3 4.2.1包的描述(无) ........................................................4 4.2.2 类的描述 ..................................................................4 4.2.3类之间的关系 ............................................................4 4.3详细设计 ......................................... 5 4.3.1类图 ..........................................................................5 4.3.2页面设计 ...................................................................6 4.4测试与分析 ....................................... 7 4.5 程序代码 ........................................ 9 5总结与展望 .......................................... 16 参考文献 .............................................. 17 课程设计成绩评定 ...................................... 18
1 设计时间 2012年6月11日——2012年6月15日 2 设计目的 《Java6程序设计》是一门实践性很强的计算机专业基础课程,课程设计是学习完该课程后进行的一次较全面的综合练习。其目的在于通过实践加深学生对面向对象程序设计的理论、方法和基础知识的理解,掌握使用Java语言进行面向对象设计的基本方法,提高运用面向对象知识分析实际问题、解决实际问题的能力,提高学生的应用能力。 3设计任务 实现敏感词汇分析并计数。 4 设计内容 4.1需求分析 现在各大软件公司都有自己的、各种高级敏感词汇的程序,但是这些公司都有自己的版权,我们也不可能得到这些源代码!而且这些公司的程序也相当复杂,仅从日常应用方面来说,对于初学java的我们也无法理解,就需要我们开发一个简单易懂的敏感词汇分析程序。 4.1.1问题描述 在规定的sentive.txt文本中创建敏感词汇库,即把要分析的敏感词汇写入,然后选择分析文档,进行分析。 4.1.2基本要求 (1)使用图形用户界面实现。 (2)任选一个文本文件,分析该文件,如果存在敏感词汇,报告每个词出现的次数。 (3)敏感词汇保存在sentive.txt文件中,每个词占一行,至少设置10个敏感词汇。 (4)系统使用的GUI组件不得少于5种,越全面越好,但要合适(和谐界面)。 4.2总体设计 这个程序是图形界面、流式布局、输入、输出流、包以及文件等技术的综合应用。考虑到程序的结构和易用性等各种性能,选择了awt组件进行窗口以及对话框的实现。在运行程序的时候,在规定的sentive.txt文本中创建敏感词汇库,即把要分析的敏感词汇写
入,然后选择分析文档,进行分析。 文本选择的实现:在进行词汇分析之前要进行文本的选择,这期间通过查阅各种相关参考文献以及java中的帮助文档,用到了JfileChooser组件来实现对任意文本的选择,从而能顺利的选择各种文件,同时利用try,catch语句进行异常捕获。 词汇分析过程的实现:利用了字符文件流FileReader和FileWriter类来实现文本的读入和输出,利用RandomAccessFile来实现对敏感词汇的过滤分析,最终达到了任务要求的分析功能。 本程序首先创建了一个主类实现窗口以及主方法的调用,设置了4个默认属性类完成相关的功能性的各项功能。在主类中,实现了对窗口对象的实例化,注册了主方法,从而生成了调用其他默认属性类及对象和方法的接口,构成了整个程序的中间部分。其余的属性类也定义了各种方法和实例对象,分别完成了捕获异常,词汇分析,文件选择等功能。 4.2.1包的描述(无) 4.2.2 类的描述 FileTextChecker主类 IntString默认属性类,完成字符计数功能 CFileChooser默认属性类,完成文本选择功能 CFileChooseLis默认属性类,完成文本选择功能中的异常处理 CAnalyzeLis默认属性类,完成敏感词汇的分析 4.2.3类之间的关系
主类 FileTextChecker IntString默认属性类,完成字符计数功能。 CFileChooser默认属性类,完成文本选择功能。 CFileChooseLis默认属性类,完成文本选择功能中的异常处理。 CAnalyzeLis默认属性类,完成敏感词汇的分析。 4.3详细设计(参见4.5 程序代码) 4.3.1类图