概要设计分析(初稿)
Thursday, March 22, 2007 11:12:03 AM
概要设计分析的初稿
这个是概要设计分析的初稿,很多地方由于不清楚,所以空着。
1.引言
1.1 编写目的
确定整个项目的主体框架,
1.2 背景
名称:XYLFTP(待定)
任务提出者:王老师
开发者:
王 聪
刘 洋
董 溥
林 峰
金明洁
康竟淞
孔建军
刘 伟
贾梦树
聂海海
用户:服务器面向于linux用户,而客户端面向所有有java虚拟环境的计算机。
中心:可以运行客户端的计算机
1.3 定义
RFC:Require For Comment
FTP :File Transfer Protocol
1.4 参考资料
1.软件设计说明书V0.2
2.a. TCP/IP Illustrated, Vol I, W. Richard Stevens
b. Unix Network Programming, Vol I, W. Richard Stevens, etc.
c. The Art Of Unix Programming, Eric S. Raymond
d. The Mythical Man-Month: Essays on Software Engineering, Anniversary
Edition (2nd Edition), Frederick Phillips Brooks, Jr
e. Unix Systems Programming: Communication, Concurrency and Threads,
Robbins, Steve Robbins
f. Java Network Programming, Elliotte Rusty Harold
g. 软件文档国家标准
2.总体设计
2.1 需求规定
服务端:除和客户端的交互以外,主要的输出是日志文件,日志文件应包括系统使用信息以及出错信息等信息,其主要参数由配置文件载入,应提供适当接口允许临时
修改设置,不载入配置文件,重启服务端失效,用来应付突发状况,具有一定灵活性,但必须有权限保护(可当做扩展)。
在同一时刻,服务端有且只能有一个实例运行。
客户端:主要输入是用户从终端的命令输入,日志文件记录使用信息.出错信息等等。可以考虑配置文件,用来设置默认帐号,密码,存储路径等等。可以同时有多个实例运行。
2.2 运行环境
服务端:linux操作系统,机器架构:支持i386及x86_64架构
客户端:所有安装有java运行环境的计算机
2.3 基本设计概念和处理流程
2.4 结构
2.5 功能需求和程序的关系
2.6 人工过程
2.7 尚未解决的问题
详细功能,模块的划分以及具体流程。
3.接口设计
3.1 用户接口
服务端仅有少量的特殊命令接口,在特殊条件下允许使用,并且不载入配置文件,重启失效;主要的输入由配置文件完成。
客户端提供一定数目的命令,可以完成所有ftp功能。
3.2 外部接口
服务端无图形界面,由命令终端运行。客户端由java虚拟机启动,接收命令输入,考虑图形界面。
3.3 内部接口
4.运行设计
4.1 运行模块组合
4.2 运行控制
4.3 运行时间
5.系统数据结构设计
5.1 逻辑结构设计要点
包括socket编程中使用到的各种结构体等等,参见老师给的资料。
5.2 物理结构设计要点
5.3 数据结构与程序的关系
6.系统出错处理设计
6.1 出错信息
服务端:
1.初始化失败,请确认配置文件是否设置正确,或系统是否有足够资源。
2.启动失败,无法获得锁。请确认只有一个实例运行。
3.内存不足,检查客户端连接数目。
4.需要重启,给所有客户端发送错误信息,并断开所有连接,重启服务端。
5.其他。
客户端:
1.帐号或密码错误,请确认帐号和密码,再重新连接。
2.连接失败(或超时),请确认主机名是否正确,或主机是否处于活动状态,若多次连接失败,请确认网络物理连接状态。
3.下载中断,查看网络物理连接或其他情况,修正后重新下载。
4.获取文件失败,请确认是否该文件是否存在,并有相应的权限。
5.服务器停止活动。
6.其他。
6.2 补救信息
1.连接出错,重试,默认数目为5,可通过配置文件修改。
2.若出现内存泄漏现象过于严重(这是需要我们重视的问题!),断开和所有客户端连接,并给出相应信息,重启服务端。
6.3 系统维护设计
客户端和服务端都应记录详细的日志文件以备维护使用。













可可熊cocobear # Thursday, March 22, 2007 12:45:03 PM
windflush # Thursday, March 22, 2007 12:47:30 PM
jarmingkingcrazyfranc # Friday, March 23, 2007 12:50:06 PM