專利名稱:集成式迭代化軟件開發過程控制系統及方法
技術領域:
本發明涉及軟件開發過程控制領域,特別涉及一種集成式迭代化軟件 開發過程控制系統及方法。
技術背景軟件項目開發過程控制涉及多個環節,例如軟件需求、項目進度管理、 軟件配置管理、軟件版本控制、軟件測試、軟件發布管理等環節,業界普 遍存在一個環節采用一種工具。在項目開發過程中,多個單一工具相互通 信困難,數據冗余不統一,同時用戶角色管理困難,需要在多個系統之間拷貝管理數據,這樣就會導致工作量大,管理維護復雜;而多個系統之間 數據也因此無法實時更新,無法實時響應變更并作出相應處理。同時由于 多個單一工具無法為項目開發各角色提供相應的價值信息,例如上下文背 景信息及相關關聯信息,統一一致的項目知識,因此項目人員需要花費大 量的時間精力去拷貝、核對、分析數據;從而導致信息延誤,理解不一致, 數據誤差,項目開發過程統一管理和調整以適應項目變化十分困難,統一 進行迭代化開發管理,統一進行項目統計和度量非常困難的問題。 發明內容為了解決現有技術中的問題,本發明提供了 一種集成式迭代化軟件開 發過程控制系統,解決目前軟件項目過程控制中多環節多工具難以統一進 行管理和控制的問題,也即項目整體變更管理的難題,尤其是涵蓋軟件需 求、項目進度、軟件原代碼、軟件配置、軟件測試、軟件構建、軟件發布 和維護整個過程的迭代化開發管理的難題,達到項目進度可控制、軟件質量 可保證,軟件易于擴展和維護的目的,從而減少軟件開發管理的復雜性, 提高開發效率,降低項目開發和維護成本,使企業受益。本發明解決現有技術問題所采用的技術方案是設計一種集成式迭代 化軟件開發過程控制系統及方法,包括數據庫單元,其用于將與軟件開發 過程的對象和定義所述對象相互依賴關系的數據存儲在一起;還包括需求管理模塊,用于對客戶需求進行分析、評審、分類組織;事項管理模塊,用于分配迭代周期開發的內容,分配、管理事項相關 的任務,監控和管理項目進度,管理事項相關的軟件原代碼進行軟件配置 管理,管理事項相關的測試用例進行軟件測試,處理事項狀態管理項目變 更流程;任務管理模塊,用于分配任務,監控和管理任務的狀態和完成情況, 報告和管理任務日志,處理任務之間的依賴關系,適時調整和管理項目進度;原代碼版本控制模塊,用于提供軟件配置管理功能,管理軟件原代碼, 隔離和合并開發人員工作;測試管理模塊,用于管理測試計劃,組織和管理測試用例,執行軟件測試,管理測試數據和文件,管理缺陷輸入; 發布管理模塊,用于管理和維護軟件發布;所述數據庫單元為統一數據庫;所述數據庫單元存儲所述需求管理模 塊、所述事項管理模塊、所述任務管理模塊、所述原代碼版本控制模塊、 所述測試管理模塊以及所述發布管理模塊數據信息;所述需求管理模塊、所述任務管理模塊、所述原代碼版本控制模塊、 所述測試管理模塊、所述事項管理模塊以及所述發布管理模塊完整記錄和 管理項目開發過程中的需求變更、任務變更、原代碼變更、測試變更、缺 陷變更、發布變更,以及變更之間的內在關聯關系,并在統一的迭代化開 發管理下進行項目進度控制,軟件質量保證,進行項目過程控制。本發明進一步的改進是所述需求管理模塊與所述任務管理模塊、所 述原代碼版本控制模塊、所述測試管理模塊,以及所述事項管理模塊相互 關聯;所述需求按條目、分層次以及按類別組織;所述需求管理模塊中的 需求之間的關聯關系通過矩陣形式進行關聯;所迷需求管理模塊的需求與 所述測試管理模塊的測試用例之間的關聯關系通過矩陣形式進行關聯。進 行關聯的目的是在需求變更時能夠根據這種關聯關系分析評估需求變更影 響、更新相關聯的需求和測試用例。通過提供貫穿項目開發全生命周期的 需求管理可以控制項目開發范圍,科學估計開發工作量,管理項目進度, 高效組織管理測試內容,組織測試用例進行測試,高效進行代碼配置,透 明的進行軟件發布和維護,提高項目開發效率和保證軟件質量。本發明進一 步的改進是所述任務管理;溪塊與所述事項管理模塊相互 關聯;所述任務管理模塊中的任務關聯所述事項管理模塊中的事項;所述 事項包括軟件需求和/或軟件缺陷。進行關聯的目的是通過關聯可以高效率 的分配和管理需求或者缺陷相對應的任務,當需求或缺陷變更時調整相應 的任務,通過對任務來源的管理也可以更好的組織和調整任務,統一的管 理項目迭代周期,監控和管理任務的執行情況。本發明進一步的改進是所述事項管理模塊和所述原代碼版本控制管 理模塊高度集成,所述事項管理模塊配置事項,組織、管理和控制軟件開 發的內容;所述原代碼版本控制管理模塊選擇相同模塊的不同版本或者選 擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定版本 組合形成新的版本,該新的版本包含的版本集合則對應特定的事項集合, 配置版本集合從而形成對應的軟件原代碼集合;所述原代碼版本控制管理模塊的軟件原代碼通過合并集的方式與所述事項管理模塊中的事項關聯; 通過聯合所述事項管理模塊和所述原代碼版本控制管理模塊來控制和管理軟件原代碼合并集,獲得高質量的代碼開發基礎;通過聯合所述事項管理 模塊和所述測試管理模塊、所述發布管理模塊來有效管理代碼變更,控制 軟件代碼質量,重用可靠的軟件發布,使軟件易于擴展和維護。本發明進一步的改進是所述測試管理模塊包含測試計劃管理、測試 用例組織管理,測試用例執行,測試結杲統計,以及軟件缺陷關聯關系管 理;所述測試管理模塊和所述需求管理模塊、所述事項管理模塊相互關聯。 通過這種關聯可以有效測試和統計需求的實現情況;高效率的查找、確認 軟件缺陷的來源,組織測試用例進行測試驗證,高效率的進行測試資產重 組,重復利于測試場景、測試集合和測試數據,通過軟件測試效率的提高 來促進開發效率的提高,降低開發過程管理的復雜性,克服協作溝通障礙, 降低溝通交流成本。本發明進一步的改進是所述發布管理模塊通過和所述事項管理模塊、 所述原代碼版本控制管理模塊的相互關聯關系高效管理軟件發布內容,發 布內容相關的軟件原代碼,利于重用已有發布,使軟件易于擴展和維護。本發明進一步的改進是所述集成式迭代化軟件開發過程控制系統還 包括郵件管理模塊;所述郵件管理模塊與所述需求管理模塊、所述事項管 理模塊相互關聯;所述郵件管理模塊獲取客戶的需求以便在所述需求管理 模塊中形成項目需求或者所述郵件管理模塊獲取客戶反應的軟件缺陷并在 所述事項管理模塊中形成軟件缺陷;所述郵件管理模塊反饋項目需求或/和 軟件缺陷的處理狀態。本發明進一步的改進是所述集成式迭代化軟件開發過程控制系統還 包括阻塞管理模塊、知識管理模塊以及構建管理模塊;所述阻塞管理模塊 用來管理項目開發過程中遇到的障礙,所述障礙包括軟件需求、測試用例、 任務、軟件缺陷產生的障礙;所述阻塞管理;漠塊和所述需求管理模塊、所 述任務管理模塊、所述測試管理模塊、所述事項管理模塊相互關聯;所述 知識管理模塊用于分類、組織和管理管理項目知識,所述項目知識包括項 目術語、軟件設計、需求場景、測試場景以及討論和評論;所述知識管理 模塊與所述需求管理模塊、所述測試管理模塊、所述任務管理才莫塊相互關 聯;所述構建管理模塊用于管理項目構建,并與所述事項管理模塊、所述 原代碼版本控制模塊、所述測試管理模塊、所述發布管理模塊相互關聯, 通過這樣的關聯易于在軟件測試、軟件發布、軟件擴展和維護時掌握軟件 測試內容、軟件發布內容、軟件重用內容,在軟件構建失敗時提供可靠的 線索幫助查找和分析問題。本發明為解決現有技術問題提供了 一種集成式迭代化軟件開發過程控 制方法,包括以下步驟:l.Ol在需求管理模塊中對客戶需求進行分析、評審、分類組織;102制定迭代計劃,確定開發周期、開發內容以及安排項目人員;10 3對事項管理模塊中的事項分配相應任務,同時在任務管理模塊中進行 項目進度跟蹤和管理;104在原代碼版本控制模塊中配置和管理軟件原代碼;105代碼開發并進行版本控制,記錄開發日志;10 6在測試管理模塊中進行軟件測試,記錄軟件缺陷;107軟件缺陷情況進行處理,若出現軟件缺陷,重復步驟(102 ) - ( 106 ), 若沒有軟件缺陷或軟件缺陷處理完成時,跳過該步驟;108通過發布管理模塊進行軟件發布,形成軟件發布報告。本發明進一步的改進是所述步驟101之前還包括通過郵件管理模塊 收到客戶請求;所述步驟108之后還包括通過郵件管理模塊給客戶發送需 求完成或者軟件缺陷修復的反饋郵件。從而有效管理客戶請求,不遺漏客 戶請求的答復處理,增加客戶滿意度。本發明進一步的改進是所述事項管理模塊用于分配迭代周期開發的 內容,分配、管理事項相關的任務,監控和管理項目進度,管理事項相關 的軟件原代碼進行軟件配置管理,管理事項相關的測試用例進行軟件測試, 處理事項狀態管理項目變更流程;所述步驟104中包括配置相同模塊的不 同版本或者選擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產 品的特定版本組合形成新的版本,該新的版本包含的版本集合則對應特定 的事項集合,配置版本集合從而形成對應的軟件原代碼集合。所述事項管 理模塊、所述原代碼版本控制模塊、所述測試管理模塊以及所述發布管理 模塊聯合起來管理和控制軟件質量。本發明的有益效果是準確的估計開發速度,掌握項目進^1,通過迭 代周期組織和管理軟件需求及軟件缺陷掌握開發內容;關聯的測試用例利 于高效組織和管理軟件測試;通過完整關聯項目知識的軟件原代碼保證軟 件質量,開發出的軟件易于擴展和維護;提供貫穿整個項目過程的完整的 關聯信索,易于查找、分析和解決問題,整個開發過程可控制和掌握,完 全可追溯;適應和響應項目變化,克服項目涉眾之間的溝通交流障礙和減 少交流成本,防止浪費、提高開發效率;真正解決項目整體變更管理的難 題,尤其是貫穿軟件生命周期的統一的涵蓋軟件需求、項目進度、軟件原 代碼、軟件配置、軟件測試、軟件構建、軟件發布和維護整個過程的迭代 化開發管理的難題。
圖1是本發明集成式迭代化軟件開發過程控制系統示意框圖; 圖2是本發明集成式迭代化軟件開發過程控制方法流程示意圖。
具體實施方式
下面結合附圖對本發明作進一步說明。如圖1所示,一種集成式迭代化軟件開發過程控制系統,包括數據庫單元1, 其用于將與軟件開發過程的對象和定義所述對象相互依賴關系的數據存儲 在一起;包括網絡連接模塊2,所述網絡連接模塊的模式可以是國際互聯網、 局域網或無線網絡便于對該迭代化軟件開發控制系統的操作和控制,本系 統可應用于web平臺,采用b/s架構,可通過瀏覽器方便操作。還包括需求管理模塊4,用于對客戶需求進行分析、評審、分類組織, 管理需求和迭代周期、軟件設計、測試用例之間的相互關聯關系;事項管理模塊3,用于分配迭代周期開發的內容,分配、管理事項相關 的任務,監控和管理項目進度,管理事項相關的軟件原代碼進行軟件配置 管理,管理事項相關的測試用例進行軟件測試,處理事項狀態管理項目變 更流程;任務管理模塊5,用于分配任務,監控和管理任務的狀態和完成情況, 報告和管理任務日志,處理任務之間的依賴關系,適時調整和管理項目進 度,管理任務和迭代周期,軟件需求、軟件缺陷之間的關聯關系;原代碼版本控制^f莫塊6,提供軟件配置管理功能,管理軟件原代碼,隔 離和合并開發人員工作,并為軟件測試和發布提供基礎數據,管理和迭代 周期、軟件測試、軟件發布之間的相互關聯關系;測試管理;溪塊7,管理測試計劃,組織和管理測試用例,衫W于軟件測試, 管理測試數據和文件,管理缺陷輸入,管理測試用例和迭代周期、軟件需 求、軟件缺陷之間的關聯關系;發布管理模塊9,用于管理和維護軟件發布,管理和迭代周期、原代碼 版本控制模塊、事項管理模塊之間的相互關聯關系;所述數據庫單元為統一數據庫;所述數據庫單元存儲所述需求管理才莫 塊、事項管理模塊、任務管理模塊、原代碼版本控制模塊、測試管理模塊 以及發布管理;溪塊數據信息。本發明采用集成式的模式,將各個模塊的信息都集成在一個統一的數 據庫中,以保證各個模塊間實現數據的統一性管理,從而避免多個工具系統之間復雜的接口開發,將軟件開發過程的不同環節真正的統一管理起來, 實現模塊之間變更的實時處理和響應,保證各個模塊以及各環節數據的一 致性,并為數據查詢以及上下文關系處理提供完整支持。本發明采用集成式的模式,所述需求管理模塊、所述任務管理模塊、 所述原代碼版本控制模塊、所述測試管理模塊、所述事項管理模塊以及所 述發布管理模塊完整記錄和管理項目開發過程中的需求變更、任務變更、 原代碼變更、測試變更、缺陷變更、發布變更,以及變更之間的內在關聯 關系,并在統一的迭代化開發管理下進行項目進度控制,軟件質量保證, 進行項目過程控制,真正解決項目整體變更管理的難題,尤其是貫穿軟件 生命周期的統一的涵蓋軟件需求、項目進度、軟件原代碼、軟件配置、軟 件測試、軟件構建、軟件發布和維護整個過程的迭代化開發管理的難題。本發明的所述事項管理模塊3的事項包含軟件需求和軟件缺陷,并結 合原代碼版本控制模塊6提供原代碼統一變更管理,統一進行軟件配置管 理的功能;本發明以迭代化開發管理為中心,統一管理所述需求管理模塊4、所述 任務管理模塊5、所述原代碼版本控制模塊6、所述構建管理模塊、所述測 試管理模塊7、所述事項管理模塊3、所述發布管理模塊9來適應項目開發 過程無處不在的變更,統一記錄和管理項目各環節內在的關聯關系,使各 環節無縫連接,高度融合,管理項目進度、軟件原代碼、軟件測試和發布, 保證軟件質量,提高開發效率,降低開發和維護成本。本發明的所述任務管理模塊5分別與所述需求管理模塊4、所述事項管 理模塊3相互關聯;所述需求管理模塊4分別與所述任務管理模塊5、所述 事項管理模塊3、所述測試管理模塊7相互關聯;所述測試管理模塊7分別 與所述需求管理模塊4、所述事項管理模塊3相互關聯;所述事項管理模塊 3分別與所述需求管理模塊4、所述任務管理模塊5、所述測試管理模塊7、 所述原代碼版本控制模塊6、所述發布管理模塊9相互關聯。本發明的所述事項管理模塊3通過對事項分配項目任務與所述任務管 理模塊5進行關聯;所述事項管理模塊3與所述需求管理模塊4,所述原代 碼版本控制模塊6,所述測試管理模塊7,所述事項管理模塊8以及所述發 布管理模塊9分別通過事項進行關聯。本發明的所述任務管理模塊與所述事項管理模塊相互關聯,通過事項 統計來估計和計算項目進度,統一管理和控制項目進度;所述任務管理模 塊中的任務關聯所述事項管理模塊中的事項;所述事項包括軟件需求和/或 軟件缺陷。所述事項管理模塊3和所述原代碼版本控制管理模塊6高度集 成,所述事項管理模塊3配置事項,組織、管理和控制軟件開發的內容; 所述原代碼版本控制管理模塊6的軟件原代碼通過合并集的方式與所述事 項管理模塊3中的事項關聯;本發明的所述原代碼版本控制管理模塊6配置相同-漠塊的不同版本或者選擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定 版本組合形成新的版本,該新的版本包含的版本集合則對應特定的事項集 合,配置版本集合從而形成對應的軟件原代碼集合,通過功能組合配置得 到軟件原代碼,即通過組織軟件版本包含的不同軟件功能形成新的軟件功能組合;通過該方法可以高效進行軟件配置管理,解決軟件原代碼缺少項目開發過程知識,軟件原代碼版本內容不透明,難以根據客戶不同需要配 置客戶需要的功能所需要的軟件原代碼的難題,該方法還將原代碼的形成 和軟件需求、軟件測試、軟件發布高度的集成起來,從而通過軟件原代碼 配置還可以進一步管理所配置出的軟件原代碼相應的軟件需求、軟件缺陷、 軟件發布,4吏新版本開發可以根據這些關聯關系高效進行開發、測試和發 布,從而減少管理和維護整個項目開發過程中變更管理以及變更關系管理 的復雜性,高效進行軟件測試,使開發過程能夠快速交付和反饋,使開發 的代碼質量得到保障,提高開發效率,所開發的軟件易于擴展和維護,降 低項目的開發和維護成本。本發明的所述測試管理模塊7包含測試計劃管理,測試用例組織管理, 測試用例執行,測試結果統計以及管理軟件缺陷之間的相互關聯關系;所 述測試管理模塊7和所述需求管理模塊4、所述事項管理模塊3相互關聯。 通過這種關聯可以有效測試和統計需求的實現情況;高效率的查找、確認 軟件缺陷的來源,組織測試用例進行測試驗證,高效率的進行迭代分配、 測試和發布軟件。本發明的所述集成式迭代化軟件開發過程控制系統還包括郵件管理模 塊;所述郵件管理模塊與所述需求管理模塊4、所述事項管理模塊3相互關 聯;所述郵件管理模塊獲取客戶的需求以便在所述需求管理模塊4中形成 項目需求或者所述郵件管理模塊獲取客戶反應的軟件缺陷并在所述事項管 理^t塊3中形成軟件缺陷;所述郵件管理模塊反饋項目需求或/和軟件缺陷 的處理狀態。本發明的所述集成式迭代化軟件開發過程控制系統還包括阻塞管理模 塊;所述阻塞管理模塊用來管理項目開發過程中遇到的障礙,障礙可能來 源于軟件需求、測試用例、任務、軟件缺陷;所述阻塞管理模塊和所述需 求管理模塊4、所迷任務管理模塊5、所述測試管理模塊7、所述事項管理 模塊3相互關聯。本發明的所述集成式迭代化軟件開發過程控制系統還包括知識管理模 塊,所述知識管理模塊用于分類、組織和管理管理項目知識,所述項目知 識包括項目術語、軟件設計、需求場景、測試場景以及討論和評論;所述 知識管理;lt塊與所述需求管理;^莫塊4、所述測試管理模塊7、所述任務管理模塊3相互關聯,項目知識的集成性"社會化,,和"一致性"有利于項目 成員了解項目上下文知識背景,相關關聯信息,有效消除項目知識的查找、 核對、分析的時間浪費,消除理解偏差,使組織聚焦,提高項目開發效率。 所述集成式迭代化軟件開發過程控制系統還包括構建管理模塊,所述構建 管理模塊用于管理項目構建,并與所述事項管理模塊3、原代碼版本控制模塊6、所述發布管理模塊9相互關聯。進^f亍關聯的目的是易于分析構建的內 容,查找構建的來源,分析構建失敗的原因,根據構建過程數據科學組織 和管理軟件發布,以及高效追蹤和管理發布來源。本發明的所述集成式迭代化軟件開發過程控制系統是一種集成的迭代 化軟件開發過程控制系統,將項目開發各環節高度的集成起來,集成不是 簡單的組合,而是通過項目開發各環節的內在關聯關系進行控制, 一個環 節的變更將引起其它環節的連環效應,通過環環相扣的控制可以將這種變 更及時的進行系統內部處理和反饋給用戶。本發明的所述集成式迭代化軟件開發過程控制系統以"基于事項管理,, 為基礎,"基于事項管理"是指項目開發過程控制是以事項管理為基礎的, 事項是易于理解和溝通的,也是易于組織和管理的,事項的狀態反應出事 情的進展情況,通過對事項狀態的管理完成項目開發流程的控制,對軟件 開發過程的管理和控制就變成了對這些事項的管理和控制,事項的來源有 兩種, 一種是軟件需求,另一種是軟件缺陷,通過對事項的來源進行管理 就可以相應的完成對軟件需求和軟件缺陷的管理,通過對事項分配任務, 計劃、調整和監控任務完成情況就可以相應的完成對項目進度的管理,通 過對事項的測試、組織和分析就可以相應的完成軟件測試的相關工作,通 過對實現事項的原代碼開發集合進行管理就完成了軟件版本控制(軟件配 置管理)的相應工作,通過對事項的測試結果進行審查分析也可以完成相 應的軟件發布工作。基于事項管理進行軟件過程控制不同于傳統的軟件原 代碼開發和項目過程知識相隔離的開發過程,而是原代碼的產生修改都圍 繞相應的開發事項進行,原代碼的產生修改作為一個整體和相應事項相對 應,事項從屬于相應的迭代周期,事項有對應的需求、缺陷、源代碼集合 以及任務、測試用例,通過這種方法可以高效管理軟件需求,管理項目進 度以及進行軟件版本控制和軟件測試以及管理軟件發布,這樣使開發過程 清晰、透明,所開發出來的軟件源代碼是易于理解、易于測試、易于發布、 易于擴展和維護的,項目開發的整個過程都是完全可以控制和追溯的;基 于事項管理進行軟件過程控制,能夠準確的估計開發進度,由迭代周期配 置的事項包含的總的故事點數(或者絕對工作小時數)估計軟件開發規^莫, 由軟件規模和團隊開發速度則可以計算出項目開發進度,解決軟件項目進度難以估計和管理的難題。通過事項管理易于進行迭代化開發管理,形成 健壯的架構和高質量的應用,團隊能夠在早期的迭代中而不是在項目末期 的大規模測試階段發現缺陷,能夠在性能瓶頸沒有破壞項目計劃之前被發 現。本發明的所述需求管理;漠塊4中的需求包括文本需求和文檔需求,所述需求與需求之間的關聯關系通過矩陣形式進行關聯;所述需求按條目分層次按類別進行組織;所述需求管理4莫塊4的需求與所述測試管理才莫塊7 的測試用例之間的關聯關系通過矩陣形式進行關聯。所述需求管理模塊4 和任務管理模塊5、所述設計管理模塊、所述測試管理模塊7相互關聯。通 過對需求條目化的組織和管理,以及需求和任務、軟件設計、測試用例、 客戶郵件請求、迭代計劃之間的關聯關系達到計劃和管理軟件開發規模, 估計、管理、監控項目進度,組織管理軟件測試,管理客戶請求,計劃開 發周期和開發內容,以及通過這些關聯關系處理需求變更,需求變更時可 以通過系統的過程記錄和管理方法,實時反應出需求、軟件缺陷、軟件設 計、測試用例、分配的任務以及軟件原代碼之間的變更關系。該系統能夠 識別和解決項目價〃匿流增加瓶頸,解決缺少全面的需求管理,使開發難以 快速應對變更,跟蹤和管理變更的問題;解決查詢、解決問題缺乏線索,當 構建失敗,產生軟件缺陷,集成失敗時難以快速定位問題,分析問題,以 便高效率地進行解決的問題;解決缺乏貫穿生命周期各階段完整的"迭代化 開發"管理工具,缺乏完善的測試、集成環境,項目不能在清晰、透明、 高效協作的環境下,使組織聚焦的問題。本發明的所述任務管理;溪塊5和所述需求管理模塊4,所述事項管理模 塊3相互關聯;所述任務管理模塊5中的任務關聯所述需求管理模塊4中 的需求;所述任務管理模塊5中的任務關聯所述事項管理模塊3中的缺陷; 所述任務管理模塊5記錄和管理各項任務的依賴關系、狀態和日志。通過 任務和需求的相互關聯,可以了解為實現某需求分配了哪些任務,該任務 和哪些需求相關聯。通過任務和缺陷的相互關聯,可以了解為修復某缺陷 分配了哪些任務,該任務和哪些缺陷相關聯。通過任務和軟件設計的關聯, 可以了解為實現某設計分配了哪些任務,該任務和什么設計相關聯。通過 任務開發日志,可以了解完成該任務已經工作了多少時間,剩余多少時間, 任務在什么時間可以完成。通過任務和文件管理的關聯,實現任務相關項 目文檔的管理。通過完整的關聯管理,確保項目開發過程的可再現性,避 免工作調動或者人員變動產生的寶貴項目時間浪費,使原來的工作能夠輕 松而高效的順延。本發明的所述原代碼版本控制模塊6配置相同模塊的不同版本或者選擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定版本 組合形成新的版本,該新的版本包含的版本集合則對應特定的事項集合, 配置版本集合從而形成對應的軟件原代碼集合組合形成不同的軟件功能。 通過基于事項的軟件配置管理、軟件構建、發布管理,不僅解決困難的軟 件集成問題,而且能夠消除軟件維護對開發過程"無法重現"帶來的難以著 手,難以追查,軟件難以擴展,軟件難以維護的問題。在原代碼版本控制模塊6中,基于事項的軟件配置使軟件構建和發布更力。自然和科學,解決 軟件項目開發中普遍存在的軟件版本控制缺乏項目過程管理信息的問題。 在更高級別的抽象("以事項為單位〃)上,使軟件構建、發布、維護更加 容易理解的"語言〃進行過程改進和管理,也利于問題的排查和追蹤,使團 隊開發的軟件產品真正符合用戶需求,具備高擴展性和維護性,通過系統 內在的關聯關系,追蹤、管理、維護軟件更加的輕松容易,保證開發軟件 的高質量。本發明的所述測試管理模塊7包含測試用例組織管理,用例執行,測 試結果統計,缺陷輸入和關聯管理;通過所述測試管理模塊7的測試用例 和所述需求管理模塊4的需求以及事項管理模塊8的軟件缺陷的相互關聯 關系,管理人員可以根據需求狀態、缺陷狀態確定是否需要運行該測試用 例;測試人員可以根據構建報告、需求基線"有針對性"的組織測試用例, 通過測試集合有效管理和組織測試內容,重用測試資產,防止因為測試人 員對構建的軟件內容不透明產生的測試〃盲目性"帶來的大量測試時間浪 費。本發明的所述集成式迭代化軟件開發過程控制系統通過自動化測試來 有效支持"持續集成,,,所迷"持續集成"可以有效減少手工測試,提高生 產力,使開發團隊的成員頻繁的整合他們之間的工作。"持續集成"不是簡 單的組裝軟件而是軟件開發過程的核心實踐,通過時時運行測試,保證軟 件現有的功能不被破壞,自動分析現有代碼的狀態(有無重復邏輯,代碼的 復雜度等)并發布相關的報告來保證可靠開發軟件,控制和管理項目開發過程。本發明的所述集成式迭代化軟件開發過程控制系統還包括郵件管理模 塊;所述郵件管理模塊與所述需求管理模塊、所述事項管理才莫塊相互關聯; 所述郵件管理模塊獲取客戶的需求或者軟件缺陷以便在所述需求管理模塊 中形成項目需求或者在所述事項管理模塊中形成軟件缺陷,當需求開發實 現時或者軟件缺陷修復時根據事項的來源發送相應的反饋郵件給客戶,可 以有效管理客戶請求,提高客戶滿意度;本發明的所述集成式迭代化軟件開發過程控制系統通過高度集成事項管理模塊和測試管理模塊來提高缺陷報告的質量和缺陷修復效率,首先系 統確保缺陷報告的環境(機器,軟硬件環境,操作系統版本,軟件構建版 本等)和測試執行環境的一致性,其次開發人員通過點擊事項"來源"直 接返回到缺陷產生的具體操作步驟,了解現場使用的測試數據,系統在每個步驟中的實際輸出,查看屏幕圖象,系統日志等,為測試人員對bug進行描述節省了大量時間,以及測試人員和開發人員之間進行解釋確認帶來 的時間浪費。幫助開發人員能夠直接找到問題,高效確認,修復和追蹤問 題。本發明為解決現有技術問題提供了 一種集成式迭代化軟件開發過程控 制方法,該方法采用統一的迭代開發方法管理軟件需求、任務、軟件缺陷、 軟件發布。需求管理、任務管理、變更管理、測試管理、發布管理各自有各自的流程,但都在該方法統一的協作流程管理之下,包括以下步驟 101在需求管理模塊中對客戶需求進行分析、評審、分類組織; 102制定迭代計劃,確定開發周期、開發內容以及安排項目人員; 103對事項管理模塊中的事項分配相應任務,同時在任務管理模塊中進行 項目進度跟蹤和管理;104在原代碼版本控制模塊中配置和管理軟件原代碼; 105代碼開發并進行版本控制,記錄開發日志; 106在測試管理模塊中進行軟件測試,記錄軟件缺陷; 107根據軟件缺陷情況進行處理,若出現軟件缺陷,重復步驟(102) -(106),若沒有軟件缺陷或軟件缺陷處理完成時,跳過該步驟; 108通過發布管理模塊進行軟件發布,形成軟件發布報告。 所述步驟101之前還包括通過郵件管理系統收到客戶請求;所述步驟108 之后還包括通過郵件管理模塊給客戶發送需求完成或者軟件缺陷修復的反 饋郵件。即當客戶通過發送郵件提起需求時,通過系統來進行開發處理, 用戶的需求完成之后即在形成軟件發布報告之后,通過回復郵件向客戶確 認需求完成。本發明的所述事項管理模塊用于分配迭代周期開發的內容,分配、管 理事項相關的任務,監控和管理項目進度,管理事項相關的軟件原代碼進 行軟件配置管理,管理事項相關的測試用例進行軟件測試,處理事項狀態 管理項目變更流程;所述步驟104中配置相同模塊的不同版本或者選擇不 同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定版本組合 形成新的版本。本發明根據變更請求事項配置軟件原代碼,進行開發和測試,并由測 試結果審核和發布軟件,這樣的過程可以有效隔離未通過測試驗證的代碼,保證軟件的穩定可靠發布。變更請求管理和迭代管理、任務管理、測試用 例管理、原代碼版本管理、郵件管理高度集成,相互關聯。由請求事項可 以追蹤該事項相關的需求、分配的任務、針對該事項而產生的測試用例、 實現該事項的相關軟件原代碼,該事項的測試來源、客戶郵件。編碼完成 某事項時哪些測試用例應該執行,和哪些軟件缺陷相關,測試結果又產生 出哪些軟件缺陷。配置完成時,該配置包含了哪些需求、哪些缺陷,軟件 有多大規模,需要安排多少任務,安排多長開發周期,涉及哪些模塊版本 和軟件原代碼,系統提供完整的關聯管理、追溯和控制。軟件發布包含了 哪些變更,哪些^f莫塊,哪些版本,哪些需求、哪些軟件缺陷,哪些測試, 正向和方向追蹤各環節相互關聯關系。本發明通過迭代化開發來管理軟件項目風險。管理需求持續變化,無法 確定以及對需求的錯誤理解產生的風險。管理在最后階段集成代碼,最后 階段才開始測試,缺陷發現太晚,模塊無法集成,難于維護的風險。管理 在開發過程中缺乏實際用戶的反饋,質量差的風險。管理來自傳統的開 發方法在快速變化的今天很難達到預定的時間計劃,性能和可擴展性太差 的風險。管理來自傳統開發方法很難接受用戶所需的最新需求變更,部門 無法有效協同工作的風險。本發明使"重用"得到最大發揮和保護,重用項目知識財產,需求分析、 組織和細化過程積累的經驗,通過迭代化開發重用軟件設計,通過高級軟件配置管理重用軟件原代碼,重用測試集合(TestSet),科學和高效管理軟 件測試內容,重用構建和發布內容,保證軟件的完整性、可再現性,通過 維客系統對項目知識的組織和管理,使重復利用項目知識和財產更加容易, 易于使客戶參與頻繁的交互和共享所有權,來交付可靠的軟件。本發明還具有阻塞管理,阻塞可以發生在軟件需求、任務、測試用例、 軟件缺陷上,阻塞和這些事項相互關聯,責任人被這些阻塞所驅趕,通過 及時排除這些開發過程中遇到的障礙,可以高效率的處理項目中的困難, 提高軟件項目開發效率。以上內容是結合具體的優選實施方式對本發明所作的進一步詳細說 明,不能認定本發明的具體實施只局限于這些說明。對于本發明所屬技術 領域的普通技術人員來說,在不脫離本發明構思的前提下,還可以做出若 干簡單推演或替換,都應當視為屬于本發明的保護范圍。
權利要求
1.一種集成式迭代化軟件開發過程控制系統,包括數據庫單元,其用于將與軟件開發過程的對象和定義所述對象相互依賴關系的數據進行存儲;其特征在于還包括需求管理模塊,用于對客戶需求進行分析、評審、分類組織;事項管理模塊,用于分配迭代周期開發的內容,分配、管理事項相關的任務,監控和管理項目進度,管理事項相關的軟件原代碼進行軟件配置管理,管理事項相關的測試用例進行軟件測試,處理事項狀態管理項目變更流程;任務管理模塊,用于分配任務,監控和管理任務的狀態和完成情況,報告和管理任務日志,處理任務之間的依賴關系,適時調整和管理項目進度,管理任務和迭代周期、軟件需求、軟件缺陷之間的相互關聯關系;原代碼版本控制模塊,用于提供軟件配置管理功能,管理軟件原代碼;測試管理模塊,用于管理測試計劃,組織和管理測試用例,執行軟件測試,管理測試數據和文件,管理缺陷輸入,管理測試用例和迭代周期、軟件需求、軟件缺陷之間的相互關聯關系;發布管理模塊,用于管理和維護軟件發布;所述數據庫單元為統一數據庫;所述數據庫單元存儲所述需求管理模塊、所述事項管理模塊、所述任務管理模塊、所述原代碼版本控制模塊、所述測試管理模塊以及所述發布管理模塊數據信息;所述需求管理模塊、所述任務管理模塊、所述原代碼版本控制模塊、所述測試管理模塊、所述事項管理模塊以及所述發布管理模塊完整記錄和管理項目開發過程中的需求變更、任務變更、原代碼變更、測試變更、缺陷變更、發布變更,以及變更之間的內在關聯關系,并在統一的迭代化開發管理下進行項目進度控制,軟件質量保證,進行項目過程控制。
2. 根據權利要求l所述集成式迭代化軟件開發過程控制系統,其特征在于 所述需求管理模塊與所述任務管理模塊、所述原代碼版本控制模塊、所 述測試管理模塊,以及所述事項管理模塊相互關聯;所述需求按條目、 分層次以及按類別組織;所述需求管理模塊中的需求之間的關聯關系通 過矩陣形式進行關聯;所述需求管理模塊的需求與所述測試管理模塊的 測試用例之間的關聯關系通過矩陣形式進行關聯。
3. 根據權利要求2所述集成式迭代化軟件開發過程控制系統,其特征在于 所述任務管理模塊與所述事項管理模塊相互關聯,通過事項統計來估計和計 算項目進度,統一管理和控制項目進度;所述任務管理模塊中的任務關聯所 述事項管理模塊中的事項;所述事項包括軟件需求事項和/或軟件缺陷事項。
4. 根據權利要求3所述集成式迭代化軟件開發過程控制系統,其特征在于 所述事項管理模塊和所述原代碼版本控制管理模塊高度集成,所述事項管理模塊配置事項,組織、管理和控制軟件開發的內容;所述原代碼版本控制管理模塊選擇相同模塊的不同版本或者選擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定版本組合形成新的版本;所述原代碼版本 控制管理模塊的軟件原代碼通過合并集的方式與所述事項管理模塊中的事 項關聯;所述事項管理才莫塊、所述原代碼版本控制模塊、所述測試管理才莫塊 以及所述發布管理模塊聯合起來管理和控制軟件質量。
5. 根據權利要求4所述集成式迭代化軟件開發過程控制系統,其特征在于 所述測試管理模塊包含測試計劃管理,測試用例組織管理,測試用例執 行,測試結果統計以及軟件缺陷關聯關系管理;所述測試管理模塊通過 和所述需求管理模塊、所述事項管理模塊之間相互關聯來管理變更和組 織測試。
6. 根據權利要求5所述集成式迭代化軟件開發過程控制系統,其特征在于 所述集成式迭代化軟件開發過程控制系統還包括郵件管理模塊;所述郵 件管理模塊與所述需求管理模塊、所述事項管理模塊相互關聯;所述郵 件管理模塊獲取客戶的需求以便在所述需求管理模塊中形成項目需求或 者所述郵件管理模塊獲取客戶反應的軟件缺陷并在所述事項管理模塊中 形成軟件缺陷;所述郵件管理模塊反饋項目需求或/和軟件缺陷的處理狀 態。
7. 根據權利要求6所述集成式迭代化軟件開發過程控制系統,其特征在于 所述集成式迭代化軟件開發過程控制系統還包括阻塞管理模塊、知識管理模 塊以及構建管理模塊;所述阻塞管理模塊用來管理項目開發過程中遇到的障 礙,所述障礙可能來源于軟件需求、測試用例、任務、軟件缺陷;所述阻塞 管理模塊和所述需求管理模塊、所述任務管理模塊、所述測試管理模塊、所 述事項管理模塊相互關聯;所述知識管理模塊用于分類、組織和管理項目知 識,所述項目知識包括項目術語、軟件設計、需求場景、測試場景以及討論 和評論;所述知識管理4莫塊與所述需求管理模塊、所迷測試管理模塊、所述 任務管理模塊相互關聯;所述構建管理模塊用于管理項目構建,并與所述事 項管理模塊、原代碼版本控制模塊、所述發布管理模塊相互關聯。
8. —種集成式迭代化軟件開發過程控制方法,其特征在于,包括以下步驟(101) 在需求管理模塊中對客戶需求進行分析、評審、分類組織;(102) 制定迭代計劃,確定開發周期、開發內容以及安排項目人員;(103) 對事項管理模塊中的事項分配相應任務,同時在任務管理模塊中 進行項目進度跟蹤和管理;(104)在原代碼版本控制模塊中配置和管理軟件原代碼; (105 )代碼開發并進行版本控制,記錄開發日志;(106) 在測試管理模塊中進行軟件測試,記錄軟件缺陷;(107) 根據軟件缺陷情況進行處理,若出現軟件缺陷,重復步驟(102) -(106),若沒有軟件缺陷或軟件缺陷處理完成時,跳過該步驟;(108) 通過發布管理模塊進行軟件發布,形成軟件發布報告。
9. 根據權利要求8所述集成式迭代化軟件開發過程控制方法,其特征在于 所述步驟(101)之前還包括通過郵件管理模塊收到客戶請求;所述步驟(108 )之后還包括通過郵件管理模塊給客戶發送需求完成或者軟件缺陷 修復的反饋信息。
10. 根據權利要求9所述集成式迭代化軟件開發過程控制方法,其特征在 于所述事項管理模塊用于分配迭代周期開發的內容,分配、管理事項 相關的任務,監控和管理項目進度,管理事項相關的軟件原代碼進行軟 件配置管理,管理事項相關的測試用例進行軟件測試,處理事項狀態管 理項目變更流程;所述步驟U04)中包括配置相同模塊的不同版本或者 選擇不同模塊的相同版本和/或不同版本,以及聯合或不聯合產品的特定 版本組合形成新的版本,該新的版本包含的版本集合則對應特定的事項 集合,配置版本集合從而形成對應的軟件原代碼集合。
全文摘要
本發明涉及軟件開發過程控制領域,其公開了一種集成式迭代化軟件開發過程控制系統及方法,包括數據庫單元,需求管理模塊,任務管理模塊,原代碼版本控制模塊,測試管理模塊,事項管理模塊,發布管理模塊,通過模塊間相互關聯,在統一的迭代化開發管理下進行項目進度控制,軟件質量保證,項目過程控制。本發明的有益效果是整個軟件開發過程進度可控制,質量可保證,開發出的軟件易于擴展和維護;真正解決項目整體變更管理的難題,尤其是貫穿軟件生命周期的統一的涵蓋軟件需求、項目進度、軟件原代碼、軟件配置、軟件測試、軟件構建、軟件發布和維護整個過程的迭代化開發管理的難題。
文檔編號G06F9/44GK101403965SQ20081004658
公開日2009年4月8日 申請日期2008年11月18日 優先權日2008年11月18日
發明者斌 虞 申請人:四川賽文納克軟件有限公司