軟件工程導(dǎo)論考試夾帶_第1頁
軟件工程導(dǎo)論考試夾帶_第2頁
軟件工程導(dǎo)論考試夾帶_第3頁
軟件工程導(dǎo)論考試夾帶_第4頁
軟件工程導(dǎo)論考試夾帶_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1.軟件危機(jī)的概念:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇到的一系

列嚴(yán)峻的問題。

2.產(chǎn)生軟件危機(jī)的緣由:一方面與軟件本身的特點(diǎn)有關(guān),另一方面也和軟

件開發(fā)與維護(hù)的方法不正確有關(guān)。

3.軟件工程的定義:是指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的一門工程學(xué)科。具體

如下:

開發(fā)進(jìn)度難以估計(jì),開發(fā)質(zhì)量難以衡量

設(shè)計(jì)中的錯(cuò)誤很難維護(hù)

規(guī)模浩大,而且程序困難性將隨著程序規(guī)模的增加而呈指數(shù)上升。

4.怎樣解決軟件危機(jī)?

⑴對軟件要有正確的相識

⑵軟件開發(fā)應(yīng)當(dāng)是一種組織良好、管理嚴(yán)密、各類人員協(xié)同協(xié)作、共同完

成的工程項(xiàng)目。

⑶應(yīng)當(dāng)推廣運(yùn)用在實(shí)踐中總結(jié)出來的開發(fā)軟件的勝利的技術(shù)和方法。

(4).應(yīng)當(dāng)開發(fā)和運(yùn)用更好的軟件工具。

5.可行性探討的任務(wù)?

⑴須要進(jìn)一步分析和澄清問題定義。

⑵導(dǎo)出系統(tǒng)的邏輯模型。

⑶最根木的任務(wù)是對以后的行動(dòng)方針提出建議。

6.需求分析

1.功能需求

這方面的需求指定系統(tǒng)必需供應(yīng)的服務(wù)。通過需求分析應(yīng)當(dāng)劃分出

系統(tǒng)必需完成的全部功能。

2.性能需求

軟件開發(fā)的技術(shù)性指標(biāo)。

例如:存儲容量限制

執(zhí)行速度、響應(yīng)時(shí)間

吞吐量

7.形式化說明技術(shù)

Z語言:形式化的規(guī)格說明語言中,較典型的一種語言。

用Z語言描述的,最簡潔的形式化規(guī)格說明含有四個(gè)部分:

(1)給定的集合,數(shù)據(jù)類型與常數(shù);

(2)狀態(tài)定義;

(3)初始狀態(tài);

(4)操作;

8.總體設(shè)計(jì)

模塊化:采納模塊化原理可以使軟件結(jié)構(gòu)清楚,簡潔設(shè)計(jì)也簡潔閱讀和理

解、測試。

抽象:抽象就是抽出事物的本質(zhì)特性而短暫不考慮它們的細(xì)微環(huán)節(jié)。

逐步求精:逐步求精:為了能集中精力解決主要問題而盡量推遲對問題

細(xì)微環(huán)節(jié)的考慮。

信息隱藏和局部化:該原理有利于提高模塊的內(nèi)聚性。

模塊獨(dú)立:模塊獨(dú)立重要性理由:

第一,有效的模塊化的軟件比較簡潔開發(fā)出來。

其次,獨(dú)立的模塊比較簡潔測試和維護(hù)。

9.具體設(shè)計(jì)

第一章

L軟件危機(jī)的概念:軟件危機(jī)是指在計(jì)算機(jī)軟件的開發(fā)和維護(hù)過程中所遇

到的一系列嚴(yán)峻的問題。

2.產(chǎn)生軟件危機(jī)的緣由:(1)開發(fā)人員方面,對軟件產(chǎn)品缺乏正確相識,

沒有真正理解軟件產(chǎn)品是一個(gè)完整的配置組成。造成開發(fā)中制定安排盲

目、編程草率,不考慮維護(hù)工作的必要性。⑵軟件本身方面,對于計(jì)算

機(jī)系統(tǒng)來說,軟件是邏輯部件,軟件開發(fā)過程沒有統(tǒng)一的、公認(rèn)的方法論

和規(guī)范指導(dǎo),造成軟件維護(hù)困難。(3)尤其是隨著軟件規(guī)模越來越大,困難

程度越來越高,原有軟件開發(fā)方式效率不高、質(zhì)量不能保證、成本過高、研

制周期不易估計(jì)、維護(hù)困難等一系列問題更為突出,技術(shù)的發(fā)展已經(jīng)遠(yuǎn)遠(yuǎn)

不能適應(yīng)社會需求。

〃3.軟件配置的主要包括程序、文文件和數(shù)據(jù)等成分。

4.軟件工程的定義:軟件工程是應(yīng)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)與管理科學(xué)等原理

開發(fā)軟件的工程。它借鑒傳統(tǒng)工程的原則、方法,以提高質(zhì)量,降低成本

為目的。

//5.所謂基準(zhǔn)配置又稱基線配置。

