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

下載本文檔

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

文檔簡介

實(shí)用面向?qū)ο筌浖こ探坛蘡asestudiesinOBJECTORIENTED軟件開發(fā)原理面向?qū)ο蟮母拍蠲嫦驅(qū)ο蠓治?OOA)面向?qū)ο笤O(shè)計(jì)(OOD)事例學(xué)習(xí):電梯控制系統(tǒng)ECS實(shí)用面向?qū)ο筌浖こ誊浖_發(fā)原理20世紀(jì)50年代

無規(guī)范化設(shè)計(jì)的概念20世紀(jì)60年代

瀑布方法軟件開發(fā)經(jīng)歷一系列規(guī)范化階段每個(gè)階段的完成需交付一個(gè)或多個(gè)里程碑文檔20世紀(jì)70年代

基于模型的軟件工程首先建立系統(tǒng)的工作模型再調(diào)集資源實(shí)現(xiàn)系統(tǒng)基于模型的軟件開發(fā)藍(lán)圖、圖表、庫存、采購單等設(shè)想建模實(shí)現(xiàn)產(chǎn)品現(xiàn)代軟件工程都是采用基于模型的方法開發(fā)軟件的。工程中要考慮的問題是:

What:

工程所依據(jù)的模型做什么?

Why:

為什么要建立模型?(背景)

How:

模型如何建立?

Who:

模型的建立者是誰?

需求定義模型分析模型設(shè)計(jì)模型一個(gè)典型的軟件開發(fā)生存期實(shí)現(xiàn)模型用戶、顧客、開發(fā)者等t工作產(chǎn)品與里程碑軟件工程方法的一個(gè)重要概念:

事務(wù)分離原則分析模型與設(shè)計(jì)模型分開建立。分析模型主要描述系統(tǒng)將要做什么,完全不考慮具體的實(shí)現(xiàn)方法和技術(shù)細(xì)節(jié)。設(shè)計(jì)模型描述在給定的實(shí)現(xiàn)環(huán)境下如何創(chuàng)建一個(gè)特定的軟件系統(tǒng)。前者確定系統(tǒng)的行為,后者給出系統(tǒng)實(shí)現(xiàn)的藍(lán)圖。需求定義模型主要用于獲取和處理系統(tǒng)的整體需求。面向?qū)ο蟮母拍顐鹘y(tǒng)的方法強(qiáng)調(diào)程序的可理解性??衫斫庑詮?qiáng)的程序是模塊化的程序。為做到模塊化每個(gè)模塊做且僅做一件事每個(gè)模塊應(yīng)容納一個(gè)數(shù)據(jù)結(jié)構(gòu)每個(gè)模塊應(yīng)能識別并對一個(gè)事件作出反應(yīng),且這個(gè)事件是唯一的面向?qū)ο蠓椒▌t強(qiáng)調(diào)要讓每個(gè)模塊對應(yīng)且唯一對應(yīng)現(xiàn)實(shí)世界中的某一件事。因此,面向?qū)ο螅∣bject-Oriented)不僅是一些具體的軟件開發(fā)技術(shù)與策略,而且是一整套關(guān)于如何看待軟件系統(tǒng)與現(xiàn)實(shí)世界的關(guān)系以及如何進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。特點(diǎn):面向?qū)ο蟮募夹g(shù)建立的模型與客觀世界一致,因而便于理解;適應(yīng)變化的需要,修改局限在模塊中;可復(fù)用性。什么是對象(Object)?對象:一般意義來講,對象是現(xiàn)實(shí)世界中存在的一個(gè)事物??梢允俏锢淼?,如一個(gè)桌子,可以是概念上的,如一個(gè)開發(fā)項(xiàng)目。對象是構(gòu)成現(xiàn)實(shí)世界的一個(gè)獨(dú)立的單位,具有自己的靜態(tài)特征(用數(shù)據(jù)描述)和動態(tài)特征(行為或具有的功能)。例如:人的特征:姓名、性別、年齡等,行為:衣、食、住、行等。定義:對象是系統(tǒng)中用來描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的一個(gè)基本單位,由一組屬性和一組對屬性進(jìn)行操作的服務(wù)組成。家具屬性價(jià)格尺寸重量位置顏色服務(wù)購買銷售稱重移動寫字臺屬性價(jià)格尺寸重量位置顏色服務(wù)購買銷售稱重移動對象的分類

