軟件工程管理概述
軟件工程包括軟件開發(fā)技術(shù)和軟件工程管理兩大部分內(nèi)容。軟件工程管理是對軟件項目的開發(fā)管理。具體地說是對整個軟件生存期的一切活動進(jìn)行管理。 1.1軟件產(chǎn)品的特點 (1)軟件具有高度抽象性,軟件及軟件生產(chǎn)過程具有不可見性。 (2)同一功能軟件的多樣性,軟件生產(chǎn)過程中的易錯性。 (3)軟件在開發(fā)和維護(hù)過程中的易變性。 (4)不同開發(fā)者之間思維碰撞的易發(fā)性。 (5)風(fēng)險估計(客用的需求風(fēng)險,項目本身采用的技術(shù)風(fēng)險,管理風(fēng)險,預(yù)算風(fēng)險。其它開發(fā)者產(chǎn)生的外來技術(shù)風(fēng)險,售后的商業(yè)風(fēng)險,本公司的戰(zhàn)略風(fēng)險) 包括可預(yù)見的和不可預(yù)見的風(fēng)險。 1.2軟件工程管理的重要性
對軟件產(chǎn)品開發(fā)要做到:客戶至上,質(zhì)量第一,可靠性第一。從客戶界面,設(shè)計方案,實現(xiàn)技術(shù),工程規(guī)劃,軟件過程,產(chǎn)品質(zhì)量,工程支持,產(chǎn)品測試等各個方面來考慮和保證上述目標(biāo)。 為了對付大型的軟件系統(tǒng),須采用傳統(tǒng)的"分解"方法。軟件工程的分解是從橫向和縱向即時間和空間兩個方面進(jìn)行的。
橫向分解就是把一個大系統(tǒng)分解為若干個小系統(tǒng),小系統(tǒng)分解為子系統(tǒng),子系統(tǒng)分解為模塊,模塊分解為過程。 縱向分解就是生存期,把軟件開發(fā)分為幾個階段,每個階段有不同的任務(wù)、特點和方法。為此,軟件工程管理需要有相應(yīng)的管理策略。 重要性:根據(jù)軟件產(chǎn)品的特征,且隨著軟件規(guī)模的不斷增大,開發(fā)人員也隨著增多,開發(fā)時間也相應(yīng)持續(xù)增長,這些都增加了軟件工程管理的難度,同時也突出了軟件工程管理的必要性和重要性。事實證明,由管理失誤造成的后果要比程序錯誤造成的后果更為嚴(yán)重。很少有 軟件項目的實施進(jìn)程能準(zhǔn)確地符合預(yù)定目標(biāo)、進(jìn)度和預(yù)算的,這也就足以說明軟件工程管理的重要。軟件產(chǎn)品的測試和缺陷估計,必須有一個文檔記錄存檔。如何售后服務(wù)也應(yīng)作為軟件產(chǎn)品完成的一個內(nèi)容或指標(biāo)。 軟件工程管理目前還沒有引起人們的足夠重視。其原因是人的傳統(tǒng)觀念,工程管理不為人們所重視;另一方面軟件工程是一個新興的科學(xué)領(lǐng)域,軟件工程管理的問題也是剛剛提出的。同時,由于軟件產(chǎn)品的特殊性,使軟件工程管理涉及到很多學(xué)科。 1.3軟件工程管理的內(nèi)容
軟件工程管理的具體內(nèi)容包括對開發(fā)人員、組織機(jī)構(gòu)、用戶、文檔資料等方面的管理。軟件的收益估計 1.開發(fā)人員 開發(fā)人員有:項目負(fù)責(zé)人、系統(tǒng)分析員、高級程序員、初級程序員、資料員和其他輔助人員。 2.組織機(jī)構(gòu) 這里的組織機(jī)構(gòu)要求有好的組織結(jié)構(gòu),合理的人員分工,有效的通訊。下面簡單介紹三種組織機(jī)構(gòu)。 (1)主程序員組織機(jī)構(gòu)。 (2)專家組織機(jī)構(gòu)。 (3)民主組織機(jī)構(gòu)。 3.用戶 軟件是為用戶而開發(fā)的,在開發(fā)過程中自始至終必須得到用戶的密切合作和支持。作為項目負(fù)責(zé)人,要特別注意與用戶保持聯(lián)系,掌握用戶心理和動態(tài),防止來自用戶的各種干擾和阻力。其干擾有: (1)不積極配合。 (2)求快求全。 (3)功能變化。 4.控制
控制包括進(jìn)度控制、人員控制、經(jīng)費控制和質(zhì)量控制。 5.文擋資料
軟件工程管理很大程度上是通過對文擋資料的管理來實現(xiàn)的。因此,要把開發(fā)過程中的一切初步設(shè)計、中間過程、最后結(jié)果建立成一套完整的文擋資料。文擋標(biāo)準(zhǔn)化是文擋管理的重要方面。
|
|