軟件工程第七章面向?qū)ο蠓椒▽W(xué)_第1頁
軟件工程第七章面向?qū)ο蠓椒▽W(xué)_第2頁
軟件工程第七章面向?qū)ο蠓椒▽W(xué)_第3頁
軟件工程第七章面向?qū)ο蠓椒▽W(xué)_第4頁
軟件工程第七章面向?qū)ο蠓椒▽W(xué)_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

軟件工程第七章面向?qū)ο蠓椒▽W(xué)第七章面向?qū)ο蠓椒▽W(xué)7.1傳統(tǒng)方法學(xué)的缺點(diǎn)7.2面向?qū)ο蟮幕靖拍?.3對(duì)象模型7.4動(dòng)態(tài)模型7.5功能模型

第2頁,共77頁,2024年2月25日,星期天7.1傳統(tǒng)方法學(xué)的缺點(diǎn)

結(jié)構(gòu)化及其他方法學(xué)的本質(zhì),是在具體的軟件開發(fā)工作開始之前,通過需求分析預(yù)先定義軟件需求。結(jié)構(gòu)化及其他方法學(xué)部分地緩解了軟件危機(jī),對(duì)軟件開發(fā)工程化起了重要的促進(jìn)作用。第3頁,共77頁,2024年2月25日,星期天

結(jié)構(gòu)化及其他方法學(xué)并不能完全消除軟件危機(jī)。結(jié)構(gòu)化及其他方法學(xué)仍然有許多不足之處。對(duì)某些類型的軟件開發(fā),這種方法學(xué)比較適用。對(duì)另一些類型的軟件則可能完全不適用。第4頁,共77頁,2024年2月25日,星期天7.1.1問題的表現(xiàn)生產(chǎn)效率低率 生命周期方法學(xué)中強(qiáng)調(diào)采用先進(jìn)的結(jié)構(gòu)分析、設(shè)計(jì)、編程技術(shù)和軟件工具的技術(shù)方法不能滿足軟件的需要量急劇增長(zhǎng)。不能滿足用戶需要

第5頁,共77頁,2024年2月25日,星期天軟件復(fù)用程度很低 結(jié)構(gòu)分析、結(jié)構(gòu)設(shè)計(jì)和結(jié)構(gòu)程序設(shè)計(jì)技術(shù)開發(fā)軟件時(shí),幾乎每一次開發(fā)一個(gè)新系統(tǒng)時(shí)都要針對(duì)這個(gè)具體的系統(tǒng)做大量重復(fù)繁瑣的勞動(dòng)。軟件仍然很難維護(hù) 實(shí)踐的經(jīng)驗(yàn)告訴我們,即使是用生命周期方法學(xué)開發(fā)出的軟件,維護(hù)起來仍然相當(dāng)困難,軟件維護(hù)成本仍然很高。第6頁,共77頁,2024年2月25日,星期天7.1.2問題的原因結(jié)構(gòu)化技術(shù)本身的問題預(yù)先定義的需求可能是過時(shí)語言鴻溝系統(tǒng)需求的模糊性第7頁,共77頁,2024年2月25日,星期天7.2面向?qū)ο蟮幕靖拍畹?頁,共77頁,2024年2月25日,星期天7.2.1對(duì)象(object)對(duì)象是實(shí)現(xiàn)世界中一個(gè)實(shí)際存在的事物,它可以是有形的(比如一輛汽車),也可以是無形的(比如一項(xiàng)計(jì)劃)。第9頁,共77頁,2024年2月25日,星期天對(duì)象的定義: 對(duì)象是問題域或?qū)崿F(xiàn)域中某些事物的一個(gè)抽象,它反映該事物在系統(tǒng)中需要保存的信息和發(fā)揮作用;它是一組屬性和有權(quán)對(duì)這些屬性進(jìn)行操作的一組服務(wù)的封裝體。第10頁,共77頁,2024年2月25日,星期天對(duì)象有如下一些基本特點(diǎn):以數(shù)據(jù)為中心。對(duì)象是主動(dòng)的。實(shí)現(xiàn)了數(shù)據(jù)封裝。本質(zhì)上具有并行性。模塊獨(dú)立性好。第11頁,共77頁,2024年2月25日,星期天7.2.2類(class)

