详细设计说明书

合集下载

软件详细设计说明书例

软件详细设计说明书例

软件详细设计说明书例一、引言在软件开发过程中,详细设计是连接概要设计和编码实现的重要环节。

它为软件的编码提供了具体的指导,包括模块的内部结构、算法、数据结构、接口等方面的详细描述。

本文将以一个简单的学生管理系统为例,展示一份软件详细设计说明书的范例。

二、软件概述(一)软件名称学生管理系统(二)软件功能1、学生信息管理:包括学生基本信息的录入、修改、查询和删除。

2、课程管理:课程信息的添加、修改、查询和删除。

3、成绩管理:学生成绩的录入、查询和统计分析。

三、模块设计(一)学生信息管理模块1、学生信息录入子模块输入:学生的学号、姓名、性别、出生日期、班级等信息。

处理:对输入的信息进行合法性校验,如学号的唯一性检查、出生日期的格式检查等。

将合法的信息保存到数据库中。

输出:提示信息,如“录入成功”或“录入失败,请重新输入”。

2、学生信息修改子模块输入:要修改的学生学号和修改后的信息。

处理:根据学号查询出对应的学生信息,将修改后的信息更新到数据库中。

输出:提示信息,如“修改成功”或“修改失败,请重新输入”。

3、学生信息查询子模块输入:查询条件,如学号、姓名、班级等。

处理:根据查询条件从数据库中检索出符合条件的学生信息。

输出:查询结果,以列表形式展示学生的基本信息。

4、学生信息删除子模块输入:要删除的学生学号。

处理:根据学号从数据库中删除对应的学生信息。

输出:提示信息,如“删除成功”或“删除失败,请重新输入”。

(二)课程管理模块1、课程信息添加子模块输入:课程编号、课程名称、学分、授课教师等信息。

处理:对输入的信息进行合法性校验,如课程编号的唯一性检查。

将合法的信息保存到数据库中。

输出:提示信息,如“添加成功”或“添加失败,请重新输入”。

2、课程信息修改子模块输入:要修改的课程编号和修改后的信息。

处理:根据课程编号查询出对应的课程信息,将修改后的信息更新到数据库中。

输出:提示信息,如“修改成功”或“修改失败,请重新输入”。

软件工程 详细设计说明书

软件工程 详细设计说明书

软件工程详细设计说明书1. 引言本文档旨在对软件工程项目的详细设计进行说明。

详细设计是软件开发过程中的重要阶段,其目标是更加具体地描述系统的各个模块和组件,明确它们之间的关系和接口,为后续的编码和测试工作提供指导。

本文档的读者对象主要包括软件开发人员、测试人员和项目经理等相关人员。

通过详细设计说明书的编写,可以帮助团队成员更好地理解系统的架构和设计,提高团队的协作效率,降低后续开发和测试的风险。

2. 需求概述在本部分,我们对软件工程项目的需求进行简要概述,包括项目的目标和功能需求。

通过清晰地描述需求,可以确保详细设计满足项目的需求并提供所需的功能。

2.1 项目目标本项目的目标是开发一个高效、稳定、可扩展的软件系统,满足用户的需求和期望,提供优质的用户体验。

项目中的软件工程设计需要遵循行业标准和最佳实践,确保设计的可维护性和可扩展性。

2.2 功能需求本软件工程项目需要实现以下主要功能:•用户注册和登录功能•数据库管理功能•数据分析功能•用户权限管理功能•数据可视化功能3. 架构设计在本部分,我们将详细描述软件系统的整体架构设计,包括系统的模块划分、模块之间的关系和接口设计等。

通过合理的架构设计,可以确保系统的模块之间的协作顺畅,提高系统的性能和可维护性。

3.1 模块划分基于功能需求,我们将软件系统划分为以下几个模块:1.用户模块:负责处理用户注册、登录和权限管理相关的功能。

2.数据库模块:负责管理系统的数据库,包括数据的增删改查操作。