外部實(shí)體:與軟件系統(tǒng)交換信息的外部設(shè)備、相關(guān)子系統(tǒng)、操作員或用戶等。

信息結(jié)構(gòu):問題信息域中的概念實(shí)體,如信號、報(bào)表、顯示信息等。

需要記憶的事件:在系統(tǒng)運(yùn)行過程中可能產(chǎn)生并需要系統(tǒng)記憶的事件,如單擊鼠標(biāo)左鍵、擊打鍵盤“”鍵等。

角色:與軟件系統(tǒng)交互的人員所扮演的角色,如經(jīng)理、部長、技術(shù)支持等。組織機(jī)構(gòu):有關(guān)機(jī)構(gòu),如單位、小組等。位置:作為系統(tǒng)環(huán)境或問題上下文的場所、位置,如客戶地址、收件人(機(jī)構(gòu))地址等。

操作規(guī)程:如操作菜單、某種數(shù)據(jù)輸入過程等。信息隱蔽:在標(biāo)識對象時(shí)必須注意的是:須將對象的屬性隱藏在對象的內(nèi)部,使得從對象外部看不到對象的信息是怎樣定義的。只能通過該對象界面上定義的操作來使用這些信息。對象的狀態(tài):給對象賦予具體的屬性值。它只能通過該對象的操作來改變。對象間的關(guān)系靜態(tài)關(guān)系:長期存在的關(guān)系,兩個(gè)對象相互知道對方是否存在。例如:組成關(guān)系是一種靜態(tài)關(guān)系,卡車是由車體、底盤、發(fā)動機(jī)、傳動裝置和輪胎等組成。為什么將車輛劃分成幾個(gè)組成部分?這樣做是為便于理解、實(shí)現(xiàn),可復(fù)用(發(fā)動機(jī))。動態(tài)關(guān)系:對象間互相進(jìn)行通信。 例如:智能汽車的傳感器對象向自動駕駛儀 對象發(fā)出“前面有移動障礙物,請左轉(zhuǎn)減速 規(guī)避?!钡闹噶?。什么是類和實(shí)例?把具有相同特征和行為的對象歸在一起就形成了類(class)

。李杰屬性李杰男廣東軟件1988.49#樓129室服務(wù)看書實(shí)驗(yàn)吃飯睡覺楊芳屬性服務(wù)王輝屬性王輝男湖南計(jì)算機(jī)控制1989.19#樓320室服務(wù)看書實(shí)驗(yàn)吃飯睡覺楊芳女北京系統(tǒng)結(jié)構(gòu)1989.125#樓418室看書實(shí)驗(yàn)吃飯睡覺姓名性別籍貫專業(yè)出生年月住址學(xué)生屬性服務(wù)看書實(shí)驗(yàn)吃飯睡覺類成為某些對象的模板,抽象地描述了屬于該類的全部對象的屬性和操作。屬于某個(gè)類的對象叫做該類的實(shí)例(instance)。關(guān)琳屬性服務(wù)看書實(shí)驗(yàn)吃飯睡覺楊芳屬性服務(wù)劉華屬性關(guān)琳女江蘇人工智能1990.64#樓212室服務(wù)看書實(shí)驗(yàn)吃飯睡覺楊芳女北京系統(tǒng)結(jié)構(gòu)1989.125#樓418室看書實(shí)驗(yàn)吃飯睡覺學(xué)生屬性姓名性別籍貫專業(yè)出生年月住址服務(wù)看書實(shí)驗(yàn)吃飯睡覺劉華男吉林CAD/CAM1990.29#樓229室什么是繼承(inheritance)?如果某幾個(gè)類之間具有共性的東西