類的定義: 類是具有相同屬性和服務(wù)的一組對(duì)象的集合,它為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述,其內(nèi)部包括屬性和服務(wù)兩個(gè)主要部分。第12頁,共77頁,2024年2月25日,星期天

圖7.2類與對(duì)象的關(guān)系

類與對(duì)象的關(guān)系如同一個(gè)模具與用這個(gè)模具鑄造出來的鑄件之間的關(guān)系。他們的關(guān)系可以用圖7.2表示。

第13頁,共77頁,2024年2月25日,星期天7.2.3繼承(inheritance)

繼承是面向?qū)ο笾械闹匾拍睿谲浖?shí)現(xiàn)中的重要手段。并且是面向?qū)ο蠹夹g(shù)可提高軟件開發(fā)效率的重要原因之一。 特殊類的對(duì)象擁有其一般類的全部屬性與服務(wù),稱作特殊類對(duì)一般類的繼承。第14頁,共77頁,2024年2月25日,星期天

一個(gè)特殊類既有自己新定義的屬性和服務(wù),又有從它的一般類中繼承下來的屬性與服務(wù)。 繼承的實(shí)現(xiàn)是通過面向?qū)ο笙到y(tǒng)的繼承機(jī)制來保證的。 繼承關(guān)系具有傳遞性。第15頁,共77頁,2024年2月25日,星期天

一個(gè)類可以是多個(gè)一般類的特殊類,它從多個(gè)一般類中繼承了屬性與服務(wù),這種繼承模式叫作多繼承。第16頁,共77頁,2024年2月25日,星期天7.2.4封裝(encapsulation)

封裝就是把對(duì)象的屬性服務(wù)結(jié)合成為一個(gè)獨(dú)立的系統(tǒng)單位,并盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié)。 封裝是一種信息隱蔽技術(shù)。封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)重要原則。它有兩個(gè)涵義:把對(duì)象的全部屬性和全部服務(wù)結(jié)合在一起,形成一個(gè)不可分割的獨(dú)立單位。盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),只保留有限的對(duì)外接口使之與外部發(fā)生聯(lián)系。第17頁,共77頁,2024年2月25日,星期天

封裝是一種機(jī)制,封裝的信息隱蔽作用反映了事物的相對(duì)獨(dú)立性。 封裝的原則在軟件上的反映是:要求使對(duì)象以外的部分不能隨意存取對(duì)象的內(nèi)部數(shù)據(jù)(屬性),從而有效地避免了外部錯(cuò)誤對(duì)它的“交叉感染”,使軟件錯(cuò)誤能夠局部化。第18頁,共77頁,2024年2月25日,星期天

封裝是面向?qū)ο蠓椒ǖ囊粋€(gè)原則,也是面向?qū)ο蠹夹g(shù)必須提供的一種機(jī)制。例如在面向?qū)ο蟮恼Z言中,要求把屬性和服務(wù)結(jié)合起來定義成一個(gè)程序單位,并通過編譯系統(tǒng)保證對(duì)象的外部不能直接存取對(duì)象的屬性或調(diào)用它的內(nèi)部服務(wù)。這種機(jī)制就叫作封裝機(jī)制。第19頁,共77頁,2024年2月25日,星期天

強(qiáng)調(diào)嚴(yán)格的封裝,則對(duì)象的任何屬性都不允許外部直接存取,因此就要增加許多沒有其它服務(wù)意義,而僅負(fù)責(zé)讀或?qū)懙姆?wù)。這為編程工作增加了負(fù)擔(dān)。 所以我們?cè)谟妹嫦驅(qū)ο筮M(jìn)行編寫程序時(shí),總會(huì)覺得程序顯得臃腫。為了避免這一點(diǎn),語言往往采取一種比較現(xiàn)實(shí)的靈活態(tài)度–––允許對(duì)象有不同程度的可見性。

