软件详细设计介绍说明资料(例举).doc

上传人:一*** 文档编号:828989 上传时间:2019-07-24 格式:DOC 页数:42 大小:1.10MB
返回 下载 相关 举报
软件详细设计介绍说明资料(例举).doc_第1页
第1页 / 共42页
软件详细设计介绍说明资料(例举).doc_第2页
第2页 / 共42页
点击查看更多>>
资源描述

《软件详细设计介绍说明资料(例举).doc》由会员分享,可在线阅读,更多相关《软件详细设计介绍说明资料(例举).doc(42页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、案卷号案卷号0000100001日期日期软件详细设计说明书(例)软件详细设计说明书(例)作 者: 完成日期: 签 收 人: 签收日期: 修改情况记录:版本号修改批准人修改人安装日期签收人目录目录 1 引言引言.11.1 编写目的.11.2 范围.11.3 定义.11.4 参考资料.12 总体设计总体设计.12.1 需求规定.12.2 运行环境.22.3 基本设计概念和处理流程.22.4 结构.22.5 功能需求与程序的关系.22.6 人工处理过程.22.7 尚未解决的问题.33 接口设计接口设计.33.1 用户接口.33.2 外部接口.33.3 内部接口.34 运行设计运行设计.34.1 运行

2、模块组合.34.2 运行控制.34.3 运行时间.45 系统数据结构设计系统数据结构设计.45.1 逻辑结构设计要点.45.2 物理结构设计要点.45.3 数据结构与程序的关系.46 系统出错处理设计系统出错处理设计.56.1 出错信息.56.2 补救措施.56.3 系统维护设计.51 引言引言1.1 编写目的编写目的随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用 Client/Server 结构的证券交易软件管理系统(SQL 版) 。本系统从底层予以优化,使整个系统的运行

3、速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩充性得到极大提高。本说明书给出 SQL 版证券交易系统的设计说明,包括最终实现的软件必须满足的功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。目的在于:为编码人员提供依据;为修改、维护提供条件;项目负责人将按计划书的要求布置和控制开发工作全过程;项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。本说明书的预期读者包括:项目开发人员,特别是编码人员;软件维护人员;技术管理人员;执行软件质量保证计划的专门人员;参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。合作各方有关部门的复杂

4、人;项目负责人和全体参加人员。1.2 范围范围说明:a待开发的软件系统的名称:模拟股票交易系统模拟股票交易系统b 列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。1.3 定义定义列出本文件中用到的专门术语的定义和缩写词的原词组。本报告用到的术语符合国家标准软件工程术语(GB/T11475-1995) 。1.4 参考资料参考资料列出要用到的参考资料,如:a 本项目的经核准的计划任务书或合同、上级机关的批文;b 属于本项目的其他已发表的文件;c 本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。

5、2 总体设计总体设计2.1 需求规定需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见需求分析说明书 。2.2 运行环境运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见需求分析说明书 。数据库服务器奔腾 Pro内存 128MB 以上硬盘 9GB100M 网卡应用服务器奔腾 Pro内存 64MB 以上硬盘 4GB100M 网卡网络配置100M / 10M工作站(柜台)P100 以上内存 8MB 以上硬盘 1G 以上100M/10M 网卡软件操作系统Windows NT 4.0 以上数据库管理系统SQL Server 2005相关软件工

6、具Windows NT Workstation/Windows NT serverWindows 2000 Professional/ Server开发工具平台:Windows95/98、Windows NT、Windows 2000开发工具:visual stidio 2005 sp1,C#.Net 测试环境Windows31、Windows95/98、Windows NT、Windows 20002.3 基本设计概念和处理流程基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。营业部系统一共有四个对象,即客户、员工、市场和银行,市场的概念是交易所的细化,比如上海证

7、券交易所的股和股就是两个市场,有了市场的概念我们就可以把交易所这个概念细化,并使同一个市场的共性更突出。银行则通过银证转账业务介入,并成为营业部系统不可或缺的组成部分。上述四个对象通过一些业务流程进行相互操作从而形成整个交易活动。因此整个系统模型可以表述为图 2-1设计时需要将营业部系统所使用的各种信息分为描述四个对象的信息和描述业务流程的信息。由于四个对象相对而言是一种稳定型信息,而业务流程则较易变化,且营业部之间差异很大,因此应将四个对象尽量定型,而将各种业务流程尽可能做成组件,以便营业部可根据实际需求组装成适合自己的系统。根据以上思想,在设计对象模型时应充分考虑到可扩展性,尽量做到抽象化

8、、参数化,从而使对象需求变化时不致影响系统结构。图 2.12.4 结构结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。本系统采用 c/s 模式的 3 层结构按照不同会话来划分的话可以分为 3 大系统模块客户端登陆模块:局域网数据库柜台管理查询管理报表管理资金管理数据转换银证转账委托服务日终管理系统管理系统监控接口处理子系统系统维护子系统图 2-2 交易系统体系结构最关键的交易系统模块结构图如下:adoFactory 通过该模块可动态建立不同数据 库的连接Orical、sql ser

9、ver,accessRule s/ Mod el 规范 买卖 指令 传输 的数 据结 构必 须是 stock Data 形式 Chec kbuyStocksellStockquoteStockCansel Delegate数据访问层sqlserver Sqlserver。postDate(stockData)数据访问层access access.postDate(stockData) 将数据更新到数据库checkUserMoneyCount(stockData) Or checkUserStockCount 要通过数据访问层来访问用户表在撮合队列中处理并且返回处理结果 tradeInQueue

10、(stockData newstockData)SuccessupDateUserInfo (stockData) 通过调用ADO 层工厂来访问 不同的数据库 (更新用户表 )unSuccessupDateDelegate Info(stockDat a) 同左更新的是 委托临时表Tcp/ip股票信息发布经过修改我认为每次由客户端每 5 秒去查询一次服务器更新信息不可取,因为这会加 重服务端和客户端的负担,特别是服务器端的运算。修改后实现变更为:用户一开始登陆后获得一次服务器的全部股票当前信息。而服务 器端每次发生交易后,给每一个在线用户发送当前交易需要更新的股票信息,这样就减轻 了客户机和服

11、务端的信息第一次登陆发送请求获得所有 股票信息,并画分时线图客户端服务器每次交易返回最新信息TCP/IPStock id Stock price2.5 功能需求与程序的关系功能需求与程序的关系(该关系由需求分析报告编写者根据结构图说明)本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:获取并发送 用户请求绘制分时 图MD5 加密 解密发送用户 交易请求接受并识别 用户请求调用数据层 查询撮合交易服务器返回 客户端信息用户登陆查看用户 持仓实时指 数交易委托取消交易2.6 人工处理过程人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话) 。没有完成股票管