3.数据分析模块:负责实现数据分析算法和模型,为用户提供分析结果。

4.可视化模块:负责将分析结果可视化展示,提供直观的数据展示效果。

3.2 模块关系和接口设计在本部分,我们将描述各个模块之间的关系和接口设计。

3.2.1 用户模块接口设计用户模块需要与数据库模块和权限管理模块进行交互,包括用户注册、登录和权限验证等功能。

下面是用户模块的接口设计:1.register(username, password): 用户注册函数,接收用户名和密码作为参数,返回注册成功或失败的状态。

软件详细设计说明书

软件详细设计说明书

软件详细设计说明书1. 引言本软件详细设计说明书旨在对软件的架构、模块、数据结构、算法等进行详细说明,以便于开发人员进行开发和维护工作。

本文档将介绍软件的总体设计思路、模块划分和模块之间的关系、数据结构和算法的选择、接口设计及其功能和参数的说明等内容。

2. 总体设计本软件旨在实现一个功能强大、可靠性高的软件系统。

为了达到这一目标,我们采用了模块化设计的方式来组织和管理代码。

2.1 模块划分在本软件中,我们将功能划分为以下几个模块:1.用户模块:负责处理用户登录、注册、身份验证等功能。

2.数据库模块:负责与数据库交互,实现数据的增删改查等操作。

3.界面模块:负责用户界面的展示和交互。

4.业务逻辑模块:负责实现各种业务逻辑,如订单管理、库存管理等功能。

每个模块都有明确的职责和接口定义,模块之间通过接口进行通信和数据传递。

2.2 模块之间的关系模块之间的关系如下图所示:用户模块 - 数据库模块|界面模块|业务逻辑模块用户模块与数据库模块之间通过接口进行数据交互,用户模块与界面模块之间通过事件触发和回调函数进行交互,界面模块与业务逻辑模块之间通过函数调用进行交互。

3. 数据结构和算法为了高效地存储和处理数据,我们采用了以下数据结构和算法:•用户数据存储:使用关系型数据库来存储用户信息,采用索引加速查询。

•图形界面:采用MVC模式实现界面的设计和交互,使用栈来实现界面导航。

•业务逻辑处理:使用优化的排序算法和查找算法来处理业务逻辑中的排序和查找操作,提高系统的运行效率。

4. 接口设计在本节中我们将对各个模块的接口进行详细说明。

