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

上传人:赵** 文档编号:37786673 上传时间:2022-09-02 格式:PDF 页数:46 大小:1.85MB
返回 下载 相关 举报
软件详细设计说明书(例).pdf_第1页
第1页 / 共46页
软件详细设计说明书(例).pdf_第2页
第2页 / 共46页
点击查看更多>>
资源描述

《软件详细设计说明书(例).pdf》由会员分享,可在线阅读,更多相关《软件详细设计说明书(例).pdf(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、. .案卷号案卷号0000100001日期日期软件详细设计说明书(例)软件详细设计说明书(例)作者:完成日期:签 收 人:签收日期:修改情况记录:版本号修改批准人修改人安装日期签收人S. . . . .目录目录1 1 引言引言. . 3. 31.1 编写目的. 31.2 围 . 41.3 定义. 41.4 参考资料 . 42 2 总体设计总体设计 . 5 . 52.1 需求规定 . 52.2 运行环境 . 52.3 基本设计概念和处理流程 . 62.4 结构 . 82.5 功能需求与程序的关系. 112.6 人工处理过程 . 132.7 尚未解决的问题 . 133 3 接口设计接口设计 . 1

2、4 . 143.1 用户接口 . 143.2 外部接口 . 143.3 部接口. 154 4 运行设计运行设计 . 18 . 184.1 运行模块组合 . 184.2 运行控制 . 184.3 运行时间 . 185 5 系统数据结构设计系统数据结构设计. . 19. 195.1 逻辑结构设计要点 . 195.2 物理结构设计要点. 15.3 数据结构与程序的关系. 46 6 系统出错处理设计系统出错处理设计. . 4. 46.1 出错信息 . 46.2 补救措施 . 56.3 系统维护设计 . 5S. . . . .1 1 引言引言1.11.1 编写目的编写目的随着证券交易电子化程度的不断提高

3、, 券商对于各种业务提出了新的要求, 为了满足券商的发展需求,更好的为客户提供服务,现结合原有各版本的证券交易软件的优点和特点,开发一套采用 Client/Server 结构的证券交易软件管理系统(SQL 版) 。本系统从底层予以优化,使整个系统的运行速度得到较大提高, 通过重新优化数据库部结构, 使系统的可扩充性得到极大提高。本说明书给出 SQL 版证券交易系统的设计说明, 包括最终实现的软件必须满足的功能、性能、接口和用户界面、附属工具程序的功能以及设计约束等。目的在于:为编码人员提供依据;为修改、维护提供条件;项目负责人将按计划书的要求布置和控制开发工作全过程;项目质量保证组将按此计划书

4、做阶段性和总结性的质量验证和确认。本说明书的预期读者包括:项目开发人员,特别是编码人员;软件维护人员;技术管理人员;执行软件质量保证计划的专门人员;参与本项目开发进程各阶段验证、确认以及负责为最后项目验收、鉴定提供相应报告的有关人员。合作各方有关部门的复杂人;项目负责人和全体参加人员。S. . . . .1.21.2 围围说明:a 待开发的软件系统的名称:模拟股票交易系统模拟股票交易系统b 列出本项目的任务提出者、开发者、用户以及将运行该项软件的单位。1.31.3 定义定义列出本文件中用到的专门术语的定义和缩写词的原词组。本报告用到的术语符合国家标准软件工程术语(GB/T11475-1995)

5、 。1.41.4 参考资料参考资料列出要用到的参考资料,如:a 本项目的经核准的计划任务书或合同、上级机关的批文;b 属于本项目的其他已发表的文件;c本文件中各处引用的文件、资料,包括所要用到的软件开发标准。列出这些文件的标题、文件编号、发表日期和出版单位,说明能够得到这些文件资料的来源。S. . . . .2 2 总体设计总体设计2.12.1 需求规定需求规定说明对本系统的主要的输入输出项目、 处理的功能性能要求,详细的说明可参见需求分析说明书 。2.22.2 运行环境运行环境简要地说明对本系统的运行环境 (包括硬件环境和支持环境) 的规定, 详细说明参见 需求分析说明书 。数据库服务器奔腾

6、 Pro存 128MB 以上硬盘 9GB100M 网卡应用服务器奔腾 Pro存 64MB 以上硬盘 4GB100M 网卡网络配置100M / 10M工作站(柜台)P100 以上存 8MB 以上硬盘 1G 以上100M/10M 网卡软件S. . . . .操作系统Windows NT 4.0 以上数据库管理系统SQL Server 2005相关软件工具Windows NT Workstation/Windows NT serverWindows 2000 Professional/ Server开发工具平台:Windows95/98、Windows NT、Windows 2000开发工具:vis

7、ual stidio 2005 sp1,C#.Net测试环境Windows31、Windows95/98、Windows NT、Windows 20002.32.3 基本设计概念和处理流程基本设计概念和处理流程说明本系统的基本设计概念和处理流程,尽量使用图表的形式。营业部系统一共有四个对象, 即客户、 员工、 市场和银行, 市场的概念是交易所的细化,比如证券交易所的股和股就是两个市场, 有了市场的概念我们就可以把交易所这个概念细化,并使同一个市场的共性更突出。 银行则通过银证转账业务介入, 并成为营业部系统不可或缺的组成部分。上述四个对象通过一些业务流程进行相互操作从而形成整个交易活动。 因此

8、整个系统模S. . . . .型可以表述为图 2-1设计时需要将营业部系统所使用的各种信息分为描述四个对象的信息和描述业务流程的信息。由于四个对象相对而言是一种稳定型信息, 而业务流程则较易变化, 且营业部之间差异很大,因此应将四个对象尽量定型, 而将各种业务流程尽可能做成组件, 以便营业部可根据实际需求组装成适合自己的系统。根据以上思想,在设计对象模型时应充分考虑到可扩展性,尽量做到抽象化、参数化,从而使对象需求变化时不致影响系统结构。S. . . . .图 2.12.42.4 结构结构用一览表及框图的形式说明本系统的系统元素 (各层模块、子程序、公用程序等) 的划分, 扼要说明每个系统元素

9、的标识符和功能, 分层次地给出各元素之间的控制与被控制关系。本系统采用 c/s 模式的 3 层结构按照不同会话来划分的话可以分为3 大系统模块S. . . . .委托服务系统监控接口处理子系统系统维护子系统数据转换数据库日终管理银证转账局域网系统管理资金管理柜台管理报表管理查询管理图 2-2 交易系统体系结构客户端登陆模块:S. . . . .最关键的交易系统模块结构图如下:S. . . . .buyStocksellStockquoteStockTcp/ipCanselDelegatecheckUserMoneyCount(stockData)Or checkUserStockCount要通

10、过数据访问层来访问用户表在撮合队列中处理并且返回处理结果tradeInQueue(stockDatanewstockData)SuccessunSuccessupDateUserInfo(stockData)通过调用ADO层工厂来访问不同的数据库(更新用户表)upDateDelegateInfo(stockData)同左更新的是委托临时表adoFactory通过该模块可动态建立不同数据库的连接Orical、sqlserver,accessRules/Model规范买卖指令传输的数据结构必须是stockData形式Check数据访问层accessaccess.postDate(stockData

11、)将数据更新到数据库数据访问层sqlserverSqlserver。postDate(stockData)S. . . . .股票信息发布经过修改我认为每次由客户端每 5 秒去查询一次服务器更新信息不可取,因为这会加重服务端和客户端的负担,特别是服务器端的运算。修改后实现变更为: 用户一开始登陆后获得一次服务器的全部股票当前信息。 而服务器端每次发生交易后, 给每一个在线用户发送当前交易需要更新的股票信息, 这样就减轻了客户机和服务端的信息客户端第一次登陆发送请求获得所有股票信息,并画分时线图Stock idStock priceTCP/IP服务器每次交易返回最新信息S. . . . .2.5

12、2.5 功能需求与程序的关系功能需求与程序的关系(该关系由需求分析报告编写者根据结构图说明)本条用一如下的矩阵图说明各项功能需求的实现同各块程序的分配关系:用户登陆查看用户持仓实时指数交易委托取消交易获取并发送用户请求绘制分时图MD5 加密解密发送用户交易请求接受并识别用户请求调用数据层查询撮合交易服务器返回客户端信息2.62.6 人工处理过程人工处理过程说明在本软件系统的工作过程中不得不包含的人工处理过程(如果有的话) 。没有完成股票管理的模块设计,所以股票必须从数据库后台添加如果有新股发行,还必须添加有关股票的交易队列2.72.7 尚未解决的问题尚未解决的问题说明在概要设计过程未解决而设计

13、者认为在系统完成之前必须解决的各个问题。S. . . . .3 3 接口设计接口设计3.13.1 用户接口用户接口说明将向用户提供的命令和它们的语法结构,以及软件的回答信息。向用户提供简单易用的 UI,以及帮助文档。客户端将提供以下功能首先弹出用户登陆框,供用户输入用户名和密码菜单项提供个股查询和分时图按钮菜单栏下是选项卡,提供股票实时信息和个股分时图栏提供用户交易界面和交易按钮以及查看用户盈亏按键3.23.2 外部接口外部接口说明本系统同外界的所有接口的安排包括软件与硬件之间的接口、 本系统与各支持软件之间的接口关系。采用基于正确公开标准的部件和技术以确保最大限度的协作能力以及与第三方系统与

14、部件集成的简便性。这类标准包括但不限于以下几种:网络协议与标准 (TCP/IP, HTTP, SSL, etc)语言(SQL, C#.net, etc.)数据库连接性(ADO。net)S. . . . .3.33.3 部接口部接口说明本系统之的各个系统元素之间的接口的安排。逻辑层和数据访问层通过以经的 stockDataModel 接口,来限定访问 stockData 类型的数据客户端通过调用 buyStock(stockData)和 sellStock(stockData)来访问逻辑层,在这个函数中包含了访问逻辑层的接口dealTransaction(stockData)通过 AdoFact

15、ory 访问不同的数据库客户端登陆协议D(二字节)+(客户名字长度)(4 字节)+(客户名字)+(客户密码长度)(4 字节)+(客户密码);客户买卖协议B(二字节)+(股票 ID)(4 字节)+(股票数量)(4 字节)S(二字节)+(股票 ID)(4 字节)+(股票数量)(4 字节)查询交易信息并返回给客户端C(二字节)具体有拆包解包的类using System;using System.Collections.Generic;using System.Text;namespace ProjectCenterTradingSyspublic class Protocalprivate byte

16、 messagebuffer;private byte messagelength;public byte messagebag;S. . . . ./该函数是将字符串转换为字节数组public byte StringtoByte(string stringInfo)messagebuffer = System.Text.ASCIIEncoding.ASCII.GetBytes(stringInfo);return messagebuffer;/该函数将整型转换为个字节public byte InttoByte(int number)messagelength=BitConverter.Get

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

18、 = 0; index messle.Length; index+)messagebagindex = messagelengthindex;for (int index1 = 0; index1 newlist.price,利用插入排序将newlist插入到买队列 BuyQueue 中,转 1;3.)if SellQueue0.countnewlist.count,newlist 完全撮合,SellQueue0.countSellQueue0.countnewlist.count, 转2;4.)if SellQueue0.count=newlist.count,SellQueue0撮合,并