6.通常把在軟件生命周期全過程中運(yùn)用的一整套技術(shù)方法的集合稱為方法

學(xué),也稱為范型

7.軟件工程方法學(xué)包含三個(gè)要素:方法、工具和過程。

8.目前運(yùn)用得最廣泛的軟件工程方法學(xué),分別是傳統(tǒng)方法學(xué)和面對對象方

法學(xué)

9.傳統(tǒng)方法學(xué)也稱為生命周期方法學(xué)或結(jié)構(gòu)化范型

10.面對對象方法學(xué)的四個(gè)要點(diǎn):1.把對象作為融合了數(shù)據(jù)與在數(shù)據(jù)上的

操作行為的統(tǒng)一的軟件構(gòu)件2.把全部對象都劃分成類3.依據(jù)父類(或稱

為基類)與子類(或稱為派生類)的關(guān)系,把若干個(gè)相關(guān)類組成一個(gè)層次

結(jié)構(gòu)的系統(tǒng)(也稱為類等級)。4.對象彼此間僅能通過發(fā)送消息相互聯(lián)系。

1L軟件生命周期:軟件定義(問題定義,可行性探討,需求分析)、軟件

開發(fā)(總體設(shè)計(jì),具體設(shè)計(jì),編碼,單元測試,總體測試)、運(yùn)行維護(hù)(長

久地滿意用戶的須要)

12.最基本的測試是集成測試和驗(yàn)收測試。

13.瀑布模型,快速原型模型,增量模型,螺旋模型,噴泉模型,概念,方

法.優(yōu)缺點(diǎn),區(qū)分。

14.所謂構(gòu)件就是功能清楚的模塊或子系統(tǒng)

15.RUP(Rational統(tǒng)一過程)軟件開發(fā)的生命周期是一個(gè)二維的生命周

期模型

16.“極限”二字的含義是指把好的開發(fā)實(shí)踐運(yùn)用到極致

17.微軟過程把軟件生命周期劃分為成5個(gè)階段:規(guī)劃階段,設(shè)計(jì)階段,

開發(fā)階段,穩(wěn)定階段,發(fā)布階段。

18.面對對象方法=對象+類+繼承+用消息通信

其次章可行性探討

19.可行性探討的目的就是用最小的代價(jià)在盡可能多的時(shí)間內(nèi)確定問題能

否能夠解決。

20.可行性包括:技術(shù)可行性,經(jīng)濟(jì)可行性,操作可行性。

21.系統(tǒng)流程圖是概括地描繪物理系統(tǒng)的傳統(tǒng)工具。它的基本思想是用圖

形符號以黑盒子形式描繪組成系統(tǒng)的每個(gè)部件(程序,文文件,數(shù)據(jù)庫,

人工過程等)o系統(tǒng)流程圖表達(dá)的是數(shù)據(jù)在系統(tǒng)各部件之間流淌的狀況,

而不是對數(shù)據(jù)加工處理的限制過程,因此盡管系統(tǒng)流程圖的某些符號和程

序流程圖的符號形式相同,但是它卻是物理數(shù)據(jù)流程圖而不是程序流程

圖。

22.書庫流圖(DFD)是一種圖形化技術(shù),它描繪信息流和數(shù)據(jù)從輸入移動(dòng)到

輸出的過程中所經(jīng)受的變換。在數(shù)據(jù)流程圖中沒有任何具體的物理部件,

它只描繪數(shù)據(jù)在軟件中流淌和被處理的邏輯過程。數(shù)據(jù)流程圖是系統(tǒng)邏輯

功能的圖形表示。

23.用系統(tǒng)流程圖描繪一個(gè)系統(tǒng)時(shí),系統(tǒng)的功能和實(shí)現(xiàn)每個(gè)功能的具體方

案是混在一起的。

24.有數(shù)據(jù)元素組成的數(shù)據(jù)的方式只有下述3種基本類型:依次(即以確

定次序連接兩個(gè)或多個(gè)重量)。選擇即從兩個(gè)或多個(gè)可能的元素中選取一

個(gè)重復(fù)即把指定的重量重復(fù)零次或多次。

笫三章

25.訪談?dòng)袃煞N基本形式,分別是正式的和非正式的訪談

26.所謂情景分析就是對用戶將來運(yùn)用目標(biāo)系統(tǒng)解決某個(gè)具體問題的方法

和結(jié)果進(jìn)行分析

27.結(jié)構(gòu)化分析方法就是面對數(shù)據(jù)流自頂向下逐步求精進(jìn)行需求分析的方

法。

28.運(yùn)用簡易的應(yīng)用規(guī)格說明技術(shù)分析需求的典型過程:(總結(jié)出來)

29.快速原型就是快速建立起來的旨在演示目標(biāo)系統(tǒng)主要功能的可運(yùn)行的

程序。

30.所謂模型就是為了理解事物而對事物作出的一種抽象,是對事物的一

種無岐義的書面描述。

