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

?

基于GJB5000A框架的軟件復用方法思考

2015-07-18 12:25:45王瑩
電腦知識與技術(shù) 2015年12期

王瑩

摘要:針對科研院所軟件研制過程中存在大量重復開發(fā)問題,分析了軟件復用方法在軟件研制過程中實施的難點,同時提出了在GJB5000A框架下對軟件復用過程進行定義及組織實施的方法,為拓展科研院所的軟件研制過程管理提出了新的思路。

關(guān)鍵詞:軟件復用;GJB5000A;軟件質(zhì)量管理

中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2015)12-0096-02

On the Methods of Software Reuse Based on GJB5000A Framework

WANG Ying

(China Electronics Technology Group Corporation No.20 Research Institute Xian 710068,China)

Abstract: In view of the existing problems in the process of repeated development of software development in scientific research institute, analyzes the difficulties in the process of implementing software reuse method of military software development process, and puts forward the definition and method of organization and implementation of software reuse process under the framework of GJB5000A, put forward new ideas for the development of software development process management.

Key words: software reuse; GJB5000A; software quality management

隨著以國際航電系統(tǒng)為代表的軟件規(guī)模突破一千萬行,大規(guī)模軟件研制已經(jīng)迎來了爆炸式增長的時代,大規(guī)模的應(yīng)用使得軟件結(jié)構(gòu)越來越復雜,開發(fā)周期變長。在科研院所中如果所有的軟件項目都采取傳統(tǒng)的方式研制,就可能出現(xiàn)耗費大量的時間和人力在較低水平重復上,難于保證如期交付。為了縮短研制周期,開發(fā)人員自發(fā)但無序的使用相類似軟件文檔、部件、代碼等的情況屢屢出現(xiàn),這種做法給軟件研制帶來了極大的質(zhì)量風險,未經(jīng)認真評估的應(yīng)用差異和軟件環(huán)境會給軟件研制帶來難以估量的安全性、可靠性隱患。所以,在GJB5000A過程管理框架下以組織的角度對軟件復用進行過程定義,科學有效的利用軟件復用技術(shù),幫助項目組充分利用已有資源、避免重復勞動、提高生產(chǎn)效率和軟件質(zhì)量就顯得尤為必要。

1 科研院所軟件復用的現(xiàn)狀與難點

1.1 關(guān)于軟件復用

軟件復用是一種以已有工作為基礎(chǔ), 充分利用過去應(yīng)用系統(tǒng)開發(fā)中積累的經(jīng)驗,將開發(fā)焦點集中在當前應(yīng)用系統(tǒng)的特性部分的一種開發(fā)方式,這種開發(fā)方式使軟件開發(fā)過程不再從零開始,而是在充分評估新舊軟件需求的基礎(chǔ)上,對軟件生產(chǎn)過程中所有可用勞動成果的復用,復用范圍不僅僅局限于軟件代碼,還可以包含軟件開發(fā)計劃、需求分析、設(shè)計文檔、測試用例等。復用方式包括黑盒復用(源代碼不可得而不對軟件進行修改)、玻璃盒復用(源碼可得且不對軟件進行修改)、灰盒復用(源碼進行少量修改)和白盒復用(在原設(shè)計基礎(chǔ)上對軟件進行變更)。復用層次可以分為代碼復用、設(shè)計與分析復用、測試用例及測試信息復用等。復用關(guān)鍵技術(shù)包括軟件構(gòu)件技術(shù)、軟件架構(gòu)技術(shù)、軟件再工程、領(lǐng)域工程、開發(fā)系統(tǒng)技術(shù)及本文著重關(guān)注的以GJB5000A為框架的軟件過程技術(shù)等。

1.2 軟件復用技術(shù)應(yīng)用在科研院所軟件研制過程中的現(xiàn)狀與難點

科研院所軟件研制過程一般要比商用軟件研制有更多的約束,自2005年開始在GJB5000系列標準的約束下進行軟件研制過程管理在科研院所中被廣泛推行,目前,通過GJB5000A相應(yīng)級別的能力評價是承研相應(yīng)級別軟件項目的必要條件。

GJB5000A共定義了五個級別的22個過程域,用預先確定的過程域來定義組織的改進路徑。當組織滿足了一組過程域中全部目標后則可被判定為達到了某個特定過程域。目前通過GJB5000A軟件成熟度能力評價的科研院所最高級別到達三級(已定義級)水平,大部分單位還停留在二級(已管理級)水平上,即僅能確保其過程能按照方針進行策劃并得到執(zhí)行。這種管理級別下的軟件復用缺少組織的參與,沒有足夠及可靠的復用庫供項目選擇,所以軟件復用行為更多的體現(xiàn)的是僅與某個項目組或者某個設(shè)計師相關(guān)的單個行為,主要表現(xiàn)在設(shè)計師個人能復用自身的設(shè)計模塊,其他設(shè)計師無法復用,或者需求基本上沒有變化的兩個項目間有可能實現(xiàn)復用,有需求變化的軟件無法實現(xiàn)復用。

