软件开发设计文档实用模板_第1页
软件开发设计文档实用模板_第2页
软件开发设计文档实用模板_第3页
软件开发设计文档实用模板_第4页
软件开发设计文档实用模板_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

. 精选文档 软件开发设计文档软件开发设计文档 . 精选文档 文档管理信息表文档管理信息表 主题主题web 服务器 版本版本 1.0 内容内容可响应客户端发送文件请求的 web 服务器 关键字关键字套接字,请求报文,响应报文,tcp 编程 参考文档参考文档无 创建时间创建时间 2016/4/2 创建人创建人吴鑫 最新发布日期最新发布日期 2016/4/2 文档变更纪录文档变更纪录 更改人更改人日期日期更改内容更改内容 何鑫 2016/4/4 创建文件 . 精选文档 目目 录录 1 1开发规划开发规划.1 1 1.1开发人员.1 1.2开发计划.2 1.3开发环境和工具.3 1.4开发规范.3 2 2总体设计总体设计.4 4 2.1概念术语描述.4 .1术语 1.4 .2术语 2.4 2.3主要界面流程描述.7 .1功能 1 界面流程.7 .2功能 2 界面流程.7 2.4模块列表.8 3 3数据结构数据结构.9 9 4 4接口规范接口规范.1010 4.1.10 .1Interface1.10 .2Interface2.10 4.2.11 4.3.11 4.4.11 5 5模块设计模块设计.1212 5.1MODULE1 设计 .12 .1模块设计描述 .12 .2模块界面描述 .12 5.2MODULE2 设计 .13 6 6附录附录.1414 6.1第三方组件.14 6.2参考资料.15 6.3附加文档.15 . 精选文档 . 精选文档 开发规划 开发人员开发人员 角角 色色主要职责主要职责负责模块负责模块人员人员备注备注 何鑫负责编写窗口界面 创建通信套接字建立 连接 获取 http 请求,解析 请求报文 封装文件到 http 响应 报文中,并发送该响 应报文 软件的测试与优化 xxx 模块 xxx . 精选文档 . 精选文档 开发环境和工具开发环境和工具 开发工具 工具工具作用作用 Microsoft visual studio 2010 web 服务器,窗口界面 . 精选文档 总体设计 概念术语描述概念术语描述 术语 1 静态文本框 术语 2 请求报文 响应报文 . 精选文档 基本设计描述基本设计描述 1.传入一个与某个浏览器通信的套接字 2.启动一个线程来监听浏览器接收到的数据 recive 3.如果监听浏览器的请求报文了,要: 3.1 要将请求报文显示在服务器软件的文本框中 3.2 要分析浏览器发来的请求报文 3.3 要根据请求报文处理浏览器的请求页面 4.生成响应报文,并输出到浏览器 T 5.关闭当前连接 . 精选文档 主要界面功能流程描述主要界面功能流程描述 功能 1 界面流程 1.使用 vs2010 创建一个基于 c#的窗体程序 2.使用静态文本框,按钮等元素布置界面 3.添加显示文本框用来显示“ip”,“端口号” ,和“日志” 3.给两个按钮的 text 重命名并在 name 里给其命名 4.最终窗体界面如图所示: (注:我们默认服务器的 ip 地址为 ,端口号为 5004) . 精选文档 功能 2 创建浏览器和服务器的通信流程 数据结构 数据库表列表 表名表名作用作用 endpoint网络节点对象,用来传入网络节点对象,用来传入 ip ip 号和端口号号和端口号 adress用来获得用来获得 IPIP 这个文本框里面的内容,为将套接字绑定到端口这个文本框里面的内容,为将套接字绑定到端口 号中做准备号中做准备 threadwatch 创建负责调用套接字监听的线程 sokwatch负责监听浏览器的套接字 sokconnection 接收浏览器请求并生成相应的通信套接字对象 isrunning 用来控制监听循环是否退出 模块列表 模块名称模块名称( (英文英文) )功能功能备注备注 模块 1 sokwatch.Bind(endpoint) 将套接字绑定到指定的端口号上 模块 2 sokwatch.Listen(10) 设置监听队列(监听套接字能够同时 处理的浏览器连接请求最大个数) 模块 3 void watchConnectt() 监听浏览器的连接请求 模块 4 threadwatch = new Thread(watchConnectt) 实例化线程 模块 5 threadwatch.Start() 启动线程 模块 6用来在 txtmsglog 文本框中显示相应的 . 精选文档 void showmsg(string msg) 连接信息 功能 3 接收请求报文流程 模块列表 模块名称模块名称( (英文英文) )功能功能备注备注 模块 1 public delegate void DGshowmsg(string msg) 用来在控件上显示消息的委托类型新建类Dataconnection 模块 2 public delegate void DGshowmsg(string msg) 用来在控件上显示消息的委托类型新建类Gshowmsg,并用委 托类型 模块 3 public Dataconnection(Socket sokconnection,DGshow msg dgshow) 在 Dataconnection 类里,通过在构造函数传 入参数的方式来传入与某个浏览器通信的 套接字和线程 模块 4 this.threadconnection = new Thread(recmsg); 直接在内部来创建通信线程对象 模块 5 this.threadconnection.Is Background = true; this.threadconnection.Sta rt(); 启动该线程,并将其设置为后台线程 arrmsg 模块 6 length = sokconnection.Receive(a rrmsg); 将浏览器发来的数据装入缓存区,并获得 真实的数据长度 模块 7 Try Catch 调用委托对象来在文本框中打印异常消息 模块 8 dgshow(recmsg); 在文本框中显示消息 . 精选文档 数据结构 数据库表列表 表名表名作用作用 conn 创建 Dataconnection 类对象,并传入当前套接字和线程 arrmsg字节数组,当做缓存区 length用来存放浏览器发来的数据的长度 recmsg用来存储已转换成字符串类型的数据 功能 4 分析请求报文流程 模块列表 模块名称模块名称( (英文英文) )功能功能备注备注 模块 1 public HttpRequestmodel(string requeststr) 生成请求报文实体对象,并分析请求报文 字符串,将每个语义字符都次实体类的相 应属性中 新建类HttpRequestmodel 模块 2 string arrequest=requeststr.Rep lace(rn,籀).Split( 籀); 这里表示的是将rn转换成籀 ,便 于处理,并分割字符 新建类Gshowmsg,并用委 托类型 模块 3 string firstrow = arrequest0.Split( ); 按照控件将已经分割好的字符再分割 模块 4 给路径赋值 . 精选文档 数据结构 数据库表列表 表名表名作用作用 path 定义页面路径字符串 功能 5 读取文件流程 模块列表 模块名称模块名称( (英文英文) )功能功能备注备注 模块 1 dataDir = System.IO.Directory.Get Parent(dataDir).Parent.P arent.FullName; 获得浏览器请求文件的物理路径 默认该请求文件在工程目 录下 模块 2 Switch() Case: Case: 根据请求文件的后缀名不同来做出不 同的判断 模块 3 void ProcessstaticPage(string path) 该方法用来专门处理静态文件 模块 4 using(FileStream fs=new FileStream(path,FileMod e.Open) 使用文件流的方式来读取文件前提是要为FileStream 导入 命名空间 . 精选文档 . 精选文档 数据结构 数据库表列表 表名表名作用作用 requestModel在 dataconnecton 类里创建请求报文实体对象 dataDir用来存放当前执行程序的物理路径 fileDir存储请求文件的物理路径 extentionName存储请求文件的后缀名 功能 6 生成响应报文流程 模块列表 模块名称模块名称( (英文英文) )功能功能备注备注 模块 1 public byte GetHttpResponseHeade r() 返回响应报文头字符串 默认该请求文件在工程目 录下 模块 2 return System.Text.Encoding.U TF8.GetBytes(sbRespon se .ToString (); 返回请求文件的字节数组 模块 3 sokconnection.Send(mo del.GetHttpResponseHe ader(); 利用套接字来将响应报文头发送回去 模块 4使用文件流的方式来读取文件前提是要为FileStream 导入 命名空间 . 精选文档 . 精选文档 数据结构 数据库表列表 表名表名作用作用 arrfile以二进制形式存储的文件数据 contentType默认的响应内容的类型 sbResponse用来显示响应报文头 model生成响应报文头对象 . 精选文档 附录 第三方组件第三方组件 使用的命名空间: using System; using System.Collections.Generic; using System.Component

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论