ImageVerifierCode 换一换
格式:DOCX , 页数:38 ,大小:1.10MB ,
资源ID:19718677      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19718677.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络字典课题报告Word文档下载推荐.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

网络字典课题报告Word文档下载推荐.docx

1、2 需求分析了解词典使用者的需求可以不断改进、完善、发展词典的编撰,使词典更好地为使用者服务。“读者意识”就是指辞书和辞书工作者为读者服务的思想及其表现。对于处于英语学习阶段的学生来说,英语词典的正确使用对提高学习兴趣、培养良好学习习惯有着不容忽视的作用。本软件通过用户(多用于学习英语的大学生)在自己的电脑上输入服务器IP地址和端口从而连接服务器,然后用来查询一些英语学习过程中遇到的难以理解的词语的注释,来更加及时的学习并理解该词语。通过网上查阅资料发现,使用词典的原因查阅词义是中国学生使用词典的最主要原因,这与夸克和格林鲍姆的发现一致。这表明查阅词义、发音、拼写和用法是中国学生使用词典的主要

2、原因。而在夸克和格林鲍姆的调查中,被访问者并不觉得发音和用法是很难克服的困难,因为他们是本族语词典用户。词典编者撰写释义时,使用的词汇或是有限制的或是无限制的。用有限的简单词汇释义在英语学习词典中较为流行。专家学者们对这种释义方法的反对意见多于赞成意见。但大多数学英语的中国学生对此表现出明显的偏好。2.1可行性分析1、技术可行性此在线词典系统可以运行于windows xp,win 7,windows vista操作系统。对系统要求只需要装有IIS即可。对计算机的硬件配置没有太高要求,现在的个人电脑完全可以满足。数据库运用简单易学的Access来实现。2、操作可行性界面设计充分考虑到用户的习惯,

3、输入IP、端口号连接服务器和查询单词给出释义的功能在一个界面内,方便明了、简单实用。不会让用户感觉使用起来有任何不方便的地方。2.2 实用工具简介1、 VC+6.0简介Visual c+ 6.0是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+是一个功能强大的可视化软件开发工具。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Develop

4、er Studio的组件集成为和谐的开发环境。2、Microsoft Office Access简介Microsoft Office Access是微软把数据库引擎的图形用户界面和软件开发工具结合在一起的一个数据库管理系统。它是微软OFFICE的一个成员, 在包括专业版和更高版本的office版本里面被单独出售。MS ACCESS以它自己的格式将数据存储在基于Access Jet的数据库引擎里。它还可以直接导入或者链接数据(这些数据存储在其他应用程序和数据库)。软件开发人员和数据架构师可以使用Microsoft Access开发应用软件,“高级用户”可以使用它来构建软件应用程序。和其他办公应用

5、程序一样,ACCESS支持Visual Basic宏语言,它是一个面向对象的编程语言,可以引用各种对象,包括DAO(数据访问对象),ActiveX数据对象,以及许多其他的ActiveX组件。可视对象用于显示表和报表,他们的方法和属性是在VBA编程环境下,VBA代码模块可以声明和调用Windows操作系统函数。3、 ODBC简介一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以

6、统一的方式处理所有的数据库。ODBC技术以CS结构为设计基础,它使得应用程序与DBMS之间在逻辑上可以分离,使得应用程序具有数据库无关性。ODBC定义了一个API,每个应用程序利用相同的源代码就可以访问不同的数据库系统,存取多个数据库中的数据。与嵌入式SQL相比,ODBC一个最显著的优点是用它生成的应用程序与数据库或数据库引擎无关。ODBC使应用程序具有良好的互用性和可移植性,并且具备同时访问多种DBS的能力,从而克服了传统数据库应用程序的缺陷。4、 Microsoft Visio简介Microsoft Visio是Windows操作系统下运行的流程图和矢量绘图软件,它是Microsoft O

7、ffice软件的一个部分。它的竞争者是Adobe Illustrator、Macromedia FreeHand和CorelDraw。另外,Visio虽然是Microsoft Office软件的一个部分。但通常以单独形式出售,并不捆绑于Microsoft Office套装中。2.3相关术语释义control 控制组件,如Edit、ListBox、Button.Icon 图标(窗口缩小化后的小图样)linked-list 串行Listbox 列表框、列表清单notification 通告消息(发生于控制组件)preemptive 强制性、先占式、优先权式process 进程(一个执行起来的程序)

