戴銀飛,戴銀燕
(1.長春大學(xué) 軟件學(xué)院,吉林 長春 130022;2.長春市易游科技有限公司,吉林 長春 130022)
軟件項目管理系統(tǒng)PMS在軟件企業(yè)中的應(yīng)用
戴銀飛1,戴銀燕2
(1.長春大學(xué) 軟件學(xué)院,吉林 長春 130022;2.長春市易游科技有限公司,吉林 長春 130022)
軟件項目管理PMS是一種科學(xué)的管理手段,是為使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成以及對成本、人員、進度、質(zhì)量、風(fēng)險等進行分析和管理的一系列活動。筆者在分析了MVC模式的優(yōu)缺點之后,運用面向?qū)ο蟮木幊趟枷腙U述了系統(tǒng)的設(shè)計與實現(xiàn)。
軟件項目管理;MVC模式;面向?qū)ο?/p>
目前,中國的軟件企業(yè)正處于高速發(fā)展,急需規(guī)范管理并以項目為主導(dǎo)的環(huán)境中。盡管近年來我國的軟件產(chǎn)業(yè)保持高速的成長態(tài)勢,然而在繁榮火爆的市場背后,也隱藏著相當?shù)奈C。我國軟件產(chǎn)業(yè)的軟件生產(chǎn)力落后是必須直面的一種現(xiàn)實。具體體現(xiàn)在以下幾個方面:國產(chǎn)軟件市場占有率低,軟件企業(yè)規(guī)模偏小,企業(yè)缺乏競爭力,軟件企業(yè)創(chuàng)新能力不足。
中國目前軟件的落后狀況,實際已經(jīng)不是技術(shù)本身的問題,而是科學(xué)管理的問題。軟件工程理論與軟件項目管理的實際應(yīng)用與經(jīng)驗[1],是我國軟件企業(yè)急待學(xué)習(xí)與渴求的。中國軟件各個層次上的管理問題,目前可以說已經(jīng)制約了中國軟件業(yè)走向國際化的進程。
隨著信息技術(shù)的飛速發(fā)展,計算機軟件產(chǎn)品的規(guī)模和復(fù)雜度也隨之增加。個人單打獨斗的作坊式開發(fā)方式已經(jīng)越來越不適應(yīng)發(fā)展的需要。與此同時,軟件項目總“項目黑洞”也應(yīng)運而生:項目無法按期完成,項目合作方的工作難以協(xié)調(diào),用戶需求經(jīng)常變動,工作質(zhì)量難以保證,給企業(yè)帶來了愈來愈多的損失。這種情況說明了軟件項目開發(fā)及管理過程中,存在著許多的問題,需要更多的重視和研究。
項目管理是企業(yè)管理的下屬層次,在很大程度上項目管理的成功與否常常受企業(yè)管理的制度制約(比如說設(shè)備采購的批復(fù)等待會延誤工期)。由于在制定計劃時,沒有考慮自身和客戶雙方的企業(yè)管理的環(huán)境,所以在實施過程中會受到企業(yè)管理環(huán)境因素的影響。因此,作為一個項目管理者,審視自身的項目所處的企業(yè)環(huán)境并做出準確的判斷是非常有必要的。缺少良好的項目環(huán)境,項目管理者的心血常常白費。
一個項目按時在預(yù)算范圍內(nèi)完成了而另外一個則沒有按時完成,這不意味著第一個項目管理得比較好。因為前者可能是項目時間和成本寬松的項目而后者根本就是不可能完成的項目。前者項目管理的意義在于獲得較高的項目效益而后者的意義在于避免更大的項目損失。但是,充滿了浮躁的軟件企業(yè)沒有諸如此類的意識,一些項目在未開始前注定就是失敗的,項目經(jīng)理們一上手便被扣以一責(zé)任人的鐐銬。因此,項目管理有無具體效果,需要合理地進行評判,單純以出效益為上的觀點未必有失偏頗。作為項目管理的來說,項目管理的真正意義在于事先預(yù)防各種偏離項目目標的問題出現(xiàn)而不是在于解決問題。
軟件項目管理PMS作為一種科學(xué)的管理手段,就是為使軟件項目能夠按照預(yù)定的成本,進度,質(zhì)量順利完成,對成本,人員,進度,質(zhì)量,風(fēng)險等進行分析和管理的一系列活動。軟件行業(yè)是一個極具挑戰(zhàn)性和創(chuàng)造性的新行業(yè)。管理上沒有成熟的經(jīng)驗可供借鑒。而軟件項目管理應(yīng)該說對于軟件企業(yè),,是行之有效的管理方法。因此,決定一個軟件項目實施成功與否,軟件項目管理無疑起著舉足輕重的作用,軟件項目管理已經(jīng)是公認的軟件開發(fā)企業(yè)的核心競爭力之一。
3.1 MVC模式
MVC模式即模型-視圖-控制器(Model-View-Controller)。即把一個應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應(yīng)用被分成三個層——模型層、視圖層、控制層。
MVC強調(diào)將業(yè)務(wù)邏輯放在模型中,表示邏輯放在視圖中,而將應(yīng)用程序的整個流程控制放在控制器中。通過這種分離,可以極大地降低數(shù)據(jù)保持和數(shù)據(jù)顯示之間的耦合度,提高系統(tǒng)的開發(fā)效率、易維護性、易擴展性,因此從提出至今已成為交互式應(yīng)用中使用最廣泛的架構(gòu)技術(shù)。
MVC模式強調(diào)兩類主要的分離:從模型中分離表現(xiàn)和從視圖中分離控制器。
從模型中分離表現(xiàn)是一個好的軟件設(shè)計方案中最基本的啟發(fā)式方式。其重要性表現(xiàn)在:表現(xiàn)和模型的關(guān)注點不同。開發(fā)視圖時,需要考慮的是怎樣布局一個好的用戶界面。在設(shè)計模型時,需要考慮的是業(yè)務(wù)邏輯,或數(shù)據(jù)庫交互。而當設(shè)計兩者之一時,所用的資源與設(shè)計另一種時所用的資源可能是完全不一樣的。
這個分離的關(guān)鍵點是依賴的方向:表現(xiàn)依賴模型,但是模型不依賴表現(xiàn)。在模型中編程時,必須完全不知道是哪個表現(xiàn)在起作用。這樣可以簡化他們的任務(wù),并且將來容易增加新的表現(xiàn)。同時,這也意味著表現(xiàn)也可以自由變化而無需改變模型。
第二個分離,視圖和控制器的分離,相對不是很重要。在基于客戶端技術(shù),基本上不進行這類分離。因為顯示和控制的關(guān)系過于密切,分離反而導(dǎo)致不必要的復(fù)雜性。而基于Web的瘦客戶端技術(shù)(Thin Client)大多進行分離,因為在這類技術(shù)下,瀏覽器只負責(zé)顯示數(shù)據(jù),而將流程控制交給服務(wù)器。J2EE中的前端控制器模式(Front Controller Pattern)為J2EE平臺下最常用的視圖/控制器分離模式。它使用JSP完成視圖的顯示,使用Servlet完成服務(wù)器端的控制。現(xiàn)在廣泛使用的Struts也是基于這一模式。
3.2 MVC模式對應(yīng)J2EE框架的位置
MVC與J2EE架構(gòu)的對應(yīng)關(guān)系是[2]:View處于Web Tier或者說是Client
Tier,通常是JSP/Servlet,即頁面顯示部分。Controller也處于Web Tier,通常用Servlet來實現(xiàn),即頁面顯示的邏輯部分實現(xiàn)。Model處于Middle Tier,通常用服務(wù)端的JavaBean或者EJB實現(xiàn),即業(yè)務(wù)邏輯部分的實現(xiàn)。
3.3 MVC模式的優(yōu)缺點
MVC模式強調(diào)了一種分離的思想。通過這種分離,可以使數(shù)據(jù)保持、數(shù)據(jù)顯示和數(shù)據(jù)控制可以獨立演化而不用依賴于任何一方。從而從結(jié)構(gòu)上降低了系統(tǒng)各部分的耦合性。提供了靈活的擴展空間,比如可以很輕松的更換一種視圖而不需要改動模型部分。
但是,MVC模式也有一定的缺點。即在將模型、視圖、控制器的分離的同時增加了系統(tǒng)結(jié)構(gòu)和實現(xiàn)的復(fù)雜性;視圖與控制器間很難實現(xiàn)良好的松耦合,過于緊密的連接妨礙了其獨立重用;由于視圖需要模型和控制器與底層數(shù)據(jù)進行訪問,據(jù)模型操作接口不同,視圖可能需要多次調(diào)用才能獲得足夠的顯示數(shù)據(jù),這樣會損害系統(tǒng)操作性能。
4.1 項目管理模型
(1)項目管理模型。如圖1所示。
(2)實體說明
項目:軟件項目管理是為了使軟件項目能夠按照預(yù)定的成本、進度、質(zhì)量順利完成,而對人員(People)、產(chǎn)品(Product)、過程(Process)和項目(Project)進行分析和管理的活動[3]。項目是項目管理的核心。
(3)實體關(guān)系
項目―項目分配表:項目與項目分配表之間是一對一的關(guān)系。項目分配表記錄項目的分配情況,記錄項目的編號,及項目小組編號,從而記錄了項目的工作人員。
項目―人員:項目與項目人員分配表之間是多對多的關(guān)系。對于一個項目,從立項到結(jié)項是一個艱巨的任務(wù),時間可能會很長。在同一時間可能會有多個項目,為了達到公司資源的合理利用,同一個員工可以分配到多個項目里。項目人員分配表用來記載項目與人員之間的關(guān)系。
圖1 任務(wù)管理模型
員工―項目小組分配表:為了便于管理,建立一個項目小組分配表,項目小組分配表與員工之間是多對多的關(guān)系。項目員工小組分配表是記錄項目分配表和員工的中間表,此外,項目小組分配表中還記錄了員工的崗位信息。
4.2 任務(wù)管理模型
(1)任務(wù)管理模型。如圖2所示。
圖2 任務(wù)管理模型
(2)實體說明
任務(wù):公司在接到項目后,對項目立項和分析后,將項目分成多個任務(wù),將任務(wù)分配給指定的員工,員工在接到任務(wù)后,可以接受任務(wù)或依據(jù)現(xiàn)況對任務(wù)進行駁回。
(3)實體關(guān)系
任務(wù)―項目
項目和任務(wù)之間是一對多的關(guān)系,一個項目可以分成若干個任務(wù)。只有任務(wù)一個一個的成功完成,才能最后將一個項目完成。每個任務(wù)都對應(yīng)著一個計劃開始時間和計劃結(jié)束時間,通過這個時間,可以估計整個任務(wù)的完成情況。從而可以通過這個情況和項目本身而及時調(diào)整對任務(wù)的分配。
實施項目管理的目的是為了提高項目的效益,即引入項目管理后所產(chǎn)生的效益減去項目管理的成本后必須大于未引入項目管理時的效益。軟件項目管理是一個從"自發(fā)"走向"自覺"的過程,也是一個從經(jīng)驗主義走向理性主義的過程。而這一目標的實現(xiàn),則需要配合廣大項目管理者的項目管理思維和積極實踐。
[1] 韓雯.項目管理過程中的會計應(yīng)用[J].中小企業(yè)管理與科技,2008(11):78.
[2] 薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論[M].北京:高等教育出版社,2000.
[3] 張海藩.軟件工程[M].北京:人民郵電出版社,2002.
[4] [美]福爾斯泰因,普瑞拜爾著,林琪,王宇譯.Oracle PL/SQL程序設(shè)計.2版[M].北京:中國電力出版社,2004.
責(zé)任編輯:吳旭云
Application of software project management system in software enterprises
DAI Yin-fei1,DAI Yin-yan2
(1.Software College,Changchun University,Changchun 130022,China; 2.Changchun Yiyou Technology Co.,Ltd.,Changchun 130022,China)
Software project management syetem(PMS)is a scientific method,which is a series of activities to make sure the successful accomplishment of software projects in accordance with the scheduled cost,progress and quality,to analyze and manage cost,staff,progress,quality and risk.The author discusses the design and implementation of the system by using object-oriented programming idea after analyzing the advantages and disadvantages of MVC pattern.
software project management;MVC pattern;object-oriented programming
TP319
A
1009-3907(2010)08-0077-04
2010-06-23
戴銀飛(1977-),女,吉林長春人,碩士,副教授,主要從事軟件開發(fā)工作。