此外,過程管理方法也給復用帶來了極大的障礙。一方面,在過去的管理習慣中,復用的部分很難計算工作量,甚至不計算工作量,而且在沒有配套構(gòu)件庫的情況下,有需求的復用者只能在已有的項目中尋找自己需要的可用構(gòu)件,這個識別和判斷過程的效率可能比重新策劃、編制的還要低,使得設(shè)計人員不愿意使用復用方法;另一方面,所有可復用部分都是無償提供給其他項目使用的,這使得軟件研制人員在設(shè)計過程中考慮構(gòu)造通用模塊或者可重用構(gòu)件的積極性不高。所以,只有在過程管理上對復用建立起過程定義、在政策上鼓勵復用方法、在培訓方面提升復用技術(shù)教育、才有可能有效推廣復用技術(shù)。

2 GJB5000A質(zhì)量管理體系下的軟件復用

2.1 軟件復用的過程定義

任何一個軟件項目,無論是基于系統(tǒng)開發(fā)或者是構(gòu)件開發(fā)都要經(jīng)歷軟件生命周期中的相關(guān)步驟,這些步驟放在GJB5000A質(zhì)量管理體系的框架下觀察,都可以看做是有標準的、可重復的、可持續(xù)改進的過程,組織應(yīng)分級別定義軟件復用過程,二級過程域管理應(yīng)側(cè)重復用過程的流程定義,三級過程域管理應(yīng)建立起從構(gòu)建開發(fā)到系統(tǒng)集成全過程的規(guī)程和準則。在項目執(zhí)行過程中,已納入二級管理的項目可以在相類似的項目中橫向進行需求分析后定義復用構(gòu)件,已納入三級管理的項目則可以充分對組織已定義的標準過程進行剪裁后實施復用。

2.2 組織級過程域定義與實施

2.2.1 組織過程定義(OPD)與組織過程焦點(OPF)

軟件復用方法在實現(xiàn)這兩個過程域的目標時應(yīng)在建立起與復用相關(guān)的標準過程,同時定義好對標準過程的剪裁方法,如復用時的估算方法和模板、評審級別定義、測量項與測量目標、標準工作環(huán)境;為項目組定義復用方法下可選擇的生命周期模型;建立軟件復用組織資產(chǎn)庫,并為資產(chǎn)庫提供目錄和檢索方法,制定對復用組織資產(chǎn)的維護、修訂過程,制定項目使用復用資產(chǎn)庫的約束和規(guī)則,制定鼓勵項目組豐富、更改庫內(nèi)容的相關(guān)條款。

2. 2.2 需求開發(fā)(RD)

需求開發(fā)的目的在于產(chǎn)生并分析顧客、產(chǎn)品和產(chǎn)品部件的需求。為引出顧客需求,組織可以建立《需求調(diào)研單》等相關(guān)工具充分了解相關(guān)需求,尋找可復用機會,有復用可能時建立《需求比對表》,內(nèi)容至少包括需求項、功能、性能、接口、約束、環(huán)境等關(guān)鍵內(nèi)容,甄別篩選可復用構(gòu)件,并將其按優(yōu)先級排序后,初步確定復用方案和新研方案,形成《用戶需求列表》和《用戶需求規(guī)格說明書》。其次,建立起產(chǎn)品和產(chǎn)品構(gòu)件需求,著重關(guān)注內(nèi)部接口關(guān)系,構(gòu)件間的跟蹤關(guān)系等,同時對需求進行最終確認,這個步驟基本確定了復用度和復用方式。組織級可以根據(jù)軟件關(guān)鍵性等級區(qū)分復用方式,如沒有任何更改的項目可以完全復用,存在文檔或者接口更改的項目應(yīng)依據(jù)其關(guān)鍵性等級和軟件更改的程度定義復用方式等。

2.2.3 其他相關(guān)過程域

軟件開發(fā)組織還應(yīng)定義好與軟件復用技術(shù)培訓相關(guān)的組織培訓(OT),將軟件復用技術(shù)納入技能培訓課程計劃;定義與貢獻復用組織資產(chǎn)庫的集成項目管理(IPM);定義復用方法解決方案和評價準則的技術(shù)解決方案(TS)等系列相關(guān)過程域。

2.3 項目級軟件復用實施

2.3.1 軟件項目復用可行性評估

評估在項目的系統(tǒng)分析與設(shè)計或早期策劃階段進行,主要對項目的需求和組織資產(chǎn)庫中的可復用構(gòu)件的需求進行分析,形成《軟件復用可行性評估報告》。主要實施步驟如下:

1) 分析《軟件研制任務(wù)書》需求,通過和顧客交流進行需求確認,形成需求列表,根據(jù)需求內(nèi)容識別復用機會。將項目按照CSCI為單位進行初步分解,依據(jù)《需求對比表》確定復用類型。

