程连接的详细属性信息全部保存到一个自定义的文件。另一方面,导出的文件属于自定义的文件,这些文件将会作为程序日后导入链接使用的文件,所以要涉及到解密的过程,这些将在系统详细设计里详述。
3.2.8 系统安全性详述
在本系统中,首先要考虑到的安全性就是导入导出功能,因为这里涉及到远程计算机登陆用户的用户名及用户口令等敏感信息,这里应该采取加密解密算法,对敏感信息进行加密解密操作。另一方面,程序运行过程中,也应该保持远程连接的稳定性,不至于操作突然中断造成一些不必要的损失,在该管理工具中,采用的主要连接方式是通过RDP协议,在这样的连接中,如果连接意外中断,会话状态会被自动保存,不会造成正在进行中的工作意外中断,稍后可以重新登录远程主机继续刚才断开的连接。操作的时候也要保存连接的保密性,不至于被未被授权的用户窥视等。
3.2.9 系统可用性详述
系统应该提供给用户较好的操作体验,简洁实用,操作选项上,使用一个菜单有不同的菜单项,分别进行不同的操作,功能一目了然,同时,为考虑到多连接时的操作方便,每一个打开的连接,都以一个新标签的形式打开,类似浏览器一样的功能。在操作上,可以一次打开一个连接或断开一个连接,也可以同时连接多台远程主机。
3.3 程序用例图
程序用例见图3-1:
图3-1 程序用例图
下面对各个用例进行简单描述:"远程连接"是操作菜单下的几个主要功能的概括,包括"连接至"以及"通过控制台连接至",以及"全部连接"等,图中用例概括成了2个用例功能,分别是"连接已有主机"以及"新建主机",因为程序中连接功能上大致可以分为连接已有的及新建一个连接来连接,这些连接是针对远程主机。
做完需求分析,我们就可以据此对整个远程计算机管理工具做出整体上的设计,笔者在下一章给出了项目的总体设计的主要内容。
第4章 总体设计
参照上一节的需求分析,做出这个项目的总体设计,这样,项目就有了一个大致的轮廓,软件的结构等也就更加清晰。
4.1 项目结构概述
项目开发使用的软件工具及开发运行环境:
工具软件:Visual studio2010,
框架版本:framework4.0,
操作系统:windows7,
开发使用32位个人PC,
程序运行要求:Windows2000 server及更高版本的windows操作系统,需要framework4.0支持。
本系统作为一个完整的解决方案,一共包括3个工程:项目主要工程,数据操作工程,远程连接机器模型工程。项目主要工程,是项目的主要部分,包含程序的主窗体等各个用户操作直接使用的窗体界面,还有一些程序所需要的类库等的引用,图片等程序资源以及程序的配置等;数据操作工程,主要包括两个类,数据序列化类和一个数据加密解密用的类,这个工程的类主要用于对程序中一些敏感数据进行加密解密使用;远程连接机器模型工程,这个工程包括一个类,这个类定义了远程连接的模型,包括一个完整的远程连接所需要的各个属性参数及方法等。
总体说就是以下3层结构:
视图层:
视图是模型的表示,它提供用户交互界面。包括:各个操作的窗体界面
控制层:
用控制器提供一个控制和处理请求的集中入口点,负责接收、截取并处理用户请求(典型情况下是一个运行浏览器的用户);决定执行什么商业逻辑功能。
包括:所有实现逻辑的类
模型层:
模型提供了业务实体对象和业务处理对象,并通过业务实体对象实现了对视图和模型之间交互的支持。
包括:主机(包含连接名,主机名或IP地址,登录密码等)。
4.2 程序开发结构类图
主工程的类结构比较清晰,FrameBase类作为所有主工程的窗体类的基类,它定义了在本程序中所有用户界面的一些基本外观属性,主窗体中所有其他的窗体类都直接或者间接的继承自该基类,这样有利保证该程序中所有的窗体风格一致,符合软件设计的界面一致性原则。具体来说,包括下述派生窗体类:newConnectionFrame类,这个是"新建连接"的窗体类;addSettingsFrame类,是"添加设置"类;newRemoteMachineFrame类,新建远程主机连接类;newSettings类,"新建设置";mainFrame,这个是主窗体类。
主工程中各个类的主要方法设计如下:
1)FrameBase类的主要数据成员及方法见表4-1:
属性或方法名称 描述 public Machine GetRemoteDesktop(string parRemoteDesktopConnectionName) 获取一个远程桌面连接,返回机器模型 Public List
GetRemoteDesktops( ) 返回远程连接列表 public List GetAutoConnectRemoteDesktops() 获取自动远程连接的桌面 public bool SaveRemoteDesktop(Machine parMachine, bool openedForEdit) 保存远程连接,并返回bool型变量指示是否保存成功 public void DeleteRemoteDesktop(string parMachineName) 删除远程连接 public DataTable GetRemoteDesktopsDataTable() 获取远程连接表 public void SaveSettings(string password) 保存配置 public void LoadSettings(string password, string fileName) 加载设置到菜单中 表4-1 FrameBase类
2)newConnectionFrame类的主要数据成员及方法见4-2:
属性或方法名称 描述 private Machine _Entity 新建的连接实体 private void chkSaveSettings_CheckedChanged() 获取"保存连接"是否选中的方法 private void btnConnect_Click() 连接按钮的事件 表4-2 newConnectionFrame类
3)addSettingsFrame类的主要数据成员及方法见表4-3:
属性或方法名称 描述 public void LoadGridData() 为设置窗体内控件加载数据 private void dgrRemoteDesktops_CellContentClick "设置"内单元格的单击事件,比如删除,修改等功能 private void btnNew_Click() 新建按钮的事件 表4-3 addSettingsFrame类
4)newSettings类的主要数据成员及方法见表4-4:
属性或方法名称 描述 public bool openedForEdit 指示编辑是否打开的属性 public newSettings(Machine parMachine) 根据机器连接新建设置 private void btnSave_Click() 保存事件 表4-4 newSettings类
5)mainFrame类的主要数据成员及方法见表4-5:
属性或方法名称 描述 private void LoadConnectToMenuItems() 将连接加载到菜单中 public void LoadRemoteConnection(Machine parEntMachine, bool isConsole) 新建一个标签打开一个建立的远程连接的方法 void tsmiDisconnect_Click() 断开连接的方法 private void LoadConnectViaConsoleRemoteDesktops() 加载通过控制台连接菜单项方法 private void settingsToolStripMenuItem_Click() 设置菜单对应事件 private void disconnectA
上一篇:net版本的电子商城系统毕业论文
下一篇:高陈基于Java超市账单管理系统