详细设计说明书真正例子_第1页
详细设计说明书真正例子_第2页
详细设计说明书真正例子_第3页
详细设计说明书真正例子_第4页
详细设计说明书真正例子_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

详细设计说明书1 .引言1.1创建目的本详细设计说明书是为网络信息体系结构课程体系结构工作而编写的。 目的是详细设计这个项目,根据概要设计进一步明确系统构成,详细介绍系统的各个模块,为后续的实现和测试做准备。 本详细设计说明书的读者是本项目团队的成员和对该系统感兴趣,以后想进行系统扩展和维护的人。2 .系统的构成l ui :系统接口部分接受用户输入,显示系统输出,负责协调调用其它模块功能,并搜索站点内搜索功能,即用户指定的打开ftp站点上用户所需的资源。 ui部分调用common部分的功能,读入xml文件中保存的接口要素的属性信息、用户最近访问过的10个ftp信息、用户选择的下载ftp内容列表、以及其他需要以xml文件保存的信息l client :实现ftp客户端功能,ftp连接,ftp上载和下载:上载或下载用户指定的资源,并返回相应的信息。l search:资源实时搜索器根据用户输入的资源名关键字、资源类型和选定的搜索方法搜索用户需要的资源,验证资源的可用性,并返回可用资源及其大小和速度等信息。l preview :资源的预览部分。 查看用户选定资源的部分内容,以便用户能够确定是否需要该资源。 读取preview部分common部分调用属性文件的内容时,还会显示预览资源内容的显示形式。3 .模块1(ui )设计说明3.1模块的说明实现用户接口的包括11个文件51类,这是本系统中最复杂的代码。3.2功能具有站点内检索功能,接受用户输入,显示系统输出、其他模块功能的协调调用,在用户指定的开放ftp站点中检索用户需要的资源。3.3交互式模块客户端,搜索,预览,公用。3.4模块设计此模块的主要文件、文件中包含的主要类及其功能以及与其他包的交互如下l MainFrame.java:MainFrame是包含主函数的类,是lyra客户端开始执行的类,在资源初始化、主接口显示等工作前后进行,根据画面尺寸设定接口的大小,接口外部l FtpFrame_AboutBox.java:显示窗口类,用户单击帮助菜单中的“概述”菜单项后,将显示一个对话框。l Tools.java:FileTools是文件操作辅助类,可以递归删除文件等。l xml controller.Java : JDOM tes是用于处理xml文件的类,其中包括在JDOM中处理XML文件的功能(1)保存FTP服务器的文件列表(在站点内检索时使用),递归地从FTP服务器读取列表,保存在xml文件中(文件的命名方法为ip用户名. xml )。 保存为目录树。(2)根据文件名检索文件,在网站内检索时使用。(3)保存FTP服务器信息:存在于ip、端口(不保存默认端口21 )、用户名(不保存默认anonymous )、密码、最多10个resourcesettingsserver sinfor.XML文件中。(4)读出被存储的ftp服务器信息。(从type.xml读取搜索类型。l Constants.java:放置运行系统时使用的常量,initcontent ()函数初始化所有常量。 此函数在MainFrame中调用一次。 iconHashMap是hash表,用于存储文件的系统图标。l CustomizedController.java :由于包含自定义控件类,因此java控件可能不符合要求,并且必须定义自己的属性。 这些控件在创建接口时使用。 其中包括以下类别:(1)CustomizedJTable是表类,设定字体等表的一部分属性。(2)CustomizedTableCellRenderer主要是显示文件的系统图标和文件名的表单元格渲染器类。(3)LeftPanel类的父类为JTabbedPane,用户显示主窗口左侧的面板。(4)RightPanel类的父类为JPanel,用户可以查看右上角的搜索和服务器选项,以及用于显示中心服务器文件的TabbedPane等主题部分。(5)BottomPanel类是在右下方显示下载和服务器信息的JTabbedPane。(6)CustomizedJButton定义了按钮类,更改了按钮的字体,因此java自身的默认字体不美观。(7)CustomizedTableModel是表类,实现单元格的不可编辑。(8) customedtablecellrenderer _ remote类是表渲染器,用于远程文件浏览器RemoteFilesPanel,并显示文件名和文件图标。(9)FontTableCellRenderer类是表单元格渲染器,主要功能是设置字体。(10)FontListCellRenderer类是下拉列表框单元格渲染器,主要用于设置字体。(11)CustomizedJLabel类是自定义标签类,重新设置了标签字体。(12)CustomizedJTextField类别是自订文字方块类别,主要用于设定文字方块的显示属性。(13)CustomizedJMenu类是自定义菜单类,重新设置了菜单字体。(14)customedjmenumitem类是自定义菜单项类,重新设置了菜单字体。(15)CustomizedListCellRenderer类是JComboBox或组合框的单元格渲染器,用于在本地路径选择下拉列表中显示磁盘图标。l SearchResultReceiver.java,SearchResultReceiver是一个接口,主要用于返回搜索结果。 搜索完成后,调用接口函数通知调用方。 其中主要有两个函数(1) onsearchfinished (string keywords,ArrayList resultset) result是由10维数组表result10、resulti是由类型I的资源构成的数组。 i:0-9,与类型列表框的顺序一致。(2)与onsearchfinished (string keywords,ArrayList resultset )类型无关,将所有资源放在一个数组表中。lfftframe.java:ftftframe是程序的主窗口类,类型为JFrame,由三个分割窗口JSplitPane组成。jSplitPane_Left是左侧的分割窗口,在水平分割条上方显示本地文件框,在下方显示预览框jSplitPane_Right是右侧的分割窗口,其中服务器选项和ftp服务器文件显示在水平分割条上方,下方显示下载和服务器信息jSplitPane_Whole是整个划分窗口,其中,垂直划分条的左侧是jSplitPane_Lef,右侧是jSplitPane_Right。FtpFrame会在对应的分割窗格中安装left面板、right面板、bottom面板和PreviewWrapperPanel部分。left面板、right面板和bottom面板为自订面板lleftpanelctrl.Java : localfilespanel是一个本地文件面板,用于以表格形式显示本地文件的信息。 上面的组合框表示磁盘分区可以在此处更改根目录。 此表格显示档案资讯,包括档案名称、档案系统图示、大小、最近修改日期和属性。 选择文件后,可以执行上载和删除操作。 文件夹将递归删除。 GetCurrentPath ()函数返回当前路径。 DisplayPathFiles ()函数在列表中显示指定目录下的文件。l RightPanlCtrl.java :定义右上角的控件。 包括以下类别(1)ftpserveroperationpanel类是服务器连接选项面板,包含服务器地址、端口、用户名、密码等,也包含最上层的检索选项。 openRemoteFilesPanel ()函数在以下TabbedPane中打开新的服务器面板并连接到服务器:(2)RemoteFilesPanel类的主要功能是连接Ftp服务器来显示文件。 在此处上传、下载、预览文件等。 RemoteFilesPanel的内部类TransferController调用ftp客户端类提供的功能并与服务器交互,以完成用户指定的文件操作。 transfer控制器有三个内部类。 ConnThread类别是要连线至伺服器的执行绪(新执行绪,以避免连线时阻隔),DownloadFileThread类别是要下载档案的执行绪,而UploadFileThread类别则是要上载档案(3)SearchResultPanel类是显示搜索结果的类,作为两个子类的searchresultpanelwithinsearchine类的功能通过搜索引擎进行搜索,SearchResultPanelWithinServer类搜索引擎搜索调用搜索包中的程序,搜索引擎搜索完成后,搜索包通过OnSearchFinished ()通知searchresultpanelwithinsearcherine类,并搜索(4)RightTabbedPane是显示ftp服务器的文件表的TabbedPane类。l BottomPanelCtrl.java :实现主窗口底部的面板和控件,以显示下载情况和服务器连接信息。 主要类别包括:(1)远程eme光荣的sspinel类是显示服务器的连接信息的面板。 必须先进行编码转换,才能查看从ftp服务器返回的信息,然后才能查看本地信息。(2)DownloadingMessPanel类在显示资源的下载信息的面板中显示下载资源的大小、下载速度、经过时间、剩馀时间等信息。3.5工艺逻辑整个过程:上传预览FtpClient.class显示下载信息搜索公司RightPanel.classpreviewwrappperpanelbottomonpanel.classLeftPanel.classFtpFrame.classMainFrame.class3.6简单类图4 .模块2 (客户端)设计说明4.1模块的说明ftp客户端ftp客户端实现包括两个具体实现ftp协议的文件ftp客户端. java,以及FtpLoginException.java,它们是为登录时可能抛出的异常定义的类。4.2功能ftp客户端实现ftp客户端,实现ftp协议,用于与ftp服务器的通信和数据传输。4.3交互式模块ui4.4模块设计此模块的主要文件、文件中包含的主要类及其功能以及与其他包的交互如下Lu ftp客户端. Java :包含由ui包中的接口类调用并完成ftp功能的类FTP客户端。其中实现了以下功能:在构造函数中根据ip和port建立与服务器的连接登录服务器login () (用户名、密码)将ascii文件appendAscii ()添加到服务器将二进制文件appendBinary ()添加到服务器数据传输方式为二进制binary、ascii代码scii ();工作目录cd(String newdirectory )高级目录cdup ();断开closeserver ()的连接删除文件(文件名)删除文件夹rmdir (文件夹的名称)在ascii模式下下载文件getAscii (文件名)以二进制格式下载文件getBinary (文件名)服务器响应字符串getResponseString () :枚举当前目录下的文件list (),并指定目录下的文件list (文件名)创建文件夹mkdir (文件夹名称)上传Ascii文件putAscii (文件路径)和二进制putBinary ()。l FtpLoginException.java :定义包含类FtpLoginException且在登录时可能抛出的异常。5 .模块3 (公共)设计说明5.1模块的说明某些辅助类保存,并在系统启动时从properties.xml读取某些配置信息。 您可以手动变更设定资讯,以变更系统的显示属性(字型、文字大小等)。5.2功能包含用于读取和存储系统配置属性的辅助类(如类)。 在properties.xml文件中存储属性名和属性值对的类。5.3交互式模块ui5.4模块设计此模块的主要文件、文件中包含的主要类及其功能以及与其他包的交互如下l Properties.java:包含类Properties。 这是读取和存储系统配置属性的类。 主要功能包括:函数getProperty ()从属性名称中检索属性值,如果属性不存在,则返回null函数getProperties ()从属性名称列表中返回属性值列表。 返回值为ArrayList,每个元素都是PropertyValue对象函数setProperty ()设

温馨提示

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

评论

0/150

提交评论