关于工作流的软件项目管理系统的设计与实现.doc_第1页
关于工作流的软件项目管理系统的设计与实现.doc_第2页
关于工作流的软件项目管理系统的设计与实现.doc_第3页
关于工作流的软件项目管理系统的设计与实现.doc_第4页
关于工作流的软件项目管理系统的设计与实现.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

关于工作流的软件项目管理系统的设计与实现近些年来,随着计算机技术的进一步发展,相应的使用软件工程方法的软件项目管理系统也有了显着的发展。但是,由于开发流程中存在的不确定性以及项目变化等因素,这些系统也暴露出一些不足之处。传统的软件项目管理系统,一般是由图形用户接口(GUI),应用程序和数据库组成,用户通过GUI向应用程序发出请求,应用程序处理这些用户请求,并且访问数据库,返回用户所要求的结果。这种模型在流程稳定的时候是可以满足需要的。目前,对工作流技术的研究以及相关产品的开发是国内外学者研究的热点问题之一,很多项目管理系统都采用工作流技术来克服上述问题。工作流起源于生产组织和办公自动化领域,它是针对日常工作中具有固定程序的活动而提出的概念。目的是通过将工作分解成定义良好的任务、角色,按照一定的规则和过程来执行这些任务并对它们进行监控,达到提高办事效率、降低生产成本、提高企业生产经营管理水平和企业竞争力的目标。WFMC给出的工作流定义是:工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行,以实现整体的业务目标。而这正适合于软件开发过程管理,基于上述的理由,我们结合江苏省十五攻关“工作流技术的研究和应用”项目,研究并开发了基于工作流的软件项目管理系统CMMFlow,目前已应用于软件能力成熟度模型(CMM)的管理,其效果相当良好。一、项目管理系统的理论基础1.基于petri网的可视化建模工具在这个项目管理系统中,我们的建模工具是使用工作流网和XPDL共用的策略,采用的是扩展的Petri网,对最终用户来说,足可视化的图形建模工具。为符合WfMC规范,工作流机装入的模型用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是强连接的。下面我们给出一个用工作流网定义工作流的简单例子,例子描述的是软件立项管理的工作流过程。基本流程如下:立项建议小组进行立项调查,然后进行项目构思和可行性分析,在完成之后进行立项申请,然后立项审查小组对此立项进行审查,决定是否同意立项。如果否决,则必须重新进行立项建议,如果同意立项,进入项目筹备阶段,流程结束。2.CMMI3级精简并行过程(SPP)模型利用工作流技术可以设计和建立一个工作流环境,在此项目管理系统thldl中,我们使用CMMI3级精简并行过程(SPP)模型来支持软件过程实施。SPP把产品生命周期划分为产品概念、产品定义、产品开发、产品测试、用户验收和产品维护等6个阶段,包含项目管理、项目研发和机构支撑等3类过程、19个过程域。其中项目管理过程包含立项管理、结项管理、项目规划、项目监控、风险管理和需求管理等六个过程域;项目研发过程包含需求开发、技术预研、系统设计、实现和测试、系统测试、Beta测试、客户验收和项目技术评审等8个过程域;机构支撑过程包含配置管理、质量保证、培训管理、外包与采购管理以及服务与维护等5个过程域。我们把每一个过程域都看成是一个流程,其中过程域之间的关系是线性为主,并行、迭代为辅。每个过程域包含若干原子活动。通过建立活动与角色以及角色与具体用户的关联,即可建立一个可执行的业务过程模型。二、项目管理系统设计1.项目管理系统结构与功能特点CMM软件项目管理系统的系统结构,主要由过程建模工具,工作流机,任务表管理器,web服务,客户端和数据库接口等组成,该项目管理系统的各功能特点是:在这个系统中,我们使用浏览器作为客户端,通过Http请求与Webserver交互,Websevrer再将收到的请求加以处理,判断哪些是应当丢弃的,哪些应该交由工作流执行服务处理,并将处理后的结果发送给工作流执行服务器。工作流机收到Webserver传送过来的数据后,会根据消息的具体内容继续执行流程或者将流程挂起或是结束流程的运行,并且更新任务表管理器的内容,在需要的时候调用相应的应用程序来完成任务的需要。在过程建模工具中建立,修改,删除的模型将通过存储过程来修改数据库中已存储的模型。1)数据库接口:实现了底层的数据存储,包括过程定义,工作流控制数据,工作流相关数据,企业组织模型等工作流项目管理系统运行过程中必须的信息。2)工作流机:工作流引擎是工作流平台的核心,它是业务流程的任务调度器,从某种程度上看,工作流机也是业务资源管理器。它的主要作用是实例化及执行过程模型、为过程和活动的执行进行导航、与外部过程交互完成各项活动、维护工作流控制数据和工作流相关数据等。3)客户端客户端是基于浏览器方式的瘦客户端,方便管理员管理整个工作流项目管理系统的运行过程,和一般用户管理和执行分配给自己的任务。2.设计思路整个项目管理系统构架采用BS模式,参照J2EE框架,主要分为四层:1)展现层:主要包含客户浏览器端和Web服务器端的applet,jsp和servlet,负责和用户交互,接收数据,显示结果等。2)商业逻辑:用于处理展现层从用户端接受到的数据,包含了控制应用处理的所有规则,同工作流执行服务通讯,并且将展现层和数据服务层连接起来。3)工作流执行服务:是流程运行和管理的核心组件,包括工作流机和任务表管理器。4)数据服务:负责提供对数据的存储和读取服务。此外,在项目管理系统设计的过程中还采用了以下的技术:J2EE体系包括javaserverpages(JSP),javaSERVLET,enterprisebean,WEBsevrice等技术,提供了一个企业级的计算模型和运行环境用于开发和部署多层体系结构的应用。它通过提供企业计算环境所必需的各种服务,使得部署在J2EE平台上的多层应用可以实现高可用性、安全性、可扩展性和可靠性。J2EE中多数标准定义了接口,例如JNDI,JDBC等,这使得遵循这些标准的不同开发者之间的模块可以无缝地互连。点对点模式适用于使用集中式工作流机的项目管理系统,对于大规模的分布式应用,发布订阅模式则相当有效,但是,在保证各个分布式工作流机的一致性问题上则稍有难度。近些年來,隨著計算機技術的進一步發展,相應的使用軟件工程方法的軟件項目管理系統也有瞭顯著的發展。但是,由於開發流程中存在的不確定性以及項目變化等因素,這些系統也暴露出一些不足之處。傳統的軟件項目管理系統,一般是由圖形用戶接口(GUI),應用程序和數據庫組成,用戶通過GUI向應用程序發出請求,應用程序處理這些用戶請求,並且訪問數據庫,返回用戶所要求的結果。這種模型在流程穩定的時候是可以滿足需要的。目前,對工作流技術的研究以及相關產品的開發是國內外學者研究的熱點問題之一,很多項目管理系統都采用工作流技術來克服上述問題。工作流起源於生產組織和辦公自動化領域,它是針對日常工作中具有固定程序的活動而提出的概念。目的是通過將工作分解成定義良好的任務、角色,按照一定的規則和過程來執行這些任務並對它們進行監控,達到提高辦事效率、降低生產成本、提高企業生產經營管理水平和企業競爭力的目標。WFMC給出的工作流定義是:工作流是一類能夠完全或者部分自動執行的經營過程,它根據一系列過程規則,文檔、信息或任務能夠在不同的執行者之間進行傳遞與執行,以實現整體的業務目標。而這正適合於軟件開發過程管理,基於上述的理由,我們結合江蘇省十五攻關“工作流技術的研究和應用”項目,研究並開發瞭基於工作流的軟件項目管理系統CMMFlow,目前已應用於軟件能力成熟度模型(CMM)的管理,其效果相當良好。一、項目管理系統的理論基礎1.基於petri網的可視化建模工具在這個項目管理系統中,我們的建模工具是使用工作流網和XPDL共用的策略,采用的是擴展的Petri網,對最終用戶來說,足可視化的圖形建模工具。為符合WfMC規范,工作流機裝入的模型用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是強連接的。下面我們給出一個用工作流網定義工作流的簡單例子,例子描述的是軟件立項管理的工作流過程。基本流程如下:立項建議小組進行立項調查,然後進行項目構思和可行性分析,在完成之後進行立項申請,然後立項審查小組對此立項進行審查,決定是否同意立項。如果否決,則必須重新進行立項建議,如果同意立項,進入項目籌備階段,流程結束。2.CMMI3級精簡並行過程(SPP)模型利用工作流技術可以設計和建立一個工作流環境,在此項目管理系統thldl中,我們使用CMMI3級精簡並行過程(SPP)模型來支持軟件過程實施。SPP把產品生命周期劃分為產品概念、產品定義、產品開發、產品測試、用戶驗收和產品維護等6個階段,包含項目管理、項目研發和機構支撐等3類過程、19個過程域。其中項目管理過程包含立項管理、結項管理、項目規劃、項目監控、風險管理和需求管理等六個過程域;項目研發過程包含需求開發、技術預研、系統設計、實現和測試、系統測試、Beta測試、客戶驗收和項目技術評審等8個過程域;機構支撐過程包含配置管理、質量保證、培訓管理、外包與采購管理以及服務與維護等5個過程域。我們把每一個過程域都看成是一個流程,其中過程域之間的關系是線性為主,並行、迭代為輔。每個過程域包含若幹原子活動。通過建立活動與角色以及角色與具體用戶的關聯,即可建立一個可執行的業務過程模型。二、項目管理系統設計1.項目管理系統結構與功能特點CMM軟件項目管理系統的系統結構,主要由過程建模工具,工作流機,任務表管理器,web服務,客戶端和數據庫接口等組成,該項目管理系統的各功能特點是:在這個系統中,我們使用瀏覽器作為客戶端,通過Http請求與Webserver交互,Websevrer再將收到的請求加以處理,判斷哪些是應當丟棄的,哪些應該交由工作流執行服務處理,並將處理後的結果發送給工作流執行服務器。工作流機收到Webserver傳送過來的數據後,會根據消息的具體內容繼續執行流程或者將流程掛起或是結束流程的運行,並且更新任務表管理器的內容,在需要的時候調用相應的應用程序來完成任務的需要。在過程建模工具中建立,修改,刪除的模型將通過存儲過程來修改數據庫中已存儲的模型。1)數據庫接口:實現瞭底層的數據存儲,包括過程定義,工作流控制數據,工作流相關數據,企業組織模型等工作流項目管理系統運行過程中必須的信息。2)工作流機:工作流引擎是工作流平臺的核心,它是業務流程的任務調度器,從某種程度上看,工作流機也是業務資源管理器。它的主要作用是實例化及執行過程模型、為過程和活動的執行進行導航、與外部過程交互完成各項活動、維護工作流控制數據和工作流相關數據等。3)客戶端客戶端是基於瀏覽器方式的瘦客戶端,方便管理員管理整個工作流項目管理系統的運行過程,和一般用戶管理和執行分配給自己的任務。2.設計思路整個項目管理系統構架采用BS模式,參照J2EE框架,主要分為四層:1)展現層:主要包含客戶瀏覽器端和Web服務器端的applet,jsp和servlet,負責和用戶交互,接收數據,顯示結果等。2)商業邏輯:用於處理展現層從用戶端接受到的數據,包含瞭控制應用處理的所有規則,同工作流執行服務通訊,並且將展現層和數據服務層連接起來。3)工作流執行服務:是流程運行和管理的核心組件,包括工作流機和任務表管理器。4)數據服務:負責提供對數據的存儲和讀取服務。此外,在項目管理系統設計的過程中還采用瞭以下的技術:J2EE體系包括javaserverpages(JSP),javaSERVLET,enterprisebean,WEBsevrice等技術,提供瞭一個企業級的計算模型和運行環境用於開發和部署多層體系結構的應用。它通過提供企業計算環境所必需的各種服務,使得部署在J2EE平臺上的多層應用可以實現高可用性、安全性、可擴展性和可靠性。J2EE中多數標準定義瞭接口,例如JNDI,JDBC等,這使得遵循這些標準的不同開發者之間的模塊可以無縫地互連。點對點模式適用於使用集中式工作流機的項目管理系統,對於大規模的分佈式應用,發佈訂閱模式則相當有效,但是,在保證各個分佈式工作流機的一致性問題上則稍有難度。袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇羅膃蚈螂羁膂莈蚅袇膁蒀袀螃膀薂蚃肂腿节衿羈腿莄蚂袄芈蒇袇螀芇蕿蚀聿芆艿蒃肅芅蒁螈羁芄薃薁袆芃芃螆螂芃莅蕿肁节蒈螅羇莁薀薈袃莀艿螃蝿荿莂薆膈莈薄袁肄莇蚆蚄羀莇莆袀袆羃蒈蚂螂羂薁袈肀肁芀蚁羆肁莃袆袂肀薅虿袈聿蚇蒂膇肈莇螇肃肇葿薀罿肆薂螆袅肅芁薈螁膅莃螄聿膄蒆薇袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃蒅蝿肈羆莁螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螇羁蒂蚃衿膆莈蚂羁罿芄螁蚁膄膀螁螃羇葿螀袅膃螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀袄莆蚇螂肀莂蚆羅袂芈蚅蚄膈膄蚄螈螇芁芇莄袀肄膃莄羂艿蒂莃蚂肂莈蒂螄芈芄蒁袆肀膀蒀罿袃薈葿螈聿蒄葿袁羁莀蒈羃膇芆蒇蚃羀膂蒆螅膅蒁薅袇羈莇薄罿膄芃薃虿羆艿薃袁节膅薂羄肅蒃薁蚃芀荿薀螆肃芅蕿袈芈膁蚈羀肁蒀蚇蚀

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论