12、理的模块设计,所以股票必须从数据库后台添加如果有新股发行,还必须添加有关股票的交易队列2.7 尚未解决的问题尚未解决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。3 接口设计接口设计3.1 用户接口用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。向用户提供简单易用的 UI,以及帮助文档。客户端将提供以下功能首先弹出用户登陆框,供用户输入用户名和密码菜单项提供个股查询和分时图按钮菜单栏下是选项卡,提供股票实时信息和个股分时图栏提供用户交易界面和交易按钮以及查看用户盈亏按键3.2 外部接口外部接口说明本系统同外界的所有接口的安排包括软件与硬件之

13、间的接口、本系统与各支持软件之间的接口关系。采用基于正确公开标准的部件和技术以确保最大限度的协作能力以及与第三方系统与部件集成的简便性。这类标准包括但不限于以下几种:网络协议与标准 (TCP/IP, HTTP, SSL, etc)语言(SQL, C#.net, etc.)数据库连接性(ADO。net)3.3 内部接口内部接口说明本系统之内的各个系统元素之间的接口的安排。逻辑层和数据访问层通过以经的 stockDataModel 接口,来限定访问 stockData 类型的数据客户端通过调用 buyStock(stockData)和 sellStock(stockData)来访问逻辑层,在这个函

14、数中包含了访问逻辑层的接口 dealTransaction(stockData)通过 AdoFactory 访问不同的数据库客户端登陆协议D(二字节)+(客户名字长度)(4 字节)+(客户名字)+(客户密码长度)(4 字节)+(客户密码);客户买卖协议B(二字节)+(股票 ID)(4 字节)+(股票数量)(4 字节)S(二字节)+(股票 ID)(4 字节)+(股票数量)(4 字节)查询交易信息并返回给客户端C(二字节)具体有拆包解包的类using System;using System.Collections.Generic;using System.Text;namespace Projec

15、tCenterTradingSyspublic class Protocalprivate byte messagebuffer;private byte messagelength;public byte messagebag;/该函数是将字符串转换为字节数组public byte StringtoByte(string stringInfo)messagebuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(stringInfo);return messagebuffer;/该函数将整型转换为个字节public byte InttoByte(i

16、nt number)messagelength=BitConverter.GetBytes(number);return messagelength;/将浮点型转换为个字节public byte DoubletoByte(double price)byte pricebyte = BitConverter.GetBytes(price);return pricebyte;/合并一个字符串(字节数组)和他的长度作为一个包public byte Combinarray(byte messle, byte messinfo)messagebag=new bytemessle.Length+messi

17、nfo.Length;int index;for (index = 0; index newlist.price,利用插入排序将 newlist 插入到买队列 BuyQueue 中,转 1; 3.)if SellQueue0.countnewlist.count,newlist 完全撮合,SellQueue0.countSellQueue0.countnewlist.count,转 2;4.)if SellQueue0.countnewlist.count,newlist 完全撮合,BuyQueue0.countBuyQueue0.countnewlist.count,转 1;7.)if Bu

