軟件詳細設(shè)計說明書(例)_第1頁
軟件詳細設(shè)計說明書(例)_第2頁
軟件詳細設(shè)計說明書(例)_第3頁
軟件詳細設(shè)計說明書(例)_第4頁
軟件詳細設(shè)計說明書(例)_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

.2.3基本設(shè)計概念和處理流程62.5功能需求與程序的關(guān)系錯誤!未定義書簽。2.6人工處理過程8.5.2物理結(jié)構(gòu)設(shè)計要點15.3數(shù)據(jù)結(jié)構(gòu)與程序的關(guān)系16.3系統(tǒng)維護設(shè)計2.隨著證券交易電子化程度的不斷提高,券商對于各種業(yè)務(wù)提出了新的要求,為了滿足券商的發(fā)展需求,更好的為客戶提供服務(wù),現(xiàn)結(jié)合原有各版本的證券交易軟件的優(yōu)點和特點,開發(fā)一套采用Client/Server結(jié)構(gòu)的證券交易軟件管理系統(tǒng)〔SQL版〕.本系統(tǒng)從底層予以整個系統(tǒng)的運行速度得到較大提高,通過重新優(yōu)化數(shù)據(jù)庫內(nèi)部結(jié)構(gòu),使系統(tǒng)的可擴充性得到極大提高.本說明書給出SQL版證券交易系統(tǒng)的設(shè)計說明,包括最終實現(xiàn)的軟件必須滿足的功能、性能、接口和用戶界面、附屬工具程序的功能以與設(shè)計約束等.n項目質(zhì)量保證組將按此計劃書做階段性和總結(jié)性的質(zhì)量驗證和確認.n參與本項目開發(fā)進程各階段驗證、確認以與負責為最后項目驗收、鑒定提供相應(yīng)報告的有關(guān)人員.n合作各方有關(guān)部門的復(fù)雜人;項目負責人和全體參加人員..b.列出本項目的任務(wù)提出者、開發(fā)者、用戶以與將運行該項軟件的單位.列出本文件中用到的專門術(shù)語的定義和縮寫詞的原詞組.a.本項目的經(jīng)核準的計劃任務(wù)書或合同、上級機c.本文件中各處引用的文件、資料,包括所要用到的軟件開發(fā)標準.列出這些文件的標題、文件編號、發(fā)表日期和出版單位,說明能夠得到這些文件資料的來源.2總體設(shè)計說明對本系統(tǒng)的主要的輸入輸出項目、處理的功能性能要求,詳細的說明可參見《需求分析說明書》.求分析說明書》..奔騰Pro奔騰Pro硬盤4GBWindowsNT4.0以上SQLServer2005WindowsNTWorkstation/WindowsNTserverWindows2000Professional/Server開發(fā)工具n平臺:Windows95/98、WindowsNT、Windows2000測試環(huán)境.說明本系統(tǒng)的基本設(shè)計概念和處理流程,盡量使用圖表的形式.營業(yè)部系統(tǒng)一共有四個對象,即客戶、員工、市場和銀行,市場的概念是交易所的細化,比如##證券交易所的A股和B股就是兩個市場,有了市場的概念我們就可以把交易所這個概念細化,并使同一個市場的共性更突出.銀行則通過銀證轉(zhuǎn)賬業(yè)務(wù)介入,并成為營業(yè)部系統(tǒng)不可或缺的組成部分.上述四個對象通過一些業(yè)務(wù)流程進行相互操作從而形成整個交易活動.因此整個系統(tǒng)模型可以表述為圖2-1設(shè)計時需要將營業(yè)部系統(tǒng)所使用的各種信息分為描述四個對象的信息和描述業(yè)務(wù)流程的信息.由于四個對象相對而言是一種穩(wěn)定型信息,而業(yè)務(wù)流程則較易變化,且營業(yè)部之間差異很大,因此應(yīng)將四個對象盡量定型,而將各種業(yè)務(wù)流程盡可能做成組件,以便營業(yè)部可根據(jù)實際需求組裝成適合自己的系統(tǒng).根據(jù)以上思想,在設(shè)計對象模型時應(yīng)充分考慮到可擴展性,盡量做到抽象化、參數(shù)化,從而使對象需求變化時不致影響系統(tǒng)結(jié)構(gòu).用一覽表與框圖的形式說明本系統(tǒng)的系統(tǒng)元素〔各層模塊、子程序、公用程序等〕的劃分,扼要說明每個系統(tǒng)元素的標識符和功能,分層次地給出各元素之間的控制與被控制關(guān)系.按照不同會話來劃分的話可以分為3大系統(tǒng)模塊.系統(tǒng)監(jiān)控系統(tǒng)管理系統(tǒng)監(jiān)控系統(tǒng)管理系統(tǒng)維護子系統(tǒng)接口處理子系統(tǒng)系統(tǒng)維護子系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)庫局域網(wǎng)銀證轉(zhuǎn)賬局域網(wǎng)柜臺管理查詢管理柜臺管理查詢管理報表管理最關(guān)鍵的交易系統(tǒng)模塊結(jié)構(gòu)圖如下:股票信息發(fā)布經(jīng)過修改我認為每次由客戶端每5秒去查詢一次服務(wù)器更新信息不可取,因為這會加重服務(wù)端和客戶端的負擔,特別是服務(wù)器端的運算.修改后實現(xiàn)變更為:用戶一開始登陸后獲得一次服務(wù)器的全部股票當前信息.而服務(wù)器端每次發(fā)生交易后,給每一個在線用戶發(fā)送當前交易需要更新的股票信息,這樣就減輕了客戶機和服務(wù)端的信息〔該關(guān)系由需求分析報告編寫者根據(jù)結(jié)構(gòu)圖說明〕本條用一X如下的矩陣圖說明各項功能需求的實現(xiàn)同各塊程序的分配關(guān)系:用戶登陸查看用戶實時指數(shù)交易委托取消交易獲取并發(fā)送用戶請求√√√√√MD5加密解密√√√發(fā)送用戶交易請求√√接受并識別用戶請求√√√√調(diào)用數(shù)據(jù)層√√√√撮合交易√服務(wù)器返回客戶端信息√√√.說明在本軟件系統(tǒng)的工作過程中不得不包含的人工處理過程〔如果有的話〕.沒有完成股票管理的模塊設(shè)計,所以股票必須從數(shù)據(jù)庫后臺添加如果有新股發(fā)行,還必須添加有關(guān)股票的交易隊列說明在概要設(shè)計過程##未解決而設(shè)計者認為在系統(tǒng)完成之前必須解決的各個問題.3接□設(shè)計說明將向用戶提供的命令和它們的語法結(jié)構(gòu),以與軟件的回答信息.向用戶提供簡單易用的UI,以與幫助文檔.客戶端將提供以下功能首先彈出用戶登陸框,供用戶輸入用戶名和密碼菜單項提供個股查詢和分時圖按鈕菜單欄下是選項卡,提供股票實時信息和個股分時圖欄提供用戶交易界面和交易按鈕以與查看用戶盈虧按鍵說明本系統(tǒng)同外界的所有接口的安排包括軟件與硬件之間的接口、本系統(tǒng)與各支持軟件之間的接口關(guān)系.采用基于正確公開標準的部件和技術(shù)以確保最大限度的協(xié)作能力以與與第三方系統(tǒng)與部件集成的簡便性.這類標準包括但不限于以下幾種:.說明本系統(tǒng)之內(nèi)的各個系統(tǒng)元素之間的接口的安排.客戶端登陸協(xié)議D<二字節(jié)>+<客戶名字長度><4字節(jié)>+<客戶名字>+<客戶密碼長度><4字節(jié)>+<客戶客戶買賣協(xié)議B<二字節(jié)>+<股票ID><4字節(jié)>+<股票數(shù)量><4字節(jié)>查詢交易信息并返回給客戶端具體有拆包解包的類usingSystem.Collections.GenamespaceProjectCenterTr{{privatebyte[]messageprivatebyte[]messagepublicbyte[]messagpublicbyte[]StringtoByte<stringstringI{messagebuffer=System.Text.ASCIIEncoding.ASCII.GetBytes<stringInfo>;.}publicbyte[]InttoByte<intnumb{messagelength=BitConverter.GetBytes<number>;}publicbyte[]DoubletoByte<doublepri{byte[]pricebyte=BitConverter.GetBytes<price}publicbyte[]Combinarray<byte[]messle,byte[]messi{messagebag=newbyte[messle.Length+messinfo.Length];messagebag[index]=messagelength[inmessagebag[index+index1]=messagebuffer[ind}publicbyte[]BagHead<char{byte[]headbyte=BitConverter.GetBytes<hea}publiccharDeBagHead<byte[]b{charheadinfo=BitConverter.ToChar<bu}publicstringdeMessgeBag<byte[]Messagebag,intstart,outintnext>{next=BitConverter.ToInt32<Messagebag,start>;stringmessage=System.Text.ASCIIEncoding.ASCII.GetString<Messagebag}.說明對系統(tǒng)施加不同的外界運行控制時所引起的各種不同的運行模塊組合,說明每種運行所歷經(jīng)的內(nèi)部模塊和支持軟件.說明每一種外界的運行控制的方式方法和操作步驟.說明每種運行模塊組合將占用各種資源的時間.5系統(tǒng)數(shù)據(jù)結(jié)構(gòu)設(shè)計給出本系統(tǒng)內(nèi)所使用的每個數(shù)據(jù)結(jié)構(gòu)的名稱、標識符以與它們之中每個數(shù)據(jù)項、記錄、文卷和系的標識、定義、長度與它們之間的層次的或表格的相互關(guān)系.EQ\*jc3\*hps31\o\al(\s\up7(w),M)EQ\*jc3\*hps31\o\al(\s\up6(l),S)EQ\*jc3\*hps31\o\al(\s\up2147483647(Pogri),toc)EQ\*jc3\*hps31\o\al(\s\up10(re數(shù)s),Auerr)EQ\*jc3\*hps31\o\al(\s\up8(儲nt),t)EQ\*jc3\*hps31\o\al(\s\up8(票nd價le),tock)EQ\*jc3\*hps31\o\al(\s\up2(ss),ex)EQ\*jc3\*hps31\o\al(\s\up2(h>),ox)EQ\*jc3\*hps31\o\al(\s\up12(t),h)EQ\*jc3\*hps31\o\al(\s\up6(加),1)EQ\*jc3\*hps31\o\al(\s\up5(類),bu)EQ\*jc3\*hps31\o\al(\s\up12(t),h)EQ\*jc3\*hps31\o\al(\s\up6(加),1)EQ\*jc3\*hps31\o\al(\s\up3(a),o)EQ\*jc3\*hps31\o\al(\s\up9(B),n)EQ\*jc3\*hps31\o\al(\s\up3(r),r)EQ\*jc3\*hps31\o\al(\s\up3(ce),ss)EQ\*jc3\*hps31\o\al(\s\up3(o),e).{{{}{}}}則繼續(xù)監(jiān)聽新的套接字.//這個類記錄了客戶端的socket數(shù)據(jù)訪問層類圖低.低.////驗證用戶信息.按照真實的交易原則,撮合算法分為連續(xù)競價和集中競價兩種方式.下面我們將分別對這兩種方式進行實現(xiàn).連續(xù)競價是在絕大部分交易時間使用的撮合算法.1.>價格優(yōu)先原則:價格較高的買入申報優(yōu)先于價格較低的買入申報,價格較低的賣出申報優(yōu)先于價格較高的賣出申報.價格相同的,先申報者先于后申報者.先后順序按證券交易所主機接受申報的時間確定.在正常情況下,買隊列的第一筆〔報價最高〕的報價一定小于筆〔最低報價〕的報價.此時不發(fā)生撮合.一旦買賣隊列的價格發(fā)生了交叉,如圖所示,發(fā)生交叉的那部分就會進行撮合.而事實上,由于每一筆新來的單子進入數(shù)列后都會觸發(fā)一次比較,所以每次觸發(fā)撮合都是由新單子促成的.稱為"來一筆撮合一次〞,也就是連續(xù)競價.bb.圖首先設(shè)定QueueStruct結(jié)構(gòu)為元素的買賣兩個隊列BuyQueue和SellQueue.為了盡可能的提高效率,減少資源占用,我們用靜態(tài)數(shù)組構(gòu)建這兩個隊列.升序排序,在連續(xù)競價條件下,可以保證BuyQueue[0]的price小于SellQueue[0]合,SellQueue[0].count=SellQueue除,newlist.count=newlist.count-SellQueue[0].count,轉(zhuǎn)合,BuyQueue[0].count=BuyQueue[0].count-7.)ifBuyQueue[0].count<=newlist.count,BuyQueue[0]撮合,.圖集合競價是指對所有有效委托進行集中處理,深、滬兩市的集合競價時間為nnnn第二步:系統(tǒng)根據(jù)競價規(guī)則自動確定集合競價的成交價,這個價格就是當日的開盤價,所有高于開盤價的買盤和所有低開開盤價的賣盤均以此價格成交,集合競價的成交價確定原則是:以此價格成交,能夠得到最大成交量.托與賣委托配對成交,即按照"價格優(yōu)先,同等價格下時間優(yōu)先"的成交順序依次存在限價低于等于成交價的叫賣委托..成交價、最高價、最低價,并揭示出成交量、成交金額.2.)剩余有效委托中,實際的最高叫買價揭示為叫買揭示價,若最揭示為叫賣揭示價,若最低叫賣價不存在,則叫賣揭示價揭示為空.圖集合競價算法描述:的個數(shù);BOOLk;QueueStructBuy=BuyQueue[0];.Sell.count=Sell.count+SellQnnnnnnn回;nnnn<SellQueue[j-1].pric并返回;nn.<SellQueue[j].price+BuyQueue[i-1].price>/2;回;開盤進入連續(xù)競價撮合;.重要的部分.下面我們就來具體介紹一下.二分插入排序法.定新單子應(yīng)在的位置.如下列代碼所示:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論