软件开发设计文档实用模板.doc

上传人:牧羊曲112 文档编号:1611765 上传时间:2022-12-10 格式:DOC 页数:24 大小:119KB
返回 下载 相关 举报
软件开发设计文档实用模板.doc_第1页
第1页 / 共24页
软件开发设计文档实用模板.doc_第2页
第2页 / 共24页
软件开发设计文档实用模板.doc_第3页
第3页 / 共24页
软件开发设计文档实用模板.doc_第4页
第4页 / 共24页
软件开发设计文档实用模板.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《软件开发设计文档实用模板.doc》由会员分享,可在线阅读,更多相关《软件开发设计文档实用模板.doc(24页珍藏版)》请在三一办公上搜索。

1、软件开发设计文档文档管理信息表主题web 服务器版本1.0内容可响应客户端发送文件请求的 web 服务器关键字套接字,请求报文,响应报文,tcp 编程参考文档无创建时间2016/4/2创建人吴鑫最新发布日期2016/4/2文档变更纪录更改人日期更改内容何鑫2016/4/4创建文件目 录1开发规划 .11.1开发人员.11.2开发计划.21.3开发环境和工具.31.4开发规范.32总体设计 .42.1概念术语描述.42.1.1术语 1 .42.1.2术语 2 .4 2.3主要界面流程描述.72.3.1功能 1 界面流程.72.3.2功能 2 界面流程.72.4模块列表.83数据结构 .94接口规

2、范.104.1.104.1.1Interface1.104.1.2Interface2.104.2.114.3.114.4.115模块设计.125.1MODULE1 设计 .125.1.1模块设计描述.125.1.2模块界面描述.125.2MODULE2 设计 .136附录.146.1第三方组件.146.2参考资料.156.3附加文档.15开发规划开发人员角 色主要职责负责模块人员备注何鑫负责编写窗口界面创建通信套接字建立连接获取 http 请求,解析请求报文封装文件到 http 响应报文中,并发送该响应报文软件的测试与优化xxx 模块xxx开发环境和工具开发工具工具作用Microsoft v

3、isual studio 2010web 服务器,窗口界面总体设计概念术语描述术语 1静态文本框术语 2请求报文响应报文基本设计描述 1.传入一个与某个浏览器通信的套接字 2.启动一个线程来监听浏览器接收到的数据 recive 3.如果监听浏览器的请求报文了,要: 3.1 要将请求报文显示在服务器软件的文本框中 3.2 要分析浏览器发来的请求报文 3.3 要根据请求报文处理浏览器的请求页面 4.生成响应报文,并输出到浏览器 T 5.关闭当前连接主要界面功能流程描述功能 1 界面流程1.使用 vs2010 创建一个基于 c#的窗体程序2.使用静态文本框,按钮等元素布置界面3.添加显示文本框用来显

4、示“ip”,“端口号” ,和“日志”3.给两个按钮的 text 重命名并在 name 里给其命名4.最终窗体界面如图所示:(注:我们默认服务器的 ip 地址为 127.0.0.1,端口号为 5004)功能 2 创建浏览器和服务器的通信流程数据结构数据库表列表表名作用endpoint网络节点对象,用来传入 ip 号和端口号adress用来获得 IP 这个文本框里面的内容,为将套接字绑定到端口号中做准备threadwatch创建负责调用套接字监听的线程sokwatch负责监听浏览器的套接字sokconnection接收浏览器请求并生成相应的通信套接字对象isrunning用来控制监听循环是否退出模

5、块列表模块名称(英文)功能备注模块 1sokwatch.Bind(endpoint)将套接字绑定到指定的端口号上模块 2sokwatch.Listen(10)设置监听队列(监听套接字能够同时处理的浏览器连接请求最大个数)模块 3 void watchConnectt()监听浏览器的连接请求模块 4threadwatch = new Thread(watchConnectt)实例化线程模块 5threadwatch.Start()启动线程模块 6void showmsg(string msg)用来在 txtmsglog 文本框中显示相应的连接信息功能 3 接收请求报文流程模块列表模块名称(英文)

6、功能备注模块 1 public delegate void DGshowmsg(string msg)用来在控件上显示消息的委托类型新建类Dataconnection模块 2public delegate void DGshowmsg(string msg)用来在控件上显示消息的委托类型新建类Gshowmsg,并用委托类型模块 3public Dataconnection(Socket sokconnection,DGshowmsg dgshow)在 Dataconnection 类里,通过在构造函数传入参数的方式来传入与某个浏览器通信的套接字和线程模块 4this.threadconnect

7、ion = new Thread(recmsg);直接在内部来创建通信线程对象模块 5this.threadconnection.IsBackground = true;启动该线程,并将其设置为后台线程arrmsg this.threadconnection.Start();模块 6length = sokconnection.Receive(arrmsg);将浏览器发来的数据装入缓存区,并获得真实的数据长度模块 7TryCatch调用委托对象来在文本框中打印异常消息模块 8dgshow(recmsg);在文本框中显示消息数据结构数据库表列表表名作用conn创建 Dataconnection

8、类对象,并传入当前套接字和线程arrmsg字节数组,当做缓存区length用来存放浏览器发来的数据的长度 recmsg用来存储已转换成字符串类型的数据功能 4 分析请求报文流程模块列表模块名称(英文)功能备注模块 1 public HttpRequestmodel(string requeststr)生成请求报文实体对象,并分析请求报文字符串,将每个语义字符都次实体类的相应属性中新建类HttpRequestmodel模块 2string arrequest=requestst这里表示的是将rn转换成籀 ,便于处理,并分割字符新建类Gshowmsg,并用委托类型r.Replace(rn,籀).S

9、plit(籀);模块 3string firstrow = arrequest0.Split( );按照控件将已经分割好的字符再分割模块 4给路径赋值数据结构数据库表列表表名作用path定义页面路径字符串功能 5 读取文件流程模块列表模块名称(英文)功能备注模块 1 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;获得浏览器请求文件的物理路径默认该请求文件在工程目录下模块 2Switch()根据请求文件的后缀名不同来做出不同的判断Case:Case:模块 3 void ProcessstaticPa

10、ge(string path)该方法用来专门处理静态文件模块 4using(FileStream fs=new FileStream(path,FileMode.Open)使用文件流的方式来读取文件前提是要为FileStream 导入命名空间数据结构数据库表列表表名作用requestModel在 dataconnecton 类里创建请求报文实体对象dataDir用来存放当前执行程序的物理路径fileDir存储请求文件的物理路径extentionName存储请求文件的后缀名功能 6 生成响应报文流程模块列表模块名称(英文)功能备注模块 1 public byte GetHttpResponseH

11、eader()返回响应报文头字符串默认该请求文件在工程目录下模块 2 return System.Text.Encoding.UTF8.GetBytes(sb返回请求文件的字节数组Response .ToString ();模块 3sokconnection.Send(model.GetHttpResponseHeader();利用套接字来将响应报文头发送回去模块 4使用文件流的方式来读取文件前提是要为FileStream 导入命名空间数据结构数据库表列表表名作用arrfile以二进制形式存储的文件数据contentType默认的响应内容的类型sbResponse用来显示响应报文头model生成响应报文头对象附录第三方组件使用的命名空间:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.Net.Sockets;using System.Net;using System.Threading;参考资料自己动手写 web 服务器(视频版)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号