面向?qū)ο筌浖_發(fā)事例1_第1頁
面向?qū)ο筌浖_發(fā)事例1_第2頁
面向?qū)ο筌浖_發(fā)事例1_第3頁
面向?qū)ο筌浖_發(fā)事例1_第4頁
面向?qū)ο筌浖_發(fā)事例1_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、n軟件軟件開發(fā)原理開發(fā)原理 n面向?qū)ο蟮母拍蠲嫦驅(qū)ο蟮母拍?n面向?qū)ο蠓治雒嫦驅(qū)ο蠓治?OOA) n面向?qū)ο笤O(shè)計面向?qū)ο笤O(shè)計(OOD) n事例學(xué)習(xí)事例學(xué)習(xí): 電梯控制系統(tǒng)電梯控制系統(tǒng)ECS 實用面向?qū)ο筌浖こ?n20世紀(jì)世紀(jì)50年代年代 無規(guī)范化設(shè)計的概念無規(guī)范化設(shè)計的概念 n20世紀(jì)世紀(jì)60年代年代 瀑布方法瀑布方法 u 軟件開發(fā)經(jīng)歷一系列規(guī)范化階段軟件開發(fā)經(jīng)歷一系列規(guī)范化階段 u 每個階段的完成需交付一個或多個里程碑每個階段的完成需交付一個或多個里程碑 文檔文檔 n20世紀(jì)世紀(jì)70年代年代 基于模型的軟件工程基于模型的軟件工程 u 首先建立系統(tǒng)的工作模型首先建立系統(tǒng)的工作模型 u 再調(diào)集

2、資源實現(xiàn)系統(tǒng)再調(diào)集資源實現(xiàn)系統(tǒng) 藍(lán)圖、圖表、庫藍(lán)圖、圖表、庫 存、采購單等存、采購單等 需求定義需求定義 模型模型 分析模型分析模型設(shè)計模型設(shè)計模型實現(xiàn)模型實現(xiàn)模型 用戶、顧客、開發(fā)者等用戶、顧客、開發(fā)者等 t 工作產(chǎn)品與里程碑工作產(chǎn)品與里程碑 n分析模型與設(shè)計模型分開建立。分析模型與設(shè)計模型分開建立。 u 分析模型主要描述系統(tǒng)將要做什么,完全分析模型主要描述系統(tǒng)將要做什么,完全 不考慮具體的實現(xiàn)方法和技術(shù)細(xì)節(jié)。不考慮具體的實現(xiàn)方法和技術(shù)細(xì)節(jié)。 u 設(shè)計模型描述在給定的實現(xiàn)環(huán)境下如何創(chuàng)設(shè)計模型描述在給定的實現(xiàn)環(huán)境下如何創(chuàng) 建一個特定的軟件系統(tǒng)。建一個特定的軟件系統(tǒng)。 n前者確定前者確定系統(tǒng)的行

3、為系統(tǒng)的行為,后者給出,后者給出系統(tǒng)實現(xiàn)的藍(lán)系統(tǒng)實現(xiàn)的藍(lán) 圖圖。 n需求定義模型主要用于獲取和處理系統(tǒng)的整體需求定義模型主要用于獲取和處理系統(tǒng)的整體 需求。需求。 n傳統(tǒng)的方法強調(diào)程序的傳統(tǒng)的方法強調(diào)程序的。 n可理解性強的程序是可理解性強的程序是的程序。的程序。 n為做到為做到模塊化模塊化 u每個模塊做且僅做一件事每個模塊做且僅做一件事 u每個模塊應(yīng)容納一個數(shù)據(jù)結(jié)構(gòu)每個模塊應(yīng)容納一個數(shù)據(jù)結(jié)構(gòu) u每個模塊應(yīng)能識別并對一個事件作出反應(yīng),每個模塊應(yīng)能識別并對一個事件作出反應(yīng), 且這個事件是唯一的且這個事件是唯一的 n面向?qū)ο蠓椒▌t強調(diào)要讓面向?qū)ο蠓椒▌t強調(diào)要讓 。 Object) 屬性屬性 服務(wù)服

4、務(wù) 購購 買買 銷銷 售售 稱稱 重重 移移 動動 屬性屬性 服務(wù)服務(wù) 購購 買買 銷銷 售售 稱稱 重重 移移 動動 。 屬性屬性 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 屬性屬性 服務(wù)服務(wù) 王輝王輝 屬性屬性 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 姓名姓名 性別性別 籍貫籍貫 專業(yè)專業(yè) 出生年月出生年月 住址住址 學(xué)生學(xué)生 屬性屬性 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 屬性屬性 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 屬性屬性 服務(wù)服務(wù) 劉華劉華 屬性屬性 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺

