數據對象
數據對象
數據對象是必須由軟體理解的複合信息表示。數據對象可能是外部實體、事物、偶發事件或事件、角色、組織單位、地點或結構等。例如,一個人或一部車可以被認為是數據對象,在某種意義上它們可以用一組屬性來定義。數據對象描述包括了數據對象及其所有屬性。數據對象只封裝數據(沒有對數據的操作)。
在應用程序中引用的任何數據結構元素,如文件、數據、變數等都稱為數據對象,簡稱為對象。它是使用編程語言允許的字元命名。在Fortran90或95中,數據對象是一種數據實體,它是一個常量、一個變數或常量的子對象。FORTRAN語言處理的數據對象都有類型(顯式或隱式地規定)、數據值和屬性(對象的特徵和被使用的方式)。子對象是某些有名對象的一部分,可由其他部分引用和獨立地定義。子對象包括數組的部分(數組元素)、字元串的部分(子串)和結構的部分(成分)。
數據屬性定義了數據對象的性質,可以用來:①為數據對象的實例命名:②描述這個實例:③建立對另一個表中的另一個實例的引用。另外,必須把一個或多個屬性定義為標識符。也就是說,當要找到數據對象的一個實例時,標識符屬性成為一個“鍵”。在某些情況下,標識符的值是唯一的,但不是必需的。在數據對象“汽車”的例子中,標識號是一個合理的標識符。
通過對問題環境的理解,可以恰當地確定特定數據對象的一組屬性。“汽車”的屬性可以用於汽車運輸部門的應用系統,而汽車製造公司需要製造中的控制軟體。在後一種情況下,“汽車”的屬性可能也包括標識號、車體類型和顏色,但為了使汽車在製造的控制環境下成為一個有用的對象,必須增加許多其他屬性(如內部代碼、驅動系統類型、車內包裝設計師和傳動類型等)。
數據對象彼此之間相互連接的方式稱為聯繫,也稱為關係。二元聯繫即只有兩個實體型參與的聯繫,可分為三種類型:
(1) 一對一聯繫
例如,一個部門有一個經理.而每個經理只在一個部門任職,則部門和經理這兩個實體的聯繫是一對一的;一個人只能擁有一張有效的身份證,一張身份證也只對應一個法律意義上的人,個人和身份證這兩個實體的聯繫是一對一的;一個班級有一位班長.一個班長只能在一個班級任職,班級和班長這兩個實體的聯繫是一對一的。
從上面的例子,我們可以得出結論:如果對於實體集A中的每一個實體.實體集B中至多有一個實體與之聯繫,反之亦然.那麼實體集A與實體集B具有一對一聯繫。
(2) 一對多聯繫
例如,一個班級有多個班幹部,一個班幹部只能在一個班級任職,班級和班幹部這兩個實體的聯繫是一對多的;一個班級有多名學生,一名學生只能在一個班級中,班級和學生這兩個實體的聯繫是一對多的;一種商品類別包含多種商品。一種商品只屬於一個商品類別,商品類別和商品這兩個實體的聯繫是一對多的。
(3) 多對多聯繫
例如,一個出版社可以出版多種書.每一種書可以由多個出版社出版,出版社和書這兩個實體的聯繫是多對多的;一個學生可以選修多門課,一門課可以有多個學生選修,學生和課程這兩個實體之間的聯繫是多對多的。
輔助數據對象也是系統服務對象,主要任務是反映和記錄系統中所使用的基礎數據和常用不變的數據,根據實際需要可以增加必要的數據對象,下面列出幾個常用的輔助數據對象。
(1)設施設備。設備對象是指與監理業務相關並且可用的設施設備實體,其屬性有:設備編號、設備名稱、功能說明、規格型號、庫存數量、購置日期、設備單價、計量單位、備註說明等。
(2)往來單位。往來單位對象是指與建設工程、監理業務相關的實體,其屬性有:單位編號、單位名稱、單位地址、單位類型、聯繫人員、負責人、聯繫電話、備註說明等。
(3)往來單位類型。往來單位類型是動態反映往來單位特徵和性質的延伸對象,服務於往來單位對象,其屬性有:單位類別編號、單位類別名稱、備註說明等。
另外,還有許多輔助數據對象,人員、工程級別等,根據系統需要,例如之前已介紹過的工程性質、系統用戶和可隨時增加所需要的輔助數據對象。