2) 黑盒或者玻璃盒復用被確認后直接進入下一步的復用流程。灰盒或者是白盒復用則應(yīng)進一步區(qū)分復用層次是文檔的修改(不涉及需求和設(shè)計文檔)或者是代碼更改。形成《復用構(gòu)件評估表》,內(nèi)容包含接口類型、算法、模型等內(nèi)容的比對。結(jié)合軟件關(guān)鍵性等級,評估產(chǎn)生變更的有效代碼行占復用軟件的比例。

3) 提交《軟件復用可行性評估報告》進行評審,評審應(yīng)最終確定項目的哪些CSCI(部分或全部)可采取組織資產(chǎn)庫中的哪個構(gòu)件進行復用。

2.3.2. 復用的開發(fā)過程策劃

通過可行性評估,經(jīng)評審同意進行復用的項目應(yīng)依據(jù)GJB5000A軟件策劃過程域的要求對復用部分進行策劃,策劃內(nèi)容包括:定義生命周期模型(白盒、玻璃盒復用不適用)、項目估算、確定項目資源、編制進度表、制定數(shù)據(jù)管理計劃、利益相關(guān)方參與計劃、風險管理計劃、測量分析計劃等內(nèi)容。

著重要對配置管理和質(zhì)量保證進行詳細策劃,其中要對復用軟件建立單獨的配置管理庫,重新配置配置標識,不得與被復用項目混淆。建立配置控制機制,其中包含收集被復用項目的變更信息,確定當前項目是否同步變更,及在調(diào)試過程中發(fā)現(xiàn)被復用項目缺陷的反饋機制。建立質(zhì)量審核體系,包括過程審核和產(chǎn)品審核,其中過程審核著重應(yīng)對配置管理進行審核,其他過程視復用開發(fā)過程定義對審核進行策劃,其中包含對項目任務(wù)分配、進度、測量、評審過程等審核;產(chǎn)品審核包括全生命周期中所產(chǎn)生的所有工作產(chǎn)品的審核。

所有策劃內(nèi)容應(yīng)形成《軟件復用計劃》,計劃中除對以上內(nèi)容進行詳細說明外,同時還應(yīng)明示因復用可能帶來的風險,同時提出有效緩解措施。

2.2.3復用的過程監(jiān)控與集成

復用過程開始實施后,所有在被復用軟件上進行的變更都要依據(jù)《變更控制規(guī)程》嚴格執(zhí)行,質(zhì)量審核應(yīng)隨時關(guān)注變更的范圍和內(nèi)容,對測量分析過程進行審核,如對被復用軟件的變更超出了原估算范圍,則應(yīng)重新評估復用方法和類型。所有部件開發(fā)完成后應(yīng)對進行產(chǎn)品集成準備,確保復用軟件的內(nèi)外部接口與當前使用環(huán)境的兼容性,對部件進行組裝,對產(chǎn)品進行最終的驗證和確認。

3 總結(jié)

研究表明,軟件開發(fā)過程中如果復用程度達到50%,可以幫助提高40%生產(chǎn)率、降低40%開發(fā)成本、降低50%軟件缺陷,可以從根本上提高軟件生產(chǎn)效率和質(zhì)量。規(guī)范的使用軟件復用技術(shù)將會是科研院所軟件研制實現(xiàn)工業(yè)化生產(chǎn)的必然趨勢。雖然目前國內(nèi)尚缺少指導性強的行業(yè)標準,且缺乏真正的通用復用部件。但組織如果能持之以恒的在GJB5000A框架下對軟件復用過程的定義進行探索和研究,項目組在實施過程中必能獲益。

參考文獻:

[1] GJB 5000A-2008軍用軟件研制能力成熟度模型[S].

[2] 楊芙清, 朱冰, 梅宏. 軟件復用[J]. 軟件學報, 1995, 6(9): 525~533.

[3] 石柱. 軍用軟件研制能力成熟度模型及其應(yīng)用[M]. 北京: 中國標準出版社, 2009.

[4] IEEE Std 1517-1999(R2004)[S]. IEEE Standard for Information Technology——Software Life Cycle Processes——Reuse Porcesses. 2004

龙岩市| 房产| 长垣县| 获嘉县| 朝阳县| 尼木县| 扶余县| 大姚县| 绥中县| 宜兰市| 太和县| 怀集县| 马关县| 外汇| 静安区| 马山县| 永州市| 齐河县| 杨浦区| 和林格尔县| 图们市| 会昌县| 宁乡县| 宁城县| 米易县| 临城县| 威信县| 浪卡子县| 博爱县| 延安市| 鹤壁市| 三穗县| 化德县| 乐昌市| 定日县| 中阳县| 霍邱县| 浦城县| 清丰县| 平湖市| 德阳市|