求真百科歡迎當事人提供第一手真實資料,洗刷冤屈,終結網路霸凌。

概念模型檢視原始碼討論檢視歷史

事實揭露 揭密真相
前往: 導覽搜尋

來自 搜狐網 的圖片

概念模型是中國的一個科技名詞。

漢字是世界上獨一無二的方塊字[1],是世界上最典雅、最俊美的文字。四角方方,大氣承當。四平八穩,神州永昌。她講究字體的間架結構,平衡布局。也講求字形的沉穩厚重,大氣端莊。橫要平豎則直,切不可頭重腳輕根底輕飄[2]

名詞解釋

概念模型用於信息世界的建模,是現實世界到信息世界的第一層抽象。為了把現實世界中的具體事物抽象、組織為某一數據管理系統支持的數據模型,人們常常首先將現實世界抽象為信息世界,然後將信息世界轉換為機器世界。也就是說,首先把現實世界中的客觀對象抽象為某一種信息結構,這種信息結構並不依賴於具體的計算機系統,不是某一個數據庫管理系統(DBMS)支持的數據模型,而是概念級的模型,稱為概念模型。

概念數據模型是面向用戶、面向現實世界的數據模型,是與DBMS無關的。它主要用來描述一個單位的概念化結構。採用概念數據模型,數據庫設計人員可以在設計的開始階段,把主要精力用於了解和描述現實世界上,而把涉及DBMS的一些技術性的問題推遲到設計階段去考慮。

由於概念模型用於信息世界的建模型,是現實世界到信息世界的第一層抽象,是用戶與數據庫設計人員之間進行交流的語言,因此概念模型一方面應該具有較強的語義表達能力,能夠方便、直接地表達應用中的各種語義知識,另一方面它還應該簡單、清晰、易於用戶理解。由於概念模型在此次的迭代過程非常簡單,所以本來計劃PASS掉其中的具體分析,不過概念模型的確非常之重要,他是OOD的一個基石。除了用例,應該說概念模型是OO開發過程中另一個充滿主觀色彩的工件。

然而不同的人對同一個場景進行研究,可能提煉出來的概念模型都不一樣,所以說這是頗受主觀認識影響的一個過程。概念模型的質量對整個系統的影響至關緊要,因為,所謂的面向對象,就是從這裡開始。

一般來說,構建概念模型的過程與程序員的關係並不大。最適合進行這項活動的人,應該是那些有較深資歷的領域專家,極端一點,甚至可以就是最為熟悉自身業務流程的客戶代表。只要稍稍學習簡單的建模知識,他們就可以勝任了。

構建模型

構建概念模型,需要從場景中提取各種「對系統目標有用」的概念。通常的方法是通過識別主要的領域詞彙,或者通過已有的概念目錄檢查表來查找。像「臥底」、「警察」、「黑社會」、「情報」等等,都是《無間道》這部電影裡的一些核心概念。很自然地,開始時會傾向於發展這樣一個模型:

這樣看起來比較直觀。「警察」和「黑幫成員」是兩個較大的概念,下面分別有較小的兩個子概念。像黃Sir和韓琛這樣的角色,是可以很直接地歸入到「正規警察」和「普通黑幫成員」的範圍中去的,而陳永仁和劉健明都分別屬於不同的臥底角色。但這樣出現了一個問題,就是陳和劉都是同時具有警察、黑幫的雙重身份(儘管一個在明,一個在暗)的人,他們都有可能同時擁有警察和黑幫的某些行為。比如陳永仁在擁有黑幫「劈友」,「收數」的行為時,也有可能執行警察「逮捕」,「救死扶傷」這樣的責任,劉健明表面上是警察,暗中也有進行黑幫「洗錢」的行為。兩個人的行為相似,但本質立場不同,怎樣在模型中表達出這樣的概念呢?

可以試試將「身份」和「行為」概念提取出來,於是建立下面這樣的一個模型:

在這個模型中,每個人物可以機動地擁有1個以上的身份,多個行為。每個行為也可以與特定的身份掛鈎。這樣的話,對表達不同角色的複雜身份就可以比較靈活了。對陳、劉之間的本性問題,又引入「價值觀」這樣的概念描述。但可以看到,改變後的模型複雜度提高了,尤其當人物的「行為」很多的時候,就可能會在其下面出現比較大的概念群了。

系統的靈活性和複雜度的矛盾,是在提煉概念模型時必須慎重思考的問題。

參考文獻