




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
( 二二 八八 年年 六六 月月 本科毕业设计说明书本科毕业设计说明书 题题 目目 : 中文分词在搜索引擎中的分词算法的中文分词在搜索引擎中的分词算法的 研究与应用研究与应用 学学生生姓姓名名 : 学学 院院 : 信信 息息 工工 程程 学学 院院 系系 别别: 计计 算算 机机 系系 专专 业业: 计计 算算 机机 科科 学学 与与 技技 术术 班班 级级: 计计 算算 机机0 0 4 4 - - 2 2 指指导导教教师师 : 讲讲 师师 工工程程师师 学校代码:学校代码: 1012810128 学学 号:号:040201110040201110 内蒙古工业大学本科毕业设计说明书 摘 要 随着信息的飞速增长,搜索引擎成为了人们查找信息的首选工具,在查询信息 过程中,查询内容既包括西文也包括中文,中文与西文不同,西方文字(如英文) 的单词间有空格作为分隔,计算机很容易把词分开。而在中文句子里,词和词之间 没有明显的分隔符,要把中文句子拆分成词就需要使用中文分词技术。 本设计主要是研究中文分词算法,在计算机专业搜索系统进行应用。系统中的 中文分词算法采用机械分词算法,通过和词典的比较,进行把中文词语拆分。 搜索引擎不是对整个查询内容进行匹配查询,而是划分成关键词进行查询。 本系统中设计的中文分词算法,主要是 采用最大正向分词算法把两字以上的词语 拆分出来。这样既可以提高分词的速度,又可以提高搜索的速度和效率。该系统 以Java技术为基础,涉及到相关的 Struts、Hibernate、JSP等技术。本系统具有 良好的可读性、可操作性、可维性、可扩展性和可移植性。 关键词:中文分词;词典;搜索引擎 内蒙古工业大学本科毕业设计说明书 Abstract With the information rapid growth, the search engine became the people to search the information the first choice tool, in the polling message process, the inquiry content already included the western languages also to include Chinese, Chinese and the western languages is different, Western writing (for example English) between the word had the blank space achievement to separate, the computer was very easy the word to separate. But in Chinese sentence, between the word and the word the obvious separating character, cannot analyze Chinese sentence to use Chinese word segmentation technology. This design mainly studies Chinese word segmentation algorithm, carries on the application in the computer specialized search system. In systems Chinese word segmentation algorithm uses the mechanical participle algorithm, through with the lexicon comparison, carries on Chinese words and expressions resolution. The search engine is not carries on the match to entire inquiry content to inquire, but is divides the key word to carry on the inquiry. In this system designs Chinese word segmentation algorithm, are mainly uses most Taisho to analyze to the participle algorithm two characters above words and expressions? Like this both may enhance the participle the speed, and may enhance the search the speed and the efficiency. This system take the Java technology as a foundation, involves to related technologies and so on Struts, Hibernate, JSP. This system has the good readability, the feasibility, to be possible Unger, the extendibility and the probability. Key words: Chinese word segmentation; Lexicon; Search engine 内蒙古工业大学本科毕业设计说明书 目 录 引 言1 第一章 技术概述2 1.1 Java 概述2 1.2 Hibernate 概述 .2 1.3 Struts 概述2 1.4 JSP 概述.3 第二章 系统分析4 2.1 系统功能分析.4 2.1.1 系统功能框图.4 2.1.2 系统功能介绍.4 2.2 数据库分析.5 2.3 系统用例图.5 2.4 系统开发环境.6 第三章 系统总体设计8 3.1 系统设计目的.8 3.2 开发设计思想.8 3.3 系统数据库设计.8 3.4 系统模块设计.9 第四章 系统详细设计10 4.1 信息搜索的设计.10 4.1.1 中文分词.10 4.1.2 计算机专业搜索.11 4.2 用户管理的设计.13 4.2.1 用户注册的设计.13 4.2.2 用户登录的设计.14 4.2.3 修改用户信息的设计.16 4.2.4 忘记密码的设计.18 内蒙古工业大学本科毕业设计说明书 第五章 系统测试20 5.1 系统测试的目的和原则.20 5.2 系统测试的方法.20 5.3 本系统的测试.20 结 论26 参考文献27 谢 辞28 内蒙古工业大学本科毕业设计说明书 1 引 言 中文分词技术的研究,已经有几十年的历史了,在 20 世纪 80 年代,就有人开 始研究如何用计算机来自动分词。中文分词技术属于自然语言处理技术范畴,对于 一句话,人们可以通过自己的知识来划分哪些是词,哪些不是词。但如何让计算机 识别那些是词,那些不是词?其处理过程就是分词算法。 目前中文分词算法主要分为以下三种:基于字符串匹配算法(机械分词算法) , 基于理解的分词算法和基于统计的分词算法。 在分词过程中,还存在两大难题。一个是歧义识别,一个是新词识别。歧义是 指同样的一句话,可能有两种或者更多的切分方法。新词,专业术语称为未登录词。 也就是那些在字典中都没有收录过,但又确实能称为词的那些词语。 本课题主要研究的是中文分词在搜索引擎中的分词算法。分词准确性对搜索引 擎来说十分重要,但如果分词速度太慢,即使准确性再高,对于搜索引擎来说也是 不可用的。因为搜索引擎需要处理数以亿计的网页,假如分词占用的时间过长,会 严重影响搜索引擎内容更新的速度。因此对于搜索引擎来说,分词的准确性和速度, 二者都需要达到很高的要求。 内蒙古工业大学本科毕业设计说明书 2 第一章 技术概述 本设计中所用到的技术包括 Java、Hibernate、Struts 和 JSP 等。下面简单的介绍 下这些技术。 1.1 Java概述 Java 是一种简单易用、完全面向对象、具有平台无关性且安全可靠的主要面向 Internet 的开发工具。自从 1995 年正式问世以来,Java 的快速发展已经让整个 Web 世界发生了翻天覆地的变化。在早期,Java 比较多的用在浏览器上,插入到网 页中(即是 Java Applet 程序),成为最灵活、最强大的网页多媒体的载体,但由于 Java 虚拟机相对于个人电脑而言,有占用资源大,安全性相对较差等缺点,Applet 逐渐的被后起之秀 Flash 所替代,但随着 Java Servlet 的推出,Java 在电子商务 方面开始崭露头角,最新的 JSP(Java Server Page)技术的推出,更是让 Java 成为 基于 Web 的应用程序的首选开发工具,目前的 Java 技术已成为所有大型电子商务项 目的必然选择。 1.2 Hibernate概述 Hibernate 是 JDBC(Java Database Connectivity)的轻量级的对象封装。它 是一个独立的对象持久层框架,和 App Server,以及 EJB(Enterprise Java Beans)没有什么必然的联系。Hibernate 可以用在任何 JDBC 可以使用的场合,例 如 Java 应用程序的数据库访问代码,DAO 接口的实现类,甚至可以是 BMP(Bitmap)里面的访问数据库的代码。从这个意义上来说,Hibernate 和 EJB 不 是一个范畴的东西,也不存在非此即彼的关系。 Hibernate 是一个和 JDBC 密切关联的框架,所以 Hibernate 的兼容性和 JDBC 驱动,和数据库都有一定的关系,但是和使用它的 Java 程序,和 App Server 没有 任何关系,也不存在兼容性问题。 1.3 Struts概述 Struts 这个名字来源于建筑和旧式飞机中使用的支持金属架。它的目的是为了 减少在运用 MVC(Model View Controller)模型来开发 Web 应用的时间。Struts 是 一个基于模型(Model)、视图(View)和控制器(Controller)模式的应用架构的开源框 架。MVC 即 Model-View-Controller 的缩写,是一种常用的设计模式。MVC 减弱了业 务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。Struts 是 MVC 的一 种实现,它将 Servlet 和 JSP 标记(属于 J2EE 规范)用作实现的一部分。Struts 内蒙古工业大学本科毕业设计说明书 3 继承了 MVC 的各项特性,并根据 J2EE 的特点,做了相应的变化与扩展。 Struts 跟 Tomcat、Turbine 等诸多 Apache 项目一样,是开源软件,这是它的一 大优点,使开发者能更深入的了解其内部实现机制。除此之外,Struts 的优点主要 集中体现在两个方面:Taglib 和页面导航。 1.4 JSP概述 JSP(Java Server Pages)技术提供了一种简单快速的方法来创建显示动态生成内容 的 Web 页面。由业界处于领先地位的 Sun 公司制定了相关的 JSP 技术规范,该规范 定义了如何在服务器和 JSP 页面间进行交互,还描述了页面的格式和语法。JSP 技 术是行业协作的结果,它的设计是开放的,符合行业标准的,并支持绝大多数的服 务器、浏览器和相关工具。由于使用可重用的组件和标签取代了对页面本身脚本语 言的严重依赖,JSP 技术大大加快了开发的速度。所有 JSP 的实现均支持以 Java 编 程语言为基础的脚本语言,它有与生俱来的可适应性,支持复杂的操作。 JSP 的优点有:对用户界面的更新,其实就是由 Web Server 进行的,所以给人 的感觉更新很快;所有的应用都是基于服务器的,所以他们可以时刻保持最新版本; 客户端的借口不是很繁琐,对于各种应用易于部署、维护和修改。 内蒙古工业大学本科毕业设计说明书 4 第二章 系统分析 2.1 系统功能分析 2.1.1 系统功能框图 计算机专业搜索系统的功能框图如图 2-1 所示 计算机专业搜索系统 搜 索 管 理 用 户 管 理 用 户 登 录 信 息 修 改 用 户 注 册 搜 索 中 心 图 2-1 功能框图 2.1.2 系统功能介绍 (1)信息搜索功能 1)中文分词 这块是本设计的主要内容,用来把中文句子拆分成一个一个的词语。 2)计算机专业搜索 在这里输入查询条件后进行搜索。这里只能查询计算机相关方面的内容。 (2)用户管理功能 内蒙古工业大学本科毕业设计说明书 5 1)用户注册 对页面中的详细信息填写后,提交到服务器,然后将结果保存到数据库中。 2)用户登录 填写好登录用户名和密码后,提交到数据库进行查询,当用户名和密码正确后, 转到 acticity.jsp 页面。 3)忘记密码 当用户忘记密码的时候,可以到忘记密码通过填写用户名、密码问题和密码答 案,和数据库中的数据进行比较,全部正确会返回一个新的密码。 4)修改用户信息 当用户想要修改自己的信息时,可以到此页面进行修改。 2.2 数据库分析 数据库设计的任务是确定系统所需的数据库。数据库是表的集合,通常一个系 统只需一个数据库。本系统主要用了两张表,一张是用来存放用户信息的 SCAN_MEMBERINFO表,在进行用户管理时,会使用此表的内容;另一张是用来 存放大量的搜索内容的SCAN_DETAILS表,在进行搜索时,会操作此表。 2.3 系统用例图 (1)用户注册用例图 这部分是用户在一开始使用此系统时要进行注册会员,通过注册的会员号才能 进入系统进行搜索。用户注册用例图如图 2-2 所示。 图 2-2 用户注册用例图 (2)忘记密码用例图 这部分实现的是会员当忘记密码时,可以通过这里进行找回密码,这里找回的 密码是系统新设定的密码。忘记密码用例图如图 2-3 所示。 (3)用户登录用例图 这部分实现的是用户在注册上会员号后,通过会员号登录到系统内部,这样才 能进行计算机专业搜索。用户登录用例图如图 2-4 所示。 内蒙古工业大学本科毕业设计说明书 6 图 2-3 忘记密码用例图 图 2-4 用户登录用例图 (4)系统核心用例图 搜索中心提供中文信息搜索。个人基本信息是用来显示会员的基本信息。管理 基本信息主要是进行会员信息修改。系统核心用例图如图 2-5 所示。 图 2-5 系统核心用例图 2.4 系统开发环境 (1)硬件环境 设计本系统时,要求的硬件环境如表 2-1 所示 表 2-1 硬件环境表 内存1G CPUInter(R) Celeron (R) CPU 2.80GH 内蒙古工业大学本科毕业设计说明书 7 (2)软件环境 设计本系统时,要求的软件环境如表 2-2 所示 表 2-2 软件环境表 操作系统Linux 开发工具及相关技术MyEclipse、Java、Hibernate、Struts 内蒙古工业大学本科毕业设计说明书 8 第三章 系统总体设计 3.1 系统设计目的 在搜索中文句子时,和搜索英文句子不一样。英文中的每个词之间都是用空格 隔开。而中文句子是以字为单位,词与词没有明确的分隔符,这样就需要一种用来 划分中文词语的算法。本系统主要是设计在搜索引擎中的中文分词算法,通过这个 算法来对中文句子进行拆分,然后用拆分出的词语进行中文的搜索。 3.2 开发设计思想 本系统主要是实现中文分词算法,通过中文分词算法进行中文搜索。本系统在 中文分词算法设计的过程中,主要采用了机械分词,把句子中的字组成词,然后和 词典每行的词进行比较,如果相同就把这个词保存到List集合中。这样把一句话分成 以词为单位,通过这些词进行搜索。 这里用到了词典,词典中存放词语的方式是一行一个词语,这样可以在程序中 通过取词典中每一行的内容,把每个词取出并存放在List集合中。然后在程序中通过 List中的内容和拆分的词进行比较。 3.3 系统数据库设计 本系统的数据库比较简单,主要使用了两张表,一张是用来存放用户信息的 SCAN_MEMBERINFO表,如表 3-1 所示;另一张是用来存放大量的搜索内容的 SCAN_DETAILS表,如表 3-2 所示。 表 3-1 用户信息表 SCAN_MEMBERINFO 表 字段名类型描述标识 idNumber主键唯一标识 nicknameVarchar2非空,唯一用户名 passwordVarchar2非空密码 genderVarchar2非空性别 ageNumber非空年龄 emailVarchar2非空邮箱 addressVarchar2无地址 phoneVarchar2无电话 内蒙古工业大学本科毕业设计说明书 9 passwordquestionVarchar2无密码问题 passwordanswerVarchar2无密码答案 registerdateDate无注册时间 latestdateDate无最后登录时间 表 3-2 信息内容表 SCAN_DETAILS 表 字段名类型描述标识 idNumber主键唯一标识 nameVarchar2非空,唯一标题 remarkVarchar2无内容 3.4 系统模块设计 (1)表示层 设计系统的外部视图。这里用JSP进行设计,把设计好的JSP页面全部根据功能 的划分放到pages文件中。 (2)业务逻辑层 处理外部视图的命令和设计中文分词算法来实现中文搜索。WEB包中的Action和 Form是用来实现JSP页面和业务逻辑进行连接,Service包中主要实现了业务逻辑。 (3)持久化层 连接数据库和处理业务逻辑层与数据库层的功能实现。这里主要采用Hibernate 进行与数据库连接和交互的,DAO包中的代码就是用来实现这些交互的。 (4)数据库层 创建数据库。这个系统采用Oracle 10g数据库。 内蒙古工业大学本科毕业设计说明书 10 第四章 系统详细设计 4.1 信息搜索的设计 4.1.1 中文分词 此模块主要是对中文句子进行拆分,然后以词为单位进行搜索。 (1) 中文分词的流程图,如图 4-1 所示。 取出中文字符 串 与词典进行顺序比较 保存这个词 字符串正向自 减一个字符 字符串长度是否为1 Y Y N 开始 结束 N 图 4-1 中文分词流程图 (2)中文分词算法描述 词典,用来保存中文词语的文件,在进行中文分词时,与拆分出的词进行比较。 内蒙古工业大学本科毕业设计说明书 11 本词典设计比较简单,词典中的词语以每行一个词的形式存放。在提取词典中的词 语时,用了 BufferedReader 来把 word.txt 词典中每一行的词语写到内存中。 使用存放在内存中的 computerscan.jsp 页面搜索信息和从词典里提取的词语进 行比较,如果比较后结果相同保存到内存中。减少一个字,再与词典中的各行词比 较,结果相同保存到内容中。重复执行上面流程,直到这句话再无词语可拆分为止。 最后处理这些结果,把两字以上的词保存到集合中返回。 (3)核心代码 /1 调用 IFindDao 接口 IFindDao ifd = new FindDaoImpl(); List l = new ArrayList(); /2 运用 IFindDao 接口中的 findWord()方法提取词典中的词语 l = ifd.findWord(“/home/briup/Desktop/demon/demon/demon /src/com/briup/scan/common/word.txt“); /3 判断字符串长度是否为 List list = new ArrayList(); if (str.length() = 1) list.add(str); 4.1.2 计算机专业搜索 此模块主要实现搜索功能。 (1)计算机专业搜索流程图,如图 4-2 所示。 (2)搜索算法描述 搜索功能的实现,在 ScanComputerAction 中把 computerscan.jsp 页面的搜索 信息存到内存中,然后调用 IParticipleService 接口中的 participle()方法先进 行分词,然后把结果返回。再对表中所有计算机专业信息进行查询,对其中的标题 再进行分词,然后和之前返回的进行比较,如果分出的关键词相同,就将这条内容 和关键词一起保存到对象中。不相同就继续上次操作,直到全部结束。最后在页面 上把关键词和标题显示出来。在点击标题时,可以再弹出个 view.jsp 页面来显示这 个标题下的计算机专业内容。 内蒙古工业大学本科毕业设计说明书 12 开始 取出分词结果 与数据库比较 将词和数据库 中内容保存到 内存中 结束 取下一个词 是否到最后一个词 Y N Y N 图 4-2 计算机专业搜索流程图 (3)核心代码 List endList=new ArrayList(); /1 调用 IParticipleService 接口 IParticipleService service=(IParticipleService) BeanFactory.getBean(“participleService“); for(String str:list) for(Det det:detList) List sList=new ArrayList(); sList=service.leachWord(service.participle(det.getName(); for(String s:sList) 内蒙古工业大学本科毕业设计说明书 13 Enddet endDet=new Enddet(); /2 和数据库中的信息进行比较,内容相同的保存到内存中 if(str.equals(s) endDet.setAkey(str); endDet.setName(det.getName(); endDet.setRemark(det.getRemark(); endDet.setDetID(det.getId(); endList.add(endDet); 4.2 用户管理的设计 4.2.1 用户注册的设计 此模块主要是实现创建一个新的用户,将用户内容保存到用户表中。 (1)用户注册流程图,如图 4-3 所示。 开始 提取用户注册 信息 验证码是否正确 用户名是否存在 用户信息入库 结束 Y N N Y 图 4-3 用户注册流程图 内蒙古工业大学本科毕业设计说明书 14 (2)注册算法描述 首先是把 register.jsp 页面上的内容通过 RegisterForm 将页面上的用户的信息记 录到 RegisterAction 上。在 RegisterAction 中实现用户是否已经存在,这里需要调用 IMemberservice 接口中的 findMemberinfoBynickname()方法来查找用户。还要比较页 面上的两次密码是否正确,验证码是否正确,然后调用 IMemberService 接口中的 register()方法来实现注册业务。而在 IMemberService 接口的 register()方法中又要调 用 IMemberDao 接口的 saveOrUpdateMemberinfo()方法把数据保存到数据库中。 (3)核心代码 public void register(Memberinfo info) throws MemberServiceException HibernateTransaction tran=new HibernateTransaction(); IMemberDao dao=(IMemberDao) BeanFactory.getBean(“memberDao“); try tran.beginTransaction(); /1 判断注册的用户是否已经存在 Memberinfo member=dao.findMemberBynickname(info.getNickname(); if(member!=null) throw new MemberServiceException(“昵称已经存在“); /保存新注册的会员 dao.saveOrUpdateMemberinfo(info); mit(); catch(Exception e) tran.rollback(); e.printStackTrace(); throw new MemberServiceException(e.getMessage(); 4.2.2 用户登录的设计 此模块主要是实现用户登录系统的功能。 (1)用户登录流程图,如图 4-4 所示。 内蒙古工业大学本科毕业设计说明书 15 开始 提取用户名和 密码 用户名是否存在 密码是否正确 保存用户信息 并转到下个页 面 结束 Y N Y N 图 4-4 用户登录流程图 (2)登录算法描述 在 loginAction 中通过 LoginForm 把 login.jsp 页面上的用户名和密码调入调 用 IMemberService 接口中 login()方法来实现登录业务,在 login()方法中先查找 用户是否存在,如果存在把用户信息取出存到 Memberinfo 对象中,再把页面上的密 码与对象中的密码进行比较,相同就进入系统,进入系统后把查到的用户信息部分 显示到 rightframe.jsp 页面上。错误就返回到登录页面。 (3)核心代码 Memberinfo info=new Memberinfo(); IMemberDao dao=(IMemberDao) BeanFactory.getBean(“memberDao“); HibernateTransaction tran=new HibernateTransaction(); /1 查看登录的用户名是否存在 info=dao.findMemberBynickname(loginname); 内蒙古工业大学本科毕业设计说明书 16 if(info=null) throw new MemberServiceException(“用户不存在“); /2 查看密码是否正确 if(!password.equals(info.getPassword() throw new MemberServiceException(“密码错误“); /3 将latestDate设成当前时间, /并需要把上次登陆的时间保存到memberinfo的另外一个实例变量中。 info.setLastLogindate(info.getLatestdate(); info.setLatestdate(new Date(System.currentTimeMillis(); dao.saveOrUpdateMemberinfo(info); 4.2.3 修改用户信息的设计 此模块主要是实现用户对自己信息的修改。 (1)修改用户信息流程图,如图 4-5 所示。 开始 提取用户修改 信息 旧密码是否正确 两次新密码是否一致 更新数据库内 此用户的信息 结束 Y N Y N 图 4-5 修改用户信息流程图 内蒙古工业大学本科毕业设计说明书 17 (2)用户信息修改算法描述 把 modify.jsp 页面上的信息通过 UpdateForm 传到 UpdateAction 中,先对旧密 码进行比较,如果正确再将两次新密码比较,如果两次密码一致,就把页面上的信 息封装到 Memberinfo 对象中。调用 IMemberService 接口中的 modifyMemberinfo() 方法来实现修改,最后调用 IMemberDao 接口中的 saveOrUpdateMemberinfo()方法 把修改信息保存到数据库中。 (3)核心代码 UpdateForm updateForm=(UpdateForm) form; HttpSession session=request.getSession(); IMemberService service =(IMemberService) BeanFactory.getBean(“memberService“); Memberinfo member=(Memberinfo) session.getAttribute(“info“); /1 判断旧密码是否正确 if(!member.getPassword().equals(MD5.getMD5Str(updateForm.getOldPasswd() session.setAttribute(“message“, “旧密码错误“); return mapping.findForward(“updatememberinfo“); /2 判断两次新密码是否一致 if(!MD5.getMD5Str(updateForm.getNewPasswd().equals(MD5.getMD5Str(updateFo rm.getNewPasswdre() session.setAttribute(“message“, “两次密码错误“); return mapping.findForward(“updatememberinfo“); /3 更新数据库中用户信息 member.setPassword(MD5.getMD5Str(updateForm.getNewPasswd(); member.setEmail(updateForm.getEmail(); member.setPasswordquestion(updateForm.getPasswdQuestion(); member.setPasswordanswer(updateForm.getPasswdAnswer(); member.setGender(updateForm.getGender(); member.setPhone(updateForm.getPhone(); member.setAddress(updateForm.getAddress(); service.modifyMemberinfo(member); 内蒙古工业大学本科毕业设计说明书 18 4.2.4 忘记密码的设计 此模块主要实现用户在忘记密码时找回密码。 (1)忘记密码流程图,如图 4-6 所示。 开始 取出忘记密码 页面信息 用户是否存在 密码问题是否正确 生成新密码 结束 Y N Y N 密码答案是否正确 N Y 图 4-6 忘记密码流程图 (2)忘记密码算法描述 把 passwd_missing.jsp 页面上的用户名、密码问题和密码答案传到 PasswdMissAction 上,根据用户名查找用户是否存在,如果存在再判断密码问题和 密码答案是否和数据库中的一样,一样就自动生成一个新的密码,返回到页面上。 (3)核心代码 内蒙古工业大学本科毕业设计说明书 19 HibernateTransaction tran=new HibernateTransaction(); IMemberDao dao=(IMemberDao) BeanFactory.getBean(“memberDao“); Memberinfo info=null; info=dao.findMemberBynickname(loginname); /1 判断用户是否存在 if(info= null) return null; /2 判断密码问题是否正确 if(!question.equals(info.getPasswordquestion() return null; /3 判断密码答案是否正确 if(!answer.equals(info.getPasswordanswer() return null; return info.getPassword(); 内蒙古工业大学本科毕业设计说明书 20 第五章 系统测试 5.1 系统测试的目的和原则 在开发大型软件系统的过程中,需要面对错综复杂的问题,因此,在软件生存 周期的每个阶段都不可避免地会产生错误。力求在每个阶段结束之前通过严格的技 术审查,尽可能早的发现并纠正错误。测试的目的就是在软件投入生产性运行之前, 尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它 是对软件规格说明、设计和编码的最后复审。 尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么 样的编程技术,编程人员的错误都是不可避免的,而且由于面向对象技术开发的软 件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面向对象 编程里更具有它的重要性。 5.2 系统测试的方法 测试的方法分为白盒法和黑盒法。 (1)黑盒法 如果已经知道了软件应该具有的功能,可以通过测试来检验是否每个功能都能 正常使用,把它称为黑盒测试。对于软件测试而言,黑盒测试是把程序看成一个黑 盒子,完全不考虑程序内部结构和处理过程。也就是说,黑盒测试是在程序接口进 行的测试,它只检查程序功能是否能按照规格说明的规定正常的使用,程序是否能 够适当的接收输入数据产生正确的输出信息,黑盒测试又称为功能测试。 (2)白盒法 与黑盒测试相反,白盒测试是可以把程序看成装在一个透明的白盒子里,也就 是完全了解程序的结构和处理过程。这种方法按照程序内部的逻辑测试程序,检验 程序中的每条通路是否都能按预定要求正确工作。白盒测试又称为结构测试。 5.3 本系统的测试 这里是测试系统的最后结果,对本系统的测试采用了黑盒法测试。 (1) 用户注册,界面如图 5-1 所示 内蒙古工业大学本科毕业设计说明书 21 图 5-1 注册界面 图 6-2 注册成功页面 内蒙古工业大学本科毕业设计说明书 22 注册成功,出现注册成功,如图 5-2 所示 图 5-2 注册成功界面 (2)用户登录,界面如图 5-3 所示 图 5-3 登录界面 登录成功,进入个人基本信息界面,如图 5-4 所示 图 5-4 个人基本信息界面 内蒙古工业大学本科毕业设计说明书 23 (3)搜索中心,界面如图 5-5 所示 图 5-5 搜索界面 搜索成功,在界面上显示相关信息,如图 5-6 所示 图 5-6 搜索成功显示界面 显示主题内容,如图 5-7 所示 内蒙古工业大学本科毕业设计说明书 24 图 5-7 显示主题内容界面 (4)修改用户信息,界面如图 5-8 所示 图 5-8 修改用户信息界面 内蒙古工业大学本科毕业设计说明书 25 修改成功,出现修改成功界面,如图 5-9 所示 图 5-9 修改成功界面 (6)忘记密码,界面如图 5-10 所示 图 5-10 忘记密码界面 成功后的结果,在界面上显示新密码,如图 5-11 所示 图 5-11 显示新密码界面 内蒙古工业大学本科毕业设计说明书 26 结 论 通过对中文分词算法的研究,并进行具体的应用,实现了一个计算机专业中文 搜索系统。 该系统采用 Java 技术,具有搜索中文信息的功能。加入中文分词算法后,提高 了搜索结果的准确率。本系统的主要特色是搜索的内容只能是计算机相关内容。现 有的大多数搜索系统都是全方位查询,本系统只能查找与计算机相关
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 经营单位安全管理制度编制纲要
- 2021年教师节颁奖典礼动态
- 颅脑损伤护理查房
- 恩派雅(N.Paia)品牌分析与二次增长战略报告
- 儿童电除颤教学课件
- 创意美术字教学课件
- 新解读《GB-T 36780 - 2018辣椒轻斑驳病毒检疫鉴定方法》
- 用电申请业务知识培训课件
- 贵州省黔西南州2024-2025学年高二下学期期末学业质量监测 化学试卷
- 急性乳突炎切开引流护理查房
- 失语症及治疗方法讲课件
- 热射病病人的急救护理
- 客运站安检设备管理制度
- U9-SCM-库存-Unit9-内部交易-V2
- 肠外营养个案护理
- CJ/T 94-2005饮用净水水质标准
- 2025-2030系统级芯片(SoC)测试机产业市场深度调研及前景趋势与投资研究报告
- 《化工和危化品生产经营单位重大生产安全事故隐患判定标准(细化版)》知识培训
- 2025年汉防己甲素项目市场调查研究报告
- 驿站快递合同协议书
- 《新型主动脉夹层护理策略》课件
评论
0/150
提交评论