-
文档
详细设计说明书
详细设计说明书
1.
引言
1.1
编写目的
本详细设计说明书是针对网络信息体系结构而编写。<
/p>
目的是对该项目进行详细设计,
在
概要设
计的基础上进一步明确系统结构,
详细地介绍系统的各个模块,
为进行后面的实现和
测试作准备。本详细设计说明书的预期读者对系统进行扩展和维护的
人员。
2.
系统的结构
ui
preview
client
search
common
?
ui
:
系统界面部分,
负责接受用户输入,
显示系统输出,
负责其他模块功能的协调调
用,
并含有站内搜索功能,即在用户指定的已打开的
ftp
p>
站点中搜索用户需要的资源。
ui
部分调用
common
部分的功能读取
xml<
/p>
文件中保存的界面元素属性信息,用户最近访问
过的
10
个
ftp
信息,用户选
择的下载的
ftp
内容列表及其他需要通过
xml
文件保存的
信息。
?
client
:实现
ftp
客户端的功能,
ft
p
连接,
ftp
上传及下载:上传或下
载用户指定的
资源,并返回相应的信息。
1
文档
详细设计说明书
?
search:
< br>资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索
方式
检索用户需要的资源,
并验证资源的可用性,
返回可用资源及其
大小,
速度等相关
信息。
?
preview
< br>:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该
资源
。
preview
部分调用
commo
n
部分读取属性文件的内容亦显示预览资源内容的显示
格式。<
/p>
3
.
模块
p>
1
(
ui
)设计说
明
3.1
模块描述
实现用户界面的包,含有
11
个文件
51
个类,是本系统中最复杂的
代码。
3.2
功能
负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,<
/p>
即在用户指定的已打开的
ftp
站点中搜
索用户需要的资源。
3.3
交互的模块
client
,
search<
/p>
,
preview
,
common
。
3.4
模块设计
该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:
?
:
MainFrame
是含有主函数的类,也是
lyra
客户端开始执行的类,
它先后进行资源的初始化,显示
主界面等工作,根据屏幕大小设置界面大小,设置界面
的观感。
?
FtpFrame_:
显示关于窗口的类,当用户点击帮助菜单中的关于菜单
项时会弹出关于对话
框。
?
<
/p>
:
FileTools
是文件操作辅助类
,可以实现文件的递归删除等。
?
:
JDOMTes
是操作
xml
文件的类,用
JDOM
来操作
xml
文件,
实现的功能有
:
(
1<
/p>
)保存
ftp
服务器的文件列表(站内搜
索时使用)
,递归的从
ftp
服务器读
取列表,
并存入一个
xml
文件中(文
件的命名方法是:
ip+
用户名
.xm
l
)
;
以目录树的形式保存。
(
2
)根据文件名在文件中查找文件,站内搜索时使用。
(
3
)
p>
保存
ftp
服务器的信息:
ip
,
端口
(默认端口
21
不保存)
,
用户
名
(默认
anonymous
不保存)
,密码,最多存
10
个;存在
resourcesettings
文件中。
(
4
)读取
已存储的
ftp
服务器信息。
(
5
)从<
/p>
读取搜索的类型。
?
:
放置系
统运行时使用的一些常量,
initcontent
()
函数对所有常量进行
初始化,这个函数在
Ma
inFrame
中被调用一次。
iconHashMap
是
hash
表,用于存放
文件的系统图标。
?
:包含自定义的控件类,
java
中的控件可能不能满足需求,
需要自己定义某些属性。这些控件会在创建界面
时使用。其中含有的类有:
(
1
p>
)
CustomizedJTable
是表格类,设置表格的某些属性,如字体等。
(
2
)
Customized
TableCellRenderer
是表格单元格绘制器类,主要用于显示文件的系统
图标,
和文件名。
(
3
)
LeftPanel
类的
父类是
JTabbedPane
,用户显示主窗口左边的面板。
(
4
)
p>
RightPanel
类的父类是
JPan
el
,用户显示右边的主题部分,包括右上边的搜索及服务
器选
项,和中间的显示服务器文件的
TabbedPane
。
.
2
文档
详细设计说明书
(
< br>5
)
BottomPanel
类
是右下放显示下载和服务器信息的
JTabbedPane
。<
/p>
(
6
)
CustomizedJButton
是定义按钮类,更改了按钮的
字体,
java
本身默认的字体不好看。
(
7
)
C
ustomizedTableModel
是表格类,实现单元格的不可编辑。
(
8
)
CustomizedTableCellRenderer_Remote
类
是
表
格
绘<
/p>
制
器
,
在
远
程
文
件
浏
览
器
RemoteFi
lesPanel
使用,用于显示文件名和文件图标。
(
9
)
FontTa
bleCellRenderer
类是表格单元格绘制器,主要功能是设置字体。
(
10
)
FontListCellRenderer
类是下拉列表框单元格绘制
器,主要用于设置字体。
(
11
p>
)
CustomizedJLabel
类是
自定义标签类,重新设置了标签的字体。
(
< br>12
)
CustomizedJTextField
p>
类是自定义文本框类,主要用于设置文本框的显示属性。
(
13
)
Custom
izedJMenu
类是自定义菜单类,重新设置了菜单的字体。
(
14
)
CustomizedJMenuItem
类是自定义菜单项类,重新设置了菜单的字体
。
(
15
)
CustomizedListCellRenderer
类是
JComboBox
即组合框单元格绘制器,用于在本地
路径选择的下拉列表中显示磁盘图标。
?
,
Se
archResultReceiver
是一个接口,主要用于返回搜索结果。
搜索完成后调用接口中的函数通知调用者。其中主要有两个函数:
p>
(
1
)
OnSea
rchFinished(String[]
keywords,ArrayList[]
results
et);result
是一个
10
维的
数组表
result[10]
,
res
ult[i]
是由类型为
i
的资源组成
的数组。
i
:
0
-
9
,和类型列表框中的顺序一致。
(
2
)
OnS
earchFinished(String[] keywords,ArrayList resultse
t);
不分类型,
将所有资源放在一个
数组表中。
?
:FtpFrame
是程序主窗口类,
类型为
JFrame,
是由三个分割窗口
< br>JSplitPane
构成的。
jSplitPane_Left
是左边的分割窗口,水平分割条上边显示本地文件框
,下边是预览框;
jSplitPane_Right
是右边的分割窗口,
水平分割条上边是服务器选项和
< br>ftp
服务器文件显示的
窗口,下边是下载和服务器信息
显示窗口;
jSplitPane_Whole
是
整
体
的
< br>分
割
窗
口
,
垂
直
分
割
条
,
左
边
p>
是
jSplitPane_Lef
,
右
边
是
jSplit
Pane_Right
。
FtpFr
ame
把
LeftPanel
,
RightPanel
,
BottomPan
el
,
PreviewWrapperPanel
这几部分安装在相
应的分割窗格中;
LeftPan
el
,
RightPanel
,
BottomPanel
是在
中定
义的,
PreviewWrapperPanel
是在
Preview
包中定义的。
p>
?
:
LocalFilesPanel
是本地文件面板,用表格来显示本地
文件的信
息。
上边是组合框,
显示了磁
盘分区通过这里可以改变根目录。
表格中显示了文件的信
息,包
括文件名,文件的系统图标,大小,最近修改日期,属性等。选中一个文件后可
以执行上
载和删除操作。文件夹会递归的删除。
GetCurrentPath
< br>()函数返回当前的路
径。
DisplayPathFi
les
()函数在列表中显示指定目录下的文件。
?
:
定义右上边的控件。含有的类有:
(
1
)
FtpServerOptionPan
el
类是服务器连接选项面板,包含服务器地址,端口,用户名,密
码等,还包括最上端的搜索选项。
openRemoteFilesPanel
p>
()函数在下面的
TabbedPane
中
打
开一个新的服务器面板,连接服务器。
(
2
)
RemoteFilesP
anel
类的主要功能是连接
Ftp
服
务器并显示文件。
这里会进行文件的上载,
下载及预览等操作。
RemoteFilesPanel
的内部类
TransferController
负责调用
Ft
pClient
类提供
的功能与服务器进行交互,完成用户指定
的文件操作。
TransferController
还有三个
内部类:
ConnThread
类是负责连接服务器的线程(新
开一个线程,目的是避免连接时阻塞)
,
DownloadFi
leThread
类是下载文件的线程,
UploadFile
Thread
类是上载文件的线程。
(
3
)
SearchResultPa
nel
类
是
显
示
搜
索
结
果<
/p>
的
类
,
它
有
两
个
子
类
3
文档
详细设计说明书
SearchRes
ultPanelWithinSearchEngine
类
的
功
能
是
在
p>
搜
索
引
擎
中
搜
索
,
SearchResultPanelWithinServer
类的功能是
站内搜索。搜索引擎的搜索会调用
search
包中的
程
序
,
搜
索
引
擎
搜
< br>索
完
成
后
search
包
通
过
OnSearchFinished
(
)
来
通
知
SearchRes
ultPanelWithinSearchEngine
类,然后显示搜索结果。
p>
(
4
)
RightTabbedPane
是显示
ftp
服务器文件表格的
TabbedPane
类。
?
:
实现主窗口下部面板及控件,
显示下
载情况,
服务器连接信息。
包含的主要类有:
< br>
(
1
)
RemoteMessPanel
类是显示服务器连接信息的面板。需要显示
ftp
服务器传回的信息,
并在显示前进行编码
转换,还需要显示本地的相关信息。
(
2
)
DownloadingMessPanel
类是显示资源下载信息的面板,显示下载资源的大小,下载速
度,已用时间
,剩余时间等信息。
3.5
流程逻辑
总体流程:
PreviewWrapperPanel
上载
search
预览
3.6
简单类图
显示下载信息
4
文档
详细设计说明书
< br>4
.
模块
2
(
client
)设计说明
4.1
模块描述
实现
ftp
客户端
FtpClient
,有两个文件
< br>
和
,
前者具体实现了
ftp
协议,后者是为登录时可能抛出的异常而定义的类。
4.2
功能
实现
ftp
客户端
FtpClient
,实现了
ftp
协议,用于和
ftp
服务器通
讯和数据传输。
4.3
交互的模块
ui
4.4
模块设计
该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:
?
:含有类
FtpClient,
,该类会被
ui
包中的界面类调用,完成
ftp
功能。
其中要功能的实现有:
在
构造函数中根据
< br>ip
和
port
建立与服务器的
连接;
5
-
-
-
-
-
-
-
-
-
上一篇:关于PLC外文文献翻译
下一篇:2020届第二次八校联考(英语)试题