31.需求分析過程應(yīng)當(dāng)建立3種模型,它們分別是數(shù)據(jù)模型,功能模型,

行為模型.

32.概念性數(shù)據(jù)模型是一種面對問題的數(shù)據(jù)模型,是依據(jù)用戶的觀點(diǎn)對數(shù)

據(jù)建立的模型

33.數(shù)據(jù)對象是對軟件必需理解的符合信息的抽象。

34.數(shù)據(jù)對象彼此之間相互連接的方式稱為聯(lián)系,也稱為關(guān)系。聯(lián)系可分

為3種類型:一對一聯(lián)系,一對多聯(lián)系,多對多聯(lián)系。

35.狀態(tài)時(shí)任何可以被視察到的系統(tǒng)行為模式,一個(gè)狀態(tài)代表系統(tǒng)的一種

行為模式。

36.事務(wù)就是引起系統(tǒng)做動(dòng)作或(和)轉(zhuǎn)換狀態(tài)的限制信息。

37.IPO圖是輸入,處理,輸出圖的簡稱。

38.軟件的驗(yàn)證:一樣性,完整性,現(xiàn)實(shí)性,有效性

第五章

42.總體設(shè)計(jì)過程通常由兩個(gè)主要階段組成:系統(tǒng)設(shè)計(jì)階段,確定系統(tǒng)的

具體實(shí)現(xiàn)方案;結(jié)構(gòu)設(shè)計(jì)階段,確定軟件結(jié)構(gòu)。

43.模塊是由邊界元素限定的相鄰程序元素(例如,數(shù)據(jù)說明,可執(zhí)行的

語句)的序列。

44.抽象就是抽出事物的本質(zhì)特性而短暫不考慮它們的細(xì)微環(huán)節(jié)。

45.逐步求精定義:為了能集中精力解決主要問題而盡量推遲對問題細(xì)微

環(huán)節(jié)的考慮。

46.抽象程序?qū)Τ橄蟮臄?shù)據(jù)進(jìn)行某些特定的運(yùn)算并用某些合適的記號(可

能是自然語言)來表示。

47.信息隱藏,信息隱藏的原理,

48.局部化就是把一些關(guān)系親密的軟件元素物理的放得彼此靠近。

49.耦合是對一個(gè)軟件結(jié)構(gòu)內(nèi)不同模塊之間互連程度的度量。

50.數(shù)據(jù)耦合是低耦合,限制耦合式中等程度的耦合,最高程度的耦合式

內(nèi)容耦合。

51.假如一個(gè)模塊完成一組任務(wù),這些任務(wù)彼此間即使有關(guān)系,關(guān)系也是

很松散的,就叫做偶然內(nèi)聚。

52.中內(nèi)聚主要有兩類:假如一個(gè)模塊內(nèi)的處理元素是相關(guān)的,而且必需

以特定次序執(zhí)行,則稱為過程內(nèi)聚。

53.高內(nèi)聚也有兩類:假如一個(gè)模塊內(nèi)的處理元素和同一個(gè)功能親密相關(guān),

而且這些處理必需依次執(zhí)行,則稱為依次內(nèi)聚。深度表示軟件結(jié)構(gòu)中限制

的層數(shù),它往往能粗略的標(biāo)記一個(gè)系統(tǒng)的大小和困難程度。

54.寬度是軟件結(jié)構(gòu)內(nèi)同一個(gè)層次上的模塊總數(shù)的最大值。

55.扇出事一個(gè)模塊干脆限制(調(diào)用)的模塊數(shù)目。

56.一個(gè)模塊的扇入表明有多少個(gè)上級模塊干脆調(diào)用它。

57.設(shè)計(jì)的很好的軟件結(jié)構(gòu)通常頂層扇出比較高,中層扇出比較少,底層

扇入到公共的好用模塊中去(底層模塊有高扇出)

58.模塊的作用域應(yīng)當(dāng)在限制域之內(nèi)(2種方法)?????

59.面對數(shù)據(jù)流的設(shè)計(jì)方法把信息流映像成軟件成結(jié)構(gòu),信息流的類型確

定了映射的方法。信息流有兩種類型:變換流,事務(wù)流。

60.總體設(shè)計(jì)階段的基本目的是用比較抽象概括的方式確定系統(tǒng)如何完成

預(yù)定的任務(wù),也就是說,應(yīng)當(dāng)確定系統(tǒng)的物理配置方案。并且進(jìn)而確定組

成系統(tǒng)的每個(gè)程序的結(jié)構(gòu)。

61.在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí)應(yīng)當(dāng)遵循的最主要的原理是模塊獨(dú)立原理。

62.

第六章

63.結(jié)構(gòu)程序設(shè)計(jì)的經(jīng)典定義:假如一個(gè)程序的代碼僅僅通過依次,選擇

和循環(huán)這3種基本結(jié)構(gòu)進(jìn)行連接,并且每個(gè)代碼塊只有一個(gè)入口和一個(gè)出

口,則稱這個(gè)程序是結(jié)構(gòu)化的。

