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

工作流的軟件項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

  • 相關(guān)推薦

關(guān)于工作流的軟件項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)


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

  論文關(guān)鍵詞:工作流,JMS,項(xiàng)目管理,SPP,建模,工作流網(wǎng)

  1前言

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

   2理論基礎(chǔ)

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

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

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

  3系統(tǒng)設(shè)計(jì)

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

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

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

  4系統(tǒng)的一些實(shí)現(xiàn)技術(shù)

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

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

【工作流的軟件項(xiàng)目管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)】相關(guān)文章:

項(xiàng)目管理系統(tǒng)開題報告06-30

信息系統(tǒng)項(xiàng)目管理師論文02-22

中小軟件企業(yè)項(xiàng)目管理如何做08-28

學(xué)生信息管理系統(tǒng)設(shè)計(jì)開題報告07-20

都市頻道制作網(wǎng)的設(shè)計(jì)與實(shí)現(xiàn)05-29

論企業(yè)管理培訓(xùn)生項(xiàng)目實(shí)踐的系統(tǒng)學(xué)分析05-01

計(jì)算機(jī)信息系統(tǒng)集成項(xiàng)目管理的應(yīng)用論文04-22

一個嵌入式系統(tǒng)的Petri網(wǎng)模型與CPLD實(shí)現(xiàn)05-29

職工工資管理系統(tǒng)的設(shè)計(jì)與開發(fā)論文開題報告09-15

庫存管理系統(tǒng)論文07-21