(信息結(jié)構(gòu)和行為),抽取出來放在一個(gè)一般類中,而將各個(gè)類的特有的東西放在特殊類中分別描述,則可建立起特殊類對一般類的繼承。類定義了各個(gè)實(shí)例所共有的結(jié)構(gòu),使用類的構(gòu)造函數(shù),可以定義屬于該類的實(shí)例。類的每一個(gè)實(shí)例都可以使用類中定義的操作。實(shí)例的當(dāng)前狀態(tài)是由實(shí)例所執(zhí)行的操作定義的。各特殊類中的底盤、發(fā)動機(jī)、輪胎、驅(qū)動裝置等可以作為共性集中到一般類汽車類中。各個(gè)特殊類可以從一般類中繼承共性,這樣避免了重復(fù)。復(fù)用共同的描述,繼承性往往被看作是軟件復(fù)用的核心概念。汽車大轎車運(yùn)貨車救火車起重車建立繼承結(jié)構(gòu)的好處:易編程、易理解代碼短,結(jié)構(gòu)清晰易修改共同部分只要在一處修改即可易增加新類只須描述不同部分怎樣建立一個(gè)好的繼承層次類可以從父類繼承,父類又可以從它的父類繼承,形成多層次的繼承結(jié)構(gòu)。當(dāng)增加一個(gè)新類時(shí),不一定在最低層,可能需要插在中間層,這樣可能需要調(diào)整原來的層次結(jié)構(gòu)?,F(xiàn)要建立一個(gè)新類起重車。它的底盤、發(fā)動機(jī)、輪胎、驅(qū)動裝置等都在既存類汽車中。關(guān)系如右圖所示。新類是既存類的特殊情形。這時(shí)直接讓起重車類作為汽車類的子類即可。汽車大轎車運(yùn)貨車救火車起重車起重車類汽車類若增加一個(gè)新類拖拉機(jī)。其底盤、發(fā)動機(jī)與汽車類不同,但驅(qū)動裝置、輪胎與汽車類相同。調(diào)整繼承結(jié)構(gòu)。建立一個(gè)新的一般的車輛類,把拖拉機(jī)與汽車類的共性放到車輛類中,拖拉機(jī)與汽車類都成為車輛類的子類。車輛是抽象類,相關(guān)操作到子類汽車類去找。汽車類拖拉機(jī)類汽車車輛拖拉機(jī)另一種情形是想在既存類的基礎(chǔ)上加入新類,使得新類成為既存類的一般類。例如,已經(jīng)存在三角形類,四邊形類,想加入一個(gè)多邊形類,并使之成為三角形和四邊形類的一般類。三角形類四邊形類多邊形類三角形四邊形多邊形六邊形多繼承如果一個(gè)類需要用到多個(gè)既存類的特征,可以從多個(gè)類中繼承,稱為多繼承。例如退休教師是繼承退休者和教師這兩個(gè)類的某些特征或行為而得到的一個(gè)新類。前三個(gè)情況主要是通過查找(應(yīng)用領(lǐng)域)類庫,找到可以原封不動地繼承的類或可以通過調(diào)整繼承層次結(jié)構(gòu)繼承的類。但如果在已有的繼承層次中找不到可以繼承的既存類,就從零開始完全獨(dú)立地建立一個(gè)類。多態(tài)性和動態(tài)綁定對象互相通信,即一個(gè)對象發(fā)消息給另一個(gè)對象,執(zhí)行某些行為或又發(fā)消息給另外的對象,從而執(zhí)行系統(tǒng)的功能。發(fā)送消息的對象可能不知道另一個(gè)對象的類型是什么。退休者教師退休教師例如在C語言程序中使用命令ClearInt()時(shí)要嚴(yán)格區(qū)分該命令適合一個(gè)整數(shù),還是一個(gè)整數(shù)數(shù)組。但在C++情形,ClearInt()

對兩者都適用,它自己判斷對象是哪一個(gè)。這就是多態(tài)性(Polymorphism)。它意味著一

個(gè)操作在不同類中可以有不同的實(shí)現(xiàn)方式。如ClearInt()針對消息對象是intarray還是int,其實(shí)現(xiàn)是不同的。在一個(gè)面向?qū)ο蟮亩鄳B(tài)性語言中,可能代替一個(gè)特定類型的類型的集合就是它的子類集合。例如,右圖給出了4個(gè)類的繼承層次。使用這個(gè)繼承結(jié)構(gòu),發(fā)送給多邊形類的所有消息,它的所有子類都能夠響應(yīng)。又例如,想要在屏幕上畫一系列多邊形,多邊形矩形多邊形三角形