19、将SellQueue0 从SellQueue队 列 中 删 除 ,newlist.count=newlist.count-SellQueue0.count,转 2;5.)取买单队列头BuyQueue0,ifBuyQueue0.pricenewlist.count,newlist 完全撮合,BuyQueue0.countBuyQueue0.countnewlist.count,转 1;7.)if BuyQueue0.count=newlist.count,BuyQueue0撮合,并将 BuyQueue0从 BuyQueue 队列中删除, newlist.count=newlist.count-B

20、uyQueue0.count,转 5;如下面流程图 5.2.2 所示:S. . . . .BuyQueue newlistSellQ ueue 判断BuyQueue 是否为空为空不为空卖单判断其为买单还是卖单买单判断SellQ ueue 是否为空不为空为空判断差价无法交易,newlist 进大于0newlist.price-BuyQueue0.price入 SellQ ueue 排序小于等于0通过2 分插入排序找到其在 SellQ ueue 中的位置可交易,判断差量newlist.count-BuyQueue0.count大于等于0BuyQueue0被完全磨合小于0判断差价小于0无法交易,ne

21、wlist 进newlist.price-SellQ ueue0.price入 BuyQueue 排序大于等于0可交易,判断差量newlist.count-SellQ ueue0.count小于0大于等于0SellQ ueue0被完全磨合通过2 分插入排序找到其在 BuyQueue 中的位置newlist 完全被磨合BuyQueue内全部非空成员向前进一位返回成交信息SellQ ueue内全部非空成员向前进一位图 3.2.2S. . . . .5.2.2 集合竞价集合竞价是指对所有有效委托进行集中处理,深、沪两市的集合竞价时间为交易日上午 9:15 至 9:25。集合竞价原则:集合竞价分四步完