64.系統(tǒng)響應(yīng)時(shí)間指從用戶完成某個(gè)限制動(dòng)作(例如,按回車鍵或單擊鼠

標(biāo)),到軟件給出預(yù)期的響應(yīng)(輸出信息或動(dòng)作)之間的這段時(shí)間。

65.系統(tǒng)響應(yīng)時(shí)間有兩個(gè)重要的屬性:長度和易變性。

66.易變性指系統(tǒng)響應(yīng)時(shí)間相對于平均響應(yīng)時(shí)間的偏差。

67.一般交互指南涉與信息顯示,數(shù)據(jù)輸入和系統(tǒng)整體限制。

68.過程涉與的工具:程序流程圖,盒圖,PAD圖,判定表,判定樹

69.PDL作為一種設(shè)計(jì)工具有如下一些特點(diǎn)(要求看懂偽碼)

第七章

70.通常把編碼和測試統(tǒng)稱為實(shí)現(xiàn)。

71.編碼和單元測試屬于軟件生命周期的同一個(gè)階段。

72.編碼的標(biāo)準(zhǔn):1.系統(tǒng)用戶的要求2.可以運(yùn)用的編譯程序3.可以得到的

軟件工具4.工程規(guī)模5.程序員的學(xué)問6.軟件可移植性要求7.軟件的應(yīng)用

領(lǐng)域

73.所謂程序內(nèi)部的文文件包括恰當(dāng)?shù)臉?biāo)識符、適當(dāng)?shù)淖⑨尯统绦虻囊曈X

組織等。

74.當(dāng)多個(gè)變量名在一個(gè)語句中說明時(shí),應(yīng)當(dāng)按字母依次排列這些變量。

75.效率主要指處理機(jī)時(shí)間和內(nèi)存容量兩個(gè)方面。

76.在大型計(jì)算機(jī)中必需考慮操作系統(tǒng)頁式調(diào)度的特點(diǎn),一般說來,運(yùn)用

能保持功能域的結(jié)構(gòu)化限制結(jié)構(gòu),是提高效率的好方法。

77.二級內(nèi)存的輸入輸出應(yīng)當(dāng)以信息組為單位進(jìn)行。

78.測試階段的根本目標(biāo)是盡可能地發(fā)覺并解除軟件中潛藏的錯(cuò)誤,最終

把一個(gè)高質(zhì)量的軟件系統(tǒng)交給用戶運(yùn)用。

79.軟件測試的目標(biāo):1.測試是為了發(fā)覺程序中的錯(cuò)誤而執(zhí)行程序的過程

2.好的測試方案是發(fā)覺了至今為止發(fā)覺的錯(cuò)誤的測試3.勝利的測試是發(fā)

覺了至今為止尚未發(fā)覺的錯(cuò)誤的測試。

80.測試的正確定義是“為了發(fā)覺程序中的錯(cuò)誤而執(zhí)行程序的過程”。

第八章

81.軟件工程的主要目標(biāo)就是要提高軟件的可維護(hù)性,削減軟件維護(hù)所須

要的工作量,降低軟件系統(tǒng)的總成本。

82.所謂軟件維護(hù)就是在軟件應(yīng)經(jīng)交付運(yùn)用之后,為了改正錯(cuò)誤或滿意新

的須要而修改軟件的過程。

83.四種維護(hù)的定義:1.改正性維護(hù)2.適應(yīng)性維護(hù)3.完善性維護(hù)4.預(yù)防性

維護(hù)。P189

84.用于維護(hù)工作的勞動(dòng)可以分成生產(chǎn)性活動(dòng)和非生產(chǎn)性活動(dòng)°

85.每個(gè)維護(hù)要求都通過維護(hù)管理員轉(zhuǎn)交給熟識該產(chǎn)品的系統(tǒng)管理員去評

價(jià)。

86.適應(yīng)性維護(hù)和完善性維護(hù)的要求沿著相同的事務(wù)流通路前進(jìn)。

87.當(dāng)發(fā)生惡性的軟件問題時(shí),就出現(xiàn)所謂的“救火”維護(hù)要求。

88..評價(jià)維護(hù)活動(dòng):1.每次程序運(yùn)行平均失效的次數(shù)2、用于每一類維護(hù)

活動(dòng)的總?cè)藭r(shí)數(shù)。3.平均每個(gè)程序、每種語言、每種維護(hù)類型所作的程序

變動(dòng)數(shù)4.維護(hù)過程中增加或刪除一種源語句平均花費(fèi)的人時(shí)數(shù)5.維護(hù)每

種語言平均花費(fèi)的人時(shí)數(shù)6.一張維護(hù)要求表的平均周轉(zhuǎn)時(shí)間7.不同維護(hù)

類型所占的百分比。

89.可以把軟件的可維護(hù)性定性的定義為:維護(hù)人員理解,改正,改動(dòng)或

改進(jìn)這個(gè)軟件的難易程度。

