软件设计说明书例.docx

上传人:b****5 文档编号:5328233 上传时间:2022-12-15 格式:DOCX 页数:31 大小:30.97KB
下载 相关 举报
软件设计说明书例.docx_第1页
第1页 / 共31页
软件设计说明书例.docx_第2页
第2页 / 共31页
软件设计说明书例.docx_第3页
第3页 / 共31页
软件设计说明书例.docx_第4页
第4页 / 共31页
软件设计说明书例.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

软件设计说明书例.docx

《软件设计说明书例.docx》由会员分享,可在线阅读,更多相关《软件设计说明书例.docx(31页珍藏版)》请在冰豆网上搜索。

软件设计说明书例.docx

软件设计说明书例

案卷号00001

日期

软件详细设计说明书(例)

作者:

完成日期:

签收人:

签收日期:

修改情况记录:

版本号修改批准人修改人安装日期签收人

资料

1引言................................................................3

1.1编写目的.................................................................3

1.2范围.....................................................................4

1.3定义.....................................................................4

1.4参考资料.................................................................4

2总体设计............................................................5

2.1需求规定.................................................................5

2.2运行环境.................................................................5

2.3基本设计概念和处理流程...................................................6

2.4结构.....................................................................8

2.5功能需求与程序的关系....................................................11

2.6人工处理过程............................................................13

2.7尚未解决的问题..........................................................13

3接口设计...........................................................13

3.1用户接口................................................................13

3.2外部接口................................................................14

3.3内部接口................................................................14

4运行设计...........................................................18

4.1运行模块组合............................................................18

4.2运行控制................................................................18

4.3运行时间................................................................18

5系统数据结构设计...................................................19

5.1逻辑结构设计要点........................................................19

5.2物理结构设计要点.........................................................1

5.3数据结构与程序的关系.....................................................4

6系统出错处理设计....................................................4

6.1出错信息.................................................................4

6.2补救措施.................................................................5

6.3系统维护设计.............................................................5

资料

1引言

1.5编写目的

随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券

商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,

开发一套采用Client/Server结构的证券交易软件管理系统(SQL版)。

本系统从底层予以

优化,使整个系统的运行速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩

充性得到极大提高。

本说明书给出SQL版证券交易系统的设计说明,包括最终实现的软件必须满足的功能、

性能、接口和用户界面、附属工具程序的功能以及设计约束等。

目的在于:

为编码人员提供依据;

为修改、维护提供条件;

项目负责人将按计划书的要求布置和控制开发工作全过程;

项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。

本说明书的预期读者包括:

项目开发人员,特别是编码人员;

软件维护人员;

技术管理人员;

执行软件质量保证计划的专门人员;

参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报

告的有关人员。

合作各方有关部门的复杂人;项目负责人和全体参加人员。

资料

1.6范围

说明:

a.待开发的软件系统的名称:

模拟股票交易系统

b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。

1.7定义

列出本文件中用到的专门术语的定义和缩写词的原词组。

本报告用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。

1.8参考资料

列出要用到的参考资料,如:

a.本项目的经核准的计划任务书或合同、上级机关的批文;

b.属于本项目的其他已发表的文件;

c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。

列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的

来源。

资料

2总体设计

1.9需求规定

说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见《需求

分析说明书》。

1.10运行环境

简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见《需

求分析说明书》。

数据库服务器

奔腾Pro

内存128MB以上

硬盘9GB

100M网卡

应用服务器

奔腾Pro

内存64MB以上

硬盘4GB

100M网卡

网络配置

100M/10M

工作站(柜台)

P100以上

内存8MB以上

硬盘1G以上

100M/10M网卡

软件

资料

操作系统

WindowsNT4.0以上

数据库管理系统

SQLServer2005

相关软件工具

WindowsNTWorkstation/WindowsNTserver

Windows2000Professional/Server

开发工具

平台:

Windows95/98、WindowsNT、Windows2000

开发工具:

visualstidio2005sp1,C#.Net

测试环境

Windows31、Windows95/98、WindowsNT、Windows2000

1.11基本设计概念和处理流程

说明本系统的基本设计概念和处理流程,尽量使用图表的形式。

营业部系统一共有四个对象,即客户、员工、市场和银行,市场的概念是交易所的细化,

比如上海证券交易所的A股和B股就是两个市场,有了市场的概念我们就可以把交易所这个

概念细化,并使同一个市场的共性更突出。

银行则通过银证转账业务介入,并成为营业部系

统不可或缺的组成部分。

上述四个对象通过一些业务流程进行相互操作从而形成整个交易活动。

