版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
15.1軟件工程管理概述15.2軟件項目計劃
15.3軟件配置管理
15.4軟件工程標準化與軟件文檔第15章軟件工程管理技術返回主目錄第15章軟件工程管理技術15.1軟件工程管理概述
15.1.1軟件產(chǎn)品的特點
軟件是非物質性的產(chǎn)品,而且是知識密集型的邏輯思維的產(chǎn)品,它具有以下特性:
(1)軟件具有高度抽象性,軟件及軟件生產(chǎn)過程具有不可見性。
(2)同一功能軟件的多樣性,軟件生產(chǎn)過程中的易錯性。(3)軟件在開發(fā)和維護過程中的易變性。
(4)不同開發(fā)者之間思維碰撞的易發(fā)性。
15.1.2軟件工程管理的重要性
由軟件危機引出軟件工程,這是計算機發(fā)展史上的一個重大進展。為了對付大型復雜的軟件系統(tǒng),須采用傳統(tǒng)的“分解”方法。軟件工程的分解是從橫向和縱向(即空間和時間)兩個方面進行的。橫向分解就是把一個大系統(tǒng)分解為若干個小系統(tǒng),一個小系統(tǒng)分解為若干個子系統(tǒng),一個子系統(tǒng)分解為若干個模塊,一個模塊分解為若干個過程??v向分解就是生存期,把軟件開發(fā)分為幾個階段,每個階段有不同的任務、特點和方法。為此,軟件工程管理需要有相應的管理策略。
隨著軟件規(guī)模的不斷增大,開發(fā)人員也隨著增多,開發(fā)時間也相應持續(xù)增長,這些都增加了軟件工程管理的難度,同時也突出了軟件工程管理的必要性與重要性。事實證明,由管理失誤造成的后果要比程序錯誤造成的后果更為嚴重。很少有軟件項目的實施進程能準確地符合預定目標、進度和預算的,這也就足以說明軟件工程管理的重要。軟件工程管理目前還沒有引起人們的足夠重視。其原因:一方面是人的傳統(tǒng)觀念,工程管理不為人們所重視;另一方面軟件工程是一個新興的科學領域,軟件工程管理的問題也是剛剛提出的。同時,由于軟件產(chǎn)品的特殊性,使軟件工程管理涉及到很多學科,如:系統(tǒng)工程學、標準化、管理學、邏輯學及數(shù)學等。因此,對軟件工程管理人們還缺乏經(jīng)驗和技術。
在實際工作中,不管是否正式提出管理問題,但都在自覺或不自覺地進行著管理,只不過是管理的好壞程度不同而已。
15.1.3軟件工程管理的內容
1.開發(fā)人員
軟件開發(fā)人員一般分為:項目負責人、系統(tǒng)分析員、高級程序員、程序員、初級程序員、資料員和其他輔助人員。根據(jù)項目規(guī)模的大小,有可能一人兼數(shù)職,但職責必須明確。不同職責的人,要求的素質不同。如項目負責人需要有組織能力、判斷能力和對重大問題能做出決策的能力;系統(tǒng)分析員需要有概括能力、分析能力和社交活動能力;程序員需要有熟練的編程能力等。人員要少而精,選人要慎重。軟件生存期各個階段的活動既要有分工又要互相聯(lián)系。因此,要求選擇各類人員既能勝任工作,又要能相互很好地配合,沒有一個和諧的工作環(huán)境很難完成一個復雜的軟件項目。
2.組織機構組織機構不等于開發(fā)人員的簡單集合,要求有好的組織結構;合理的人員分工;有效的通訊。軟件開發(fā)的組織機構沒有統(tǒng)一的模式。下面簡單介紹主程序員、專家組及民主組織3種組織機構:
(1)主程序員組織機構:是由一位高級工程師(主程序員)主持計劃、協(xié)調和復審全部技術活動;一位輔助工程師(或輔助程序員)協(xié)助主程序員工作,并在必要時代替主程序員工作;若干名技術人員(程序員)負責分析和開發(fā)活動;可以有一位或幾位專家和一位資料員協(xié)助軟件開發(fā)機構的工作。資料員非常重要,負責保管和維護所有的軟件文檔資料,幫助收集軟件的數(shù)據(jù),并在研究、分析和評價文檔資料的準備方面進行協(xié)助工作。
主程序員組的制度突出了主程序員的領導,責任集中在少數(shù)人身上,有利于提高軟件質量。
(2)專家組組織機構:是由若干專家組成一個開發(fā)機構,強調每個專家的才能,充分發(fā)揮每個專家的作用。這種組織機構雖然能發(fā)揮所有工作人員的積極性,但往往有可能出現(xiàn)協(xié)調上的困難。
(3)民主組織機構:是由從事各方面工作的人員輪流擔任組長。很顯然,這種組織機構對調動積極性和個人的創(chuàng)造性是很值得稱道的,但是,由于過多地進行組長信息“轉移”,不符合軟件工程化的方向。
3.用戶軟件是為用戶開發(fā)的,在開發(fā)過程中自始至終必須得到用戶的密切合作和支持。
作為項目負責人,要特別注意與用戶保持聯(lián)系,掌握用戶的心理和動態(tài),防止來自用戶的各種干擾和阻力。其干擾和阻力主要有:(1)不積極配合:指當用戶對采用先進技術有懷疑,或擔心失去自己現(xiàn)有的工作時,可能有抵觸情緒,因此在行動上表現(xiàn)為消極、漠不關心,有時不配合。在需求分析階段,做好這部分人的工作是很重要的,通過他們中的業(yè)務骨干,才能真正了解到用戶的要求。
(2)求快求全:指對使用計算機持積極態(tài)度的用戶,他們中一部分人急切希望馬上就能用上計算機。要他們認識到開發(fā)一個軟件項目不是一朝一夕就能完成的,軟件工程不是靠人海戰(zhàn)術就能加快的工程;同時還要他們認識到計算機并不是萬能的,有些雜亂無章的、隨機的和沒有規(guī)律的事物計算機是無法處理的。
另外,即使計算機能夠處理的事情,系統(tǒng)也不能一下子包羅萬象,貪大求全。
(3)功能變化:指在軟件開發(fā)過程中,用戶可能會不斷提出新的要求和修改以前提出的要求。從軟件工程的角度,不希望有這種變化。但實際上,不允許用戶提出變動的要求是不可能的。因為一方面每個人對新事物有一個認識過程,不可能一下子提出全面的、正確的要求;另一方面還要考慮到與用戶的關系。對來自用戶的這種變化要正確對待,要向用戶解釋軟件工程的規(guī)律,并在可能的條件下,部分或有條件地滿足用戶的合理要求。
4.控制
4.控制控制包括進度控制、人員控制、經(jīng)費控制和質量控制。為保證軟件開發(fā)按預定的計劃進行,對開發(fā)過程要實施以計劃為基礎。由于軟件產(chǎn)品的特殊性和軟件工程的不成熟,制定軟件進度計劃比較困難。通常把一個大的開發(fā)任務分為若干期工程。例如,分一期工程、二期工程等。然后再制定各期工程的具體計劃,這樣才能保證計劃實際可行,便于控制。在制定計劃時要適當留有余地。
5.文檔資料
軟件工程管理很大程度上是通過對文檔資料管理來實現(xiàn)的。因此,要把開發(fā)過程中的一切初步設計、中間過程和最后結果建立成一套完整的文檔資料。文檔標準化是文檔管理的一個重要方面。15.2軟件項目計劃
15.2.1軟件項目計劃概念
在軟件項目管理過程中,一個關鍵的活動是制定項目計劃,它是軟件開發(fā)工作的第一步。項目計劃的目標是為項目負責人提供一個框架,使之能合理地估算軟件項目開發(fā)所需資源、經(jīng)費和開發(fā)進度,并控制軟件項目開發(fā)過程按此計劃進行。軟件項目計劃是由系統(tǒng)分析員與用戶共同經(jīng)過“可行性研究與計劃”階段后制定的。所以軟件項目計劃是可行性研究階段的管理文檔。但由于可行性研究是在高層次進行系統(tǒng)分析,未能考慮軟件系統(tǒng)開發(fā)的細節(jié)情況,因此軟件項目計劃一般在需求分析階段完成后才定稿的。
在做計劃時,必須就需要的人力、項目持續(xù)時間及成本做出估算。這種估算大多是參考以前的花費做出的。軟件項目計劃包括研究與估算兩個任務,即通過研究確定該軟件項目的主要功能、性能和系統(tǒng)界面。估算是在軟件項目開發(fā)前,估算項目開發(fā)所需的經(jīng)費、所要使用的資源以及開發(fā)進度。在做軟件項目估算時往往存在某些不確定性,使得軟件項目管理人員無法正常進行管理而導致產(chǎn)品遲遲不能完成?,F(xiàn)在所使用的技術是時間和工作量估算。因為估算是所有其他項目計劃活動的基石,且項目計劃又為軟件工程過程提供了工作方向,所以不能沒有計劃就開始著手開發(fā),否則將會陷入盲目性。15.2.2軟件項目計劃內容
軟件項目計劃有下列內容。
1.范圍
對該軟件項目的綜合描述,定義其所要做的工作以及性能限制,它包括:
(1)項目目標:說明項目的目標與要求。
(2)主要功能:給出該軟件的重要功能描述。該描述只涉及高層及較高層的系統(tǒng)邏輯模型。
(3)性能限制:描述總的性能特征及其他約束條件(如主存、數(shù)據(jù)庫、通信速率和負荷限制等)。(4)系統(tǒng)接口:描述與此項目有關其他系統(tǒng)成分及其關系。(5)特殊要求:指對可靠性、實時性等方面的特殊要求。
(6)開發(fā)概述:概括說明軟件開始過程各階段的工作,重點集中于需求定義、設計和維護。
2.資源
軟件項目計劃所需的資源如下:
(1)人員資源:要求的人員數(shù)(系統(tǒng)分析員、高級程序員、程序員、操作員、資料員和測試員);各類人員工作的時間階段。人員參加程度如圖15.1所示。(2)硬件資源:指軟件項目開發(fā)所需的硬件支持和測試設備。
(3)軟件資源:指軟件項目開發(fā)所需的支持軟件和應用軟件,如各種開發(fā)和測試的軟件。
(4)工具包:指操作系統(tǒng)和數(shù)據(jù)庫軟件等。
3.進度安排
進度安排的好壞往往會影響整個項目的按期完成,因此這一環(huán)節(jié)是十分重要的。制定軟件進度與其他工程沒有很大的區(qū)別,其主要的方法有:(1)工程網(wǎng)絡圖。
(2)cantt圖。
(3)任務資源表。
4.成本估算為使開發(fā)項目能在規(guī)定的時間內完成,且不超過預算,成本估算是很重要的。軟件成本估算是一門不成熟的技術,國外已有的技術只能作為我們的借鑒。
5.培訓計劃為用戶各級人員制定培訓計劃。
15.2.3軟件開發(fā)成本估算
為了使開發(fā)項目能夠在規(guī)定的時間內完成,而且不超過預算,成本預算和管理控制是關鍵。對于一個大型的軟件項目,由于項目的復雜性,開發(fā)成本的估算不是一件簡單的事,要進行一系列的估算處理。一個項目是否開發(fā),從經(jīng)濟上來說是否可行,歸根結底是取決于對成本的估算。
1.成本估算方法
成本估算方法有自頂向下、自底向上和差別估算方法。
1)自頂向下估算方法
估算人員參照以前完成的項目所耗費的總成本(或總工作量),來推算將要開發(fā)的軟件的總成本(或總工作量),然后把它們按階段、步驟和工作單元進行分配,這種方法稱為自頂向下估算方法。自頂向下估算方法的主要優(yōu)點是對系統(tǒng)級工作的重視,所以估算中不會遺漏系統(tǒng)級的諸如集成、用戶手冊和配置管理之類的事務的成本估算,且估算工作量小、速度快。它的缺點是往往不清楚低層次上的技術性困難問題,而往往這些困難將會使成本上升。
2)自底向上估算方法
這種方法的優(yōu)點是對每一部分的估算工作交給負責該部分工作的人來做,所以估算較為準確。其缺點是其估算往往缺少與軟件開發(fā)有關的系統(tǒng)級工作量,如集成、配置管理、質量管理和項目管理等,所以估算往往偏低。
3)差別估算方法差別估算是將開發(fā)項目與一個或多個已完成的類似項目進行比較,找出與某個相類似項目的若干不同之處,并估算每個不同之處對成本的影響,導出開發(fā)項目的總成本。該方法的優(yōu)點是可以提高估算的準確度,缺點是不容易明確“差別”的界限除以上方法外,還有許多方法,大致分為專家、類推和算式估算法。1)專家估算法依靠一個或多個專家對要求的項目做出估算,其精確性取決于專家對估算項目的定性參數(shù)的了解和他們的經(jīng)驗。
2)類推估算法自頂向下的方法中,它是將估算項目的總體參數(shù)與類似項目進行直接比較相比得到結果。自底向上方法中,類推是在兩個具有相似條件的工作單元之間進行。
3)算式估算法專家估算法和類推估算法的缺點在于,它們依靠帶有一定盲目和主觀的猜測對項目進行估算。算式估算法則是企圖避免主觀因素的影響。用于估算的方法有兩種基本類型:由理論導出和由經(jīng)驗得出。
2.成本估算模型
1)COCOMO估算模型結構性成本模型COCOMO(ConstructiveCostMode)是最精確、最易于使用的成本估算方法之一。該模型分為:基本COCOMO模型,它是一個靜態(tài)單變量模型,對整個軟件系統(tǒng)進行估算;中級COCOMO模型,它是一個靜態(tài)多變量模型,將軟件系統(tǒng)模型分為系統(tǒng)和部件兩個層次,系統(tǒng)是由部件構成的,它把軟件開發(fā)所需人力(成本)看作是程序大小和一系列“成本驅動屬性”的函數(shù),用于部件級的估算,更精確些;詳細COCOMO模型,將軟件系統(tǒng)模型分為系統(tǒng)、子系統(tǒng)和模塊3個層次,它除包括中級模型中所考慮的因素外,還考慮了在需求分析、軟件設計等每一步的成本驅動屬性的影響。2)基本COCOMO模型估算公式
E=ab(KLOC)exp(bb)D=cb(E)exp(db)
式中E為開發(fā)所需的人力(人-月),D為所需的開發(fā)時間(月),KLOC為估計提交的代碼行。ab,bb,cb和db是指不同軟件開發(fā)方式的值,見表15-1。有機方式意指在本機內部的開發(fā)環(huán)境中的小規(guī)模產(chǎn)品。嵌入式計算機開發(fā)環(huán)境往往受到嚴格限制,例如時間與空間的限制,因此對同樣的軟件規(guī)模,其開發(fā)難度要大些,估算工作量要大得多,生產(chǎn)率將低得多。半有機方式介于有機方式與嵌入方式之間。
生產(chǎn)率=(KLOC)/E(代碼行/人月)人員數(shù)=E/D3)中級COCOMO模型中級COCOMO模型先產(chǎn)生一個與基本COCOMO模型一樣形式的估算公式,然后對15個“成本驅動屬性”進行打分,定出“乘法因子”,對公式進行修正。15個成本驅動屬性分成如下4組:
(1)產(chǎn)品屬性:指所需軟件可靠性、數(shù)據(jù)基大小及產(chǎn)品復雜性。(2)計算機屬性:即執(zhí)行時間方面的限制、主存限制、虛擬機的易變性及計算機周轉時間。
(3)人員屬性:即分析員能力、應用領域中實踐經(jīng)驗、程序員能力、虛擬機使用經(jīng)驗及程序語言使用經(jīng)驗。
(4)項目屬性:即現(xiàn)代程序設計方法、軟件工具的使用及所需的開發(fā)進度。其估算公式為:E=ai(KLOC)exp(bi)×乘法因子,ai,bi值見表15-2。4)Putnam成本估算經(jīng)驗模型
Putnam估算模型是一種動態(tài)多變量模型,它是假設在軟件開發(fā)的整個生存期中工作量的分布。如一個30人年以上的大項目,其人力使用的分布如圖15.2所示。根據(jù)曲線導出關于提交的代碼行數(shù)L,人力K(人年)和開發(fā)時間td(年)之間的估算公式:
L=CkK1/3t4/3
d
式中Ck是技術狀況有關的常數(shù),它的典型值如下:對于差的開發(fā)環(huán)境Ck=2500
對于好的開發(fā)環(huán)境Ck=10000
對于優(yōu)的開發(fā)環(huán)境Ck=12500
由上述公式可以得到所需開發(fā)工作量的公式:
K=L3C-3kt-4d(人年)
15.2.4軟件項目進度安排
每一個軟件項目都要求制定一個進度安排,但不是所有的進度都得一樣安排。對于進度安排,需要考慮的是預先對進度如何計劃?工作怎樣就位?如何識別定義好的任務?管理人員對結束時間如何掌握,如何識別和控制關鍵路徑以確保結束?對進展如何度量?以及如何建立分割任務的里程碑?軟件項目的進度安排與任何一個工程項目的進度安排沒有實質上的不同。首先識別一組項目任務,建立任務之間的相互關聯(lián),然后估算各個任務的工作量,分配人力和其他資源,指定進度時序。
1.軟件開發(fā)任務的并行性
若軟件項目有多人參加時,多個開發(fā)者的活動將并行進行,典型軟件開發(fā)任務的網(wǎng)絡如圖15.3所示。從圖15.3中可以看出,在需求分析完成并進行復審后,概要設計和制定測試計劃可以并行進行;各模塊的詳細設計、編碼與單元測試可以并行進行等。由于軟件工程活動的并行性,并行任務是異步進行的,因此為保證開發(fā)任務的順利進行,制定開發(fā)進度計劃和制定任務之間的依賴關系是十分重要的。項目經(jīng)理必須了解處于關鍵路徑上的任務進展的情況,如果這些任務能及時完成,則整個項目就可以按計劃完成。圖15.3典型軟件開發(fā)任務的并行圖
2.Gantt圖
Gantt圖是先把任務分解成子任務,然后用水平線段來描述各個任務及子任務的進度安排。該圖表示方法簡單易懂,一目了然,動態(tài)反映軟件開發(fā)進度情況,它是進度計劃和進度管理的有力工具,在子任務之間依賴關系不復雜的情況下常使用此種方法。Gantt圖的示例如圖15.4所示,該圖可以表示將任務分解成子任務的情況;表示每個子任務的開始時間和完成時間,線段的長度表示子任務完成所需要的時間;表示子任務之間的并行和串行關系。Gantt圖只能表示任務之間的并行與串行的關系,難以反映多個任務之間存在的復雜關系,不能直觀表示任務之間相互依賴制約關系,以及哪些任務是關鍵子任務等信息,因此僅僅用Gantt圖作為進度的安排是不夠的。圖15.4Gantt圖的示例
3.工程網(wǎng)絡圖
工程網(wǎng)絡圖是一種有向圖,如圖15.5所示,該圖中用圓表示事件(事件表示一項子任務的開始與結束),有向弧或箭頭表示子任務的進行,箭頭上的數(shù)字稱為權,該權表示此子任務的持續(xù)時間,箭頭下面括號中的數(shù)字表示該任務的機動時間,圖中的圓表示與某個子任務開始或結束事件的時間點。圓的左邊部分中數(shù)字表示事件號,右上部分中的數(shù)字表示前一子任務結束或后一個子任務開始的最早時刻,右下部分中的數(shù)字則表示前一子任務結束或后一子任務開始的最遲時刻。對工程網(wǎng)絡圖只有一個開始點和一個終止點,開始點沒有流入箭頭,稱為入度為零。終止點沒有流出箭頭,稱為出度為零。中間的事件圓表示在它之前的子任務已經(jīng)完成,在它之后的子任務可以開始。圖15.5工程網(wǎng)絡圖
15.2.5軟件質量控制軟件質量控制是軟件工程管理的重要內容,軟件質量控制應做好以下幾方面的工作:
(1)采用技術手段和工具:指質量控制活動要貫徹開發(fā)過程始終,必須采用技術手段和工具,尤其是使用軟件開發(fā)環(huán)境來進行軟件開發(fā)。
(2)組織正式技術評審:在軟件開發(fā)的每一個階段結束時,都要組織正式的技術評審。國家標準要求單位必須采用審查、文檔評審、設計評審、審計和測試等具體手段來控制質量。(3)加強軟件測試:指軟件測試是質量保證的重要手段,可發(fā)現(xiàn)軟件中大多數(shù)潛在的錯誤。(4)推行軟件工程規(guī)范(標準):指用戶可以自己制定的軟件工程規(guī)范(標準),但標準一旦確認就應貫徹執(zhí)行。
(5)對軟件的變更進行控制:軟件的修改和變更常會引起潛伏的錯誤,因此必須嚴格控制軟件的修改和變更。
(6)對軟件質量進行度量:即對軟件質量進行跟蹤,及時記錄和報告軟件質量情況。15.3軟件配置管理
在軟件開發(fā)時,變更是不可避免的,而變更時由于沒有進行變更控制,可能加劇了項目中的混亂。為協(xié)調軟件開發(fā)使得混亂減到最小,使用配置管理技術,使變更所產(chǎn)生的錯誤達到最小并最有效地提高生產(chǎn)率。軟件配置管理(SoftwareConfigurationManagement,簡稱SCM)用于整個軟件工程過程。其主要目標是標識變更;控制變更;確保變更正確地實現(xiàn);報告有關變更。SCM是一組管理整個軟件生存期各階段中變更的活動。
15.3.1基線
基線是軟件生存期中各開發(fā)階段的一個特定點,它的作用是把開發(fā)各階段工作的劃分更加明確化,使本來連續(xù)的工作在這些點上斷開,以便于檢查與肯定階段成果。因此基線可以作為一個檢查點,在開發(fā)過程中,當采用的基線發(fā)生錯誤時,可以知道其所處的位置,返回到最近和最恰當?shù)幕€上。軟件開發(fā)各階段基線示例如圖15.6所示。圖15.6軟件開發(fā)各階段基線示例
15.3.2軟件配置項隨著軟件工程過程的進展,軟件配置項(SoftwareConfigurationItem,簡稱SCI)是軟件工程中產(chǎn)生的信息項,它是配置管理的基本單位,對已成為基線的SCI,雖然可以修改,但必須按照一個特殊的、正式的過程進行評估,確認每一處的修改。以下的SCI是SCM的對象,并可形成如下基線:
(1)系統(tǒng)規(guī)格說明書。
(2)軟件項目實施計劃。
(3)軟件需求規(guī)格說明書。
(4)設計規(guī)格說明書(數(shù)據(jù)設計、體系結構設計、模塊設計、接口設計和對象描述(使用面向對象技術時))。(5)源代碼清單。
(6)測試計劃和過程、測試用例和測試結果記錄。
(7)操作和安裝手冊。
(8)可執(zhí)行程序(可執(zhí)行程序模塊、連接模塊)。
(9)數(shù)據(jù)庫描述(模式和文件結構、初始內容)。
(10)用戶手冊。
(11)維護文檔(軟件問題報告、維護請求和工程變更次序)。
(12)軟件工程標準。
(13)項目開發(fā)小結。15.3.3版本控制
軟件配置實際上是一動態(tài)的概念,它一方面隨著軟件生存期向前推進,SCI的數(shù)量在不斷增多,一些文檔經(jīng)過轉換生成另一些文檔,并產(chǎn)生一些信息;另一方面又隨時會有新的變更出現(xiàn),形成新的版本。表達系統(tǒng)不同版本的一種表示如圖15.7所示的演變圖,在圖中各個結點是一個完全的軟件版本。軟件的每一個版本都是SCI(源代碼、文檔及數(shù)據(jù))的一個收集,且各個版本都可能由不同的變種組成。圖的右邊具體說明一個簡單的程序版本:它由1,2,3,4和5版本組成,其中版本4在軟件使用彩色顯示器時使用,版本5在軟件使用單色顯示器時使用。因此,可以定義版本的兩個變種。圖15.7版本演變與變種圖
15.3.4變更控制軟件工程過程中某一階段的變更,均要引起軟件配置的變更,這種變更必須嚴格加以控制和管理,保持修改信息,并把精確、清晰的信息傳遞到軟件工程過程的下一步驟。變更控制包括建立控制點和建立報告與審查制度。對于一個大型軟件來說,不加控制的變更很快就會引起混亂。因此變更控制是一項最重要的軟件配置任務,變更控制的過程如圖15.8所示。其中“檢出”和“登入”處理實現(xiàn)了兩個重要的變更控制要素,即存取控制和同步控制。存取控制管理各個用戶存取和修改一個特定軟件配置對象的權限。同步控制可用來確保由不同用戶所執(zhí)行的并發(fā)變更。圖15.8變更控制的過程15.4軟件工程標準化與軟件文檔
15.4.1軟件工程標準化的定義隨著軟件工程學的發(fā)展,人們對計算機軟件的認識逐漸深入。軟件工作的范圍從只是使用程序設計語言編寫程序,擴展到整個軟件生存期。諸如軟件概念的形成、需求分析、設計、實現(xiàn)、測試、安裝和檢驗、運行和維護,直到軟件淘汰(為新的軟件所取代)。同時還有許多技術管理工作(如過程管理、產(chǎn)品管理和資源管理)以及確認與驗證工作(如評審和審計、產(chǎn)品分析及測試等)常是跨軟件生存期各個階段的專門工作。所有這些工作都應當逐步建立其標準或規(guī)范來。由于計算機發(fā)展迅速,未形成標準之前,在行業(yè)中先使用一些約定,然后逐漸形成標準。
軟件工程標準的類型也是多方面的。它可能包括過程標準(如方法、技術及度量等)、產(chǎn)品標準(如需求、設計、部件、描述及計劃報告等)、專業(yè)標準(如職別、道德準則、認證、特許及課程等)以及記法標準(如術語、表示法及語言等)。下面根據(jù)中國國家標準GB/T15538-2019《軟件工程標準分類法》給出軟件工程標準的分類。軟件工程的標準主要有以下3個:
(1)FIPS135是美國國家標準局發(fā)布的《軟件文檔管理指南》(NationalBureauofStandards,GuidelineforSoftwareDocumentationManagement,F(xiàn)IPSPUB135,June1984)。(2)NSAC-39是美國核子安全分析中心發(fā)布的《安全參數(shù)顯示系統(tǒng)的驗證與確認》(NuclearSafetyAnalysisCenter,VerificationandValidationfroSafetyParameterDispllaySystems,NASC-39,December1981)。
(3)ISO5807是國際標準化組織公布(現(xiàn)已成為中國的國家標準)的《信息處理——數(shù)據(jù)流程圖、程序流程圖、程序網(wǎng)絡圖和系統(tǒng)資源圖的文件編制符號及約定》。這個圖表不僅表明了軟件工程標準的范圍和如何對標準分類,而且對標準的開發(fā)具有指導作用。已經(jīng)制定的標準都可在表中找到相應的位置,而且它可啟發(fā)人們去制定新的標準。
15.4.2軟件工程標準化的意義積極推行軟件工程標準化,其道理是顯而易見的。僅就一個軟件開發(fā)項目來說,有許多層次、不同分工的人員相互配合,在開發(fā)項目的各個部分以及各開發(fā)階段之間也都存在著許多聯(lián)系和銜接問題。如何把這些錯綜復雜的關系協(xié)調好,需要有一系列統(tǒng)一的約束和規(guī)定。在軟件開發(fā)項目取得階段成果或最后完成時,需要進行階段評審和驗收測試。投入運行的軟件其維護工作中遇到的問題又與開發(fā)工作有著密切的關系。軟件的管理工作則滲透到軟件生存期的每一個環(huán)節(jié)。所有這些都要求提供統(tǒng)一的行動規(guī)范和衡量準則,使得各種工作都能有章可循。
15.4.3軟件工程標準的層次
根據(jù)軟件工程標準制定的機構與適用的范圍,它分為國際標準、國家標準、行業(yè)標準、企業(yè)規(guī)范及項目(課題)規(guī)范5個等級。
1.國際標準
由國際標準化組織ISO(InternationalStandardsOrganization)制定和公布,供世界各國參考的標準。該組織有很大的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 國家課程:《機械制造裝備設計》第一章
- 2025-2030全球管式爐行業(yè)調研及趨勢分析報告
- 2025-2030全球工業(yè)應用移動機器人行業(yè)調研及趨勢分析報告
- 2025年全球及中國塑料3D打印長絲行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025-2030全球工業(yè)膠囊填充機行業(yè)調研及趨勢分析報告
- 2025年全球及中國微米級氧化鋯行業(yè)頭部企業(yè)市場占有率及排名調研報告
- 2025農(nóng)民工標準的勞動合同范本
- 2025單位無息借款合同「」
- 輕量級服務器租賃合同范本
- 2025外箱采購合同范本范文
- 2024年北京東城社區(qū)工作者招聘筆試真題
- 《敏捷項目管理》課件
- 統(tǒng)編版(2024新版)七年級上學期道德與法治期末綜合測試卷(含答案)
- 黑龍江省哈爾濱市2024屆中考數(shù)學試卷(含答案)
- 前程無憂測評題庫及答案
- 高三日語一輪復習助詞「と」的用法課件
- 物業(yè)管理服務房屋及公用設施維修養(yǎng)護方案
- 五年級上冊小數(shù)遞等式計算200道及答案
- 世界老年人跌倒的預防和管理指南解讀及跌倒應急處理-
- 帶拼音生字本模板(可A4打印)
- 超高大截面框架柱成型質量控制
評論
0/150
提交評論