22、成:第一步:确定有效委托在有涨跌幅限制的情况下,有效委托是这样确定的:根据该只证券上一交易日收盘价以及确定的涨跌幅度来计算当日的最高限价、 最低限价。有效价格围就是该只证券最高限价、最低限价之间的所有价位。限价超出此围的委托为无效委托,系统作自动撤单处理。第二步: 系统根据竞价规则自动确定集合竞价的成交价,这个价格就是当日的开盘价, 所有高于开盘价的买盘和所有低开开盘价的卖盘均以此价格成交,集合竞价的成交价确定原则是:以此价格成交,能够得到最大成交量。第三步: 集中撮合处理所有的买委托按照委托限价由高到低的顺序排列,限价相同者按照进入系统的时间先后排列; 所有卖委托按委托限价由低到高的顺序排列

23、 , 限价相同者按照进入系统的时间先后排列。依序逐笔将排在前面的买委托与卖委托配对成交,即按照价格优先,同等价格下时间优先的成交顺序依次成交,直至成交条件不满足为止,即不存在限价高于等于成交价的叫买委托、或S. . . .凡是高于开盘价的买单一定成交;凡是低于开盘价的卖单一定成交;凡是高于开盘价的卖单一定不成交;凡是低于开盘价的买单一定不成交;. .不存在限价低于等于成交价的叫卖委托。所有成交都以同一成交价成交。 这同一成交价成交的买卖单一般量都是很大的,如图 3.2.3 所示卖队列开盘撮合买队列图 3.2.3 所示第四步:行情揭示:1.)如该只证券的成交量为零,则将成交价位揭示为开盘价、最近

