
一、引言
軟件工程管理目前還沒有引起人們的足夠重視。究其原因:首先是人的傳統(tǒng)觀念,工程管理不為人們所重視;另一方面軟件工程是一個(gè)新興的學(xué)科領(lǐng)域,軟件工程管理的問題也是剛被提出的。同時(shí),由于軟件產(chǎn)品的特殊性,使軟件工程管理涉及到很多學(xué)科。因此.對軟件工程管理,人們還缺乏經(jīng)驗(yàn)和技術(shù)。但事實(shí)證明,由管理失誤造成的后果要比程序錯(cuò)誤造成的后果更為嚴(yán)重。很少有軟件項(xiàng)目的實(shí)施進(jìn)程能準(zhǔn)確地符合預(yù)定目標(biāo)、進(jìn)度和預(yù)算的,這也就足以說明軟件工程管理的重要。
二、軟件工租,理的內(nèi)容
目前軟件生產(chǎn)自動(dòng)化程度很低,在開發(fā)過程中人是起決定性的因素,因此,軟件工程管理很大程度上是對人的管理。我們可根據(jù)軟件產(chǎn)品的特點(diǎn).分析軟件下程管理的具體內(nèi)容,它包括對開發(fā)人員、組織機(jī)構(gòu)、用戶、文檔資料等方而的管理。
(一)開發(fā)人員
軟件開發(fā)人員一般分為:項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員、高級(jí)程序員、初級(jí)程序員、資料員和其他輔助人員.根據(jù)項(xiàng)目的規(guī)模人小,有可能一人身兼數(shù)職,但職責(zé)必須明確。不同職責(zé)的人,要求的素質(zhì)不同。如項(xiàng)目負(fù)責(zé)人需要有組織能力、判斷能力和對重大問題能做出決策的能力;系統(tǒng)分析員則要有概括能力、分析能力和社交活動(dòng)能力;程序員需要有熟練的編程能力等。人員要少而精,選人要慎重。軟件生命期各個(gè)價(jià)段的活動(dòng)有分工又互相聯(lián)系。因此,要求選擇各類人員既能勝任工作,又要能相互很好地配合.沒有一個(gè)和諧的工作氣氛很難完成個(gè)復(fù)雜的軟件項(xiàng)目。
(二)組織機(jī)構(gòu)
組織機(jī)構(gòu)不等于開發(fā)人員的簡單集合。這里的組織機(jī)構(gòu)要求:好的組織結(jié)構(gòu)、合理的人員分工和有效的通訊。軟件開發(fā)的組織機(jī)構(gòu)沒有統(tǒng)一的模式。下面簡單介紹三種組織機(jī)構(gòu)。
1.主程序員組織機(jī)。IBM公司提出的主程序員組是軟件系統(tǒng)結(jié)構(gòu)化思想在組織上的體現(xiàn)。它的目的是為了保證全組的協(xié)調(diào)和統(tǒng)一。一位高級(jí)工程師(主程序員)主持計(jì)劃、協(xié)調(diào)和復(fù)審組的全部技術(shù)活動(dòng)。技術(shù)人員(一般25人)負(fù)責(zé)分析和開發(fā)活動(dòng),一位后援工程師支持高級(jí)工程師的工作,并且在該項(xiàng)目繼續(xù)進(jìn)行時(shí),可以代替高級(jí)工程師工作,以減少可能的損失.
2.專家組。專家組強(qiáng)調(diào)每個(gè)人的才能,把每個(gè)人都看作是某一方面的專家,由這些專家組成一個(gè)開發(fā)機(jī)構(gòu)。這種組織結(jié)構(gòu)雖然能發(fā)揮所有工作人員的積極性,但往往有可能出現(xiàn)協(xié)調(diào)上的困難,選擇這種方式要慎重.
3.民主組織.民主組織由從事各方面工作的人員輪流擔(dān)任組長。很顯然,這種組織結(jié)構(gòu)對調(diào)動(dòng)積極性和個(gè)人的創(chuàng)造性是很值得稱道的。但是由于過多地進(jìn)行組長信息“轉(zhuǎn)移”不符合軟件工程化的方向。
(三)用戶
我們是為用戶開發(fā)軟件的,在開發(fā)過程中自始至終必須得到用戶的密切合作和支持。作為項(xiàng)目負(fù)責(zé)人,要特別注意與用戶保持聯(lián)系,掌握用戶的心理和動(dòng)態(tài).防止來自用戶的各種干找和阻力。