第20頁,共77頁,2024年2月25日,星期天7.2.5消息(message)

對(duì)象是一個(gè)獨(dú)立的單位,它通過對(duì)外提供的服務(wù)在系統(tǒng)中發(fā)揮作用。而只有當(dāng)系統(tǒng)中的其它對(duì)象向它請(qǐng)求某個(gè)服務(wù)時(shí),它就響應(yīng)這個(gè)請(qǐng)求,才能體現(xiàn)其作用。 面向?qū)ο蠓椒ㄖ袑⑦@種向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求稱作消息。第21頁,共77頁,2024年2月25日,星期天

面向?qū)ο蠓椒ǖ牧硪粋€(gè)原則是通過消息進(jìn)行對(duì)象之間的通信。它與封裝的的原則有密切的關(guān)系。封裝使對(duì)象成為互不干擾的獨(dú)立單位;而消息通信則為它們提供合法動(dòng)態(tài)聯(lián)系途徑,使它們互相配合構(gòu)成一個(gè)系統(tǒng)。第22頁,共77頁,2024年2月25日,星期天面向?qū)ο蠓椒ㄖ袑?duì)消息的定義: 消息就是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求,它應(yīng)該含有下述信息:提供服務(wù)的對(duì)象標(biāo)識(shí)、服務(wù)標(biāo)識(shí)、輸入信息和回答信息。第23頁,共77頁,2024年2月25日,星期天7.2.6結(jié)構(gòu)與連接

為了完成某種功能,需要用消息將獨(dú)立的對(duì)象聯(lián)系起來。在構(gòu)造系統(tǒng)中,對(duì)象間關(guān)系不僅僅是用消息的連接方式。為了使系統(tǒng)能夠有效地映射問題域,系統(tǒng)開發(fā)者需認(rèn)識(shí)并描述對(duì)象之間的的分類關(guān)系、對(duì)象之間的組成關(guān)系、對(duì)象屬性之間的靜態(tài)聯(lián)系和對(duì)象行為之間的動(dòng)態(tài)聯(lián)系。第24頁,共77頁,2024年2月25日,星期天

面向?qū)ο蠓椒ㄟ\(yùn)用一般-特殊結(jié)構(gòu)、整體-部分結(jié)構(gòu)、實(shí)例連接和消息連接描述對(duì)象之間的關(guān)系。第25頁,共77頁,2024年2月25日,星期天一般-特殊結(jié)構(gòu)

一般-特殊結(jié)構(gòu)是由一組具有一般-特殊關(guān)系的類所組成的結(jié)構(gòu)。它是一個(gè)以類為結(jié)合,以繼承關(guān)系為邊的連通有向圖。

如果是由一些存在單繼承關(guān)系的類形成的結(jié)構(gòu)又稱作層次結(jié)構(gòu)或樹型結(jié)構(gòu); 如果由一些存在多繼承關(guān)系的類形成的結(jié)構(gòu)又稱作網(wǎng)格結(jié)構(gòu)。第26頁,共77頁,2024年2月25日,星期天

圖7.3一般--特殊結(jié)構(gòu)第27頁,共77頁,2024年2月25日,星期天整體-部分結(jié)構(gòu) 當(dāng)一個(gè)對(duì)象是另一個(gè)(組)對(duì)象的組成或部分,則稱他們有整體-部分關(guān)系。整體-部分結(jié)構(gòu)由一組彼此間存在著這種組成關(guān)系的對(duì)象構(gòu)成。它描述對(duì)象之間的組成關(guān)系。即:如圖7--4所示。第28頁,共77頁,2024年2月25日,星期天

圖7--4整體-部分結(jié)構(gòu)第29頁,共77頁,2024年2月25日,星期天

