面向?qū)ο蠓椒▽W要點之一:認為客觀世界是由各種“對象”所組成的,任何事物都是對象,每一個對象都有自己的運動規(guī)律和內(nèi)部狀態(tài),每一個對象都屬于某個對象“類”,都是該對象類的一個元素。復雜的對象可以是相較簡單的各種對象以某種方式而構成的。不同對象的組合及相互作用就構成了我們要研究、分析和構造的客觀系統(tǒng)。
面向?qū)ο蠓椒▽W要點之二:通過類比,發(fā)現(xiàn)對象間的相似性,即對象間的共同屬性,這就是構成對象類的依據(jù)。在由“類”、“父類”、“子類”的概念構成對象類的層次關系時,若不加特殊說明,則處在下一層次上的對象可自然地繼承位于上一層次上的對象的屬性。
面向?qū)ο蠓椒▽W要點之三:認為對已分成類的各個對象,可以通過定義一組“方法”來說明該對象的功能,即允許作用于該對象上的各種操作。對象間的相互聯(lián)系是通過傳遞“消息”來完成的,消息就是通知對象去完成一個允許作用于該對象的操作,至于該對象將如何完成這個操作的細節(jié),則是封裝在相應的對象類的定義中的,細節(jié)對于外界是隱蔽的。
可見,00方法具有很強的類的概念,因此它就能很自然,直觀地模擬人類認識客觀世界的方式,亦即模擬人類在認知進程中的由般到特殊的演繹 功能或由特殊到一般的歸納功能,類的概念既反映出對象的本質(zhì)屬性,又提供了實現(xiàn)對象共享機制的理論根據(jù)。
當我們遵照面向?qū)ο蠓椒▽W的思想進行軟件系統(tǒng)開發(fā)時,首先要行面向?qū)ο蟮姆治?Object Oriented Analysis, O0A),其任務是了解問題域所涉及的對象、對象間的關系和作用(即操作),然后構造問題的對象模型,力爭該模型能真實地反映出所要解決的“實質(zhì)問題”。在這一過程中,抽象是最本質(zhì)、最重要的方法。針對不同的問題性質(zhì)選擇不同的抽象層次,過簡或過繁都會影響到對問題的本質(zhì)屬性的了解和解決。
其次就是進行面向?qū)ο蟮脑O計(Object Oriented Design, O0D),即設計軟件的對象模型。根據(jù)所應用的面向?qū)ο筌浖_發(fā)環(huán)境的功能強弱不等,在對問題的對象模型的分析基礎上,可能要對它進行一定的改造,但應以最少改變原問題域的對象模型為原則。然后就在軟件系統(tǒng)內(nèi)設設計各個對象、對象間的關系(如層次關系、繼承關系等)、對象間的通信方式(如消息模式)等,總之是設計各個對象應做些什么。
最后階段是面向?qū)ο蟮膶崿F(xiàn)( Object Oriented Implementation,OO1),即指軟件功能的編碼實現(xiàn),它包括:每個對象的內(nèi)部功能的實現(xiàn)確立對象哪一些處理能力應在哪些類中進行描述:確定并實現(xiàn)系統(tǒng)的界面、輸出的形式及其他控制機理等,總之是實現(xiàn)在OOD階段所規(guī)定的各個對象所應完成的任務。
用O0方法進行面向?qū)ο蟪绦蛟O計,其基本步驟如下:
①分析確定在問題空間和解空間出現(xiàn)的全部對象及其屬性;
②)確定應施加于每個對象的操作,即對象固有的處理能力
③分析對象間的聯(lián)系,確定對象彼此間傳遞的消息
④設計對象的消息模式,消息模式和處理能力共同構成對象的外部特性
⑤分析各個對象的外部特性,將具有相同外部特性的對象歸為一類,從而確定所需要的類
⑥確定類間的繼承關系,將各對象的公共性質(zhì)放在較上層的類中描述,通過繼承來對公共性質(zhì)的描述
⑦設計每個類關于對象外部特性的描述
③設計每個類的內(nèi)部實現(xiàn)(數(shù)據(jù)結構和方法)
⑨創(chuàng)建所需的對象(類的實例),實現(xiàn)對象間應有的聯(lián)系(發(fā)消息)2.23、面向?qū)ο箝_發(fā)方法的開發(fā)過程
采用面向?qū)ο箝_發(fā)方法開發(fā)一個信息系統(tǒng),可以分為下列幾個階段:1.系統(tǒng)調(diào)查和需求分析
對網(wǎng)站建設系統(tǒng)將要面臨的具體管理問題以及用戶對系統(tǒng)開發(fā)的需求進行調(diào)査研究,即先弄清要干什么的問題。
本文地址:http://www.khwajamoinuddinchishty.com//article/3706.html