最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

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

来源:动视网 责编:小OO 时间:2025-09-23 06:40:13
文档

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

软件开发设计文档文档管理信息表主题web服务器版本1.0内容可响应客户端发送文件请求的web服务器关键字套接字,请求报文,响应报文,tcp编程参考文档无创建时间2016/4/2创建人吴鑫最新发布日期2016/4/2文档变更纪录更改人日期更改内容何鑫2016/4/4创建文件开发规划开发人员角色主要职责负责模块人员备注何鑫⏹负责编写窗口界面⏹创建通信套接字建立连接⏹获取http请求,解析请求报文⏹封装文件到http响应报文中,并发送该响应报文⏹软件的测试与优化⏹xxx模块xxx⏹⏹⏹⏹⏹⏹⏹开发环
推荐度:
导读软件开发设计文档文档管理信息表主题web服务器版本1.0内容可响应客户端发送文件请求的web服务器关键字套接字,请求报文,响应报文,tcp编程参考文档无创建时间2016/4/2创建人吴鑫最新发布日期2016/4/2文档变更纪录更改人日期更改内容何鑫2016/4/4创建文件开发规划开发人员角色主要职责负责模块人员备注何鑫⏹负责编写窗口界面⏹创建通信套接字建立连接⏹获取http请求,解析请求报文⏹封装文件到http响应报文中,并发送该响应报文⏹软件的测试与优化⏹xxx模块xxx⏹⏹⏹⏹⏹⏹⏹开发环
软件开发设计文档

文档管理信息表

主题web服务器
版本1.0
内容可响应客户端发送文件请求的web服务器
关键字套接字,请求报文,响应报文,tcp编程
参考文档
创建时间2016/4/2
创建人吴鑫
最新发布日期2016/4/2
文档变更纪录

更改人日期更改内容
何鑫2016/4/4创建文件
开发规划

开发人员

角  色

主要职责负责模块人员备注
何鑫⏹负责编写窗口界面

⏹创建通信套接字建立连接

⏹获取http请求,解析请求报文

⏹封装文件到http响应报文中,并发送该响应报文

⏹软件的测试与优化

⏹xxx模块

xxx

开发环境和工具

开发工具

工具作用
Microsoft visual studio 2010web服务器,窗口界面

总体设计

概念术语描述

术语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地址为127.0.0.1,端口号为5004)

功能2创建浏览器和服务器的通信流程

数据结构

数据库表列表

表名作用
endpoint网络节点对象,用来传入ip号和端口号

adress用来获得IP这个文本框里面的内容,为将套接字绑定到端口号中做准备

threadwatch创建负责调用套接字监听的线程
sokwatch负责监听浏览器的套接字
"

sokconnection

接收浏览器请求并生成相应的通信套接字对象
isrunning用来控制监听循环是否退出
模块列表

模块名称(英文)

功能备注
模块1

sokwatch.Bind(endpoint)

将套接字绑定到指定的端口号上
模块2

sokwatch.Listen(10)

设置监听队列(监听套接字能够同时处理的浏览器连接请求最大个数)
模块3

 void watchConnectt()

监听浏览器的连接请求
模块4

threadwatch = new Thread(watchConnectt)

实例化线程
模块5

threadwatch.Start()

启动线程
模块6

void showmsg(string msg)

用来在txtmsglog文本框中显示相应的连接信息
功能3接收请求报文流程

模块列表

模块名称(英文)

功能备注
模块1

 public delegate void DGshowmsg(string msg)

用来在控件上显示消息的委托类型新建类Dataconnection

模块2

public delegate void DGshowmsg(string msg)

用来在控件上显示消息的委托类型新建类Gshowmsg,并用委托类型

模块3

public Dataconnection(Socket sokconnection,DGshowmsg dgshow)

在Dataconnection类里,通过在构造函数传入参数的方式来传入与某个浏览器通信的套接字和线程
模块4

this.threadconnection =  new Thread(recmsg);

直接在内部来创建通信线程对象
模块5

this.threadconnection.IsBackground = true;

  this.threadconnection.Start();

启动该线程,并将其设置为后台线程arrmsg
模块6

length = sokconnection.Receive(arrmsg);

将浏览器发来的数据装入缓存区,并获得真实的数据长度
模块7

Try{}

Catch{}

调用委托对象来在文本框中打印异常消息
模块8

dgshow(recmsg);

在文本框中显示消息
数据结构

数据库表列表

表名作用
conn创建Dataconnection类对象,并传入当前套接字和线程
arrmsg字节数组,当做缓存区
length用来存放浏览器发来的数据的长度
 recmsg用来存储已转换成字符串类型的数据
功能4分析请求报文流程

模块列表

模块名称(英文)

功能备注
模块1

 

public HttpRequestmodel(string requeststr)

{}

生成请求报文实体对象,并分析请求报文字符串,将每个语义字符都次实体类的相应属性中

新建类HttpRequestmodel

模块2

string [] arrequest=requeststr.Replace("\\r\\n

这里表示的是将‘\\r\\n’转换成‘籀’,便于处理,并分割字符新建类Gshowmsg,并用委托类型

模块3

string[] firstrow = arrequest[0].Split(' ');

按照控件将已经分割好的字符再分割
模块4

给路径赋值

数据结构

数据库表列表

表名作用
path定义页面路径字符串
功能5读取文件流程

模块列表

模块名称(英文)

功能备注
模块1

 

 dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;

获得浏览器请求文件的物理路径

默认该请求文件在工程目录下
模块2

Switch()

{

Case:

Case:

}

根据请求文件的后缀名不同来做出不同的判断
模块3

 void ProcessstaticPage(string path)

该方法用来专门处理静态文件
模块4

using(FileStream fs=new FileStream(path,FileMode.Open)){}

使用文件流的方式来读取文件前提是要为FileStream导入命名空间

数据结构

数据库表列表

表名作用
requestModel在dataconnecton类里创建请求报文实体对象

dataDir用来存放当前执行程序的物理路径
fileDir存储请求文件的物理路径
extentionName存储请求文件的后缀名
功能6生成响应报文流程

模块列表

模块名称(英文)

功能备注
模块1

 

public byte[] GetHttpResponseHeader(){}

返回响应报文头字符串

默认该请求文件在工程目录下
模块2

 return System.Text.Encoding.UTF8.GetBytes(sbResponse .ToString ());

返回请求文件的字节数组
模块3

sokconnection.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服务器(视频版)

文档

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

软件开发设计文档文档管理信息表主题web服务器版本1.0内容可响应客户端发送文件请求的web服务器关键字套接字,请求报文,响应报文,tcp编程参考文档无创建时间2016/4/2创建人吴鑫最新发布日期2016/4/2文档变更纪录更改人日期更改内容何鑫2016/4/4创建文件开发规划开发人员角色主要职责负责模块人员备注何鑫⏹负责编写窗口界面⏹创建通信套接字建立连接⏹获取http请求,解析请求报文⏹封装文件到http响应报文中,并发送该响应报文⏹软件的测试与优化⏹xxx模块xxx⏹⏹⏹⏹⏹⏹⏹开发环
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top