因此整个系统模

资料

型可以表述为图2-1

设计时需要将营业部系统所使用的各种信息分为描述四个对象的信息和描述业务流程

的信息。

由于四个对象相对而言是一种稳定型信息,而业务流程则较易变化,且营业部之间

差异很大,因此应将四个对象尽量定型,而将各种业务流程尽可能做成组件,以便营业部可

根据实际需求组装成适合自己的系统。

根据以上思想,在设计对象模型时应充分考虑到可扩展性,尽量做到抽象化、参数化,

从而使对象需求变化时不致影响系统结构。

资料

图2.1

1.12结构

用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划

分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。

本系统采用c/s模式的3层结构

按照不同会话来划分的话可以分为3大系统模块

资料

委托服务系统监控

接口处理子系统系统维护子系统

数据转换数据库日终管理

银证转账系统管理

局域网

资金管理柜台管理

报表管理查询管理

图2-2交易系统体系结构

客户端登陆模块:

资料

最关键的交易系统模块结构图如下:

资料

buyStock

sellStock

p

i

/

p

c

T

quoteStock

Cansel

Delegate

checkUserMoneyCount(stockData)OrcheckUserStockCount要通过数据访问层来访问用户表

在撮合队列中处理并且返回处理结果

tradeInQueue(stockData

newstockData)

Success

unSuccessupDateUserInfo

(stockData)upDateDelegate

通过调用ADOInfo(stockDat

层工厂来访问a)

不同的数据库同左更新的是

