2022年详细设计方案 .docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《2022年详细设计方案 .docx》由会员分享,可在线阅读,更多相关《2022年详细设计方案 .docx(49页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品_精品资料_第 2 章系统分析及开发技术说明2.1 节 需求分析2.1.1 节 功能需求分析可编辑资料 - - - 欢迎下载精品_精品资料_图 2.1功功能能需需求求说明图可编辑资料 - - - 欢迎下载精品_精品资料_( 1)用户端的基本谈天信息发送,这些基本谈天信息包括文本和图片.文本和图片谈天是谈天软件最基础的功能.用户通过输入IP 来查找用户,并申请加为好友,在对发方送同基意本加为好友传后输,音在视线用户列传表输就文会更新用白户板,把加入共的享用屏户添加到用保持连户列表中聊.天这信样息,两个用频户数之据前就可以实现件通信了.在信息传输中,幕估计利用接TCP/IP 协议中的 UDP
2、协议,这是面对无连接的协议,但发送速度快,用于谈天信息传输用适合.发送文本发送图片( 2)用户端的音视频数据传输,这是本设计的扩展功能.用户可以正常通信信息信息后,就可以挑选是否进行语音或视频谈天.本功能也将采纳UDP 协议, UDP 协议可能会丢失数据,但对于音视频谈天需要传输大量数据但又答应丢失少量数据的情形下, UDP 的快速发送信息的特点就得到很好的表达.( 3)用户端文件传输的功能,用户之间可以断点续传文件.在传文件之前,第一创建一信息文件,记录文件传送的一些信息,并依据传输的数据量实时修改.假如没有传完,下次就可以连续打开这个信息文件,接着上次的进度传输.由于文件传输入要求数据不能
3、出错,因此此模块采纳TCP 协议.( 4)用户端之间白板和共享屏幕的功能,这个功能有些类似视频的传输,因些并不是很难,可以在视频传输的功能上加以修改.( 5)用户之间后台的连接,每个用户隔指定时间会向用户列表中的每一用户发送消息,查看用户是否在线,假如不在线,就更新用户列表,删除用户.2.1.2 节 数据需求分析( 1)客户端之间谈天信息.在控件上显示时格式化,更易于用户的查看自己发送或接收到的信息.( 2)在线用户列表信息.服务器端存放在适当的空间中,在发送给客户端时,可编辑资料 - - - 欢迎下载精品_精品资料_对信息列表进行格式化,便于客户端提取信息.( 3)客户端向服务器端发送的确认
4、在线信息.包括客户端刚刚启动时的初始化信息和在使用过程中的确认在线信息.( 4)其它程序内部可能需要设计的数据结构体.2.1.3 节 性能需求分析( 1)牢靠性高,能在由于系统问题或其它缘由产生错误后,作出相对应处理, 比如网络初始化失败、服务器不在线等,可以提示用户安全退出本程序,在显现不行知的错误以后,可以尽量安全的退出程序.在程序的设计过程中,要求能尽可能多的设想到用户使用过程中可能发生的大事,并能在判定大事后做出相应的处理, 使程序具有较高的容错性能.( 2)宜操作性,程序简洁易懂,简洁上手使用.设计界面是,简化界面的复杂性,模拟 QQ 等现有即时通讯工具的界面,使用户能很简洁看懂并使
5、用.( 3)开发文档易懂得,保证以后自己二次开发或他人接手开发时,能够清楚的懂得整个系统的设计思路和实现细节.( 4)模块化设计此软件的功能,不同的模块实现不同的功能,使得软件易于以后的保护与扩展,在以后可以更好的完善本软件的功能,更便利于在工作中的应 用.2.1.4 节 运行需求分析(1) )用户界面程序较小,启动速度快,无启动界面.在本的局域网中使用,所以无需进行用户登录,无需认证界面,启动后的应用界面要清新,设计要简洁明白,要具有较高的易用性.(2) )故障处理在遇到可预知的故障与情形时,能提示用户并自动退出.在遇到不行预知的故障时能安全退出.2.4 节 Winsock 网络编程Wind
6、ows Sockets是从 Berkeley Sockets扩展而来的,其在继承 Berkeley Sockets的基础上,又进行了新的扩充.这些扩充主要是供应了一些异步函数,并增加了符可编辑资料 - - - 欢迎下载精品_精品资料_合 WINDOWS 消息驱动特性的网络大事异步挑选机制 5 .Windows Sockets由两部分组成:开发组件和运行组件.开发组件: Windows Sockets 实现文档、应用程序接口 API 引入库和一些头文件.运行组件: Windows Sockets 应用程序接口的动态链接库 WINSOCK.DLL .2.4.1 节 Socket套接字( Socke
7、t)最初是由加利福尼亚高校 Berkeley 分校为 UNIX 操作系统开发的网络通信接口,随着UNIX操作系统的广泛使用,套接字成为当前最流行的网络通信应用程序接口之一 7.90 岁月初,由 Sun Microsystems, JSB Corporation,FTP software, Microdyne 和 Microsoft 等几家公司共同制定了一套标准,即 Windows Sockets规范.Windows Sockets API 是 Microsoft Windows 的网络程序设计接口,它在继承了Berkeley Sockets 主要特点的基础上,又对它进行了重要扩充.这些扩充主要
8、是供应了一些异步函数,并增加了符合Windows 消息驱动特性的网络大事异步挑选机制.这些扩充有利于应用程序开发者编制符合Windows 编程模式的软件,它使在Windows 下开发高性能的网络通信程序成为可能.Socket 实际上是指一个通信端点,借助于它,用户所开发的Socket 应用程序, 可以通过网络与其它 Socket应用程序进行通信.近年来,随着运算机网络与Windows 95 的流行,很多用户所开发的应用程序需要实现网络间的数据通信.2.4.2 节 开发 Windows Sockets 网络通信程序的软、硬件环境所采纳的操作系统软件可以是 Windows 95,2022,XP,也
9、可以是 Windows NT ,由于它们都支持 Windows Sockets API,在以下的介绍中,我们将以在 Windows XP 环境下的开发为例.所采纳的编程语言一般可选目前较流行使用的可视化和采纳面对对象技术的Microsoft Visual C+ 6.0 .Visual C+ 6.0 可在 Windows XP 或 Windows NT 环境下运行,其开发系统增加了全面集成的基于Windows 的开发工具以及一个基于传统C/C+开发过程的“可视化”用户界面驱动模型.Visual C+ 6.0 中的 Microsoft 基类(MFC ,即 Microsoft Foundation
10、Class库是一系列 C+类,其中封装着为Microsoft可编辑资料 - - - 欢迎下载精品_精品资料_Windows 操作系统系列编写应用程序的各种功能.在有关套接字方面, Visual C+6.0 对原先的 Windows Sockets 库函数进行了一系列封装,继而产生了CSocket 、CSocketFile 等类,它们封装着有关Socket的各种功能 8.所采纳的网络通信协议一般是TCP / IP.Windows XP 和 Windows NT 都带有该协议.但是,所开发的网络通信应用程序并不能直接与TCP / IP 核心打交道,而是与网络应用编程界面 Windows Socke
11、ts API 打交道. Windows Sockets API 就可直接与TCP/IP 核心进行沟通. TCP / IP 核心协议连同网络物理介质(如网卡)一起,都是供应网络应用程序间相互通信的设施.2.4.3 节 CSocket 类编程模型使用 CSocket对象涉及 CArchive 和 CSocketFile 类对象.以下介绍的针对字节流型套接字的操作步骤中,只有第三步对于客户方和服务方操作是不同的,其他步骤都相同13 .( 1)构造一个 CSocket 对象.( 2)使用这个对象的Create成员函数产生一个socket 对象.在客户方程序中,除非需要数据报套接字, Create函数一
12、般情形下应当使用默认参数.而对于服务方程序,必需在调用Create 时指定一个端口.需要留意的是,Carchive 类对象不能与数据报( UDP )套接字一起工作,因此对于数据报套接字,CAsyncSocket 和CSocket 的使用方法是一样的.( 3)假如是客户方套接字,就调用CAsyncSocket Connect函数与服务方套接字连接.假如是服务方套接字,就调用 CAsyncSocket Listen 开头监听来自客户方的连接恳求,收到连接恳求后,调用 CAsyncSocket Accept函数接受恳求,建立连接.请留意 Accept成员函数需要一个新的并且为空的 CSocket 对
13、象作为它的参数,说明同上.(4) )产生一个 CSocketFile 对象,并把它与 CSocket对象关联起来.(5) )为接收和发送数据各产生一个CArchive 对象,把它们与 CSocketFile 对象关联起来.切记 CArchive 是不能和数据报套接字一起工作的.(6) )使用 CArchive 对象的 Read、Write 等函数在客户与服务方传送数据.(7) )通讯完毕后,销毁CArchive 、CSocketFile 和 CSocket 对象.可编辑资料 - - - 欢迎下载精品_精品资料_2.4.4 节 用 VC6.0 进行 Windows Sockets 程序开发的技术
14、要点( 1)同常规编程一样,无论服务器方仍是客户方应用程序都要进行所谓的初始化处理,这部分工作仍可采纳消息驱动机制来先期完成.( 2)一般情形下,网络通信程序是某应用程序中的一模块.在单独调试网络通信程序时,要尽量与采纳该通信模块的其它应用程序开发者商定好,统一采纳一种界面形式,即单文档界面SDI、多文档界面 MDI 和基于对话框界面中的一种(这在使用 AppWizard 形成工程 Project文件时有提示),尽管这并非必需,但可使通信模块在移植到所需的应用程序时省时省力,由于Visual C+ 6.0 这种可视化语言在给我们供应便利的同时,也给我们带来某些不便,譬如所形成的工程文件中的很多
15、相关文件与所采纳的界面形式亲密联系,很多消息驱动功能,随所采纳的界面形式不同而各异. 当然,也可将通信模块函数化,并形成一个动态连接库文件DLL 文件), 供主程序调用.( 3)以通信程序作为其中一个模块的应用程序往往不是在等待数据发送或接收完之后再做其它工作,因而在主程序中要采纳多线程(Multithreaded)技术.即将数据的发或收,放在一个具有肯定优先级(一般宜取较高优先级)的帮助线程中,在数据发或收期间,主程序仍可进行其它工作,譬如利用上一个周期收到的数据绘制 曲线 .Visual C+ 6.0 中的 MFC 供应了很多有关启动线程、治理线程、同步化线程、终止线程等功能函数 14 .
16、( 4)在很多情形下,要求通信模块应实时的收、发数据.譬如调用之的主程序以 0.5 秒为一周期,在这段时间内,要进行如下工作:接收数据,利用收到的数据进行运算,将运算结果发送到 其它运算 机节点,周 而复始 .我们在充 分利用Windows Sockets 的基于消息的网络大事异步挑选机制,用消息来驱动数据的发送和接收的基础上,结合使用其他措施,如将数据的收和发放在高优先级线程,在软件设计上,支配好时序,尽量防止在同一时间内,双方都在向对方发送大量数据的情形发生,保证网络要有足够的带宽等,胜利的实现了数据传输的实时性2 .第 3 章具体设计本章将从各个方面介绍本系统的设计.先从基本框架的设计动
17、身,然后逐步介绍好友治理、谈天模块、谈天室模块、传送文件模块、共享屏幕模块、白板模块、音、视频模块和调试模块,所以本章是本论文的重点.可编辑资料 - - - 欢迎下载精品_精品资料_3.1 节 基本框架设计本节内容将介绍除各个功能模块外的设计,包括界面上的处理、保持好友在线列表等的处理.有些内容可能并不属性框架设计,但这些内容也不具有单独使用一节来介绍的必要,所以把这些内容也一并放到这些节来介绍.这也是为了区分设计四周的处理与各个功能模块的处理.3.1.1 节 宏和数据结构的定义程序中用到了很多宏和数据结构,这些宏和数据结构在多个模块中都有用到,因此程序中特的新建一个头文件Global.h,此
18、头文件里是程序中很到的宏和数据结构 的定义1 .在 StdAfx.h 文件包含 Global.h,在程序其他的方都可以使用Global.h 中的宏和定义的数据结构.这样处理仍有一个好处,假如需要修改某些宏的值,可以直接在 Global.h 中修改,而不用处处去找宏的定义,便利和快捷.3.1.2 节 程序配置文件程序中很多信息需要储存,比如用户名和热键,因些程序用到了配置文件,默认的配置文件名为conf.ini .程序用读取和写入配置文件系列函数来治理此配置文件.3.1.3 节 主界面初始化用过 QQ 的人都知道, QQ 主面板总是处于其他程序的上面,而且QQ 在任务栏没有图标,而是把图标放到了
19、托盘区,另外,我们仍可以按Ctrl+Alt+Z默认的快捷键隐匿和显示 QQ 主面板.不但 QQ 是这样处理的,很多谈天软件都采纳此种处理方式.本设计也不例外,同样也要达到这样的目的.下面从各个方面来说明本设计的处理方式:(1) )不在任务栏显示图标CDialog dlgParent.dlgParent.Create IDD_DIALOG_BG .dlgParent.ShowWindow SW_HIDE .CInstantMessagingDlg dlg &dlgParent .m_pMainWnd = &dlg .ModifyStyleEx WS_EX_APPWINDOW, 0 .可编辑资料
20、- - - 欢迎下载精品_精品资料_上面代码就达到了程序主界面不在任务显示的目的.第一,我们创建一个对话框,并隐匿此对放框,然后把这个对话框作为主界面对话框的父窗口,然后在主界面对话框的初始化函数中修改其风格,去掉WS_EX_APPWINDOW风格.这样,主界面就不会显现在任务了 3 .(2) )将主界面放在最上层将程序放到顶层,很多程序都有这功能,比如金山词霸等,实现起来其实很简洁,只用一条语句就可以达到目的:SetWindowPos &wndTopMost, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE .第一个参数就是将程序放到全部非顶层窗口的顶层,假如有多个程
21、序都是顶层窗口,那么他们谁在上面,就要看当前谁是激活的窗口.最终一个参数,是用位 或组后起来的,从字面意思上我们就能懂得到这是不移动不转变大小的意思,忽视了当中的 4 个参数6 .(3) )热键的处理设计中默认的热键是Ctrl+Alt+Z ,当然程序答应用户自己定义热键,自定义的热键将储存在 conf.ini 文件中.热键的功能可以隐匿、显示主界面,有消息到达时,按热键也可以打开谈天对话框.:RegisterHotKey m_hWnd, IDHOTKEY , m_wModifiers, m_wVirtualKeyCode .使用全局函数 RegisterHotKey 可以注册热键,假如注册的热
22、键没有被其他程序占 用 , 那 么 注 册 胜利 . 注 册 成 功 后 , 如 果 按 热键 , 那 么程 序就 会 接 受 到WM_HOTKEY消息,因此我们仍需要自己处理 WM_HOTKEY消息12: void OnHotkey WPARAM wParam, LPARAM lParam .BEGIN_MESSAGE_MAPCInstantMessagingDlg, CDialogON_MESSAGE WM_HOTKEY , OnHotkey /AFX_MSG_MAP END_MESSAGE_MAP在消息映射中,我们用 OnHotkey函数来处理 WM_HOTKEY消息.void CIns
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年详细设计方案 2022 详细 设计方案
![提示](https://www.taowenge.com/images/bang_tan.gif)
限制150内