亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

工作流的軟件項目管理系統(tǒng)的設計與實現

時間:2024-09-20 04:31:33 計算機應用畢業(yè)論文 我要投稿
  • 相關推薦

關于工作流的軟件項目管理系統(tǒng)的設計與實現


  論文摘要:本文介紹了一個基于工作流技術而研制的軟件項目系統(tǒng)。文章首先描述了傳統(tǒng)軟件項目管理系統(tǒng)的不足之處,提出用工作流的方法來設計軟件項目管理系統(tǒng),然后介紹了一些理論基礎。文中重點闡述了系統(tǒng)的設計結構和所采用的一些技術,并給出了部分的具體實現方法。

  論文關鍵詞:工作流,JMS,項目管理,SPP,建模,工作流網

  1前言

  2O世紀7O年代以來,為了解決軟機危機,改進軟件過程能力,科學家提出了軟件工程的概念,將系統(tǒng)化的、規(guī)范化的、可度量的方法用于軟件開發(fā)、運行和維護的過程。近些年來,隨著計算機技術的進一步發(fā)展,相應的使用軟件工程方法的軟件項目管理系統(tǒng)也有了顯著的發(fā)展。但是,由于開發(fā)流程中存在的不確定性以及項目變化等因素,這些系統(tǒng)也暴露出一些不足之處。
  傳統(tǒng)的軟件項目管理系統(tǒng),一般是由圖形用戶接口(GUI),應用程序和數據庫組成,用戶通過GUI向應用程序發(fā)出請求,應用程序處理這些用戶請求,并且訪問數據庫,返回用戶所要求的結果。這種模型在流程穩(wěn)定的時候是可以滿足需要的,它的缺點在于:
  1)建模過程是之前設定好的,無法改變;
  2)缺乏柔性,系統(tǒng)開始運行之后,預先定義好的條件就無法改變了;
  3)可擴展性較差,如果想要增加或者修改相應的功能,整個系統(tǒng)必須重新開發(fā)。
  目前,對工作流技術的研究以及相關產品的開發(fā)是國內外學者研究的熱點問題之一,很多管理系統(tǒng)都采用工作流技術來克服上述問題。工作流起源于生產組織和辦公自動化領域,它是針對日常工作中具有固定程序的活動而提出的概念。目的是通過將工作分解成定義良好的任務、角色,按照一定的規(guī)則和過程來執(zhí)行這些任務并對它們進行監(jiān)控,達到提高辦事效率、降低生產、提高企業(yè)生產經營管理水平和企業(yè)競爭力的目標。
   WFMC給出的工作流定義是:工作流是一類能夠完全或者部分自動執(zhí)行的經營過程,它根據一系列過程規(guī)則,文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行,以實現整體的業(yè)務目標。而這正適合于軟件開發(fā)過程管理,基于上述的理由,我們結合江蘇省十.五攻關“工作流技術的研究和應用”項目,研究并開發(fā)了基于工作流的軟件項目管理系統(tǒng)CMMFlow,目前已應用于軟件能力成熟度模型(CMM)的管理,其效果相當良好。

   2理論基礎

   2.1 CMMI3級精簡并行過程(SPP)模型
  利用工作流技術可以設計和建立一個工作流,在此系統(tǒng)中,我們使用CMMI3級精簡并行過程(SPP)模型來支持軟件過程實施。
  SPP把產品生命周期劃分為產品概念、產品定義、產品開發(fā)、產品測試、用戶驗收和產品維護等6個階段,包含項目管理、項目研發(fā)和機構支撐等3類過程、19個過程域。其中項目管理過程包含立項管理、結項管理、項目規(guī)劃、項目監(jiān)控、風險管理和需求管理等六個過程域;項目研發(fā)過程包含需求開發(fā)、技術預研、系統(tǒng)設計、實現和測試、系統(tǒng)測試、Beta測試、客戶驗收和項目技術評審等8個過程域;機構支撐過程包含配置管理、質量保證、培訓管理、外包與采購管理以及服務與維護等5個過程域。
  我們把每一個過程域都看成是一個流程,其中過程域之間的關系是線性為主,并行、迭代為輔。每個過程域包含若干原子活動。通過建立活動與角色以及角色與具體用戶的關聯,即可建立一個可執(zhí)行的業(yè)務過程模型。

  2.2基于petri網的可視化建模工具
  在這個系統(tǒng)中,我們的建模工具是使用工作流網和XP—DL共用的策略,采用的是擴展的Petri網,對最終用戶來說,足可視化的圖形建模工具。為符合WfMC規(guī)范,工作流機裝入的模型用XPDL存儲,可使用XPDL和Petri網兩種表示形式,驗證是使用Petri網形式。
  在Petri網的基礎上,Aalst提出了工作流網(WF-net)的概念,其定義如下:
  一個Petri網PN=(P,T,F)被稱為工作流網,當且僅當它滿足下面兩個條件:
  1)PN有兩個特殊的庫所:i和0。庫所i是一個起始庫所,即·i= ;庫所O是一個終止庫所,即O·= 。
  2)如果在PN中加入一個新的變遷t,使t連接庫所。與i,即·t·={0),t·={i),這時所得到的PN是強連接的。
  下面我們給出一個用工作流網定義工作流的簡單例子,例子描述的是軟件立項管理的工作流過程。
  根據工作流網的基本定義,通過使用不同類型的基本組件和觸發(fā)機制,對立項管理進行建模,得到如圖1所示的工作流網模型。

