新四季網

用於處理軟體設計衝突的方法和系統的製作方法

2023-09-17 23:58:30

專利名稱:用於處理軟體設計衝突的方法和系統的製作方法
技術領域:
本發明總體涉及軟體設計,尤其涉及並行軟體設計方式下的設計結果之間的衝突 的識別和解決。
背景技術:
軟體開發過程一般劃分成三個主要階段,需求分析階段、軟體設計階段和軟體實 現階段。軟體設計階段根據需求分析階段給出的需求說明書,按照一定的規範進行軟體設 計,設計結果作為編程人員在軟體實現階段的藍圖。在大型軟體開發項目中,軟體設計通常 採用並行設計(亦稱分布設計或協作設計)的方式,在這種方式下,首先按要設計的軟體的 不同功能劃分,形成不同的設計任務,然後將不同的設計任務分配給不同的設計者。最後, 將不同設計者提供的設計結果合成,形成一個完整的軟體設計。不同設計者的設計結果,存在潛在的衝突。例如,一個設計者的設計中的設計元素 與另一個設計者的設計中的設計元素,使用相同的計算資源(例如訪問同一個資料庫或數 據表或調用同一個功能)。在軟體設計階段消除或儘量減少衝突,有利於編程階段的編程效 率、減少軟體運行時可能發生的錯誤以及軟體的維護。為了解決衝突,首先需要識別不同設 計者的設計結果之間的衝突。然而,由於設計結果的複雜性,人工識別不同設計結果之間的 衝突非常困難,在涉及成千上萬的設計元素的大型軟體設計項目中尤其如此。

發明內容
為此,本發明提出一種自動識別軟體設計中的衝突的機制。一方面,本發明提供一種用於處理軟體設計衝突的方法,包含接收軟體設計的設 計圖,其中,設計圖包含多個節點和連接不同節點的有向邊,每個節點表示一個設計元素, 從一個節點指向另一個節點的有向邊,表示該一個節點對應的設計元素依賴於該另一個節 點對應的設計元素;識別步驟,確定設計元素在設計圖中的層次,識別設計圖的給定層次中 依賴於同一個設計元素的不同設計元素,並將它們標識為同構設計元素;輸出步驟,輸出標 識了同構設計元素的設計圖。另一方面,本發明提供一種用於處理軟體設計衝突的系統,包含接收單元,用於 接收軟體設計的設計圖,其中,設計圖包含多個節點和連接不同節點的有向邊,每個節點表 示一個設計元素,從一個節點指向另一個節點的有向邊,表示該一個節點對應的設計元素 依賴於該另一個節點對應的設計元素;識別單元,用於確定設計元素在設計圖中的層次,識 別設計圖的給定層次中依賴於同一個設計元素的不同設計元素,並將它們標識為同構設計 元素;輸出單元,用於輸出標識了同構設計元素的設計圖。利用本發明,可以按照軟體設計的架構層次自下而上地自動識別相關軟體設計之 間的衝突,以方便衝突的解決。4
通過對附圖中本發明示例實施例的更詳細描述,將使本發明的上述、以及其它目 的、特徵和優點變得更加明顯;附圖中相同或類似的標記,一般表示本發明示例性實施例中 的相同或相類似的部件或部分。