多態(tài)性允許一個(gè)表的元素可以屬于一組指定的類型而不僅僅是一個(gè)類型,可以認(rèn)為這是一個(gè)類族。通過遍歷這個(gè)表,發(fā)送給各個(gè)表元素以draw消息,畫出所有的多邊形。動態(tài)綁定(dynamicbinding)把函數(shù)調(diào)用與目標(biāo)代碼塊的連接延遲到運(yùn)行時(shí)進(jìn)行。這樣,只有發(fā)送消息時(shí)才與接收消息實(shí)例的一個(gè)操作綁定。它與多態(tài)性可以使我們建立的系統(tǒng)更靈活,易于擴(kuò)充。做為動態(tài)綁定的例子,考慮在多邊形類中的方法contains?(aPoint)。這個(gè)操作可以在類層次的各層重新實(shí)現(xiàn),以有效利用各個(gè)子類的特殊的特征。例如,假定一個(gè)矩形有某些邊與屏幕的邊平行,這時(shí),檢查一個(gè)點(diǎn)是否包含在矩形內(nèi),比檢查一個(gè)點(diǎn)是否在一個(gè)一般的四邊形內(nèi)的效率要高一些。如果我們有一多態(tài)多邊形實(shí)例的表,并且想要看一個(gè)點(diǎn)p(可能是鼠標(biāo)點(diǎn)取的位置)是否在它們中的某一個(gè)內(nèi),那么我們遍歷這個(gè)表,給表中的每個(gè)對象P

發(fā)送消息contains?(p)。動態(tài)綁定保證執(zhí)行與對象P

連接的操作。例如,如果P

是類矩形的實(shí)例,則執(zhí)行與矩形連接的操作更有效,而不用與類四邊形或類多邊形連接的操作??偨Y(jié)面向?qū)ο笫且环N建模的技術(shù),由于它與人們認(rèn)識世界的方法非常一致,所以建立的模型容易理解。對象有類似性因而用類來描述;類描述了類似對象的行為和信息,封裝性使用者不需知道類怎樣實(shí)現(xiàn),只要知道它的外部功能,因此修改可局限在類的內(nèi)部,系統(tǒng)易維護(hù)。多態(tài)性對象可以不必知道與它通信的對象的確切的類,因此容易增加新類,易擴(kuò)充系統(tǒng)功能,不需修改其它類。使用繼承性可以方便地復(fù)用已有代碼,只需增加新代碼,或修改已有功能時(shí)不必修改已有代碼,只需定義新的行為;繼承性必須正確使用,否則使系統(tǒng)的結(jié)構(gòu)很難理解和不易維護(hù),因?yàn)轭惖南嗤值男袨楣δ芸赡懿煌?。面向?qū)ο蠓治觯ê喎QOOA)本課程著重討論的是面向?qū)ο蠓治?/p>

(Object_OrientedAnalysis,OOA)

和面向?qū)ο笤O(shè)計(jì)(Object_OrientedDesign,OOD)原則的應(yīng)用。分析過程是在軟件工程的環(huán)境中建立基本系統(tǒng)行為的過程,目的是構(gòu)造待開發(fā)軟件系統(tǒng)的形式模型,捕捉系統(tǒng)最基本的需求。建立OOA模型的任務(wù)形式地說明我們所面對的應(yīng)用問題,最終成為軟件系統(tǒng)基本構(gòu)成的對象,還有系統(tǒng)所必須遵從的,由應(yīng)用環(huán)境所決定的規(guī)則和約束。明確地規(guī)定構(gòu)成系統(tǒng)的對象如何協(xié)同合作,完成指定的功能。這種協(xié)同在模型中是以一組消息連接來表示的,它們承擔(dān)了各個(gè)對象之間的通信。構(gòu)造OOA模型的層次構(gòu)造和評審OOA模型的順序和由五個(gè)層次組成。這五個(gè)層次是分析過程中的層次。每個(gè)層次的工作都為系統(tǒng)的規(guī)格說明增加了一個(gè)組成部分。這五個(gè)層次是:類與對象、屬性、服務(wù)、結(jié)構(gòu)和主題。類與對象層屬性層服務(wù)層結(jié)構(gòu)層主題層主題服務(wù)消息屬性實(shí)例連接類邊界實(shí)例邊界第一層對象-類層對象-類是對與應(yīng)用有關(guān)的概念的抽象,是構(gòu)成軟件系統(tǒng)的基本構(gòu)造塊。這一層是整個(gè)OOA模型的基礎(chǔ)。對象所保存的信息稱為它的屬性,對象收到消息后所執(zhí)行的操作稱為它的服務(wù)。問題在于如何建立“現(xiàn)實(shí)世界中事物”的抽象表示,也就是如何建立基本塊。構(gòu)造軟件系統(tǒng),必須先了解應(yīng)用領(lǐng)域。愛麗絲女孩物理對象–醫(yī)學(xué)領(lǐng)域(軀干、四肢、頭、五官等)女生角色對象–