整體-部分結(jié)構(gòu)有兩種實(shí)現(xiàn)方式。用部分對(duì)象的類作為一種廣義的數(shù)據(jù)類型來定義整體對(duì)象的一個(gè)屬性,構(gòu)成一個(gè)嵌套對(duì)象。獨(dú)立地定義和創(chuàng)建整體對(duì)象和部分對(duì)象,并在整體對(duì)象中設(shè)置一個(gè)屬性,它的值是部分對(duì)象的對(duì)象標(biāo)識(shí),或者是一個(gè)指向部分對(duì)象的指針。第30頁,共77頁,2024年2月25日,星期天實(shí)例連接 實(shí)例連接反映對(duì)象與對(duì)象之間的靜態(tài)聯(lián)系。例如教師和學(xué)生之間的關(guān)系。這種雙邊關(guān)系在實(shí)現(xiàn)中可以通過對(duì)象的屬性表達(dá)出來。所以這種關(guān)系稱作實(shí)例連接。第31頁,共77頁,2024年2月25日,星期天消息連接 描述對(duì)象之間的動(dòng)態(tài)聯(lián)系是用消息連接。若一個(gè)對(duì)象在執(zhí)行自己的服務(wù)時(shí),需要請(qǐng)求另一個(gè)對(duì)象為它完成某個(gè)服務(wù)。那么,這兩個(gè)對(duì)象之間存在著消息連接。消息連接是有向的,從消息發(fā)送者指向消息接收者。第32頁,共77頁,2024年2月25日,星期天7.2.7多態(tài)性(Polymorphism)

多態(tài)性是指允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。 多態(tài)性引用具有靜態(tài)類型和動(dòng)態(tài)類型。動(dòng)態(tài)類型可以在程序執(zhí)行期間在實(shí)例之間進(jìn)行變化。靜態(tài)類型是在程序上下文中由實(shí)體說明決定的。第33頁,共77頁,2024年2月25日,星期天

對(duì)象的多態(tài)性是指在一般類中定義的屬性或服務(wù)被特殊類繼承之后,可以具有不同的數(shù)據(jù)類型或表現(xiàn)出不同的行為。這使得同一個(gè)屬性或服務(wù)名在一般類及其各個(gè)特殊類中具有不同的語義。第34頁,共77頁,2024年2月25日,星期天

如果一種面向?qū)ο蟪绦蛟O(shè)計(jì)語言能支持對(duì)象的多態(tài)性,則可為開發(fā)者帶來不少方便。 多態(tài)性是一種比較高級(jí)的功能。多態(tài)性的實(shí)現(xiàn)需要面向?qū)ο蟪绦蛟O(shè)計(jì)語言提供相應(yīng)的支持。第35頁,共77頁,2024年2月25日,星期天支持多態(tài)性的實(shí)現(xiàn)的語言應(yīng)具備的功能是:重載–––在特殊中對(duì)繼承來的屬性或服務(wù)進(jìn)行重新定義。動(dòng)態(tài)綁定–––在運(yùn)行時(shí)根據(jù)對(duì)象接收的消息動(dòng)態(tài)地確定要連接哪一段服務(wù)代碼。類屬(generic)–––服務(wù)參量的類型可以是參數(shù)化的。第36頁,共77頁,2024年2月25日,星期天7.2.8其他概念方法(Method) 方法,就是對(duì)象所能執(zhí)行的操作,也就是類中所定義的服務(wù)。方法描述了對(duì)象執(zhí)行操作的算法,響應(yīng)消息的方法。屬性(Attribute) 屬性,就是類中所定義的數(shù)據(jù),它是是客觀世界實(shí)體所具有的性質(zhì)的抽象。類的每個(gè)實(shí)例都有自己特有的屬性值。第37頁,共77頁,2024年2月25日,星期天重載(Overloading) 有兩種重載:函數(shù)重載是指在一同一作用域內(nèi)的若干個(gè)參數(shù)特征不同的函數(shù)可以使用相同的函數(shù)名字;運(yùn)算符重載是指同一運(yùn)算符可以施加于不同類型的操作數(shù)上面。當(dāng)然,當(dāng)參數(shù)特征不同或被操作數(shù)的類型不同時(shí),實(shí)現(xiàn)函數(shù)的算法或運(yùn)算符的語義是不相同的。第38頁,共77頁,2024年2月25日,星期天7.3對(duì)象模型