90.確定軟件可維護(hù)性的因素:1.可理解性可測試性可修改性可移植性

可重用性

91.所謂重用是指同一事物不做修改或稍加改動(dòng)就在不同環(huán)境中多次重復(fù)

運(yùn)用。

92.軟件系統(tǒng)的文文件可以分為用戶文文件和系統(tǒng)文文件兩類。用戶文文

件主要描述系統(tǒng)功能和運(yùn)用方法,并不關(guān)切這些功能是怎樣實(shí)現(xiàn)的;系統(tǒng)

文文件描述系統(tǒng)發(fā)設(shè)計(jì)、實(shí)現(xiàn)和測試等各方面的內(nèi)容預(yù)防性維護(hù)方法是由

Miller提出來的,他把這種方法定義為“把今日的方法學(xué)應(yīng)用到昨天的系

統(tǒng)上,以支持明天的需求

第九章面對對象方法學(xué)引論

93.使描述問題的‘問題空間'(也稱為問題域)與實(shí)現(xiàn)解法的解空間(也

稱為求解域)在結(jié)構(gòu)上盡可能一樣。

94.人們把計(jì)算機(jī)中的實(shí)體稱為解空間對象。

95.對對象施加的操作就是該對象的行為。

96.面對對象方法學(xué)的優(yōu)點(diǎn):1.與人類習(xí)慣的思維方法一樣2.穩(wěn)定性好3.

可重用性好4.輕易開發(fā)大型軟件軟件產(chǎn)品5.可維護(hù)性好

97.面對對象方法學(xué)的基本原則是依據(jù)人類習(xí)慣的思維方法建立問題域的

模型,開發(fā)出盡可能直觀、自然地表現(xiàn)求解的軟件系統(tǒng)。

98.傳統(tǒng)的軟件重用技術(shù)是利用標(biāo)準(zhǔn)函數(shù)庫。

99.對象的概念:在應(yīng)用領(lǐng)域中有意義的、與所要解決的問題有關(guān)系的任

何事物都可以作為對象,它既可以是具體的物理實(shí)體的抽象,也可以是認(rèn)

為的概念,或者是任何有明確邊界和意義的東西。

1。0.通常把對象的操作稱為服務(wù)或方法。

101.對象的定義:定義1.對象是具有相同狀態(tài)的一組操作的集合定義2.

對象是對問題域中某個(gè)東西的抽象,這種抽象反映了系統(tǒng)保存有關(guān)這個(gè)東

西的信息或它交互的實(shí)力,也就是說,對象是對屬性值和操作的封裝。

1。2.對象是封裝可數(shù)據(jù)結(jié)構(gòu)與可以施加在這些數(shù)據(jù)結(jié)構(gòu)上的操作的封裝

103.對象中的數(shù)據(jù)表示對象的狀態(tài),一個(gè)對象的狀態(tài)只能由該對象的操作

來變更。

104.對象的特點(diǎn):1.以資料為中心2.對像是主動(dòng)的3.實(shí)現(xiàn)了數(shù)據(jù)封裝4.

本質(zhì)上具有并行性5.模塊獨(dú)立性好

1。5.類是具有相同屬性和行為的一個(gè)或多個(gè)對象的描述。

1。6.類是支持繼承的抽象的抽象數(shù)據(jù)類型,而對象就是類的實(shí)例。

1。7.實(shí)例就是由某個(gè)特定的類型所描述的一個(gè)具體的對象。

1。8.消息就是要求某個(gè)對象執(zhí)行在定義它的那個(gè)類中所定義的某個(gè)操作

的規(guī)格說明

1。9.消息的3個(gè)組成部分:1.接收消息的對象2.消息選擇符(也稱為消息

名)3.零個(gè)或多個(gè)變元

110.方法就是對象所能執(zhí)行的操作,也就是類中所定義的服務(wù),方法描述

了對象執(zhí)行操作的算法,響應(yīng)消息的方法,在C++語言中把方法稱為成員

函數(shù)。

111.屬性就是類中所定義的數(shù)據(jù),它是對客觀世界實(shí)體所具有的性質(zhì)的抽

象。類中的每個(gè)實(shí)例都有自己特有的屬性值。在C++語言中把屬性稱為數(shù)

據(jù)成員。

112.所謂封裝就是把某個(gè)事物包起來,使外界不知道該事物的具體內(nèi)容。

113.對象具有封裝性的條件:1.有一個(gè)清矮地邊界2.有確定的界面(即協(xié)

議)3.受愛護(hù)的內(nèi)部實(shí)現(xiàn)。

114.對象類實(shí)質(zhì)上是抽象數(shù)據(jù)類型。

115.繼承是指能夠干脆獲得已有的性質(zhì)和特征,而不必重復(fù)定義它們,在

面對對象的軟件技術(shù)中,繼承是子類自動(dòng)地共享基類中定義的數(shù)據(jù)和方法

的機(jī)制。繼承具有傳遞性

116.多態(tài)性是指子類對象可以像父類對象那樣運(yùn)用,同樣的消息既可以發(fā)