24、成交价、最高价、最低价,并揭示出成交量、成交金额。2.)剩余有效委托中,实际的最高叫买价揭示为叫买揭示价,若最高叫买价不存在,则叫买揭示价揭示为空;实际的最低叫卖价揭示为叫卖揭示价,若最低叫卖价不存在,则叫卖揭示价揭示为空。S. . . . .集合竞价中未能成交的委托,自动进入连续竞价。按照这样的原则和要求,我们设计了如下的集合竞价撮合算法。如图 3.2.4所示。S. . . . .BuyQueue 判断两队列是否都不为空是否小于 0开盘价为昨日收盘价,成交量为0SellQueue 判断差价BuyQueue0.price-SellQueue0.price大于等于 0i=j=0, M 、N分别为

25、 BuyQueue 与SellQueue 非空元素的数目 ; BOOL k; Buy=BuyQueue0; Sell=SellQueue0判断差价BuyQueuei.price-SellQueuej.price大于等于 0判断差量 Buy.count-Sell.count小于等于 0i+; k=false; Buy1.count=Buy.count;Buy.count=Buy.count+BuyQueuei.count;是判断是否 iM否判断 Buy.count-Sell.count小于 0开盘价为 SellQueuej.price;总成交量为 Buy.count等于 0大于 0小于 0j+;

