◆魯若峰
計算機軟件工程項目管理策略研究
◆魯若峰
(湖北第二師范學(xué)院 湖北 430000)
伴隨科學(xué)技術(shù)水平的不斷提升,計算機在各領(lǐng)域中得到越來越廣泛的應(yīng)用,其軟件工程項目數(shù)量也隨之增多;計算機軟件工程管理在成功開發(fā)軟件項目中,發(fā)揮著重要作用,其主要內(nèi)容為用戶管理、開發(fā)人員管理、文檔管理、用戶管理等。本文結(jié)合當前實況,圍繞計算機軟件工程項目管理的主要內(nèi)容,探討了開展此方面管理的具體方案,望能為此領(lǐng)域研究提供些許借鑒。
計算機;軟件工程;項目管理
當前,在開發(fā)計算機軟件時,時常會出現(xiàn)僅注重技術(shù)而輕視管理的情況,因此,在軟件工程當中,管理便成為其中比較薄弱的環(huán)節(jié)。在對軟件工程進行管理時,如果出現(xiàn)失控情況,那么便容易引發(fā)軟件危機,導(dǎo)致軟件產(chǎn)品出現(xiàn)各種各樣的問題,如生產(chǎn)率低、質(zhì)量差及進度難以保證、資金浪費等。所以軟件工程管理影響甚至決定著軟件項目開發(fā)的成敗。所謂軟件工程管理,從根本上來講,就是對軟件項目整個開發(fā)過程所進行的管理,同時還是對軟件生命周期中所有活動所展開的管理。而基于工程學(xué)層面來分析,即為對軟件工程各個要素進行統(tǒng)一全面性管理,如項目成本、知識資源、產(chǎn)品質(zhì)量、項目周期即項目范圍等。本文結(jié)合當前實況,就計算機軟件工程項目管理的具體內(nèi)容及方案探討如下。
(1)軟件產(chǎn)品具有不可見性。軟件具有非物質(zhì)性特點,其有著不夠直接的可見性,需采用專門的軟件工程方法與有效測試手段,方能從中感知軟件的存在;(2)軟件產(chǎn)品具有多樣性、不確定性特點,無標準化的軟件過程;(3)針對大型項目來講,通常是一次性項目,其具有風險大、工作量大、系統(tǒng)結(jié)構(gòu)復(fù)雜、需求不確定等特點,另外,還采用了許多先進技術(shù),如數(shù)據(jù)挖掘、多維分析等。
對于軟件工程項目的管理而言,其通常是通過管理文檔資料來達成或?qū)崿F(xiàn)的。因為在實際開發(fā)時,大部分活動內(nèi)容均會在文檔資料上記錄,各階段的文檔資料不僅是對之前工作的復(fù)審,而且還是后續(xù)工作開展的基礎(chǔ)。在整個文檔管理工作當中,文檔標準化為其關(guān)鍵所在,其需要將各種內(nèi)容整合在一起(比如初步設(shè)計、中間過程及最終結(jié)果等),以此來構(gòu)建一套更為健全且合理的文檔資料。
要想使軟件的開發(fā)過程能夠遵照既定的計劃來開展,首先要做的便是嚴格控制整個開發(fā)過程。需指出的是,計劃是控制的根基所在,其在具體內(nèi)容上,主要有質(zhì)量控制、人員控制、進度控制及經(jīng)費控制等。所謂進度控制,從基礎(chǔ)層面來分析,即為了確保項目可以按照既定時間表來推進,保證項目按期完成所開展的控制手段;而對于人員控制來講,就是為開發(fā)人員的穩(wěn)定性、積極性提供切實保障;經(jīng)費控制需要編制全面且詳細的經(jīng)費預(yù)算,確保項目能夠在既定經(jīng)費計劃內(nèi)完成。而對于質(zhì)量控制來講,主要通過復(fù)審各階段來提供切實保障,提高項目各階段的工程質(zhì)量。
針對用戶而言,其不僅是軟件產(chǎn)品的使用者,而且還是最終評價者,所以,在實際開發(fā)時,時刻需要與用戶緊密配合。對于項目負責人來講,不僅要做到與用戶之間的深入聯(lián)系,而且還應(yīng)掌握用戶的需求與心理,將來自用戶的干擾給消除掉。
組織機構(gòu)除了要求由合理的人員分工之外,還要求有良好的組織結(jié)構(gòu)以及高效的通訊基礎(chǔ)。通常情況下,組織機構(gòu)的形式主要有如下幾種:其一,民主組織。即采用比較傳統(tǒng)的民主管理方式,讓每個人輪流擔任組長,以此來更好的調(diào)動大家的創(chuàng)造性與積極性,但在實際操作管理中,卻存在著較大難度,現(xiàn)實應(yīng)用的并不錯。其二,專家組。將各開發(fā)人眼均當作某一方面的專家,注重個人才能的發(fā)揮。需強調(diào)的是,由此些專家所建立的機構(gòu),可以將每個人的才能、積極性充分發(fā)揮出來。其三,主程序員組織機構(gòu)。為了能夠切實提高全組的統(tǒng)一協(xié)調(diào)性,IBM公司根據(jù)自身實際,提出了具有深遠影響的主程序員組織機構(gòu),就是由1名高級工程師支持協(xié)調(diào)、計劃與復(fù)審組的所有技術(shù)活動。而對于技術(shù)員而言,其主要負責活動的分析與開發(fā)。
針對開發(fā)人員來講,其主要包括資料員、高級程序員、項目負責人、初級程序員及系統(tǒng)分析員等。在項目實施中,所有開發(fā)人員都需要做到明確分工,各司其職,另外,職責不同,其素質(zhì)要求也存在差異。比如項目負責人,其除了要有敏銳的洞察力、判斷力之外,還應(yīng)有卓越的組織能力,尤其是遇到一些重大問題時,能夠做出正確決策的能力;針對系統(tǒng)分析員來講,不僅要有分析、解決現(xiàn)實問題的能力,而且還要有概括能力、社交活動能力等;對于程序員而言,除了要有豐富的開發(fā)經(jīng)驗之外,還應(yīng)有熟練的編程能力。
軟件能力成熟模型是一種由卡內(nèi)基梅隆大學(xué)軟件工程研究所(CMU SEI)于1987年研究出的對軟件承包商能力進行評價,且輔助其改善軟件質(zhì)量的執(zhí)行方法。其主要目的就是幫助軟件企業(yè)對整個軟件工程開發(fā)過程展開全面性、持續(xù)性且深入性管理與改進,促進其開發(fā)與改進能力的提升,使其能夠在不超預(yù)算、按時的開發(fā)出高水平、高質(zhì)量的軟件。
針對CMM來講,其所注重的是工程能力的提高以及軟件開發(fā)過程的管理,為了能夠切實提高軟件企業(yè)的過程能力,還專門提供了先進且實用的五級階梯式進化框架。需指出的是,所有軟件企業(yè)所開展且嚴格執(zhí)行的軟件過程,可能在某一方面使較為成熟、穩(wěn)定的,而在其他方面,可能不夠成熟,但從總體上來分析,其屬于五個級別當中的某一個。所以,針對軟件開發(fā)單位而言,首先要做的便是對自己正處在哪一級別加以明確,然后方能有針對性、目的性的依據(jù)此級別的相關(guān)要求,制定解決方案,消除所存在的問題。
3.2.1分布式軟件工程管理分析
針對服務(wù)器C/S、客戶機來講,因其體系結(jié)構(gòu)主要存在如下問題:MIS系統(tǒng)維護成本高;服務(wù)器限制了客戶端的具體數(shù)目,使得系統(tǒng)有著比較差的延展性;處理邏輯難以實現(xiàn)共享,代碼有著較差的重復(fù)性;如果服務(wù)器發(fā)生故障,借助此服務(wù)器的應(yīng)用系統(tǒng)會處于癱瘓狀態(tài);針對此些不足或缺點,本文提出了三層分布式結(jié)構(gòu),如圖1所示。