送給父類對象也可以發(fā)送給子類對象。也就是說,在類等級的不同層次中

可以共享(公用)一個(gè)行為(方法)的名字,然而不同層次中的每個(gè)類卻

各自按自己的需求來實(shí)現(xiàn)這個(gè)行為。

117.在C++語言中,多態(tài)性事通過虛函數(shù)來實(shí)現(xiàn)的。虛函數(shù)機(jī)制使得程序

員能在一個(gè)類等級中運(yùn)用相同函數(shù)的多個(gè)不同版本,在運(yùn)行時(shí)刻才依據(jù)接

收消息的對象所屬于的類,確定究竟執(zhí)行哪個(gè)特定的版本,這稱為動(dòng)態(tài)聯(lián)

編,也叫滯后聯(lián)編。

118.函數(shù)重載是指在同一作用域內(nèi)的若干參數(shù)特征不同的函數(shù)可以運(yùn)用

相同的函數(shù)名字;運(yùn)算符重載是指同一運(yùn)算符可以施加與不同類型的操作

數(shù)上面。

119.在C++語言中函數(shù)重載時(shí)通過靜態(tài)聯(lián)編(也叫從前聯(lián)編)實(shí)現(xiàn)的。

120.通常須要建立3種形式的模型,它們分別是描述系統(tǒng)數(shù)據(jù)結(jié)構(gòu)的對象

模型,描述系統(tǒng)限制結(jié)構(gòu)的動(dòng)態(tài)模型和描述系統(tǒng)功能的功能模型。

121.類圖描述類與類之間的靜態(tài)關(guān)系。

123.類的屬性中還可以有一種能夠該類全部對象共享的屬性,稱為類的作

用域?qū)傩?,也稱為類變數(shù).

124.關(guān)聯(lián)表示兩個(gè)類的對象之間存在某種語義上的聯(lián)系。

125.關(guān)聯(lián):一般關(guān)聯(lián),關(guān)聯(lián)的角色,限定關(guān)聯(lián),關(guān)聯(lián)類P219

126.聚集也稱為聚合,是關(guān)聯(lián)的特例。聚集表示類與類之間的關(guān)系式整體

與部分的關(guān)系。

127.除了一般聚集之外,還有特別的聚集關(guān)系,分別是共享聚集和組合聚

集。

128.沒有具體對象的類稱為抽象類。抽象類通常作為父類,用于描述其它

類(子類)的公共屬性和行為。

129.多重繼承指的是,一個(gè)子類可以同時(shí)多次繼承同一個(gè)上層基類

130.與多重繼承相反的是不相交繼承,即一個(gè)子類不能多次繼承同一個(gè)基

131完全繼承指的是父類的全部子類都已在類的圖中窮舉出來了。

132不完全繼承與完全繼承恰好相反,父類的子類并沒有都窮舉出來,隨

著對問題理解的深化,可不斷補(bǔ)充和維護(hù)。

133依靠和細(xì)化:1.依靠關(guān)系2.細(xì)化關(guān)系

134.動(dòng)態(tài)模型它規(guī)定了對象模型中的對象的合法變更序列。

136.所謂狀態(tài)是對對象屬性值的一種抽象

137.一個(gè)觸發(fā)行為稱作一個(gè)事務(wù)

138.一個(gè)事務(wù)分開兩個(gè)狀態(tài),一個(gè)狀態(tài)隔開兩個(gè)事務(wù),事務(wù)表示時(shí)刻,狀

態(tài)代表時(shí)間間隔。

139.功能模型有一組數(shù)據(jù)流程圖組成。

140.一幅用例圖包含的模型元素有系統(tǒng)、行為者、用力與用例之間的關(guān)系。

141.用例的定義:一個(gè)用例是可以被行為者感受到的、系統(tǒng)的一個(gè)完整的

功能。

142.行為者指與系統(tǒng)交互的人或其它系統(tǒng),它代表外部實(shí)體。

143.行為者代表一種角色,而不是某個(gè)具體的人或物。

144.可以把行為者分成主行為者和副行為者,還可以分成主動(dòng)行為者和被

動(dòng)行為者。

145.UML用例之間主要有擴(kuò)展和運(yùn)用兩種關(guān)系,它們是泛化關(guān)系的兩種

不同形式。

第十章

146.面對對象分析(OOA)的關(guān)鍵是識別出問題域內(nèi)的類和對象,并分

析它們相互間的關(guān)系,最終建立起問題域的簡潔、精確、可理解的正確模

型。

146.一個(gè)用例必需至少與一個(gè)行為者相關(guān)聯(lián)。

147.面對對象分析,就是抽取和整理用戶需求并建立問題域精確模型的過

程。

148.面對對象建模型得到的模型包含形同的3個(gè)要素,即靜態(tài)結(jié)構(gòu)(對象

模型)、交互次序(動(dòng)態(tài)模型)和數(shù)據(jù)變換(功能模型)。