5、 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 學(xué)生學(xué)生 屬性屬性 姓名姓名 性別性別 籍貫籍貫 專業(yè)專業(yè) 出生年月出生年月 住址住址 服務(wù)服務(wù) 看書看書 實驗實驗 吃飯吃飯 睡覺睡覺 起重車起重車 類類 汽車類汽車類 拖拉機類拖拉機類 三角形類三角形類 四邊形類四邊形類 六邊形六邊形 退休者退休者教師教師 退休教師退休教師 多邊形多邊形 矩形矩形 多邊形多邊形三角形三角形 類與對類與對 象層象層 服務(wù)層服務(wù)層 結(jié)構(gòu)層結(jié)構(gòu)層 主題層主題層 主題主題 服務(wù)服務(wù) 消息消息 屬性屬性 實例連接實例連接 類邊界類邊界 實例邊界實例邊界 愛麗絲 屬性 服務(wù) 訂閱標(biāo)識訂閱標(biāo)識 訂閱狀態(tài)訂閱狀態(tài) 有關(guān)細(xì)節(jié)有關(guān)細(xì)節(jié)

6、 訂戶標(biāo)識訂戶標(biāo)識 收件人標(biāo)識收件人標(biāo)識 郵局標(biāo)識郵局標(biāo)識 價格標(biāo)識價格標(biāo)識 付款標(biāo)識付款標(biāo)識 屬性 訂戶訂戶 服務(wù) 1 1 訂戶標(biāo)識訂戶標(biāo)識 訂戶信息訂戶信息 地址標(biāo)識地址標(biāo)識 屬性 服務(wù) 確認(rèn)訂閱請求 訂閱請求 錄入訂款信息 錄入贈閱信息 報告訂戶 終止訂閱 續(xù)訂 屬性 訂戶訂戶 服務(wù) 錄入訂戶 錄入地址 報告地址 泛化類泛化類 特化類特化類 1,m1 1 1 11 (OOD) 電梯控制系統(tǒng)電梯控制系統(tǒng) 事例學(xué)習(xí)系統(tǒng)描述事例學(xué)習(xí)系統(tǒng)描述 n總的需求是設(shè)計和實現(xiàn)一個能對一座總的需求是設(shè)計和實現(xiàn)一個能對一座40層樓的層樓的 建筑物內(nèi)的建筑物內(nèi)的 4 部電梯進(jìn)行調(diào)度和控制的程序。部電梯進(jìn)行調(diào)度和

7、控制的程序。 n這個程序應(yīng)能有效地,并合理地對電梯進(jìn)行調(diào)這個程序應(yīng)能有效地,并合理地對電梯進(jìn)行調(diào) 度。比如說,有人在第度。比如說,有人在第 4 層樓召喚電梯,按下層樓召喚電梯,按下 向下的按鈕,那么下行的將要經(jīng)過第向下的按鈕,那么下行的將要經(jīng)過第 4 層樓的層樓的 一部電梯就應(yīng)在第一部電梯就應(yīng)在第 4 層樓停下來,讓這個乘客層樓停下來,讓這個乘客 進(jìn)入電梯。進(jìn)入電梯。 n另一種情況是:如果一部電梯沒有乘客,它就另一種情況是:如果一部電梯沒有乘客,它就 應(yīng)當(dāng)停在其最后一次完成的目的地請求的樓層,應(yīng)當(dāng)停在其最后一次完成的目的地請求的樓層, 直到被召喚。直到被召喚。 n一部電梯不應(yīng)中途改變其運行方向

