管理信息系統(tǒng)八面向對象的系統(tǒng)開發(fā)方法課件_第1頁
管理信息系統(tǒng)八面向對象的系統(tǒng)開發(fā)方法課件_第2頁
管理信息系統(tǒng)八面向對象的系統(tǒng)開發(fā)方法課件_第3頁
管理信息系統(tǒng)八面向對象的系統(tǒng)開發(fā)方法課件_第4頁
管理信息系統(tǒng)八面向對象的系統(tǒng)開發(fā)方法課件_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

本章目標:通過本章的學習,應了解“面向對象”的基本概念與特征。應對“面向對象”的系統(tǒng)開發(fā)有一個整體的認識。

八面向對象的系統(tǒng)開發(fā)方法

引言傳統(tǒng)的“面向過程”的方法學是把世界分成兩個部分,分別認知:1)數(shù)據(jù)(Data):用于描述各種狀態(tài)的數(shù)據(jù)結構;2)過程(Procedures):就是操作這些狀態(tài)數(shù)據(jù)的程序,有時也稱為“算法”。說得形象一些,它認為數(shù)據(jù)是靜態(tài)的,不會自行改變的,而需要各種各樣的過程來改為數(shù)據(jù)。您還記得“數(shù)據(jù)結構”+“算法”=程序,這一個偉大的等式嗎?這就是“面向過程”方法學的精髓。八面向對象的系統(tǒng)開發(fā)方法引言舉個例子,我們要將一塊木頭從目前的位置向北搬到距原地10米的地方,我們首先會定義一個表示木頭的數(shù)據(jù)結構,存儲位置、質量等狀態(tài)信息,然后再編寫一個算法操作這個表示木頭的數(shù)據(jù)結構,以達到目的。而“面向對象”的方法學則認為世界是由各種各樣的對象(object)組成的,而每一個對象都有兩個特征:狀態(tài)(也稱為屬性)與行為(也稱為方法)。說得形象一些,每個組成世界的對象都是通過自己的行為來變化自身的狀態(tài),一切變化都是對象自身、或對象間的協(xié)調而產生的

。第八章面向對象的系統(tǒng)開發(fā)方法一、面向對象的基本概念

1、對象:是一種對客觀事物的抽象,它由狀態(tài)(屬性)和行為(方法)組成。

下面,我們就使用一個圖,來幫助大家認識對象。正如圖2-1所示,我們使用一個大圓來表示一個對象,中間的一個小圓圈定義了這個對象的各種狀態(tài)信息,外面則是各種各樣的行為,通過執(zhí)行這個對象的行為,就會改變這個對象的狀態(tài)。第一節(jié)面向對象的基本概念及特征

圖2-1木頭對象示意圖

第一節(jié)面向對象的基本概念及特征2、類:是對象的集合也就是由所有相似對象的狀態(tài)變量(屬性變量)與行為(方法)所構成的模板或原型。我們首先定義了“筆店”這個類,它擁有4個屬性:1)鉛筆;2)鋼筆;3)圓珠筆;4)其它筆同時還定義了三個行為:1)賣出:將屬性的值減少,表示賣出;2)進貨:將屬性的值增加,表示進貨;3)盤點:打印出屬性的值;第一節(jié)面向對象的基本概念及特征圖2-2消息傳遞機制工作示意圖

第一節(jié)面向對象的基本概念及特征4、繼承:是指一個類(即稱子類)因承襲而具有另一個類(或稱父類)的能力和特征的機制或關系。

例如,汽車中有貨車、客車、轎車……:1)用于運輸貨物的汽車叫貨車;2)用于運輸旅客的汽車叫客車;3)豪華的、較低矮、較小的、有錢人(:-P)坐的汽車叫轎車。而汽車、貨車、客車、轎車都是類!在本例中,汽車這個類是貨車、客車、轎車這三個類的超類(Superclass),而貨車、客車、轎車這三個類則是汽車這個類的子類(subclass)。

第一節(jié)面向對象的基本概念及特征這四個類(超類與子類)的關系,可以通過下面這個圖來表示:第一節(jié)面向對象的基本概念及特征5、封裝性:就是把一組數(shù)據(jù)和與其有關的操作集合組裝在一起,形成一個能動的實體,也就是對象。例:就象電路設計,以前是用一個個晶體管的,后來把能完成某一功能的晶體管做在一起封裝起來,并只提供幾只引腳,外界只能通過這些引腳而不能通過別的途徑來"訪問"內部功能,這就成了集成電路。封裝使得一個對象具備獨立和明確的功能,并提供接口便于和其它對象作用,而其內部的代碼和數(shù)據(jù)都是受保護的。好處不言自明。

