本科畢業(yè)設(shè)計(jì)-基于某大型實(shí)時(shí)交易系統(tǒng)的開(kāi)發(fā)過(guò)程.doc
《本科畢業(yè)設(shè)計(jì)-基于某大型實(shí)時(shí)交易系統(tǒng)的開(kāi)發(fā)過(guò)程.doc》由會(huì)員分享,可在線閱讀,更多相關(guān)《本科畢業(yè)設(shè)計(jì)-基于某大型實(shí)時(shí)交易系統(tǒng)的開(kāi)發(fā)過(guò)程.doc(23頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
學(xué)士學(xué)位論文 基于某大型實(shí)時(shí)交易系統(tǒng)的開(kāi)發(fā)過(guò)程 作者:吳晶 學(xué)號(hào):005598 指導(dǎo)教師:杜慶峰 同濟(jì)大學(xué)軟件學(xué)院軟件工程專業(yè) 二零零四年六月 摘要 當(dāng)前,計(jì)算機(jī)軟件的趨勢(shì)正朝著龐大且復(fù)雜的方向發(fā)展。這是因?yàn)橛?jì)算機(jī)處理能力的增大,導(dǎo)致用戶對(duì)它的期望更多。我們滿足客戶需求的同時(shí),需求本身也變得越來(lái)越復(fù)雜,從而,開(kāi)發(fā)出來(lái)的軟件也??傊覀兿M浖\(yùn)行的越來(lái)越快捷。 大型軟件的開(kāi)發(fā)需要一種受控的工作方式,它需要一個(gè)過(guò)程來(lái)集成軟件開(kāi)發(fā)的許多方面。本文以一個(gè)大型實(shí)時(shí)交易系統(tǒng)軟件為例子,闡述大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程,以及在過(guò)程的每個(gè)階段都應(yīng)注意的問(wèn)題,并簡(jiǎn)要評(píng)述了特定的過(guò)程在軟件項(xiàng)目開(kāi)發(fā)中的優(yōu)勢(shì)及不足之處。 【關(guān)鍵詞】實(shí)時(shí)系統(tǒng), 開(kāi)發(fā)過(guò)程, 分析,設(shè)計(jì) Abstract Now, software is becoming more and more complicated and large, it is partly because the ability of the computer process becoming large and it cause the customer have more demand on it.The time when we need the software which meets our requirements better,we also make the software become complicated. All in all,we hope the software become fast and fast. Large software development needs a way under control,it also needs a process to integrate several aspects of .This paper gives an example of a lager software development to show the development process of the large real time software and the attention should be paid in every step.The paper will also point out the good and the bad aspects of the process. 【Keywords】Iteration, software engineering, software requirement ,development processes, Core Workflows 一、 引言 當(dāng)前,軟件的趨勢(shì)是朝著更大更復(fù)雜的系統(tǒng)發(fā)展。這部分地是因?yàn)橛?jì)算機(jī)的處理能力每年都在增大,導(dǎo)致用戶對(duì)它的期望更多。同時(shí),這種趨勢(shì)也受到為交流各種信息(從純文本到格式化文本到圖像到圖表再到多媒體)而不斷擴(kuò)大互聯(lián)網(wǎng)的使用的影響。在產(chǎn)品版本的不斷升級(jí)過(guò)程中,我們了解到產(chǎn)品是如何被改進(jìn)的,因此我們對(duì)越來(lái)越復(fù)雜的軟件的胃口也就越來(lái)越大。我們需要更符合我們的需要的軟件,但是,這種需要反過(guò)來(lái)又使得軟件越來(lái)越復(fù)雜??傊覀冃枰?。我們希望軟件運(yùn)行得越來(lái)越快捷。推向市場(chǎng)的時(shí)間是另一個(gè)重要的推動(dòng)因素 。然而,要達(dá)到這個(gè)目的是困難的。我們對(duì)強(qiáng)大、復(fù)雜軟件的需要與軟件開(kāi)發(fā)的當(dāng)前狀況并不一致。今天,大多數(shù)人還在使用25 年前使用的舊方法來(lái)開(kāi)發(fā)軟件。這就是癥結(jié)所在。除非我們革新我們的方法,否則,我們無(wú)法達(dá)到開(kāi)發(fā)當(dāng)前所需的復(fù)雜軟件的目標(biāo) 。我們可以把這個(gè)軟件問(wèn)題歸結(jié)為軟件開(kāi)發(fā)人員面臨的將一個(gè)大型軟件項(xiàng)目的眾多線索綜合在一起的困難。大型軟件的開(kāi)發(fā)需要一種受控的工作方式。它需要一個(gè)過(guò)程來(lái)集成軟件開(kāi)發(fā)的許多方面。它需要一種通用方法 ,該方法能: (1)提供應(yīng)如何對(duì)整個(gè)開(kāi)發(fā)團(tuán)隊(duì)的開(kāi)發(fā)活動(dòng)進(jìn)行組織的指導(dǎo)。 (2)綜合指導(dǎo)單個(gè)開(kāi)發(fā)人員和開(kāi)發(fā)團(tuán)隊(duì)。 (3)規(guī)定開(kāi)發(fā)成果是什么。 (4)提供監(jiān)控和衡量一個(gè)項(xiàng)目中的產(chǎn)品和活動(dòng)的標(biāo)準(zhǔn)。 本文主要以中國(guó)外匯交易中心本幣交易系統(tǒng)為例子來(lái)討論一種大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程。 一 項(xiàng)目及軟件開(kāi)發(fā)過(guò)程模型 1.1項(xiàng)目簡(jiǎn)介 中國(guó)外匯交易中心是全國(guó)銀行間外匯市場(chǎng)、人民幣同業(yè)拆借和債券交易市場(chǎng)的組織者,為包括國(guó)有獨(dú)資商業(yè)銀行、股份制商業(yè)銀行、外資銀行、保險(xiǎn)公司、證券公司、基金公司、財(cái)務(wù)公司等各類金融機(jī)構(gòu)提供交易、清算交割和信息等方面的服務(wù)。 在交易中心目前運(yùn)行的本幣交易系統(tǒng)采用了B/S結(jié)構(gòu),是一個(gè)建立在廣域網(wǎng)上、采用總中心-分中心-交易成員三層結(jié)構(gòu)的分布式應(yīng)用系統(tǒng)??傊行?、分中心主機(jī)均采用PC SERVER,總中心和分中心瑞安裝SCO UNIX操作系統(tǒng)、SYBASE數(shù)據(jù)庫(kù)管理系統(tǒng),分中心WEB服務(wù)器安裝了PowerDynamo2.0。使用JavaScript、ASP和Dynamo Script開(kāi)發(fā)交易系統(tǒng)的Web端應(yīng)用程序,用PowerBuilder開(kāi)發(fā)場(chǎng)務(wù)管理子系統(tǒng),使用C語(yǔ)言和SYBASE OPEN CLIENT開(kāi)發(fā)后臺(tái)進(jìn)程監(jiān)控系統(tǒng)等應(yīng)用程序。 目前運(yùn)行的系統(tǒng)涉及的業(yè)務(wù)主要包括金融機(jī)構(gòu)間的資金信用拆借、債券的二級(jí)市場(chǎng)交易與回購(gòu)業(yè)務(wù)、隔夜拆借交易系統(tǒng)、債券市場(chǎng)一級(jí)市場(chǎng)發(fā)行的分銷報(bào)價(jià)系統(tǒng)等。系統(tǒng)為參與本幣市場(chǎng)交易的用戶提供風(fēng)險(xiǎn)管理、行情信息等各種支持及清算、統(tǒng)計(jì)等輔助功能,以保證其日常交易的順利進(jìn)行。同時(shí),保證市場(chǎng)管理部門對(duì)市場(chǎng)交易的日常管理及實(shí)時(shí)監(jiān)控,保證中央銀行對(duì)本幣交易市場(chǎng)的交易狀況及交易成員交易行為的了解和監(jiān)督。 現(xiàn)行系統(tǒng)由于操作平臺(tái)相對(duì)落后及系統(tǒng)結(jié)構(gòu)方面的缺陷,存在不能滿足業(yè)務(wù)處理變化的要求、系統(tǒng)穩(wěn)定性不夠、交易便捷性不夠、系統(tǒng)響應(yīng)慢等問(wèn)題,目前已不適應(yīng)業(yè)務(wù)發(fā)展的需要。系統(tǒng)的另外一些不足,包括靈活性不夠、缺乏技術(shù)分析工具、與其他交易系統(tǒng)、信息系統(tǒng)整合不足等。為了滿足市場(chǎng)需要、提高系統(tǒng)性能、適應(yīng)整個(gè)交易中心信息化建設(shè)的需要,交易中心提出建設(shè)中國(guó)外匯交易中心新版本幣交易系統(tǒng)。 1.2 開(kāi)發(fā)過(guò)程模型介紹 1.3 SCM工具的選擇及在過(guò)程控制中的使用 3.6.1 配置管理工具的選擇 在大型交易軟件的開(kāi)發(fā)過(guò)程中,配置和變更管理也是非常重要的,因?yàn)榕渲煤妥兏芾硖峁┝藴?zhǔn)則來(lái)管理演化系統(tǒng)中的多個(gè)變體,跟蹤軟件創(chuàng)建過(guò)程中的版本。配置和變更管理描述了如何管理并行開(kāi)發(fā)、分布式開(kāi)發(fā)、如何自動(dòng)化創(chuàng)建工程。同時(shí)也闡述了對(duì)產(chǎn)品修改原因、時(shí)間、人員保持審計(jì)記錄。 在本幣交易系統(tǒng)的開(kāi)發(fā)過(guò)程中,根據(jù)項(xiàng)目的實(shí)際情況,項(xiàng)目組選擇了CVS作為版本控制軟件。項(xiàng)目組用一個(gè)文件服務(wù)器作為CVS的代碼倉(cāng)庫(kù),然后每個(gè)開(kāi)發(fā)機(jī)器上都安裝客戶端軟件,在開(kāi)發(fā)的時(shí)候從服務(wù)器下載源代碼或者提交完成的文件。項(xiàng)目組選擇CVS主要使基于以下幾點(diǎn)考慮的: (1) 免費(fèi) 作為開(kāi)放源代碼世界的杰作,CVS使免費(fèi)的。而且世界上有很多杰出的程序員都在維護(hù)這個(gè)軟件,從而使軟件更趨穩(wěn)定和強(qiáng)大。 (2) 出色的并行開(kāi)發(fā)支持 CVS能夠支持客戶進(jìn)行并行開(kāi)發(fā),它實(shí)現(xiàn)的版本分支功能能夠嘎實(shí)現(xiàn)軟件開(kāi)發(fā)者夢(mèng)寐以求的許多功能--多小組并行開(kāi)發(fā)不同的模塊而不相互干擾,隔離危險(xiǎn)或者冒險(xiǎn)代碼,在任意版本上打補(bǔ)丁,可靈活定制多種版本的演示模型等等。由于,本幣系統(tǒng)模塊較多,而且是多個(gè)項(xiàng)目小組并行開(kāi)發(fā),所以CVS的這些強(qiáng)大的功能能夠讓項(xiàng)目組開(kāi)發(fā)人員大大提高效率,因此它很適合作為本幣系統(tǒng)開(kāi)發(fā)的版本控制軟件。 當(dāng)然,在軟件開(kāi)發(fā)的時(shí)候,還有很多的版本控制軟件可以供開(kāi)發(fā)人員選擇,比如Rational ClearCase和 Microsoft Source safe等等。 (1) Rational Clearcase 和CVS相比較,Clearcase是一款真正的商業(yè)化軟件產(chǎn)品,功能更加強(qiáng)大、全面和完善。它適合管理大型、特大型的軟件項(xiàng)目開(kāi)發(fā)。但是它的缺點(diǎn)也很明顯,首先是價(jià)格昂貴,一般公司很難承受。其實(shí)它對(duì)服務(wù)器性能、網(wǎng)絡(luò)帶寬都有很高的要求,這意味著更高的投資。此外,由于clearcase功能比較復(fù)雜,因此,開(kāi)發(fā)人員將會(huì)耗費(fèi)很大的精力才能熟練的使用它的功能。 (2) Microsoft Source Safe 它是微軟公司為Visual Studio配套開(kāi)發(fā)的一個(gè)版本管理系統(tǒng),它自動(dòng)集成在Visual Stdio 中,具有圖形用戶界面,管理和使用都比較簡(jiǎn)單。但是Source Safe 不具備跨平臺(tái)的能力,不支持版本的分支和合并,不支持并行開(kāi)發(fā),在一個(gè)時(shí)間只能有一個(gè)人修改某個(gè)源文件。因此Source Safe 只適合于開(kāi)發(fā)團(tuán)隊(duì)在10個(gè)人以下的小項(xiàng)目開(kāi)發(fā)。 經(jīng)過(guò)上面的分析可以看出,用CVS作為大型實(shí)時(shí)交易軟件的版本控制軟件還是很合適的。它的功能完全符合項(xiàng)目需要,使用方便,而且是免費(fèi)的軟件。 3.6.2 配置管理計(jì)劃的制定 在選擇了一個(gè)適合項(xiàng)目開(kāi)發(fā)的配置管理工具以后,擬訂配置管理計(jì)劃也是非常重要的。筆者將以本幣交易系統(tǒng)為例子,說(shuō)明配置管理計(jì)劃的制定。 (1) 配置標(biāo)識(shí) 配置項(xiàng)標(biāo)識(shí)是配置管理的基礎(chǔ)性工作,是管理配置的前提。配置項(xiàng)命名是配置標(biāo)識(shí)的重要工作,所謂標(biāo)識(shí),其實(shí)質(zhì)就是區(qū)分,在眾多的配置項(xiàng)中合理、科學(xué)地命名是最為有效的區(qū)分方法。除為配置項(xiàng)命名外,必要時(shí)應(yīng)提供某些相關(guān)信息,比如:配置項(xiàng)組名及其存放位置,子目錄名等;版本信息;作者、修改者、審核者信息。常見(jiàn)的配置項(xiàng)是文檔,代碼。工具以及第三方的產(chǎn)品。本幣交易系統(tǒng)中的文檔主要有:需求分析說(shuō)明書(shū),詳細(xì)設(shè)計(jì)說(shuō)明書(shū),主機(jī)模塊設(shè)計(jì)說(shuō)明書(shū),界面設(shè)計(jì)說(shuō)明書(shū)等等。對(duì)于工具的配置項(xiàng),要標(biāo)識(shí)出中英文名稱,版本號(hào),提供商和序列號(hào)。 (2) 配置基線 基線是已經(jīng)通過(guò)正式復(fù)審核和批準(zhǔn)的某規(guī)約或產(chǎn)品,它因此可以作為進(jìn)一步開(kāi)發(fā)的基礎(chǔ),并且只能通過(guò)正式的變化控制過(guò)程的改變。在本幣交易系統(tǒng)的實(shí)施過(guò)程中將建立以下基線: 1. 需求規(guī)約 2. 概要設(shè)計(jì)規(guī)約 3. 詳細(xì)設(shè)計(jì)規(guī)約 4. 編碼實(shí)現(xiàn) 5. 測(cè)試 6. 用戶認(rèn)可測(cè)試 在軟件工程化生產(chǎn)的各個(gè)階段中,與本階段的階段產(chǎn)品有關(guān)的全部信息在軟件開(kāi)發(fā)庫(kù)存放,與前面各個(gè)階段的階段產(chǎn)品有關(guān)的信息則在軟件受控庫(kù)存放。在研制與開(kāi)發(fā)階段的階段產(chǎn)品的過(guò)程中,開(kāi)發(fā)者和開(kāi)發(fā)小組長(zhǎng)有權(quán)對(duì)本階段的階段產(chǎn)品作必要的修改;但是如果開(kāi)發(fā)者或開(kāi)發(fā)小組長(zhǎng)認(rèn)為有必要修改前面有關(guān)階段的階段產(chǎn)品時(shí),就必須通過(guò)項(xiàng)目的配置管理小組辦理正規(guī)的審批手續(xù)。因此,軟件開(kāi)發(fā)庫(kù)屬開(kāi)發(fā)這個(gè)階段產(chǎn)品的開(kāi)發(fā)者管理,而軟件受控庫(kù)由項(xiàng)目的配置管理小組管理。軟件經(jīng)過(guò)組裝與系統(tǒng)測(cè)試后,應(yīng)該送入軟件產(chǎn)品庫(kù),如欲對(duì)其修改,必須經(jīng)軟件配置管理小組研究同意,然后報(bào)配置管理委員會(huì)批準(zhǔn)。 (3) 版本控制 這里所說(shuō)的版本,不是指單個(gè)配置項(xiàng)的版本屬性,而是指配置項(xiàng)形成的集合,可以是某個(gè)模塊、子系統(tǒng)或整個(gè)軟件系統(tǒng)。版本控制要解決的第一個(gè)問(wèn)題便是版本標(biāo)識(shí),也就是為區(qū)分不同的版本,要給它們科學(xué)的命名。本項(xiàng)目以號(hào)碼版本標(biāo)識(shí)法為主,符號(hào)版本標(biāo)識(shí)法作為輔助手段,例如版本:V2.0.0(INTEGRATION_TEST)。版本號(hào)包括主版本號(hào)、副版本號(hào)、發(fā)布號(hào),格式。 (4) 發(fā)行管理 版本發(fā)行解決了如何把產(chǎn)品配置成可以使用的方法。由于本項(xiàng)目需要涉及總中心及各分中心的切換,以及需要與各家銀行聯(lián)網(wǎng)調(diào)試,因此,對(duì)于發(fā)行到外部使用的軟件要進(jìn)行控制,用SER流程進(jìn)行控制,keyword為SCM_DELIVERY,表單包含的主要信息如下:產(chǎn)品名稱、版本信息、交付使用者、使用場(chǎng)所、交付方式、交付內(nèi)容。 軟件配置計(jì)劃的制定有助于保證所交付的軟件能夠滿足項(xiàng)目委托書(shū)中規(guī)定的各種原則需求,能夠滿足本項(xiàng)目總體設(shè)計(jì)組制定的軟件系統(tǒng)需求規(guī)格說(shuō)明書(shū)中規(guī)定的各項(xiàng)具體需求。因此,在軟件開(kāi)發(fā)的過(guò)程中,應(yīng)該嚴(yán)格按照配置計(jì)劃制定的內(nèi)容去實(shí)施。 二 商業(yè)建模和需求分析 3.2.2系統(tǒng)特性需求 作為一個(gè)大型實(shí)時(shí)的交易系統(tǒng),客戶對(duì)系統(tǒng)提出了非常高的需求,經(jīng)過(guò)總結(jié)他們的需求主要集中在以下三點(diǎn): (1)實(shí)時(shí)性: 交易系統(tǒng)是業(yè)務(wù)處理十分頻繁、數(shù)據(jù)交換吞吐量很大的系統(tǒng),業(yè)務(wù)處理的速度直接關(guān)系到公司的經(jīng)濟(jì)效益和客戶對(duì)公司的評(píng)價(jià)。在客觀條件下,整個(gè)廣域網(wǎng)系統(tǒng)必須在大業(yè)務(wù)量的情況下同時(shí)保持快速的實(shí)時(shí)響應(yīng)能力,以保證整個(gè)業(yè)務(wù)系統(tǒng)的通暢運(yùn)行。 (2)安全性: 安全性問(wèn)題主要體現(xiàn)在交易成員資金和交易的安全性以及營(yíng)業(yè)部?jī)?nèi)部網(wǎng)絡(luò)的安全性,但隨著公司一級(jí)的廣域網(wǎng)系統(tǒng)的建立,特別是在本幣交易系統(tǒng)中,系統(tǒng)的安全就顯得更為重要,各個(gè)方面充分考慮整個(gè)系統(tǒng)的安全性。另外,對(duì)系統(tǒng)中所有的重要操作必須絕對(duì)留痕,以規(guī)范管理。 (3)可靠性和健壯性: 客戶要求在系統(tǒng)交易的過(guò)程中要連續(xù)無(wú)故障,因?yàn)橐坏┙灰字袛?,都?huì)給交易成員帶來(lái)?yè)p失。系統(tǒng)對(duì)用戶的操作順序、輸入的數(shù)據(jù)進(jìn)行正確性檢查,并以顯著方式提示錯(cuò)誤信息。必須使用系統(tǒng)出錯(cuò)處理機(jī)制,當(dāng)應(yīng)用軟件系統(tǒng)運(yùn)行過(guò)程中發(fā)生錯(cuò)誤時(shí),系統(tǒng)將明確提示錯(cuò)誤信息并指導(dǎo)用戶進(jìn)行處理。提供系統(tǒng)的運(yùn)行監(jiān)視和故障恢復(fù)機(jī)制,生成系統(tǒng)運(yùn)行的日志信息,跟蹤系統(tǒng)的所有操作,便于即時(shí)發(fā)現(xiàn)并排除故障。 通過(guò)對(duì)系統(tǒng)特性需求的獲取,可以看出,每一個(gè)大型實(shí)時(shí)系統(tǒng)都有它共有的要求,例如,對(duì)實(shí)時(shí)的要求,對(duì)可靠性和健壯性的要求。但由于本幣交易系統(tǒng)的特殊性,客戶對(duì)系統(tǒng)的安全性也提出了很高的要求。從這點(diǎn)可以看出,在取得系統(tǒng)的需求的時(shí)候,不僅僅要把握那些共有的需求,更重要的是挖掘那些隱含的需求,這些需求往往可能 被需求分析人員或者是客戶所忽略,但卻是非常重要的。 3.3.3系統(tǒng)劃分和接口需求 依據(jù)交易中心本幣交易系統(tǒng)方案書(shū)中的設(shè)計(jì)目標(biāo)、設(shè)計(jì)原則和系統(tǒng)性能要求目標(biāo),并根據(jù)用戶使用的要求和特點(diǎn),中國(guó)外匯交易中心新版本幣交易系統(tǒng)包括三大子系統(tǒng):中國(guó)外匯交易中心新版本幣交易子系統(tǒng),中國(guó)外匯交易中心新版本幣中介子系統(tǒng),中國(guó)外匯交易中心新版本幣場(chǎng)務(wù)管理子系統(tǒng)。(見(jiàn)圖2) 圖2:本幣系統(tǒng)的劃分圖 其中本幣交易子系統(tǒng)是本幣交易系統(tǒng)項(xiàng)目的核心,主要支持銀行間信用拆借、債券回購(gòu)、債券買賣和債券分銷市場(chǎng)業(yè)務(wù)。新版本幣交易系統(tǒng)中介子系統(tǒng)作為交易系統(tǒng)的一部分,為中介的報(bào)價(jià)、交易和手工錄入提供完善服務(wù)。新版本幣場(chǎng)務(wù)管理子系統(tǒng)為系統(tǒng)管理員和場(chǎng)務(wù)管理員提供方便靈活的管理接口,完成交易系統(tǒng)的交易控制、數(shù)據(jù)維護(hù)、場(chǎng)務(wù)管理和信息查詢提供支持,并提供應(yīng)急交易的功能。 本系統(tǒng)作為交易中心本幣系統(tǒng)的核心系統(tǒng),是其他系統(tǒng)建設(shè)的基礎(chǔ)和數(shù)據(jù)源,在本系統(tǒng)的建設(shè)中主要考慮的外界接口主要有:中國(guó)外匯交易中心本幣信息系統(tǒng)接口、中國(guó)外匯中心F-風(fēng)險(xiǎn)管理系統(tǒng)接口、債券結(jié)算接口、交易成員本方數(shù)據(jù)存儲(chǔ)接口,(詳見(jiàn):圖三): 債券結(jié)算 數(shù)據(jù)下載 F系統(tǒng) 信息系統(tǒng) 打印機(jī) 交易子系統(tǒng) 場(chǎng)務(wù)子系統(tǒng) 中介子系統(tǒng) 數(shù)據(jù)庫(kù) 圖3:本幣系統(tǒng)的接口圖 作為一個(gè)大型的實(shí)時(shí)交易軟件,系統(tǒng)分割成幾個(gè)獨(dú)立的子系統(tǒng)這種架構(gòu)模式是很有用的。這樣既方便軟件的開(kāi)發(fā),又方便軟件的維護(hù)的工作。因此在進(jìn)行需求分析的時(shí)候,一定要注意把相同的功能模塊集成到一個(gè)子系統(tǒng)中去。同時(shí),由于軟件不是孤立存在的,因此,一定要考慮系統(tǒng)和系統(tǒng)之間的接口問(wèn)題。不光光要考慮對(duì)現(xiàn)有系統(tǒng)的接口,還要考慮對(duì)以后擴(kuò)展系統(tǒng)的接口。否則,對(duì)以后軟件的使用和擴(kuò)展將造成很大的麻煩。 3.3.4系統(tǒng)構(gòu)架需求 新版本幣交易系統(tǒng)的框架是一個(gè)具有多層構(gòu)架的客戶/服務(wù)器應(yīng)用結(jié)構(gòu)。采用中間件技術(shù)構(gòu)建多層客戶/服務(wù)器應(yīng)用結(jié)構(gòu)已經(jīng)成為應(yīng)用開(kāi)發(fā)和運(yùn)行的主流技術(shù),其核心概念是利用中間件將應(yīng)用的表示邏輯(客戶界面)、業(yè)務(wù)邏輯(服務(wù)組件)和數(shù)據(jù)管理(數(shù)據(jù)庫(kù))分為三個(gè)不同的處理層: 1、表示層提供協(xié)議控制和用戶界面,與系統(tǒng)最終用戶實(shí)現(xiàn)直接交互。負(fù)責(zé)接收用戶的服務(wù)請(qǐng)求,通過(guò)socket連接向交易前置服務(wù)發(fā)送。 2、商業(yè)邏輯層作為中間層實(shí)現(xiàn)核心業(yè)務(wù)邏輯服務(wù),這些組件由中間件管理,接受客戶的服務(wù)請(qǐng)求,向交易主機(jī)提交數(shù)據(jù)操作,并將交易主機(jī)的業(yè)務(wù)處理結(jié)果返回給請(qǐng)求者。 3、數(shù)據(jù)層負(fù)責(zé)整個(gè)系統(tǒng)中數(shù)據(jù)信息的存儲(chǔ)、訪問(wèn)及其優(yōu)化。 通過(guò)使用中間層,實(shí)現(xiàn)了業(yè)務(wù)邏輯與表示邏輯、業(yè)務(wù)邏輯與數(shù)據(jù)管理的分離,使得系統(tǒng)能夠靈活的適應(yīng)用戶業(yè)務(wù)邏輯的變化。(詳見(jiàn):圖4) 圖4:系統(tǒng)業(yè)務(wù)架構(gòu)圖 之所以采用這種構(gòu)架主要是因?yàn)榭紤]到軟件的使用者分布在全國(guó)各地,這樣采用web界面的訪問(wèn)方式可以使軟件實(shí)現(xiàn)零安裝。而且采用這種MVC的模式,使的業(yè)務(wù)邏輯層、表示層和數(shù)據(jù)管理層分開(kāi)。這樣有助于軟件的開(kāi)發(fā)和維護(hù)。由于軟件的系統(tǒng)架構(gòu)就象人的骨架一樣,是整個(gè)軟件的脊椎骨,所以在考慮系統(tǒng)架構(gòu)的時(shí)候一定要從用戶的業(yè)務(wù)需求出發(fā),確保軟件的系統(tǒng)架構(gòu)合理。 3.3.5軟件功能需求 筆者將以本幣交易系統(tǒng)中中介交易子系統(tǒng)為例子來(lái)說(shuō)明定義功能需求的目的以及怎樣定義軟件的功能需求。 本幣交易系統(tǒng)的中介子系統(tǒng)的相關(guān)功能包括: 中介成交處理: (1) 錄入成交單:參與交易的雙方成員經(jīng)過(guò)與中介聯(lián)系后達(dá)成交易,交易雙方交易員通過(guò)電話/傳真?zhèn)魉统山粏谓o中介,中介交易員把交易成交單錄入系統(tǒng)。 (2) 修改成交單:修改當(dāng)日中介成交單。 (3) 撤消成交單:撤消當(dāng)日中介成交單。 中介交易處理: (1) 發(fā)送公開(kāi)報(bào)價(jià):向市場(chǎng)全體成員轉(zhuǎn)發(fā)已收到的成員匿名報(bào)價(jià)或手工錄入的報(bào)價(jià),代理委托成員完成指定交易。 (2) 發(fā)送對(duì)話報(bào)價(jià):向特定的市場(chǎng)成員表達(dá)本方的具體的交易意向,通過(guò)選擇委托方發(fā)送給中介的匿名報(bào)價(jià)并發(fā)送給所選擇特定成員交易員,此報(bào)價(jià)對(duì)委托方具有約束力。 (3) 詢價(jià)交談:為達(dá)成一致的交易意向,與交易對(duì)手就報(bào)價(jià)中交易各要素進(jìn)行磋商。同新版交易子系統(tǒng)詢價(jià)交談。 (4) 確認(rèn)成交:對(duì)報(bào)價(jià)指定交易進(jìn)行確認(rèn),經(jīng)過(guò)交易雙方通過(guò)報(bào)價(jià)交談,對(duì)于各交易要素達(dá)成一致后,交易雙方都有權(quán)確認(rèn)。同新版交易子系統(tǒng)。 (5) 修改報(bào)價(jià):為了達(dá)到更準(zhǔn)確和及時(shí)的表達(dá)自己的交易意向,修改本方已經(jīng)發(fā)送但沒(méi)有確認(rèn)成交或應(yīng)答的報(bào)價(jià)中一些交易要素。 (6) 撤消報(bào)價(jià):取消交易意向,對(duì)本方已經(jīng)發(fā)送但沒(méi)有確認(rèn)成交或者部分沒(méi)有成交的報(bào)單進(jìn)行撤銷。 其它: (1) 登錄:中介交易員進(jìn)入中介交易系統(tǒng),代理委托成員進(jìn)行報(bào)價(jià)、詢價(jià)、確認(rèn)成交以及錄入成交單等。 (2) 查詢統(tǒng)計(jì):可按開(kāi)始結(jié)束日期、委托方、交易方向、債券代碼、等組合查詢,并小計(jì)出筆數(shù)和交易量。 詳見(jiàn):圖5 圖5:中介子系統(tǒng)功能需求 通過(guò)上述例子可以看出,在需求分析階段,功能需求(functional requirement)定義了開(kāi)發(fā)人員必須實(shí)現(xiàn)的軟件功能,使得用戶能完成他們的任務(wù),從而滿足了業(yè)務(wù)需求。開(kāi)發(fā)人員和用戶需要對(duì)軟件實(shí)現(xiàn)的功能達(dá)成一致。要對(duì)需要的功能和約束進(jìn)行提取、組織、文檔化。正確的劃分功能需求非常重要,這就需要需求人員能夠正確把握用戶的需求,了解行業(yè)背景,挖掘隱含需求。 3.3.6需求用例和建模 所謂的用例就是軟件的使用者和系統(tǒng)的交互。一個(gè)用例就是系統(tǒng)中向用戶提供一個(gè)有價(jià)值的結(jié)果的某項(xiàng)功能。用例捕捉的是功能性需求。所有用例結(jié)合起來(lái)就構(gòu)成了“用例模型”,該模型描述系統(tǒng)的全部功能。用例迫使我們從用戶的利益角度出發(fā)進(jìn)行考慮,而不僅僅是考慮系統(tǒng)應(yīng)當(dāng)具有哪些良好功能。用例不僅僅是定義系統(tǒng)的需求的一個(gè)非常好的工具,它還可以驅(qū)動(dòng)系統(tǒng)的設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試。亦即整個(gè)開(kāi)發(fā)過(guò)程。在需求階段我們一般完成用例的定義,在以后的階段中還會(huì)有用例的設(shè)計(jì)等等。下面筆者將以交易子系統(tǒng)中信用拆借公開(kāi)報(bào)價(jià)用例來(lái)說(shuō)明用例的定義。 用例名稱:信用拆借公開(kāi)報(bào)價(jià) 系統(tǒng)范圍:交易系統(tǒng) 上下文目標(biāo):交易員提供本方的初步交易意向,填寫(xiě)本方公開(kāi)報(bào)價(jià)單,并且通過(guò)交易系統(tǒng)發(fā)布在交易系統(tǒng)的公開(kāi)報(bào)價(jià)欄中,讓所有的其他交易員能夠看到。 前置條件:交易員已經(jīng)通過(guò)身份認(rèn)證,并具有信用拆借業(yè)務(wù)權(quán)限 主要角色:信用拆借交易員 成功場(chǎng)景: 交易員發(fā)出“信用拆借公開(kāi)報(bào)價(jià)”交易指令; 系統(tǒng)切換到“信用拆借公開(kāi)報(bào)價(jià)”窗口; 交易員填寫(xiě)信用拆借公開(kāi)報(bào)價(jià)要素,并提交; 系統(tǒng)校驗(yàn)信用拆借公開(kāi)報(bào)價(jià),并廣播信用拆借公開(kāi)報(bào)價(jià); 在線交易機(jī)顯示信用拆借公開(kāi)報(bào)價(jià)。 擴(kuò)展: 3a.公開(kāi)報(bào)價(jià)要素不合法 3a.1、拆借方向未填寫(xiě),提示交易員:“請(qǐng)?zhí)顚?xiě)拆借方向”,返回到3; 3a.2、公開(kāi)報(bào)價(jià)要素?cái)?shù)據(jù)格式不對(duì),返回失敗信息:“XX數(shù)據(jù)格式不對(duì)” ,返回到3。 4a.數(shù)據(jù)不合法 4a.1、包格式不對(duì),提示交易員:“公開(kāi)報(bào)價(jià)失敗”, 用例失敗 。 備注: 業(yè)務(wù)規(guī)則: 1.1、“利率”和“金額”允許報(bào)空值(可不填寫(xiě)具體數(shù)值),只表示資金進(jìn)出方向; 1.2、系統(tǒng)自動(dòng)生成每筆報(bào)價(jià)編號(hào),在系統(tǒng)狀態(tài)欄中顯示報(bào)價(jià)發(fā)送狀態(tài)。 一個(gè)完整的用例需要包括以下內(nèi)容: (1) 名稱: 每個(gè)用例都必須有一個(gè)區(qū)別于其他用例的名稱。 (2) 用例參與者 一個(gè)參與者表示用例的使用者在與這些用例進(jìn)行交互時(shí)所扮演的角色的一個(gè)緊密的集合。通常一個(gè)參與者代表的角色有:人,硬件設(shè)備,或甚至是另外一個(gè)系統(tǒng)。 (3) 用例和事件流 用例描述的是一個(gè)系統(tǒng)做什么,這可以通過(guò)一個(gè)足夠清晰的、外部人員很容易理解的文字描述一個(gè)事件流,來(lái)說(shuō)明一個(gè)用例的行為。書(shū)寫(xiě)這個(gè)事件流的時(shí)候,應(yīng)該包含用例何時(shí)開(kāi)始,何時(shí)結(jié)束,用例合適和參與者交互,什么時(shí)候?qū)ο蟊唤粨Q,以及行為的基本流和可選擇流。 3.3.7小結(jié) 通過(guò)對(duì)本幣交易系統(tǒng)的需求分析為例子的分析,可以看出最重要的是客戶和系統(tǒng)開(kāi)發(fā)人員在系統(tǒng)的工作內(nèi)容方面達(dá)成一致,系統(tǒng)開(kāi)發(fā)人員能夠清晰的了解系統(tǒng)的需求,定義系統(tǒng)的邊界。最后要生成一個(gè)用例模型,其中主角代表與系統(tǒng)通信的外部單元,用例代表事務(wù)序列,為主角提供可測(cè)量的結(jié)果值。 三 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) 本幣系統(tǒng)的設(shè)計(jì)主要是為了說(shuō)明系統(tǒng)總體設(shè)計(jì)的技術(shù)方案和模塊的詳細(xì)設(shè)計(jì),涉及到系統(tǒng)設(shè)計(jì)的主要方面,如系統(tǒng)架構(gòu)、模塊劃分、功能分配、接口設(shè)計(jì)、運(yùn)行設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)和出錯(cuò)處理設(shè)計(jì)等內(nèi)容,以向整個(gè)開(kāi)發(fā)期提供關(guān)于子系統(tǒng)關(guān)系的總體描述,從而作為程序詳細(xì)設(shè)計(jì)或編碼的框架性基礎(chǔ)。 3.3.1總體結(jié)構(gòu)設(shè)計(jì) 在本文中筆者將以交易子系統(tǒng)的交易處理模塊為例子來(lái)闡述總體結(jié)構(gòu)設(shè)計(jì)。交易處理模塊采用四層架構(gòu),在業(yè)務(wù)處理中采用交易中間件,分為數(shù)據(jù)表示層、通信層、業(yè)務(wù)處理層和數(shù)據(jù)層;整個(gè)結(jié)構(gòu)基于消息的驅(qū)動(dòng)。(UML圖6) UserInterface:用戶的操作界面,其中分為會(huì)員交易前臺(tái)界面,中介交易前臺(tái)界面,場(chǎng)務(wù)管理前臺(tái)界面。實(shí)現(xiàn)表現(xiàn)層(終端界面)所要求的功能。 NetWork:系統(tǒng)中客戶端和服務(wù)器端的通訊采用標(biāo)準(zhǔn)的協(xié)議,該模塊負(fù)責(zé)兩者之間數(shù)據(jù)的傳輸工作,檢查通訊故障。 DataProtocol:由于客戶端和服務(wù)器端傳輸?shù)臄?shù)據(jù)都采用了標(biāo)準(zhǔn)的XML格式,該模塊一方面對(duì)所有發(fā)送的數(shù)據(jù)按照XML的語(yǔ)法格式進(jìn)行組織,另一方面對(duì)所有收到的數(shù)據(jù)進(jìn)行解析; FunctionCase:各子系統(tǒng)業(yè)務(wù)處理(場(chǎng)務(wù)子系統(tǒng)、中介子系統(tǒng)、交易子系統(tǒng)),實(shí)現(xiàn)終端業(yè)務(wù)層、交易業(yè)務(wù)層和主機(jī)業(yè)務(wù)層所要求的功能。(中間件服務(wù)器) MessageDispatcher:該模塊實(shí)現(xiàn)了前置機(jī)和交易主機(jī)服務(wù)器端各模塊之間交互消息的發(fā)送、接收以及分發(fā)功能,實(shí)現(xiàn)前置機(jī)主機(jī)通訊協(xié)議層所要求的功能。(中間件客戶端) Logging:記錄系統(tǒng)運(yùn)行中的時(shí)序信息,包括正常、調(diào)試和錯(cuò)誤信息,幫助診斷系統(tǒng)狀況,測(cè)試模塊功能,確定問(wèn)題的位置??梢愿鶕?jù)配置文件,確定輸出的內(nèi)容。 DataProcess:數(shù)據(jù)庫(kù)的接入,實(shí)現(xiàn)主機(jī)數(shù)據(jù)庫(kù)通訊協(xié)議層所要求的功能。 體系結(jié)構(gòu)是軟件系統(tǒng)中最本質(zhì)的東西,體系結(jié)構(gòu)是對(duì)復(fù)雜事物的一種抽象。良好的體系結(jié)構(gòu)是普遍適用的,它可以高效地處理多種多樣的個(gè)體需求。一提起“房子”,我們的腦中馬上就會(huì)出現(xiàn)房子的印象(而不是地洞的印象)?!胺孔印笔侨藗儗?duì)住宿或辦公環(huán)境的一種抽象。不論是辦公樓還是民房,同一類建筑物(甚至不同類的建筑物)之間都具有非常相似的體系結(jié)構(gòu)和構(gòu)造方式。如果13億中國(guó)人民每個(gè)人都要用特別的方式構(gòu)造奇異的房子,那么960萬(wàn)平方公里的土地將會(huì)變得千瘡百孔,終日不得安寧。 體系結(jié)構(gòu)在一定的時(shí)間內(nèi)保持穩(wěn)定。只有在穩(wěn)定的環(huán)境下,人們才能干點(diǎn)事情,社會(huì)才能發(fā)展??茖W(xué)告訴我們,宇宙間萬(wàn)物無(wú)時(shí)無(wú)刻不在運(yùn)動(dòng)、飛行。由于我們的生活環(huán)境在地球上保持相對(duì)穩(wěn)定,以致于我們可以無(wú)憂無(wú)慮地吃飯和睡覺(jué),壓根就意識(shí)不到自己是活生生的導(dǎo)彈。軟件開(kāi)發(fā)最怕的就是需求變化,但“需求會(huì)發(fā)生變化”是個(gè)無(wú)法逃避的現(xiàn)實(shí)。人們希望在需求發(fā)生變化時(shí),最好只對(duì)軟件做些皮皮毛毛的修改,可千萬(wàn)別改動(dòng)軟件的體系結(jié)構(gòu)。就如人們對(duì)住宿的需求也會(huì)變動(dòng),你可以經(jīng)常改變房間的裝璜和擺設(shè),但不會(huì)在每次變動(dòng)時(shí)都要去折墻、拆柱、挖地基。如果當(dāng)需求發(fā)生變化時(shí),程序員不得不去修改軟件的體系結(jié)構(gòu),那么這個(gè)軟件的系統(tǒng)設(shè)計(jì)是失敗的。 良好的體系結(jié)構(gòu)意味著普適、高效和穩(wěn)定。 3.3.2功能模塊的設(shè)計(jì) 本文中筆者將以撤銷本方交易員模塊的設(shè)計(jì)為例子來(lái)闡述交易系統(tǒng)中模塊的設(shè)計(jì)。 (1)模塊描述 由首席交易員撤銷本方交易員。首席交易員在會(huì)員機(jī)上將CDlrDelReqMessage請(qǐng)求消息發(fā)給主機(jī),主機(jī)Tuxedo服務(wù)進(jìn)程接到此請(qǐng)求,調(diào)用管理服務(wù)模塊中的撤銷本方交易員服務(wù)進(jìn)程。主機(jī)獲取所撤銷的交易員Id,檢查所撤銷的交易員是否已存在,通過(guò)驗(yàn)證后,撤銷交易員到交易員表,并記錄各要素,然后向首席交易員返回成功響應(yīng)消息。 (2)對(duì)象說(shuō)明 該模塊用到以下方法: CMessage* CManageCommand:: DeleteDealer (CMessage* pMessage) (3)動(dòng)態(tài)模型 <1>首先接收注銷本方交易員請(qǐng)求消息類CDeleteDealerReqMsg并創(chuàng)建注銷本方交易員請(qǐng)求消息實(shí)例; <2>接下來(lái)創(chuàng)建數(shù)據(jù)庫(kù)接口實(shí)例CDBInterface* pDB=new CDBInterface;注銷本方交易員響應(yīng)消息實(shí)例CDeleteDealerResMsg* pDeleteDealerResMsg; <3>接著調(diào)用數(shù)據(jù)庫(kù)接口實(shí)例的pDealerModel=pDB->findDealerModel(msgDlrId)方法獲得交易員模式pDealerModel; <4>然后調(diào)用DlrId=pDlrDelReqMessage->getDlrId()檢查所注銷的交易員是否存在; <5>調(diào)用 strcmp(MemId,pDealerModel->getDlrMemId())方式檢查欲注銷交易員是否屬同一交易成員; <6>調(diào)用strcmp(CreatorId,pDealerModel->getDlrCreatorId())方法檢查欲注銷交易員是否由其創(chuàng)建者注銷; <7>調(diào)用if(pDealerModel->getDlrState()!=STATE_DEALER_NORMAL)方法檢查欲注銷交易員狀態(tài)是否為正常狀態(tài)(STATE_DEALER_NORMAL); <8>調(diào)用pDealerModel->setDlrStatus(STATE_DEALER_DELETE)方法設(shè)置該交易員狀態(tài)位注銷狀態(tài)(STATE_DEALER_DELETE); <9>調(diào)用pResponseMessage=pDeleteDealerReqMsg->toResponse()方法返回注銷本方交易員響應(yīng)消息。 一個(gè)完整的功能模塊設(shè)計(jì)應(yīng)該包括模塊描述、對(duì)象說(shuō)明、動(dòng)態(tài)模型這三大塊內(nèi)容。模塊描述用來(lái)敘述該功能模塊應(yīng)該實(shí)現(xiàn)的功能。對(duì)象說(shuō)明列舉了該模塊使用的方法。 動(dòng)態(tài)模型說(shuō)明了該模塊實(shí)現(xiàn)該功能的詳細(xì)步驟以及它使怎樣和系統(tǒng)交互的。 一般情況下功能模塊是邏輯功能整體,進(jìn)行具體編碼由接口程序(函數(shù)、存儲(chǔ)過(guò)程、方法等)進(jìn)行具體實(shí)現(xiàn)。一個(gè)功能模塊一般有最少一個(gè)或多個(gè)接口程序,所以每個(gè)功能模塊下有最少一個(gè)或多個(gè)接口程序描述,而多個(gè)接口程序的關(guān)系通過(guò)功能模塊中的流程邏輯進(jìn)行說(shuō)明。接口代碼:函數(shù)、存儲(chǔ)過(guò)程、方法等的名稱接口功能說(shuō)明:說(shuō)明本接口程序的功能。接口輸入?yún)?shù):給出對(duì)每一個(gè)輸入項(xiàng)的特性,包括名稱、標(biāo)識(shí)、數(shù)據(jù)的類型和格式、數(shù)據(jù)值的有效范圍、輸入的方式。接口返回?cái)?shù)據(jù):給出對(duì)每一個(gè)輸出項(xiàng)的特性,包括名稱、標(biāo)識(shí)、數(shù)據(jù)的類型和格式,數(shù)據(jù)值的有效范圍,輸出的形式。 3.3.3用戶界面設(shè)計(jì) 本幣交易系統(tǒng)的界面總的設(shè)計(jì)總體原則是:簡(jiǎn)潔明了,方便易用。下面筆者以信用拆借的主界面設(shè)計(jì)來(lái)闡述用戶界面的設(shè)計(jì)。 信用拆借的主界面: 圖7:信用拆借的主界面 信用拆借公開(kāi)報(bào)價(jià)所用模型: 顯示名稱 類型 英文名稱(*) 屬性(#) 輸入控件(Table) 備注 編號(hào) int PubBidId 報(bào)價(jià)方 long PubBidMemId 交易員 long PubBidDlrId 交易方向 enum PubBidDir 0拆入 1拆出 金額 money Amt 利率 rate Ir 期限 short Tl 時(shí)間 time PubBidTime 動(dòng)作: 名稱 操作 說(shuō)明 打開(kāi)公開(kāi)報(bào)價(jià)框 點(diǎn)中報(bào)價(jià),雙擊mouse左鍵 增加公開(kāi)報(bào)價(jià) 單擊mouse右鍵 修改公開(kāi)報(bào)價(jià) 撤銷公開(kāi)報(bào)價(jià) 點(diǎn)中報(bào)價(jià),單擊mouse右鍵 打印公開(kāi)報(bào)價(jià) 點(diǎn)中報(bào)價(jià),單擊mouse右鍵 詳細(xì)顯示公開(kāi)報(bào)價(jià)方名稱、交易員聯(lián)系方式 點(diǎn)中報(bào)價(jià) 在界面設(shè)計(jì)的時(shí)候,首先應(yīng)該畫(huà)出界面的樣子,畫(huà)圖應(yīng)該使用專門的軟件,以使畫(huà)出來(lái)的界面比較逼真并容易識(shí)別。接著界面設(shè)計(jì)應(yīng)該列出該界面所用的模型,模型應(yīng)該包括,界面上顯示的元素的名稱、類型、屬性、輸入控件等。最后還應(yīng)該列出客戶能對(duì)界面的操作,以及該操作的聲明。這樣的一個(gè)界面設(shè)計(jì)才是完整且符合要求的。 由于軟件的界面直接和客戶打交道,所以大型軟件的界面設(shè)計(jì)變的很重要,筆者認(rèn)為界面設(shè)計(jì)應(yīng)該主要做到以下幾點(diǎn): (1) 界面的合適性 界面的合適性是指界面是否與軟件功能相融洽。如果軟件的界面不適合于軟件的功能,那么界面將毫無(wú)用處。所以界面的合適性是界面美的首要因素,它提醒界面的設(shè)計(jì)者不要片面追求外觀漂亮而導(dǎo)致失真或華而不實(shí)。界面的合適性。既提倡外美內(nèi)秀,又強(qiáng)調(diào)恰如其分。對(duì)于象大型交易系統(tǒng)這類軟件,界面應(yīng)該樸實(shí)無(wú)華,不需要把界面設(shè)計(jì)的類似于兒童娛樂(lè)軟件那樣花哨。 (2) 界面的風(fēng)格 對(duì)于象大型實(shí)時(shí)交易軟件這樣的商業(yè)應(yīng)用軟件的界面設(shè)計(jì)應(yīng)該注重一致性。設(shè)計(jì)者必須密切注意在相同應(yīng)用領(lǐng)域中最流行的軟件的界面,必須尊重用戶使用這些軟件的習(xí)慣。例如大多數(shù)軟件習(xí)慣于設(shè)置F1鍵為幫助熱鍵,如果某個(gè)設(shè)計(jì)者別出心裁地讓F1鍵成為程序終止的熱鍵,那么在用戶渴望得到幫助而伸手擊F1鍵的一剎那,他的工作就此結(jié)束。因此本幣交易系統(tǒng)使用jbuilder快速地開(kāi)發(fā)出簡(jiǎn)潔美觀的圖形用戶界面。在Internet/Intranet領(lǐng)域,瀏覽器幾乎成了唯一的客戶機(jī)程序,因?yàn)橛脩粝M猛耆恢碌能浖?lái)完成千變?nèi)f化的應(yīng)用任務(wù)。 (3) 界面的廣義美 盡管界面的美并沒(méi)有增加軟件的功能與性能,卻又是必為可少的。用戶使用界面時(shí),除了直接的感官美感外,還有很大一部分美感是間接的,它們存在于人們的使用體驗(yàn)中,例如方便,實(shí)用等。本幣系統(tǒng)界面的設(shè)計(jì)的時(shí)候,充分考慮到了用戶的方便和實(shí)用,為一些用戶常用的功能設(shè)置了快捷鍵,而且右鍵實(shí)現(xiàn)了很多菜單功能,這樣用戶輕按鼠標(biāo)就能夠方便的操作。 3.3.4系統(tǒng)出錯(cuò)處理設(shè)計(jì) 由于系統(tǒng)采用的是客戶機(jī)/服務(wù)器和瀏覽器/服務(wù)器的綜合應(yīng)用環(huán)境中,牽涉到的軟硬件資源比較多,無(wú)論哪個(gè)環(huán)節(jié)出了問(wèn)題,數(shù)據(jù)庫(kù)訪問(wèn)都不會(huì)成功,應(yīng)用程序的進(jìn)一步執(zhí)行都會(huì)受到影響。因此我們的應(yīng)用開(kāi)發(fā)必須能預(yù)先發(fā)現(xiàn)問(wèn)題,努力解決問(wèn)題,并以準(zhǔn)確無(wú)誤的信息通知用戶,從而保證應(yīng)用程序處理錯(cuò)誤的強(qiáng)壯性。 (1) 出錯(cuò)信息分類 出錯(cuò)信息可以分為三類,他們分別是: <1>通訊線路錯(cuò)誤, 當(dāng)網(wǎng)絡(luò)通訊出現(xiàn)故障時(shí),可能發(fā)生通訊線路錯(cuò)誤,因判斷方式和處理方法不同,按照局域網(wǎng)和廣域網(wǎng)劃分,可分為兩類。 <2>數(shù)據(jù)庫(kù)操縱錯(cuò)誤,開(kāi)發(fā)應(yīng)用程序訪問(wèn)數(shù)據(jù)庫(kù)時(shí),在三個(gè)地方可能會(huì)導(dǎo)致數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤,它們是使用控件函數(shù)操作數(shù)據(jù)庫(kù)(提取數(shù)據(jù)、更新修改),使用嵌入式SQL語(yǔ)句操作數(shù)據(jù)庫(kù),數(shù)據(jù)和業(yè)務(wù)的邏輯矛盾和錯(cuò)誤。 <3>系統(tǒng)設(shè)計(jì)錯(cuò)誤,用戶常會(huì)輸入一些不正確的信息。如果不加以檢測(cè),會(huì)導(dǎo)致更嚴(yán)重的系統(tǒng)錯(cuò)誤。輸入數(shù)據(jù)錯(cuò)誤包括數(shù)據(jù)格式錯(cuò)誤和數(shù)據(jù)內(nèi)容(含義)錯(cuò)誤。導(dǎo)致錯(cuò)誤的原因是用戶的誤操作。 (2) 出錯(cuò)處理的對(duì)策 出錯(cuò)處理方法可分三類:重試、取消和退出。對(duì)一些較輕的錯(cuò)誤,如數(shù)據(jù)格式輸入錯(cuò)誤,可讓用戶重輸;一些較為嚴(yán)重或狀態(tài)不可恢復(fù),但不屬于系統(tǒng)錯(cuò)誤的錯(cuò)誤,可以取消該操作。至于嚴(yán)重的系統(tǒng)錯(cuò)誤,如磁盤扇區(qū)損傷不可讀寫(xiě),則只能退出系統(tǒng)。 對(duì)于一個(gè)大型實(shí)時(shí)交易軟件要想在使用過(guò)程中不出現(xiàn)這樣或那樣的問(wèn)題幾乎是不可能的。這就需要在系統(tǒng)設(shè)計(jì)的時(shí)候充分考慮到各種錯(cuò)誤情況。首先,可以對(duì)出錯(cuò)的信息進(jìn)行分類,這樣有助于認(rèn)識(shí)和分解問(wèn)題,然后可以根據(jù)相應(yīng)的出錯(cuò)情況提出相應(yīng)的解決對(duì)策??傊?,一個(gè)設(shè)計(jì)的好的系統(tǒng)能夠有效的對(duì)出錯(cuò)情況進(jìn)行處理。使軟件更加健壯。 3.3.5系統(tǒng)的實(shí)現(xiàn) 系統(tǒng)的實(shí)現(xiàn)是指實(shí)現(xiàn)在設(shè)計(jì)中發(fā)現(xiàn)的設(shè)計(jì)類和子系統(tǒng),特別是將設(shè)計(jì)類實(shí)現(xiàn)為包含源代碼的文件構(gòu)件。 本幣交易系統(tǒng)的實(shí)現(xiàn)是由14個(gè)程序員在客戶處完成的。在開(kāi)始開(kāi)發(fā)階段,每個(gè)程序員被按照各自的職責(zé)分配到不同的任務(wù)和時(shí)間期限。在項(xiàng)目開(kāi)發(fā)的過(guò)程中,程序員被要求嚴(yán)格的按照設(shè)計(jì)文檔規(guī)定的內(nèi)容來(lái)實(shí)現(xiàn)。每寫(xiě)完一個(gè)模塊的代碼,項(xiàng)目組都會(huì)在項(xiàng)目經(jīng)理的組織下對(duì)代碼進(jìn)行review,以確保代碼的質(zhì)量。由于本幣系統(tǒng)功能模塊比較多,實(shí)現(xiàn)起來(lái)有難度。為了不使進(jìn)度拖延,項(xiàng)目組要求每位程序員都撰寫(xiě)日?qǐng)?bào),這樣可以方便項(xiàng)目管理者跟蹤項(xiàng)目進(jìn)度,及時(shí)解決在項(xiàng)目實(shí)際開(kāi)發(fā)中遇到的問(wèn)題。整個(gè)項(xiàng)目在開(kāi)發(fā)過(guò)程中采用CVS作為版本控制軟件,所有代碼都在CVS的控制下進(jìn)行開(kāi)發(fā),這樣使軟件開(kāi)發(fā)過(guò)程中的版本得到了跟蹤。 從以上分析可以知道,在過(guò)程的這一階段,重點(diǎn)在于管理資源和控制操作,以便優(yōu)化成本、進(jìn)度和質(zhì)量。 3.3.5 小結(jié) 在大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程的設(shè)計(jì)階段,應(yīng)該注意使用基于構(gòu)件的設(shè)計(jì),構(gòu)件是實(shí)現(xiàn)清晰功能的模塊。子系統(tǒng)提供了使用新的及現(xiàn)有構(gòu)件定義體系結(jié)構(gòu)的系統(tǒng)化方法。所以在清晰的定義了類以后,應(yīng)該按子系統(tǒng)對(duì)類進(jìn)行分組。同時(shí),在設(shè)計(jì)中還應(yīng)該注意把實(shí)現(xiàn)工作分為更易于管理的各個(gè)部分,并盡可能的讓各個(gè)組并發(fā)開(kāi)發(fā)。 四 系統(tǒng)的測(cè)試 3.5.1單元測(cè)試 單元測(cè)試是針對(duì)軟件設(shè)計(jì)的最小單位——程序模塊,進(jìn)行正確性檢驗(yàn)的測(cè)試工作。其目的在于發(fā)現(xiàn)每個(gè)程序模塊內(nèi)部可能存在的差錯(cuò)。單元測(cè)試是程序員的一項(xiàng)基本職責(zé),程序員必須對(duì)自己所編寫(xiě)的代碼保持認(rèn)真負(fù)責(zé)的態(tài)度,這是也程序員的基本職業(yè)素質(zhì)之一。同時(shí)單元測(cè)試能力也是程序員的一項(xiàng)基本能力,能力的高低直接影響到程序員的工作效率與軟件的質(zhì)量。在編碼的過(guò)程中作單元測(cè)試,其花費(fèi)是最小的,而回報(bào)卻特別優(yōu)厚的。在編碼的過(guò)程中考慮測(cè)試問(wèn)題,得到的將是更優(yōu)質(zhì)的代碼,因?yàn)樵谶@時(shí)程序員對(duì)代碼應(yīng)該做些什么了解得最清楚。如果不這樣做,又要花費(fèi)許多時(shí)間,重新把它弄清楚。在本幣系統(tǒng)的開(kāi)發(fā)過(guò)程中,項(xiàng)目組采用了兩種方法進(jìn)行單元測(cè)試。在本幣系統(tǒng)的開(kāi)發(fā)過(guò)程中,項(xiàng)目組采用了兩種方法進(jìn)行單元測(cè)試: (1)人工靜態(tài)檢查 人工靜態(tài)檢查主要是為了保證代碼算法的邏輯正確性(盡量通過(guò)人工檢查發(fā)現(xiàn)代碼的邏輯錯(cuò)誤)、清晰性、規(guī)范性、一致性、算法高效性。并盡可能的發(fā)現(xiàn)程序中沒(méi)有發(fā)現(xiàn)的錯(cuò)誤。項(xiàng)目組要求每一位程序員在單元測(cè)試的時(shí)候,都嚴(yán)格檢查自己的代碼是否按照在項(xiàng)目開(kāi)始時(shí)候制定的java代碼編寫(xiě)規(guī)范來(lái)書(shū)寫(xiě)。是否在每個(gè)模塊前面都要加上注釋,詳細(xì)說(shuō)明這個(gè)模塊的作用,作者,傳入的參數(shù),傳出的參數(shù)。在模塊完成后,在項(xiàng)目組內(nèi)部先請(qǐng)其他程序員review。發(fā)現(xiàn)在代碼中可能存在的錯(cuò)誤和問(wèn)題。 (2)通過(guò)設(shè)計(jì)測(cè)試用例 通過(guò)設(shè)計(jì)測(cè)試用例,執(zhí)行待測(cè)程序來(lái)跟蹤比較實(shí)際結(jié)果與預(yù)期結(jié)果來(lái)發(fā)現(xiàn)錯(cuò)誤。統(tǒng)計(jì)表明,使用人工靜態(tài)檢查法能夠有效的發(fā)現(xiàn)30%到70%的邏輯設(shè)計(jì)和編碼錯(cuò)誤。但是代碼中仍會(huì)有大量的隱性錯(cuò)誤無(wú)法通過(guò)視覺(jué)檢查發(fā)現(xiàn),必須通過(guò)跟蹤調(diào)試法細(xì)心分析才能夠捕捉到。所以,動(dòng)態(tài)跟蹤調(diào)試方法也成了單元測(cè)試的重點(diǎn)與難點(diǎn)。項(xiàng)目組要求程序員編寫(xiě)測(cè)試用例來(lái)對(duì)自己的代碼進(jìn)行單元測(cè)試。用例由輸入的數(shù)據(jù)和期望輸出的數(shù)據(jù)兩方面來(lái)構(gòu)成。輸入數(shù)據(jù)應(yīng)該包含合理?xiàng)l件下的輸入和不合理?xiàng)l件下的輸入。 (3) 測(cè)試類設(shè)計(jì) 由于在項(xiàng)目中一個(gè)模塊或一個(gè)方法(Method)并不是一個(gè)獨(dú)立的程序,在考慮測(cè)試它時(shí)要同時(shí)考慮它和外界的聯(lián)系,用些輔助模塊去模擬與所測(cè)模塊相聯(lián)系的其他模塊。這些輔助模塊分為驅(qū)動(dòng)模塊和樁模塊兩種。所謂的驅(qū)動(dòng)模塊相當(dāng)于所測(cè)模塊的主程序。它接收測(cè)試數(shù)據(jù),把這些數(shù)據(jù)傳送給所測(cè)模塊,最后再輸出實(shí)際測(cè)試結(jié)果。所謂的樁模塊用于代替所測(cè)模塊調(diào)用的子模塊。樁模塊可以做少量的數(shù)據(jù)操作,不需要把子模塊所有功能都帶進(jìn)來(lái),但不容許什么事情也不做。比如在報(bào)表打印模塊的單元測(cè)試中編寫(xiě)了一個(gè)界面模塊和一個(gè)流數(shù)據(jù)傳輸模塊作為驅(qū)動(dòng)模塊來(lái)進(jìn)行測(cè)試。又比如在編寫(xiě)界面上的菜單模塊時(shí)候,程序員寫(xiě)了許多小的事件響應(yīng)模塊來(lái)對(duì)菜單模塊進(jìn)行測(cè)試。 3.5.2集成測(cè)試 在軟件項(xiàng)目中時(shí)常有這樣的情況發(fā)生,每個(gè)模塊都能單獨(dú)工作,但這些模塊集成在一起之后卻不能正常工作。主要原因是,模塊相互調(diào)用時(shí)接口會(huì)引入許多新問(wèn)題。例如,數(shù)據(jù)經(jīng)過(guò)接口可能丟失;一個(gè)模塊對(duì)另一模塊可能造成不應(yīng)有的影響;幾個(gè)子功能組合起來(lái)不能實(shí)現(xiàn)主功能;誤差不斷積累達(dá)到不可接受的程度;全局?jǐn)?shù)據(jù)結(jié)構(gòu)出現(xiàn)錯(cuò)誤,等等。集成測(cè)試是組裝軟件的系統(tǒng)測(cè)試技術(shù),按設(shè)計(jì)要求把通過(guò)單元測(cè)試的各個(gè)模塊組裝在一起之后,進(jìn)行集成測(cè)試以便發(fā)現(xiàn)與接口有關(guān)的各種錯(cuò)誤。由于大型實(shí)時(shí)交易系統(tǒng)這樣的大系統(tǒng),它模塊眾多。因此如果把所有模塊全部組裝起來(lái),然后進(jìn)行整體測(cè)試容易出現(xiàn)混亂,因?yàn)樵跍y(cè)試的時(shí)候可能發(fā)現(xiàn)一大堆的錯(cuò)誤,而每個(gè)錯(cuò)誤的定位和糾正卻非常的困難,并且如果改正一個(gè)錯(cuò)誤可能會(huì)引起其他的錯(cuò)誤,這樣新舊錯(cuò)誤混雜,不利于測(cè)試的開(kāi)展。因此本幣系統(tǒng)采用了自頂向下的集成方式,首先從主界面的主控模塊開(kāi)始,把對(duì)該主控模塊進(jìn)行單元測(cè)試時(shí)引入的所有樁模塊用實(shí)際模塊替代。按照深度優(yōu)先的集成策略,每次只替代一個(gè)模塊。每集成一個(gè)模塊即進(jìn)行測(cè)試。只有在該模塊通過(guò)測(cè)試后,才著手替換下一個(gè)模塊。為避免引入新錯(cuò)誤,須不斷地進(jìn)行回歸測(cè)試(即全部或部分地重復(fù)已做過(guò)的測(cè)試)。自頂向下集成的優(yōu)點(diǎn)在于能盡早地對(duì)程序的主要控制和決策機(jī)制進(jìn)行檢驗(yàn),因此較早地發(fā)現(xiàn)錯(cuò)誤。 在集成測(cè)試中尤其要注意關(guān)鍵模塊,所謂關(guān)鍵模塊一般都具有下述一個(gè)或多個(gè)特征如:對(duì)應(yīng)幾條需求;具有高層控制功能;復(fù)雜、易出錯(cuò);有特殊的性能要求。關(guān)鍵模塊應(yīng)盡早測(cè)試,并反復(fù)進(jìn)行回歸測(cè)試。 3.5.3壓力測(cè)試 作為一個(gè)成熟的大型實(shí)時(shí)交易系統(tǒng),進(jìn)行壓力測(cè)試是必要的也是必須的。因?yàn)檐浖仨毐WC在大量用戶并發(fā)訪問(wèn)的時(shí)候也能夠正常工作。本幣交易系統(tǒng)是一個(gè)典型的三層C/S架構(gòu)的交易系統(tǒng)(客戶端/應(yīng)用服務(wù)器/數(shù)據(jù)庫(kù)管理系統(tǒng)),中間層是業(yè)務(wù)邏輯層,應(yīng)用服務(wù)器處理所有的業(yè)務(wù)邏輯。項(xiàng)目組模擬實(shí)際應(yīng)用的軟硬件環(huán)境,按照正常業(yè)務(wù)壓力估算值的1-10倍對(duì)系統(tǒng)進(jìn)行測(cè)試,并讓系統(tǒng)長(zhǎng)時(shí)間工作,以考察被測(cè)系統(tǒng)的可靠性,同時(shí)還要測(cè)試被測(cè)系統(tǒng)的響應(yīng)時(shí)間。 在項(xiàng)目開(kāi)發(fā)過(guò)程中,往往壓力測(cè)試會(huì)被忽略掉,這是很危險(xiǎn)的,因?yàn)楫?dāng)大量用戶并發(fā)訪問(wèn)系統(tǒng)的時(shí)候會(huì)耗費(fèi)很多服務(wù)器資源,搞不好就會(huì)把服務(wù)器搞的當(dāng)機(jī)。如果這樣那么造成的損失是無(wú)法估計(jì)的。因此,一定要做好系統(tǒng)的壓力測(cè)試,盡早發(fā)現(xiàn)存在的問(wèn)題。 六 現(xiàn)有軟件開(kāi)發(fā)過(guò)程的探討和比較 4.1大型交易軟件開(kāi)發(fā)過(guò)程的優(yōu)劣 大型交易軟件開(kāi)發(fā)過(guò)程具有很多長(zhǎng)處:提高了團(tuán)隊(duì)生產(chǎn)力,在迭代的開(kāi)發(fā)過(guò)程、需求管理、基于組件的體系結(jié)構(gòu)、可視化軟件建模、驗(yàn)證軟件質(zhì)量及控制軟件變更等方面,針對(duì)所有關(guān)鍵的開(kāi)發(fā)活動(dòng)為每個(gè)開(kāi)發(fā)成員提供了必要的準(zhǔn)則、模板和工具指導(dǎo),并確保全體成員共享相同的知識(shí)基礎(chǔ)。它建立了簡(jiǎn)潔和清晰的過(guò)程結(jié)構(gòu),為開(kāi)發(fā)過(guò)程提供較大的通用性。但同時(shí)它也存在一些不足: 大型交易軟件開(kāi)發(fā)過(guò)程只是一個(gè)開(kāi)發(fā)過(guò)程,并沒(méi)有涵蓋軟件過(guò)程的全部?jī)?nèi)容,例如它缺少關(guān)于軟件運(yùn)行和支持等方面的內(nèi)容;此外,它沒(méi)有支持多項(xiàng)目的開(kāi)發(fā)結(jié)構(gòu),這在一定程度上降低了在開(kāi)發(fā)組織內(nèi)大范圍實(shí)現(xiàn)重用的可能性。可以說(shuō)大型交易軟件開(kāi)發(fā)過(guò)程是一個(gè)非常好的開(kāi)端,但并不完美,在實(shí)際的應(yīng)用中可以根據(jù)需要對(duì)其進(jìn)行改進(jìn)并可以用其他軟件過(guò)程的相關(guān)內(nèi)容對(duì)大型交易軟件開(kāi)發(fā)過(guò)程進(jìn)行補(bǔ)充和完善。 4.2和其他軟件開(kāi)發(fā)過(guò)程的比較 CMM(軟件過(guò)程能力成熟度模型),它是由卡內(nèi)基-梅隆大學(xué)軟件工程研究院為了滿足美國(guó)聯(lián)邦政府評(píng)估軟件供應(yīng)商能力的要求而制定的一個(gè)標(biāo)準(zhǔn),它其實(shí)是一個(gè)模型,告訴了軟件開(kāi)發(fā)者要做什么,而不是應(yīng)該怎么做。因此,我們?cè)谲浖_(kāi)發(fā)的時(shí)候,要達(dá)到CMM規(guī)定的標(biāo)準(zhǔn),但這個(gè)標(biāo)準(zhǔn)卻不是一個(gè)軟件開(kāi)發(fā)者可以去具體執(zhí)行的具體過(guò)程。 敏捷軟件開(kāi)發(fā)過(guò)程了告訴軟件開(kāi)發(fā)人員該怎么做,但沒(méi)有明確的指出做到以后該怎么樣改進(jìn)。由于敏捷軟件開(kāi)發(fā)過(guò)程不注重設(shè)計(jì),強(qiáng)調(diào)短周期,簡(jiǎn)單設(shè)計(jì),快速開(kāi)發(fā)。這對(duì)一個(gè)大型的實(shí)時(shí)交易系統(tǒng)來(lái)說(shuō)是無(wú)法想象的。所以它也不太適合作為大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程。 至于個(gè)人軟件過(guò)程,很容易看出來(lái),它是立足于軟件工程師個(gè)體的軟件開(kāi)發(fā)過(guò)程框架模型。它的一些模板,操作步驟,度量標(biāo)準(zhǔn)能夠幫助軟件工程師改進(jìn)個(gè)人的軟件工程技巧,提高他們的開(kāi)發(fā)效率和代碼質(zhì)量。 通過(guò)上面的分析可以看出,大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程是比較適合這一類軟件的開(kāi)發(fā)的。 結(jié)束語(yǔ) 大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程,在外匯交易中心本幣交易系統(tǒng)的開(kāi)發(fā)中運(yùn)用并取得了很大的成功。隨著企業(yè)信息化的不斷深入,客戶對(duì)大型實(shí)時(shí)交易軟件的需求也在不斷的增加。由于大型實(shí)時(shí)交易軟件功能復(fù)雜,模塊眾多,而且對(duì)性能和安全性都要求比較高。因此這絕不是靠幾個(gè)程序員幾天就能搞出來(lái)的。所以這時(shí)就迫切需要一套很完善的軟件開(kāi)發(fā)過(guò)程來(lái)指導(dǎo)和規(guī)范軟件開(kāi)發(fā)人員對(duì)項(xiàng)目的開(kāi)發(fā)。以使開(kāi)發(fā)團(tuán)隊(duì)更有效率,軟件質(zhì)量更佳。大型實(shí)時(shí)交易軟件的開(kāi)發(fā)過(guò)程從需求分析,系統(tǒng)設(shè)計(jì),系統(tǒng)實(shí)現(xiàn),測(cè)試和部署,配置管理等幾個(gè)方面,詳細(xì)的定義了大型實(shí)時(shí)交易軟件從開(kāi)始到項(xiàng)目發(fā)布的具體過(guò)程。同時(shí)該過(guò)程還采用迭代的手段進(jìn)行開(kāi)發(fā),這樣降低了項(xiàng)目的風(fēng)險(xiǎn),并且也把項(xiàng)目分成了幾個(gè)小的階段,有利于開(kāi)發(fā)。 隨著在項(xiàng)目中不斷的使用和完善這個(gè)開(kāi)發(fā)過(guò)程,相信這個(gè)開(kāi)發(fā)過(guò)程必將更好的為開(kāi)發(fā)大型實(shí)時(shí)交易系統(tǒng)服務(wù)。同時(shí)也將會(huì)擴(kuò)展到很多類似的大型系統(tǒng)的開(kāi)發(fā)。 謝辭 畢業(yè)已經(jīng)近在眼前了,這篇論文業(yè)將結(jié)束我四年的大學(xué)生活。我只希望,這個(gè)句號(hào)能夠完美。在這篇論文的完成過(guò)程中得到了許多的幫助,所以在這里我要感謝很多人。 首先要感謝的是我的指導(dǎo)老師杜慶峰老師,他的淵博的知識(shí)和細(xì)心的指導(dǎo),給了我的論文很大的啟發(fā)。在我求教他的時(shí)候,他非常認(rèn)真的給我進(jìn)行解答,而且?guī)椭抑С稣撐膬?nèi)容上的問(wèn)題,以他豐富的經(jīng)驗(yàn)來(lái)給我指出方向,使我受益非淺。沒(méi)有他的幫助,我的論文質(zhì)量將大大的下降。 其次要感謝的是軟件學(xué)院的所有的老師,在他們的幫助和教導(dǎo)下,在軟件學(xué)院期間我獲得了許多軟件方面的知識(shí),我才能夠有足夠的知識(shí)和思考能力來(lái)完成這篇論文。 還要感謝在實(shí)習(xí)期間曾經(jīng)關(guān)心和幫助過(guò)我的同事,以及畢業(yè)設(shè)計(jì)期間乃至整個(gè)大學(xué)期間關(guān)心、幫助過(guò)我的老師和同學(xué),謝謝你們。 最后,感謝那些曾經(jīng)幫助過(guò)我的不能一一列出的所有的人,感謝大家! 參考文獻(xiàn) 【1】 Rational Software Corporation. Rational Unified Process version 2000.02.1, 2000 【2】 Ivar Jacobson,Grady Booch,James Rumbaugh. The Unified Software Development Process, Addison Wesley, 1999.1 【3】 Scott W.Ambler. Enha ncing the Unified Process:Software Process for Large Scale,Mission-Critical Systems A Ronin Internatinal White Paper,2000.9 【4】 《實(shí)踐者的研究方法》,ROGER S.PRESSMAN,機(jī)械工業(yè)出版社 【5】 《軟件開(kāi)發(fā)過(guò)程與案例》,陳宏剛等,清華大學(xué)出版社- 1.請(qǐng)仔細(xì)閱讀文檔,確保文檔完整性,對(duì)于不預(yù)覽、不比對(duì)內(nèi)容而直接下載帶來(lái)的問(wèn)題本站不予受理。
- 2.下載的文檔,不會(huì)出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請(qǐng)點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁(yè)顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開(kāi)word文檔。
- 特殊限制:
部分文檔作品中含有的國(guó)旗、國(guó)徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計(jì)者僅對(duì)作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 本科 畢業(yè)設(shè)計(jì) 基于 大型 實(shí)時(shí) 交易系統(tǒng) 開(kāi)發(fā) 過(guò)程
鏈接地址:http://www.820124.com/p-6656869.html