18、yQueue0.countprice=high+1; -i)SellQueuei+1=SellQueuei;SellQueuehigh+1=*newlist;这是卖队列的排序,对于买队列的排序与之相似,只是价格排列是由高到底。在这里不再赘述。这种插入排序方法完全符合了撮合算法中价格优先、时间优先的要求,而且效率也是比较高的。在集合竞价前和连续竞价后进行的插入排序都是这样进行的,而在集合竞价撮合之后,对两队列的重新排列,我们首先使用了memset 函数将前面已全部成交的t 个元素清空,然后将t 到 N(原总非空元素个数 )前移 t 位。如下列代码所示:for (int p=0; *t *N; p

19、+,*t+)QueueStruct temp;temp=Queue*t;Queue*t=Queuep;Queuep=temp;5.2.4 撮合算法的运行机制在交易所正常运行时,一天内分为开市、开盘、休市、复开、收市等 5 个步骤。开市:每天上午 9:15 开市。这时候,股民可以通过券商向交易所递单。同一只股票的买卖单开始分别进入这只股票的买卖队列中,但并不进行撮合。该过程一直持续到 9:25。开盘:每天上午 9:30 正式开盘。9:25-9:30 为盘前处理,这段时间也就是集合竞价撮合算法运行的时间。9:25,买卖两队列开市不再接收新的单子。新的单子这时都放在缓冲区中,直到两队列运行完整个集合

20、竞价算法后开市重新进单时,再依序将单子从缓存区取出读入买卖队列进行连续竞价的撮合。买卖队列于 9:25 开始集合竞价,运算完毕,得出开盘价等所有统计数据并发布行情以及发送完所有回报之后,重新接收单子进入该日正常交易中,使用连续竞价算法进行撮合。休市:每天上午 11:00 休市。此时,所有的券商不再接受买卖单子,也不再给交易所递单。交易所将此前已经收到的所有单子撮合之后处于休息阶段。并进行各种当日前市盘点。复开:每天下午 13:30 复开。此时,券商开市接收用户的递单,并将其送交交易所。交易所重新开市进入连续竞价撮合收市:每天下午 15:00 收市。此时交易所不再接受任何单子,准时进行最后一笔单

21、子的撮合之后,关闭撮合线程。将最后得到的收盘价等数据统计发送完之后,当天的所有工作全部结束。如图 3.2.5 所示。开市开盘休市复开收市9:25开市 9:30开盘11:00休市13:30复开15:00收市图 3.2.55.3 数据库设计数据库设计数据库服务器为 SQL SERVER 2005 EXPRESS 股票信息表 记录了股票的当前信息用户信息表交易订单表其中 userid 和 stockid 是外键关系图如下5.4 物理结构设计要点物理结构设计要点给出本系统内所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域) 、设计考虑和保密条件。5

22、.5 数据结构与程序的关系数据结构与程序的关系说明各个数据结构与访问这些数据结构的各个程序之间的对应关系,可采用如下的矩阵图的形式:程序 1程序 2 程序 m数据结构 1数据结构 2 数据结构 n6 系统出错处理设计系统出错处理设计6.1 出错信息出错信息用一览表的方式说明每种可能的出错或故障情况出现时,系统输出信息的形式、含意及处理方法。6.2 补救措施补救措施说明故障出现后可能采取的变通措施,包括:a 后备技术:说明准备采用的后备技术,当原始系统数据万一丢失时启用的副本的建立和启动的技术,例如周期性把磁盘信息记录到磁带上去就是对于磁盘媒体的一种后备技术;b 降效技术:说明准备采用的后备技术,使用另一个效率稍低的系统或方法来求得所需结果的某些部分,例如一个自动系统的降效技术可以是手工操作和数据的人工记录;c 恢复及再启动技术:说明将使用的恢复再启动技术,使软件从故障点恢复执行或使软件从头开始重新运行的方法。6.3 系统维护设计系统维护设计说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。(未全部完成,在项目进行过程中完善)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com