8、queue 队列window focus 窗口焦点(拥有焦点之窗口,将可获得键盘输入)class 类别object 对象constructor 构造式destructor 析构式override 改写Encapsulation 封装Inheritance 继承virtual function 虚拟函数member function 成员函数data member 成员变量Base Class 基础类别Derived Class 衍生类别Retrieves 取回 返回2.4软件主要实现功能本软件通过用户(多用于学习英语的大学生)在自己的电脑上输入服务器IP地址和端口从而连接服务器,然后用来查询一

9、些英语学习过程中遇到的难以理解的词语的注释,来更加及时的学习并理解该词语,服务端内设置有增、删、改、查功能,可以及时的更新新进词汇,以及标注一些难以理解,难以记忆的词语,方便用户理解和记忆。用户通过客户端查询单词,从而在服务端显示某项或者某些单词的被查询频率,通过这个来计算那些单词用户查询的比较多,让我们更加了解用户对词典的需求方向,来帮助我们改进和优化软件的功能,也可以通过这些数据来改进词典释义的显示顺序以及显示方式,让用户更轻松的找到自己需要的注释或者用法。当服务器遇到客户端查到的词语未录入数据库的情况时,服务端会出现提醒,从而让编撰者来添加该单词让词典一步步的更加完善。软件实现需要的一些

10、辅助工具:Windows XP ;VC+6.0;ODBC(数据源);Access数据库;Visio工具2.5系统数据流图1、系统环境图环境图也称为顶层数据流图,它仅包括一个数据处理过程,也就是要开发的目标系统。环境图的作用是确定系统在其环境中的位置,通过确定系统的输入与外部实体的关系确定其边界。2、系统数据流图按照系统的层次结构进行逐步分解,并以分层的数据流图反映着中结构关系,能清楚地表达整个系统,也容易理解。数据流图词典数据管理流图3、总体数据流图4、系统业务流程图5、 E-R图总体E-R图3软件开发过程3.1客户端各个功能的构思与实现3.1.1客户端大致界面设计图1-1设计思路:最上端为用

11、户打开客户端后登陆服务器入口,放在最上面方便用户第一时间输入服务端IP地址以连接服务器。中间位置让用户输入需要查询的单词。最下方显示单词解释。整个界面简洁明了,使得软件适用于更多的用户,即使对计算机操作没有任何了解的人,只要知道了服务端的地址就可以方便快捷的使用该软件。3.1.2连接服务器图1-2输入服务器IP地址和端口号点击连接服务器,代码实现如下:void CClientDlg:OnConnectButton() int nRet; /定义返回值 UpdateData(TRUE); /获取数据 /获取服务器IP DWORD dwServIP; m_ctlServIP.GetAddress(

12、dwServIP); if (0 = dwServIP) AfxMessageBox(请填写服务器地址。); /AfxMessageBox:输出 return; /服务器端口 if (0 = m_sServPort)请填写服务器端口。 /服务器地址 SOCKADDR_IN servAddr; servAddr.sin_family = AF_INET; servAddr.sin_addr.S_un.S_addr = htonl(dwServIP); servAddr.sin_port = htons(m_sServPort); int nServLen = sizeof(servAddr);