第一節(jié)面向對象的基本概念及特征6、

多態(tài)性多態(tài)性很有意思,不同的對象可以調用相同名稱的函數(shù),卻能導致完全不同的行為的現(xiàn)象。這在現(xiàn)實生活中也會發(fā)生,比如"我"這個對象去調用"玩電腦"這個"函數(shù)"時,一般發(fā)生的是打字的行為,而"我表弟"去調用"玩電腦"這個函數(shù)時,總是發(fā)生"游戲大戰(zhàn)"的行為。這是由于"玩電腦"這個函數(shù)它能根據(jù)不同的對象做出不同的反應。我們只管"玩電腦"就行了。多態(tài)性:同一消息發(fā)送至不同類或對象可導致不同的操作結果,使軟件開發(fā)設計更便利,編碼更靈活。

第一節(jié)面向對象的基本概念及特征7、易維護性:面向對象的抽象封裝使對象信息隱藏在局部。當對象進行修改,或對象自身產生錯誤的時候,由此帶來的影響僅僅局限在對象內部而不會波及其他對象乃至整個系統(tǒng)環(huán)境,這極大方便了軟件設計、構造和運行過程中的檢錯、修改。第一節(jié)面向對象的基本概念及特征(一)、面向對象的系統(tǒng)分析面向對象分析運用以下主要原則:3、封裝的原則。

4、繼承性的原則。

5、構造問題空間。

(1)區(qū)分對象及其屬性;

(2)區(qū)分整體對象及其組成部分;

(3)不同對象類的形成及區(qū)分。第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

(二)、面向對象的系統(tǒng)設計課本P194(三)、面向對象的系統(tǒng)實施課本P194第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法八十年代末以來,隨著面向對象技術成為研究的熱點出現(xiàn)了幾十種支持軟件開發(fā)的面向對象方法。其中,布什(Booch),Coad/尤頓(Yourdon),對象模型技術(OMT)和雅寇森(Jacobson)的方法在面向對象軟件開發(fā)界得到了廣泛的認可。特別值得一提的是統(tǒng)一的建模語言UML(UnifiedModelingLanguage),該方法結合了Booch,OMT,和Jacobson方法的優(yōu)點,統(tǒng)一了符號體系,并從其它的方法和工程實踐中吸收了許多經過實際檢驗的概念和技術。UML方法自去年提出后到現(xiàn)在已發(fā)展到1.1版,并已提交給對象管理集團OMG,申請成為面向對象方法的標準。第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法當重要的對象被發(fā)現(xiàn)后,通過一組互相關聯(lián)的模型詳細表示類之間的關系和對象的行為,這些模型從四個不同的側面表示了軟件的體系結構:靜態(tài)邏輯、動態(tài)邏輯、靜態(tài)物理和動態(tài)物理。靜態(tài)邏輯模型描述實例化(類成員關系)、關聯(lián)、聚集(整體/部分)、和一般化(繼承)等關系。這被稱為對象模型。一般化關系表示屬性和方法的繼承關系。定義對象模型的圖形符號體系通常是從用于數(shù)據(jù)建模的實體關系圖導出的。對設計十分重要的約束,如基數(shù)(一對一、一對多、多對多),也在對象模型中表示。

第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法1、Booch(布什)方法(1)Booch(布什)方法的過程包括以下步驟:①在給定的抽象層次上識別類和對象②識別這些對象和類的語義③識別這些類和對象之間的關系④實現(xiàn)類和對象這四種活動不僅僅是一個簡單的步驟序列,而是對系統(tǒng)的邏輯和物理視圖不斷細化的迭代和漸增的開發(fā)過程。

