1引言... 2
1.1编写目的... 2
1.2背景... 2
1.3定义... 2
1.4参考资料... 2
2总体设计... 2
2.1需求规定... 2
2.2运行环境... 2
2.3基本设计概念和处理流程... 3
2.4结构... 3
2.5功能器求与程序的关系... 3
2.6人工处理过程... 3
2.7尚未问决的问题... 3
3接口设计... 3
3.1用户接口... 3
3.2外部接口... 3
3.3内部接口... 4
4运行设计... 4
4.1运行模块组合... 4
4.2运行控制... 4
4.3运行时间... 4
5系统数据结构设计... 4
5.1逻辑结构设计要点... 4
5.2物理结构设计要点... 4
5.3数据结构与程序的关系... 4
6系统出错处理设计... 5
6.1出错信息... 5
6.2补救措施... 5
6.3系统维护设计... 5
概要设计说明书
说明编写这份概要设计说明书的目的,指出预期的读者。
说明:
a. 待开发软件系统的名称;
b. 列出此项目的任务提出者、开发者、用户以及将运行该软件的计算站(中心)。
列出本文件中用到的专门术语的定义和外文首字母组词的原词组。
列出有关的参考文件,如:
a. 本项目的经核准的计划任务书或合同,上级机关的批文;
b. 属于本项目的其他已发表文件;
c. 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。
说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见附录C。
简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见附录C。
说明本系统的基本设计概念和处理流程,尽量使用图表的形式。
用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系.
本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:
说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。
说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件之间的接口关系。
说明本系统之内的各个系统元素之间的接口的安排。
说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运行所历经的内部模块和支持软件。
说明每一种外界的运行控制的方式方法和操作步骤。
说明每种运行模块组合将占用各种资源的时间。
给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。
给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域)、设计考虑和保密条件。
说明各个数据结构与访问这些数据结构的形式:
用一览表的方式说朗每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。
说明故障出现后可能采取的变通措施,包括:
a. 后备技术说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性地把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;
b. 降效技术说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;
c. 恢复及再启动技术说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。 各个程序之间的对应关系,可采用如下的矩阵图的形式;
概要设计说明书
题目:p2p系统 Napster
组长: 李雨生 3005218065
成员: 李雨生 3005218065
王尽宇 3005218077 张亮 3005218084 鲁帅 3005218068
裴嵩 3005218071
张棘勇 3004218145
助教: 施文娟 杨文燕 指导教师: 王庆节 许林英 杨海琛
开始时间: 20xx年8月1日
结束时间: 20xx年9月30日
编号:TJ2004-RJXY-No-3
目 录
概要设计说明书(Architectural Design Specification) ............................................................... 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
概要设计说明书(Architectural Design Specification)
1.引言
1.1编写目的
对系统的初步设计做一个总结。小组人员可根据模块划分分配工作继续详细系统设计。测试人员可根据该文档产生初步的测试计划书。
1.2项目背景
本次工程为天津大学软件学院2005级本科生实习,我们通过理解Napster的原理,回顾课堂学到的知识与查阅相关资料,利用C#语言编写出P2P系统,来解决下载MP3文件与聊天的问题,用以巩固以前学习的知识与提高自己的编程水平,深刻理解整个软件工程的流程与各个阶段的任务。
1.3参考资料
系统的设计,编码和维护文档将遵照《计算机软件开发规范》来编写
2.任务概述
2.1目标
开发一款具有Napster原理的P2P系统软件,包括客户机和服务器软件,面向广大喜爱音乐的个人用户,使其能方便快捷的搜索和下载喜欢的音乐。
1
2.2运行环境
满足以下条件的个人电脑或者组织网络服务器: ? 用户电脑应使用windows操作系统 ? 网络支持TCP/IP,速度不低于10kbps
3.总体设计
3.1处理流程
连接处理活动图, UI处理活动图
图1 连接处理活动图
2
图2 客户注册时序图
图3 登录时序图(搜索时序图类似)
3
图4 下载歌曲时序图
3.2总体结构和模块外部设计
3.2.1逻辑架构
图5逻辑架构图
4
注释:Thread1是服务器持续运行的一个监听请求处理线程,负责与所有的客户端通信。 Thread2是客户端一个持续运行的监听处理线程,当它接受到别的客户端的下载请求
时,则创建一个用来传输文件的线程Thread3,负责上传文件。
3.2.2 类图:
图6 类图
3.3功能分配 :
整个软件可划分为2大模块 :连接模块 和 数据管理模块 1.连接模块: 1.1主要功能:
处理远程用户的连接请求; 用户验证;
5
搜索文件;
传输文件;
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 涉及的类
TcpClient,NetworkStream, SqlConnection, SqlCommand, SqlDataReader
4.接口设计
4.1外部接口
1.1 用户界面示意图:
1.2 硬件接口:标准接口
1.3 软件接口:通信接口
4.2内部接口
5.数据结构设计
5.1逻辑结构设计
? 服务器信息:class Thread
? 连接处理:class TcpClient
? 图形界面:class ServerForm1,ClientForm1
? 帐户信息:没有单独的类,保存在数据库表项中
6
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.出错处理设计
7.1出错输出信息
出错信息将由系统通过对话框自动提示。
7.2出错处理对策
2.1 Server出错
解决方法:Form1可检测Server线程的状态,并在其出错的时候重启它。
2.2 Connection 出错
解决方法:可能的话,向远程用户发送出错信息。
2.3 server配置文件被破坏
解决方法:创建默认配置文件
2.4 硬盘上的用户数据被破坏
解决方法:关闭当前服务,通知管理员数据被破坏,服务已被禁止。要求管理员修复数据(或者清除数据),然后重启。
8.安全保密设计
8.1安全设计:
根据优先级的不同和实际进度,最终可能有部分功能无法实现。 ? 服务器连接上限
? 账号连接上限
? IP连接上限
? X分钟内Y次连接,禁止该IP Z分钟
? 帐户权限设置
通过一系列权限设置,一定程度上防止了恶意攻击,并提高了服务器的无错误持续运转时间。
8.2保密设计
帐户信息文件均通过加密存储在本地硬盘,防止了帐户信息的泄漏。
8
概要设计说明书编写规范概要设计说明书一引言1编写目的从该阶段开发正式进入软件的实际开发阶段本阶段完成系统的大致设计并明确系统的数据…
概要设计说明书1引言11编写目的阐明编写概要设计说明书的目的指明读者对象本文档的编写目的是根据项目需求说明书阐述系统结构数据定义接…
XXX项目概要设计说明书XXX项目概要设计说明书公司实施部门项目经理生效日期总7页第1页文档编号XXX项目概要设计说明书目录1编制…
北京华安通联信息技术有限公司HATL文档编号编写审核批准软件概要设计说明书模板V10HATLSDS20xx001文档名称软件概要设…
概要设计说明书实例概要设计说明书一引言1编写目的从该阶段开发正式进入软件的实际开发阶段本阶段完成系统的大致设计并明确系统的数据结构…
概要设计说明书编写规范概要设计说明书一引言1编写目的从该阶段开发正式进入软件的实际开发阶段本阶段完成系统的大致设计并明确系统的数据…
概要设计说明书GB8567881引言11编写目的说明编写这份概要设计说明书的目的指出预期的读者12背景说明aa待开发软件系统的名称…
概要设计说明书1引言11编写目的阐明编写概要设计说明书的目的指明读者对象本文档的编写目的是根据项目需求说明书阐述系统结构数据定义接…
1引言211121314编写目的2背景2定义2参考资料22总体设计22122简述2架构设计2系统业务逻辑架构图2系统物理架构图3子…
概要设计说明书lt项目编号gtlt项目名称gt概要设计说明书lt版本号gt撰写人签名完成日期本文档使用部门主管领导项目组客户市场维…