求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

軟件項目管理檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

來自 搜狐網 的圖片

軟件項目管理是名詞術語。

關於中國文字的起源[1]主要有兩種觀點:起源於刻畫符號和「圖畫文字」起源說[2]。我們現在已知的最早的文字是安陽殷墟出土的甲骨文

名詞解釋

所謂軟件項目管理就是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對人員(People)、產品(Product)、過程(Process)和項目(Project)進行分析和管理的活動。軟件項目管理先於任何技術活動之前開始,並且貫穿於軟件的整個生命周期。

軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。而研究軟件項目管理為了從已有的成功或失敗的案例中總結出能夠指導今後開發的通用原則,方法,同時避免前人的失誤。

軟件項目管理的提出是在20世紀70年代中期的美國,當時美國國防部專門研究了軟件開發不能按時提交,預算超支和質量達不到用戶要求的原因,結果發現70%的項目是因為管理不善引起的,而非技術原因。於是軟件開發者開始逐漸重視起軟件開發中的各項管理。到了20世紀90年代中期,軟件研發項目管理不善的問題仍然存在。據美國軟件工程實施現狀的調查,軟件研發的情況仍然很難預測,大約只有10%的項目能夠在預定的費用和進度下交付。

1995年,據統計,美國共取消了810億美元的商業軟件項目,其中31%的項目未做完就被取消,53%的軟件項目進度通常要延長50%的時間,只有9%的軟件項目能夠及時交付並且費用也控制在預算之內。

軟件項目的計劃

軟件項目計劃是一個軟件項目進入系統實施的啟動階段,主要進行的工作包括:確定詳細的項目實施範圍、定義遞交的工作成果、評估實施過程中主要的風險、制定項目實施的時間計劃、成本和預算計劃、人力資源計劃等。

軟件項目管理過程從項目計劃活動開始,而第一項計劃活動就是估算:需要多長時間、需要多少工作量、以及需要多少人員。此外,我們還必須估算所需要的資源(硬件及軟件)和可能涉及到的風險。

為了估算軟件項目的工作量和完成期限,首先需要預測軟件規模。度量軟件規模的常用方法有直接的方法——LOC(代碼行),間接的方法——FP(功能點)。這兩種方法各有優缺點,應該根據軟件項目的特點選擇適用的軟件規模度量方法。

根據項目的規模可以估算出完成項目所需的工作量,我們可以使用一種或多種技術進行估算,這些技術主要分為兩大類:分解和經驗建模。分解技術需要劃分出主要的軟件功能,接着估算實現每一個功能所需的程序規模或人月數。經驗技術的使用是根據經驗導出的公式來預測工作量和時間。可以使用自動工具來實現某一特定的經驗模型。

精確的項目估算一般至少會用到上述技術中的兩種。通過比較和協調使用不同技術導出的估算值,我們可能得到更精確的估算。軟件項目估算永遠不會是一門精確的科學,但將良好的歷史數據與系統化的技術結合起來能夠提高估算的精確度。

當對軟件項目給予較高期望時,一般都會進行風險分析。在標識、分析和管理風險上花費的時間和人力可以從多個方面得到回報:更加平穩的項目進展過程;更高的跟蹤和控制項目的能力;由於在問題發生之前已經做了周密計劃而產生的信心。

對於一個項目管理者,他的目標是定義所有的項目任務,識別出關鍵任務,跟蹤關鍵任務的進展情況,以保證能夠及時發現拖延進度的情況。為此,項目管理者必須制定一個足夠詳細的進度表,以便監督項目進度並控制整個項目。

常用的制定進度計劃的工具主要有Gantt圖和工程網絡兩種。Gantt圖具有悠久歷史、直觀簡明、容易學習、容易繪製等優點,但是,它不能明顯地表示各項任務彼此間的依賴關係,也不能明顯地表示關鍵路徑和關鍵任務,進度計劃中的關鍵部分不明確。因此,在管理大型軟件項目時,僅用Gantt圖是不夠的,不僅難於做出既節省資源又保證進度的計劃,而且還容易發生差錯。

工程網絡不僅能描繪任務分解情況及每項作業的開始時間和結束時間,而且還能清楚地表示各個作業彼此間的依賴關係。從工程網絡圖中容易識別出關鍵路徑和關鍵任務。因此,工程網絡圖是制定進度計劃的強有力的工具。通常,聯合使用Gantt圖和工程網絡這兩種工具來制定和管理進度計劃,使它們互相補充、取長補短。

進度安排是軟件項目計劃的首要任務,而項目計劃則是軟件項目管理的首要組成部分。與估算方法和風險分析相結合,進度安排將為項目管理者建立起一張計劃圖。

軟件項目的控制

對於軟件開發項目而言,控制是十分重要的管理活動。下面介紹軟件工程控制活動中的質量保證和配置管理。其實上面所提到的風險分析也可以算是軟件工程控制活動的一類。而進度跟蹤則起到連接軟件項目計劃和控制的作用。

軟件質量保證(SQA,Software Quality Insurance)是在軟件過程中的每一步都進行的「保護性活動」。SQA主要有基於非執行的測試(也稱為評審)、基於執行的測試(即通常所說的測試)和程序正確性證明。

軟件評審是最為重要的SQA活動之一。它的作用是,在發現及改正錯誤的成本相對較小時就及時發現並排除錯誤。審查和走查是進行正式技術評審的兩類具體方法。審查過程不僅步數比走審多,而且每個步驟都是正規的。由於在開發大型軟件過程中所犯的錯誤絕大數是規格說明錯誤或設計錯誤,而正式的技術評審發現這兩類錯誤的有效性高達75%,因此是非常有效的軟件質量保證方法。

軟件配置管理(SCM,Software configuration management)是應用於整個軟件過程中的保護性活動,它是在軟件整個生命周期內管理變化的一組活動。

軟件配置由一組相互關聯的對象組成,這些對象也稱為軟件配置項,它們是作為某些軟件工程活動的結果而產生的。除了文檔、程序和數據這些軟件配置項之外,用於開發軟件的開發環境也可置於配置控制之下。一旦一個配置對象已被開發出來並且通過了評審,它就變成了基線。對基線對象的修改導致建立該對象的版本。版本控制是用於管理這些對象而使用的一組規程和工具。

變更控制是一種規程活動,它能夠在對配置對象進行修改時保證質量和一致性。配置審計是一項軟件質量保證活動,它有助於確保在進行修改時仍然保持質量。狀態報告向需要知道關於變化的信息的人,提供有關每項變化的信息。

參考文獻