探索軟件項目管理
時間:2022-04-18 11:25:00
導語:探索軟件項目管理一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
開發軟件項目需要一定的人力、財力、時間,也需要一定的技術和工具。為了使項目能夠按照預定成本、進度、質量順利完成,需要對成本、人員、進度、質量等多方面進行分析與管理。軟件是邏輯產品而不是物理產品,在開發、生產、維護和使用等方面與硬件相比均存在明顯差異,它更依賴于開發人員的業務素質、智力及人員的組織、合作和管理。
一、軟件的概念
系統軟件是負責管理計算機系統中各種獨立的硬件,使得它們可以協調工作。系統軟件使得計算機使用者和其他軟件將計算機當作一個整體而不需要顧及到底層每個硬件是如何工作的。但是系統軟件并不針對某一特定應用領域。而應用軟件則相反,不同的應用軟件根據用戶和所服務的領域提供不同的功能。應用軟件是為了某種特定的用途而被開發的軟件。它可以是一個特定的程序,比如一個圖像瀏覽器。也可以是一組功能聯系緊密,可以互相協作的程序的集合,比如微軟的Office軟件。也可以是一個由眾多獨立程序組成的龐大的軟件系統,比如數據庫管理系統。
二、軟件的度量
任何工程項目都必須采用定量的描述手段,軟件工程項日也例外。例如,不能定量地描述軟件工程項目的規模就無法估算軟件項目的成本以及所需的人力和時間,而這個問題是軟件項目管理人員和客戶都非常關心的。軟件工程的定量描述離不開度量、測量、估算等3個基本方面。度量具有數字特征,軟件工程范圍內的度量是軟件產品、軟件開發過程或資源簡單屬性的定量描述。如程序規模、操作符個數、程序中錯誤的個數等。測量和估算是簡單屬性度量的函數,如軟件成本、軟件質量等。測量用于事后或實時狀態。他涉及測量的方法、過程、工具和數值結果。估算是對軟件產品、過程、資源進行預測,可以采用經驗公式,也可以參考歷史資料。估算一般用于簽訂合同、立項、制訂工作計劃等。這里的產品指軟件開發過程生成的文檔和程序,例如規格說明、設計文檔、源代碼及測試策略文檔等。
過程指與軟件有關的活動,如軟件開發計劃、開發活動、管理活動等。軟件開發資源指軟件開發過程中需要的各種支持,如人力、經費、硬件環境等。軟件工程的產品、過程、資源都具有外部屬性和內部屬性。外部屬性體現了產品、過程、資源與環境的關系,如成本、效益、程序員的生產率以及軟件產品的可靠性、可用性、可維護性、可移植性等。軟件項目管理人員和顧客非常關心產品、過程和資源的外部屬性,因此外部屬性也可以說是面向管理者和用戶的屬性。軟件的內部屬性指軟件產品、過程和資源本身的屬性,如軟件產品的結構、模塊化程度、復雜性、程序長度等。軟件外部屬性在軟件開發過程中很難測量和控制,但它是由軟件的內部屬性決定的。
因此,人們不得不研究軟件的內部屬性及與外部屬性之間的關系,并試圖通過軟件內部屬性度量解決軟件某些外部屬性的度量問題,進而逐步建立軟件工程度量系統。該系統的軟件度量分為兩類,第一類包括面向規模的度量、面向功能的度量和面向人的度量,第二類包括生產率度量、質量度量和技術度量。軟件測量又分為直接測量和間接測量兩種,不依賴于其他屬性的簡單屬性可以直接測量,如程序代碼行數、操作符的個數。設計一個或若干個其他屬性的軟件要數、準則或屬性,需要采用間接測量,如軟件復雜性、模塊性。間接測量必須建立一定的測量方法或模型。在基于計算機的系統中,軟件開發成本占總成本的比例很大。在軟件項目立項和軟件項目管理工作中,客戶和項目管理人員都非常重視軟件項目的成本估算。然而,由于軟件是邏輯產品,成本估算涉及人、技術、環境、政策等多種因素,因此,在項目完成之前,很難精確的估算出項目的開銷。為了實現軟件項目估算,實踐中開發了大量的軟件項目自動估算工具,用以支持軟件工作量或成本估算。
三、軟件開發過程管理
大型軟件項目需要很多人的通力合作,花費一年或數年的時間才能完成。為了提高工作效率,保證工程質量,軟件項目開發人員的組織、分工與管理是一項十分重要和復雜的工作,它直接影響到軟件項自的成功與失敗。首先,由于軟件開發人員的個人素質與能力差異很大,因此對軟件開發人員的選擇、分工十分關鍵。其次,因為軟件產品不易理解、不易維護,因此軟件人員的組織方式十分關鍵。一個重要的原則是,軟件開發人員的組織結構與軟件項目開發模式和軟件產品的結構相對應,這樣可以達到軟件開發方法、工具與人的統一從而降低管理系統的復雜性,有利于軟件開發過程的管理與質量控制,按樹形結構組織軟件開發人員是一個比較成功的經驗。樹的根是軟件項目經理和項目總的技術負責人。理想的情況是,項目經理和技術負責人由一個人或一個小組擔任。樹的節點是程序員小組,為了減少系統的復雜性,便于項目管理,樹的節點每層不要超過7個,在此基礎上盡量降低樹的層數。
- 上一篇:書記在政情通報大會發言
- 下一篇:縣長在糧食抗旱生產推進會講話