8、,除非在現(xiàn)一部電梯不應(yīng)中途改變其運行方向,除非在現(xiàn) 行方向上的乘客都到了其目的地。行方向上的乘客都到了其目的地。 n如果一部電梯中的乘客數(shù)已達(dá)到了電梯的容量,如果一部電梯中的乘客數(shù)已達(dá)到了電梯的容量, 那么這部電梯就不應(yīng)再響應(yīng)任何新的召喚請求。那么這部電梯就不應(yīng)再響應(yīng)任何新的召喚請求。 n每部電梯都有一個超重傳感器,計算機和程序每部電梯都有一個超重傳感器,計算機和程序 能夠?qū)@些傳感器進(jìn)行詢問能夠?qū)@些傳感器進(jìn)行詢問。 n目的地按鈕:每部電梯配有一個面板,上面有目的地按鈕:每部電梯配有一個面板,上面有 一列一列40個按鈕,每個按鈕代表一個樓層,并標(biāo)個按鈕,每個按鈕代表一個樓層,并標(biāo) 有樓層號(

9、有樓層號(1到到40)。)。 n從計算機傳送到面板上的信號可以使這些目的從計算機傳送到面板上的信號可以使這些目的 地按鈕亮起來。地按鈕亮起來。 n當(dāng)一個乘客按下原先指示燈不亮的目的地按鈕,當(dāng)一個乘客按下原先指示燈不亮的目的地按鈕, 這個面板后面的電路就向計算機發(fā)出一個中斷這個面板后面的電路就向計算機發(fā)出一個中斷 信號。信號。 n當(dāng)計算機接收到這其中的一個信號后,程序就當(dāng)計算機接收到這其中的一個信號后,程序就 去讀相應(yīng)的八位輸入寄存器的存儲。去讀相應(yīng)的八位輸入寄存器的存儲。 n每個中斷對應(yīng)一個寄存器,每個寄存器對應(yīng)一每個中斷對應(yīng)一個寄存器,每個寄存器對應(yīng)一 部電梯。寄存器中存放引起這個中斷事件的

10、目部電梯。寄存器中存放引起這個中斷事件的目 的地按鈕所對應(yīng)的樓層號。當(dāng)發(fā)生中斷時,面的地按鈕所對應(yīng)的樓層號。當(dāng)發(fā)生中斷時,面 板后的電路就將樓層號寫入相應(yīng)的映射輸入寄板后的電路就將樓層號寫入相應(yīng)的映射輸入寄 存器的存儲中。存器的存儲中。 n目的地按鈕指示燈:目的地面板后有燈泡。當(dāng)目的地按鈕指示燈:目的地面板后有燈泡。當(dāng) 程序中的中斷服務(wù)例程接收到一目的地按鈕中程序中的中斷服務(wù)例程接收到一目的地按鈕中 斷,它就發(fā)送一個信號到相應(yīng)的面板,使相應(yīng)斷,它就發(fā)送一個信號到相應(yīng)的面板,使相應(yīng) 的按鈕指示燈發(fā)亮。的按鈕指示燈發(fā)亮。 n信號的發(fā)送實際就是程序?qū)粹o對應(yīng)的樓層號信號的發(fā)送實際就是程序?qū)粹o對應(yīng)的

11、樓層號 寫入相應(yīng)的輸出寄存器的存儲中。寫入相應(yīng)的輸出寄存器的存儲中。 n按鈕指示燈亮就相當(dāng)于告訴乘客系統(tǒng)已經(jīng)注意按鈕指示燈亮就相當(dāng)于告訴乘客系統(tǒng)已經(jīng)注意 到了他的請求,而且當(dāng)乘客再一次按下該按鈕到了他的請求,而且當(dāng)乘客再一次按下該按鈕 (由于急躁?)時就不再產(chǎn)生中斷。(由于急躁?)時就不再產(chǎn)生中斷。 n當(dāng)控制器在某一樓層停下電梯時,它就向目的當(dāng)控制器在某一樓層停下電梯時,它就向目的 地按鈕面板發(fā)送一信號,熄滅該層的目的地按地按鈕面板發(fā)送一信號,熄滅該層的目的地按 鈕指示燈。鈕指示燈。 n樓層傳感器:每一部電梯升降井的每一個樓層樓層傳感器:每一部電梯升降井的每一個樓層 上都有一個樓層傳感器開關(guān)。

12、上都有一個樓層傳感器開關(guān)。 n當(dāng)電梯正好運行到每個樓層的八英寸空間內(nèi)時,當(dāng)電梯正好運行到每個樓層的八英寸空間內(nèi)時, 電梯上的一個機輪就閉合該樓層的開關(guān)并向計電梯上的一個機輪就閉合該樓層的開關(guān)并向計 算機發(fā)送一中斷信號。算機發(fā)送一中斷信號。 n計算機接收到其中任一個中斷信號后,程序就計算機接收到其中任一個中斷信號后,程序就 去讀相應(yīng)的八位輸入寄存器的存儲,存儲中存去讀相應(yīng)的八位輸入寄存器的存儲,存儲中存 放的是引起該中斷的樓層傳感器開關(guān)所對應(yīng)的放的是引起該中斷的樓層傳感器開關(guān)所對應(yīng)的 樓層號。樓層號。 n到達(dá)指示燈:在每個電梯里有一個有一排指示到達(dá)指示燈:在每個電梯里有一個有一排指示 器的面板,