4.1 用户模块接口用户模块接口定义如下:public interface IUser {// 用户登录public boolean login(String username, String password);// 用户注册public boolean register(String username, String password, String em ail);// 用户身份验证public boolean authenticate(String token);// 用户注销public void logout();}4.2 数据库模块接口数据库模块接口定义如下:public interface IDatabase {// 添加数据public boolean addData(Data data);// 删除数据public boolean deleteData(Data data);// 修改数据public boolean updateData(Data data);// 查询数据public Data queryData(String condition);}4.3 界面模块接口界面模块接口定义如下:public interface IUI {// 显示界面public void show();// 隐藏界面public void hide();// 处理用户交互事件public void handleEvent(Event event);// 设置回调函数public void setCallback(Function callback);}4.4 业务逻辑模块接口业务逻辑模块接口定义如下:public interface ILogic {// 处理订单管理逻辑public void handleOrder(Order order);// 处理库存管理逻辑public void handleInventory(Inventory inventory);// ...}5. 功能和参数说明在本节中我们对软件的各个功能和参数进行详细说明。

详细设计说明书模板

详细设计说明书模板

精品整理页脚内容文档编号:____________ 保密级别:____________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.导言(Introduction)本章对该文档的目的、功能范围、术语、相关文档、参考资料、版本更新进行说明。

1.1 目的(Purpose)本文档的目旨在推动软件工程的规范化,使设计人员遵循统一的详细设计书写规范,节省制作文档的时间,降低系统实现的风险,做到系统设计资料的规范性与全面性,以利于系统的实现、测试、维护、版本升级等。

详细设计的详细程度,应达到可以编写程序的程度。

1.2 范围(Scope)本文档用于软件设计阶段的详细设计,它的上游(依据的基线)是《概要设计说明书》,它的下游是源程序清单及单元测试计划,并为单元测试报告提供测试依据。

该范围应覆盖《概要设计说明书》中的功能点列表、性能点列表、接口列表。

软件详细设计的范围是:各子系统的公用模块实现设计、专用模块实现设计、存储过程实现设计、触发器实现设计、外部接口实现设计、部门角色授权设计、其他详细设计等。

按照3层结构(B/A/S)的布局,详细设计应从下面3个方面进行。

数据库服务器上的面向数据的设计:数据字典物理设计、基本表物理设计、中间表物理设计(报表设计)、临时表物理设计、视图物理设计、存储过程物理设计、触发器物理设计。

应用服务器上的面向业务逻辑的设计:接口数据设计、中间件设计、数据通信传输设计、可视构件设计、非可视构件设计、角色授权设计、功能点设计(功能点列表设计)。

浏览器上的面向对象的设计:录入修改界面设计、浏览查询界面设计、登录注册界面设计、信息发布界面设计。

1.3 术语定义(Terms Glossary)术语定义,如表6-16所示。

表6-16 术语定义1.4 参考资料(References)[1] 《概要设计说明书》[2] 《需求分析说明书》[3] 《软件合同》[4] 命名规范[5] 程序设计规范[6] 界面设计规范1.5 相关文档(Related Documents)[1] 源程序清单[2] 单元测试计划及报告[3] 《用户使用手册》1.6 版本更新记录(V ersion Updated Rcord)版本更新记录,如表6-17所示。

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

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

信息发布系统(详细设计说明书)编写单位: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、成绩统计分析:能够对学生的成绩进行统计分析,如平均分、最高分、最低分等。

(三)运行环境1、操作系统:Windows 10 及以上版本。

2、数据库:MySQL 80 及以上版本。

3、开发语言:Java。

三、模块设计(一)学生信息管理模块1、功能描述实现学生基本信息的增删改查操作。

提供学生信息的批量导入和导出功能。

2、数据结构学生表(Student):包含学号(StudentID)、姓名(StudentName)、性别(Gender)、出生日期(BirthDate)等字段。

3、算法流程新增学生信息:用户输入学生信息,系统进行合法性校验,然后将数据插入到学生表中。

修改学生信息:用户选择要修改的学生,输入修改后的信息,系统更新学生表中的对应记录。

删除学生信息:用户选择要删除的学生,系统删除学生表中的对应记录。

查询学生信息:用户输入查询条件,系统从学生表中检索符合条件的记录并展示。

(二)课程信息管理模块1、功能描述课程的添加、修改、删除和查询操作。

课程安排的设置。

2、数据结构课程表(Course):包含课程编号(CourseID)、课程名称(CourseName)、学分(Credit)等字段。

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功能为了方便用户查询已有类别,类别信息管理模块提供了类别模糊查询。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

详细设计说明书1.引言1.1编写目的本详细设计说明书是针对网络信息体系结构的课程作业而编写。

目的是对该项目进行详细设计,在概要设计的基础上进一步明确系统结构,详细地介绍系统的各个模块,为进行后面的实现和测试作准备。

本详细设计说明书的预期读者为本项目小组的成员以及对该系统感兴趣,在以后想对系统进行扩展和维护的人员。

1.2背景a.[待开发的系统的名称:Lyra Resource Platform;b.本项目的任务提出者: 赵东,成富,陈良,窦文敏开发者:赵东,成富,陈良,窦文敏用户:所有对该项目感兴趣,并想通过该项目的产品提高资源检索速度和质量,方便的进行资源检索,预览,上传及下载的用户。

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 简单类图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功能。

相关文档
最新文档