圖1 三層分布式結(jié)構(gòu)
針對此種結(jié)構(gòu)而言,其不僅能是系統(tǒng)的性能得到提升,而且還能強化系統(tǒng)的可擴展性、靈活性以及客戶機的可管理性、應(yīng)用的可靠性等,因而在相關(guān)領(lǐng)域中,以得到比較廣泛的應(yīng)用。需要指出的是,當分析、設(shè)備或者測試此分布系統(tǒng)時,需要考慮此種結(jié)構(gòu)的軟件工程問題,也就是分布式軟件工程。在整個分布式環(huán)境體系當中,應(yīng)用程序不再像以往那樣以一種整體形式而提供給用戶,而是成為在網(wǎng)絡(luò)上運行的服務(wù)對象。還需強調(diào)的是,相比于C/S軟件工程,分布式軟件工程管理主要將選用何種分布式軟件構(gòu)件以及怎樣對軟件構(gòu)件進行分布當作考慮對象,此外,分布式軟件工程管理還注重分布式結(jié)構(gòu)的各種問題,如測試、設(shè)計及分析建模等。
3.2.2分布式軟件工程管理方案框架
針對軟件組織而言,實際就是利用網(wǎng)絡(luò)軟件來開發(fā)分布式軟件工程,而在實際開發(fā)過程中,要想使工程管理能夠更加有序、高效、協(xié)調(diào)化開展,首先需要對軟件組織所對應(yīng)的軟件過程下定義,然后通過解釋軟件過程,對工程項目行為進行高消化控制。針對分布式軟件工程框架邏輯結(jié)構(gòu)當中的協(xié)同平臺來講,其主要職責就是提供協(xié)作應(yīng)用程序,比如工作流、電子郵件、角色定義及文檔管理等,為用戶提供協(xié)作工具,滿足協(xié)作運用的運行環(huán)境需要,此外,還會根據(jù)現(xiàn)實需要,提供許多用于擴展平臺框架的借口。在啟動項目之前,需要先將軟件企業(yè)成員與CMM角色間的映射完成。在CMM實踐過程當中,需要注重其過程的管理與控制,確保全部角色協(xié)同工作(統(tǒng)一基線下),這有助于文檔的管理。
此外,還需要強調(diào)的是,在分布式軟件工程項目管理中,依據(jù)角色的功能,把用戶劃分成高級主管(PM)、軟件工程過程組(SEPG)與其他成員。其中,對于SEPG而言,其主要職責就是定義軟件組織,且對標準過程進行維護,另外,還負責裁剪過程,收集與機構(gòu)的標準軟件過程有關(guān)的信息。而對于PM來講,其主要職責就是啟動項目,指派人員,及負責項目的各項實施。針對其他成員來分析,即為在協(xié)同框架下,將軟件開發(fā)任務(wù)合作完成。
綜上,在當今信息技術(shù)日漸發(fā)展與完善的大背景下,計算機行業(yè)呈現(xiàn)出迅猛的發(fā)展勢頭,且日漸成為人們生活、工作當中難以分割的重要組成部分;隨著計算機應(yīng)用越發(fā)廣泛,其軟件工程項目也不斷增多,致使許多軟件開發(fā)人員融入軟件工程項目的研發(fā)當中。本文圍繞軟件工程項目的主要內(nèi)容,基于軟件能力成熟模型,探討了軟件工程項目的管理策略,以此為相關(guān)管理研究提供一些思路。
[1]趙勃,黃從玲. 試析計算機軟件開發(fā)中的分層技術(shù)運用研究[J]. 信息記錄材料,2018,19(011):121-123.
[2]李田英,蘇艷. 計算機軟件工程管理與應(yīng)用分析[J]. 電腦知識與技術(shù),2017,11(028):72-73.
[3]范麗萍. 基于計算機軟件工程的數(shù)據(jù)庫編程技術(shù)[J]. 電子技術(shù)與軟件工程,2017,000(001):164-165.
[4]邵曰攀. 加強計算機軟件工程管理應(yīng)用的措施分析[J]. 電腦知識與技術(shù),2018,14(005):98-99.
[5]王征. 論計算機軟件工程管理與應(yīng)用策略[J]. 電腦知識與技術(shù),2017,13(013):95-96.