1、概要设计文档概要设计说明书题目:p2p系统 Napster组长: 李雨生 3005218065 成员: 李雨生 3005218065 王尽宇 3005218077 张亮 3005218084 鲁帅 3005218068 裴嵩 3005218071 张棘勇 3004218145 助教: 施文娟 杨文燕 指导教师: 王庆节 许林英 杨海琛 开始时间: 2008年8月1日 结束时间: 2008年9月30日 编号:TJ2004-RJXY-No-3目 录概要设计说明书(Architectural Design Specification) 11.引言 11.1编写目的 11.2项目背景 11.3参考资料
2、 12.任务概述 12.1目标 12.2运行环境 23.总体设计 23.1处理流程 23.2总体结构和模块外部设计 43.3功能分配 : 54.接口设计 64.1外部接口 64.2内部接口 65.数据结构设计 65.1逻辑结构设计 65.2物理结构设计 75.3数据结构与程序的关系 76.运行设计 76.1运行模块的组合 76.2运行控制 77.出错处理设计 87.1出错输出信息 87.2出错处理对策 88.安全保密设计 88.1安全设计: 88.2保密设计 8概要设计说明书(Architectural Design Specification)1.引言1.1编写目的对系统的初步设计做一个总结
3、。小组人员可根据模块划分分配工作继续详细系统设计。测试人员可根据该文档产生初步的测试计划书。1.2项目背景本次工程为天津大学软件学院2005级本科生实习,我们通过理解Napster的原理,回顾课堂学到的知识与查阅相关资料,利用C#语言编写出P2P系统,来解决下载MP3文件与聊天的问题,用以巩固以前学习的知识与提高自己的编程水平,深刻理解整个软件工程的流程与各个阶段的任务。1.3参考资料系统的设计,编码和维护文档将遵照计算机软件开发规范来编写2.任务概述2.1目标开发一款具有Napster原理的P2P系统软件,包括客户机和服务器软件,面向广大喜爱音乐的个人用户,使其能方便快捷的搜索和下载喜欢的音
4、乐。2.2运行环境满足以下条件的个人电脑或者组织网络服务器: 用户电脑应使用windows操作系统 网络支持TCP/IP,速度不低于10kbps3.总体设计 3.1处理流程 连接处理活动图, UI处理活动图图1 连接处理活动图图2 客户注册时序图图3 登录时序图(搜索时序图类似)图4 下载歌曲时序图 3.2总体结构和模块外部设计 3.21逻辑架构图5逻辑架构图注释:Thread1是服务器持续运行的一个监听请求处理线程,负责与所有的客户端通信。 Thread2是客户端一个持续运行的监听处理线程,当它接受到别的客户端的下载请求时,则创建一个用来传输文件的线程Thread3,负责上传文件。3.2.2
5、 类图:图6 类图3.3功能分配 : 整个软件可划分为2大模块 :连接模块 和 数据管理模块 1.连接模块: 11主要功能: 处理远程用户的连接请求; 用户验证; 搜索文件; 传输文件;12涉及的类:ServerForm1,ClientForm1,TcpListener,Thread,TcpClient,NetworkStream,nth 2数据管理模块: 该模块继续划分: 用户帐户管理,上传文件管理 21 用户帐户管理 211 主要功能 查看用户信息; 212 涉及的类 TcpClient,NetworkStream, SqlConnection, SqlCommand, SqlDataRe
6、ader 22 上传文件管理 221 主要功能 查看音乐文件信息; 即使更新文件信息; 222 涉及的类 TcpClient,NetworkStream, SqlConnection, SqlCommand, SqlDataReader4.接口设计4.1外部接口1.1 用户界面示意图:1.2 硬件接口:标准接口1.3 软件接口:通信接口4.2内部接口5.数据结构设计 5.1逻辑结构设计 服务器信息:class Thread 连接处理:class TcpClient 图形界面:class ServerForm1,ClientForm1 帐户信息:没有单独的类,保存在数据库表项中5.2物理结构设计
7、数据存储于Windows的文件系统中。5.3数据结构与程序的关系服务器信息:用户界面的服务器配置栏。帐户信息:用户界面的帐户管理栏。在线用户信息:查询到的IP地址。6.运行设计 6.1运行模块的组合程序运行时内存中将会存在2种线程和3个数据对象2种线程:第一类线程是监听线程,服务器和客户端都只有一个,主要负责监听别人的请求;第二类线程是传输文件线程,只存在于客户端中,每个客户端存在0个至若干个,主要负责把指定目录下的文件传输给其它用户。3种数据对象:Byte字节流,用于传输给别的服务器或客户端;String,用于得到别的服务器或者客户端发来的信息;Filestream,用于保存传输来的文件。6
8、.2运行控制ServerForm1 控制Server监听线程的启动和终止。ClientForm1控制Client监听线程的开启和终止。有文件传输要求的时候,客户端自动开启一个线程,进行文件传输,这个线程是由请求响应开启的,当传输文件结束时候会自动关闭线程。服务器维护数据库中客户信息和客户登陆表的信息,通过与客户端通信来达到修改数据库的操作。7.出错处理设计 7.1出错输出信息出错信息将由系统通过对话框自动提示。7.2出错处理对策21 Server出错解决方法:Form1可检测Server线程的状态,并在其出错的时候重启它。22 Connection 出错解决方法:可能的话,向远程用户发送出错信息。23 server配置文件被破坏解决方法:创建默认配置文件24 硬盘上的用户数据被破坏解决方法:关闭当前服务,通知管理员数据被破坏,服务已被禁止。要求管理员修复数据(或者清除数据),然后重启。8.安全保密设计 8.1安全设计:根据优先级的不同和实际进度,最终可能有部分功能无法实现。 服务器连接上限 账号连接上限 IP连接上限 X分钟内Y次连接,禁止该IP Z分钟 帐户权限设置通过一系列权限设置,一定程度上防止了恶意攻击,并提高了服务器的无错误持续运转时间。8.2保密设计帐户信息文件均通过加密存储在本地硬盘,防止了帐户信息的泄漏。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1