详细设计说明书 真正例子
(完整版)详细设计说明书实例

信息发布系统(详细设计说明书)编写单位:JAVA实践小学期第22组设计人员:版本: 1.0编写日期:2010/9/5目录第一部分、引言 (2)1.1编写目的 (2)1.2背景 (3)1.3定义 (3)3.1程序描述 (5)3.2整体结构 (5)3.3性能 (5)3.4输入输出项 (5)3.5算法 (5)3.6主要类的设计 (5)3.7存储分配 (7)3.8注释 (7)3.9限制条件 (7)3.10测试计划 (7)3.11尚未解决的问题 (7)4.1程序描述 (7)4.2功能 (7)4.3性能 (8)4.4输入输出项 (8)4.5限制条件 (8)5设计特点 (8)5.1 通信便捷 (8)5.2 开发速度快 (8)第六部分、项目分工 (8)附录: (9)第一部分、引言1.1编写目的本说明书在概要设计的基础上,对信息发布系统的各模块、程序分别进行了实现层面上的要求和说明。
软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。
1.2背景说明:A、软件系统的名称:信息发布系统B、任务提出者:JA V A实践小学期开发者:第22组成员C、实现完成的系统将可用在所有JA V A虚拟机的个人PC上.为使用者提供信息发布,浏览,评论的方式,沟通各个用户.1.3定义服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。
两端通过protocol(协议类)进行通信。
Gson:Google提供的一个类库。
通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。
也可反向将字符串转换成对象,这样带有方法地操作对象,可以有效,方便地保证信息的沟通。
Json:JavaScript Object Notation,是一种轻量级的数据交换格式。
易于人阅读和编写,同时也易于机器解析和生成。
它基于JavaScript的一个子集,JSON采用完全独立于语言的文本格式,这些特性使得JSON成为理想的数据交换语言。
软件详细设计说明书例

软件详细设计说明书例关键信息项:1、软件名称:____________________________2、软件版本:____________________________3、开发团队:____________________________4、设计目标:____________________________5、功能模块:____________________________6、运行环境:____________________________7、数据结构:____________________________8、算法设计:____________________________9、界面设计:____________________________10、性能要求:____________________________ 1、引言11 背景介绍软件的开发背景和动机。
12 范围明确软件详细设计的范围和边界。
13 定义、缩写词和术语对文中使用的特定术语、缩写词进行定义和解释。
2、软件总体结构21 软件架构概述描述软件的整体架构模式和设计理念。
22 模块划分详细列出软件的各个功能模块及其之间的关系。
3、模块详细设计31 模块 1 名称311 功能描述详细说明该模块的具体功能。
312 输入输出明确模块的输入数据格式和输出数据格式。
313 处理逻辑阐述模块内部的处理流程和算法。
314 数据结构定义模块所使用的数据结构。
32 模块 2 名称4、用户界面设计41 界面布局描述软件界面的整体布局和元素分布。
42 界面元素设计对各个界面元素的样式、交互方式进行设计。
43 界面流程展示用户在不同界面之间的切换和操作流程。
5、数据库设计51 数据库选型说明选择的数据库类型和原因。
52 数据表设计列出各个数据表的结构和字段定义。
53 数据关系描述数据表之间的关联和约束关系。
6、算法设计61 关键算法描述详细介绍软件中使用的关键算法及其原理。
详细设计说明书(仅用于学习的参考模板)

