亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        持續(xù)集成在商業(yè)銀行的實踐探索

        2013-12-31 00:00:00孫紹偉李明蘇小彥姚元慶
        時代金融 2013年29期

        【摘要】在完善銀行信息體系的建設(shè)中,如何將專業(yè)的信息技術(shù)和工具與銀行的實際相結(jié)合,成為當(dāng)前銀行業(yè)關(guān)注的重點(diǎn)。本文在對商業(yè)銀行軟件研發(fā)現(xiàn)狀及持續(xù)集成相關(guān)概念進(jìn)行分析的基礎(chǔ)上,對商業(yè)銀行應(yīng)用持續(xù)集成的實踐進(jìn)行了研究探索,詳細(xì)討論了持續(xù)集成在商業(yè)銀行軟件研發(fā)過程中所發(fā)揮的積極作用。

        【關(guān)鍵詞】持續(xù)集成 商業(yè)銀行 實踐

        隨著國內(nèi)銀行體系的日益開放和監(jiān)管要求的日益加強(qiáng),我國銀行信息體系的內(nèi)部建設(shè)也在經(jīng)歷著巨大的轉(zhuǎn)變。經(jīng)過20年的高速發(fā)展,我國銀行科技部門及各業(yè)務(wù)部門的現(xiàn)代信息技術(shù)的知識和管理水平得到了快速積累和提高,信息風(fēng)險防控能力、IT治理能力及軟件研發(fā)能力等方面都取得了長足進(jìn)步和發(fā)展。但是,在完善銀行信息體系的建設(shè)中,如何將專業(yè)度頗高的信息技術(shù)和工具與銀行的實際相結(jié)合,成為當(dāng)前銀行業(yè)關(guān)注的重點(diǎn)。

        近年來,商業(yè)銀行的業(yè)務(wù)規(guī)模取得了長足發(fā)展,軟件研發(fā)的數(shù)量和規(guī)模不斷增長,軟件集成的復(fù)雜度和頻度也不斷提升。各商業(yè)銀行通過將持續(xù)集成應(yīng)用到軟件研發(fā)的實踐過程中,切實在提高軟件資產(chǎn)安全、降低項目研發(fā)風(fēng)險、提高軟件產(chǎn)品質(zhì)量、提升研發(fā)效率等方面發(fā)揮了重要作用。

        一、商業(yè)銀行軟件研發(fā)現(xiàn)狀

        當(dāng)前,國內(nèi)商業(yè)銀行業(yè)務(wù)應(yīng)用系統(tǒng)規(guī)模龐大、功能繁多、需求變更頻繁,采用傳統(tǒng)瀑布模型的開發(fā)和管理模式運(yùn)作的項目組在項目研發(fā)過程中遇到很多影響軟件質(zhì)量與管理效力的問題:

        (一)工具種類繁多,未實施有效集成

        為提高信息科技的基礎(chǔ)管理能力,商業(yè)銀行陸續(xù)采購了配置管理、變更管理、缺陷管理和測試管理工具等涉及軟件研發(fā)生命周期不同階段的管理工具,工具不僅種類多而且工具之間缺乏有效的集成,數(shù)據(jù)無法有效共享。比如,配置管理工具的代碼變更集未同缺陷管理工具的缺陷實例進(jìn)行關(guān)聯(lián),無法方便、及時地獲取代碼變更集和需修復(fù)缺陷的對應(yīng)關(guān)系。

        (二)手工操作繁瑣,自動化程度低

        在商業(yè)銀行軟件開發(fā)過程中,大量地開發(fā)和管理類活動均采用手動過程,不僅降低了整個開發(fā)團(tuán)隊的工作效率,而且增加了引入人為失誤的風(fēng)險,重復(fù)執(zhí)行也浪費(fèi)了大量人力,使得發(fā)現(xiàn)、解決問題變得異常困難。比如測試人員在測試環(huán)境中所發(fā)現(xiàn)的問題,可能是由于部署人員忘記拷貝了某個配置文件,也可能是由于沒有刪除某些臨時文件。

        (三)集成構(gòu)建較晚,無法有效控制產(chǎn)品交付時間

        商業(yè)銀行應(yīng)用系統(tǒng)的架構(gòu)一般分為前、中、后臺三層。一個項目往往由一個主辦方和多個協(xié)辦方統(tǒng)一協(xié)調(diào)完成,應(yīng)用系統(tǒng)之間的耦合度越來越緊密。同一系統(tǒng)的不同層級之間或不同應(yīng)用系統(tǒng)之間的集成構(gòu)建往往到了產(chǎn)品發(fā)布前的最終集成時才剛剛開始,使得“從代碼到編譯集成”以及“從編譯集成到可交付軟件”2個過程的時間長短無法有效控制。比如一般解決編譯甚至測試出現(xiàn)十幾個問題,可能會耗費(fèi)團(tuán)隊一天的時間來修補(bǔ)出現(xiàn)的錯誤。但是,如果到一個月以后的集成構(gòu)建才發(fā)現(xiàn)這些問題,這些問題可能會出現(xiàn)數(shù)十個,有時可能會出現(xiàn)近百個錯誤,這可能會花費(fèi)團(tuán)隊兩到三天時間進(jìn)行修補(bǔ),構(gòu)建越不頻繁,變化的堆積也就越多,開發(fā)部門應(yīng)對這些變化的所花費(fèi)的時間也就越長。

        為解決上述問題,進(jìn)一步提高軟件的產(chǎn)品質(zhì)量和產(chǎn)品研發(fā)的工作效率、保證軟件系統(tǒng)處于一個穩(wěn)定可控的狀態(tài),商業(yè)銀行紛紛引入了持續(xù)集成的理念,并和已有管理工具有效融合。

        二、持續(xù)集成的方法論

        在一個人開發(fā)的項目中,依賴外部系統(tǒng)比較少的情況下,軟件集成不會成為太大的問題,但是隨著項目復(fù)雜度的增加,就會對集成和確保軟件組件能夠一起工作提出更多的要求——要早集成、常集成。等到項目快結(jié)束時才來集成會導(dǎo)致各種各樣的軟件質(zhì)量問題,解決這些問題代價很大,常常會導(dǎo)致項目延期。持續(xù)集成以較小增量的方式迅速解決這些風(fēng)險。

        (一)持續(xù)集成的概念

        大師Martin Fowler對持續(xù)集成是這樣定義的: 持續(xù)集成是一種軟件開發(fā)實踐,是現(xiàn)代軟件開發(fā)的必備配置。在持續(xù)集成過程中,團(tuán)隊成員可以頻繁集成他們的工作成果,每次集成會經(jīng)過自動構(gòu)建的驗證,從而盡快地檢測出集成的錯誤。

        (二)持續(xù)集成的特征

        1.源代碼編譯。持續(xù)的源代碼編譯是持續(xù)集成最基本、最常見的特征。編譯指的是將開發(fā)人員編寫的源代碼生成可執(zhí)行的代碼。

        2.測試。沒有自動化、持續(xù)測試的持續(xù)集成不能算是真正的持續(xù)集成。沒有自動化的測試,開發(fā)人員或其他項目風(fēng)險承擔(dān)者對軟件的變更很難有信心。

        3.審查。自動化的代碼審查(包括靜態(tài)和動態(tài)分析)可以通過強(qiáng)制遵守規(guī)則來提高軟件的質(zhì)量。

        4.部署。持續(xù)部署可以在任何時候都可以拿出能工作的、可部署的軟件。

        5.反饋。持續(xù)集成的本質(zhì)是及時向開發(fā)人員和項目風(fēng)險承擔(dān)這提供反饋信息。

        (三)持續(xù)集成的實施要素

        持續(xù)集成是一個以人為核心的過程,常常與一個或多個工具相關(guān)聯(lián),但持續(xù)集成遠(yuǎn)不只是個工具。實施持續(xù)集成需要五個要素:

        1.開發(fā)人員。當(dāng)一名開發(fā)者根據(jù)分配的任務(wù)進(jìn)行了所有的修改之后,他將執(zhí)行一次私有構(gòu)建,然后將變更提交到版本控制庫。只有當(dāng)這些變更提交到版本控制庫后,才會開始后續(xù)的集成構(gòu)建。

        2.版本控制庫。版本控制庫的目的是通過一個受控的訪問庫來管理源代碼和其他軟件資產(chǎn)的變更。提供一個“單一源代碼位置”,這樣所有的代碼都可以從一個權(quán)威的位置獲得。同時本版控制庫能夠進(jìn)行回溯,取到源代碼和其他文件的不同版本。

        3.持續(xù)集成服務(wù)器。持續(xù)集成服務(wù)器在變更提交版本控制庫之后執(zhí)行集成構(gòu)建。集成構(gòu)建可以采用手工、定時和輪詢的方式進(jìn)行。

        4.自動構(gòu)建。持續(xù)集成過程會經(jīng)常集成軟件,這需要通過構(gòu)建來完成。通過使用自動化構(gòu)建腳本可以可靠地自動執(zhí)行編譯、測試等任務(wù),甚至可以執(zhí)行代碼檢查和部署。構(gòu)建策略是成功的持續(xù)集成過程最重要的方面,如果缺少適當(dāng)?shù)臉?gòu)建過程,持續(xù)集成就難以發(fā)揮作用。

        5.反饋機(jī)制。持續(xù)集成的一個關(guān)鍵目標(biāo)是提供集成構(gòu)建的反饋信息。反饋機(jī)制包括郵件、短信息,即時通訊等方式。

        三、持續(xù)集成在商業(yè)銀行的實踐

        近幾年,國內(nèi)商業(yè)銀行為提高風(fēng)險防控能力,適應(yīng)互聯(lián)網(wǎng)金融的發(fā)展需要,快速響應(yīng)銀行客戶的需求,紛紛引入了持續(xù)集成來降低產(chǎn)品研發(fā)風(fēng)險、縮短產(chǎn)品研發(fā)周期,并解決軟件研發(fā)過程中出現(xiàn)的問題。

        (一)持續(xù)集成的流程

        商業(yè)銀行的持續(xù)集成流程一般都以自動化為基礎(chǔ),以配置管理為核心,通過將配置管理、變更管理和構(gòu)建管理工具有效集成,實現(xiàn)了代碼下載、編譯打包、發(fā)布部署等功能的標(biāo)準(zhǔn)化、流程化、工具化、自動化,盡早而頻繁地構(gòu)建以盡早發(fā)現(xiàn)系統(tǒng)問題、保證系統(tǒng)的正確性。其流程如圖所示:

        持續(xù)集成的工作流程為:

        第一,通過集成變更管理與配置管理工具,實現(xiàn)需求變更(缺陷)與代碼變更集的對應(yīng)關(guān)系。以需求變更(缺陷)為基礎(chǔ)能查詢到修改的代碼,以變更集為基礎(chǔ)查詢到對應(yīng)的需求變更(缺陷)。

        第二,對已經(jīng)完成代碼修改的需求變更(缺陷),查詢到對應(yīng)的變更集,將變更集從開發(fā)分支歸并到測試分支,在測試分支創(chuàng)建全量標(biāo)記。

        第三,將測試分支全量代碼下載到集統(tǒng)一編譯服務(wù)器。

        第四,利用構(gòu)建腳本實現(xiàn)代碼的自動化編譯和創(chuàng)建程序包。

        第五,利用集成的代碼檢查工具,實現(xiàn)自動化的代碼檢查并發(fā)布代碼檢查報告。

        第六,利用FTP將程序包發(fā)布并部署到測試服務(wù)器,并執(zhí)行自動化測試,同時發(fā)布測試報告。

        持續(xù)集成流程涉及的人員角色分別為:

        需求或測試人員:針對測試中發(fā)現(xiàn)的問題在變更(需求、缺陷、工作任務(wù))管理工具中進(jìn)行登記。

        項目經(jīng)理:在變更管理工具中將工作分配給具體的開發(fā)人員。

        開發(fā)人員:接受開發(fā)任務(wù),在配置管理工具的開發(fā)分支建立變更集,同時將變更集和變更管理工具中的任務(wù)進(jìn)行關(guān)聯(lián)。在開發(fā)完成后,在本地機(jī)器執(zhí)行完一次私有構(gòu)建后,將修改后的代碼以變更集的形式提交到配置管理服務(wù)器。

        構(gòu)建管理員:手動啟動持續(xù)集成運(yùn)行流程,并維護(hù)相關(guān)的配置信息。

        業(yè)務(wù)測試人員:對已完成部署的軟件進(jìn)行測試,并在變更管理工具中填報測試結(jié)果。

        代碼審查人員:查看持續(xù)集成服務(wù)器自動發(fā)送的代碼審查報告。

        持續(xù)集成服務(wù)器可以快速地反饋構(gòu)建過程中的問題,同時也要求項目組對引起構(gòu)建失敗的原因盡快處理,以保障后續(xù)階段的順利進(jìn)行。

        (二)持續(xù)集成的主要功能

        持續(xù)測試:自動化測試提供對單元測試和集成測試的支持,通過調(diào)用自動化測試工具生成測試報告。如有需要,還能給出代碼覆蓋度分析報告。

        持續(xù)構(gòu)建:實現(xiàn)對代碼的自動化下載、編譯和打包。

        持續(xù)評審:基于配置庫中的代碼進(jìn)行代碼規(guī)范性檢查,檢查內(nèi)容包括商業(yè)制定的JAVA編碼規(guī)范。

        持續(xù)部署:將構(gòu)建工作的輸出持續(xù)部署到目標(biāo)測試環(huán)境,并利用自動化部署腳本完成產(chǎn)品部署工作。

        持續(xù)反饋:通過各種渠道將上述持續(xù)性工作的具體結(jié)果分發(fā)出去,包括郵件、FTP等方式。

        四、持續(xù)集成的積極作用

        從技術(shù)角度來看,持續(xù)集成幫助商業(yè)銀行軟件研發(fā)團(tuán)隊更高效地工作。這些團(tuán)隊有些是跨部門的,有些是在地理上分散的。持續(xù)集成解決了許多傳統(tǒng)模式下研發(fā)團(tuán)隊都經(jīng)歷過的早期陷阱,使更多人可以利用敏捷研發(fā)模式,并讓敏捷方法更高效地工作。

        從業(yè)務(wù)的角度來看,持續(xù)集成又幫助商業(yè)銀行提供了更好的業(yè)務(wù)成果。通過實施持續(xù)集成,在問題的早期并且還是小問題時發(fā)現(xiàn)它們,而不是等到這些問題變成大問題且更難解決時才發(fā)現(xiàn)它們,實現(xiàn)了商業(yè)銀行將產(chǎn)品更快地推向市場。同時還在產(chǎn)品開發(fā)過程中更快速地響應(yīng)市場需求,為未來的互聯(lián)網(wǎng)金融打下了堅實的基礎(chǔ)。

        (一)降低軟件研發(fā)風(fēng)險

        1.隨時隨地生成可部署的軟件。從客戶和用戶的角度看,一個可以部署或執(zhí)行的構(gòu)建產(chǎn)物才是最重要的。在使用持續(xù)集成工具的環(huán)境中,開發(fā)人員對源文件進(jìn)行修改、提交,持續(xù)集成服務(wù)器會將這部分修改與其他的代碼進(jìn)行整合、測試,并重新生成最終產(chǎn)品。如果其中任何一個環(huán)節(jié)出現(xiàn)了問題,相關(guān)人員可以很快得到反饋。在沒有使用持續(xù)集成工具的環(huán)境中,大量的問題只有在產(chǎn)品發(fā)布前進(jìn)行最終集成時才會發(fā)現(xiàn),開發(fā)團(tuán)隊往往在發(fā)布前承受著巨大的壓力,并有可能導(dǎo)致產(chǎn)品延遲發(fā)布或者在進(jìn)行Hotfix(修補(bǔ)程序)的過程中引入更多、更嚴(yán)重的缺陷。

        2.盡早發(fā)現(xiàn)軟件缺陷。持續(xù)集成的過程可以幫助開發(fā)人員快速發(fā)現(xiàn)并解決問題。與開發(fā)人員的機(jī)器相比,持續(xù)集成服務(wù)器運(yùn)行在相對穩(wěn)定、干凈的環(huán)境中(可減小跟蹤調(diào)試的難度)。持續(xù)集成過程的失敗,通常意味著最近一次更新破壞了軟件現(xiàn)有功能或引入了新的缺陷。在持續(xù)集成過程結(jié)束后,除了構(gòu)建結(jié)果,通常會生成代碼分析報告,幫助項目管理人員更好地了解并改善項目。

        3.提高軟件產(chǎn)品質(zhì)量。持續(xù)集成過程要求開發(fā)或測試人員事先編寫好很多的測試用例,在代碼提交后就對代碼進(jìn)行測試,這樣的盡早測試能夠最快速地發(fā)現(xiàn)軟件代碼中的錯誤和缺陷,及時修改,從而提高軟件的質(zhì)量。在項目研發(fā)過程中,編寫測試用例都至少會額外增加30%的工作量。初看,這些工作增加了工作量,在時間和資金上是很大的開銷。然而,在商業(yè)銀行實施持續(xù)集成過程中,要求每個項目必須有明確的測試報告,因此編寫測試用例是必要的,而且這樣也省去了人工測試的時間,確保了軟件產(chǎn)品的質(zhì)量,有利于提高商業(yè)銀行軟件產(chǎn)品的質(zhì)量管理。

        (二)轉(zhuǎn)變軟件研發(fā)理念

        持續(xù)集成的理念是持續(xù)集成的靈魂。持續(xù)集成的實施不僅是持續(xù)集成平臺的搭建,更是一個系統(tǒng)性工程,涉及開發(fā)理念、測試?yán)砟詈凸芾砝砟畹霓D(zhuǎn)變。

        開發(fā)理念的轉(zhuǎn)變。開發(fā)人員針對每個變更(需求、缺陷)編寫代碼,代碼提交后觸發(fā)自動化構(gòu)建、代碼檢查和部署測試等。該流程使得開發(fā)人員意識到不僅需要編寫功能實現(xiàn)的代碼,還要確保提交的代碼不會造成其他成員的代碼構(gòu)建失敗。

        測試?yán)砟畹霓D(zhuǎn)變。在開發(fā)人員編碼時,測試人員要同步編寫相對應(yīng)的測試用例并對已開發(fā)功能進(jìn)行測試,需求人員、開發(fā)人員和測試人員組成小團(tuán)隊以并行迭代方式協(xié)同工作。

        管理理念的轉(zhuǎn)變。持續(xù)集成反映了系統(tǒng)開發(fā)的真實進(jìn)度和質(zhì)量,管理人員從關(guān)注計劃和文檔向關(guān)注持續(xù)集成的結(jié)果轉(zhuǎn)變。應(yīng)管理和效率并重,持續(xù)集成只是管理的一種手段。

        要讓所有的干系人接受持續(xù)集成的理念,商業(yè)銀行采取了從易到難、逐步推進(jìn)的方式,從自動化編譯開始到自動化代碼審查,再到自動化測試,逐步地讓項目組成員認(rèn)識與接受,最終實現(xiàn)整體的自動化。

        (三)加強(qiáng)團(tuán)隊之間溝通

        軟件開發(fā)本身就是一項強(qiáng)調(diào)溝通和協(xié)作的活動,持續(xù)集成以制度的形式加強(qiáng)了商業(yè)銀行不同部門成員之間溝通和協(xié)作,因為每一次的構(gòu)建都會涉及到項目軟件團(tuán)隊中的所有成員,“每一次構(gòu)建的成功,是整個團(tuán)隊的成功;而每一次構(gòu)建的失敗,也將是整個團(tuán)隊的失敗”,因而所有成員的最終目標(biāo)都是朝著每次的成功構(gòu)建努力。

        (四)增強(qiáng)安全感

        軟件開發(fā)過程最終表現(xiàn)為人與人之間各種形式的合作,安全感與信心是合作中最基礎(chǔ)也是最重要的。通過使用持續(xù)集成工具,開發(fā)人員可以了解到新的代碼是否引入了缺陷,管理人員可以通過使用各種形式的報告對項目進(jìn)行評估。不斷發(fā)布的構(gòu)建結(jié)果,使測試人員得以自始至終地參與到整個開發(fā)過程中,而不是在軟件開發(fā)的最后階段才加入團(tuán)隊。

        五、實踐總結(jié)

        持續(xù)集成不僅是一種軟件研發(fā)技術(shù)上的實現(xiàn),也是一種管理制度的實現(xiàn),需要整個團(tuán)隊的密切配合才能實現(xiàn)。商業(yè)銀行大多在歷經(jīng)現(xiàn)狀調(diào)研、試點(diǎn)驗收、實施推廣等工作后.最終實現(xiàn)了持續(xù)集成在軟件研發(fā)過程中的順利實施,并達(dá)到了預(yù)期的結(jié)果,為商業(yè)銀行信息化的發(fā)展開啟了全新一頁。

        參考文獻(xiàn)

        [1]陳剛,羌鈴鈴.持續(xù)集成在項目中的分析與研究,電腦編程技巧與維護(hù),2011(24):12-15.

        [2]黃永剛,王斯洋.持續(xù)集成方法在項目中的應(yīng)用實踐.中國金融電腦,2008(8).

        [3]王英.持續(xù)集成在軟件項目管理中的作用.福建電腦,2009 (12).

        作者簡介:孫紹偉(1981-),男,漢族,北京人,供職于中國農(nóng)業(yè)銀行軟件開發(fā)中心,研究方向:金融信息技術(shù);李明(1971-),女,漢族,北京人,供職于中國農(nóng)業(yè)銀行軟件開發(fā)中心,研究方向:金融信息技術(shù);蘇小彥(1982-),女,漢族,河北廊坊人,供職于中國農(nóng)業(yè)銀行軟件開發(fā)中心,研究方向:金融信息技術(shù);姚元慶(1977-),男,漢族,遼寧凌海人,供職于中國農(nóng)業(yè)銀行軟件開發(fā)中心,研究方向:金融信息技術(shù)。

        成年午夜无码av片在线观看 | 国产二级一片内射视频插放| 性欧美牲交xxxxx视频欧美| 国产成人亚洲精品无码mp4| 中文字幕美人妻亅u乚一596| 久草视频国产| 人妻无码aⅴ不卡中文字幕| 中字幕久久久人妻熟女| 97色噜噜| 18禁国产美女白浆在线| 高清亚洲成av人片乱码色午夜| 亚洲码专区亚洲码专区| 一区二区三区视频亚洲| 妃光莉中文字幕一区二区| 玩弄人妻少妇精品视频| 亚洲中文字幕久在线| a级黑人大硬长爽猛出猛进| 国产精品亚洲专区无码web| 国产成人久久精品流白浆| 日韩日本国产一区二区| 精品三级国产一区二区三 | 久久精品国产精品亚洲毛片| 精品国产三级a| 亚洲综合网一区二区三区| 91中文在线九色视频| 自拍偷拍 视频一区二区| 国产精品无码av无码| 精品国产一区二区三区香蕉| 国产嫖妓一区二区三区无码| av无码天一区二区一三区| 中文字幕日韩一区二区不卡 | 无码成人AV在线一区二区| 日本午夜精品一区二区三区| 日韩视频在线观看| 成人无码α片在线观看不卡| 国产成人亚洲综合无码| 2020国产精品久久久久| 蜜桃色av一区二区三区麻豆| 91精品国自产拍老熟女露脸| 精品久久久久久无码人妻热| 国产内射XXXXX在线|