国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

軟件產(chǎn)品線的企業(yè)工程實踐研究

2014-04-24 06:02:46王汗周翔

王汗 周翔

摘要:軟件產(chǎn)品線作為利用公共資產(chǎn)來構(gòu)建一系列相關(guān)系統(tǒng)的方法,能夠顯著提高生產(chǎn)率、縮短上市時間、提升產(chǎn)品質(zhì)量和客戶滿意度。在過去數(shù)十年的實踐中,軟件產(chǎn)品線技術(shù)取得了廣泛的成功,但也同時暴露了諸多問題,引來了許多爭議。本文闡述了軟件產(chǎn)品線的基本概念,根據(jù)實際案例探討了在軟件企業(yè)中實施軟件產(chǎn)品線面臨的機(jī)遇和挑戰(zhàn),指出了軟件產(chǎn)品線的企業(yè)工程實踐前景。

關(guān)鍵詞:軟件體系結(jié)構(gòu) 軟件產(chǎn)品線 軟件重用

1 概述

軟件產(chǎn)品線工程是使用平臺和大規(guī)模定制開發(fā)軟件應(yīng)用(軟件密集型系統(tǒng)和軟件產(chǎn)品)的一個范例[1]。在過去數(shù)十年的實踐中,研究者認(rèn)識到軟件產(chǎn)品線的實施能夠顯著提高生產(chǎn)率、縮短上市時間、提高產(chǎn)品質(zhì)量和客戶滿意度。但同時部分軟件開發(fā)組織也發(fā)現(xiàn)軟件產(chǎn)品線的實施并不總是一帆風(fēng)順,它有時不但不能提高效益,反而影響了企業(yè)正常的開發(fā)進(jìn)度,造成了開發(fā)進(jìn)程的混亂[2][3]。本文將針對這些問題,對軟件產(chǎn)品線的工程實踐及其前景展開研究。

2 軟件產(chǎn)品線概述

2.1 軟件產(chǎn)品線的基本概念

軟件產(chǎn)品線的定義為:“具有一組可管理的公共特性的軟件密集性系統(tǒng)的集合,這些系統(tǒng)滿足特定的市場需求或任務(wù)需求,并且按照預(yù)定義的方式從一個公共的核心資產(chǎn)集開發(fā)得到”[4]。在這個定義中,所謂核心資產(chǎn),指的是那些構(gòu)成軟件產(chǎn)品線基礎(chǔ)的資產(chǎn)。核心資產(chǎn)通常包括(但不局限于)構(gòu)架、可重用軟件組件、領(lǐng)域模型、需求陳述、文檔和規(guī)格說明、性能模型、進(jìn)度表、預(yù)算、測試計劃、測試用例、工作計劃和過程描述。構(gòu)架是核心資產(chǎn)集合中的關(guān)鍵?;诋a(chǎn)品線的軟件產(chǎn)品開發(fā)的特點就在于維護(hù)這樣一個核心資產(chǎn)庫,并在開發(fā)過程中實現(xiàn)對這些核心資產(chǎn)的重用。軟件產(chǎn)品從產(chǎn)品線體系結(jié)構(gòu)獲取自己的體系結(jié)構(gòu),實例化并配置產(chǎn)品線構(gòu)件集的一個子集,并開發(fā)產(chǎn)品特定的代碼。實例化的軟件產(chǎn)品構(gòu)成了領(lǐng)域軟件產(chǎn)品家族。

2.2 軟件產(chǎn)品線的基本特征

圖1 軟件產(chǎn)品線開發(fā)活動[4]

簡而言之,產(chǎn)品線包括了核心資產(chǎn)的開發(fā)和利用了核心資產(chǎn)的產(chǎn)品開發(fā),這兩者均需要技術(shù)和組織的管理。通常而言,產(chǎn)品和核心資產(chǎn)的開發(fā)密不可分、彼此相關(guān)。它們的關(guān)系如圖1所示。每個圓圈代表一個基本活動,三者連接在一起并持續(xù)運(yùn)轉(zhuǎn),表明這三者是必不可少的、緊密連接的、可能以任何次序出現(xiàn),并緊密循環(huán)。

軟件產(chǎn)品線是一個系統(tǒng)性的大規(guī)模的復(fù)用方法,貫穿軟件開發(fā)的所有階段,其本質(zhì)特點在于強(qiáng)調(diào)領(lǐng)域體系結(jié)構(gòu)的重要性以及面向特定領(lǐng)域的市場導(dǎo)向。它具有如下幾個特征:重用導(dǎo)向貫穿始終、以體系結(jié)構(gòu)為核心、市場目標(biāo)驅(qū)動、面向特定領(lǐng)域[6]。

