曝光臺 注意防騙
網曝天貓店富美金盛家居專營店坑蒙拐騙欺詐消費者
如果你曾經設計過關系型數據庫,可能對規格化屬性值有一定的研究:你應該明白表格中
的所有特性值應該是原子的,如果發現非原子特性,你的本能將驅使你為它創建一個新的表格。
在X M L設計中,最好忘記這些規則。復合特性值不是X M L設計中需要避免的問題。復合特性值
的例子有:由數字值和測量單位(如:米或加侖)構成的測量結果,或者由錢數和貨幣單位構
成的貨幣值。另外還有地址、地理位置和薪水歷史。最終,你會將它們分為各個組成部分,但
是層次化模型的最大特點是你可以將它們組合在一起。這也
意味著你可以暫時不考慮詳細的內部結構,而將它留至設計
過程的后續階段,這種方式有助于保持高層模型的清晰度,
并且使之易于理解。
在U M L中,你可以將對象的特性放在描述對象的框中,
如圖4 - 3所示。根據我自己的經驗,我認為文本形式的特性列
表通常更加易于維護,例如將它們存儲在電子表格中。然而,
為了便于解釋,有時也需要在示意圖中放入幾個特性,以便
說明該對象所代表的信息類型:
因此,在第4步的結尾,我們終于完成了靜態信息模型:
我們已經確定了系統中各個對象類型的定義,它們之間的關
系,以及它們的特性。
現在,我們將轉向信息建模的另一個重要方面:動態建
模,它將描述系統運行過程中對信息可能執行的操作。
4.1.5 動態建模:對數據進行哪些處理
到目前為止,我們已經了解了靜態信息模型。如果你希望使用X M L表示系統中流動的消息,
第4章數據建模與XML使用87 下載
圖4-3
還需要理解以下問題:我們將對數據進行哪些處理,這些數據來自何方,下一步要送往何處。
動態建模可以采用以下幾種方法。在一個項目中可能不會用到所有方法,因此我們不準備
像介紹靜態建模那樣提供簡單的按部就班的方法。在本節中,我們將列舉一些可選的技術,你
可以根據自己項目的特點選擇適當的方法。我們將介紹的內容有:
• 處理模型和工作流模型
• 數據流模型
• 對象模型
• 對象生存周期歷史
• 使用案例
• 對象交互圖
記住,我們的目標是爭得大家的同意,獲得眾人正確的理解:創建模型有助于大家理解系
統預期的功能。你只需要將系統中比較困難的部分模型化,而不必為系統的各個部分建立模
型。
1. 處理模型和工作流模型
處理模型和工作流模型側重于人和企業在完成任務過程中所扮演的角色,信息存儲和處理
階段是相對次要的。例如,處理模型將描述旅游者在度假過程中遇到事故時怎么辦:它定義了
旅游勝地的當地代理、本國的代理和總公司的職責,它明確了誰應該負責安排醫療、安排返程
和通知親屬。為了使整個過程順利進行,它可能還規定了要填寫和傳遞的各種表格,它或許根
本不包含任何計算機系統。處理模型通常集中于角色、責任,以及系統中各方參與者的任務,
而工作流模型更多地關注于在參與者之間傳送的文檔。
2. 數據流模型
數據流模型與處理模型非常類似,但是它更多地側重于信息系統,而不是業務。數據流模
型描述了數據存儲、處理器和數據流。數據存儲規定了將信息永久性地保留在何處(例如:
計算機數據庫,或者僅僅放在檔案柜中);處理器將對數據進行操作;數據流是指將數據從
一個處理器或數據存儲傳送到另一個處理器或數據存儲。數據流模型極其依賴于靜態信息模
型;靜態模型通過旅游者或旅館等概念的定義描述了它們的含義,但是它沒有說明信息的存
儲。相反地,數據流模型將說明有關假期的信息會一直保留在預訂數據庫中,直至假期結束
并結清所有帳目,此時,關于假期詳細情況的總結將轉移到市場信息系統,其余內容將傳送
到歸檔存儲。
3. 對象模型
對象模型包含動態部分和靜態部分。對象定義的動態部分或稱行為部分側重于每個對象能
夠做什么,它通過一組操作或方法定義了對象的行為。
就我個人而言,我并不認為行為對象模型對建模有很大的價值;它更適合作為設計工具。
因為許多事件都是與多個對象相關的(例如:旅游者到旅館登記),到底將它與其中的哪個對象
相關聯純粹屬于設計決策。
4. 對象生存周期歷史
對象生存周期歷史( U M L稱之為對象生命線)也關注于單個的對象,但是它是從整體角度
88使用XML 高級編程
下載
考慮的:它描述了每個對象在生存周期內所執行的操作—如何創建對象,在對象的生存周期
中能夠發生哪些事件,對象如何響應這些事件,什么情況使得它最終被清除。
我發現對象生存周期歷史對于測試模型的完整性非常有價值。人們常常會特別注意一些事
件,而忽視另一些事件—例如,模型可能描述了如何處理假期預訂,而忽略了如何處理取消
預訂或要求退款的情況。只有定義了每個對象如何進入系統,以及如何從系統中刪除,你才會
發現原來的考慮可能存在著紕漏。
5. 使用案例
使用案例分析了特定的用戶任務是如何完成的,例如:預訂了假期的人如何取消訂單?使
用案例可以與處理模型非常類似,但是它通常側重于特定用戶的活動。
在將業務模型化和描述I T系統的內部行為方面,用戶案例都非常有用。但是,這兩個層次
有可能混淆;你最好將這兩者分離,因為它們是針對不同的聽眾的。雖然如何發揮使用案例的
作用要根據實際情況而確定,但是我所見過的最有價值的實例是將使用案例主要應用于用戶與
系統的交互—描述對話框,例如:“用戶通過在地圖上點擊說明所希望的度假地點。系統將據
此提供旅館列表,每個旅館都配以一幅照片,并且注明了旅館的名稱和價目表。用戶可以點擊
任何旅館,進一步了解有關該旅館的信息。屏幕上顯示的信息中將包含一個按鈕,用戶可以通
過它進行預訂⋯⋯”,等等。
U M L為描述使用案例提供了圖形表示法,但是最好的方法是通過交互式原型,人們常常稱
它為s t o r y b o a r d。
中國航空網 www.k6050.com
航空翻譯 www.aviation.cn
本文鏈接地址:
XML高級編程上(37)