编辑: 我不是阿L | 2014-12-31 |
引言 1.1 编写目的 本详细设计说明书是针对网络信息体系结构的课程作业而编写. 目的是对该项目进行详 细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后 面的实现和测试作准备. 本详细设计说明书的预期读者为本项目小组的成员以及对该系统感 兴趣,在以后想对系统进行扩展和维护的人员. 1.2 背景 a.[待开发的系统的名称:Lyra Resource Platform;
b.本项目的任务提出者: 赵东,成富,陈良,窦文敏 开发者:赵东,成富,陈良,窦文敏 用户:所有对该项目感兴趣,并想通过该项目的产品提高资源检索速度和质量,方便的 进行资源检索,预览,上传及下载的用户. 2. 系统的结构
1 Lyra Resource Platform 文档 详细设计说明书 z ui: 系统界面部分, 负责接受用户输入, 显示系统输出, 负责其他模块功能的协调调用, 并含有站内搜索功能,即在用户指定的已打开的 ftp 站点中搜索用户需要的资源.ui 部分调用 common 部分的功能读取 xml 文件中保存的界面元素属性信息,用户最近访问 过的
10 个ftp 信息,用户选择的下载的 ftp 内容列表及其他需要通过 xml 文件保存的 信息. z client:实现 ftp 客户端的功能,ftp 连接,ftp 上传及下载:上传或下载用户指定的 资源,并返回相应的信息. z search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索 方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关 信息. z preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该 资源.preview 部分调用 common 部分读取属性文件的内容亦显示预览资源内容的显示 格式. 3.模块 1(ui)设计说明 3.1 模块描述 实现用户界面的包,含有
11 个文件
51 个类,是本系统中最复杂的代码. 3.2 功能 负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能, 即在用户指定的已打开的 ftp 站点中搜索用户需要的资源. 3.3 交互的模块 client,search,preview,common. 3.4 模块设计 该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下: z MainFrame.java:MainFrame 是含有主函数的类,也是 lyra 客户端开始执行的类, 它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面 的观感. z FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜单 项时会弹出关于对话框. z Tools.java:FileTools 是文件操作辅助类,可以实现文件的递归删除等. z XMLController.java: JDOMTes 是操作 xml 文件的类,用JDOM 来操作 xml 文件, 实现的功能有: (1)保存 ftp 服务器的文件列表(站内搜索时使用) ,递归的从 ftp 服务器读取列表, 并存入一个 xml 文件中(文件的命名方法是:ip+用户名.xml);
以目录树的形式保存. (2)根据文件名在文件中查找文件,站内搜索时使用. (3) 保存 ftp 服务器的信息: ip, 端口 (默认端口
21 不保存) , 用户名 (默认 anonymous 不保存) ,密码,最多存
10 个;
存在 resource\settings\ serversinfor.xml 文件中. (4)读取已存储的 ftp 服务器信息. (5)从type.xml 读取搜索的类型. z Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量进行 初始化,这个函数在 MainFrame 中被调用一次.iconHashMap 是hash 表,用于存放 文件的系统图标. z CustomizedController.java:包含自定义的控件类,java 中的控件可能不能满足需求,