149.困難問題(大型系統(tǒng))的對象模型通常由下述5個(gè)層次組成:主題層、

類與對象層、結(jié)構(gòu)層、屬性層、服務(wù)層。

150.建立對象模型的5項(xiàng)主要活動(dòng):找出類與對象,識別結(jié)構(gòu),識別主題,

定義屬性,定義服務(wù)。

151.需求陳述的內(nèi)容包括:問題范圍,功能需求,性能需求,應(yīng)用環(huán)境與

假設(shè)條件等。

152.面對對象分析首要的工作,是建立問題域的對象模型。這個(gè)模型描述

了現(xiàn)實(shí)世界中的“類與對象”以與它們之間的關(guān)系,表示了目標(biāo)系統(tǒng)的靜

態(tài)數(shù)據(jù)結(jié)構(gòu)°

153.典型的工作步驟是:首先確定對象類和關(guān)聯(lián)(因?yàn)樗鼈冇绊懴到y(tǒng)整體

結(jié)構(gòu)和解決問題的方法),對于大型困難問題還要進(jìn)一步劃分出若干主題;

然后給類和關(guān)聯(lián)增加屬性,以進(jìn)一步描述它們;接下來利用適當(dāng)?shù)睦^承關(guān)

系進(jìn)一步合并和組織類。而對類中操作的最終確定,則須要等到建立了動(dòng)

態(tài)模型和功能模型之后,因?yàn)檫@兩個(gè)子模型更精確地描述了對類中供應(yīng)的

服務(wù)的需求。

154.非正式分析:這種分析方法以用自然語言書寫的需求陳述為依據(jù),把

陳述中的名詞作為類與對象的候選者,用形容詞作為確定屬性的線索,把

動(dòng)詞作為服務(wù)(操作)的候選者。

155.本身具有屬性需獨(dú)立存在的操作,應(yīng)當(dāng)作為類與對象。

156.可以運(yùn)用兩種建立繼承(即泛化)關(guān)系:自底向上自頂向下

157.建立動(dòng)態(tài)模型的第一步,是編寫典型交互行為的腳本。

158.腳本是指系統(tǒng)在某一執(zhí)行時(shí)間期間內(nèi)的交互過程,以便對目標(biāo)系統(tǒng)的

行為有更具體的相識。

159.功能模型表明白系統(tǒng)中數(shù)據(jù)之間的依靠關(guān)系,以與有關(guān)的數(shù)據(jù)處理功

能,它由一組數(shù)據(jù)流程圖組成。

160.應(yīng)當(dāng)細(xì)致比照狀態(tài)圖和數(shù)據(jù)流程圖,以便更正確地確定對象應(yīng)當(dāng)供應(yīng)

的服務(wù)。

161.盡量利用繼承機(jī)制以削減所須要定義的服務(wù)數(shù)目。

第十一章面對對象設(shè)計(jì)

162.設(shè)計(jì)則是把分析階段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的,抽象

的系統(tǒng)實(shí)現(xiàn)方案的過程。

163.系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)系統(tǒng)的高層結(jié)構(gòu)。對象設(shè)計(jì)

確定解空間中的類,關(guān)聯(lián),接口形式與實(shí)現(xiàn)服務(wù)的算法。

164.所謂優(yōu)秀設(shè)計(jì),就是權(quán)衡了各種因素,從而使得系統(tǒng)在其整個(gè)生命周

期中的總開銷最小的設(shè)計(jì)。

165.面對對象設(shè)計(jì)準(zhǔn)則:1.模塊化2.抽象3.信息隱藏4.弱耦合5.強(qiáng)內(nèi)聚

6.可重用

166.在面對對象設(shè)計(jì)中存在下述3種內(nèi)聚;1.服務(wù)內(nèi)聚2.類內(nèi)聚3.一般-

特別內(nèi)聚

167.重用有兩個(gè)方面的含義:一是盡量運(yùn)用已有的類(包括開發(fā)環(huán)境供應(yīng)

的類庫,與以往開發(fā)類似系統(tǒng)時(shí)創(chuàng)建的類),二是假如的確須要?jiǎng)?chuàng)建新類,

則在設(shè)計(jì)這些新類的協(xié)議時(shí),應(yīng)當(dāng)考慮將來的可重復(fù)運(yùn)用性。

168.保證設(shè)計(jì)結(jié)果清楚易懂的主要因素如%1.用詞一樣2.運(yùn)用已有的協(xié)

議3.削減消息模式的數(shù)目4.避開模糊的定義

169.一個(gè)類供應(yīng)的公共服務(wù)不超過7個(gè)

170.消息中參數(shù)不要超過3個(gè)

171.一般只有3-5行源程序語句。

172.通常把類屬的體系結(jié)構(gòu)模板稱為領(lǐng)域體系結(jié)構(gòu)。

173.面對對象技術(shù)中的“類”,是比較志向的可重用軟構(gòu)件,不妨稱之為

類構(gòu)件。類構(gòu)件有3種重用方式,分別是實(shí)例重用、繼承重用、和多態(tài)重