圖1示例性地表示按照本發明實施例的軟體設計系統的體系結構;圖2A-2C示意性地表示一個示例性軟體設計的設計子圖;圖3A示意性地表示包含圖2A-2C所示的設計子圖的合成設計圖;圖!3B-3F示意性地表示識別和解決軟體設計之間衝突的過程;以及圖4示意性地表示按照本發明實施例的方法的流程圖。
具體實施例方式下面參照附圖更加詳細地描述本發明的實施方式,在附圖中顯示了本發明的實施 例。然而,本發明可以以各種形式實現,而不應該理解為受到所描述的實施方式的限制。在 不妨礙所屬技術領域的技術人員理解和實施本發明的情況下,實施例和附圖中省略了與本 發明的內容沒有直接關係的部件或細節,這是為了更加突出本發明的內容,使所屬技術領 域的技術人員更清楚地理解本發明的實質。本發明識別並行設計之間衝突的基本構思是,針對分層結構的設計中的給定層, 分析不同的設計元素是否依賴相同的下層設計元素,如果是,則可能存在衝突,否則,則不 存在衝突。利用本發明,可以以自底向上的方式來識別和解決並行設計中的衝突。參看圖1,圖1表示按照本發明實施例的軟體設計系統10的體系結構。圖1所示的軟體設計系統10包含設計任務分配單元1010,設計收集和分析單元 1020和設計衝突解決單元1030。設計任務分配單元1010用於將設計任務分配給不同的設計者。系統運行時,設計 任務分配單元1010根據軟體開發的需求分析階段得出的需求說明書向設計者分配任務, 並在資料庫中對應地記錄設計任務和設計者。如圖1所示,作為設計任務分配單元1010的 輸入的需求說明書,例如可包括用例(或功能)、數據表(資料庫)、設計模型、命名規則(未 予示出)等等。用例(use case)是軟體的組成部分,或者說,一個軟體可以看作是由多個 用例構成的。在軟體設計的並行設計方式中,通常首先按照用例將設計任務分配給設計者, 然後將設計者的設計結果收集起來,合成為一個完整的設計。按照本發明的實施例,設計任務分配單元1010按照用例劃分設計任務,並將劃分 的任務分配給各個設計者。需要指出的是,設計任務的分配,可以手工完成。設計者按照設計標準完成對所分配的用例的設計,提交設計結果。所述設計標準 包括-但不限於-遵循規定的分層結構規範、命名規範和設計深度,數據訪問層的設計元素必 須與相關的資料庫或數據表連接,對用例的設計元素以及它們之間的內部關係的描述等等。設計收集和分析單元1020用於收集設計結果,並對設計結果進行衝突分析。在本 發明的上下文中,採用術語「衝突」來指設計元素之間的一種關係。兩個設計元素之間衝突, 指的是這兩個設計元素均依賴於同一個其它設計元素,例如均調用一個共同的其它設計元 素,或者均訪問同一個數劇源(例如資料庫)。關於衝突分析的細節,將在下文通過舉例作 進一步說明。
設計衝突解決單元1030用於根據設計收集和分析單元的分析結果,解決設計之 間的衝突,並在解決衝突的基礎上,得到新的設計結果。新的設計結果,可以輸出到設計收集和分析單元1020,用於進一步分析;或者可 以提供給軟體編程階段中作為編程的依據。在下文對本發明識別和解決並行設計的衝突的實施方式作更詳細的說明之前,首 先介紹一個示例性軟體設計所涉及的幾個用例,以便更好地理解對識別和解決並行設計的 衝突的實施方式的說明。用例1 用戶灃冊用例1具有以下功能用戶在平臺首頁的登錄窗口,點擊『註冊』按鈕;進入註冊頁面的角色選擇頁面,選擇要註冊的角色;a)如果選擇的角色是公司項目經理和質量管理員-點擊『同意合約』,然後點擊『確定』,就進入輸入公司帳號頁面;-輸入正確的公司管理員的用戶名和密碼,點擊確定,就進入用戶信息填寫頁面;-輸入正確的信息後,點擊確定,信息就保存成功,出現提示頁面;b)如果選擇的角色是公司管理員,則進入管理員信息頁面;c)如果選擇的角色是公司開發人員,則進入公司開發人員信息頁面;d)如果選擇的角色是個人開發者,則進入個人開發人員信息頁面;e)如果選擇的角色是個人項目管理員,則進入個人項目管理員信息頁面;f)如果選擇的角色是個人質量管理員,則進入個人質量管理人員信息頁面。為了簡要,在對上述b)_f)的各種情形的描述中省略了與a)的情形中相同的部 分,例如「輸入正確的信息後......出現提示頁面」。用例2 登錄用戶在平臺首頁的登錄窗口,輸入用戶名和密碼,點擊『登陸」按鈕;如果用戶名或密碼錯誤,進入登陸失敗頁面,否則,根據資料庫中記錄的該用戶名 的角色,如果該角色是項目經理-查詢到該用戶管理的所有項目,並將該項目顯示到項目列表頁面中;如果該角色是公司管理員-查詢到該公司下的所有項目,進入項目列表頁面;如果該角色是開發人員-查詢到該用戶下的所有任務,進入開發人員的任務列表頁面;如果該角色是質量管理人員-查詢到該用戶管理的所有項目,進入質量管理人員項目列表頁面。用例3 杳看項目以登陸的用戶的角色為項目經理為例。在項目經理的項目列表頁面,點擊項目名稱。進入項目基本信息頁面。用例4 杳看當前任務列表
項目經理在項目基本信息頁面點擊左邊導航欄中的「當前任務列表」菜單。後臺查詢當前項目下的所有任務,並顯示在當前任務列表頁面。需要指出的是,上述對用例的說明僅僅是示例性的。在後文的說明中,假設設計任 務分配單元1010將用例1的設計作為任務1分配給設計者1,將用例3和4的設計作為任 務2分配給設計者2,將用例2的設計作為任務3分配設計者3。現在以任務1為例,說明軟體設計過程中的設計結果的例子。設計者1提交的設計結果,如圖2A所示,該圖示意性地表示用例1的設計過程中 的一個設計結果的設計子圖。圖2A中所示的設計子圖,包含節點、節點之間的有向邊和節點類型。例如,附圖標 記101表示的一個名稱為「userCreateDAO」節點,通過有向邊連接到代表資料庫(DB)的 「user」節點,這表示在設計子圖對應的軟體設計中,設計元素「userCreateDAO」訪問另一 個設計元素的資料庫「user」。類似地,圖中還表示,設計元素「userCreat必ervice」 (201) 調用"userCreateDAO,,(101),設計元素 「 userAddAct ion,,(30 1)調 用 「userCreateService」(201),設計元素 「userRegister Jsp」(401)調用 「userCreateService」 (301)。位於最底層的節點「user」、「project」、「task」和「company」 表示資料庫的數據表。上述符合命名規範的設計元素的名稱中分別包含的「JSp」、「ACti0n」、「SerViCe」 和「0々0」,表示對應的設計元素的類型分別為「印」、1(^011」、「%1^(^」和「040」,它們的 含義如下表所示。
權利要求
1.一種用於處理軟體設計衝突的方法,包含接收步驟,接收軟體設計的設計圖,其中,設計圖包含多個節點和連接不同節點的有向 邊,每個節點表示一個設計元素,從一個節點指向另一個節點的有向邊,表示該一個節點對 應的設計元素依賴於該另一個節點對應的設計元素;識別步驟,確定設計元素在設計圖中的層次,識別設計圖的給定層次中依賴於同一個 設計元素的不同設計元素,並將它們標識為同構設計元素; 輸出步驟,輸出標識了同構設計元素的設計圖。
2.權利要求1的方法,其中,接收步驟接收至少兩個設計子圖,該方法進一步包含 將所述至少兩個設計子圖合併成一個合成的設計圖。
3.權利要求1的方法,其中,所述確定設計元素在設計圖中的層次,包括按照軟體架構 層次確定設計圖中設計元素的層次。
4.權利要求2的方法,其中,所述確定設計元素在設計圖中的層次,包括按照軟體架構 層次確定合成的設計圖中設計元素的層次。
5.權利要求1至4任何之一的方法,進一步包含判斷所標識的同構設計元素之間的關係是否是重複關係,如果是,則將同構設計元素 中的一個同構設計元素保留,刪除其餘的同構設計元素,並將指向被刪除同構設計元素的 節點的有向邊,改為指向被保留同構設計元素的節點。
6.一種用於處理軟體設計衝突的系統,包含接收單元,用於接收軟體設計的設計圖,其中,設計圖包含多個節點和連接不同節點的 有向邊,每個節點表示一個設計元素,從一個節點指向另一個節點的有向邊,表示該一個節 點對應的設計元素依賴於該另一個節點對應的設計元素;識別單元,用於確定設計元素在設計圖中的層次,識別設計圖的給定層次中依賴於同 一個設計元素的不同設計元素,並將它們標識為同構設計元素; 輸出單元,用於輸出標識了同構設計元素的設計圖。
7.權利要求6的系統,進一步包含合併單元,響應於接收單元接收的所接收的設計圖包含至少兩個設計子圖,將至少兩 個設計子圖合併成一個合成的設計圖提供給識別單元。
8.權利要求6的系統,其中,識別單元按照軟體架構層次確定設計圖中設計元素的層次。
9.權利要求7的系統,其中,識別單元按照軟體架構層次確定合成的設計圖中設計元素的層次。
10.權利要求6至9任何之一的系統,進一步包含刪除單元,用於將識別單元標識的多個屬於重複關係的同構設計元素之一保留,刪除 其餘的同構設計元素,並將指向被刪除同構設計元素的節點的有向邊,改為指向被保留同 構設計元素的節點。
11.權利要求6至9任何之一的系統,進一步包含設計衝突解決單元,用於根據輸出單元的輸出結果,解決軟體設計之間的衝突,從而生 成新的軟體設計。
12.權利要求11的系統,其中,設計衝突解決單元進一步將所生成的新的軟體設計,提供給接收單元。
13.權利要求11的系統,其中,如果同構設計元素之間的關係屬於重複關係,設計衝突 解決單元將多個同構設計元素中的一個同構設計元素保留,刪除其餘的同構設計元素,並 將指向被刪除同構設計元素的節點的有向邊,改為指向被保留同構設計元素的節點。
14.權利要求11的系統,其中,如果同構設計元素之間的關係屬於可合併關係,設計衝 突解決單元將同構設計元素合併成一個新的設計元素,刪除同構設計元素,並將原來連接 到被刪除同構設計元素的有向邊,改為連接到該新的設計元素。
全文摘要
本發明涉及識別和解決並行軟體設計方式下的設計結果之間的衝突,提供一種用於處理軟體設計衝突的方法和系統,該方法包含接收軟體設計的設計圖,其中,設計圖包含多個節點和連接不同節點的有向邊,每個節點表示一個設計元素,從一個節點指向另一個節點的有向邊,表示該一個節點對應的設計元素依賴於該另一個節點對應的設計元素;識別步驟,確定設計元素在設計圖中的層次,識別設計圖的給定層次中依賴於同一個設計元素的不同設計元素,並將它們標識為同構設計元素;輸出步驟,輸出標識了同構設計元素的設計圖。利用本發明,可以按照軟體設計的層次自下而上地自動識別相關軟體設計之間的衝突,以方便衝突的解決。
文檔編號G06F9/44GK102053825SQ200910211378
公開日2011年5月11日 申請日期2009年10月30日 優先權日2009年10月30日
發明者劉 英, 周欣, 朱俊, 趙偉, 黃瑩 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