|
這個例子討論了8個UML圖表類型如何模型化一個汽車租賃機構(gòu)的軟件系統(tǒng)的。從三個簡單的使用情況出發(fā),示例捕獲了系統(tǒng)的核心過程。 使用事件表 使用事例表表明了用戶和系統(tǒng)的交互作用,在這個系統(tǒng)中用戶能實現(xiàn)一個目標。 客戶預(yù)約汽車 在獲得汽車前,客戶必須進行預(yù)約??蛻襞c租賃機構(gòu)聯(lián)系,作了請求。租賃機構(gòu)根據(jù)一些標準接受或拒絕請求,如汽車是否存在,或客戶的租賃歷史。如何預(yù)約被接受,租賃機構(gòu)完成包含客戶詳細情況的表格。保證金交付后完成預(yù)約。 客戶得到汽車 當客戶到達租賃機構(gòu)后,租賃機構(gòu)根據(jù)目前的庫存水平分配客戶請求的某類型的汽車。在付完全部費用后,客戶收到汽車。 客戶返還汽車 在租賃協(xié)議上指定的日期,客戶將汽車返還租賃機構(gòu)。 下面的圖形描述了三個使用事件的使用事件表。 靜態(tài)結(jié)構(gòu)(類)圖表 下面的任務(wù)是對涉及到的對象和它們的關(guān)系進行分類。檢查使用事件有助于識別類別。使用靜態(tài)結(jié)構(gòu),或類,顯示系統(tǒng)整體結(jié)構(gòu)的圖表,及關(guān)系和行為屬性,可以對對象的類進行模型化。 在類圖表中,汽車租賃系統(tǒng)涉及到的對象被劃分為不同的類。每個類包含一個名字部分和屬性部分。有些類也包含操作部分,指出類中對象的行為。 在客戶中,屬性包括名字,電話號碼,駕駛執(zhí)照和地址。需要出生日期來確定客戶是否滿足租賃汽車的最低年齡要求。客戶類還存儲操作,預(yù)約。 類圖表支持繼承。例如,在下面的這個圖中,Mechanic 和 Rental Agent類繼承了Employee的屬性,如名字和地址。 順序圖表 順序圖表提供了使用事件的詳細視圖。它按時間順序顯示了相互作用,有助于文檔化應(yīng)用程序的邏輯。顯示了參與的雙方及它們之間傳遞的消息。在一個綜合軟件系統(tǒng)中,順序圖表可以相當詳細的,可以包含上千條消息。 假定一個客戶要預(yù)約一個汽車。租賃機構(gòu)必須首先檢查客戶的記錄以確保能夠進行租賃。如果客戶以前從公司租過汽車,他或她的租賃歷史將被記錄,機構(gòu)只需確保以前所有交易運行的很好。例如,機構(gòu)要確認客戶以前所租的汽車能按時返還。一旦客戶的租賃情況得到批準,租賃機構(gòu)就可以批準租賃預(yù)約。這個過程可以表示在順序圖表中 協(xié)作圖表 協(xié)作圖表是另一類型的交互圖表。與順序圖表相似,它顯示了使用事件中的一組對象如何與另一組協(xié)作。每個消息都被標上的序號以顯示它發(fā)生的順序。 狀態(tài)圖表 一個對象的狀態(tài)由某個時刻的屬性決定。對象在外部刺激的影響下在不同的狀態(tài)間轉(zhuǎn)換。狀態(tài)圖表映射這些狀態(tài)及使對象處于特定狀態(tài)的激發(fā)事件。例如,在租賃系統(tǒng)中,對象是汽車。 當汽車在租賃系統(tǒng)中轉(zhuǎn)移時,它的狀態(tài)生成復(fù)雜但具有說明性的圖表。例如,它首先輥加入到車隊中。直到被租賃前它一直處于InStock狀態(tài)。在租賃結(jié)束后,汽車返回車隊,又進入InStock狀態(tài)。在它的商業(yè)生命的不同時刻,汽車需要修理(InService)。當汽車到達使用期限后,它被賣掉或被分解以生產(chǎn)新汽車。 活動圖表 活動圖表顯示了與發(fā)生的活動相對應(yīng)的邏輯?;顒訄D表與一個特定的類或使用事件相關(guān),顯示了執(zhí)行特定操作涉及到的步驟。 組件圖表 組件圖表顯示了組成系統(tǒng)整個結(jié)構(gòu)的不同的軟件子系統(tǒng),它構(gòu)建在一個中心數(shù)據(jù)庫上,此數(shù)據(jù)庫包含了過去的租賃記錄,汽車詳細情況,服務(wù)記錄,客戶和雇員的詳細情況。這些數(shù)據(jù)被集中到一個數(shù)據(jù)庫中是很重要的,因為庫存水平是按小時發(fā)生變化的,所有部分必須有精確到分鐘的詳細信息。對數(shù)據(jù)保持最新狀態(tài)需要對所有部分的信息進行實現(xiàn)更新。此例的軟件子系統(tǒng)包括汽車記錄,服務(wù)記錄,銷售記錄,客戶記錄和雇員記錄。 部署圖表 部署圖表顯示系統(tǒng)中的軟件和硬件如何配置。租賃機構(gòu)需要帶有中心數(shù)據(jù)庫的員工可訪問的客戶/服務(wù)器系統(tǒng)。租賃機構(gòu)需要訪問存在的汽車的數(shù)據(jù)。同時,機構(gòu)要能將一個特定的汽車標記為處于InService狀態(tài)。 自由模型 許多客戶也需要將其它圖形元素增加到他們應(yīng)用程序模型的UML圖表中。因為Visual Studio .NET包含了基于Visio的模型工具,所以它支持自由建模,如流動圖表或其它非語義圖表,它還能夠在一個模型中包含任何圖片。這就為客戶與他們的應(yīng)用程序結(jié)構(gòu)和功能通訊提供了靈活性。Visio與其它微軟辦公應(yīng)用程序的緊密結(jié)合使開發(fā)小組能通過Word和電子郵件共享Visual Studio .NET生成的模型和圖表。 總結(jié) 在應(yīng)用程序的生命周期,不同技術(shù)背景的人需要交互與聯(lián)系以成功完成創(chuàng)建一個新應(yīng)用程序的共同目標。Visual Studio .NET提供了關(guān)鍵特性--工業(yè)標準的軟件模型和豐富的自由圖表化能力--用于描述和與結(jié)構(gòu)進行通訊。客戶使用這些特性將有效地在開發(fā)隊伍間進行通訊,結(jié)果會增加開發(fā)人員的效率,機構(gòu)中軟件項目的成功率。
信息發(fā)布:廣州名易軟件有限公司 http://www.jetlc.com
|