勞智勇
潤建股份有限公司 廣西 南寧 530000
在計算機軟件工程開展的過程中,不論是產品設計,還是開發、生產等環節,都與管理工具有直接關系,有效的管理措施既可以確保軟件工程質量,充分滿足用戶使用需求,也可以控制工程收益與風險。所以,應該充分認識到計算機軟件工程管理的重要性,并且結合實際采取有效的管理措施。計算機軟件工程管理的內容較多,包括開發人員管理、組織機構管理、用戶管理等等。根據具體的管理內容與管理目標,制定完善的管理計劃,確保計算機軟件工程管理充分發揮作用。
計算機軟件產品不具備直接可見的特性,只能采用間接可見的方式,需要采用軟件工程方法,通過測試才能證明軟件的存在性。不僅如此,其還具有復雜性、不確定性的特點,過程沒有明確的標準。大規模較大的軟件系統比較復雜,需要承擔較高的風險,所以必須采取先進的開發、運行等技術。
計算機軟件工程實施之前,需要先制定軟件開發計劃書,明確軟件項目要求、開發任務、資源需求、進度計劃等內容。將軟件設計作為基礎進行軟件分析,主要包括領域分析與需求分析兩項內容[1]。前者是分析軟件的服務應用領域,如果針對某個專業領域進行軟件開發,則需要了解該領域業務流程和特點。由于服務領域范圍廣闊、類型多樣,所以軟件也有很大差異;后者根據用戶所在領域特點分析用戶需求,包括功能、性能、其他三種需求類型。具體分為需求獲取、分析、描述和驗證4個環節。在獲取方面,可以采用走訪、面談等方式,同時配合啟發法、原形法等方法。應該從總體需求入手,分析系統功能、技術性能等多個方面,并且編制詳細的《軟件需求說明書》,然后驗證需求的合理性[2]。在軟件設計的過程中,《軟件需求說明書》是十分重要的依據。在軟件分析完成后,進入設計階段。軟件設計就是深化和細化軟件分析,旨在實現各項功能與性能要求,提出可以指導軟件實現的具體方案,包括平臺設計、界面設計、結構設計等多項內容。在實際設計的過程中,可以分為兩個階段,分別是:概括設計階段,即軟件模塊和架構的設計階段;詳細設計階段,即細化各個模塊的設計階段。并且制定《軟件詳細設計說明書》,為后續編碼奠定基礎。
前期各個環節的實施都為后續編碼奠定基礎,開發人員編寫程序既要滿足系統功能要求,也要具有較高的執行效率,盡可能簡化代碼。目前,有很多常用的編程工具,應該選擇符合需求且經濟高效的工具。在完成編碼后,軟件產品基本完成,但還不能直接呈交給用戶,需要進行測試修改,了解軟件中的問題。軟件測試可以采用人工或自動的方式完成,包括靜態和動態兩類測試。軟件測試旨在確保軟件品質,具體包括單元測試、模型測試、集成測試等內容。
軟件開發涉及多個崗位,包括編程、系統分析、項目管理等等。由于項目各個環節依次開展,通常不需要同時投入過多的人力,所以一些項目開發的過程中可能出現一人身兼數職的情況。在這種情況下,工作質量可能會受到影響。需要強化開發人員管理,即明確各個崗位、人員的具體職責,確保人員的專業素養,這樣才能確保軟件開發質量[3]。具體來說,在軟件的全生命周期中,不同開發環節需要落實不同的工作內容、完成不同的工作任務,各個環節相互獨立和聯系,所以各崗位人員需要相互協調配合,對人員素質有較高的要求,既要掌握專業的知識技術,也要具備溝通合作的能力。
在計算機軟件工程管理工作落實的過程中,需要構建完善的組織機構。機構中包括開發、管理等各個部門的人員,組織機構比較復雜。通常,主要包括三類組織,分別是:主力程序員構成的組織機構,圍繞主力程序員進行任務分配、組織規劃,確保隊伍之間的相互協調,使工作內容更加明確。具體可以劃分為計劃、調節、審核三類成員。其中,一般技術人員負責軟件分析與規劃等基礎性工作;資深程序員為核心的組織結構,成員專業素質較高、能力較強,可以確保項目質量,同時具有很強的工作積極性,可以滿足各類軟件開發需求;大眾組織,成員普遍為有經驗的從業人員,可以承擔常規的計算機軟件開發任務。
軟件開發旨在滿足用戶使用需求,不論是軟件使用,還是軟件評價,都將用戶作為主體來實現。所以,在實際開發的過程中,開發人員需要與用戶進行充分的溝通,了解用戶需求,并在各個開發環節與用戶保持良好的互動,這樣才能確保軟件開發結果可以滿足用戶需求[4]。軟件開發的負責人必須圍繞用戶需求落實開發項目,同時對用戶進行恰當的管理,避免用戶因素對軟件開發產生影響。
控制管理涉及多項內容,主要對項目經費、進度、質量等要素進行控制。其中,進度控制是十分重要的一項內容,旨在確保項目在規定時間內完成,避免因為項目拖延造成成本升高或者影響用戶使用。經費控制主要為了確保軟件開發的效益,避免資源、資金的浪費問題。質量控制就是確保軟件開發整體質量,使軟件使用壽命、功能、性能等符合用戶需求。此外,也要做好文檔資料整理、管理工作。任何軟件開發項目都需要建立項目文檔,為確保后續環節有充足的信息支持,同時為軟件升級維護、創新開發提供依據,必須做好資料文檔的整理與保存工作。
為發揮控制工作的作用,使計算機軟件工程管理水平不斷提升,需要明確計算機軟件工程管理的要點。具體包括質量控制和進度控制兩個方面。
在質量控制方面,可以采用魚骨圖法、帕累托分析、統計抽樣與標準差法等多種方法。其中,魚骨圖法具有簡單便捷的特點,同時內容呈現比較直觀,便于進行因果分析,是計算機軟件工程管理中比較常用的一種方法。在實際管理的過程中,工程會受到各項因素的影響,進而產生問題。管理人員需要分析各個影響因素,然后聯系實際問題,制定詳細、具體的關聯圖,以此分析現象,然后探究本質,找到出現問題的原因,并且制定針對性的解決方案。統計抽樣也是比較常用的方法,就是在總體中選擇部分作為樣本,通過檢查樣本進行分析,然后總結問題。如果采用這種方法,要求管理人員掌握統計知識,并且具備統計經驗,確保統計抽樣的過程中,可以充分掌握可信度因子、變異性、標準差等要素[5]。帕累托分析法就是根據引發質量問題的具體因素進行分析,確定問題產生的主要原因。通過該方法分析可知,80%的計算機軟件工程問題,都有20%的問題因素引發,所以大部分問題本質上相同,可以采用統一的處理方法。
在進度控制方面,主要從活動定義與排序、歷史估算、編程進度等方面著手。在活動排序的過程中,可以采用項目網絡圖的方法,該方法可以直觀呈現各個活動之間的順序與邏輯關系,包括雙代號網絡圖以及箭線圖兩種方法。其中,箭線圖可以展現各個人物或各項活動的順序關系。雙代號網絡圖利用字母、圓圈來呈現活動之間的依賴關系。在進度編制的過程中,管理人員需要先確定活動開始和結束的時間,可以采用PERT分析、甘特圖等多種方法[6]。在實際管理中,甘特圖比較常用,可以直觀地顯示進度,使制定計劃具有較強的可讀性。PERT分析可以分析和評估項目進度,為進度計劃的編制提供依據。
3.2.1 工程審核。所謂工程審核,就是在實際管理的過程中,對項目實施過程以及成果進行評估分析,以此評定工程進展與需求、計劃、合同是否相符。在實踐的過程中,管理人員必須遵循以下原則:首先,將工程計劃規定作為依據,對各個節點進行詳細審核;其次,在審核過程中,明確具體的問題和詳細的解決過程,并且進行記錄;再次,在完成審核后,在文檔中添加審核結果,為開發商、業主提供詳細的信息依據,便于決策制定;最后,在實際開發的過程中,需要審核工程文檔,管理人員需要根據考慮文檔測試需求、驗收評審內容等相關問題,確認其與軟件產品驗收要求是否相符,以及測試數據和報告是否準確。此外,在實際審核的過程中,需要對計劃內容進行全面分析,確認其與法律規范是否相符,同時進行可行性分析,對比計劃內容與合同內容,確認二者是否相互適應。
3.2.2 工程監督。在計算機軟件工程管理的過程中,工程監督是十分重要的一項內容。具體來說,就是對工程建設過程進行監督和檢查。主要根據工程標準、計劃、合同等規范內容開展監督工作,確保監督的合理性與全面性。工程監督旨在增加工程建設的透明度,使其他管理工作可以順利開展,同時獲得更多工程相關數據,為工程決策提供依據[7]。在這個過程中,管理人員需要檢查已完成工作量、工程規模、耗時與造價等多項內容,對比計算機軟件工程開發計劃,如果發現實際與計劃不符,則需要責令糾正與整改。在實際管理中,應該將監督工作作為日常工作內容,在實際監督的過程中,根據管理需求制定監督記錄,并且向開發商、業主提交報告。
3.2.3 工程測試。為保障計算機軟件工程質量,需要進行產品測試。管理人員在落實管理工作的過程中,必須認識到成果測試、階段性測試的重要性,通過測試了解工程現狀,分析產品開發狀態,為后續管理工作的落實提供更多依據。管理人員需要獲取開發商提供的測試規范與項目,以此為依據開展測試工作,同時確保測試工作覆蓋整個開發過程,為實際開發提供更多建議和依據。在這個過程中,管理人員需要遵循基本工作原則。一方面,要確保工程項目測試嚴格遵守測試規范以及結果分析辦法。另一方面,做好測試數據的收集、歸類、分析等工作。在分析結束后,應該制定數據分析報告。具體來說,需要開展模型測試、單元測試、集成測試等多項測試內容。以單元測試來說,本質上就是測試最小粒度,對具體的功能與代碼模塊進行測試。如果使用JAVA編寫程序,則采用Junit進行單元測試。Junit是一個開放源代碼的JAVA測試框架,在編寫運行中應用,是可重復的測試方法。結合實際代碼模塊中的方法進行測試程序編寫,可以反復使用,能夠有效提升測試效率,充分滿足各類測試需求;集成測試就是以單元測試為基礎,針對軟件總體功能進行測試。在程序開發的過程中,該測試階段需所有開發人員共同參與。
綜上所述,在計算機軟件工程項目實施的過程中,為保障軟件開發質量,需要采取有效的計算機軟件工程管理措施。首先應該明確計算機軟件工程的具體內容與開發流程,然后結合實際制定有效的管理方案。一方面,應該明確計算機軟件工程管理要點,包括工程質量控制和進度控制兩個方面;另一方面,采取有效的管理措施,包括工程審核、工程監督與工程測試三項內容。