基本流程如下:立項建議小組進行立項,然后進行項目構思和可行性分析,在完成之后進行立項,然后立項審查小組對此立項進行審查,決定是否同意立項。如果否決,則必須重新進行立項建議,如果同意立項,進入項目籌備階段,流程結束。

  3系統(tǒng)設計

  3.1設計思路
  整個系統(tǒng)構架采用B/S模式,參照J2EE框架,主要分為四層:
  1)展現層:主要包含客戶瀏覽器端和Web服務器端的applet,jsp和servlet,負責和用戶交互,接收數據,顯示結果等。
  2)商業(yè):用于處理展現層從用戶端接受到的數據,包含了控制應用處理的所有規(guī)則,同工作流執(zhí)行服務通訊,并且將展現層和數據服務層連接起來。
  3)工作流執(zhí)行服務:是流程運行和的核心組件,包括工作流機和任務表管理器。
  4)數據服務:負責提供對數據的存儲和讀取服務。
  此外,在系統(tǒng)設計的過程中還采用了以下的技術:
  1)J2EE框架
  J2EE體系包括javaserverpages(JSP),javaSERVLET,enterprisebean,WEBsevrice等技術,提供了一個企業(yè)級的計算模型和運行用于開發(fā)和部署多層體系結構的應用。它通過提供企業(yè)計算環(huán)境所必需的各種服務,使得部署在J2EE平臺上的多層應用可以實現高可用性、安全性、可擴展性和可靠性。J2EE中多數標準定義了接口,例如JNDI,JDBC等,這使得遵循這些標準的不同開發(fā)者之間的模塊可以無縫地互連。
  2)JMS
  JAVA消息服務(JMS)定義了Java中訪問消息中間件的接口。JMS只是接口,并沒有給予實現,實現JMS接口的消息中間件稱為JMSProvider。
  在JMS中,每個客戶機連接到一個為發(fā)送和接收消息提供框架的消息傳遞代理程序。客戶機需知曉消息格式和消息目的地。根據JMSAPI,消息傳遞分為兩種模式,點對點和發(fā)布/訂閱模式。
  點到點消息傳遞方法使用下列工具,如消息隊列、發(fā)送方(或消息制作者)和接收方(或消息消費者)。客戶機將發(fā)向特定接收方的消息發(fā)送到唯一的隊列。當接收客戶機從特定隊列抽取消息時,它發(fā)出確認消息,表明消息已處理。隊列將保留所有消息,直至接收方收到消息或消息到期。發(fā)布/預訂消息傳遞方法使用發(fā)布者、訂戶和主題的概念?蛻魴C將消息發(fā)送到主題或內容層次結構。為了接收到消息,消息消費者必須預訂此主題。因此,對于這種方法,可以將消息制作者作為發(fā)布者,而消息消費者則是訂戶。JMS供應商將多個發(fā)布者發(fā)來的消息分發(fā)到主題和此主題的多個訂戶。
  點對點模式適用于使用集中式工作流機的系統(tǒng),對于大規(guī)模的分布式應用,發(fā)布/訂閱模式則相當有效,但是,在保證各個分布式工作流機的一致性問題上則稍有難度。

  3.2系統(tǒng)結構與功能特點
  CMM軟件項目管理系統(tǒng)的系統(tǒng)結構如圖2所示,它主要由過程建模工具,工作流機,任務表管理器,web服務,客戶端和數據庫接口等組成,該系統(tǒng)的各功能特點是:在這個系統(tǒng)中,我們使用瀏覽器作為客戶端,通過Http請求與Webserver交互,Websevrer再將收到的請求加以處理,判斷哪些是應當丟棄的,哪些應該交由工作流執(zhí)行服務處理,并將處理后的結果發(fā)送給工作流執(zhí)行服務器。工作流機收到Webserver傳送過來的數據后,會根據消息的具體內容繼續(xù)執(zhí)行流程或者將流程掛起或是結束流程的運行,并且更新任務表管理器的內容,在需要的時候調用相應的應用程序來完成任務的需要。在過程建模工具中建立,修改,刪除的模型將通過存儲過程來修改數據庫中已存儲的模型。
  websevrer和工作流執(zhí)行服務也都要通過存儲過程來訪問數據庫。各部分的功能特點描述如圖2。

  1)建模工具:使用基于Petri網的建模方法來對企業(yè)經營過程進行過程定義,將經營過程轉化為工作流引擎可以執(zhí)行的形式。同時還提供對過程模型進行分析,測試的工具。
  2)工作流機:工作流引擎是工作流平臺的核心,它是業(yè)務流程的任務調度器,從某種程度上看,工作流機也是業(yè)務資源器。它的主要作用是實例化及執(zhí)行過程模型、為過程和活動的執(zhí)行進行導航、與外部過程交互完成各項活動、維護工作流控制數據和工作流相關數據等。
  3)任務表管理器:過程模型中的每個活動都被看作是一個由自動執(zhí)行的任務或由用戶手動執(zhí)行的任務,任務表管理器負責對這些任務的監(jiān)視和維護。
  4)Web服務:包含了用于處理用戶請求和顯示結果的jsp和sevrlet,其主要工作是將客戶端與工作流執(zhí)行服務連接起來。
  5)客戶端客戶端是基于瀏覽器方式的瘦客戶端,方便管理員管理整個工作流管理系統(tǒng)的運行過程,和一般用戶管理和執(zhí)行分配給自己的任務。
  6)數據庫接口:實現了底層的數據存儲,包括過程定義,工作流控制數據,工作流相關數據,企業(yè)組織模型等工作流管理系統(tǒng)運行過程中必須的信息。

  4系統(tǒng)的一些實現技術

  4.1任務的自動分配和觸發(fā)機制
  可以根據模型定義自動地分配任務,當一個過程實例運行的時候,活動可以根據模型定義自動分配到指定接收者,并且,有關完成此活動所需要的數據也會傳遞給相應的接收者,從而提高業(yè)務過程執(zhí)行效率。模型中使用角色機制,不指定具體人員,這樣,人員變更不至于引起模型的變動。系統(tǒng)支持遲后綁定,即可以在活動運行的時刻才確定此活動由誰來完成。
  流程從使能到運行的控制,采用觸發(fā)機制,分為人工觸發(fā)、自動觸發(fā)、消息觸發(fā)和時間觸發(fā)。人工觸發(fā)一般是用戶從任務表中選取其中一項任務來完成,自動觸發(fā)是一些通過程序自動執(zhí)行的過程,一旦使能就被觸發(fā),消息觸發(fā)是指系統(tǒng)外部的消息到達觸發(fā),如Email,時間觸發(fā)是由定時器來觸發(fā)。

  4.2活動信息的
  系統(tǒng)可以通過對活動信息統(tǒng)計,并將活動的運行狀況和統(tǒng)計信息存儲在數據庫內。通過提供有關工作量的信息,可以在建模的時候預測所需要的時間,并且在活動結束時計算任務完成情況,與初始模型進行對比,生成相應的圖表以判斷工作效率,輔助決策經營。除系統(tǒng)提供的幾個基本統(tǒng)計模型之外,用戶也可以利用系統(tǒng)提供的工具,自行擴展新的模型來完成工作量信息統(tǒng)計和生成對比圖表。
  結論根據軟件過程管理的需求,以工作流技術為核心,J2EE技術為支撐,結合SPP模型,文章給出了一個軟件管理系統(tǒng)的體系結構和其中的一些技術實現。但是,為了更好地實施軟件過程控制和度量,我們發(fā)現,還有一些問題需要進行深入的研究。
  首先,軟件過程模型的建立就要結合具體的實際情況,需要深人了解整個軟件過程,并根據不同的需要修改模型來完成資源的動態(tài)配置和管理。另外,關于分布式工作流機之間的通訊和一致性問題也是相當重要的問題,需要擬定合適的策略來實現資源優(yōu)化調度。

【工作流的軟件項目管理系統(tǒng)的設計與實現】相關文章:

科研項目管理系統(tǒng)的設計與實現03-06

論科研項目管理系統(tǒng)的設計與實現03-02

智慧機電項目云端與管理軟件的設計與實現03-15

學生成績管理系統(tǒng)的設計與實現03-18

工資管理系統(tǒng)設計與實現論文11-30

關于信息系統(tǒng)的軟件項目管理03-13

淺談信息系統(tǒng)的軟件項目管理03-25

關于設計管理系統(tǒng)信息需求的分析與實現03-03

淺析物流倉儲管理系統(tǒng)的設計與實現論文11-28