付高钢村医药管理系统项目详细设计说明书1引言1.1编写目的本说明书是医药管理系统的详细设计。
其编写目的是在概要设计的基础上,针对该项目的每个模块,每个功能的实现方法进行详细的设计和划分,按照详细设计说明书的要求,进一步明确系统结构,为项目开发人员后期的编码工作做准备。
本文档的预期的读者是:项目开发人员项目经理项目测试人员1.2背景在前一阶段的概要设计文档中,已经通过顺序图解决了该系统功能的实现流程,包括系统的各模块间的关系设计等。
本文档就是在前一阶段成果的基础上,继续对系统的各模块进行详细的划分和说明。
2概述本项目的任务提出者:见概要设计文档单位:见概要设计文档开发者:见概要设计文档用户:见概要设计文档实现该软件的计算中心或计算机网络:见概要设计文档2.1基线以需求分析和概要设计为基准。
2.2范围本概要设计文档提供给系统设计开发人员,包括详细设计人员和项目组成员。
2.3定义2.4参考资料2.5术语与缩写解释3模块命名规则驼峰标识,由单词的全拼组成,除首单词外每个单词的首字母大写,例如:medcineManager4模块汇总4.1模块汇总表5子系统模块设计5.1类别管理模块5.1.1功能描述用户登录进入类别管理页面,能进行药品类别的管理,主要包括类别的添加,修改,查看和统计。
5.1.2相关模块5.1.3类图5.1.4类别管理类5.1.4.1方法5.1.4.1.1方法—药品信息的添加:public String add()5.1.4.1.1.1功能对药品的类别信息进行添加,类别编码是类别对象的一个标示,当添加一个类别信息时,需要判断此类别是否已经在数据库中,如果存在,则提示已存在该类别。
5.1.4.1.1.2参数无5.1.4.1.1.3算法无5.1.4.1.2方法—类别信息的模糊查询:public String queryallcategory()5.1.4.1.2.1功能为了方便用户查询已有类别,类别信息管理模块提供了类别模糊查询。
详细设计说明书实例

SF宠物精灵史努比(详细设计说明书)编写单位:山东商业职业技术学院SF软件设计团队设计人员:林波、石洪波、徐晓娜、孟文静、孙新志版本: 1.0编写日期:2006.8目录第一部分、引言 (2)1.1编写目的 (2)1.2背景 (2)1.3定义 (2)3.1程序描述 (4)3.2功能 (4)3.3性能 (5)3.4输人项 (5)3.5输出项 (5)3.6算法 (5)3.7流程逻辑 (5)3.9存储分配 (6)3.10注释设计 (6)3.11限制条件 (6)3.12测试计划 (6)3.13尚未解决的问题 (7)4.1程序描述 (7)4.2功能 (7)4.3性能 (7)4.4输入项 (7)4.5输出项 (7)4.6算法 (7)4.7逻辑流程 (7)4.8接口 (8)4.9存储分配 (8)4.10注释设计 (8)4.11限制条件 (8)4.12测试计划 (9)4.13尚未解决的问题 (9)5.1定时提醒 (9)5.1.1 描述 (9)5.1.2 功能 (9)5.1.3 性能 (9)5.2 屏幕保护 (9)5.2.1 描述 (9)5.2.2 功能 (9)5.2.3 性能 (9)5. 3 翻译 (10)5.3.1描述一个简单的单词翻译附加功能。
(10)5.3.2 功能 (10)5.3.3性能 (10)5.4帮助系统 (10)第五部分、项目分工 (10)第一部分、引言1.1编写目的本说明书在概要设计的基础上,对精灵史奴比的各模块、程序、子系统分别进行了实现层面上的要求和说明。
软件开发小组的产品实现成员应该阅读和参考本说明进行代码的编写、测试。
1.2背景说明:A、软件系统的名称:SF宠物狗软件:B、任务提出者:齐鲁大学生软件与外语大赛开发者:山东商业职业技术学院SF软件开发团队C、实现完成的系统将可用在所有装有Microsoft Windows 操作系统的个人PC上.为使用者提供一种全新的娱乐方式,用户在工作疲劳时可以放松自己的精神.提高自己的工作效率.D、本系统将是独立的系统。
详细设计说明书模板范例

