• 沒有找到結果。

前後版本差異分析實例…

第五章 實例說明 …

5.3 前後版本差異分析實例…

系統設計師經由利用 Visual SourceSafe 進行專案控管,並使用 Rational Rose 所繪製完成的類別圖,如圖 5-3。

圖 5-3 類別圖修改後

專案開發過程中在經過不同系統設計師的修改及變更,Visual SourceSafe 中會記錄設計檔案版本的修改歷史清單,並提供前後兩個 版本編碼差異的報告如圖 5-4。Visual SourceSafe 產生的差異報告僅 將版本間的編碼差異給擷取出來,並未對於其中給予詳細的說明。

圖 5-4 Visual SourceSafe 所提供之版本差異報告

Diffing: $/銀行信用卡/銀行系統 .mdl;3 Against: $/銀行信用卡/銀行系統.mdl;4

67 Change: (object ClassAttribute "總價"

To: (object ClassAttribute "總金額"

69 Change: (object ClassAttribute "日期"

To: (object ClassAttribute " 消費日期"

70 Change: quid "3B298BA5021D") To: quid "3B298BA5021D"))) 71 Del: (object ClassAttribute "商店名稱"

72 Del: quid "3B298C08024E"))) 86 Ins: (object Class " 會員"

87 Ins: quid "3B59044D02F5"

88 Ins: exportControl "Private"

89 Ins: operations (list Operations

90 Ins: (object Operation "查詢總額度"

91 Ins: quid "3B5904AC02C0"

92 Ins: concurrency "Sequential"

93 Ins: opExportControl "Private"

94 Ins: uid 0)

95 Ins: (object Operation "修改總額度"

96 Ins: quid "3B5904B901DA"

97 Ins: concurrency "Sequential"

98 Ins: opExportControl "Private"

99 Ins: uid 0))

100 Ins: class_attributes (list class_attribute_list 101 Ins: (object ClassAttribute "姓名"

102 Ins: quid "3B5904950383") 103 Ins: (object ClassAttribute "地址"

104 Ins: quid "3B59049D0104") 105 Ins: (object ClassAttribute " 會員編號"

106 Ins: quid "3B5904A000EB"))) 107 Ins: (object Class " 額度"

108 Ins: quid "3B5904F2035F"

109 Ins: operations (list Operations

110 Ins: (object Operation "查詢現金額度"

111 Ins: quid "3B59050C00AC"

112 Ins: concurrency "Sequential"

113 Ins: opExportControl "Public"

114 Ins: uid 0)

115 Ins: (object Operation "更改現金額度"

116 Ins: quid "3B59051B0131"

117 Ins: concurrency "Sequential"

118 Ins: opExportControl "Public"

119 Ins: uid 0))

120 Ins: class_attributes (list class_attribute_list 121 Ins: (object ClassAttribute "會員 ID"

122 Ins: quid "3B5904FA00B8") 123 Ins: (object ClassAttribute "總額度"

124 Ins: quid "3B5904FF00FC") 125 Ins: (object ClassAttribute "紅利"

126 Ins: quid "3B59050603E2")))

100 Change: client_cardinality (value cardinality "0..n"))))) To: client_cardinality (value cardinality "0..n")))) 140 Ins: (object Association " 會員"

141 Ins: quid "3B590532039A"

142 Ins: roles (list role_list 143 Ins: (object Role "$UNNAMED$2"

144 Ins: quid "3B5905330157"

145 Ins: supplier "Logical View::會員"

146 Ins: quidu "3B59044D02F5"

147 Ins: client_cardinality (value cardinality "1")) 148 Ins: (object Role "$UNNAMED$3"

149 Ins: quid "3B5905330161"

透過本系統的使用,改善 Visual SourceSafe 提供差異報告的方 式,不但可以明確的說明流程圖各版本間的實際差異如:新增、刪除、

修改某些符號外,還可以提供進一步的統計分析資訊如圖 5-5。

圖 5-5 類別圖版本差異分析報告

除了類別圖之外,利用本系統於使用案例圖與循序圖的設計繪製 上,所進行設計檔案版本修改之後,所產生版本間變更差異分析結果 如下。

Diffing:$/銀行信用卡/銀行系統.mdl Ver 3 Checked in by Vincent Against:$/銀行信用卡/銀行系統 .mdl Ver 4 Checked in by Erin 修改 Attribute "總價" 為 Attribute "總金額"

修改 Attribute "日期" 為 Attribute "消費日期"

刪除 Attribute "商店名稱"

新增 Class "會員"

新增 Operation "查詢總額度" (Private) 新增 Operation "修改總額度" (Private) 新增 Attribute "姓名"

新增 Attribute "地址"

新增 Attribute "會員編號"

新增 Class "額度"

新增 Operation "查詢現金額度" (Public) 新增 Operation "更改現金額度" (Public) 新增 Attribute "會員 ID"

新增 Attribute "總額度"

新增 Attribute "紅利"

新增 Association "會員" ("會員" <1> - "信用卡" <1..n>) 新增 Association "總額度" (" 額度" <1> - "會員" <1>)

新增 Class 2 個 新增 Attritube 6 個 修改 Attritube 2 個 刪除 Attritube 1 個 新增 Operation 4 個 新增 Association 2 個

圖 5-6 使用案例圖修改前

圖 5-7 使用案例圖修改後

圖 5-8 使用案例圖版本差異分析報告

Diffing:$/銀行信用卡/系統範圍.mdl Ver 2 Checked in by Erin Against:$/銀行信用卡/系統範圍 .mdl Ver 3 Checked in by Vincent 修改 UseCase "查詢可用額度" 為 Class "銀行行員"

新增 Actor "商家店員"

新增 UseCase "可用額度查詢"

修改 UseCase "掛失信用卡" 為 UseCase "信用卡掛失"

新增 UseCase "調整信用額度"

新增 UseCase "列印帳單"

新增 UseCase "還款"

新增 UseCase "查詢信用卡狀況"

新增 Association ("調整信用額度" - "銀行行員") 新增 Association ("列印帳單" - "銀行行員") 新增 Association ("還款" - "銀行行員")

新增 Association ("要求調整額度" - "銀行行員") 新增 Association ("查詢信用卡狀況" - "商家店員")

新增 Actor 1 個 修改 Class 2 個 新增 Association 5 個 新增 Usecase 5 個 修改 Usecase 2 個

圖 5-9 循序圖修改前

圖 5-10 循序圖修改後

圖 5-11 循序圖版本差異分析報告

Diffing:$/銀行信用卡/系統範圍.mdl Ver 4 Checked in by Vincent Against:$/銀行信用卡/系統範圍 .mdl Ver 5 Checked in by Vincent 修改 Message "查詢總額度" 為 Message "總額度查詢"

新增 Message "更改總額度"

新增 Message "預計消費"

新增 Message "查詢現金額度"

新增 Message "更改現金額度"

新增 Object "消費"

新增 Object "總額"

新增 Object 2 個 新增 Message 4 個 修改 Message 1 個

相關文件