為了更好地理解問題,人們常常采用建立問題模型的方法。所謂模型,就是為了理解事物而對(duì)事物作出的一種抽象,是對(duì)事物的一種無歧以的書面描述。 模型由一組圖示符號(hào)和組織這些符號(hào)的規(guī)則組成,利用它們來定義和描述問題域中的術(shù)語和概念。第39頁,共77頁,2024年2月25日,星期天

所謂對(duì)象模型就是表示靜態(tài)的、結(jié)構(gòu)化的系統(tǒng)的“數(shù)據(jù)”性質(zhì)。它是客觀世界實(shí)體的對(duì)象以及對(duì)象彼此間的關(guān)系的映射的模擬,描述了系統(tǒng)的靜態(tài)結(jié)構(gòu)。第40頁,共77頁,2024年2月25日,星期天

在建立對(duì)象模型時(shí),我們的目標(biāo)是從客觀世界中提煉出對(duì)具體應(yīng)用有價(jià)值的概念。為了建立對(duì)象模型,需要定義一組圖形符號(hào),并且規(guī)定一組組織這些符號(hào)以表示特定語義的規(guī)則。第41頁,共77頁,2024年2月25日,星期天

面向?qū)ο蠓椒▽W(xué)的有許多表示方法,這些表示方法雖然形式各異。但是,它們共同的特點(diǎn)就是獨(dú)立于具體的開發(fā)模式。 現(xiàn)有的用于建立對(duì)象模型的表示方法,都包含下列符號(hào):

1.表示類的符號(hào)(應(yīng)該既能表示屬性又能表示服務(wù));第42頁,共77頁,2024年2月25日,星期天2.表示對(duì)象(類實(shí)例)的符號(hào);3.表示繼承關(guān)系的符號(hào);4.表示類和(或)對(duì)象間其他關(guān)系的符號(hào)。第43頁,共77頁,2024年2月25日,星期天7.3.1表示法1.對(duì)象符號(hào) 類符號(hào)通常用來代表一個(gè)沒有實(shí)例的抽象類。類符號(hào)是一個(gè)矩形框,由兩條橫線把矩形框分為三部分,最上面部分是類的名字,中間部分列出該類內(nèi)定義的屬性,最下面部分列出該類提的服務(wù)。第44頁,共77頁,2024年2月25日,星期天

圖7--5表示類的圖形符號(hào)普通對(duì)象由圖7--5所示的類符號(hào)表示。

第45頁,共77頁,2024年2月25日,星期天

當(dāng)不需要詳細(xì)描述一個(gè)類內(nèi)定義了哪些屬性和服務(wù)時(shí),可以僅在一個(gè)矩形框內(nèi)寫上類名代表該類;當(dāng)不需要列出一個(gè)類所提供的服務(wù)時(shí),可以僅用一條橫線把代表該類的矩形框分成兩半,上半部分寫上該類的名字,下半部分列出該類內(nèi)定義的屬性。第46頁,共77頁,2024年2月25日,星期天2.命名 類名是一類對(duì)象的名字,命名是否恰當(dāng)對(duì)系統(tǒng)的可理解性影響相當(dāng)大。名字應(yīng)該是富于描述性的、簡(jiǎn)潔的而且無二義性的。因此,命名時(shí)應(yīng)該遵守以下幾條準(zhǔn)則:(1)使用標(biāo)準(zhǔn)術(shù)語。(2)使用具有確切含義的名詞。第47頁,共77頁,2024年2月25日,星期天(3)必要時(shí)用名詞短語作名字。第48頁,共77頁,2024年2月25日,星期天7.3.2表示結(jié)構(gòu)