26、 k=true; Sell1.count=Sell.count;Sell.count=Sell.count+SellQueueiSellQueue.count;判断是否 jN否开盘价为 BuyQueuei.price;总成交量为 Sell.count是开盘价为 (SellQueuej.price+BuyQueuei-1.price)/2;总成交量为 sell.count判断 k值判断Buy1.count-Sell1.count等于 0开盘价为 (SellQueuej-1.price+BuyQueuei-1.price)/2;总成交量为 Sell1.count大于 0true开盘价为 BuyQu

27、euei.price;总成交量为 Sell1.countfalse判断Buy1.count-Sell.count等于 0开盘价为 (SellQueuej.price+BuyQueuei-1.price)/2;总成交量为 Buy1.count小于 0开盘价为 SellQueuej.price;总成交量为 Buy1.count图 3.2.4S. . . . .集合竞价算法描述:和连续竞价一样,首先设定 QueueStruct结构为元素的买卖两个队列 BuyQueue和 SellQueue 。为了尽可能的提高效率,减少资源占用,我们用静态数组构建这两个队列。其中 BuyQueue是时间优先、买价降序

28、排序,而 SellQueue是时间优先、卖价升序排序。在开市到开盘这段时间,买卖单已经分别进入了买卖队列排好了序。一旦宣布开盘,则触发集合撮合,如下:判断两队列是否都不为空,如是,转 2;如否,转21;判断 BuyQueue0.prince与 SellQueue0.prince之差,如大于等于 0,转 3:如小于 0,转 21;定义 int i=j=0 ;M、N 分别为买卖两队列非空元素的个数;BOOL k ;QueueStruct Buy=BuyQueue0;Sell=SellQueue0;Buy1 ;Sell1 ;转 4;判断 BuyQueuei.prince与 SellQueuej.pr

29、ince之差,如大于等于 0,转 5:如小于 0,转 14;判断 Buy.count与 Sell.count之差,如大于 0,转 6;如小于等于 0,转 9;j+;k=true;Sell1.count=Sell.count;Sell.count=Sell.count+SellQueueiSellQueue.counS. . . . .t;转 7;判断 j 是否小于 N,如是,转 4;如不是,转 8;开 盘 价 为BuyQueuei.price; 总 成 交 量 为Sell.count;统计成交数据及回报,并返回;i+;k=false;Buy1.count=Buy.count;S.Buy.cou

30、nt=Buy.count+BuyQueuei.count;转 10;判断 i 是否小于 M,如是,转 4;如不是,转 11;判断 Buy.count与 Sell.count之差, 如小于 0, 转 12;如等于 0,转 13;开 盘 价 为SellQueuej.price; 总 成 交 量 为Buy.count ;统计成交数据及回报,并返回;开盘价为(SellQueuej.price+BuyQueuei-1.price)/2; 总 成交量为 sell.count;统计成交数据及回报,并返回;判断 k 值,如为 true ,转 15;如为 false ,转 18;判断 Buy1.count与 S

31、ell1.count之差,如大于 0,转16;如小于 0,转 17;开 盘 价 为BuyQueuei.price; 总 成 交 量 为Sell1.count;统计成交数据及回报,并返回;开盘价为(SellQueuej-1.price+BuyQueuei-1.price)/2;总成交量为 Sell1.count;统计成交数据及回报,并返回;. . . . .判断 Buy1.count与 Sell.count之差,如小于 0,转19;如等于 0,转 20;开 盘 价 为SellQueuej.price; 总 成 交 量 为Buy1.count;统计成交数据及回报,并返回;开盘价为S.; 总 成量为