(更新用户表

委托临时表

Rule

s/

Mod

el

规范

买卖

指令

传输

的数

据结

adoFactory

构必

通过该模块可动态建立不同数据

须是

库的连接Orical、sql

stock

server,accessData

形式

Chec

k

数据访问层access

access.postDate(stockData)

将数据更新到数据库

数据访问层sqlserver

Sqlserver。

postDate(stockData)

资料

股票信息发布

经过修改我认为每次由客户端每5秒去查询一次服务器更新信息不可取,因为这会加重

服务端和客户端的负担,特别是服务器端的运算。

修改后实现变更为:

用户一开始登陆后获得一次服务器的全部股票当前信息。

而服务器

端每次发生交易后,给每一个在线用户发送当前交易需要更新的股票信息,这样就减轻了客

户机和服务端的信息

客户端

第一次登陆发送请求获得所有

股票信息,并画分时线图

StockidStockprice

TCP/IP

服务器每次交易返回最新信息

资料

1.13功能需求与程序的关系

(该关系由需求分析报告编写者根据结构图说明)

本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:

获取并发送

用户请求

绘制分时

MD5加密解

发送用户

交易请求

接受并识别

用户请求

调用数据层

查询

撮合交易

服务器返回

客户端信息

用户登陆√√√√

查看用户

持仓

√√√

实时指

√√√

交易委托√√√√√√√

取消交易√√√√√√

1.14人工处理过程

说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。

没有完成股票管理的模块设计,所以股票必须从数据库后台添加

如果有新股发行,还必须添加有关股票的交易队列

1.15尚未解决的问题

说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。

3接口设计

2.8用户接口

说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。

资料

向用户提供简单易用的UI,以及帮助文档。

客户端将提供以下功能

首先弹出用户登陆框,供用户输入用户名和密码

菜单项提供个股查询和分时图按钮

菜单栏下是选项卡,提供股票实时信息和个股分时图栏

提供用户交易界面和交易按钮以及查看用户盈亏按键

1.16外部接口

说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、本系统与各支持软件

之间的接口关系。

采用基于正确公开标准的部件和技术以确保最大限度的协作能力以及与第三方系统与

部件集成的简便性。

这类标准包括但不限于以下几种:

网络协议与标准(TCP/IP,HTTP,SSL,etc)

语言(SQL,C#.net,etc.)

数据库连接性(ADO。

net)

1.17内部接口

说明本系统之内的各个系统元素之间的接口的安排。

逻辑层和数据访问层通过以经的stockDataModel接口,来限定访问stockData类型的

资料

数据

客户端通过调用buyStock(stockData)和sellStock(stockData)来访问逻辑层,在

这个函数中包含了访问逻辑层的接口dealTransaction(stockData)

通过AdoFactory访问不同的数据库

客户端登陆协议

D(二字节)+(客户名字长度)(4字节)+(客户名字)+(客户密码长度)(4字节)+(客户密

码);

客户买卖协议

B(二字节)+(股票ID)(4字节)+(股票数量)(4字节)

S(二字节)+(股票ID)(4字节)+(股票数量)(4字节)

查询交易信息并返回给客户端

C(二字节)

具体有拆包解包的类

usingSystem;

usingSystem.Collections.Generic;

usingSystem.Text;

namespaceProjectCenterTradingSys

{

publicclassProtocal

{

privatebyte[]messagebuffer;

privatebyte[]messagelength;

publicbyte[]messagebag;

//该函数是将字符串转换为字节数组

资料

publicbyte[]StringtoByte(stringstringInfo)

{

messagebuffer=System.Text.ASCIIEncoding.ASCII.GetBytes(stringInfo);

returnmessagebuffer;

}

//该函数将整型转换为个字节

publicbyte[]InttoByte(intnumber)

{

messagelength=BitConverter.GetBytes(number);

returnmessagelength;

}

//将浮点型转换为个字节

publicbyte[]DoubletoByte(doubleprice)

{

byte[]pricebyte=BitConverter.GetBytes(price);

returnpricebyte;

}

//合并一个字符串(字节数组)和他的长度作为一个包

publicbyte[]Combinarray(byte[]messle,byte[]messinfo)

{

messagebag=newbyte[messle.Length+messinfo.Length];

intindex;

for(index=0;index

messagebag[index]=messagelength[index];

for(intindex1=0;index1

messagebag[index+index1]=messagebuffer[index1];

资料

returnmessagebag;

}

//解包头

publicbyte[]BagHead(charhead)

{

byte[]headbyte=BitConverter.GetBytes(head);

returnheadbyte;

}

//读包头

publiccharDeBagHead(byte[]buffer)

{

charheadinfo=BitConverter.ToChar(buffer,0);

returnheadinfo;

}

//该函数为解包信息为字符串!

publicstringdeMessgeBag(byte[]Messagebag,intstart,outintnext)

{

next=BitConverter.ToInt32(Messagebag,start);

stringmessage=System.Text.ASCIIEncoding.ASCII.GetString(Messagebag,start+4,

next);

returnmessage;

}

资料

4运行设计

1.18运行模块组合

说明对系统施加不同的外界运行控制时所引起的各种不同的运行模块组合,说明每种运

行所历经的内部模块和支持软件。

1.19运行控制

说明每一种外界的运行控制的方式方法和操作步骤。

1.20运行时间

说明每种运行模块组合将占用各种资源的时间。

资料

5系统数据结构设计

1.21逻辑结构设计要点

给出本系统内所使用的每个数据结构的名称、标识符以及它们之中每个数据项、记录、

文卷和系的标识、定义、长度及它们之间的层次的或表格的相互关系。

客户端类图:

windowForm:

Form

Private:

userLogDialog

userNametextBox

userPasswordtextBox

userlogOKbotton

userlogCanselbutton

tabPage

MenuBar

stockRealtimeGraphitem

stockQuoteDialog

dataGridView

userBuyStockID

userBuyStockcount

userBuyStockprice

userBuyStockButton

...sell

userStocklistView资料

userStockLookButton

sendMestoServer(stringInfo)

//该函数用来向主机发送请求

(接上)

MD5encrypt(string)

//以下都要通过sendMestoServer

//向主机发送信息

logOK_press(event,handle);

stockQuoteitem_press(e,h);

buyStockButton_press(e,h);

sellStockButton_press(e,h);

stocklookButton_press(e,h);

//////

该函数调用drawPicture画图

stockRealtimeGraphitem_press(e,h

资料

ClassRealTimeGraph

Private

stockID

ClassstockData

//动态数组存储股票价格

ArrayListstockPrice[]

订单号publicintListID;

publicintUsrID;

publicstringStockIndex;

Public:

publicfloutPrice;

//在windowform类中recievemess

publicintCount;

后更新当前价格,即在数组后添publicboolIsbuy;

加一项最新价格

updatePrice(price,sotckPrice)

该类即为向服务端传送数据时的包

drawPicture(stockID,

stockPrice)

资料

服务器端

StockQueue

Private

stockDatadata

stockDatanext

Public

DeleteQueueHead();

AddStockData();

ClassTradeService

资料

该类还要补充若干个StockQueue类型的成员变量

privatevoidStartListening()

{

byte[]ipadre=newbyte[]{10,82,14,47};

IPAddressip=newIPAddress(ipadre);

m_Tcplisten=newTcpListener(ip,m_Port);

m_Tcplisten.Start();

while(true)

{

try

{

Sockets=m_Tcplisten.AcceptSocket();

clientSocket=s;

m_serverThread=newThread(newThreadStart(serviceClient));//多线程deal

各个连接用户的socket

m_serverThread.S

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

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1