RUP過程與UML模型驅動開發(fā)方法在證券研發(fā)項目中的應用實踐_第1頁
RUP過程與UML模型驅動開發(fā)方法在證券研發(fā)項目中的應用實踐_第2頁
RUP過程與UML模型驅動開發(fā)方法在證券研發(fā)項目中的應用實踐_第3頁
RUP過程與UML模型驅動開發(fā)方法在證券研發(fā)項目中的應用實踐_第4頁
RUP過程與UML模型驅動開發(fā)方法在證券研發(fā)項目中的應用實踐_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

新思維金融軟件研發(fā)中心 軟件構架師 胡協(xié)剛 軟件開發(fā)沒有銀彈 統(tǒng)一通道平臺 開發(fā)項目簡介 項目的開發(fā)目錄結構與 貫穿全局的統(tǒng)一 用前景文檔定義目標系統(tǒng) 軟件構架文檔與 4+1視圖 契約式開發(fā)與單元測試 自動化構建與持續(xù)集成 迭代開發(fā)模式 確定和高風險 軟件因其固有的復雜、不確定和高風險等屬性,使得其開發(fā)活動非常難以控制 軟件產品用于解決一個或多個領域的現(xiàn)實問題,不僅與其開發(fā)者本身直接相關,還牽涉到客戶、最終用戶、第三方伙伴等眾多涉眾,所謂眾口難調,但一個成功的軟件必須能滿足多方面的需求 軟件所依賴的核心技術、項目的開發(fā)方法、軟件過程、項目管理和團隊協(xié)作等,都是事關項目成敗的關鍵因素 根據(jù) 件過程要達到第三成熟度等級,需要實施十八個關鍵過程域;普通團隊雖然不一定向此標準看齊,但實際上仍然涉及到這十八個關鍵過程域所涵蓋的近百項活動,只不過可能實施的力度較小、質量不高、或者忽略了活動本身的含義而已 義了九個核心準則( 和幾百項 活動 這還僅僅只是軟件過程的范疇,項目中人的管理、溝通以及具體的關鍵技術等等,其牽涉面將更廣 諸多因素分屬不同的范疇,針對不同的問題,需要應用不同的技術、技能和方法,要求項目成員擁有不同的知識、素質與背景 沒有一種方法或途徑能夠解決軟件項目中所有的問題,即所謂 “ 沒有銀彈 ” ,所以不要迷信存在所謂的一勞永逸的終極解決方案 軟件項目適用于 “ 木桶原理 ” ,要獲得成功,必須由所有成員在多個方面都付出艱苦的努力,包括完成一些繁瑣與枯燥的工作,并保證任何一個環(huán)節(jié)都不出重大問題 在下面介紹的一個實際項目中,將會看到我們是如何通過裁減 用統(tǒng)一的 用共享的產品目錄結構來協(xié)同開發(fā),并通過加強團隊建設,揚長避短,發(fā)揮各成員的長處等 總之從多個方面來努力,方才最終達成項目成功的過程 目 項目的目標系統(tǒng) ( 統(tǒng)一通道平臺 ) 是在證券公司總部和所有營業(yè)部網點統(tǒng)一部署的 、 適應不同 網絡拓撲結構的 、 支持內外網段物理安全隔離的 、 基于消息的通訊中間件平臺系統(tǒng) , 用以支持熱自助 、電話委托等各類外圍客戶端系統(tǒng) , 集中經紀業(yè)務系統(tǒng) 、 傳統(tǒng)營業(yè)部柜臺系統(tǒng)等核心服務系統(tǒng) , 以及銀行端銀證業(yè)務系統(tǒng)等第三方系統(tǒng)的透明接入 n i f i e dC h a n n e lS e r v i c e g e n t# 1網 點 通 道 服 務A g e n t# 2中 心 通 道服 務網 點 通 道 服 務A g e n t# 3U C S 輻 射 型 拓 撲部 署 結 構 圖面 向 廣 域 網 的 通道 連 接面 向 局 域 網 的 通道 連 接電 話 委 托系 統(tǒng)自 助 交 易網 關證 券 集 中交 易 系 統(tǒng)服 務 調 度統(tǒng) 一 經 紀 業(yè) 務 服 務 協(xié)議 A P I 樁通 道 訪 問 入 口 插 件統(tǒng) 一 經 紀 業(yè) 務 服 務 協(xié)議 A P I 基 干A g e n t# 1銀 證 交 易請 求 網 關A g e n t# 1銀 證 交 易服 務 網 關A g e n t# 2證 券 集 中交 易 系 統(tǒng)統(tǒng) 一 銀 證 服 務 協(xié) 議 協(xié)議 A P I 基 干統(tǒng) 一 經 紀 業(yè) 務 服 務 協(xié)議 A P I 樁統(tǒng) 一 銀 證 服 務 協(xié) 議 協(xié)議 A P I 樁射型拓撲部署結構 項目采用 總計經歷了六次迭代 , 持續(xù)約八個月 , 項目組成員 36人 , 耗費共計 685個 工作人日 , 最終有效代碼 30,471 行 , 千行代碼集成缺陷率低于 1 使用 并基于此組織項目的產品目錄結構 , 囊括了 使用 從上下文分析 、 功能用例模型 、 到設計模型 、 進程模型 、 部署模型等 ,涵蓋了項目大部分分析 、 設計成果 , 利用了 目標系統(tǒng)的分析 、 設計 、 編碼完全實現(xiàn)面向對象 項目以軟件構架文檔為中心 , 配合 詳細設計文檔 , 使得產品的設計比較到位 項目引入了契約式編程方法 , 編碼語言為標準 c+, 使用 對產品的質量改進幫助很大 使用 項目本身系公司的過程改進試點項目 , 集中了部門最優(yōu)秀的人員 , 大家都表現(xiàn)了良好的團隊協(xié)作精神 , 建立了密切的私人關系 作為 試點項目 , 其成果 , 已經作為模板工程在公司大力推廣 品)目錄結構 開發(fā)(產品)目錄結構的規(guī)劃原則: 滿足不同角色,在不同的項目階段,對不同類型工件進行訪問的多種場景需求 )的劃分: - 個項目所有工件的最終整合場所,用于項目級基線構建、進行集成和確認集成測試 求、設計、管理、過程等工作場所 目所有構件的開發(fā)場所 試組的測試場所 布演示場所 項目目錄參照 部開發(fā)的相對獨立、復用度強的基礎應用包,針對第三方產品進行封裝的調用接口等 組織外部獲取的源碼庫、開發(fā)組件等,主要來自于開放源碼; 目組針對目標系統(tǒng)開發(fā)的構建于底層開發(fā)包、基礎設施之上的所有構件 建于底層開發(fā)包、基礎設施與所有構件之上的可執(zhí)行子系統(tǒng)(或系統(tǒng)),通常是目標系統(tǒng)的最終交付實體 目目標系統(tǒng)主體工件目錄,包含需求、設計、集成、測試等 目的管理工件目錄 目的過程、環(huán)境、標準等支持工件目錄 證券統(tǒng)一通道平臺前景文檔 證券統(tǒng)一通道平臺補充規(guī)約 證券統(tǒng)一通道平臺軟件構架文檔 軟件開發(fā)計劃 測試計劃 系統(tǒng)性能測試報告 系統(tǒng)安裝與配置手冊 外圍服務協(xié)議 在成為下一代軟件開發(fā)的主流模式 基本的模型轉換關系: 使用一個統(tǒng)一的可視化模型來表達項目的分析、設計思想,進而通過標準的語言( 進行成員間的溝通,以減低傳遞過程中信息丟失和錯誤理解的風險 利用建模工具( 雙向工程( 支持,初步實現(xiàn) s Se s Pa rs Se s Pr on n m通過口間接使用U mp 話通道平臺實現(xiàn)層,是對話機制接口層的具體實現(xiàn)nf son 常作為一個整體提供相關領域的某類服務與支持,包括:平臺、系統(tǒng)與子系統(tǒng)產品,應用框架等被直接用來構建目標系統(tǒng)的通用底層開發(fā)包,提供各種應用軟件較為共性的功能,將被緊密地嵌入目標應用,而且通常沒有必須作為一個整體來使用的限制目標系統(tǒng)私有的公用構件,提供目標系統(tǒng)范圍內具有共性的功能,當前不能被其它系統(tǒng)復用,但有進化成為通用底層開發(fā)包的潛力業(yè)務服務協(xié)議參與者層,包括:依照協(xié)議定義調用協(xié)議務請求者,和遵循協(xié)議定義支持協(xié)議實現(xiàn) 的服務提供者通道平臺應用上下文外部構件,包括:外部的協(xié)議接口、系統(tǒng)與子系統(tǒng)se l f- tr ad e fr on te : P er ip he ra l ie r re c on te : pe ri ph er s tu b_ f ac to : sy s_ ad mi n: op e ra ti on a pp ro ac h: cu st om t ok lo gi n_ re q: lo gi n_ re ge t_ st f ac to ge t_ sy s_ ad mi n( )3: op er at io na l_ ap pr o ac h( so ur si co me th 4: cu st om t ok i d _t yp e, i d, p 5: lo gi n( cu st om t o ke n, o pe ra ti on ap pr oa 6: lo gi n_ re q( cu st om e r_ to ke n, o pe ra ti o na l_ ap pr oa 7: cr ea a c al le r c on ve rs at io ex ec ut e ca ll c o nv er sa ti 10 : d is as se mb l og i n_ re t o ou t pa r am et er r et ur r es ul t= lo gi n_ su c ce )rp an _Si 件)模型示例 證券集中交易模擬系統(tǒng)B r o k a g e S e r v e r S i m u l a t o 心服務器W i n d o w s E n t e r p r i s e D o m a i n C o n t r o l e M Q E n t e r p r i s e S e r v e S _ L i n k _ S e r v e S _ M a n a g e m e n t _ S e r v e 點服務器2W i n d o w s S u b D o m a i n C o n t r o l e M Q S i t e S e r v e S _ L i n k _ S e r v e a n k S e r v a n t G a t e w a yB a n k R e q u e s t o r G a t e w a 點服務器1W i n d o w s S u b D o m a i n C o n t r o l e M Q S i t e S e r v e S _ L i n k _ S e r v e h o n e - T r a d e S y s t e 務器I I S W e b - S e r v e rW e b - T r a d e _ A p e l f - T r a d e F r o n t E n e l f - T r a d e G a t e w a a n a g e _ C o n s o l 服務器D B F _ f i l e e r i p h e r a l S e r v a n t S c h e d u l e e r i p h e r a l C l i e n t S i m u l a t o 01;: 0;:00;無線交易網關W i r e l e s s - G a t e w a yW i r e l e s s - T r a d e _ A p 2; 3; ; 5; ; 03; 2;中心路由器網點路由器1 網點路由器2線業(yè) 02;:線電話撥號備份線點點 根據(jù)軟件應用的上下文(或業(yè)務建模),將要解決的領域問題,涉眾(特別是最終用戶)對產品的要求,相關的限制條件等,確定目標系統(tǒng)的定義 確定系統(tǒng)的范圍,用特性來定義系統(tǒng),并給出相關的優(yōu)先級順序 功能性特性將映射到系統(tǒng)用例 確定目標系統(tǒng)的市場背景 列明系統(tǒng)將要解決的重大問題 系統(tǒng)的概括定義 用戶及其需要 標識目標系統(tǒng)的最終用戶與其他涉眾,以確定需求收集的來源 分析用戶與涉眾的基本特點,以幫助獲取與辨別系統(tǒng)的需求 列明 用戶與涉眾針對目標系統(tǒng)的各類需要( 它們決定了最終系統(tǒng)需求 明確地定義目標系統(tǒng) 勾畫目標系統(tǒng)的上下文環(huán)境與邊界 列明目標系統(tǒng)的主要(能力)特性及其提供給客戶的利益 明示目標系統(tǒng)當前所做的假定和其依賴的條件,它們將可能是未來引起需求變更的重要因素 以特性( 方式定義目標系統(tǒng)的高層需求 特性表達了目標系統(tǒng)為了實現(xiàn)用戶利益而必須具備的能力( 特性是一種對外的服務,通常要求用戶提供一系列輸入以得到響應的結果 設計約束限定了目標系統(tǒng)設計乃至實現(xiàn)方案的選擇范圍 接口需求 質量范圍概略描繪了目標系統(tǒng)的重要質量需求 適用標準、硬件需求及環(huán)境需求等 目標系統(tǒng)的產品特性優(yōu)先級大致可以分為:關鍵、重要和有用 特性優(yōu)先級為項目開發(fā)順序的選擇提供了原始依據(jù)(當然目標系統(tǒng)各構件間的依賴關系對開發(fā)順序的影響更大) 特性優(yōu)先級是用于實施需求管理的重要內容 用例詳述是對功能性特性的細化 系統(tǒng)用例的整體結構適于用 在 補充規(guī)約是對公共功能性需求和質量等非功能性需求的細化 視圖 架文檔)的用途 表達(軟件)系統(tǒng)及其演化 用于系統(tǒng)涉眾之間的交流 以一致的方式來評估與比較軟件構架 用來計劃、管理與執(zhí)行系統(tǒng)開發(fā)的各項活動 表達系統(tǒng)的固有特性與支撐原則,以引導可接受的變更 驗證系統(tǒng)的實現(xiàn)符合構架描述 充實軟件密集系統(tǒng)的構架知識庫(參考構架) 視圖 軟件系統(tǒng)本身包含的內容太豐富且復雜,就像建筑一樣,人們無法同時從一個角度看到其全貌,因此需要 使用多個視圖( 表達系統(tǒng)的構架 視圖是 視點( 實例,并擁有一個或多個模型( 4+1視圖分別從外部功能,靜態(tài)結構,動態(tài)行為,運行時刻形態(tài)和物理部署拓撲等方面來描述目標軟件的構架 構架設計的目標首先要滿足目標系統(tǒng)的關鍵功能需求 目標系統(tǒng)的質量需求、接口要求等對構架往往產生決定性的影響 項目開發(fā)策略,例如第三方構件的選用等是展開構架設計的重要基礎 變更案例( 求構架必須具備相應的可擴展性和適應性 設計約束等則限定了構架方案選擇的范圍 用例視圖從用戶使用的角度描述系統(tǒng)構架的基本外部行為特性,通常包含業(yè)務用例模型與系統(tǒng)用例模型。 通常應選取用例模型中對系統(tǒng)構架的內容產生重大影響的應用場景與用例集合,這些用例代表了系統(tǒng)主要的核心功能,往往決定了系統(tǒng)構架的基本組成元素。 描述目標系統(tǒng)的關鍵構架機制與概念,主要表達系統(tǒng)為了滿足主要軟件需求,而采用的相關構架模式、以及引用的重要概念 標準的 是為了方便涉眾理解構架,可以增設此節(jié) 邏輯視圖從系統(tǒng)內在邏輯結構的角度描述系統(tǒng)的基本結構與動態(tài)行為,通常包括分析模型( 設計模型( 及數(shù)據(jù)模型( 。 設計模型說明了系統(tǒng)的組成元素、組織架構和關系,并描述了各組成元素的協(xié)作以及狀態(tài)轉換關系等(通過用例實現(xiàn) 進程視圖從系統(tǒng)運行時刻的角度,描述系統(tǒng)劃分為進程、線程的結構,及其動態(tài)關系。 模型主要說明進程、線程的分類,系統(tǒng)構架敏感的主要邊界類、控制類對象等在進程、線程中的分布,以及它們之間的創(chuàng)建、交互與消息通訊關系等 部署視圖從系統(tǒng)軟硬件物理配置的角度,描述系統(tǒng)的網絡邏輯拓撲結構。 模型包括各個物理節(jié)點的硬件與軟件配置,網絡的邏輯拓撲結構,節(jié)點間的交互與通訊關系等。同時還表達了進程視圖中的各個進程具體分配到物理節(jié)點的映射關系 實施視圖從軟件編譯與構建的角度,描述系統(tǒng)實施構件的組織結構與依賴關系(主要是編譯依賴)。 模型包括實施子系統(tǒng)和構件結構,及其依賴關系。同時還表達了邏輯視圖中各個包和類分配到實施視圖中的子系統(tǒng)和構件的映射關系 軟件系統(tǒng)的本質特征是由表及里、至頂而下的一種層次結構,其構成是所有相對獨立的構件或元素 而 將所有構件或元素組織成為一個有機整體的正是無所不在的契約 在最表層,即系統(tǒng)與外部環(huán)境之間,是最終用戶與系統(tǒng)整體進行交互的契約(通??梢猿橄蟪上到y(tǒng)用例);次之,各子系統(tǒng) /構件之間,是它們相互通訊協(xié)作的契約;最后,類與類、類操作、以及獨立函數(shù)之間,是它們相互調用的契約 最 終 用 戶 與 系 統(tǒng) 整 體 進行 交 互 的 契 約( 通 常 可 以 抽 象 成 系 統(tǒng)用 例 )系 統(tǒng)子 系 統(tǒng)子 系 統(tǒng)/ 構 件各 子 系 統(tǒng) / 構 件 之 間 相 互通 訊 協(xié) 作 的 契 約用 戶子 系 前置條件 ,指在執(zhí)行某種操作(例如啟動用例的一條執(zhí)行路徑、調用類的一個方法等)之前,目標和其上下文必須共同滿足的條件(例如系統(tǒng)處于正常運行狀態(tài)、用戶賬號存在并未凍結、對象從其上下文獲取的資源處于可用狀態(tài)等) 合法的輸入 (例如發(fā)送給子系統(tǒng)的請求消息格式正確、取值在規(guī)定范圍內等) 期望的輸出 (例如系統(tǒng)返回給用戶需要的查詢結果等) 后置條件 ,指無論某種操作的執(zhí)行過程怎樣,結束后,目標和其上下文必須達到的狀態(tài)或滿足的條件(例如類的不變式不被打破、上下文資源被釋放、系統(tǒng)不出現(xiàn)不能預料的邊際效應等) 如果以契約的觀點來觀察系統(tǒng)的外部行為,我們不妨在契約式設計之上再引入契約式需求分析的概念,這樣契約式開發(fā)顯得更為完整 用例本質上是表述目標系統(tǒng)與其最終用戶之間交互的契約,它使得需求規(guī)格的定義變得更加精確和全面,而傳統(tǒng)的功能及質量需求規(guī)格說明往往容易遺漏前置條件、輸入格式等重要細節(jié) 用例強調實現(xiàn)體現(xiàn)了用戶利益的目標,在較低層面定義契約時,同樣可以顯式地描述諸如一個類操作的目標 by 面向對象的分析、設計其首要問題就是類的劃分與職責分配 類的職責被確定后,通過定義類的不變式,限定對象的有效狀態(tài)空間;通過定義類操作的前置、后置條件和輸入輸出,精確地描述類的行為 契約同樣有助于精確地表達對象間的協(xié)作,因為這些協(xié)作步驟將遵從一系列的契約 契約式設計可以通過測試驅動開發(fā)等最佳實踐來驅使貫徹 契約式編程要求客戶( 碼在調用服務( 碼時也要遵守契約,意味著雙方共同承擔使運行獲得成功的責任,使得代碼間職責的分配更為均衡、合理,避免了服務代碼中防錯式設計的過度蔓延 在代碼中加入判別契約是否被遵守的語句(例如 使得編碼中的缺陷( 及時地暴露出來 契約式編程結合測試先行、單元測試等最佳實踐,是實現(xiàn)高質量構造( 捷徑 先編寫測試代碼,之后以通過所有測試為目標來驅動實現(xiàn)源碼的開發(fā),這通常也稱作 測試驅動開發(fā) 先編寫測試代碼,使得實施員對目標源碼的外部行為能先建立明確無誤

溫馨提示

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

評論

0/150

提交評論