免费毛片网站/一级成人在线/91免费版黄色软件/亚洲丶国产丶欧美一区二区三区 - 网站一区

我國唯一的項目管理信息化門戶網站,國內項目管理軟件資訊服務提供商

登錄 注冊
當前位置:首頁 > IT信息化 > 正文

基于CMM和工作流的軟件項目管理系統的研究

2018-12-13 來源:《微計算機信息》作者:廣東工業大學 孫延海 李振坤 梁海健 袁宜英
      摘要:探討了一個用工作流技術構建的軟件項目管理系統,該系統以工作流引擎為核心、以基于CMM的數據模型為基礎、由工作流管理模塊和應用程序模塊組成,通過核心工作流的定義和執行來實施對軟件項目的跟蹤管理,能很好的滿足現代軟件開發過程對項目管理的要求。
      關鍵詞:工作流;CMM;軟件項目管理;元數據;制品
 
      1引言
      隨著軟件需求的日益增長和軟件開發環境的日趨復雜化,軟件產品的規模急劇增加,軟件項目管理的規范化程度已經逐漸成為制約軟件項目成敗的瓶頸。軟件項目管理是一個復雜的過程,人為的按照既定標準去管理一個軟件項目是很困難的,往往會因為人的主觀隨意性而出現許多紕漏,因此開發一個符合CMM標準的軟件項目管理系統(SPMS)來管理和控制軟件開發是很有必要的。
      工作流是使業務過程的部分或全部自動執行的技術,使用工作流可以實現高效的線性工作流程,如果用于構建軟件項目管理系統,則可以將軟件開發過程中的各種文檔、程序和任務等在參與軟件開發的各種角色之間進行共享和傳遞,并能有效的重用項目成果和實施變更控制,以完成軟件開發任務。因此,本文將討論一個用工作流技術構建的符合CMM標準的軟件項目管理系統來輔助管理軟件項目的開發過程。
      2關于CMM與工作流
      2.1CMM
      CMM是軟件能力成熟度模型(theCapabilityMaturityModelforSoftware)的簡稱,由美國卡耐基•梅隆大學軟件工程研究所于1987年提出,目前已經成為評價軟件組織的軟件過程成熟度和幫助軟件組織改善軟件產品質量的標準。
      基于組織對某些關鍵過程域(KPA)的支持,CMM定義了5個軟件過程成熟度等級,分別是:初始級、可重復級、已定義級、管理級和優化級;針對每一個等級都定義了一系列軟件開發過程中需要進行的活動和活動完成對改進軟件過程所要達到的目標。
      為了明確項目組成人員的職責,CMM劃分出了不同的軟件角色和軟件組織,軟件角色主要有:高級經理、項目經理、項目軟件經理、一線軟件經理、軟件任務組長和工程師及開發人員;CMM中典型的軟件組織有如下幾種:軟件工程組、軟件過程組、質量保證組、測試組和配置管理組。
      通過CMM中對軟件角色和軟件組織的定義,可以規范管理軟件項目開發中的各類資源,以保證軟件開發過程的正確實施,并得到每個階段預期的軟件制品。
      2.2工作流
      工作流是一個業務過程的全部或部分自動執行,可以通過將業務活動分解為定義良好的任務、角色、規則和過程來實施業務流程的監管和控制,以提高組織的工作效率,并改進其業務流程。
      工作流只是一種概念邏輯,要實現它必須建立工作流管理系統。工作流管理系統是指定義、管理和執行工作流的系統,一般由三部分組成,即工作流建模模塊,工作流執行模塊和工作流監控模塊。工作流建模模塊主要是用來定義和維護工作流模型,工作流執行模塊主要是給工作流提供一個運行時環境以完成與用戶的交互等功能,而工作流監控模塊主要是實時的監控工作流實例的執行狀態以便在出現運行異常時及時進行處理。
      使用工作流技術構建軟件項目管理系統可以將系統的過程邏輯和應用邏輯分離,使系統具備良好的可維護性和可擴充性,可以通過更改工作流模型來改變系統的功能而不必修改應用程序,這為有效的實施變更管理提供了保證。
      3軟件項目管理的業務需求
      要構建軟件項目管理系統首先要明確軟件項目管理的業務需求。軟件項目管理和一般項目管理一樣要在進度、成本、質量上尋求一種平衡以按預定計劃完成項目,如表1所示:
表1軟件項目管理基本任務
      除具有上述基本需求以外,軟件開發的特殊性使得軟件項目管理必須具備良好的變更管理功能來處理由客戶需求的頻繁變更引起的項目計劃調整和產品返工。因此軟件項目需要以迭代方式進行開發,其業務流程可以描述為如圖1所示的形式:
圖1軟件項目管理業務流程圖
      4系統架構與描述
      4.1系統架構設計
      CMM強調把人員、組織和先進的技術方法融入到整個軟件開發過程中,并在開發過程中通過有機的組織和協調來提高軟件組織的過程能力和成熟度。如果將CMM中定義的軟件角色和軟件組織視作資源,將軟件開發過程中形成的各種文檔、程序等視作制品,則可以建立基于CMM的由過程數據、資源數據、制品數據組成的三維數據模型作為構建軟件項目管理系統的基礎。因此根據軟件項目管理的需求,以關系數據庫作為存儲場所來存放所有的應用程序數據、元數據和工作流模型數據,以工作流引擎為核心,可以建立軟件項目管理系統的架構如圖2所示:
      為了管理上述各類數據還定義了相應的功能模塊,下面將進行詳細描述。
      4.2形式化描述
圖2軟件項目管理系統架構
      4.2.1數據模型描述
      要在軟件項目管理系統中實施CMM來管理軟件項目和改善軟件組織的過程能力,首先必須在系統中定義管理活動所需要的各項數據,然后才能利用工作流技術來具體實現這些管理活動,如質量保證、配置管理和變更管理等等。該系統的數據模型的形式化描述如下:
      (1)過程數據:過程數據主要是記錄軟件開發過程中的各項任務,采用任務分解的方式將一個軟件開發任務分解為一系列的子任務。其形式化描述如下:
      Errand
      Milepost_num,Resource,Output>
      其中:Project表示任務所屬項目;Edition表示任務的基線版本號,提供了變更管理的可能性;Pre_errand表示其前置任務集合,任務的執行必須在其前置任務全部執行完畢之后;Father_errand表示任務的父任務;Status表示任務的狀態,制定、執行或完成;Cost表示任務的開銷;Time_limit表示任務的完成時限,以便適時的對任務責任人進行提醒;Milepost_num表示該任務的里程碑標號,若是里程碑則其完成會觸發項目的階段評審;Resource表示任務的責任人或組織,來自于系統的資源數據;Output表示任務完成后形成的制品,作為制品管理的輸入。
      (2)資源數據:資源是指CMM中所定義的各種軟件角色和軟件組織的實例化,每個軟件組織由若干個軟件角色組成。資源數據的形式化描述如下:
      Personnel
      Organization
      其中:Personnel為個人資源;ID表示其員工編號,Organization表示其所屬的軟件組織,Role表示其軟件角色(項目經理、軟件任務組長、工程師等),Experience表示其經驗值,Position表示其在組織中的職位,Performance表示其工作績效。Organization為組織資源;Name表示組織的名稱,Department表示組織所屬的部門,Skill表示組織的技術職能,Performance表示組織的績效。
      在資源管理中,通過定義各個Personnel之間的關系可以定義其權限范圍。
      (3)制品數據:在軟件開發的過程中會產生大量的文檔或程序,該系統中將這些文檔和程序統一視作制品來進行管理,按照其產生的不同階段可以分為管理制品、需求制品、設計制品、實現制品和實施制品。制品數據的形式化描述如下:
      Produce
      其中:Project表示制品所屬的項目,Edition表示制品的版本,Type表示制品的類型(程序、文檔),Phase表示制品的產生階段,Errand表示產生制品的任務,Quality表示制品的質量、Size表示制品的大小。
      通過對制品數據的規范化管理可以實現嚴格的版本控制,從而為軟件配置管理和變更管理提供保障,還可以通過定期審核基線制品數據來保證軟件質量。
      4.2.2工作流描述
      工作流管理模塊主要是進行工作流的定義和維護、過程的實例化以及實施工作流執行時的監控和管理功能。首先按照軟件項目管理的業務流程來定義工作流,并將定義的結果保存在工作流模型庫中,工作流模型定義好之后即可根據具體項目進行過程的實例化,隨后即進入工作流的執行階段。在執行階段,工作流管理模塊的主要功能是對工作流的執行過程進行監控,能隨時掌握工作流實例的執行狀態,并根據需要進行調整,如暫停、掛起或恢復某些過程實例等。工作流的形式化描述如下所示:
      Workflow
      Activity_Set
      Switch_Function(Activity_Set×Rule→Activity_Set)
      其中:Workflow為工作流;Activity_Set表示工作流的活動集,每個活動集中包含若干個工作流活動;Status表示工作流實例的狀態,如執行、掛起、結束等;Rule為工作流的過程規則集;Switch_Function為工作流活動轉換函數,描述的是工作流活動在某一規則的作用下轉換到其后繼工作流活動。Activity_Set中,Name為工作流活動的名稱;Resource為工作流活動的執行者;Status為工作流活動的狀態;Application為工作流活動所調用的應用程序;Metadata為工作流活動所使用的元數據。Activity_Set中的元素構成了工作流有向圖中的節點,而節點之間的連線則對應其轉換函數。
      4.2.3元數據描述
      應用程序模塊主要是定義工作流活動所需要的各種應用程序以供工作流活動在執行時進行調用。由于不同的工作流活動所對應的應用數據格式可能會有所不同,比如項目的評審階段和項目變更處理階段所操作的應用數據就不相同,如果對不同的工作流活動都定義不同的應用程序,則系統的開發難度會顯著增加,這顯然是不可行的。所以在這里引入了元數據(Metadata)的概念,所謂的元數據就是關于數據的數據(dataaboutdata),它記錄了數據的產生、數據的定義以及數據之間關系的種種屬性,包括數據描述、數據結構等,每個工作流活動的應用數據可以采用元數據來表示和產生。元數據的形式化描述如下所示:
      Metadata
      其中:Fieldname表示應用數據的字段名,Type表示字段類型,Table表示字段所屬的應用數據表,Restrict表示字段的約束關系如主鍵或外鍵等,Description為字段的其它屬性描述如是否允許空值等等。
      采用了元數據以后,應用程序對數據的操作可以統一的通過元數據來進行,從而實現了應用程序的重用,減少了系統實現的開銷。元數據通過元數據管理模塊來定義和維護。
      5系統實現
      考慮到軟件開發過程中各種資源的分散性以及人員的流動性,系統在實現時采用了由客戶端、WEB服務器和數據庫服務器組成的三層體系結構。采用這種結構的優點是能較好的滿足分布式開發環境下的軟件項目管理要求。
      在該系統中,WEB服務器采用的是Apache公司的Tomcat5.0,數據庫服務器采用的是Microsoft公司的SQLServer2000企業版。為了使系統具有良好的可移植性和安全性,采用了具有平臺無關性的Java技術,即JSP/Servlet+JavaBean來實現。通過使用JavaBean可以使頁面的功能邏輯代碼與界面代碼相分離,從而加快了系統的開發和測試速度,也便于后期的維護。用戶可以通過瀏覽器方便的使用該系統。
      6結束語
      本文首先分析了現代軟件項目管理的特點,然后討論了一個以基于CMM的數據模型為基礎、以工作流引擎為核心的由工作流管理模塊和應用程序模塊組成的軟件項目管理系統的設計與實現。該系統一方面采用了將應用邏輯和過程邏輯分離的工作流技術,使其具備良好的可維護性和可擴充性;另一方面采用了基于CMM的由過程數據、資源數據和制品數據組成的三維數據模型,使得使用該系統進行軟件項目管理可以充分的跟蹤CMM中定義的軟件開發過程中需要進行的一系列活動,以幫助軟件組織持續的改進軟件過程能力、開發出高質量的軟件產品。
      參考文獻
      [1]WalkerRoyce,周伯生等譯.軟件項目管理--一個統一的框架[M].北京:機械工業出版社,2002.269-271.
      [2]林楓,王月忠.智能化鋰離子電池管理系統的設計與實現[J].微計算機信息,2005,3:78-80作者簡介:孫延海(1982-),男,山東萊蕪人,碩士研究生,主要研究方向:計算機網絡與分布式系統,email:keen_sea@163.com;李振坤(1949-),男,廣東廣州人,副教授,碩士生導師,主要研究方向:計算機網絡與分布式系統,電子商務,軟件項目管理(廣東工業大學計算機學院副院長,計算機工程研發中心主任);梁海健(1980-),男,廣東清遠人,碩士研究生,主要研究方向:計算機網絡與分布式系統;袁宜英(1980-),女,湖南漢壽人,碩士研究生,主要研究方向:數字媒體工程。(510090廣東廣州廣東工業大學計算機學院)孫延海李振坤梁海健袁宜英(FacultyofComputer,GuangdongUniversityofTechnology,GuangzhouGuangdong510090)Sun,YanhaiLi,ZhenkunLiang,HaijianYuan,Yiying(本文于2006年發表于《微計算機信息》)
分享到:

免責聲明:
  1、項目管理信息化網發布的所有資訊與文章是出于為業界傳遞更多信息之目的,并不意味著贊同其觀點或證實其描述。其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請瀏覽者僅作參考,并請自行核實相關內容。
  2、本站部分內容轉載于其他網站和媒體,版權歸原作者或原發布媒體所有。如文章涉及版權等問題,請聯系本站,我們將在兩個工作日內進行刪除或修改處理。敬請諒解!

延伸閱讀:

more>

會議活動

more>

公開課

more>

PMO

Copyright ? 2021 項目管理信息化網 版權所有 京ICP備17062359號-9 如轉載本站文章,請注明原作者和原發布媒體

本著互聯網分享精神,本站部分內容轉載于其他網站和媒體,如內容涉及版權等問題,請聯系本站進行刪除或修改處理

客服電話:010-89506650 89504891 非工作時間可聯系:18701278071(微信) QQ在線:574888227

新聞與原創文章投稿:tougao#cpmta.com 客服郵箱:info#cpmta.com(請將#換成@)

我國唯一的項目管理信息化門戶網站,國內項目管理軟件資訊服務提供商,隸屬卓橡公司

項目管理信息化微信公眾號

PMO大會微信公眾號