174.可重用軟構(gòu)件應(yīng)具備的特點(diǎn):1.模塊獨(dú)立強(qiáng)2.具有高度可塑性3.接

口清楚,簡明、牢靠。

175.轉(zhuǎn)換接口,是為了克服與表示方法、數(shù)據(jù)結(jié)構(gòu)或硬件特點(diǎn)相關(guān)的操作

給重用帶來的困難而設(shè)計(jì)的,這類接口是每個(gè)類構(gòu)件在重用時(shí)都必需重新

定義的服務(wù)的集合。當(dāng)運(yùn)用C++語言編程時(shí),應(yīng)當(dāng)在根類(或適當(dāng)?shù)幕悾?/p>

中,把屬于轉(zhuǎn)換接口的服務(wù)定義為純虛函數(shù)。

176.當(dāng)用C++語言實(shí)現(xiàn)時(shí),在基類中把這類服務(wù)定義為一般的虛函數(shù)。

177.

178.系統(tǒng)的主要組成部分稱為子系統(tǒng)

179.子系統(tǒng)的數(shù)目應(yīng)當(dāng)與系統(tǒng)規(guī)?;酒ヅ?。

180.子系統(tǒng)之間的兩種交互方式:客戶-供貨商關(guān)系同等伙伴關(guān)系

181.層次結(jié)構(gòu)又可以進(jìn)一步劃分成兩種模式:封閉式和開放式。

182.窄菱模式,闊菱模式P271

183.所謂吩咐層次,實(shí)質(zhì)上是用過程抽象機(jī)制組織起來的、可供選用的服

務(wù)的表示。

184.所謂限制線,是一條編輯狀態(tài)圖集合的路徑,在這條路徑上每次只有

一個(gè)對象是活動(dòng)的。在計(jì)算機(jī)系統(tǒng)中用任務(wù)實(shí)現(xiàn)限制線,一般認(rèn)為是進(jìn)程

的別名。通常把多個(gè)任務(wù)的并發(fā)執(zhí)行稱為多任務(wù)。

185.事務(wù)通常是表明某些數(shù)據(jù)到達(dá)的信號。

186.時(shí)間驅(qū)動(dòng)型任務(wù)的工作過程如下:任務(wù)設(shè)置了喚醒時(shí)間后進(jìn)入睡眠狀

態(tài);任務(wù)睡眠(不消耗處理器時(shí)間),等待來自系統(tǒng)的中斷;一旦接收到

這種中斷,任務(wù)就被喚醒并做他的工作,通知有關(guān)的對象,然后該任務(wù)又

回到睡眠狀態(tài)。

187.設(shè)計(jì)者必需通過計(jì)算系統(tǒng)載荷(即每秒處理的業(yè)務(wù)數(shù)與處理一個(gè)業(yè)務(wù)

所花費(fèi)的時(shí)間),來估算所須要的CPU(或其它固件)的處理實(shí)力。

188.運(yùn)用硬件實(shí)現(xiàn)某些子系統(tǒng)的主要緣由:1.現(xiàn)有的硬件完全能滿意某些

方面的需求2.專用硬件比通用的CPU性能更高。

189.功能模型指明白系統(tǒng)必需供應(yīng)的服務(wù)。

190.通過某種運(yùn)算而從其它數(shù)據(jù)派生出來的數(shù)據(jù),是一種冗余數(shù)據(jù)。

191.托付:把一類對象作為另一類對象的屬性,從而在兩類對象間建立組

合關(guān)系

第十二章

192.面對對象實(shí)現(xiàn)主要包括兩項(xiàng)工作:把面對對象設(shè)計(jì)結(jié)果翻譯成用某種

程序語言書寫的面對對象程序;測試并調(diào)試面對對象的程序。

193.全部面對對象語言都允許用戶動(dòng)態(tài)創(chuàng)建對象,并且可以用指針引用動(dòng)

態(tài)創(chuàng)建的對象。

194.一般說來,有兩種實(shí)現(xiàn)方法,分別運(yùn)用指針和獨(dú)立的關(guān)聯(lián)對象實(shí)現(xiàn)整

體-部分結(jié)構(gòu)。

195.通常運(yùn)用強(qiáng)類型編譯型語言開發(fā)軟件產(chǎn)品,運(yùn)用弱類型說明型語言快

速開發(fā)原型。

196.所謂參數(shù)化類,就是運(yùn)用一個(gè)或多個(gè)類型去參數(shù)化一個(gè)類的機(jī)制,

197.至少應(yīng)當(dāng)包括下列一些基本的軟件工具:編輯程序,編譯程序或說明

程序,閱讀工具,調(diào)試器等。

198.在開發(fā)大型系統(tǒng)的時(shí)候,須要有系統(tǒng)構(gòu)造工具和變動(dòng)限制工具。

199.提高可重用性的主要準(zhǔn)側(cè):1.提高方法的內(nèi)聚2.減小

溫馨提示

  • 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

提交評論