13、每個指示器對應(yīng)指示某一樓層。這器的面板,每個指示器對應(yīng)指示某一樓層。這 個面板就在電梯門的正上方。個面板就在電梯門的正上方。 n設(shè)置這個面板的目的是要告訴電梯中的乘客這設(shè)置這個面板的目的是要告訴電梯中的乘客這 部電梯現(xiàn)在正要到達(dá)的樓層的樓層號。部電梯現(xiàn)在正要到達(dá)的樓層的樓層號。 n當(dāng)電梯到達(dá)一樓層時程序應(yīng)讓該樓層指示器當(dāng)電梯到達(dá)一樓層時程序應(yīng)讓該樓層指示器 發(fā)亮,當(dāng)電梯離開該層樓或到達(dá)另一層樓時,發(fā)亮,當(dāng)電梯離開該層樓或到達(dá)另一層樓時, 該指示器應(yīng)熄滅。該指示器應(yīng)熄滅。 n這個信號的發(fā)送實際就是程序?qū)菍又甘酒鬟@個信號的發(fā)送實際就是程序?qū)菍又甘酒?所對應(yīng)的樓層號寫入相應(yīng)的輸出寄存器(每所對應(yīng)

14、的樓層號寫入相應(yīng)的輸出寄存器(每 個寄存器對應(yīng)一部電梯)的存儲中。個寄存器對應(yīng)一部電梯)的存儲中。 n召喚按鈕:建筑物中的每個樓層都有一個帶召喚按鈕:建筑物中的每個樓層都有一個帶 有召喚按鈕面板。有召喚按鈕面板。 n每層樓,除了底層(第每層樓,除了底層(第1層)和頂層(第層)和頂層(第40 層)外,面板上都有兩個按鈕:一個標(biāo)著向?qū)樱┩?,面板上都有兩個按鈕:一個標(biāo)著向 上標(biāo)記;另一個標(biāo)著向下標(biāo)記。上標(biāo)記;另一個標(biāo)著向下標(biāo)記。 n底層召喚面板只有一個向上按鈕,頂層召喚底層召喚面板只有一個向上按鈕,頂層召喚 面板只有一個向下按鈕。面板只有一個向下按鈕。 n因此總共有因此總共有78個召喚按鈕,個召喚按

15、鈕,39個向上按鈕,個向上按鈕, 39個向下按鈕。需要乘電梯的乘客按下這些個向下按鈕。需要乘電梯的乘客按下這些 按鈕以召喚一部電梯。按鈕以召喚一部電梯。 n計算機向面板發(fā)送一信號,這些召喚按鈕就計算機向面板發(fā)送一信號,這些召喚按鈕就 能夠發(fā)亮。能夠發(fā)亮。 n當(dāng)一個乘客按下了一個原先不亮的召喚按鈕,當(dāng)一個乘客按下了一個原先不亮的召喚按鈕, 面板后的電路就向計算機發(fā)送一向量中斷面板后的電路就向計算機發(fā)送一向量中斷 (UP 按鈕對應(yīng)一個中斷,而按鈕對應(yīng)一個中斷,而 DOWN 按鈕按鈕 對應(yīng)另一個中斷)。對應(yīng)另一個中斷)。 n計算機接收到這兩個中斷的任一個后,程序計算機接收到這兩個中斷的任一個后,程序 就去讀相應(yīng)的映射八位輸入寄存器的存儲,就去讀相應(yīng)的映射八位輸入寄存器的存儲, 該存儲中存放的是引起這個中斷的召喚按鈕該存儲中存放的是引起這個中斷的召喚按鈕 所對應(yīng)的樓層號。自然,面板后的電路在產(chǎn)所對應(yīng)的樓層號。自然,面板后的電路在產(chǎn) 生向量中斷時,需要將樓層號寫入相應(yīng)的映生向量中斷時,需要將樓層號寫入相應(yīng)的映 射輸入寄存器的存儲中。射輸入寄存器的存儲中。 n電梯馬達(dá)控制(上、下、停):對于每個電電梯馬達(dá)控制(上、下、停):對于每個電 梯馬達(dá)都有一個存儲轉(zhuǎn)換的控制字。控制字梯馬達(dá)都有一個存儲轉(zhuǎn)換的控制字。控制字 的第零個二進(jìn)制位命令

溫馨提示

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

評論

0/150

提交評論