專利名稱:一種軟件生產(chǎn)線構(gòu)造方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機軟件領(lǐng)域,具體涉及一種新的軟件生產(chǎn)環(huán)境一軟件生產(chǎn)線、 構(gòu)造軟件生產(chǎn)線的方法一軟件生產(chǎn)線框架、和軟件生產(chǎn)線框架系統(tǒng)。
背景技術(shù):
軟件生產(chǎn)工具是一類用來輔助計算機軟件開發(fā)、運行、維護、管理、支持等過程中 的活動或任務(wù)的軟件。使用軟件生產(chǎn)工具能節(jié)省軟件生產(chǎn)開銷,提高軟件生產(chǎn)率和產(chǎn)品質(zhì) 量。軟件生產(chǎn)環(huán)境是指軟件生產(chǎn)過程中所有構(gòu)件,包括工具、制品、平臺支撐集成的基礎(chǔ)設(shè) 施(平臺服務(wù)),協(xié)同工作,形成統(tǒng)一、一致、和諧的整體。最早的軟件生產(chǎn)環(huán)境是一種集代碼編寫、調(diào)試、運行等工具于一體的集成開發(fā)環(huán) 境(Integrated Development Environment, IDE)。集成開發(fā)環(huán)境提供的特性主要聚焦于 以語法為導(dǎo)向的編輯器擴展,增強用戶的開發(fā)過程體驗。典型的代表為Smalltalk、第一個 PC圖形化IDE工具Visual Basic、支持增量編譯的Rational開發(fā)環(huán)境,后期微軟的Visual Studio、IBM 的 WebSphere Studio 以及 Sun 的 Studio One 也屬于此類。雖然集成開發(fā)環(huán)境是一個集成了編碼、編譯、調(diào)試、運行功能的統(tǒng)一生產(chǎn)環(huán)境,但 是仍然只局限于“以編碼為中心的軟件開發(fā)過程”。隨著人們對軟件過程概念認識的逐步提 高以及軟件應(yīng)用規(guī)模的不斷上升,支持軟件需求分析、設(shè)計、編碼、測試、維護和管理等活動 的軟件生產(chǎn)工具逐步在軟件生產(chǎn)過程中發(fā)揮了越來越大的作用,并逐漸形成了擴展開發(fā)環(huán) 境(extended Development Environment, XDE)。擴展開發(fā)環(huán)境不僅支持時間上的松耦合 開發(fā),也支持空間上的分布開發(fā),并且開始考慮對非軟件依賴因素的管理。擴展開發(fā)環(huán)境的 典型代表是支持軟件開發(fā)全生命周期的Rational XDE。軟件開發(fā)不僅僅是單純的編碼,也是團隊開發(fā)者相互合作設(shè)計解決方案, 構(gòu)建高質(zhì)量代碼的協(xié)同過程,從而出現(xiàn)了以協(xié)同開發(fā)思想為基礎(chǔ)的協(xié)同開發(fā)環(huán)境 (CollaborativeDevelopment Environment, CDE)。協(xié)同開發(fā)環(huán)境以協(xié)同開發(fā)思想為基礎(chǔ), 通過整合協(xié)同工具,實現(xiàn)無縫、完整的軟件開發(fā)。協(xié)同開發(fā)環(huán)境的使用者擴展到了目標軟 件的行業(yè)領(lǐng)域?qū)<?、網(wǎng)絡(luò)與硬件工程師等,使得軟件產(chǎn)品相關(guān)的所有利益相關(guān)方均能配置 其感興趣的屬性,在互動的軟件開發(fā)協(xié)作過程中及時溝通并做出對策。協(xié)同開發(fā)環(huán)境提供 的特性包括虛擬團隊、即時通訊、網(wǎng)絡(luò)會議、論壇等協(xié)同機制。典型的代表為Collabnet的 SourceForge、Team Forge(http://www. collab. net/), IBM 的 Jazz(http://jazz, net/)寸。軟件產(chǎn)品線(Software Product Line)是多個軟件密集系統(tǒng)組成的集合,這些系 統(tǒng)共享一個公共的、可管理的特征集,這個特征集能滿足選定的市場或任務(wù)領(lǐng)域的特定需 求。軟件產(chǎn)品線遵循一個預(yù)描述的方式,在公共的核心資源(Core Assets)基礎(chǔ)上開發(fā)的。 (CMU, http://www. sei. emu. edu/productlines/frame_report/terminology, htm)軟件產(chǎn) 品線強調(diào)的是軟件產(chǎn)品家族。本發(fā)明涉及的軟件生產(chǎn)線(Software Production Line)強 調(diào)的是軟件生產(chǎn)工具和構(gòu)件有序組織起來的軟件開發(fā)環(huán)境,能夠為軟件開發(fā)提供完整的、成套的軟件開發(fā)支撐。當前軟件生產(chǎn)環(huán)境仍然有一些工具集成問題需要解決。(1)面向不同領(lǐng)域的工具 集成需求隨著軟件開發(fā)技術(shù)的發(fā)展,積累了越來越多的工具輔助軟件開發(fā)實踐,不同領(lǐng)域 的軟件開發(fā)具有不同的領(lǐng)域特征,面向領(lǐng)域的工具集成復(fù)雜;(2)軟件工具間需要靈活的 過程邏輯當前的軟件生產(chǎn)工具集成方法在集成過程中缺失工具的使用邏輯,并且軟件的 開發(fā)邏輯無法顯式化、可定制化;(3)開發(fā)者、工具、制品數(shù)據(jù)之間更加不可分割的關(guān)系制 品加工活動、加工操作人員與制品數(shù)據(jù)管理間相互關(guān)聯(lián)與依存,而當前生產(chǎn)環(huán)境割裂這三 者之間的關(guān)系。針對這些問題,研究靈活、可擴展的軟件工具集成框架、實現(xiàn)軟件生產(chǎn)工具、 制品、和開發(fā)協(xié)同平臺之間的集成方法和交互機制,支持生產(chǎn)線的靈活構(gòu)造,進而規(guī)范軟件 工具、制品的集成和共享能力。
發(fā)明內(nèi)容
針對上述軟件生產(chǎn)環(huán)境中所存在的問題和不足,本發(fā)明的目的是定義一種面向互 聯(lián)網(wǎng)的、集成化、可擴展、協(xié)同化的軟件開發(fā)環(huán)境——軟件生產(chǎn)線,提出構(gòu)造軟件生產(chǎn)線的 方法——軟件生產(chǎn)線框架,指導(dǎo)構(gòu)建靈活、高效的軟件開發(fā)環(huán)境,從而提高軟件開發(fā)效率、 提升軟件產(chǎn)品質(zhì)量;同時提供軟件生產(chǎn)線框架系統(tǒng),為軟件生產(chǎn)線的實施提供幫助。軟件生產(chǎn)線是將軟件開發(fā)過程中涉及的開發(fā)者、工具、制品等要素,按照一定的軟 件開發(fā)方法,有序組織起來,并使其相互協(xié)作,形成集成化、可擴展、協(xié)同化的軟件開發(fā)環(huán) 境。軟件生產(chǎn)線能夠提供成套的軟件開發(fā)支撐,其內(nèi)在驅(qū)動是軟件生產(chǎn)活動,目的是生產(chǎn)軟 件制品。軟件生產(chǎn)線框架系統(tǒng)是用于支撐軟件生產(chǎn)線的基礎(chǔ)設(shè)施,為生產(chǎn)線的構(gòu)造和運行 提供基礎(chǔ)服務(wù)。本發(fā)明的技術(shù)方案為一種軟件生產(chǎn)線構(gòu)造方法,其步驟為1)客戶端根據(jù)軟件開發(fā)環(huán)境的需求創(chuàng)建軟件生產(chǎn)線模型文件并將其保存到服務(wù) 器端;2)客戶端裝配模塊從服務(wù)器端下載并解析該軟件生產(chǎn)線模型文件,獲得該軟件生 產(chǎn)線中的角色信息;3)客戶端裝配模塊依據(jù)客戶端的角色和軟件生產(chǎn)線模型文件中角色與加工步驟、 加工步驟與工具集的映射信息,獲得該客戶端所需的工具集地址,并從服務(wù)器端下載工具 集裝配該客戶端;4)客戶端任務(wù)管理模塊定期輪詢服務(wù)器端任務(wù)管理模塊,下載與所在客戶端相關(guān) 的任務(wù)信息;其中任務(wù)信息包括輸入制品信息、輸出制品信息、所需工具;5)客戶端制品管理模塊根據(jù)下載的任務(wù)信息完成該任務(wù),并將該任務(wù)狀態(tài)改為完 成。進一步的,創(chuàng)建所述軟件生產(chǎn)線模型文件的方法為1)根據(jù)軟件生產(chǎn)線元模型,將軟件開發(fā)過程提取為一組有序的加工步驟;所述軟 件生產(chǎn)線元模型包含加工工序、加工步驟、角色、工具和制品五個元素以及它們之間的關(guān) 系;2)設(shè)定每個加工步驟相關(guān)的角色信息、所需工具集、輸入制品信息和輸出制品信 息,建立軟件生產(chǎn)線元模型實例,形成所述的軟件生產(chǎn)線模型文件。
進一步的,采用基于Eclipse插件的生產(chǎn)線圖形化建模工具創(chuàng)建所述軟件生產(chǎn)線 模型文件。進一步的,所述軟件生產(chǎn)線模型文件為XML格式文件。進一步的,所述客戶端裝配模塊利用XML解析器解析所述軟件生產(chǎn)線模型文件。進一步的,所述客戶端裝配模塊通過HTTP協(xié)議從服務(wù)器端下載并解析該軟件生 產(chǎn)線模型文件。進一步的,所述客戶端裝配模塊采用Eclipse插件更新機制從服務(wù)器端獲得客戶 端所需的工具集。進一步的,所述任務(wù)信息還包括增加任務(wù)的時機、任務(wù)類型、完成任務(wù)的人員、 任務(wù)計劃持續(xù)時間、任務(wù)實際持續(xù)的時間、任務(wù)計劃的剩余時間、任務(wù)對應(yīng)的生產(chǎn)線加工工序。一種軟件生產(chǎn)線構(gòu)造系統(tǒng),其特征在于包括服務(wù)器端和若干客戶端,服務(wù)器端和 客戶端通過HTTP協(xié)議互聯(lián);其中服務(wù)器端包括生產(chǎn)線管理模塊、工具管理模塊、任務(wù)管理模塊、制品管理模塊;所述生產(chǎn)線管理模塊,用于維護軟件生產(chǎn)線模型文件;所述工具管理模塊,用于將生產(chǎn)線中涉及的工具按照Eclipse更新站點的形式進 行組織管理;所述任務(wù)管理模塊,用于輸入任務(wù)說明,并維護任務(wù)的狀態(tài);所述制品管理模塊,用于存儲、提取、更新軟件開發(fā)過程中所產(chǎn)生的軟件制品,支 持制品在整個軟件開發(fā)過程中的共享;客戶端包括生產(chǎn)線建模工具、客戶端裝配模塊、客戶端任務(wù)管理模塊、客戶端制品 管理模塊;所述生產(chǎn)線建模工具,用于根據(jù)軟件開發(fā)環(huán)境創(chuàng)建軟件生產(chǎn)線模型文件;所述客戶端裝配模塊,用于從所述工具管理模塊的生產(chǎn)線工具庫中下載并安裝相 應(yīng)的工具集,裝配出所需的客戶端;所述客戶端任務(wù)管理模塊,用于從服務(wù)器端的所述任務(wù)管理模塊中獲取客戶端相 關(guān)的軟件開發(fā)任務(wù),并根據(jù)任務(wù)描述的制品位置,提取待加工制品;在制品加工完成后,根 據(jù)制品輸出位置存儲制品;所述客戶端制品管理模塊,用于從服務(wù)器端的所述制品管理模塊終獲取制品信 息、更新制品信息或者提交工具產(chǎn)生的制品。進一步的,所述任務(wù)說明包括加工步驟的開發(fā)任務(wù),任務(wù)的屬性信息,任務(wù)的要 求;服務(wù)器端的所述制品管理模塊采用配置管理系統(tǒng)管理生產(chǎn)線中的制品;所述軟件生產(chǎn) 線模型文件為XML格式文件。本發(fā)明中生產(chǎn)線框架包括軟件生產(chǎn)線建模、軟件生產(chǎn)線裝配和加工任務(wù)執(zhí)行三部 分。1.軟件生產(chǎn)線建模軟件生產(chǎn)線不僅是開發(fā)者、工具、制品的靜態(tài)集合,更是一種動態(tài)的、能夠反映軟 件開發(fā)方法的軟件開發(fā)環(huán)境。這種動態(tài)特性通過軟件生產(chǎn)線過程模型表達,軟件生產(chǎn)線過 程模型是對軟件生產(chǎn)線的過程抽象,描述了基于某種軟件開發(fā)方法的軟件開發(fā)過程,是反映軟件生產(chǎn)線特征的關(guān)鍵。軟件生產(chǎn)線過程模型是由一系列制品加工步驟組成的加工工 序。軟件生產(chǎn)線模型以軟件生產(chǎn)線過程模型為核心,將軟件生產(chǎn)線中開發(fā)者、工具、制品等 要素有機聯(lián)系在一起,如圖1所示。本發(fā)明定義軟件生產(chǎn)線元模型及其過程元模型如圖2 所示。軟件生產(chǎn)線元模型包含以下要素 加工工序,是一組用于描述軟件開發(fā)過程的軟件生產(chǎn)活動序列,是對軟件生產(chǎn) 線的過程抽象。 加工步驟,是加工工序中的一道“工序”環(huán)節(jié),是對一類軟件生產(chǎn)活動的抽象。 角色,是對軟件生產(chǎn)線用戶在利用軟件生產(chǎn)線實施軟件開發(fā)實踐的過程中所承 擔的職能的定義。 工具,是軟件生產(chǎn)線中用以輔助完成軟件生產(chǎn)活動的各類軟件。 軟件制品,是軟件工具作用的對象。軟件生產(chǎn)線中可能存在各種形態(tài)的制品,例 如代碼編輯器產(chǎn)生的源代碼文件,需求工具產(chǎn)生的需求分析文檔等。加工工序由一組有序的加工步驟組成。加工步驟定義本步驟相關(guān)的角色、工具集 以及制品集,同時定義軟件生產(chǎn)線中開發(fā)者、工具、制品間的關(guān)聯(lián)。加工步驟需要對應(yīng)一個 特定的工具集、一個特定的輸出制品集,以及一個或多個可能的輸入制品集,如圖2所示。項目管理人員依據(jù)軟件開發(fā)環(huán)境的需要,比如需要的軟件開發(fā)過程、軟件開發(fā)工 具等,在軟件生產(chǎn)線元模型的基礎(chǔ)上,將軟件生產(chǎn)線中的加工工序、加工步驟、工具集、軟件 制品等實例化,形成具有一定格式的軟件生產(chǎn)線模型,比如利用XML表示的軟件生產(chǎn)線模 型。2.軟件生產(chǎn)線裝配在完成軟件生產(chǎn)線模型設(shè)計后,客戶端裝配模塊利用該軟件生產(chǎn)線模型,構(gòu)建個 人工作平臺。軟件生產(chǎn)線裝配的步驟(圖3)如下1)客戶端裝配模塊通過HTTP協(xié)議從服務(wù)器端的生產(chǎn)線管理模塊獲得一個軟件生 產(chǎn)線模型文件;2)客戶端裝配模塊利用XML解析器解析該生產(chǎn)線模型文件,獲得該軟件生產(chǎn)線中 的角色信息;3)開發(fā)者根據(jù)需要,選擇自己對應(yīng)的角色;依據(jù)選擇的角色,客戶端裝配模塊通 過軟件生產(chǎn)線模型文件中定義角色與加工步驟、加工步驟與工具集的映射信息,獲得個人 工作平臺需要的工具集的地址;4)客戶端裝配模塊從工具管理模塊下載相應(yīng)的工具集;5)客戶端裝配模塊依據(jù)Eclipse插件更新機制,安裝下載的工具集;6)客戶端裝配模塊熱啟動相應(yīng)的工具集。3.加工任務(wù)執(zhí)行上一步完成客戶端裝配,這一步利用客戶端完成任務(wù)加工;軟件生產(chǎn)線裝配完成 后,形成了個人工作平臺。開發(fā)者基于個人工作平臺開始執(zhí)行加工任務(wù)。客戶端任務(wù)管理模 塊從服務(wù)器端任務(wù)管理模塊接收相應(yīng)的開發(fā)任務(wù),并開始相應(yīng)的開發(fā)活動,具體步驟(圖 4)如下1)客戶端任務(wù)管理模塊定期輪詢服務(wù)器端任務(wù)管理模塊,并從服務(wù)器端任務(wù)管理 模塊中下載用戶相關(guān)的任務(wù);
2)任務(wù)中包括該任務(wù)相關(guān)的輸入制品信息,客戶端制品管理模塊依據(jù)該任務(wù)的輸 入制品信息,下載任務(wù)中指定的輸入制品;3)任務(wù)中包含執(zhí)行該任務(wù)需要的生產(chǎn)工具,用戶利用該生產(chǎn)工具,加工輸入制
P
m ;4)任務(wù)中包含任務(wù)輸出制品的存儲位置,客戶端制品管理模塊將加工后生成的制 品存入到任務(wù)指定的制品輸出位置;5)客戶端任務(wù)管理模塊修改任務(wù)狀態(tài),將該任務(wù)狀態(tài)修改為“完成”。與現(xiàn)有技術(shù)相比,本發(fā)明的積極效果為本發(fā)明提出一種面向互聯(lián)網(wǎng)的、集成化、可擴展、協(xié)同化的軟件開發(fā)環(huán)境——軟件 生產(chǎn)線以及構(gòu)造軟件生產(chǎn)線的方法,其優(yōu)點和應(yīng)用如下1、本發(fā)明的方法以更細粒度的方法提出軟件生產(chǎn)線的構(gòu)造方法,為基于領(lǐng)域的生 產(chǎn)線構(gòu)造提供指導(dǎo)。2、本發(fā)明提出的基于軟件生產(chǎn)過程的生產(chǎn)線構(gòu)造方法,彌補了軟件開發(fā)中生產(chǎn)過 程、工具、制品、開發(fā)者之間關(guān)系的缺失,實現(xiàn)工具之間數(shù)據(jù)集成、控制集成、過程集成需求。
圖1軟件生產(chǎn)線概念模型;圖2軟件生產(chǎn)線元模型;圖3軟件生產(chǎn)線裝配步驟;圖4加工任務(wù)執(zhí)行步驟;圖5軟件生產(chǎn)線框架系統(tǒng)。
具體實施例方式本發(fā)明的目的是提出軟件生產(chǎn)線框架。軟件生產(chǎn)線框架的核心思想是利用其他領(lǐng) 域的生產(chǎn)線思想,為軟件開發(fā)提供一個軟件工具集成方法;同時提供制品管理、軟件工具管 理、任務(wù)管理以及工具便捷的組裝,形成一個協(xié)同的、深度集成的軟件開發(fā)環(huán)境。在軟件生產(chǎn)線框架中,軟件生產(chǎn)線模型采用XML(http://www.w3. org/XML/)描 述,如下列描述所示<software_production_line><name>ISCAS_BPCI</name>〈description〉支持異構(gòu)集成的生產(chǎn)線〈/description〉<roles>......</roles>〈toolsets〉......〈/toolsets〉<spl_process>......
</spl_process></software_production_line>其中,軟件生產(chǎn)線元素由<software_production_line>標識,它由生產(chǎn)線名字 <name>、生產(chǎn)線描述〈description〉、生產(chǎn)線中涉及的角色<roles>、生產(chǎn)線中涉及的工具 集<toolesets>以及生產(chǎn)線的加工工序<spl_process>組成。軟件生產(chǎn)線涉及多個角色,每個角色<role>由名字<name>和描述〈description〉 組成,如下列描述所示<roles><role><name>BPMNDeveloper</name>〈description〉〈/description〉</role>......</roles>軟件生產(chǎn)線涉及多個工具集,每個工具集〈toolset〉由工具集名字〈name〉、工具 集描述〈description〉和工具集更新地址<url>組成,如下列描述所示〈toolsets〉〈toolset〉<name>process_design_toolset</name>〈description〉、流程建模工具〈/description〉<url>http//localhost/toolsets/process_design_tool_updateSite</ url>〈/toolset〉......</toolsets>軟件生產(chǎn)線的加工工序由一系列加工步驟組成,每個加工步驟<spl_st印〉由加
工步驟的名字Oname、加工步驟的描述〈description〉、加工步驟涉及的角色〈require, ro 1 e>、加工步驟涉及的輸入制品位置〈artifact_input>和輸出制品位置〈artifact output〉組成。如下列描述所示<spl_process><spl_st印 name = 〃流程建?!?>〈description/〉<require_role ref = “ BPMNDeveloper" /><required_toolset ref = “ process_design_toolset“ /><artifact_input/><artifact_output>http//localhost/repostrunk/BPMN</artifact output)</spl_step>......
</spl_process>本發(fā)明中的軟件生產(chǎn)線框架系統(tǒng)在軟件生產(chǎn)線模型的基礎(chǔ)上,實現(xiàn)了軟件生產(chǎn)線 的構(gòu)建,其中包括服務(wù)器端和若干客戶端,服務(wù)器端包括生產(chǎn)線管理模塊、工具管理模塊、 任務(wù)管理模塊、制品管理模塊;客戶端包括生產(chǎn)線建模工具、客戶端裝配模塊、客戶端任務(wù) 管理模塊、客戶端制品管理模塊(如圖5所示)。服務(wù)器端和客戶端通過HTTP協(xié)議互聯(lián),具 體描述如下1)生產(chǎn)線建模工具軟件生產(chǎn)線框架系統(tǒng)基于Eclipse GEF(http//www. eclipse, org/gef/)和 GMF(http//www. eclipse, org/modeling/gmp/),實現(xiàn)了基于 Eclipse 插件的生產(chǎn)線圖形 化建模工具。項目管理人員根據(jù)自身軟件生產(chǎn)環(huán)境的需要,利用生產(chǎn)線建模工具,構(gòu)建軟件 生產(chǎn)線模型,并最終形成基于XML的軟件生產(chǎn)線模型。軟件生產(chǎn)線建模工具將生成的軟件 生產(chǎn)線模型通過HTTP協(xié)議保存在生產(chǎn)線管理模塊中。2)生產(chǎn)線管理模塊生產(chǎn)線管理模塊是基于Web的服務(wù)器應(yīng)用。利用生產(chǎn)線管理模塊,可以添加、修 改、刪除服務(wù)器上的軟件生產(chǎn)線模型文件。個人工作平臺裝配客戶端通過HTTP協(xié)議從生產(chǎn) 線管理模塊中獲得軟件生產(chǎn)線模型文件。3)工具管理模塊工具管理模塊將生產(chǎn)線中涉及的工具按照Eclipse更新站點的形式組織 (http://www. eclipse, org/articles/article. php ? file = Article-Update/index, html)。客戶端裝配模塊采用Eclipse插件更新機制,從工具管理模塊下載新的工具或者更 新軟件工具。4)任務(wù)管理模塊利用任務(wù)管理模塊,輸入任務(wù)說明,并在執(zhí)行過程中,修改任務(wù)的狀態(tài)。在軟件開 發(fā)過程中,利用任務(wù)管理模塊制定各個加工步驟的開發(fā)任務(wù),設(shè)置任務(wù)的相關(guān)屬性(如輸 入/輸出制品位置),制定任務(wù)的要求(如任務(wù)的完成時間)等。并在任務(wù)執(zhí)行過程中,由 客戶端任務(wù)管理模塊更新任務(wù)的狀態(tài)。任務(wù)的屬性描述如下所示task_dep Ioyment task_category task_people task_during task_actual_during task_rest_time task_spl_step task_input_artifact
增加任務(wù)的時機 任務(wù)類型 完成任務(wù)的人員 任務(wù)計劃持續(xù)時間 任務(wù)實際持續(xù)的時間 任務(wù)計劃的剩余時間 任務(wù)對應(yīng)的生產(chǎn)線加工工序 任務(wù)對應(yīng)的輸入制品位置task_output_artifact 任務(wù)對應(yīng)的輸出制品位置5)制品管理模塊制品管理模塊負責存儲、提取、更新軟件開發(fā)過程中所產(chǎn)生的軟件制品,支持制品 在整個軟件開發(fā)過程中的共享。軟件生產(chǎn)線框架采用配置管理系統(tǒng)管理生產(chǎn)線中的制品, 比如 SVN(http//subversion, tigris. org/)。
6)客戶端裝配模塊客戶端裝配模塊是基于Eclipse插件的工具,幫助用戶靈活構(gòu)建個人工作平臺。 在軟件開發(fā)過程中,客戶端裝配模塊通過HTTP協(xié)議,從生產(chǎn)線工具庫中下載并安裝相應(yīng)的 工具集,以此形成個人工作平臺(即客戶端)。7)客戶端任務(wù)管理模塊客戶端任務(wù)管理模塊采用Client/Server架構(gòu),獲得軟件生產(chǎn)線中的任務(wù)信息。 客戶端任務(wù)管理模塊從服務(wù)器端任務(wù)管理模塊中獲取本用戶相關(guān)的軟件開發(fā)任務(wù),根據(jù)任 務(wù)描述的制品位置,提取待加工制品;在制品加工完成后,根據(jù)制品位置存儲制品。8)客戶端制品管理模塊客戶端制品管理模塊負責從服務(wù)器端制品管理模塊獲取制品信息、更新制品信息 或者提交工具產(chǎn)生的制品?;谏鲜鲕浖a(chǎn)線框架與系統(tǒng),可以實現(xiàn)軟件工具集成。項目管理人員利用生 產(chǎn)線建模工具構(gòu)建軟件生產(chǎn)線模型;并在此基礎(chǔ)上,利用客戶端生產(chǎn)線裝配模塊構(gòu)建開發(fā) 人員的個人工作平臺,并在客戶端任務(wù)管理模塊的指導(dǎo)下,完成開發(fā)任務(wù)。盡管為說明目的公開了本發(fā)明的具體實施例和附圖,其目的在于幫助理解本發(fā)明 的內(nèi)容并據(jù)以實施,但是本領(lǐng)域的技術(shù)人員可以理解在不脫離本發(fā)明及所附的權(quán)利要求 的精神和范圍內(nèi),各種替換、變化和修改都是可能的。因此,本發(fā)明不應(yīng)局限于最佳實施例 和附圖所公開的內(nèi)容。
權(quán)利要求
一種軟件生產(chǎn)線構(gòu)造方法,其步驟為1)客戶端根據(jù)軟件開發(fā)環(huán)境的需求創(chuàng)建軟件生產(chǎn)線模型文件并將其保存到服務(wù)器端;2)客戶端裝配模塊從服務(wù)器端下載并解析該軟件生產(chǎn)線模型文件,獲得該軟件生產(chǎn)線中的角色信息;3)客戶端裝配模塊依據(jù)客戶端的角色和軟件生產(chǎn)線模型文件中角色與加工步驟、加工步驟與工具集的映射信息,獲得該客戶端所需的工具集地址,并從服務(wù)器端下載工具集裝配該客戶端;4)客戶端任務(wù)管理模塊定期輪詢服務(wù)器端任務(wù)管理模塊,下載與所在客戶端相關(guān)的任務(wù)信息;其中任務(wù)信息包括輸入制品信息、輸出制品信息、所需工具;5)客戶端制品管理模塊根據(jù)下載的任務(wù)信息完成該任務(wù),并將該任務(wù)狀態(tài)改為完成。
2.如權(quán)利要求1所述的方法,其特征在于創(chuàng)建所述軟件生產(chǎn)線模型文件的方法為1)根據(jù)軟件生產(chǎn)線元模型,將軟件開發(fā)過程提取為一組有序的加工步驟;所述軟件生 產(chǎn)線元模型包含加工工序、加工步驟、角色、工具和制品五個元素以及它們之間的關(guān)系;2)設(shè)定每個加工步驟相關(guān)的角色信息、所需工具集、輸入制品信息和輸出制品信息,建 立軟件生產(chǎn)線元模型實例,形成所述的軟件生產(chǎn)線模型文件。
3.如權(quán)利要求2所述的方法,其特征在于采用基于Eclipse插件的生產(chǎn)線圖形化建模 工具創(chuàng)建所述軟件生產(chǎn)線模型文件。
4.如權(quán)利要求3所述的方法,其特征在于所述軟件生產(chǎn)線模型文件為XML格式文件。
5.如權(quán)利要求4所述的方法,其特征在于所述客戶端裝配模塊利用XML解析器解析所 述軟件生產(chǎn)線模型文件。
6.如權(quán)利要求1或2或3或4或5所述的方法,其特征在于所述客戶端裝配模塊通過 HTTP協(xié)議從服務(wù)器端下載并解析該軟件生產(chǎn)線模型文件。
7.如權(quán)利要求1所述的方法,其特征在于所述客戶端裝配模塊采用Eclipse插件更新 機制從服務(wù)器端獲得客戶端所需的工具集。
8.如權(quán)利要求1所述的方法,其特征在于所述任務(wù)信息還包括增加任務(wù)的時機、任務(wù) 類型、完成任務(wù)的人員、任務(wù)計劃持續(xù)時間、任務(wù)實際持續(xù)的時間、任務(wù)計劃的剩余時間、任 務(wù)對應(yīng)的生產(chǎn)線加工工序。
9.一種軟件生產(chǎn)線構(gòu)造系統(tǒng),其特征在于包括服務(wù)器端和若干客戶端,服務(wù)器端和客 戶端通過HTTP協(xié)議互聯(lián);其中服務(wù)器端包括生產(chǎn)線管理模塊、工具管理模塊、任務(wù)管理模塊、制品管理模塊;所述生產(chǎn)線管理模塊,用于維護軟件生產(chǎn)線模型文件;所述工具管理模塊,用于將生產(chǎn)線中涉及的工具按照Eclipse更新站點的形式進行組 織管理;所述任務(wù)管理模塊,用于輸入任務(wù)說明,并維護任務(wù)的狀態(tài);所述制品管理模塊,用于存儲、提取、更新軟件開發(fā)過程中所產(chǎn)生的軟件制品,支持制 品在整個軟件開發(fā)過程中的共享;客戶端包括生產(chǎn)線建模工具、客戶端裝配模塊、客戶端任務(wù)管理模塊、客戶端制品管理 模塊;所述生產(chǎn)線建模工具,用于根據(jù)軟件開發(fā)環(huán)境創(chuàng)建軟件生產(chǎn)線模型文件; 所述客戶端裝配模塊,用于從所述工具管理模塊的生產(chǎn)線工具庫中下載并安裝相應(yīng)的 工具集,裝配出所需的客戶端;所述客戶端任務(wù)管理模塊,用于從服務(wù)器端的所述任務(wù)管理模塊中獲取客戶端相關(guān)的 軟件開發(fā)任務(wù),并根據(jù)任務(wù)描述的制品位置,提取待加工制品;在制品加工完成后,根據(jù)制 品輸出位置存儲制品;所述客戶端制品管理模塊,用于從服務(wù)器端的所述制品管理模塊終獲取制品信息、更 新制品信息或者提交工具產(chǎn)生的制品。
10.如權(quán)利要求9所述的系統(tǒng),其特征在于所述任務(wù)說明包括加工步驟的開發(fā)任務(wù), 任務(wù)的屬性信息,任務(wù)的要求;服務(wù)器端的所述制品管理模塊采用配置管理系統(tǒng)管理生產(chǎn) 線中的制品;所述軟件生產(chǎn)線模型文件為XML格式文件。
全文摘要
本發(fā)明公開了一種軟件生產(chǎn)線構(gòu)造方法及系統(tǒng),屬于計算機軟件領(lǐng)域。本方法為1)客戶端創(chuàng)建軟件生產(chǎn)線模型文件并將其保存到服務(wù)器端;2)客戶端裝配模塊從服務(wù)器端下載并解析該軟件生產(chǎn)線模型文件,獲得該軟件生產(chǎn)線中的角色信息;3)客戶端裝配模塊依據(jù)客戶端的角色和軟件生產(chǎn)線模型文件獲得該客戶端所需的工具集地址,并從服務(wù)器端下載工具集裝配該客戶端;4)客戶端任務(wù)管理模塊輪詢服務(wù)器端任務(wù)管理模塊,下載與所在客戶端相關(guān)的任務(wù)信息;5)客戶端制品管理模塊根據(jù)下載的任務(wù)信息完成該任務(wù),并將該任務(wù)狀態(tài)改為完成。本發(fā)明彌補了軟件開發(fā)中生產(chǎn)過程、工具、制品、開發(fā)者之間關(guān)系的缺失,實現(xiàn)工具之間數(shù)據(jù)集成、控制集成、過程集成。
文檔編號H04L29/06GK101957753SQ20101027906
公開日2011年1月26日 申請日期2010年9月10日 優(yōu)先權(quán)日2010年9月10日
發(fā)明者張若定, 王偉, 白琳, 竇文生, 鐘華, 陳偉, 高楚舒, 魏峻, 黃濤 申請人:中國科學(xué)院軟件研究所