學(xué)校教育領(lǐng)域(學(xué)生標(biāo)識、性別、學(xué)籍、社會工作歷史等)顧客角色對象–

商店管理領(lǐng)域(顧客標(biāo)識、信用卡標(biāo)識、住址、購貨歷史等)

同一概念在不同應(yīng)用領(lǐng)域中抽象出來的基本構(gòu)造塊是不同的。對象圖符訂閱訂閱事件抽象類或模板類的圖符對象的屬性和實(shí)例連接共同組成了OOA模型的屬性層。

第二層屬性層屬性訂閱服務(wù)

訂閱標(biāo)識訂閱狀態(tài)有關(guān)細(xì)節(jié)訂戶標(biāo)識收件人標(biāo)識郵局標(biāo)識價(jià)格標(biāo)識付款標(biāo)識屬性訂戶服務(wù)11訂戶標(biāo)識訂戶信息地址標(biāo)識實(shí)例連接是應(yīng)用領(lǐng)域的某些限制條件或事務(wù)規(guī)則。體現(xiàn)了類的實(shí)例間的相互關(guān)聯(lián)。例如,定金取消后,相應(yīng)的訂戶也應(yīng)該被取消。

第三層服務(wù)層對象的服務(wù)加上對象實(shí)例之間的消息通信,共同組成了OOA模型的服務(wù)層。屬性訂閱服務(wù)確認(rèn)訂閱請求訂閱請求錄入訂款信息錄入贈閱信息報(bào)告訂戶終止訂閱續(xù)訂屬性訂戶服務(wù)錄入訂戶錄入地址報(bào)告地址圖中各個(gè)對象的實(shí)例分別執(zhí)行某些操作,為完成某項(xiàng)功能,這些實(shí)例之間互相通信,形成消息連接(即所謂的協(xié)同)。消息連接用有向箭頭表示。服務(wù)層的消息連接實(shí)際上引入了對系統(tǒng)動態(tài)行為的描述。對圖形表示應(yīng)當(dāng)伴隨一段文字說明,說明一個(gè)對象在什么狀態(tài)下將對哪個(gè)消息作出什么樣的反應(yīng)。在實(shí)際分析時(shí)還將引入交互作用圖,描述幾個(gè)對象如何協(xié)同合作以完成某個(gè)特定的系統(tǒng)功能。第四層結(jié)構(gòu)層該層負(fù)責(zé)捕捉特定應(yīng)用領(lǐng)域中的結(jié)構(gòu)關(guān)系。典型的結(jié)構(gòu)有兩種:泛化-特化結(jié)構(gòu)(Gen-Spec結(jié)構(gòu)):它表明了對象-類間的繼承關(guān)系。整體-部分結(jié)構(gòu)(Whole-Part結(jié)構(gòu)):它表明了對象-類間的聚合關(guān)系。泛化-特化結(jié)構(gòu)(分類結(jié)構(gòu))泛化類是特化類的父類(基類),特化類是泛化類的子類(派生類)。在分類結(jié)構(gòu)中可以合理地分配屬性和服務(wù)。泛化類特化類文章已發(fā)表的文章已接受的文章整體-部分結(jié)構(gòu)(組裝結(jié)構(gòu))屬于不同類的成員可以聚合而形成新的類。整體對象實(shí)例與成員對象實(shí)例之間用連接。實(shí)例連接的數(shù)目(基數(shù))標(biāo)明在圖上。1,m11111報(bào)社采訪組編輯室印刷廠第五層主題層OOA模型的結(jié)構(gòu)龐大而復(fù)雜,可以將對象歸類到各個(gè)主題中,把有關(guān)的對象用一個(gè)主題邊框框起來。主題可以看作是高層的模塊或子系統(tǒng)。主題“編輯管理”包括了所有與編輯功能直接相關(guān)的對象。對于OOA模型,主題表示此模型的整體框架。可以是一個(gè)層次結(jié)構(gòu)。通過對主題的識別,可以讓人們能夠比較清晰地了解大而復(fù)雜的模型。編輯管理的主題擴(kuò)展OOA模型,得到面向?qū)ο笤O(shè)計(jì)(OOD)模型,和OOA模型一樣,包含有5個(gè)層次,但同時(shí)它又引進(jìn)了4個(gè)“部分”,分別是:問題領(lǐng)域部分人機(jī)交互部分任務(wù)管理部分?jǐn)?shù)據(jù)管理部分面向?qū)ο笤O(shè)計(jì)(OOD)

