2022年网站详细设计说明书 .pdf
《2022年网站详细设计说明书 .pdf》由会员分享,可在线阅读,更多相关《2022年网站详细设计说明书 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Lyra Resource Platform 文档详细设计说明书1 详细设计说明书1.引言1.1 编写目的本详细设计说明书是针对网络信息体系结构的课程作业而编写。目的是对该项目进行详细设计, 在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。1.2 背景a. 待开发的系统的名称:Lyra Resource Platform; b. 本项目的任务提出者: 赵东,成富,陈良,窦文敏开发者:赵东,成富,陈良,窦文敏用户: 所有对该项目感兴趣,并想通过该项目的
2、产品提高资源检索速度和质量,方便的进行资源检索,预览,上传及下载的用户。2. 系统的结构uiclientpreviewsearchcommon名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 10 页 - - - - - - - - - Lyra Resource Platform 文档详细设计说明书2 ui :系统界面部分, 负责接受用户输入,显示系统输出, 负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。ui部分调用
3、 common部分的功能读取xml 文件中保存的界面元素属性信息,用户最近访问过的 10 个 ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml 文件保存的信息。client:实现 ftp客户端的功能,ftp连接, ftp上传及下载:上传或下载用户指定的资源,并返回相应的信息。search: 资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。preview :资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。 preview部分调用common部分读取属性文件的
4、内容亦显示预览资源内容的显示格式。3模块 1(ui )设计说明3.1 模块描述实现用户界面的包,含有11 个文件 51 个类,是本系统中最复杂的代码。3.2 功能负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。3.3 交互的模块 client, search ,preview ,common 。3.4 模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:MainFrame.java :MainFrame 是含有主函数的类,也是lyra 客户端开始执行的类,它先后进行资源的初始化,显示主界面
5、等工作,根据屏幕大小设置界面大小,设置界面的观感。FtpFrame_AboutBox.java: 显示关于窗口的类,当用户点击帮助菜单中的关于菜单项时会弹出关于对话框。Tools.java:FileTools 是文件操作辅助类,可以实现文件的递归删除等。XMLController.java: JDOMTes 是操作 xml 文件的类,用JDOM 来操作 xml 文件,实现的功能有:(1)保存ftp 服务器的文件列表(站内搜索时使用),递归的从ftp 服务器读取列表,并存入一个xml 文件中(文件的命名方法是:ip+用户名 .xml);以目录树的形式保存。(2)根据文件名在文件中查找文件,站内搜
6、索时使用。(3)保存 ftp 服务器的信息: ip,端口(默认端口21 不保存),用户名(默认 anonymous不保存),密码,最多存10 个;存在resourcesettings serversinfor.xml 文件中。(4)读取已存储的ftp 服务器信息。(5)从 type.xml 读取搜索的类型。Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量进行初始化,这个函数在MainFrame 中被调用一次。iconHashMap 是 hash 表,用于存放文件的系统图标。CustomizedController.java :包含自定义的控件
7、类,java 中的控件可能不能满足需求,名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 10 页 - - - - - - - - - Lyra Resource Platform 文档详细设计说明书3 需要自己定义某些属性。这些控件会在创建界面时使用。其中含有的类有:(1)CustomizedJTable 是表格类,设置表格的某些属性,如字体等。(2)CustomizedTableCellRenderer 是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。(3)
8、LeftPanel 类的父类是JTabbedPane ,用户显示主窗口左边的面板。(4)RightPanel 类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务器选项,和中间的显示服务器文件的TabbedPane 。. (5)BottomPanel 类是右下放显示下载和服务器信息的JTabbedPane 。(6)CustomizedJButton 是定义按钮类,更改了按钮的字体,java 本身默认的字体不好看。(7)CustomizedTableModel 是表格类,实现单元格的不可编辑。( 8 ) CustomizedTableCellRenderer_Remote类 是
9、 表 格 绘 制 器 , 在 远 程 文 件 浏 览 器RemoteFilesPanel 使用,用于显示文件名和文件图标。(9)FontTableCellRenderer类是表格单元格绘制器,主要功能是设置字体。(10)FontListCellRenderer类是下拉列表框单元格绘制器,主要用于设置字体。(11)CustomizedJLabel类是自定义标签类,重新设置了标签的字体。(12)CustomizedJTextField类是自定义文本框类,主要用于设置文本框的显示属性。(13)CustomizedJMenu 类是自定义菜单类,重新设置了菜单的字体。(14)CustomizedJMen
10、uItem 类是自定义菜单项类,重新设置了菜单的字体。(15)CustomizedListCellRenderer类是 JComboBox即组合框单元格绘制器,用于在本地路径选择的下拉列表中显示磁盘图标。SearchResultReceiver.java, SearchResultReceiver 是一个接口,主要用于返回搜索结果。搜索完成后调用接口中的函数通知调用者。其中主要有两个函数:(1)OnSearchFinished(String keywords,ArrayList resultset);result 是一个10 维的数组表result10 ,resulti 是由类型为i 的资源组
11、成的数组。i:09,和类型列表框中的顺序一致。(2)OnSearchFinished(String keywords,ArrayList resultset);不分类型, 将所有资源放在一个数组表中。FtpFrame.java :FtpFrame 是程序主窗口类, 类型为 JFrame,是由三个分割窗口JSplitPane构成的。jSplitPane_Left 是左边的分割窗口,水平分割条上边显示本地文件框,下边是预览框;jSplitPane_Right 是右边的分割窗口,水平分割条上边是服务器选项和ftp 服务器文件显示的窗口,下边是下载和服务器信息显示窗口;jSplitPane_Whole
12、是 整 体 的 分 割 窗 口 , 垂 直 分 割 条 , 左 边 是jSplitPane_Lef , 右 边 是jSplitPane_Right 。FtpFrame 把 LeftPanel,RightPanel,BottomPanel ,PreviewWrapperPanel 这几部分安装在相应的分割窗格中;LeftPanel,RightPanel,BottomPanel 是在 CustomizedController.Java 中定义的, PreviewWrapperPanel 是在 Preview 包中定义的。LeftPanelCtrl.java: LocalFilesPanel是本地文
13、件面板,用表格来显示本地文件的信息。上边是组合框, 显示了磁盘分区通过这里可以改变根目录。表格中显示了文件的信息,包括文件名,文件的系统图标,大小,最近修改日期,属性等。选中一个文件后可以执行上载和删除操作。文件夹会递归的删除。GetCurrentPath()函数返回当前的路径。 DisplayPathFiles ()函数在列表中显示指定目录下的文件。RightPanlCtrl.java :定义右上边的控件。含有的类有:(1)FtpServerOptionPanel 类是服务器连接选项面板,包含服务器地址,端口,用户名,密码等,还包括最上端的搜索选项。openRemoteFilesPanel(
14、)函数在下面的TabbedPane中打名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 10 页 - - - - - - - - - Lyra Resource Platform 文档详细设计说明书4 开一个新的服务器面板,连接服务器。(2) RemoteFilesPanel 类的主要功能是连接Ftp 服务器并显示文件。 这里会进行文件的上载,下载及预览等操作。 RemoteFilesPanel 的内部类TransferController 负责调用FtpClient 类提
15、供的功能与服务器进行交互,完成用户指定的文件操作。TransferController 还有三个内部类:ConnThread 类是负责连接服务器的线程(新开一个线程,目的是避免连接时阻塞),DownloadFileThread 类是下载文件的线程,UploadFileThread 类是上载文件的线程。(3 )SearchResultPanel类 是显 示 搜 索结果的类 ,它有两个子类SearchResultPanelWithinSearchEngine类的功 能是在搜索引擎中搜索,SearchResultPanelWithinServer 类的功能是站内搜索。搜索引擎的搜索会调用search
16、 包中的程 序 , 搜 索 引 擎 搜 索 完 成 后search包 通 过OnSearchFinished ( ) 来 通 知SearchResultPanelWithinSearchEngine 类,然后显示搜索结果。(4)RightTabbedPane 是显示 ftp 服务器文件表格的TabbedPane类。BottomPanelCtrl.java :实现主窗口下部面板及控件,显示下载情况,服务器连接信息。包含的主要类有:(1)RemoteMessPanel 类是显示服务器连接信息的面板。需要显示ftp 服务器传回的信息,并在显示前进行编码转换,还需要显示本地的相关信息。(2)Downl
17、oadingMessPanel 类是显示资源下载信息的面板,显示下载资源的大小,下载速度,已用时间,剩余时间等信息。3.5 流程逻辑总体流程:MainFrame.class FtpFrame.class LeftPanel.class PreviewWrapperPanel RightPanel.class BottomPanel.class FtpClient.class search 上载预览显示下载信息名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 10 页 - -
18、 - - - - - - - Lyra Resource Platform 文档详细设计说明书5 3.6 简单类图4模块 2(client)设计说明4.1 模块描述实现 ftp客户端 FtpClient,有两个文件FtpClient.java和 FtpLoginException.java,前者具体实现了ftp协议,后者是为登录时可能抛出的异常而定义的类。4.2 功能实现 ftp客户端 FtpClient,实现了ftp协议,用于和ftp服务器通讯和数据传输。4.3 交互的模块 ui 4.4 模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:FtpClient.java
19、 :含有类FtpClient,,该类会被ui 包中的界面类调用,完成ftp 功能。其中要功能的实现有:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 10 页 - - - - - - - - - Lyra Resource Platform 文档详细设计说明书6 在构造函数中根据ip 和 port 建立与服务器的连接;登录服务器login() (用户名,密码) ;向服务器追加ascii 文件 appendAscii() ;向服务器追加二进制文件appendBinary()
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年网站详细设计说明书 2022 网站 详细 设计 说明书
限制150内