版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本章目標(biāo):通過本章的學(xué)習(xí),應(yīng)了解“面向?qū)ο蟆钡幕靖拍钆c特征。應(yīng)對(duì)“面向?qū)ο蟆钡南到y(tǒng)開發(fā)有一個(gè)整體的認(rèn)識(shí)。
八面向?qū)ο蟮南到y(tǒng)開發(fā)方法
引言傳統(tǒng)的“面向過程”的方法學(xué)是把世界分成兩個(gè)部分,分別認(rèn)知:1)數(shù)據(jù)(Data):用于描述各種狀態(tài)的數(shù)據(jù)結(jié)構(gòu);2)過程(Procedures):就是操作這些狀態(tài)數(shù)據(jù)的程序,有時(shí)也稱為“算法”。說得形象一些,它認(rèn)為數(shù)據(jù)是靜態(tài)的,不會(huì)自行改變的,而需要各種各樣的過程來改為數(shù)據(jù)。您還記得“數(shù)據(jù)結(jié)構(gòu)”+“算法”=程序,這一個(gè)偉大的等式嗎?這就是“面向過程”方法學(xué)的精髓。八面向?qū)ο蟮南到y(tǒng)開發(fā)方法引言舉個(gè)例子,我們要將一塊木頭從目前的位置向北搬到距原地10米的地方,我們首先會(huì)定義一個(gè)表示木頭的數(shù)據(jù)結(jié)構(gòu),存儲(chǔ)位置、質(zhì)量等狀態(tài)信息,然后再編寫一個(gè)算法操作這個(gè)表示木頭的數(shù)據(jù)結(jié)構(gòu),以達(dá)到目的。而“面向?qū)ο蟆钡姆椒▽W(xué)則認(rèn)為世界是由各種各樣的對(duì)象(object)組成的,而每一個(gè)對(duì)象都有兩個(gè)特征:狀態(tài)(也稱為屬性)與行為(也稱為方法)。說得形象一些,每個(gè)組成世界的對(duì)象都是通過自己的行為來變化自身的狀態(tài),一切變化都是對(duì)象自身、或?qū)ο箝g的協(xié)調(diào)而產(chǎn)生的
。第八章面向?qū)ο蟮南到y(tǒng)開發(fā)方法一、面向?qū)ο蟮幕靖拍?/p>
1、對(duì)象:是一種對(duì)客觀事物的抽象,它由狀態(tài)(屬性)和行為(方法)組成。
下面,我們就使用一個(gè)圖,來幫助大家認(rèn)識(shí)對(duì)象。正如圖2-1所示,我們使用一個(gè)大圓來表示一個(gè)對(duì)象,中間的一個(gè)小圓圈定義了這個(gè)對(duì)象的各種狀態(tài)信息,外面則是各種各樣的行為,通過執(zhí)行這個(gè)對(duì)象的行為,就會(huì)改變這個(gè)對(duì)象的狀態(tài)。第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?/p>
圖2-1木頭對(duì)象示意圖
第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?、類:是對(duì)象的集合也就是由所有相似對(duì)象的狀態(tài)變量(屬性變量)與行為(方法)所構(gòu)成的模板或原型。我們首先定義了“筆店”這個(gè)類,它擁有4個(gè)屬性:1)鉛筆;2)鋼筆;3)圓珠筆;4)其它筆同時(shí)還定義了三個(gè)行為:1)賣出:將屬性的值減少,表示賣出;2)進(jìn)貨:將屬性的值增加,表示進(jìn)貨;3)盤點(diǎn):打印出屬性的值;第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣鲌D2-2消息傳遞機(jī)制工作示意圖
第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?、繼承:是指一個(gè)類(即稱子類)因承襲而具有另一個(gè)類(或稱父類)的能力和特征的機(jī)制或關(guān)系。
例如,汽車中有貨車、客車、轎車……:1)用于運(yùn)輸貨物的汽車叫貨車;2)用于運(yùn)輸旅客的汽車叫客車;3)豪華的、較低矮、較小的、有錢人(:-P)坐的汽車叫轎車。而汽車、貨車、客車、轎車都是類!在本例中,汽車這個(gè)類是貨車、客車、轎車這三個(gè)類的超類(Superclass),而貨車、客車、轎車這三個(gè)類則是汽車這個(gè)類的子類(subclass)。
第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣鬟@四個(gè)類(超類與子類)的關(guān)系,可以通過下面這個(gè)圖來表示:第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?、封裝性:就是把一組數(shù)據(jù)和與其有關(guān)的操作集合組裝在一起,形成一個(gè)能動(dòng)的實(shí)體,也就是對(duì)象。例:就象電路設(shè)計(jì),以前是用一個(gè)個(gè)晶體管的,后來把能完成某一功能的晶體管做在一起封裝起來,并只提供幾只引腳,外界只能通過這些引腳而不能通過別的途徑來"訪問"內(nèi)部功能,這就成了集成電路。封裝使得一個(gè)對(duì)象具備獨(dú)立和明確的功能,并提供接口便于和其它對(duì)象作用,而其內(nèi)部的代碼和數(shù)據(jù)都是受保護(hù)的。好處不言自明。
第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?、
多態(tài)性多態(tài)性很有意思,不同的對(duì)象可以調(diào)用相同名稱的函數(shù),卻能導(dǎo)致完全不同的行為的現(xiàn)象。這在現(xiàn)實(shí)生活中也會(huì)發(fā)生,比如"我"這個(gè)對(duì)象去調(diào)用"玩電腦"這個(gè)"函數(shù)"時(shí),一般發(fā)生的是打字的行為,而"我表弟"去調(diào)用"玩電腦"這個(gè)函數(shù)時(shí),總是發(fā)生"游戲大戰(zhàn)"的行為。這是由于"玩電腦"這個(gè)函數(shù)它能根據(jù)不同的對(duì)象做出不同的反應(yīng)。我們只管"玩電腦"就行了。多態(tài)性:同一消息發(fā)送至不同類或?qū)ο罂蓪?dǎo)致不同的操作結(jié)果,使軟件開發(fā)設(shè)計(jì)更便利,編碼更靈活。
第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?、易維護(hù)性:面向?qū)ο蟮某橄蠓庋b使對(duì)象信息隱藏在局部。當(dāng)對(duì)象進(jìn)行修改,或?qū)ο笞陨懋a(chǎn)生錯(cuò)誤的時(shí)候,由此帶來的影響僅僅局限在對(duì)象內(nèi)部而不會(huì)波及其他對(duì)象乃至整個(gè)系統(tǒng)環(huán)境,這極大方便了軟件設(shè)計(jì)、構(gòu)造和運(yùn)行過程中的檢錯(cuò)、修改。第一節(jié)面向?qū)ο蟮幕靖拍罴疤卣?一)、面向?qū)ο蟮南到y(tǒng)分析面向?qū)ο蠓治鲞\(yùn)用以下主要原則:3、封裝的原則。
4、繼承性的原則。
5、構(gòu)造問題空間。
(1)區(qū)分對(duì)象及其屬性;
(2)區(qū)分整體對(duì)象及其組成部分;
(3)不同對(duì)象類的形成及區(qū)分。第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
(二)、面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)課本P194(三)、面向?qū)ο蟮南到y(tǒng)實(shí)施課本P194第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法八十年代末以來,隨著面向?qū)ο蠹夹g(shù)成為研究的熱點(diǎn)出現(xiàn)了幾十種支持軟件開發(fā)的面向?qū)ο蠓椒?。其中,布什(Booch),Coad/尤頓(Yourdon),對(duì)象模型技術(shù)(OMT)和雅寇森(Jacobson)的方法在面向?qū)ο筌浖_發(fā)界得到了廣泛的認(rèn)可。特別值得一提的是統(tǒng)一的建模語言UML(UnifiedModelingLanguage),該方法結(jié)合了Booch,OMT,和Jacobson方法的優(yōu)點(diǎn),統(tǒng)一了符號(hào)體系,并從其它的方法和工程實(shí)踐中吸收了許多經(jīng)過實(shí)際檢驗(yàn)的概念和技術(shù)。UML方法自去年提出后到現(xiàn)在已發(fā)展到1.1版,并已提交給對(duì)象管理集團(tuán)OMG,申請(qǐng)成為面向?qū)ο蠓椒ǖ臉?biāo)準(zhǔn)。第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法當(dāng)重要的對(duì)象被發(fā)現(xiàn)后,通過一組互相關(guān)聯(lián)的模型詳細(xì)表示類之間的關(guān)系和對(duì)象的行為,這些模型從四個(gè)不同的側(cè)面表示了軟件的體系結(jié)構(gòu):靜態(tài)邏輯、動(dòng)態(tài)邏輯、靜態(tài)物理和動(dòng)態(tài)物理。靜態(tài)邏輯模型描述實(shí)例化(類成員關(guān)系)、關(guān)聯(lián)、聚集(整體/部分)、和一般化(繼承)等關(guān)系。這被稱為對(duì)象模型。一般化關(guān)系表示屬性和方法的繼承關(guān)系。定義對(duì)象模型的圖形符號(hào)體系通常是從用于數(shù)據(jù)建模的實(shí)體關(guān)系圖導(dǎo)出的。對(duì)設(shè)計(jì)十分重要的約束,如基數(shù)(一對(duì)一、一對(duì)多、多對(duì)多),也在對(duì)象模型中表示。
第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法1、Booch(布什)方法(1)Booch(布什)方法的過程包括以下步驟:①在給定的抽象層次上識(shí)別類和對(duì)象②識(shí)別這些對(duì)象和類的語義③識(shí)別這些類和對(duì)象之間的關(guān)系④實(shí)現(xiàn)類和對(duì)象這四種活動(dòng)不僅僅是一個(gè)簡單的步驟序列,而是對(duì)系統(tǒng)的邏輯和物理視圖不斷細(xì)化的迭代和漸增的開發(fā)過程。
第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法1、Booch(布什)方法(2)Booch(布什)方法的力量在于其豐富的符號(hào)體系,包括:◆類圖(類結(jié)構(gòu)-靜態(tài)視圖)◆對(duì)象圖(對(duì)象結(jié)構(gòu)-靜態(tài)視圖)◆狀態(tài)轉(zhuǎn)移圖(類結(jié)構(gòu)-動(dòng)態(tài)視圖)◆時(shí)態(tài)圖(對(duì)象結(jié)構(gòu)-動(dòng)態(tài)視圖)◆模塊圖(模塊體系結(jié)構(gòu))◆進(jìn)程圖(進(jìn)程體系結(jié)構(gòu))第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法動(dòng)態(tài)模型描述系統(tǒng)那些隨時(shí)間變化的方面,其主要概念有:◆狀態(tài)◆子狀態(tài)和超狀態(tài)◆事件◆行為◆活動(dòng)第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法功能模型描述系統(tǒng)內(nèi)部數(shù)據(jù)值的轉(zhuǎn)換,其主要概念有:◆加工◆數(shù)據(jù)存儲(chǔ)◆數(shù)據(jù)流◆控制流◆角色(源/潭)第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法2、Rumbaugh(云豹)的OMT方法(4)實(shí)現(xiàn)將設(shè)計(jì)轉(zhuǎn)換為特定的編程語言或硬件,同時(shí)保持可追蹤性、靈活性和可擴(kuò)展性。第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法3、Coad/Yourdon(尤頓)方法Coad/Yourdon(尤頓)方法嚴(yán)格區(qū)分了面向?qū)ο蠓治鯫OA和面向?qū)ο笤O(shè)計(jì)OOD。該方法利用五個(gè)層次和活動(dòng)定義和記錄系統(tǒng)行為,輸入和輸出。這五個(gè)層次的活動(dòng)包括:◆發(fā)現(xiàn)類及對(duì)象。◆識(shí)別結(jié)構(gòu)?!舳x主題?!舳x屬性?!舳x服務(wù)。
第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法3、Coad/Yourdon(尤頓)方法面向?qū)ο笤O(shè)計(jì)模型需要進(jìn)一步區(qū)分以下四個(gè)部分:◆問題域部分◆人機(jī)交互部分◆任務(wù)管理部分◆數(shù)據(jù)管理部分第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法4、Jacobson(雅寇森)方法Jacobson(雅寇森)方法與上述三種方法有所不同,它涉及到整個(gè)軟件生命周期,包括需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等四個(gè)階段。在該方法中的一個(gè)關(guān)鍵概念就是usecase。usecase是指行為相關(guān)的事務(wù)(transaction)序列,該序列將由用戶在與系統(tǒng)對(duì)話中執(zhí)行。因此,每一個(gè)usecase就是一個(gè)使用系統(tǒng)的方式,當(dāng)用戶給定一個(gè)輸入,就執(zhí)行一個(gè)usecase的實(shí)例并引發(fā)執(zhí)行屬于該usecase的一個(gè)事務(wù)。第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
二、面向?qū)ο蟮南到y(tǒng)開發(fā)方法4、Jacobson(雅寇森)方法
基于這種系統(tǒng)視圖,Jacobson將usecase模型與其它五種系統(tǒng)模型關(guān)聯(lián):◆領(lǐng)域?qū)ο竽P?。usecase模型根據(jù)領(lǐng)域來表示。◆分析模型。usecase模型通過分析來構(gòu)造?!粼O(shè)計(jì)模型。usecase模型通過設(shè)計(jì)來具體化。◆實(shí)現(xiàn)模型。該模型依據(jù)具體化的設(shè)計(jì)來實(shí)現(xiàn)usecase模型?!魷y(cè)試模型。用來測(cè)試具體化的usecase模型。第二節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)方法的原理
下面我們將以Coad&Yourdon的方法為基礎(chǔ),結(jié)合工資管理實(shí)例,簡要地介紹面向?qū)ο蟮南到y(tǒng)開發(fā)過程。為了便于講述,對(duì)該例相應(yīng)做了些簡化。一、面向?qū)ο蟮南到y(tǒng)分析
(-)問題陳述開發(fā)人員對(duì)問題域的陳述是系統(tǒng)分析的基礎(chǔ)。用戶最初提出的要求通常都是不夠明確和具體,有時(shí)甚至是很含糊不清的。通過與用戶不斷交流,開發(fā)人員能夠加深對(duì)問題領(lǐng)域的認(rèn)識(shí),經(jīng)過討論、修改與補(bǔ)充,逐步明確與具體化,獲得對(duì)問題域詳盡的陳述?,F(xiàn)先將本例的要求說明陳述如下:工資管理系統(tǒng)主要對(duì)人員、工資數(shù)據(jù)來源、工資數(shù)據(jù)進(jìn)行管理,數(shù)據(jù)種類不多,數(shù)據(jù)的使用頻率也不高,但準(zhǔn)確率要求高。
第三節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)實(shí)例
系統(tǒng)需要維護(hù)和提供的信息有:(1)工資構(gòu)成信息,包括標(biāo)準(zhǔn)工資、工資性津貼、經(jīng)常性獎(jiǎng)金、加班加點(diǎn)工資、其它工資、各種代扣款項(xiàng)等;(2)人員信息,包括職工編號(hào)、姓名、人員類別、單位等;(3)工資數(shù)據(jù)來源信息,包括人事部門提供的人員變動(dòng)資料、科室班組填制并經(jīng)勞動(dòng)部門審核的考勤統(tǒng)計(jì)資料、生產(chǎn)車間提供的產(chǎn)量和質(zhì)量統(tǒng)計(jì)資料、總務(wù)后勤部門提供的房租、水電費(fèi)等代扣款資料、工會(huì)部門提供的儲(chǔ)蓄、互助金、工會(huì)會(huì)費(fèi)、住房公積金等有關(guān)資料等;(4)匯總核算信息,收集、匯總完上面所列這些工資數(shù)據(jù)后,會(huì)計(jì)人員對(duì)每一職工的工資數(shù)據(jù)進(jìn)行計(jì)算,得出每一職工的實(shí)發(fā)工資,編制出工資結(jié)算單,并根據(jù)需要編制各種統(tǒng)計(jì)表;(5)工資管理員信息,包括姓名、使用權(quán)限、密碼等。
第三節(jié)面向?qū)ο蟮南到y(tǒng)開發(fā)實(shí)例
(二)識(shí)別對(duì)象/類(P195)…(三)確定對(duì)象的屬性…(四)確定對(duì)象的服務(wù)…(五)確定對(duì)象/類的關(guān)系…二、面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)…三、面向?qū)ο蟮膶?shí)施:使用面向?qū)ο笳Z言VisualFoxPr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鼠標(biāo)課程設(shè)計(jì)報(bào)告
- 2024土地整治與棄土處理協(xié)作協(xié)議
- 2024年專業(yè)班組施工協(xié)作協(xié)議模板
- 制糖業(yè)的市場(chǎng)調(diào)研與市場(chǎng)分析考核試卷
- 2024至2030年中國電子留言器數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 《基于視覺的零件特征識(shí)別與分類方法研究與實(shí)現(xiàn)》
- 2024至2030年中國防霉漆數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024年場(chǎng)地承包商運(yùn)營協(xié)議示范文本
- 顧客對(duì)足浴服務(wù)價(jià)格敏感性分析
- 2024百貨商品銷售協(xié)議樣本
- 2023年湖北武漢中考語文真題及答案
- 教務(wù)主任競(jìng)爭(zhēng)上崗面試答辯題(精心整理)
- 機(jī)加工安全事故案例演示文稿
- 非招標(biāo)方式采購文件示范文本
- 改進(jìn)維持性血液透析患者貧血狀況PDCA
- 醫(yī)院開展老年友善醫(yī)療機(jī)構(gòu)建設(shè)工作總結(jié)
- 餐飲檔口和門店消防安全培訓(xùn)
- D500-D505 2016年合訂本防雷與接地圖集
- 幼兒園衛(wèi)生知識(shí)講座
- (完整)土地復(fù)耕實(shí)施方案
- 關(guān)于加強(qiáng)校園欺凌行為預(yù)防治理的說明報(bào)告
評(píng)論
0/150
提交評(píng)論