基于windows下的QT字典设计与实现-概要设计_甘泽_第1页
基于windows下的QT字典设计与实现-概要设计_甘泽_第2页
基于windows下的QT字典设计与实现-概要设计_甘泽_第3页
基于windows下的QT字典设计与实现-概要设计_甘泽_第4页
基于windows下的QT字典设计与实现-概要设计_甘泽_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1基于windows下的QT字典设计与实现概要设计总页数 13 正文 10 附录 0 生效日期编制 批准南昌航空大学东软班 概要设计报告书 版本:1.1.02修 改 履 历修改编号 日期 修改人 版本号 修改内容1 VER1.0 功能完善2 VER1.1.0 服务器架构重写,运用前摄器模式,类图写说明。南昌航空大学东软班 概要设计报告书 版本:1.1.03目 录1 文档概述 .41.1 文档目的和范围 .41.2 术语/缩略语 .41.3 参考文档 .42 模块概述 .42.1 模块功能定义 .52.2 模块结构 .62.3 模块动作时序 .73 接口说明 .73.1 数据结构定义 .73.2 类关系定义 .83.2.1 服务器端 . 通讯模块 . 数据库模块 . 单词录入模块 . 搜索模块 . Web 模块 . 其他类 .113.2.2 客户端 . 通讯模块 . UI 模块 . 语音模块 .123.2.3 客户端(控制台版) . 通讯模块 . UI 模块 .13南昌航空大学东软班 概要设计报告书 版本:1.1.041 文档概述1.1 文档目的和范围该文档的目标是完成 Windows 下的 Qt 电子词典的概要设计,包括所有的数据结构,数据结构的关系,函数申明及功能1.2 术语 /缩略语序号 术语/缩略语 说明1 Sqlite3 一个轻量级数据库2 Sql Server 微软的数据库3 HTTP 超文本传输协议4 SOCKET 网络通讯套接字5 UDP 用户数据报协议6蜘蛛(Spider)在服务器上,相当于一个客户端处理对象1.3 参考文档序号 文档名 作者 时间 版本1 开题报告 甘泽 2013.12.5 VER1.02 需求分析 甘泽 2013.12.18 VER1.02 模块概述服务端功能如下:1索引表生成1.1.通过处理数据库中的单词原始数据生成索引表南昌航空大学东软班 概要设计报告书 版本:1.1.051.2.索引表序列化入文件2搜索单词2.1.接收客户端请求的内容2.2.搜索文件中存储的索引表返回客户端可能查询的单词集合2.2.单词集合为空时搜索网络词源客户端功能如下:1接受用户的输入2返回用户可能匹配的值3朗读用户制定的单词或句子2.1 模块功能定义序号 大模块名 功能点 功能点详细内容1录入模块1.读取 SQLITE 数据库中的数据源(单词,词义)2.根据数据源生成索引表(索引表算法可采用树状或图状算法)3.序列化索引表到文件中存储2通讯模块1.建立监听端口2.采用 TCP 协议监听客户端3.接收到客户端后建立客户端通信线程3搜索模块1.对索引表进行搜索,得到可能需要的单词2.查询数据库中对应的真实词汇4 数据库模块 数据库操作的封装,包含 SQLITE3 和 SQLSERVER5服务器端WEB 模块1.接收搜索单词的内容2.通过 WEB 搜索单词(运用有道 API 到网站上查询单词)3.返回网络词义6通讯模块1.通过 TCP 协议连接服务端2.发送打包后的 JSON 数据包7UI 设计1.通过 UI 显示客户的操作界面2.Qt 实现8客户端语音模块 1.会朗读相关单词,句子南昌航空大学东软班 概要设计报告书 版本:1.1.062.运用 SPEECH SDK 实现2.2 模块结构所有模块分类及模块间数据流见下图 1:网络词义( w e b d a t a )服务端搜索模块客户端U I 模块服务端通讯模块需要查询的单词待选代词列表客户端通讯模块客户端通讯模块单词详细信息单词I D服务端通讯模块查询意向字典树数据( w o r d t r e e )单词索引树单词源数据( s o u r c e d a t a )单词全拼单词录入搜索关键信息单词列表单词全拼单词详情数据库模块单词树W E B 模块单词全拼单词详情单词列表单词搜索内容单词I D单词列表或详情单词意向单词列表单词详情 单词 I D单词详情语音模块朗读文字发音数据流图 1 模块结构图: 模块关系图 .vsd南昌航空大学东软班 概要设计报告书 版本:1.1.072.3 模块动作时序模块间时序图见下图 2:图 2 时序图: 时序图 .vsd3 接口说明3.1 数据结构定义字典索引表结构定义见下图 3:图 3 数据结构图:数据结构 .vsd左侧为数据库中存储的原始数据例,右侧为根据该例生成的索引表。绿色为有效节点,蓝色为辅助南昌航空大学东软班 概要设计报告书 版本:1.1.08节点(即数据库中无对应字段) 。3.2 类关系定义服务器端主要功能类见下图 4:图 4 服务器端类图:类图 Server.vsdNet 类为所有索引表结构的父类,使用工厂模式设计,同时为 Node 的代理,供 Spider 访问。提供所有子类的工厂接口。Node 为所有节点存储格式的父类,使用工厂模式设计,提供所有子类的工厂接口。Communication 与 Spider 为与用户通讯的对象,设计使用前摄器模式提高 IO 效率。3.2.1 服务器端 通讯模块 Class Communication类名:通讯类功能:通过 BOOST ASIO 中的 TCP SOCKET,监听客户端连接请求并产生与客户端通讯的对象。管理每个与客户端通讯的对象,发现超时未相应的对象则自动删除。父类:boost:noncopyable南昌航空大学东软班 概要设计报告书 版本:1.1.09Class SearchSpider类名:搜索蜘蛛功能:接收解析客户端请求,通过查询索引表与数据库,馈服务器结果给客户端。并等待下一次请求。Class json类名:JSON 类功能:负责本地单词与词义数据的网络传输的打包与解析,对特殊符号的屏蔽。数据库模块Class DiskIO类名:硬盘输入输出类功能:负责硬盘通用接口的输入与输出的封装,同时实现硬盘输入与输出操作的管理(为每一个硬盘输入输出功能创建独立线程并管理) 。Class Sqlite3Helper类名:SQLITE3 数据库操作助手功能:负责 SQLITE 数据库的具体操作,如增加单词,通过 ID 或拼写查询单词父类:DiskIO单词录入模块Class Net类名:字典索引表功能:负责字典索引表的增查操作,由字典索引构成。Class TreeNet类名:树状结构索引表功能:负责构建树状的索引表用于查找父类:NetClass Node南昌航空大学东软班 概要设计报告书 版本:1.1.010类名:字典索引节点功能:字典索引表上的节点Class LocalNode类名:本地节点功能:负责表示节点的存储类型是本地存储父类:Node搜索模块Class Net类名:字典索引表功能:负责字典索引表的增查操作,由字典索引构成Class TreeNet类名:树状结构索引表功能:负责构建树状的索引表用于查找父类:NetClass SearchSpider类名:搜索蜘蛛功能:接收解析客户端请求并反馈服务器结果 Web 模块Class PythonInitialized类名:python 环境初始化类功能:初始化 python 的运行环境父类:boost:noncopyableClass PythonFunction类名:PythonFunction南昌航空大学东软班 概要设计报告书 版本:1.1.011功能:引入 Python 的函数其他类Class FileHelper类名:文件操作类功能:负责序列化的存储与读取,用来存储索引表3.2.2 客户端通讯模块Class Communication类名:通讯类功能:负责与服务器端通讯Class json类名:JSON 类功能:负责本地数据的网络传输打包与解析Class JSONPack类名:JSON 打包类功能:负责封装特定数据的打包与解析 UI 模块Class mainWindow类名:主窗口功能:包含输入框与搜索按钮,负责搜索功能Class DetailShowElement类名:细节显示南昌航空大学东软班 概要设计报告书 版本:1.1.012功能:负责显示具体搜索单词的细节Class EnterLineEditor类名:输入框功能:接收用户的输入Class SearchButton类名:搜索按钮功能:搜索输入框中的单词Class ShowListElement类名:显示元素列表功能:显示用户可能查询的待搜索记录 语音模块Class QtSpeech类名:语音类功能:负责朗读用户要求的语音3.2.3 客户端(控制台版)通讯模块Class Communication类名:

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论