在面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì)中,結(jié)構(gòu)表示了問題域中的復(fù)雜關(guān)系,是對(duì)客觀世界實(shí)體相互間關(guān)系的抽象。 結(jié)構(gòu)與目標(biāo)系統(tǒng)的任務(wù)直接相關(guān),也就是說,目標(biāo)系統(tǒng)的任務(wù)決定了系統(tǒng)的結(jié)構(gòu)。第49頁,共77頁,2024年2月25日,星期天一般一特殊關(guān)系 一般--特殊關(guān)系反映了一個(gè)類與若干個(gè)互不相容的子類之間的分類關(guān)系。高層類定義一般性的屬性與服務(wù),低層類說明特殊屬性與服務(wù)。第50頁,共77頁,2024年2月25日,星期天

圖7—6表示一般--特殊關(guān)系的符號(hào)

第51頁,共77頁,2024年2月25日,星期天2.整體一部分關(guān)系 整體-部分結(jié)構(gòu)又稱組裝結(jié)構(gòu),用于描述系統(tǒng)中各類對(duì)象之間的組成關(guān)系,通過它可以看出某個(gè)類的對(duì)象以另外一些類的對(duì)象作為其組成部分。第52頁,共77頁,2024年2月25日,星期天

圖7—7表示整體-部分關(guān)系的圖形符號(hào)第53頁,共77頁,2024年2月25日,星期天

傳遞性是整體-部分關(guān)系具有的最重要的特性。如果A是B的一部分,B是C的一部分,則A也是C的一部分。當(dāng)組合關(guān)系有多個(gè)層次時(shí),可以用一棵簡(jiǎn)單的聚集樹來表示它。第54頁,共77頁,2024年2月25日,星期天

聚集樹是多級(jí)組合關(guān)系的一種簡(jiǎn)化表示形式。圖7--8是描繪一所學(xué)校結(jié)構(gòu)的聚集樹,它表明,一所學(xué)校由教務(wù)、總務(wù)、財(cái)務(wù)及若干系組成,每系由若干教研室和實(shí)驗(yàn)實(shí)組成。第55頁,共77頁,2024年2月25日,星期天

圖7--8學(xué)校結(jié)構(gòu)的聚集樹第56頁,共77頁,2024年2月25日,星期天3.關(guān)聯(lián)關(guān)系 通常把兩類對(duì)象之間的二元關(guān)系再細(xì)分為一對(duì)一(1:1)、一對(duì)多(1:M)和多對(duì)多(M:N)等三種基本類型,類型的劃分依據(jù)參與關(guān)聯(lián)的對(duì)角的數(shù)目。第57頁,共77頁,2024年2月25日,星期天

實(shí)際上,在面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì)中遇到的絕大多數(shù)關(guān)聯(lián)都是二元的,多元關(guān)聯(lián)的語義,表示及實(shí)現(xiàn),都比二元關(guān)聯(lián)復(fù)雜得多,只要有可能就應(yīng)該避免使用多元關(guān)聯(lián)。第58頁,共77頁,2024年2月25日,星期天7.3.3例子

對(duì)象模型把面向?qū)ο蟮母拍睿▽?duì)象、類、繼承等)與傳統(tǒng)方法中常用的住處建模概念結(jié)合起來了,從而改進(jìn)和拓廣了普通的信息模型析可理解性和表達(dá)能力。第59頁,共77頁,2024年2月25日,星期天

圖7--9是一家公司的對(duì)象模型,它表明,該公司有許多部門,部門名唯一地確定一個(gè)部門;每個(gè)部門由一名經(jīng)理管理,也有的經(jīng)理并不管理任何一個(gè)部門;每個(gè)部門生產(chǎn)多種產(chǎn)品,每種產(chǎn)品僅由一個(gè)部門生產(chǎn)。第60頁,共77頁,2024年2月25日,星期天

圖7--9公司的對(duì)象模型第61頁,共77頁,2024年2月25日,星期天

該公司有許多員工為之工作,員工又進(jìn)一步劃分為經(jīng)理和工人兩類。每名工人可參加多個(gè)工程項(xiàng)目,每個(gè)項(xiàng)目需要多名工人;每位經(jīng)理可以主持多個(gè)項(xiàng)目,每個(gè)項(xiàng)目?jī)H有一人主持。這個(gè)對(duì)象模型還描述了某些類對(duì)象所具有的屬性,以及公司類對(duì)象提供的服務(wù)。第62頁,共77頁,2024年2月25日,星期天7.4動(dòng)態(tài)模型

