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