在軟件產(chǎn)品線方法中,重用是有計劃的、能夠?qū)崿F(xiàn)的和強(qiáng)制的(而非偶然的小粒度的重用)。所有核心資產(chǎn)都是為重用而設(shè)計,為能夠重用于多個系統(tǒng)進(jìn)行優(yōu)化。整個產(chǎn)品線被視為一個整體,而不是可以區(qū)別對待和維護(hù)的多個產(chǎn)品。軟件產(chǎn)品線中的產(chǎn)品由核心資產(chǎn)中的組件組織而成,但這些組件都是由產(chǎn)品線構(gòu)架指定的,且按照預(yù)定義的方式進(jìn)行組裝。開發(fā)組織為最終用戶提供的每個產(chǎn)品都不過是核心資產(chǎn)的一個簡單定制。

3 軟件開發(fā)案例分析

3.1 “基于海量視頻的事件軌跡快速檢索平臺”(MVRP)概述

某單位與全國多地的公安機(jī)關(guān)有著長期的良好合作關(guān)系,在市場調(diào)研中該單位發(fā)現(xiàn)目前警方迫切需要一套軟件系統(tǒng)對海量監(jiān)控視頻進(jìn)行智能分析,以實現(xiàn):實施視頻摘要,減少監(jiān)控視頻時長;檢索用戶關(guān)注目標(biāo),進(jìn)行目標(biāo)跟蹤和目標(biāo)關(guān)聯(lián);將目標(biāo)軌跡映射至真實空間,結(jié)合地理信息系統(tǒng),獲取目標(biāo)運(yùn)動軌跡,預(yù)測目標(biāo)運(yùn)動路線。警方希望該軟件系統(tǒng)能夠減輕案件偵查過程中線索目標(biāo)的查詢檢索工作,縮短目標(biāo)檢索所需時間,提高破案效率。

圖2 MVRP總體架構(gòu)

該單位在進(jìn)行軟件開發(fā)時,將此軟件系統(tǒng)定名為“基于海量視頻的事件軌跡快速檢索平臺”(MVRP)。并將MVRP設(shè)計為如下三個部分(如圖2所示):

①目標(biāo)軌跡時空分析子系統(tǒng):該子系統(tǒng)與用戶直接交互,供用戶調(diào)看監(jiān)控視頻,指定檢索目標(biāo),將用戶指令進(jìn)行下發(fā);并實現(xiàn)目標(biāo)運(yùn)動軌跡的真實空間顯示,預(yù)測目標(biāo)可能的運(yùn)動軌跡。

②綜合調(diào)度控制服務(wù)子系統(tǒng):該系統(tǒng)接收用戶指令,向合適的智能視頻分析單元下發(fā)指令;接收智能視頻分析單元的運(yùn)行匯報,向用戶加以匯報。

③智能視頻分析服務(wù)子系統(tǒng):該系統(tǒng)接收指令;進(jìn)行視頻摘要、檢索與分析。

3.2 MVRP開發(fā)分析

在MVRP的開發(fā)進(jìn)程中,系統(tǒng)架構(gòu)人員為了保證其設(shè)計的系統(tǒng)架構(gòu)穩(wěn)妥可靠,能夠按期實現(xiàn),同時也根據(jù)自身經(jīng)驗,直接以其親身參與開發(fā)的另一個軟件系統(tǒng)“高級視頻監(jiān)控系統(tǒng)”(AVSS)為藍(lán)本,進(jìn)行開發(fā)。

AVSS是一個集視頻圖像監(jiān)控和安保綜合管理為一體的大型分布式網(wǎng)絡(luò)平臺。該系統(tǒng)實現(xiàn)對分布在大范圍內(nèi)的視頻監(jiān)控設(shè)施進(jìn)行調(diào)度管理,同時結(jié)合地理信息服務(wù)系統(tǒng),使得用戶能夠在直觀、良好的界面中接收報警信息,調(diào)看指定地點的監(jiān)控視頻。該系統(tǒng)主要由兩個分系統(tǒng)構(gòu)成:視頻應(yīng)用分系統(tǒng)和視頻服務(wù)分系統(tǒng)。視頻應(yīng)用分系統(tǒng)實現(xiàn)與用戶交互,使用戶在一目了然的地圖界面上調(diào)看監(jiān)控點視頻,監(jiān)控各點報警信息及監(jiān)控區(qū)域整體態(tài)勢。視頻服務(wù)分析同實現(xiàn)后臺的數(shù)據(jù)服務(wù),實現(xiàn)視頻轉(zhuǎn)發(fā)、視頻存儲、通信控制等功能。AVSS總體架構(gòu)如圖3所示。