一旦建立起對(duì)象模型之后,就需要考察對(duì)象的動(dòng)態(tài)行為。動(dòng)態(tài)模型是表示瞬時(shí)的、行為化的系統(tǒng)的“控制”性質(zhì),它規(guī)定了對(duì)象模型中的對(duì)象的合法變化序列。第63頁,共77頁,2024年2月25日,星期天7.4.1術(shù)語事件 在某個(gè)特定時(shí)刻所發(fā)生的事情稱為事件。它是對(duì)引起對(duì)象從一種狀態(tài)轉(zhuǎn)換到另一種狀態(tài)的現(xiàn)實(shí)世界中的事件的抽象。2.狀態(tài) 對(duì)象在某個(gè)特定階段所處的情形就是狀態(tài)。它是對(duì)象行為的屬性值的一種抽象。狀態(tài)規(guī)定了對(duì)象對(duì)輸入事件的響應(yīng)方式。第64頁,共77頁,2024年2月25日,星期天

狀態(tài)與事件密不可分,一個(gè)事件分開兩個(gè)狀態(tài),一個(gè)狀態(tài)隔開兩上事件。事件表示時(shí)刻,狀態(tài)代表時(shí)間間隔。在定義狀態(tài)的時(shí)候,應(yīng)該忽略那些不影響對(duì)象行為的屬性。第65頁,共77頁,2024年2月25日,星期天3.行為 行為是指對(duì)象達(dá)到某種狀態(tài)時(shí)所做的一系列處理操作。這些操作是需要耗費(fèi)時(shí)間的。所有對(duì)象都具有自己的生命周期。第66頁,共77頁,2024年2月25日,星期天7.4.2表示方法圖7--10給出了狀態(tài)圖中使用的主要表示符號(hào)。第67頁,共77頁,2024年2月25日,星期天

狀態(tài)用圓形框或橢圓框表示,框內(nèi)可標(biāo)上狀態(tài)名也可以不給狀態(tài)起名字,行為在框內(nèi)用關(guān)鍵字do(后接冒號(hào))標(biāo)明。 從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)換用箭頭線表示,線上標(biāo)以事件名。必要時(shí)可在事件名后面加一個(gè)方括號(hào),括號(hào)內(nèi)寫上狀態(tài)轉(zhuǎn)換的條件。第68頁,共77頁,2024年2月25日,星期天7.4.3例子第69頁,共77頁,2024年2月25日,星期天

圖中表明,沒有創(chuàng)建時(shí),棧處于空狀態(tài);如果如果壓入數(shù)據(jù),棧處于半空狀態(tài);這時(shí)既可以繼續(xù)壓入,直到壓滿進(jìn)入滿狀態(tài)。也可以彈出,當(dāng)彈出最后一個(gè)數(shù)據(jù)后,棧就重新處于空狀態(tài)。就緒后……。第70頁,共77頁,2024年2月25日,星期天7.5功能模型

功能模型表示變化的系統(tǒng)的“功能”性質(zhì),它指明了系統(tǒng)應(yīng)該“做什么”,因此更直接地反映了用戶對(duì)目標(biāo)系統(tǒng)的需求。第71頁,共77頁,2024年2月25日,星期天7.5.1表示方法

通常,功能模型由一組數(shù)據(jù)流圖組成。一般說來,與對(duì)象模型和動(dòng)態(tài)模型比較起來,數(shù)據(jù)流圖并沒有增加新的信息,但是,建立功能模型有助于軟件開發(fā)人員更深入地理解問域,改進(jìn)和完善自己的設(shè)計(jì)。因此,不能完全忽視功能模型的作用。第72頁,共77頁,2024年2月25日,星期天7.5.2與其他兩種模型的關(guān)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論