基于QT的远程控制需求报告分析doc.docx
- 文档编号:12734289
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:17
- 大小:134.16KB
基于QT的远程控制需求报告分析doc.docx
《基于QT的远程控制需求报告分析doc.docx》由会员分享,可在线阅读,更多相关《基于QT的远程控制需求报告分析doc.docx(17页珍藏版)》请在冰豆网上搜索。
基于QT的远程控制需求报告分析doc
信息科学与技术系
实验报告
实验四基于QT的远程控制需求分析报告
【实验目的】
1.掌握软件需求结构化分析方法
2.掌握使用Visio建立分析模型的方法
3.掌握软件需求说明书的撰写
【实验内容】
1.问题背景及描述;
2.功能分析;
3.建立系统流程图;
4.建立数据流图;
5.算法描述;
6.建立E—R图;
7.建立状态图;
8.撰写软件需求说明书;
9.验证软件需求;
【实验步骤】
见附件
【实验总结】
通过此次实验,我们明白了软件需求结构分析方法,了解了使用Visio建立分析模型的方法,掌握了软件需求说明书的撰写。
需求分析报告的目的是为了使用户和软件开发者双发对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础。
附件:
目录
1引言1
1.1编写目的1
1.2背景1
1.3定义1
1.4参考资料2
2任务概述2
2.1目标2
2.2用户的特点2
2.3假定和约束2
3需求规定2
3.1对功能的规定2
3.1.1对功能的规定2
3.1.2主控端设计思路3
3.1.3各模块功能具体要求4
3.1.4远程控制流程5
3.1.5数据流图5
3.2系统可行性分析6
3.2.1经济可行性6
3.2.2技术可行性6
3.2.3操作可行性7
3.3对性能的规定7
3.3.1界面要求7
3.3.2灵活性7
3.3.3数据要求7
3.3.4用户系统描述8
3.3.5故障处理要求8
3.3.6性能需求8
3.3.7其他专门要求9
4运行环境规定9
4.1设备9
4.2支持软件9
4.3控制10
5系统模块的总体设计10
5.1模块设计10
5.2屏幕监控模块设计10
5.3文件操作模块设计11
5.4命令操作模块设计12
5.5HTTP/FTP服务器模块设计13
5.6APIHOOK模块设计13
6总结13
1引言
1.1编写目的
近年来,随着计算机及网络的应用普及,千千万万的人们在娱乐、通讯、学习、工作等各方面都实现了前所未有的信息化,极大地提高了生活质量与工作效率。
网络技术的不断发展,也为远程监控技术的发展创造了条件。
远程监控软件一般分两个部分:
一部分是客户端程序Client,另一部分是服务器端程序Server,多数远程监控软件把被监控端作为服务器,主控端作为客户端。
考虑到在监控过程中,如果把主控端作为客户端向被监控端发送TCP连接请求,容易被防火墙或者杀毒软件阻止,监控过程就不能够成功进行。
因此,本次项目设计将被监控端设计为客户端,向主控端发连接请求,建立连接后,主控端向被监控端发送远程控制命令,控制被监控端电脑中的各种应用程序运行,被监控端对主控端发送来的命令进行处理,并将命令处理结果返回给主控端。
1.2背景
在飞速发展的今天,包括涵盖远程办公、远程教育、远程维护、远程协助以及企业管理等都属于远程控制涉及的应用领域。
随着应用领域的越来越广泛,使用的价值也不断提高,市场需求也越来越明显。
目前比较出名的远程控制软件例如PeerYou,VCN,Oray等都具有高效的信息交互和传输能力,以及实现跨平台的高效远程控制。
C/S模式远程控制软件充分利用网络资源,以普通PC机为控制设备,通过面向对象以及模块化的程序设计,有着低成本、高实用性、可靠性和可扩展性的优点。
综合以上原因,我决定通过一定的理论知识与实践来尝试学习此类知识,并且使用QT编程语言结合C/S模式实现一款远程控制软件。
1.3定义
数据流图:
简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。
1.4参考资料
《实用软件文档写作》清华大学出版社肖刚
2任务概述
2.1目标
远程控制是当前信息技术领域的热点,使用远程控制技术,我们可以克服因地域差异而造成的操作不便,让网络的效率得到更大的发挥。
随着技术的发展与网络的普及,目前远程控制技术的应用领域已经相当广泛。
我们不仅可以通过远程控制技术管理远端电脑,解决远端电脑的故障,与其他同事通过网络实现远程协作,一起编辑一份文档或者与其他团队成员交流信息,还可以在家里或旅途中使用公司内部网络的数据与办公设备,实现远程办公。
基于此,我们的目标是为一个中小型企业而开发出此套远程控制系统,利于公司的远程交流控制。
2.2用户的特点
对于企业内部工作人员而言,远程控制技术最具吸引力的莫过于可以遥控远端的电脑。
用户可以在家中操作办公室里的电脑,或者在办公室里调用存储在家中的文档,同时还可以当一回专家,通过远程控制计算机执行上级交给的任务,从而有利于提高工作的执行效率。
2.3假定和约束
企业要求的开发时间紧迫,所以可以结成一个技术小组共同研究开发,分工合作。
3需求规定
3.1对功能的规定
3.1.1对功能的规定
系统的操作功能主要分为四大模块如图3.1所示,可以划分为以下几个部分。
(1)获取被控计算机系统信息模块:
主控电脑获得被控电脑的主要信息,主要包括可用的实际内存大小、系统版本号、处理器序号、鼠标的按钮个数和C盘的文件系统类型等信息。
(2)系统控制模块:
实现被控端计算机关机、注销、重起功能。
(3)发送消息模块:
主控端与被控端进行简单的文字对话。
(4)界面控制模块:
隐藏或显示被控端开始按钮、任务栏与桌面图像。
图3.1系统总体结构图
3.1.2主控端设计思路
主控端主要是发送各种控制命令给被控端,控制被控端实现各种控制功能。
当程序运行时首先要进行主控端的设置,本系统采用了人性化的设计,调用了Winsock控件,所以用户不需要自己来设置端口,只要鼠标点击“设置主控端”按钮就可以完成主控端的设置。
设置成功后,系统提示设置成功,进入监听状态,等待被控端发送连接请求,接收到连接请求后建立连接。
主控端便可以实现对被控端的控制和消息的发送了。
主控端分为两大部分如图3.2所示。
第一个部分是操作部分,主要分为系统设置、被控端信息、系统控制、发送消息和界面控制五部分。
第二部分是信息栏显示,当主控端程序运行时会显示主机的IP地址和主机名,而当连接建立后,信息栏会显示被控端的IP地址。
图3.2主控端结构
3.1.3各模块功能具体要求
(1)主控端获取被控端系统信息。
此模块的主要功能是主控端能通过此功能了解到被控计算机上的系统信息,为后面进一步的对被控端进行控制作一个简单的了解,也同时通过此功能对被控计算机上所安装的软、硬件进行了解,做到对被控计算机的了解程度跟了解本机一样。
(2)对被控端的界面控制。
此模块主要实现主控端对被控计算机的用户界面的控制,包括对开始按钮的隐藏以及显示、任务栏的隐藏以及显示和桌面图标的隐藏和显示功能。
(3)对被控端的系统控制。
此模块主要实现对被控计算机的机器系统的控制,包括对被控计算机实施关闭计算机、重新启动被控端计算机以及注销被控端计算机目前使用的用户功能。
做到使主控端用户在主控计算机上就能很容易的控制被控计算机的系统。
(4)向被控端发送信息。
此模块主要实现主控计算机向被控计算机发送文字性消息的功能,有了此功能模块的建立,主控端用户可以在本机上向被控端用户传递信息和发送消息,做到了主控端的用户与被控端用户的联系。
3.1.4远程控制流程
被监控端收到主控端的UDP命令:
control:
TCPPort,获得主控端开放的TCP端口号。
成功连接主控端的TCP端口后,并从中读取事件对象,接着对事件对象进行类型判断,如果是键盘事件,就对键盘事件重演;如果是鼠标事件,就对鼠标事件重演。
接着判定控制套接是否关闭,如果关闭,控制结束。
否则返回继续读取事件。
流程如图3.3。
图3.3远程控制流程
3.1.5数据流图
系统模块流图如图3.4所示:
图3.4系统模块流图
3.2系统可行性分析
3.2.1经济可行性
本课题设计成本低廉,要的只是两个ISP分发的IP地址,而且这也多用于局域网或企业网等内网,就更谈不上成本上的问题。
但是如果需要对程序的质量提高可以购买加密算法,对传输数据进行加密。
3.2.2技术可行性
本课题设计所用到的一系列的技术已是累积了几十年的技术,这些技术在这么多年的发展中并没有被淘汰,反而是越来越来热门。
当初远程协助这门技术在DOS时代就已经存在,只是受网络的制约,但是此时这门技术还是受网络技术制约着。
网络流量的问题是造成所有通信程序的不稳定性的罪魁祸首。
但是本课题设计在局域网中是完全能够实现的,而且也是专门为企业网内部所设计,因为数据信息没被加密,如果想走Internet,则需建立VPN。
3.2.3操作可行性
根据系统的操作是否简单易懂,是否为用户所接受,从操作的角度研究系统的可行性。
本课题设计操作简单,客户端安装后无需其它操作,服务端待客户端自动连接后,则可以对其屏幕、文件、注册表等进行操作,完全像操作本地机器一样简单。
综合以上三方面的可行性分析,本课题设计的操作是可行的。
3.3对性能的规定
3.3.1界面要求
主控端界面应当简单、友好、方便使用和操作;被控端是用作运行在被控计算机内的可执行文件,为提高执行速度,从客户端发送到服务端的信息应尽量的少。
主控端与被控端之间通过使用TCP协议建立连接,以实现对被控计算机的控制。
3.3.2灵活性
(1)操作方式上应该能够满足鼠标和键盘任意切换的需要。
(2)能够支持Windows95、Windows98、Windows2000、WindowsMe和WindowsXP的运行环境。
(3)留有与其他系统的接口。
3.3.3数据要求
简单远程控制系统的结构中,主控端是相当于一个系统的前台,为用户提供了一个操作界面,而几乎所有的操作都是在被控端这个后台处理程序运行的,被控端界面提供的操作可分为连接、动作、和信息三个模块。
连接模块是在被控端运行的,动作模块作为远程控制系统的核心,是在主控端运行实现的。
3.3.4用户系统描述
首先设置主控计算机为主控端,主控端显示为监听状态,被控端通过输入主控计算机的IP地址点击连接主控端。
被控端连接成功后,主控端显示为连接状态,主控端便可以对被控计算机实现各种操作。
每次操作成功后都会在主控端计算机上显示相应的提示信息。
3.3.5故障处理要求
当系统发生故障时,要求技术小组人员能迅速站到问题所在并及时妥善处理,保障公司的利益,将损失降到最小。
3.3.6性能需求
为了保证软件能够长期、安全、稳定、可靠、高效的运行,本远程控制软件应该满足以下的性能需求:
(1)准确性与及时性
软件处理的准确性和及时性是软件的必要性能。
在软件设计和开发过程中,要充分考虑软件当前和将来可能承受的工作量,使软件的处理能力和响应时间能够满足企业对信息处理的需求。
(2)开放性和可扩充性
远程控制软件在开发过程中,应该充分考虑以后的可扩充性。
例如增添其它功能,用户的需求也会不断的更新和完善。
所有这些,都要求软件提供足够的手段进行功能的调整和扩充。
而要实现这一点,应通过软件的开放性来完成,既软件应是一个开放软件,只要符合一定的规范,可以简单的加入和减少软件的模块,配置软件的硬件。
通过软件的修补、替换完成软件的升级和更新换代。
(3)易用性和易维护性
由于远程控制软件是面向的使用人员广泛,这些使用人员不一定对计算机非常熟悉。
这就要求软件能够提供良好的用户接口,易用的人机交互界面。
要实现这一点,就要求软件应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的帮助,缩短用户对软件熟悉的过程。
(4)标准性
如规范的界面、作为业界标准的TCP/IP网络协议所要求的质量规范等;同时,在自主开发本软件时,要进行良好的设计工作,制订行之有效的软件工程规范,保证代码的易读性、可操作性和可移植性。
(5)安全性
软件注重安全性。
如果是正式单位使用远程控制软件,使用者必需拥有这个软件的使用权。
否则,如果随便就可以使用,那么被不法分子利用就可以窥看单位里的所有信息,造成不必要的损失。
因此,可以配置用户一个密码,拥有正确密码才有权所有该软件。
那么,密码文件的加密工作就一定要完善,不能被轻易破解。
(6)响应速度
例如远程控制主机的屏幕,模拟鼠标、键盘向控制主机实现单击等操作,需要较高的响应速度。
因此,屏幕发送端在截取屏幕,并压缩屏幕数据的时间应尽量短,而且压缩后的屏幕数据应尽量小,但要保证客户端收到的屏幕数据还原为图片显示的效果不能太差。
两者应衡量权重。
3.3.7其他专门要求
要求能随时随地完成远程监控的任务,保障良好的数据传输能力。
4运行环境规定
4.1设备
运行本软件要求处理器在奔腾3代以上,内存在128M以上的计算机。
4.2支持软件
本系统支持的操作系统包括:
Windows95、Windows98、Windows2000、WindowsMe和WindowsXP。
本软件的开发工具:
QT。
4.3控制
本系统通过主控端对被控端进行监控。
5系统模块的总体设计
5.1模块设计
本系统面向的对象有两种,一种是服务端,一种是客户端。
服务端只要是向客户端发送操作命令,客户端解析命令后执行相应操作,然后将结果返回给服务端,服务端再将结果显示出来。
5.2屏幕监控模块设计
屏幕监控,也就是将客户端的屏幕截图,然后发送给服务端。
由于截图图片格式为BMP,一帧图像数据量很大,因此在此模块中引用第三方开源类库CxImage,和压缩库zlib,将截图在内存中压缩成JPEG格式,然后再调用zlib的压缩函数进一步对JPEG压缩,最后再发送给服务端。
鼠标和键盘的操作则是通过模拟来实现,在服务端捕获鼠标键盘操作后,服务端的命令连接就会将捕获的结果发送到客户端,客户端再通过调用mouse_event和keybd_event这两个API函数进行模拟鼠标键盘操作。
该模块大致流程图如图5.1所示:
图5.1屏幕监控大致流程图
5.3文件操作模块设计
文件操作,包括文件上传、文件下载、删除文件、修改文件名、执行远程程序。
在文件传输过程中,服务端能显示传输进度,也可以终止传输。
该模块大致流程图如图5.2所示:
图5.2文件操作大致流程图
5.4命令操作模块设计
命令操作,包括系统注册表、服务、进程、消息广播、执行CMD、重启或关闭远程计算机等操作,命令操作传输的数据量小,响应快。
为了客户端程序能正常对进程、服务等操作,还必须对客户端进程进行提升权限操作。
该模块的功能模块图如图5.3所示:
图5.3命令操作功能模块图
5.5HTTP/FTP服务器模块设计
对于使用自动上线的用户来说,如果系统包含HTTP/FTP服务器的话就会比较方便,因此在该远程协助系统中,嵌入了简单的HTTP和FTP服务器,用户可以借助这两个服务器,将服务端的IP更新到动态域名的某个文件中,使得客户端能够自动上线。
5.6APIHOOK模块设计
本系统采用APIHOOK技术对客户端进程进行守护,达到防止客户端进程被恶意结束的目的。
该功能采用了微软的开源类库detours,对OpenProcess和TerminateProcess这两个系统API进行HOOK,从而实现对客户端进程进行守护的目的。
6总结
经过小组的设计和开发,远程监控系统基本开发完毕。
实现了功能需求拟订的功能,各功能能够正常运行:
连续获得被监控端机器的屏幕变化;能对对方机器实现文件上传、下载;能远程控制对方机器;能重启,关闭对方计算机。
但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如界面设计不太美观,还有就是TCP方式太消耗资源,这是需要改进的地方。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 QT 远程 控制 需求 报告 分析 doc