問題領(lǐng)域部分

包括與應(yīng)用直接有關(guān)的所有對象或類??梢詫OA模型當(dāng)作問題領(lǐng)域部分的初始版本,逐步地細(xì)化這個(gè)初始版本,使其最終能解決實(shí)現(xiàn)限制、特性要求、性能缺陷等方面的問題。

人機(jī)交互部分指定了軟件系統(tǒng)與人交互時(shí)需要的各種對象或類。

任務(wù)管理部分則指定了創(chuàng)建系統(tǒng)時(shí)必須建立的與系統(tǒng)操作管理有關(guān)的對象或類。

數(shù)據(jù)管理部分定義了那些與磁盤文件和數(shù)據(jù)庫管理系統(tǒng)接口的對象或類。

電梯控制系統(tǒng)

事例學(xué)習(xí)系統(tǒng)描述總的需求是設(shè)計(jì)和實(shí)現(xiàn)一個(gè)能對一座40層樓的建筑物內(nèi)的4部電梯進(jìn)行調(diào)度和控制的程序。這個(gè)程序應(yīng)能有效地,并合理地對電梯進(jìn)行調(diào)度。比如說,有人在第4層樓召喚電梯,按下向下的按鈕,那么下行的將要經(jīng)過第4層樓的一部電梯就應(yīng)在第4層樓停下來,讓這個(gè)乘客進(jìn)入電梯。另一種情況是:如果一部電梯沒有乘客,它就應(yīng)當(dāng)停在其最后一次完成的目的地請求的樓層,直到被召喚。一部電梯不應(yīng)中途改變其運(yùn)行方向,除非在現(xiàn)行方向上的乘客都到了其目的地。如果一部電梯中的乘客數(shù)已達(dá)到了電梯的容量,那么這部電梯就不應(yīng)再響應(yīng)任何新的召喚請求。每部電梯都有一個(gè)超重傳感器,計(jì)算機(jī)和程序能夠?qū)@些傳感器進(jìn)行詢問。目的地按鈕:每部電梯配有一個(gè)面板,上面有一列40個(gè)按鈕,每個(gè)按鈕代表一個(gè)樓層,并標(biāo)有樓層號(1到40)。從計(jì)算機(jī)傳送到面板上的信號可以使這些目的地按鈕亮起來。當(dāng)一個(gè)乘客按下原先指示燈不亮的目的地按鈕,這個(gè)面板后面的電路就向計(jì)算機(jī)發(fā)出一個(gè)中斷信號。當(dāng)計(jì)算機(jī)接收到這其中的一個(gè)信號后,程序就去讀相應(yīng)的八位輸入寄存器的存儲。每個(gè)中斷對應(yīng)一個(gè)寄存器,每個(gè)寄存器對應(yīng)一部電梯。寄存器中存放引起這個(gè)中斷事件的目的地按鈕所對應(yīng)的樓層號。當(dāng)發(fā)生中斷時(shí),面板后的電路就將樓層號寫入相應(yīng)的映射輸入寄存器的存儲中。目的地按鈕指示燈:目的地面板后有燈泡。當(dāng)程序中的中斷服務(wù)例程接收到一目的地按鈕中斷,它就發(fā)送一個(gè)信號到相應(yīng)的面板,使相應(yīng)的按鈕指示燈發(fā)亮。信號的發(fā)送實(shí)際就是程序?qū)粹o對應(yīng)的樓層號寫入相應(yīng)的輸出寄存器的存儲中。按鈕指示燈亮就相當(dāng)于告訴乘客系統(tǒng)已經(jīng)注意到了他的請求,而且當(dāng)乘客再一次按下該按鈕(由于急躁?)時(shí)就不再產(chǎn)生中斷。當(dāng)控制器在某一樓層停下電梯時(shí),它就向目的地按鈕面板發(fā)送一信號,熄滅該層的目的地按鈕指示燈。樓層傳感器:每一部電梯升降井的每一個(gè)樓層上都有一個(gè)樓層

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論