福建电信科学技术研究院有限公司号码百事通综合查询台详细设计说明书智能网技术支援中心版本号:V1.0文档类型:☑需求文档☐计划文档☐设计文档☐测试文档☐用户文档☐工程文档☐维护文档密级:☐公开资料☑内部资料☐保密资料☐机密资料状态:☐初稿☐讨论稿☑发布版权声明福建电信科学技术研究院有限公司版权所有,保留一切权利。
未经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档的部分或全部,并以任何形式传播。
产品支持服务我们将不断改进我们的产品和用户手册,使其更完善、更便于使用,您的意见和建议对我们的工作非常重要,您可以用您喜欢的任何方式与我们联系。
我们的联系地址和电话是:公司地址:福建省福州市五一中路57号7层邮编:350005电话:+86-591-3329115转101/120分机+86-591-3329117转101/120分机传真:+86-591-3329116网址:E-Mail: ZN@文档修改/审批记录福建电信科学技术研究院 - 1 -目录1 简介错误!未定义书签。
1.1目的91.2范围91.3参考资料91.4术语定义及说明92 模块详细设计102.1客户信息显示区模块102.1.1 功能概述102.1.2 界面概述112.1.3 类设计122.1.4 关键逻辑与算法说明142.1.5 访问的表或其他数据库实体142.1.6 调用外部接口说明142.1.7 提供调用接口说明142.1.8 模块内部使用的公用函数/包等的说明14 2.2公告显示区模块142.2.1 功能概述142.2.2 界面概述142.2.3 类设计142.2.4 关键逻辑与算法说明142.2.5 访问的表或其他数据库实体142.2.6 调用外部接口说明152.2.7 提供调用接口说明152.2.8 模块内部使用的公用函数/包等的说明15 福建电信科学技术研究院 - 2 -2.3信息查询显示区模块152.3.1 功能概述152.3.2 界面概述162.3.3 类设计162.3.4 关键逻辑与算法说明172.3.5 访问的表或其他数据库实体172.3.6 调用外部接口说明172.3.7 提供调用接口说明172.3.8 模块内部使用的公用函数/包等的说明17 2.4号码反查显示区模块182.4.1 功能概述182.4.2 界面概述192.4.3 类设计202.4.4 关键逻辑与算法说明202.4.5 访问的表或其他数据库实体202.4.6 调用外部接口说明202.4.7 提供调用接口说明202.4.8 模块内部使用的公用函数/包等的说明20 2.5以旧查新显示区模块202.5.1 功能概述202.5.2 界面概述212.5.3 类设计212.5.4 关键逻辑与算法说明212.5.5 访问的表或其他数据库实体212.5.6 调用外部接口说明212.5.7 提供调用接口说明21福建电信科学技术研究院 - 3 -2.5.8 模块内部使用的公用函数/包等的说明21 2.6区码查询显示区模块212.6.1 功能概述212.6.2 界面概述222.6.3 类设计232.6.4 关键逻辑与算法说明232.6.5 访问的表或其他数据库实体232.6.6 调用外部接口说明232.6.7 提供调用接口说明232.6.8 模块内部使用的公用函数/包等的说明23 2.7邮编查询显示区模块232.7.1 功能概述232.7.2 界面概述242.7.3 类设计242.7.4 关键逻辑与算法说明242.7.5 访问的表或其他数据库实体242.7.6 调用外部接口说明242.7.7 提供调用接口说明242.7.8 模块内部使用的公用函数/包等的说明24 2.8国家编码查询显示区模块252.8.1 功能概述252.8.2 界面概述252.8.3 类设计262.8.4 关键逻辑与算法说明262.8.5 访问的表或其他数据库实体262.8.6 调用外部接口说明26福建电信科学技术研究院 - 4 -2.8.7 提供调用接口说明262.8.8 模块内部使用的公用函数/包等的说明26 2.9私人号码查询显示区模块262.9.1 功能概述262.9.2 界面概述272.9.3 类设计272.9.4 关键逻辑与算法说明272.9.5 访问的表或其他数据库实体272.9.6 调用外部接口说明282.9.7 提供调用接口说明282.9.8 模块内部使用的公用函数/包等的说明28 2.10高级搜索显示区模块282.10.1 功能概述282.10.2 界面概述292.10.3 类设计292.10.4 关键逻辑与算法说明292.10.5 访问的表或其他数据库实体292.10.6 调用外部接口说明292.10.7 提供调用接口说明292.10.8 模块内部使用的公用函数/包等的说明29 2.11详细信息显示区模块292.11.1 功能概述292.11.2 界面概述302.11.3 类设计302.11.4 关键逻辑与算法说明302.11.5 访问的表或其他数据库实体30福建电信科学技术研究院 - 5 -2.11.6 调用外部接口说明302.11.7 提供调用接口说明302.11.8 模块内部使用的公用函数/包等的说明30 2.12与座席接口模块312.12.1 功能概述312.12.2 界面概述312.12.3 类设计312.12.4 关键逻辑与算法说明312.12.5 访问的表或其他数据库实体312.12.6 调用外部接口说明312.12.7 提供调用接口说明352.12.8 模块内部使用的公用函数/包等的说明35 2.13日志模块352.13.1 功能概述352.13.2 界面概述352.13.3 类设计352.13.4 关键逻辑与算法说明382.13.5 访问的表或其他数据库实体382.13.6 调用外部接口说明382.13.7 提供调用接口说明382.13.8 模块内部使用的公用函数/包等的说明38 2.14搜索引擎信息提取接口模块392.14.1 功能概述392.14.2 界面概述392.14.3 类设计392.14.4 关键逻辑与算法说明41福建电信科学技术研究院 - 6 -2.14.5 访问的表或其他数据库实体412.14.6 调用外部接口说明412.14.7 提供调用接口说明412.14.8 模块内部使用的公用函数/包等的说明41 2.15个人通讯助理模块422.15.1 功能概述422.15.2 界面概述422.15.3 类设计432.15.4 关键逻辑与算法说明462.15.5 访问的表或其他数据库实体462.15.6 调用外部接口说明472.15.7 提供调用接口说明472.15.8 模块内部使用的公用函数/包等的说明47 2.16家庭总机模块472.16.1 功能概述472.16.2 界面概述472.16.3 类设计482.16.4 关键逻辑与算法说明512.16.5 访问的表或其他数据库实体512.16.6 调用外部接口说明522.16.7 提供调用接口说明522.16.8 模块内部使用的公用函数/包等的说明52 2.17企业总机模块522.17.1 功能概述522.17.2 界面概述522.17.3 类设计53福建电信科学技术研究院 - 7 -2.17.4 关键逻辑与算法说明562.17.5 访问的表或其他数据库实体562.17.6 调用外部接口说明572.17.7 提供调用接口说明572.17.8 模块内部使用的公用函数/包等的说明573 性能说明574 其他错误!未定义书签。
软件详细设计说明书实例

