案卷号00001日期软件详细设计说明书(例)作者:完成日期:签收人:签收日期:修改情况记录:版本号修改批准人修改人安装日期签收人目录1引言................................................................31.1编写目的.................................................................31.2范围.....................................................................41.3定义.....................................................................41.4参考资料.................................................................42总体设计............................................................52.1需求规定.................................................................52.2运行环境.................................................................52.3基本设计概念和处理流程...................................................62.4结构.....................................................................82.5功能需求与程序的关系....................................................112.6人工处理过程............................................................132.7尚未解决的问题..........................................................133接口设计...........................................................133.1用户接口................................................................133.2外部接口................................................................143.3内部接口................................................................144运行设计...........................................................184.1运行模块组合............................................................184.2运行控制................................................................184.3运行时间................................................................185系统数据结构设计...................................................195.1逻辑结构设计要点........................................................195.2物理结构设计要点.........................................................15.3数据结构与程序的关系.....................................................46系统出错处理设计....................................................46.1出错信息.................................................................46.2补救措施.................................................................56.3系统维护设计.............................................................51引言1.1编写目的随着证券交易电子化程度的不断提高,券商对于各种业务提出了新的要求,为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用Client/Server结构的证券交易软件管理系统(SQL版)。本系统从底层予以优化,使整个系统的运行速度得到较大提高,通过重新优化数据库内部结构,使系统的可扩充性得到极大提高。本说明书给出SQL版证券交易系统的设计说明,包括最终实现的软件必须满足的功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。目的在于:为编码人员提供依据;为修改、维护提供条件;项目负责人将按计划书的要求布置和控制开发工作全过程;项目质量保证组将按此计划书做阶段性和总结性的质量验证和确认。本说明书的预期读者包括:项目开发人员,特别是编码人员;软件维护人员;技术管理人员;执行软件质量保证计划的专门人员;参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。合作各方有关部门的复杂人;项目负责人和全体参加人员。1.2范围说明:a.待开发的软件系统的名称:模拟股票交易系统b.列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。1.3定义列出本文件中用到的专门术语的定义和缩写词的原词组。本报告用到的术语符合国家标准《软件工程术语(GB/T11475-1995)》。1.4参考资料列出要用到的参考资料,如:a.本项目的经核准的计划任务书或合同、上级机关的批文;b.属于本项目的其他已发表的文件;c.本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。2总体设计2.1需求规定说明对本系统的主要的输入输出项目、处理的功能性能要求,详细的说明可参见《需求分析说明书》。2.2运行环境简要地说明对本系统的运行环境(包括硬件环境和支持环境)的规定,详细说明参见《需求分析说明书》。数据库服务器奔腾Pro内存128MB以上硬盘9GB100M网卡应用服务器奔腾Pro内存64MB以上硬盘4GB100M网卡网络配置100M/10M工作站(柜台)P100以上内存8MB以上硬盘1G以上100M/10M网卡软件操作系统WindowsNT4.0以上数据库管理系统SQLServer2005相关软件工具WindowsNTWorkstation/WindowsNTserverWindows2000Professional/Server开发工具平台:Windows95/98、WindowsNT、Windows2000开发工具:visualstidio2005sp1,C#.Net测试环境Windows31、Windows95/98、WindowsNT、Windows20002.3基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。营业部系统一共有四个对象,即客户、员工、市场和银行,市场的概念是交易所的细化,比如上海证券交易所的A股和B股就是两个市场,有了市场的概念我们就可以把交易所这个概念细化,并使同一个市场的共性更突出。银行则通过银证转账业务介入,并成为营业部系统不可或缺的组成部分。上述四个对象通过一些业务流程进行相互操作从而形成整个交易活动。因此整个系统模型可以表述为图2-1设计时需要将营业部系统所使用的各种信息分为描述四个对象的信息和描述业务流程的信息。由于四个对象相对而言是一种稳定型信息,而业务流程则较易变化,且营业部之间差异很大,因此应将四个对象尽量定型,而将各种业务流程尽可能做成组件,以便营业部可根据实际需求组装成适合自己的系统。根据以上思想,在设计对象模型时应充分考虑到可扩展性,尽量做到抽象化、参数化,从而使对象需求变化时不致影响系统结构。图2.12.4结构用一览表及框图的形式说明本系统的系统元素(各层模块、子程序、公用程序等)的划分,扼要说明每个系统元素的标识符和功能,分层次地给出各元素之间的控制与被控制关系。本系统采用c/s模式的3层结构按照不同会话来划分的话可以分为3大系统模块客户端登陆模块:局域网数据库柜台管理查询管理报表管理资金管理数据转换银证转账委托服务日终管理系统管理系统监控接口处理子系统系统维护子系统图2-2交易系统体系结构最关键的交易系统模块结构图如下:adoFactory通过该模块可动态建立不同数据库的连接Orical、sqlserver,accessRules/Model规范买卖指令传输的数据结构必须是stockData形式CheckbuyStocksellStockquoteStockCanselDelegate数据访问层sqlserverSqlserver。postDate(stockData)数据访问层accessaccess.postDate(stockData)将数据更新到数据库checkUserMoneyCount(stockData)OrcheckUserStockCount要通过数据访问层来访问用户表在撮合队列中处理并且返回处理结果tradeInQueue(stockDatanewstockData)SuccessupDateUserInfo(stockData)通过调用ADO层工厂来访问不同的数据库(更新用户表)unSuccessupDateDelegateInfo(stockData)同左更新的是委托临时表Tcp/ip股票信息发布经过修改我认为每次由客户端每5秒去查询一次服务器更新信息不可取,因为这会加重服务端和客户端的负担,特别是服务器端的运算。修改后实现变更为:用户一开始登陆后获得一次服务器的全部股票当前信息。而服务器端每次发生交易后,给每一个在线用户发送当前交易需要更新的股票信息,这样就减轻了客户机和服务端的信息第一次登陆发送请求获得所有股票信息,并画分时线图客户端服务器每次交易返回最新信息TCP/IPStockidStockprice2.5功能需求与程序的关系(该关系由需求分析报告编写者根据结构图说明)本条用一张如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:获取并发送用户请求绘制分时图MD5加密解密发送用户交易请求接受并识别用户请求调用数据层查询撮合交易服务器返回客户端信息用户登陆√√√√查看用户持仓√√√实时指数√√√交易委托√√√√√√√取消交易√√√√√√2.6人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话)。没有完成股票管理的模块设计,所以股票必须从数据库后台添加如果有新股发行,还必须添加有关股票的交易队列2.7尚未解决的问题说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。3接口设计3.1用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。向用户提供简单易用的UI,以及帮助文档。客户端将提供以下功能首先弹出用户登陆框,供用户输