圖3 AVSS總體架構(gòu)

由這兩個系統(tǒng)的總體構(gòu)成可見,MVRP在很大程度上借鑒了AVSS的架構(gòu)。因為MVRP需要調(diào)度多個客戶端和多個智能視頻分析單元,引入了獨立的綜合調(diào)度控制服務(wù)子系統(tǒng)。其余如地理信息顯控、調(diào)度管理等需要與用戶直接交互的部分集成為一個目標(biāo)軌跡時刻分析子系統(tǒng)(對應(yīng)AVSS的視頻應(yīng)用分系統(tǒng)),如視頻處理等需要服務(wù)端自行完成的功能集成為一個視頻分析服務(wù)子系統(tǒng)(對應(yīng)AVSS的視頻服務(wù)分系統(tǒng))。事實上,在MVRP的總體設(shè)計階段,系統(tǒng)開發(fā)人員是直接以AVSS的設(shè)計文檔作為藍(lán)本進(jìn)行討論,最終完成MVRP的總體架構(gòu)設(shè)計。

3.3 軟件產(chǎn)品線視角的分析

在軟件產(chǎn)品線中,重用是有計劃的、能夠?qū)崿F(xiàn)的和強(qiáng)制的,其重用的資產(chǎn)也是明確為重用而設(shè)計的[4]。軟件產(chǎn)品線絕非偶然的小粒度重用。因此前面所討論的MVRP開發(fā)只能說是利用了軟件重用的思想,而不是軟件產(chǎn)品線的實踐。然而試圖以軟件產(chǎn)品線的視角對這一案例進(jìn)行研究依然是有意義的,它可以探討如果在某單位的軟件開發(fā)實踐中引入軟件產(chǎn)品線方法,將會面對怎樣的困難和收益。

3.3.1 實施軟件產(chǎn)品線的困難

經(jīng)過對該單位的軟件開發(fā)實踐進(jìn)行分析,認(rèn)為該單位引入軟件產(chǎn)品線方法,面臨著如下困難:

①延誤產(chǎn)品交付時間。研究表明,傳統(tǒng)的軟件產(chǎn)品線方法需要軟件開發(fā)組織在引入新的軟件產(chǎn)品線時投入過去開發(fā)2到3個項目的精力[5],有時甚至需要近100名開發(fā)人員,投入900至1350個人月[6]。各地警方對能夠輔助進(jìn)行智能視頻分析的軟件系統(tǒng)的需求無比迫切,甚至提出希望該單位能夠盡快提供可以實現(xiàn)基礎(chǔ)功能的軟件系統(tǒng)Demo,然后再在使用中不斷完善??紤]到該單位目標(biāo)客戶對產(chǎn)品的迫切需求,在開發(fā)MVRP時新引入軟件產(chǎn)品線顯然是不可接受的。

②缺乏系統(tǒng)架構(gòu)人員。該單位作為一個發(fā)展中的軟件開發(fā)企業(yè),缺少有足夠經(jīng)驗的架構(gòu)設(shè)計師。在過去幾年間有過成功的軟件架構(gòu)實踐的架構(gòu)師幾乎都成為了中層領(lǐng)導(dǎo),離開了開發(fā)一線。但在以開發(fā)軟件產(chǎn)品線時,必須有足夠優(yōu)秀的軟件架構(gòu)師設(shè)計軟件產(chǎn)品線核心資產(chǎn)庫中的軟件架構(gòu),才能使得軟件架構(gòu)能夠適應(yīng)未來不同產(chǎn)品的配置需求。

③缺乏管理層支持。一般而言對軟件開發(fā)技術(shù)缺乏深入了解的管理人員需要一定時間和實踐以理解為何需要專門的開發(fā)人員從事難以見到實際產(chǎn)品的技術(shù)工作。此外,如果引入獨立的軟件產(chǎn)品線開發(fā)小組,這必然對企業(yè)的組織架構(gòu)和企業(yè)文化造成相當(dāng)?shù)挠绊懀瑢ζ髽I(yè)管理造成一定挑戰(zhàn)。這就使得管理層在面對軟件產(chǎn)品線方法時需要做出更多權(quán)衡。