F o r p e s o n a u s e o n y s t u d y a n d r e s a r c h;n o t f r c o m me r c a u s e软件详细设计说明书实例2022年4月目录1 引言 (2)1.1 编写目的 (2)1.2 项目背景 (2)1.3 定义 (2)1.4 参考资料 (3)2 总体设计 (3)2.1 需求概述 (3)2.2 软件结构 (4)3 程序描述 (6)3.1 01登陆模块 (6)3.2 02管理模块............................................................................................ 错误!未定义书签。
3.3 031图书信息查询模块 .......................................................................... 错误!未定义书签。
3.4 032学生信息查询模块 .......................................................................... 错误!未定义书签。
3.5 021入库管理模块 .................................................................................. 错误!未定义书签。
3.6 022学生借书模块 .................................................................................. 错误!未定义书签。
3.7 023学生还书模块 .................................................................................. 错误!未定义书签。
系统详细设计说明书[范例]
![系统详细设计说明书[范例]](https://img.taocdn.com/s3/m/1b667574a2161479171128bb.png)
XXXXXXX管理系统详细设计说明书Prepared by拟制李清清Date日期2012-10-18Reviewed by 评审人Date 日期Approved by批准Date 日期Revision Record 修订记录目录1引言 (1)1.1编写目的 (1)1.2背景 (1)1.3参考资料 (1)1.4术语定义及说明 (1)2设计概述 (1)2.1任务和目标 (1)2.1.1需求概述 (1)2.1.2运行环境概述 (1)2.1.3条件与限制 (1)2.1.4详细设计方法和工具 (2)3系统详细需求分析 (2)3.1详细需求分析 (2)3.2详细系统运行环境及限制条件分析接口需求分析 (2)4总体方案确认 (2)4.1系统总体结构确认 (2)4.2系统详细界面划分 (2)4.2.1应用系统与支撑系统的详细界面划分 (2)4.2.2系统内部详细界面划分 (3)5系统详细设计 (3)5.1系统结构设计及子系统划分 (3)5.2系统功能模块详细设计 (3)5.3系统界面详细设计 (3)5.3.1外部界面设计 (3)5.3.2内部界面设计 (4)5.3.3用户界面设计 (4)6、数据库系统设计 (4)6.1设计要求 (4)6.2 信息模型设计 (4)6.3 数据库设计 (4)6.3.1 设计依据 (4)6.3.2 数据库选型......................................... 错误!未定义书签。
6.3.3 数据库种类及特点 (4)6.3.4 数据库逻辑结构 (4)6.3.5 物理结构设计 (4)6.3.6 数据库安全 (4)6.3.7 数据字典 (5)7 信息编码设计 (5)7.3 代码结构设计 (5)7.4 代码编制 (5)1引言1.1编写目的说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
详细设计说明书范例

详细设计说明书,范例篇一:[例子]详细设计说明书详细设计说明书1引言1. 1编写目的根据《需求规格说明书》、《概要设计说明书》,在仔细考虑讨论之后,我们对《图书管理系统》软件的功能划分、数据结构、软件总体结构的实现有了进一步的想法。
我们将这些想法记录下来,作为详细设计说明书,为进一步设计软件、编写代码打下基础。
1.2背景随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。
在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。
对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。
本图书管理系统软件是一套功能比较完善的数据管理软件,具有数据操作方便高效迅速等优点。
该软件采用功能强大的数据库软件开发工具进行开发,具有很好的可移植性,可在应用范围较广的DOS、WINDOWS系列等操作系统上使用1.3定义文档中采用的专门术语的定义及缩略词简要如下:LMS:Library Management System,图书管理系统1.4参考资料[1]费贤举关于图书管理系统的批文 [2]郑人杰,殷人昆,陶永雷。
《实用软件工程》(第二版)。
北京:清华大学出版社,1997。
[3]王立福,麻志毅。
《软件工程》(第二版)。
北京:北京大学出版社,XX。
[4]唐学忠,王文。
《Visual Basic 程序设计教程》北京:中国电力出版社,XX。
2程序系统的结构3程序(标识符)设计说明3.1主模块 ? 功能建立与数据库连接获取系统设置运行主对话框根据输入调用子模块退出系统时断开与数据库的连接? 输入项目用户鼠标点击输入? 程序逻辑见右图? 存储分配内部数据:数据库连接m_pConnection _ConnectionPtr 数据库连接指针 m_IsConnected BOOL 数据库连接指示系统设置 m_MaxLBNum int 可借图书数上限m_MaxLBDay int 借书天数上限子对话框m_BookOutDlg CBookOutDlg 借书对话框 m_BookInDlg CBookInDlg 还书对话框 m_BookQuiryDlg CBookQuiryDlg 图书查询对话框 m_SysDlgCSysDlg系统操作对话框 ? 测试要点数据库连接情况:正常情况,数据库文件缺少,外部系统异常。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
详细设计说明书1.引言1.1编写目的本详细设计说明书是针对网络信息体系结构的课程作业而编写。
目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。
本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。
2.系统的结构●ui:系统界面部分,负责接受用户输入,显示系统输出,负责其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。
ui 部分调用common部分的功能读取xml文件中保存的界面元素属性信息,用户最近访问过的10个ftp信息,用户选择的下载的ftp内容列表及其他需要通过xml文件保存的信息。
●client:实现ftp客户端的功能,ftp连接,ftp上传及下载:上传或下载用户指定的资源,并返回相应的信息。
●search:资源实时检索部分,根据用户输入的资源名称关键字,资源类型和选择的检索方式检索用户需要的资源,并验证资源的可用性,返回可用资源及其大小,速度等相关信息。
●preview:资源预览部分,显示用户选择的资源的部分内容,以使用户决定是否需要该资源。
preview部分调用common部分读取属性文件的内容亦显示预览资源内容的显示格式。
3.模块1(ui)设计说明3.1模块描述实现用户界面的包,含有11个文件51个类,是本系统中最复杂的代码。
3.2功能负责接受用户输入,显示系统输出,其他模块功能的协调调用,并含有站内搜索功能,即在用户指定的已打开的ftp站点中搜索用户需要的资源。
3.3交互的模块client,search,preview,common。
3.4模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:●MainFrame.java:MainFrame是含有主函数的类,也是lyra客户端开始执行的类,它先后进行资源的初始化,显示主界面等工作,根据屏幕大小设置界面大小,设置界面的观感。
●FtpFrame_AboutBox.java:显示关于窗口的类,当用户点击帮助菜单中的关于菜单项时会弹出关于对话框。
●Tools.java:FileTools是文件操作辅助类,可以实现文件的递归删除等。
●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读取搜索的类型。
●Constants.java:放置系统运行时使用的一些常量,initcontent()函数对所有常量进行初始化,这个函数在MainFrame中被调用一次。
iconHashMap是hash表,用于存放文件的系统图标。
●CustomizedController.java:包含自定义的控件类,java中的控件可能不能满足需求,需要自己定义某些属性。
这些控件会在创建界面时使用。
其中含有的类有:(1)CustomizedJTable是表格类,设置表格的某些属性,如字体等。
(2)CustomizedTableCellRenderer是表格单元格绘制器类,主要用于显示文件的系统图标,和文件名。
(3)LeftPanel类的父类是JTabbedPane,用户显示主窗口左边的面板。
(4)RightPanel类的父类是JPanel,用户显示右边的主题部分,包括右上边的搜索及服务器选项,和中间的显示服务器文件的TabbedPane。
.(5)BottomPanel类是右下放显示下载和服务器信息的JTabbedPane。
(6)CustomizedJButton是定义按钮类,更改了按钮的字体,java本身默认的字体不好看。
(7)CustomizedTableModel是表格类,实现单元格的不可编辑。
(8)CustomizedTableCellRenderer_Remote类是表格绘制器,在远程文件浏览器RemoteFilesPanel使用,用于显示文件名和文件图标。
(9)FontTableCellRenderer类是表格单元格绘制器,主要功能是设置字体。
(10)FontListCellRenderer类是下拉列表框单元格绘制器,主要用于设置字体。
(11)CustomizedJLabel类是自定义标签类,重新设置了标签的字体。
(12)CustomizedJTextField类是自定义文本框类,主要用于设置文本框的显示属性。
(13)CustomizedJMenu类是自定义菜单类,重新设置了菜单的字体。
(14)CustomizedJMenuItem类是自定义菜单项类,重新设置了菜单的字体。
(15)CustomizedListCellRenderer类是JComboBox即组合框单元格绘制器,用于在本地路径选择的下拉列表中显示磁盘图标。
●SearchResultReceiver.java,SearchResultReceiver是一个接口,主要用于返回搜索结果。
搜索完成后调用接口中的函数通知调用者。
其中主要有两个函数:(1)OnSearchFinished(String[]keywords,ArrayList[]resultset);result是一个10维的数组表result[10],result[i]是由类型为i的资源组成的数组。
i:0-9,和类型列表框中的顺序一致。
(2)OnSearchFinished(String[]keywords,ArrayList resultset);不分类型,将所有资源放在一个数组表中。
●FtpFrame.java:FtpFrame是程序主窗口类,类型为JFrame,是由三个分割窗口JSplitPane构成的。
jSplitPane_Left是左边的分割窗口,水平分割条上边显示本地文件框,下边是预览框;jSplitPane_Right是右边的分割窗口,水平分割条上边是服务器选项和ftp服务器文件显示的窗口,下边是下载和服务器信息显示窗口;jSplitPane_Whole是整体的分割窗口,垂直分割条,左边是jSplitPane_Lef,右边是jSplitPane_Right。
FtpFrame把LeftPanel,RightPanel,BottomPanel,PreviewWrapperPanel这几部分安装在相应的分割窗格中;LeftPanel,RightPanel,BottomPanel是在CustomizedController.Java中定义的,PreviewWrapperPanel是在Preview包中定义的。
●LeftPanelCtrl.java:LocalFilesPanel是本地文件面板,用表格来显示本地文件的信息。
上边是组合框,显示了磁盘分区通过这里可以改变根目录。
表格中显示了文件的信息,包括文件名,文件的系统图标,大小,最近修改日期,属性等。
选中一个文件后可以执行上载和删除操作。
文件夹会递归的删除。
GetCurrentPath()函数返回当前的路径。
DisplayPathFiles()函数在列表中显示指定目录下的文件。
●RightPanlCtrl.java:定义右上边的控件。
含有的类有:(1)FtpServerOptionPanel类是服务器连接选项面板,包含服务器地址,端口,用户名,密码等,还包括最上端的搜索选项。
openRemoteFilesPanel()函数在下面的TabbedPane中打开一个新的服务器面板,连接服务器。
(2)RemoteFilesPanel类的主要功能是连接Ftp服务器并显示文件。
这里会进行文件的上载,下载及预览等操作。
RemoteFilesPanel的内部类TransferController负责调用FtpClient类提供的功能与服务器进行交互,完成用户指定的文件操作。
TransferController还有三个内部类:ConnThread类是负责连接服务器的线程(新开一个线程,目的是避免连接时阻塞),DownloadFileThread类是下载文件的线程,UploadFileThread类是上载文件的线程。
(3)SearchResultPanel类是显示搜索结果的类,它有两个子类SearchResultPanelWithinSearchEngine类的功能是在搜索引擎中搜索,SearchResultPanelWithinServer类的功能是站内搜索。
搜索引擎的搜索会调用search包中的程序,搜索引擎搜索完成后search包通过OnSearchFinished()来通知SearchResultPanelWithinSearchEngine类,然后显示搜索结果。
(4)RightTabbedPane是显示ftp服务器文件表格的TabbedPane类。
BottomPanelCtrl.java:实现主窗口下部面板及控件,显示下载情况,服务器连接信息。
包含的主要类有:(1)RemoteMessPanel类是显示服务器连接信息的面板。
需要显示ftp服务器传回的信息,并在显示前进行编码转换,还需要显示本地的相关信息。
(2)DownloadingMessPanel类是显示资源下载信息的面板,显示下载资源的大小,下载速度,已用时间,剩余时间等信息。
3.5流程逻辑总体流程:3.6简单类图MainFrame.class FtpFrame.classLeftPanel.classPreviewWrapperPanelRightPanel.classBottomPanel.classFtpClient.class search上载预览显示下载信息4.模块2(client)设计说明4.1模块描述实现ftp客户端FtpClient,有两个文件FtpClient.java和FtpLoginException.java,前者具体实现了ftp协议,后者是为登录时可能抛出的异常而定义的类。
4.2功能实现ftp客户端FtpClient,实现了ftp协议,用于和ftp服务器通讯和数据传输。
4.3交互的模块ui4.4模块设计该模块中的主要文件,文件中包含的主要类及其功能和与其它包的交互如下:FtpClient.java:含有类FtpClient,,该类会被ui包中的界面类调用,完成ftp功能。