详细设计说明书 真正例子
详细设计说明书模板

精品整理页脚内容文档编号:____________ 保密级别:____________XXX详细设计说明书所属项目:文件类别:版本号:编写者:审核者:批准者:修订记录目录1引言 (3)1.1编写目的 (3)3 1.3参考资料 (3)1.432 (4)2.142.242.34 2.442.5 (4)3 (4)3.143.254总体方案确认 (5)4.1系统总体结构确认 (5)4.2系统详细界面划分 (5)4.2.1应用系统与支撑系统的详细界面划分 (5)4.2.2系统内部详细界面划分 (5)5 (6)5.1 (6)5.2 (6)5.365.3.175.3.275.3.376 (7)6.176.276.376.3.176.3.276.3.386.3.486.3.586.3.687 (8)7.187.28 1引言1.1编写目的说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
如果一个软件系统比较简单,层次很少,本文件可以不单独编写,和概要设计说明书中不重复部分合并编写。
方案重点是模块的执行流程和数据库系统详细设计的描述。
1.2背景应包含以下几个方面的内容:A. 待开发软件系统名称;B. 该系统基本概念,如该系统的类型、从属地位等;C. 开发项目组名称。
1.3参考资料列出详细设计报告引用的文献或资料,资料的作者、标题、出版单位和出版日期等信息,必要时说明如何得到这些资料。
1.4术语定义及说明列出本文档中用到的可能会引起混淆的专门术语、定义和缩写词的原文。
2设计概述2.1任务和目标说明详细设计的任务及详细设计所要达到的目标。
2.2需求概述对所开发软件的概要描述, 包括主要的业务需求、输入、输出、主要功能、性能等,尤其需要描述系统性能需求。
2.3运行环境概述对本系统所依赖于运行的硬件,包括操作系统、数据库系统、中间件、接口软件、可能的性能监控与分析等软件环境的描述,及配置要求。
详细设计说明书(仅用于学习的参考模板)

付高钢村医药管理系统项目详细设计说明书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功能为了方便用户查询已有类别,类别信息管理模块提供了类别模糊查询。
系统详细设计说明书[范例]
![系统详细设计说明书[范例]](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编写目的说明编写详细设计方案的主要目的。
说明书编制的目的是说明一个软件系统各个层次中的每个程序(每个模块或子程序)和数据库系统的设计考虑,为程序员编码提供依据。
详细设计说明书模板

详细设计说明书模板文档编号:未填写保密级别:未填写XXX详细设计说明书所属项目:未填写文件类别:未填写版本号:未填写编写者:未填写审核者:未填写批准者:未填写修订记录:日期。
修订版本。
修改章节。
修改描述。
作者。
目录引言本文档旨在详细说明XXX的设计方案,以便于开发人员按照规范进行开发。
本文档的读者应具备一定的软件开发知识和相关技术背景。
编写目的本文档的编写旨在为开发人员提供清晰的设计方案,以便于开发人员能够高效地进行开发工作。
同时,本文档也为后续的维护和升级提供了重要的参考依据。
背景XXX是一个重要的软件项目,其设计和开发周期较长,需要高度关注软件的可靠性和稳定性。
因此,本文档的编写至关重要,它将为整个项目的开发和维护提供指导和支持。
参考资料本文档的编写参考了多种相关的技术资料和文献,包括但不限于XXX技术规范、XXX开发手册、XXX编程规范等。
术语定义及说明本文档中所涉及的术语及其定义如下:XXX:指代具体的软件名称;XXX:指代具体的功能模块名称;ZZZ:指代具体的技术术语或概念。
内部界面设计在内部界面设计方面,我们需要考虑员工使用系统的体验和效率。
首先,我们需要设计一个简洁明了的主界面,让员工能够快速找到所需的功能。
其次,我们需要设计一个方便的导航菜单,让员工能够快速进入各个模块。
最后,我们需要考虑界面的美观性,使员工使用系统时感到舒适和愉悦。
用户界面设计在用户界面设计方面,我们需要考虑用户的使用惯和需求。
首先,我们需要设计一个易于操作的界面,让用户能够快速找到所需的功能。
其次,我们需要考虑用户的视觉体验,使界面看起来美观舒适。
最后,我们需要设计一个方便的导航菜单,让用户能够快速进入各个模块。
数据库系统设计在数据库系统设计方面,我们需要考虑数据的安全性和可靠性。
首先,我们需要设计一个合理的数据库结构,使数据能够被高效地存储和检索。
其次,我们需要考虑数据的备份和恢复,以防止数据丢失。
最后,我们需要设计一个权限管理系统,以保护数据的安全性。
详细设计说明书范例

3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10 01登岸模块 .........................................................................................................................................6 02治理模块 ....................................................(本文来自: 小草范文
数据库连接正常 数据库数据正常 输入的书号合理合法 输入的书号不合理 输入的书号不合法 数据库数据异样 数据库连接异样
3.2.3 相关信息获取模块 ? 功能
获取合法读者的借书记录 ? 输入项目
合法读者证号(整型常量);读者已借图书信息(引用型字符串) ? 输出项目
查询操作结果(BOOL值) ? 程序逻辑
对用户输入的响应: 合法输入,能够正常挪用子模块;
非法输入,系统可否分辨,并作出响应(提出警告);
子模块的异样状况,系统可否及时做出响应。
3.2借书模块 ? 功能
查验输入的读者证号 运行借书对话框
获取该读者的相关信息 查验输入的图书号 记录借书 ? 输入项目
读者证号、图书书号(用户输入) ? 输出项目
m_BookOutDlg CBookOutDlg 借书对话框 m_BookInDlg CBookInDlg 还书对话框 m_BookQuiryDlg CBookQuiryDlg 图书查询对话框 m_SysDlgCSysDlg系统操作对话框 ? 测试要点
数据库连接情形:正常情形,数据库文件缺少,外部系统异样。 系统设置获取:正常情形,外部系统异样。
详细设计说明书实例

详细设计说明书实例目录第一部分、引言 (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、任务提出者:小玩子团队开发者:小玩子团队用户:中大型医院相关的员工、需求分析员、系统设计人员C、实现完成的系统将用在大型的服务器上,而作为子模块则有部门承担,即每个部门配置PC1.3定义服务器端API:服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。
两端通过protocol(协议类)进行通信。
Gson:Google提供的一个类库。
通过使用这个类库,可以把把对象转换成json格式的字符串,以方便在网络中的传输。
详细设计说明书实例

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 其他错误!未定义书签。
- 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流程逻辑总体流程: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功能。
其中要功能的实现有:在构造函数中根据ip和port建立与服务器的连接;登录服务器login()(用户名,密码);向服务器追加ascii文件appendAscii();向服务器追加二进制文件appendBinary();设置数据传输方式为二进制binary,ascii码scii();改变工作目录cd(String newdirectory);返回上一级目录cdup();断开连接closeserver();删除文件delete(文件名);删除文件夹rmdir(文件夹的名字);用ascii模式下载文件getAscii(文件名);用二进制方式下载文件getBinary(文件名);取得服务器的响应字串getResponseString();列举当前目录下的文件list(),指定目录下的文件list(文件名);创建文件夹mkdir(文件夹名);上载Ascii文件putAscii(文件路径),二进制putBinary()。