3.3.2 實施軟件產(chǎn)品線的收益

盡管前面述及的困難使得該單位在開發(fā)MVRP時新引入軟件產(chǎn)品線方法幾乎成為不可能,但假如該單位已經(jīng)開發(fā)了成熟的軟件產(chǎn)品線體系,也將帶來諸多顯而易見的收益:

①降低開發(fā)難度。雖然目前該單位缺少有經(jīng)驗的架構(gòu)設(shè)計師,但如果該單位具備了完善的軟件產(chǎn)品線,那么新產(chǎn)品的開發(fā)難度就可以大大降低。如果該單位能夠組織公司內(nèi)最優(yōu)秀的架構(gòu)設(shè)計師,對這樣一些工作于網(wǎng)絡(luò)上的綜合服務(wù)平臺進(jìn)行分析,確定一個產(chǎn)品線架構(gòu)。具體的產(chǎn)品開發(fā)就無需重新進(jìn)行架構(gòu)設(shè)計,而只需進(jìn)行實例化,可以降低開發(fā)風(fēng)險,降低開發(fā)難度。

②節(jié)約開發(fā)成本。盡管該單位目前十分欠缺有經(jīng)驗的軟件開發(fā)人員,但由于不同部門經(jīng)常會開發(fā)有著一些具有共性的系統(tǒng),造成了大量的人力浪費。如果該單位已經(jīng)具有了完備的軟件產(chǎn)品線,那么就可以以得力的工程師開發(fā)具有一定功能的組件,減少人力浪費,投入到單個產(chǎn)品中的人員就可以大大削減。節(jié)約出的人力可以用于開發(fā)其他產(chǎn)品或者研究新的技術(shù)。

③減少開發(fā)時間。如前所述,在建立軟件產(chǎn)品線之后,新產(chǎn)品的開發(fā)過程僅僅是產(chǎn)品線構(gòu)架的實例化。這樣可以節(jié)省大量初期設(shè)計、代碼編制時間,最終減少產(chǎn)品的開發(fā)時間。

4 結(jié)束語

軟件產(chǎn)品線作為一種在過去數(shù)十年的實踐中取得了廣泛成功的一種方法,雖然其在部分企業(yè)工程實踐中存在一定的困難和挑戰(zhàn),但其仍可以為企業(yè)的軟件開發(fā)實踐提供新的思路方法、帶來新的改進(jìn)提升,值得廣大軟件開發(fā)組織加以研究和采納。

參考文獻(xiàn):

[1]Pohl K,Bockle G, van der Linden F.軟件產(chǎn)品線工程[M].張佳驥,李彥平譯.北京:國防工業(yè)出版社,2010.

[2]Faust D,Verhoef C.Software product line migration and deployment.In Horspool RN,Wellings AJ eds.Software:Practice and Experience[M].New York:John Wiley & Sons,2003.933-

955.

[3]楊芙清,梅宏,李克勤.軟件復(fù)用與軟件構(gòu)件技術(shù)[J].電子學(xué)報,1999,27(2):69-75.

[4]Clements P,Northrop L.軟件產(chǎn)品線實踐與模式[M].張莉,王雷譯.北京:清華大學(xué)出版社,2004.

[5]Clements PC,Jones LG, Northrop LM, McGregor JD. Project management in a software product line organization[J]. IEEE Software,2005,22(4):54-62.

[6]李弈遠(yuǎn).基于特征的軟件產(chǎn)品線開發(fā)關(guān)鍵技術(shù)研究[D].杭州:浙江大學(xué),2007.

作者簡介:王汗(1989-),男,江蘇沭陽人,碩士研究生,研究方向:軟件架構(gòu);周翔(1973-),男,湖北宜昌人,研究員、碩士生導(dǎo)師,研究方向:智慧城市、信息系統(tǒng)架構(gòu)。

邮箱| 宜丰县| 吉首市| 东安县| 洛浦县| 会东县| 光山县| 进贤县| 筠连县| 石楼县| 高陵县| 建宁县| 桐柏县| 山东| 和林格尔县| 右玉县| 上杭县| 武鸣县| 桂阳县| 林周县| 筠连县| 周至县| 钦州市| 浠水县| 承德县| 娄烦县| 多伦县| 米脂县| 莒南县| 富锦市| 巨鹿县| 平江县| 广平县| 紫金县| 红桥区| 枣阳市| 东港市| 龙山县| 渝中区| 秦安县| 积石山|