32、 Buy1.count;统 计成交数据及回报,并 返回;盘价为昨日收盘价,成交量为 0;保留所有数据至盘进入连续竞价撮合;. . . .(SellQueuej.price+BuyQueuei-1.price)/2交开开. .5.2.3 买卖队列排序上面我们介绍了撮合算法的核心部分,但 实际上在撮合前后都要对两个买卖队列进行一定的插入和排列处理, 这在整个算法中也是很重要的部分。下面我们就来具体介绍一下。对所有的排列和插入我们考虑了效率问题之后,最 后统一使用了二分插入排序法。在 单 子 进 入 队 列 时 , 我 们 首 先 统 计 出 当 前 队 列 中 的 非 空 数 据个数,然后再通过新

33、单子与当前队列中间值的价格比较,确定新单子在队列的前半部分还是后半部分,然后再取该区域中间值与之比较,直到确定新单子应在的位置。如下列代码所示:int low=0; int high=N-1;/N 为队列中非空元素的个数while(low=high+1; -i)int m=(low+high)/2;if(newlist-priceSellQueuem.price)high=m-1;elselow=m+1;S. . . . .SellQueuei+1=SellQueuei;这是卖队列的排序,对于买队列的排序与之相似,只是价格排列是由高到底。在这里不再赘述。这种插入排序方法完全符合了撮合算法中价格

34、优先、时 间优先 的要求,而且效率也是比较高的。在集合竞价前和连续竞价后进行的插入排序都是这样进行的,而在集合竞价撮合之后, 对两队列的重新排列, 我们首先使用了 memset函数将前面已全部成交的 t 个元素清空, 然后将 t 到 N(原总非空元素个数)前移 t 位。如下列代码所示:for (int p=0; *t *N; p+,*t+)QueueStruct temp;temp=Queue*t;Queue*t=Queuep;Queuep=temp;SellQueuehigh+1=*newlist;S. . . . .5.2.4 撮合算法的运行机制在交易所正常运行时,一天分为开市、开盘、休市

35、、复开、收市等 5 个步骤。开市:每天上午 9:15 开市。这时候,股民可以通过券商向交易所递单。同一只股票的买卖单开始分别进入这只股票的买卖队列中,但并不进行撮合。该过程一直持续到 9:25。开盘:每天上午 9:30 正式开盘。9:25-9:30 为盘前处理,这段时间也就是集合竞价撮合算法运行的时间。9:25,买卖两队列开市不再接收新的单子。新的单子这时都放在缓冲区中, 直到两队列运行完整个集合竞价算法后开市重新进单时, 再依序将单子从缓存区取出读入买卖队列进行连续竞价的撮合。买卖队列于9:25 开始集合竞价,运算完毕,得出开盘价等所有统计数据并发布行情以及发送完所有回报之后,重新接收单子进

36、入该日正常交易中,使用连续竞价算法进行撮合。休市:每天上午11:00 休市。此时,所有的券商不再接受买卖单子,也不再给交易所递单。 交易所将此前已经收到的所有单子撮合之后处于休息阶段。并进行各种当日前市盘点。复开:每天下午 13:30 复开。此时,券商开市接收用户的递单,并将其送交交易所。交易所重新开市进入连续竞价撮合收市:每天下午 15:00 收市。此时交易所不再接受任何单子,准时进行最后一笔单子的撮合之后, 关闭撮合线程。 将最后得到的收盘价等数据统计发送完之后,当天的所有工作全部结束。如图 3.2.5 所示。S. . . . .9:25开市9:30开盘11:00休市13:30复开15:0

37、0收市开市开盘休市复开收市图 3.2.5S. . . . .5.35.3 数据库设计数据库设计数据库服务器为 SQL SERVER 2005 EXPRESS股票信息表记录了股票的当前信息用户信息表S. . . . .交易订单表其中 userid 和 stockid 是外键关系图如下S. . . . .S. . . . .5.45.4 物理结构设计要点物理结构设计要点给出本系统所使用的每个数据结构中的每个数据项的存储要求,访问方法、存取单位、存取的物理关系(索引、设备、存储区域) 、设计考虑和条件。5.55.5 数据结构与程序的关系数据结构与程序的关系说明各个数据结构与访问这些数据结构的各个程序

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

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

当前位置:首页 > 教育专区 > 高考资料

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