-
概念模型
鎖定
- 中文名
- 概念模型
- 外文名
- CONCEPTUAL MODEL
- 學 科
- 數學
- 包 括
- 記號等
- 性 質
- 數據模型
- 應用領域
- 數理化學
概念模型定義
概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象
[2]
。為了把現實世界中的具體事物抽象、組織為某一數據庫管理系統支持的數據模型,人們常常首先將現實世界抽象為信息世界,然後將信息世界轉換為機器世界。也就是説,首先把現實世界中的客觀對象抽象為某一種信息結構,這種信息結構並不依賴於具體的計算機系統,不是某一個數據庫管理系統(DBMS)支持的數據模型,而是概念級的模型,稱為概念模型。
概念模型簡介
概念數據模型是面向用户、面向現實世界的數據模型,是與DBMS無關的。它主要用來描述一個單位的概念化結構。採用概念數據模型,數據庫設計人員可以在設計的開始階段,把主要精力用於瞭解和描述現實世界上,而把涉及DBMS的一些技術性的問題推遲到設計階段去考慮。
由於概念模型用於信息世界的建模型,是現實世界到信息世界的第一層抽象,是用户與數據庫設計人員之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識,另一方面它還應該簡單、清晰、易於用户理解。由於概念模型在此次的迭代過程非常簡單,所以本來計劃PASS掉其中的具體分析,不過概念模型的確非常之重要,他是OOD的一個基石。除了用例,應該説概念模型是OO開發過程中另一個充滿主觀色彩的工件。
然而不同的人對同一個場景進行研究,可能提煉出來的概念模型都不一樣,所以説這是頗受主觀認識影響的一個過程。概念模型的質量對整個系統的影響至關緊要,因為,所謂的面向對象,就是從這裏開始。
一般來説,構建概念模型的過程與程序員的關係並不大。最適合進行這項活動的人,應該是那些有較深資歷的領域專家,極端一點,甚至可以就是最為熟悉自身業務流程的客户代表。只要稍稍學習簡單的建模知識,他們就可以勝任了。
概念模型構建模型
構建概念模型,需要從場景中提取各種“對系統目標有用”的概念。通常的方法是通過識別主要的領域詞彙,或者通過已有的概念目錄檢查表來查找。像“卧底”、“警察”、“黑社會”、“情報”等等,都是《無間道》這部電影裏的一些核心概念。很自然地,開始時會傾向於發展這樣一個模型:(見圖1)
這樣看起來比較直觀。“警察”和“黑幫成員”是兩個較大的概念,下面分別有較小的兩個子概念。像黃Sir和韓琛這樣的角色,是可以很直接地歸入到“正規警察”和“普通黑幫成員”的範圍中去的,而陳永仁和劉健明都分別屬於不同的卧底角色。但這樣出現了一個問題,就是陳和劉都是同時具有警察、黑幫的雙重身份(儘管一個在明,一個在暗)的人,他們都有可能同時擁有警察和黑幫的某些行為。比如陳永仁在擁有黑幫“劈友”,“收數”的行為時,也有可能執行警察“逮捕”,“救死扶傷”這樣的責任,劉健明表面上是警察,暗中也有進行黑幫“洗錢”的行為。兩個人的行為相似,但本質立場不同,怎樣在模型中表達出這樣的概念呢?
可以試試將“身份”和“行為”概念提取出來,於是建立下面這樣的一個模型(見圖2):
在這個模型中,每個人物可以機動地擁有1個以上的身份,多個行為。每個行為也可以與特定的身份掛鈎。這樣的話,對錶達不同角色的複雜身份就可以比較靈活了。對陳、劉之間的本性問題,又引入“價值觀”這樣的概念描述。但可以看到,改變後的模型複雜度提高了,尤其當人物的“行為”很多的時候,就可能會在其下面出現比較大的概念羣了。
系統的靈活性和複雜度的矛盾,是在提煉概念模型時必須慎重思考的問題。
概念模型找出模型
最好是能夠儘量充分地使用細粒度的概念來描述模型,而避免粗略描述。
概念類目 | 舉例 |
物理的或實在的對象 | 銷售點終端、飛機 |
規格説明、設計或者事物的描述 | 產品規格説明、航班描述 |
地點 | 商店、機場 |
事務 | 銷售、支付、預定 |
在線事務處理項 | 在線銷售項 |
人的角色 | 出納員、飛行員 |
包含其他事物的包容器 | 商店、銀行識別號、飛機 |
被包含在包容器內的事物 | 銷售商品項、乘客 |
系統外部的其他計算機系統或機械電子設備 | 信用卡授權系統、空中交通控制系統 |
抽象的名詞性概念 | 飢餓的人、恐高症 |
組織 | 銷售部、對象航線 |
事件 | 銷售、搶劫、會議、出航、墜機、着陸 |
過程(通常不用概念來表達,但有時也會用概念來表達過程) | 出售一個產品的過程、預定一個座位的過程 |
規則和策略 | 退貨政策、取消政策 |
目錄 | 產品目錄、零件目錄 |
財政收支、工作情況、合同等的記錄 | 收據、分類帳目、僱傭合同、維護日誌 |
金融工具和服務機構 | 信用卡、股票 |
手冊、書籍 | 僱員手冊、修理手冊 |
概念模型建模過程
1、運用概念目錄列表或名詞性短語找出問題領域中的候選概念;
2、繪製概念到概念模型圖中;
3、為概念添加關聯關係;
4、為概念添加屬性。
概念模型模型設計
概念模型不依賴於具體的計算機系統,他是純粹反映信息需求的概念結構。
建模是在需求分析結果的基礎上展開,常常要對數據進行抽象處理。常用的數據抽象方法是‘聚集’和‘概括’。
E-R方法是設計概念模型時常用的方法。用設計好的ER圖再附以相應的説明書可作為階段成果。
概念模型設計可分三步完成:
概念模型局部模型
① 確定局部概念模型的範圍;
② 定義實體;
③ 定義聯繫;
④ 確定屬性;
⑤ 逐一畫出所有的局部ER圖,並附以相應的説明文件。
概念模型全局模型
建立全局E-R圖的步驟如下:
① 確定公共實體類型;
② 合併局部E-R圖;
③ 消除不一致因素;
④ 優化全局E-R圖;
⑤ 畫出全局E-R圖,並附以相應的説明文件。
概念模型模型評審
概念模型的評審分兩部分進行:
第一部分是用户評審。
第二部分是開發人員評審。
概念模型應用
數據庫技術是計算機領域發展最快的技術之一,數據庫技術的發展是沿着數據模型為主線推進的。數據模型(Data Model)是對現實世界數據特徵的抽象,用來描述數據、組織數據和對數據進行操作。只有通過數據模型才能把現實世界的具體事務轉換到計算機數據世界之中,才能為計算機存儲和處理,所以數據模型是數據庫系統的核心和基礎。
[3]
在數據庫系統開發的不同階段,使用不同的數據模型,如圖3所示。按照數據庫系統開發流程,分別為概念模型、邏輯模型和物理模型3種。概念模型也是信息模型,即把現實世界的客觀對象抽象為某種信息結構。它是一種概念模型,是按照用户的觀點對信息建模。邏輯模型和物理模型為機器世界中DBMS所支持的數據模型,它們是計算機中數據組織、存儲和管理的基礎。邏輯模型是面向DBMS軟件開發的,主要用於DBMS的實現,關係數據庫的模型是關係模型。概念模型到邏輯模型的轉換由數據庫設計人員完成;物理模型是面向計算機系統的,主要用於選擇邏輯模型數據與聯繫在計算機內部的表示方式和存取方法,物理模型的具體實現是DBMS的任務,即邏輯模型轉換為物理模型由DBMS完成。