第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法1、Booch(布什)方法(2)Booch(布什)方法的力量在于其豐富的符號體系,包括:◆類圖(類結構-靜態(tài)視圖)◆對象圖(對象結構-靜態(tài)視圖)◆狀態(tài)轉移圖(類結構-動態(tài)視圖)◆時態(tài)圖(對象結構-動態(tài)視圖)◆模塊圖(模塊體系結構)◆進程圖(進程體系結構)第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法動態(tài)模型描述系統(tǒng)那些隨時間變化的方面,其主要概念有:◆狀態(tài)◆子狀態(tài)和超狀態(tài)◆事件◆行為◆活動第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法功能模型描述系統(tǒng)內部數(shù)據(jù)值的轉換,其主要概念有:◆加工◆數(shù)據(jù)存儲◆數(shù)據(jù)流◆控制流◆角色(源/潭)第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法(4)實現(xiàn)將設計轉換為特定的編程語言或硬件,同時保持可追蹤性、靈活性和可擴展性。第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法3、Coad/Yourdon(尤頓)方法Coad/Yourdon(尤頓)方法嚴格區(qū)分了面向對象分析OOA和面向對象設計OOD。該方法利用五個層次和活動定義和記錄系統(tǒng)行為,輸入和輸出。這五個層次的活動包括:◆發(fā)現(xiàn)類及對象。◆識別結構?!舳x主題。◆定義屬性?!舳x服務。

第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法3、Coad/Yourdon(尤頓)方法面向對象設計模型需要進一步區(qū)分以下四個部分:◆問題域部分◆人機交互部分◆任務管理部分◆數(shù)據(jù)管理部分第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法4、Jacobson(雅寇森)方法Jacobson(雅寇森)方法與上述三種方法有所不同,它涉及到整個軟件生命周期,包括需求分析、設計、實現(xiàn)和測試等四個階段。在該方法中的一個關鍵概念就是usecase。usecase是指行為相關的事務(transaction)序列,該序列將由用戶在與系統(tǒng)對話中執(zhí)行。因此,每一個usecase就是一個使用系統(tǒng)的方式,當用戶給定一個輸入,就執(zhí)行一個usecase的實例并引發(fā)執(zhí)行屬于該usecase的一個事務。第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

二、面向對象的系統(tǒng)開發(fā)方法4、Jacobson(雅寇森)方法

基于這種系統(tǒng)視圖,Jacobson將usecase模型與其它五種系統(tǒng)模型關聯(lián):◆領域對象模型。usecase模型根據(jù)領域來表示。◆分析模型。usecase模型通過分析來構造。◆設計模型。usecase模型通過設計來具體化。◆實現(xiàn)模型。該模型依據(jù)具體化的設計來實現(xiàn)usecase模型。◆測試模型。用來測試具體化的usecase模型。第二節(jié)面向對象的系統(tǒng)開發(fā)方法的原理

下面我們將以Coad&Yourdon的方法為基礎,結合工資管理實例,簡要地介紹面向對象的系統(tǒng)開發(fā)過程。為了便于講述,對該例相應做了些簡化。一、面向對象的系統(tǒng)分析

(-)問題陳述開發(fā)人員對問題域的陳述是系統(tǒng)分析的基礎。用戶最初提出的要求通常都是不夠明確和具體,有時甚至是很含糊不清的。通過與用戶不斷交流,開發(fā)人員能夠加深對問題領域的認識,經過討論、修改與補充,逐步明確與具體化,獲得對問題域詳盡的陳述?,F(xiàn)先將本例的要求說明陳述如下:工資管理系統(tǒng)主要對人員、工資數(shù)據(jù)來源、工資數(shù)據(jù)進行管理,數(shù)據(jù)種類不多,數(shù)據(jù)的使用頻率也不高,但準確率要求高。

第三節(jié)面向對象的系統(tǒng)開發(fā)實例

系統(tǒng)需要維護和提供的信息有:(1)工資構成信息,包括標準工資、工資性津貼、經常性獎金、加班加點工資、其它工資、各種代扣款項等;(2)人員信息,包括職工編號、姓名、人員類別、單位等;(3)工資數(shù)據(jù)來源信息,包括人事部門提供的人員變動資料、科室班組填制并經勞動部門審核的考勤統(tǒng)計資料、生產車間提供的產量和質量統(tǒng)計資料、總務后勤部門提供的房租、水電費等代扣款資料、工會部門提供的儲蓄、互助金、工會會費、住房公積金等有關資料等;(4)匯總核算信息,收集、匯總完上面所列這些工資數(shù)據(jù)后,會計人員對每一職工的工資數(shù)據(jù)進行計算,得出每一職工的實發(fā)工資,編制出工資結算單,并根據(jù)需要編制各種統(tǒng)計表;(5)工資管理員信息,包括姓名、使用權限、密碼等。

第三節(jié)面向對象的系統(tǒng)開發(fā)實例

(二)識別對象/類(P195)…(三)確定對象的屬性…(四)確定對象的服務…(五)確定對象/類的關系…二、面向對象的系統(tǒng)設計…三、面向對象的實施:使用面向對象語言VisualFoxPr

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論