前言:尋找寫作靈感?中文期刊網用心挑選的計算機軟件工程管理策略探究,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:伴隨科學技術水平的不斷提升,計算機在各領域中得到越來越廣泛的應用,其軟件工程項目數量也隨之增多;計算機軟件工程管理在成功開發軟件項目中,發揮著重要作用,其主要內容為用戶管理、開發人員管理、文檔管理、用戶管理等。本文結合當前實況,圍繞計算機軟件工程項目管理的主要內容,探討了開展此方面管理的具體方案,望能為此領域研究提供些許借鑒。
關鍵詞:計算機;軟件工程;項目管理
當前,在開發計算機軟件時,時常會出現僅注重技術而輕視管理的情況,因此,在軟件工程當中,管理便成為其中比較薄弱的環節。在對軟件工程進行管理時,如果出現失控情況,那么便容易引發軟件危機,導致軟件產品出現各種各樣的問題,如生產率低、質量差及進度難以保證、資金浪費等。所以軟件工程管理影響甚至決定著軟件項目開發的成敗。所謂軟件工程管理,從根本上來講,就是對軟件項目整個開發過程所進行的管理,同時還是對軟件生命周期中所有活動所展開的管理。而基于工程學層面來分析,即為對軟件工程各個要素進行統一全面性管理,如項目成本、知識資源、產品質量、項目周期即項目范圍等。本文結合當前實況,就計算機軟件工程項目管理的具體內容及方案探討如下。
1軟件工程項目的特點分析
(1)軟件產品具有不可見性。軟件具有非物質性特點,其有著不夠直接的可見性,需采用專門的軟件工程方法與有效測試手段,方能從中感知軟件的存在;(2)軟件產品具有多樣性、不確定性特點,無標準化的軟件過程;(3)針對大型項目來講,通常是一次性項目,其具有風險大、工作量大、系統結構復雜、需求不確定等特點,另外,還采用了許多先進技術,如數據挖掘、多維分析等。
2軟件工程項目管理的主要內容
2.1文檔資料管理。對于軟件工程項目的管理而言,其通常是通過管理文檔資料來達成或實現的。因為在實際開發時,大部分活動內容均會在文檔資料上記錄,各階段的文檔資料不僅是對之前工作的復審,而且還是后續工作開展的基礎。在整個文檔管理工作當中,文檔標準化為其關鍵所在,其需要將各種內容整合在一起(比如初步設計、中間過程及最終結果等),以此來構建一套更為健全且合理的文檔資料。
2.2對控制的管理。要想使軟件的開發過程能夠遵照既定的計劃來開展,首先要做的便是嚴格控制整個開發過程。需指出的是,計劃是控制的根基所在,其在具體內容上,主要有質量控制、人員控制、進度控制及經費控制等。所謂進度控制,從基礎層面來分析,即為了確保項目可以按照既定時間表來推進,保證項目按期完成所開展的控制手段;而對于人員控制來講,就是為開發人員的穩定性、積極性提供切實保障;經費控制需要編制全面且詳細的經費預算,確保項目能夠在既定經費計劃內完成。而對于質量控制來講,主要通過復審各階段來提供切實保障,提高項目各階段的工程質量。
2.3用戶管理。針對用戶而言,其不僅是軟件產品的使用者,而且還是最終評價者,所以,在實際開發時,時刻需要與用戶緊密配合。對于項目負責人來講,不僅要做到與用戶之間的深入聯系,而且還應掌握用戶的需求與心理,將來自用戶的干擾給消除掉。
2.4組織機構管理。組織機構除了要求由合理的人員分工之外,還要求有良好的組織結構以及高效的通訊基礎。通常情況下,組織機構的形式主要有如下幾種:其一,民主組織。即采用比較傳統的民主管理方式,讓每個人輪流擔任組長,以此來更好的調動大家的創造性與積極性,但在實際操作管理中,卻存在著較大難度,現實應用的并不錯。其二,專家組。將各開發人眼均當作某一方面的專家,注重個人才能的發揮。需強調的是,由此些專家所建立的機構,可以將每個人的才能、積極性充分發揮出來。其三,主程序員組織機構。為了能夠切實提高全組的統一協調性,IBM公司根據自身實際,提出了具有深遠影響的主程序員組織機構,就是由1名高級工程師支持協調、計劃與復審組的所有技術活動。而對于技術員而言,其主要負責活動的分析與開發。
2.5開發人員管理。針對開發人員來講,其主要包括資料員、高級程序員、項目負責人、初級程序員及系統分析員等。在項目實施中,所有開發人員都需要做到明確分工,各司其職,另外,職責不同,其素質要求也存在差異。比如項目負責人,其除了要有敏銳的洞察力、判斷力之外,還應有卓越的組織能力,尤其是遇到一些重大問題時,能夠做出正確決策的能力;針對系統分析員來講,不僅要有分析、解決現實問題的能力,而且還要有概括能力、社交活動能力等;對于程序員而言,除了要有豐富的開發經驗之外,還應有熟練的編程能力。
3軟件工程管理的方案分析
3.1以軟件能力成熟模型(CMM)為基礎的軟件工程項目管理軟件能力成熟模型是一種由卡內基梅隆大學軟件工程研究所(CMUSEI)于1987年研究出的對軟件承包商能力進行評價,且輔助其改善軟件質量的執行方法。其主要目的就是幫助軟件企業對整個軟件工程開發過程展開全面性、持續性且深入性管理與改進,促進其開發與改進能力的提升,使其能夠在不超預算、按時的開發出高水平、高質量的軟件。針對CMM來講,其所注重的是工程能力的提高以及軟件開發過程的管理,為了能夠切實提高軟件企業的過程能力,還專門提供了先進且實用的五級階梯式進化框架。需指出的是,所有軟件企業所開展且嚴格執行的軟件過程,可能在某一方面使較為成熟、穩定的,而在其他方面,可能不夠成熟,但從總體上來分析,其屬于五個級別當中的某一個。所以,針對軟件開發單位而言,首先要做的便是對自己正處在哪一級別加以明確,然后方能有針對性、目的性的依據此級別的相關要求,制定解決方案,消除所存在的問題。
3.2CMM中的分布式軟件工程管理方案分析。3.2.1分布式軟件工程管理分析。針對服務器C/S、客戶機來講,因其體系結構主要存在如下問題:MIS系統維護成本高;服務器限制了客戶端的具體數目,使得系統有著比較差的延展性;處理邏輯難以實現共享,代碼有著較差的重復性;如果服務器發生故障,借助此服務器的應用系統會處于癱瘓狀態;針對此些不足或缺點,本文提出了三層分布式結構,如圖1所示。針對此種結構而言,其不僅能是系統的性能得到提升,而且還能強化系統的可擴展性、靈活性以及客戶機的可管理性、應用的可靠性等,因而在相關領域中,以得到比較廣泛的應用。需要指出的是,當分析、設備或者測試此分布系統時,需要考慮此種結構的軟件工程問題,也就是分布式軟件工程。在整個分布式環境體系當中,應用程序不再像以往那樣以一種整體形式而提供給用戶,而是成為在網絡上運行的服務對象。還需強調的是,相比于C/S軟件工程,分布式軟件工程管理主要將選用何種分布式軟件構件以及怎樣對軟件構件進行分布當作考慮對象,此外,分布式軟件工程管理還注重分布式結構的各種問題,如測試、設計及分析建模等。3.2.2分布式軟件工程管理方案框架。針對軟件組織而言,實際就是利用網絡軟件來開發分布式軟件工程,而在實際開發過程中,要想使工程管理能夠更加有序、高效、協調化開展,首先需要對軟件組織所對應的軟件過程下定義,然后通過解釋軟件過程,對工程項目行為進行高消化控制。針對分布式軟件工程框架邏輯結構當中的協同平臺來講,其主要職責就是提供協作應用程序,比如工作流、電子郵件、角色定義及文檔管理等,為用戶提供協作工具,滿足協作運用的運行環境需要,此外,還會根據現實需要,提供許多用于擴展平臺框架的借口。在啟動項目之前,需要先將軟件企業成員與CMM角色間的映射完成。在CMM實踐過程當中,需要注重其過程的管理與控制,確保全部角色協同工作(統一基線下),這有助于文檔的管理。此外,還需要強調的是,在分布式軟件工程項目管理中,依據角色的功能,把用戶劃分成高級主管(PM)、軟件工程過程組(SEPG)與其他成員。其中,對于SEPG而言,其主要職責就是定義軟件組織,且對標準過程進行維護,另外,還負責裁剪過程,收集與機構的標準軟件過程有關的信息。而對于PM來講,其主要職責就是啟動項目,指派人員,及負責項目的各項實施。針對其他成員來分析,即為在協同框架下,將軟件開發任務合作完成。
4結語
綜上,在當今信息技術日漸發展與完善的大背景下,計算機行業呈現出迅猛的發展勢頭,且日漸成為人們生活、工作當中難以分割的重要組成部分;隨著計算機應用越發廣泛,其軟件工程項目也不斷增多,致使許多軟件開發人員融入軟件工程項目的研發當中。本文圍繞軟件工程項目的主要內容,基于軟件能力成熟模型,探討了軟件工程項目的管理策略,以此為相關管理研究提供一些思路。
作者:魯若峰 單位:湖北第二師范學院