13、nRet = connect(m_sHost, (SOCKADDR*)&servAddr, nServLen); if (SOCKET_ERROR = nRet) AfxMessageBox(_T(连接服务器失败!);3.1.3查询单词图1-3输入要查询的单词,点击查询按钮,代码实现如下:OnLookupButton() if (NULL != m_pLookupSocket) /CLookupSocket指针 CString strWord; m_ctlWord.GetWindowText(strWord); /获取单词 if (strWord.IsEmpty() /若用户未输入单词,则弹出

14、提示 m_ctlMeaning.SetWindowText(_T(请输入单词。 return; CString strWordLookup; if (IsWord(char*)(LPCSTR)strWord, strWordLookup) /判断是否为单词 if (FALSE = m_pLookupSocket-Lookup(strWordLookup) /发送数据 AfxMessageBox(_T(查询单词失败! else /若输入的不是单词则弹出提示不要包含汉字和其他符号。 3.1.4显示单词含义图1-4代码实现如下:ShowMeaning( TCHAR *pMeaning ) if (N

15、ULL = pMeaning ) /字符串为空 CString strMeaning(pMeaning); /单词含义 m_ctlMeaning.SetWindowText(_T( /清空原来字符串 /解析字符串 CString meaning1; /第一个含义 CString meaning2; /第二个含义 int nIndex = strMeaning.Find( if (-1 = nIndex) meaning1 = strMeaning.Mid(1,nIndex -1); int nLen = strMeaning.GetLength(); meaning2 = strMeaning

16、.Mid(nIndex + 2, nLen - meaning1.GetLength() - 4); CString meaning; /显示含义字符串 if (!meaning2.IsEmpty() /第二个含义不为空 meaning = + meaning1 + rn + /换行 meaning2; else /第二个含义为空 meaning1; m_ctlMeaning.SetWindowText(meaning);/显示含义3.1.5判断输入是否为单词BOOL CClientDlg:IsWord( char * pExp, CString &strWord ) int nCount =

17、 strlen(pExp); /字符长度 int nLen = 0; char *pTemp = pExp; while (*pTemp = ) /剔除前面的空格 nLen+; pTemp+; char *pStartWord = pTemp; /字符开始位置 /结束循环的条件:1.遇到空格 2.字符串结束 while (*pTemp != & nLen != nCount) if (*pTemp 90 & *pTemp 97) 122) pTemp+; nLen+; int nNum = pTemp - pStartWord; /有效字符数量 CString strTemp(pStartWo

18、rd, nNum); /临时变量 strWord = strTemp; return TRUE;OnOK() OnLookupButton();3.1.6退出图1-5点击红叉或者取消按钮推出客户端,代码实现如下:OnCancel() m_bRunning = FALSE; /设置客户端运行状态 WaitForSingleObject(m_hWorkerThread, INFINITE); /等待工作线程退出 delete m_pLookupSocket; /删除CLookupSocket指针 m_pLookupSocket = NULL; WSACleanup(); /释放套接字资源 CDia

19、log:OnCancel(); /销毁对话框3.2 服务端的构思与实现3.2.1服务端大致界面设计图2-1 菜单栏包含操作查看和帮助功能,操作子菜单栏在管理员选中单词后可以实现对该单词的删除和修改功能,也可直接增加单词,列表中单词按首字母顺序排列。 查看菜单中包含查看用户查询了但是没有输入在数据库中的单词,方便管理员及时对数据库的更新和查看用户对常用单词的查询概率。查看菜单的第二个子菜单为显示在线人数功能,管理员可以通过它来查看当前连接到服务端的用户人数来计算用户使用词典的时间密度。3.2.2处理客户端请求void CClientSocket:HandleData( void ) if (m_

20、hdrRecv.len != 0) /接收包头完毕 RecvPacket(); /接收数据包体 ZeroMemory(&m_hdrRecv, HEADERLEN); /包头置0 else /接收数据体完毕 ASSERT(m_hdrRecv.len = 0 & m_hdrRecv.type = ETOC); /在数据库中查找单词的含义 m_strMeaning.Empty(); CString strMeanging1; CString strMeanging2; Lookup(char*)(LPCSTR)m_strWord, strMeanging1, strMeanging2); /打包数据

21、 m_strMeaning =Open(_variant_t(strSQL), theApp.m_pConnection.GetInterfacePtr(), adOpenStatic , adLockOptimistic, adCmdText); int n = m_pRecordSet-GetRecordCount(); /判断是否找到该单词 if (0 = n) /该单词未存在于数据库中 strMeaning1 = 在词典中没有查找到该单词! bFinder = FALSE; else /该单词存在于数据库中 /含义1 _variant_t var; var = m_pRecordSet

22、-GetCollect(meaning1 if (var.vt != VT_NULL) strMeaning1 = (LPCSTR)_bstr_t(var); else /含义2meaning2 strMeaning2 = (LPCSTR)_bstr_t(var); strMeaning2 = Close(); /关闭 catch(_com_error *e) AfxMessageBox(e-ErrorMessage(); return ; catch(.)访问数据库服务器时发生异常。3.2.4设置服务器地址及端口号,初始化变量图2-2在此处输入服务端IP地址和端口号,点击”OK”确定,代码实现如下:void CServerAddrDlg: CString strServPort; m_ctlServPort.GetWindowText(strServPort); /端口字符串 if (strServPort.IsEmpty() m_ctlServIP.GetAddress(m_dwServIP); if (0 = m_dwServIP) /获取服务器端口 m_shServPort = atoi(strServPor

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1