理解了類和對象的概念之后,我們開始進行類的設計,那么,應該怎么在現(xiàn)實世界當中發(fā)現(xiàn)類呢?例如有這樣的背景:開發(fā)學生選課系統(tǒng),要求能夠單獨對學生信息、課程信息進行維護,還要求能夠維護某學生選擇某些課程。根據(jù)以上的描述,我們可以看到上面的描述中有很多名詞,例如:學生、課程等。從這些名詞當中就可以發(fā)現(xiàn)類,例如:學生類、課程類。所有的學生都有學號、姓名、性別、出生日期等屬性,所有的課程都有課程編號、課程名字等屬性。
如果我們發(fā)現(xiàn)了類,并且發(fā)現(xiàn)了類中的屬性和方法,那么應該以什么形式展現(xiàn)出來呢,在團隊協(xié)作開發(fā)中應該如何讓其他項目組成員知曉你的設計呢,恐怕這個時候就需要使用UML了。Unified Modeling Language (UML)又稱統(tǒng)一建模語言或標準建模語言,是始于1997年一個OMG標準,它是一個支持模型化和軟件系統(tǒng)開發(fā)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持,包括由需求分析到規(guī)格,到構造和配置。 面向對象的分析與設計(OOA&D,OOAD)方法的發(fā)展在80年代末至90年代中出現(xiàn)了一個高潮,UML是這個高潮的產物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對其作了進一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標準建模語言。UML規(guī)范用來描述建模的概念有:類、對象、關聯(lián)、職責、行為、接口、用例、包、順序、協(xié)作,以及狀態(tài)。
其實軟件開發(fā)和現(xiàn)實生活當中的建造大樓是一樣的,在建造大樓之前需要進行前期的設計,這個時候就需要建筑工程師畫圖紙,圖紙上畫的都是一些符合某些標準的符號,負責建筑的人員一定是能夠看懂這些標準符號的。而UML就是在軟件開發(fā)方面的一種圖標式語言,程序員在進行系統(tǒng)設計的時候,需要畫出UML建模圖,程序員根據(jù)UML建模圖進行開發(fā)。
那么能夠實現(xiàn)UML圖的工具有哪些呢?例如:IBM Rational Rose、PowerDesigner、StarUML、MS Visio等,我們接下來使用Rational Rose工具畫一個類出來。請看下圖:
圖8-2:學生類的設計
通過以上類圖,我們可以看到一個學生有學號、姓名、年齡、性別屬性,并且有一個考試的方法。其中學號采用整數(shù)型,姓名采用字符串類型,年齡采用整數(shù)型,性別采用布爾型,考試返回值類型設計為浮點型double。
請大家注意,該小節(jié)內容屬于了解內容,目前還不需要掌握怎么畫這些圖,只要知道從名詞中發(fā)現(xiàn)類,系統(tǒng)開發(fā)初期需要進行類的設計,而設計的時候就需要使用UML進行建模,了解幾個常見的建模工具就行了。