




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、軟件工程導論全冊配套軟件工程導論全冊配套復習重點課件復習重點課件考試題型一、單項選擇題(10個小題,共20分)二、填空題(10個小題,共20分)三、簡答題(4個小題,共20分)五、綜合題綜合題 (4個小題,共40分)軟件工程課程的內容軟件工程課程的內容軟件工程學概述軟件工程學概述結構化方法學結構化方法學(生命周期方法學)(生命周期方法學)面向對象方法學面向對象方法學軟件項目管理軟件項目管理可行性研究可行性研究需求分析需求分析形式化說明技術形式化說明技術總體設計總體設計詳細設計詳細設計實現實現維護維護面向對象方法學引論面向對象方法學引論面向對象分析面向對象分析面向對象設計面向對象設計面向對象實現
2、面向對象實現第1章 軟件工程學概述 重點: 1.產生軟件危機的原因 2.消除軟件危機的途徑 3.軟件工程的基本原理 4.軟件生命周期的三個時期和八個階段 5.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型 復習要點: 1.軟件生命周期的3個時期、8個階段 2.軟件工程方法學:傳統方法學和面向對象方法學 3.軟件過程模型:瀑布模型、快速原型模型、增量模型、螺旋模型第2章 可行性研究 重點 1.畫系統流程圖的方法 2.畫數據流圖的方法 3.數據字典的用途 4.數據字典的實現 復習要點 1.可行性研究主要研究系統的哪些可行性? 2.掌握數據流圖的畫法 3.數據流圖與程序流程圖的區別第3章
3、需求分析 重點 1.需求分析的任務 2.獲取需求的方法 3.分析建模 4.實體-聯系圖 復習要點 1.需求分析的基本任務是分析系統做什么,確定系統的邏輯功能。 2.需求分析階段建立3種模型:數據模型、功能模型、行為模型。 3.掌握實體-聯系圖(E-R圖)的畫法。第5章 總體設計 重點 1. 設計原理:模塊化 、模塊獨立 2. 面向數據流的設計方法 復習要點 1. 模塊獨立的兩個定性標準度量:內聚和耦合。 2. 面向數據流的設計方法第6章 詳細設計 重點 1.結構程序設計 2.過程設計的工具:程序流程圖 、N-S圖 、判定表 復習要點 1.程序的基本控制結構有哪些? 2.程序流程圖和N-S圖(盒
4、圖)的基本符號 3.會畫程序流程圖、N-S圖和判定表、判定樹第7章 實現 重點 1.編碼風格 2.測試步驟 3.Alpha和Beta測試 4.白盒測試:邏輯覆蓋 5.黑盒測試:等價劃分 6.調試途徑 復習要點 1.測試的目的、任務及分類(黑盒測試和白盒測試) 2. Alpha和Beta測試 3.掌握邏輯覆蓋法 4.掌握等價劃分法和邊界值分析法第8章 維護 重點 1.軟件維護的定義 2.軟件維護的類型 3.軟件維護的過程 4.決定軟件可維護性的因素 復習要點 1.軟件維護:改正性維護、適應性維護、完善性維護、預防性維護 2.決定軟件可維護性的因素:可理解性、可測試性、可修改性、可移植性、可重用性
5、第9章 面向對象方法學引論 重點 1.面向對象方法學與結構化方法學的區別 2.面向對象的基本概念:對象與類 3.面向對象建模的三種模型:對象模型、動態模型、功能模型 4.用例圖 5.三種模型之間的關系 復習要點 1.面向對象方法學與結構化方法學的區別 2.面向對象方法學及意義 3.面向對象建模的三種模型及三種模型之間的關系 4.面向對象方法學的優點第10章 面向對象分析 重點 1.建立對象模型:確定類與對象 、確定關聯 2.建立動態模型:編寫腳本 、畫事件跟蹤圖 、畫狀態圖 3.建立功能模型:畫基本系統模型 、畫功能級數據流圖 復習要點 1.建立對象模型、動態模型、功能模型 2.動態模型和功能
6、模型中包含了對象模型中的操作(即服務或方法) 3.面向對象分析的首要工作是建立問題域的對象模型。第11章 面向對象設計 重點 1.啟發規則 2.設計數據管理子系統 3.確定類中應用的服務 4.設計實現服務的方法 復習要點 1.面向對象設計準則有哪些? 2.數據存儲管理模式有哪些? 3.需要綜合考慮對象模型、動態模型和功能模型,才能正確確定類中應用的服務。 4.設計實現服務的方法第12章 面向對象實現 重點 1.提高可重用性的方法 2.測試類的方法 復習要點 1.面向對象實現包括哪兩項工作? 2.提高可重用性的方法有哪些? 3.測試類的方法有哪些?第第1 1章章 軟件工程學概述軟件工程學概述1
7、1、什么是軟件危機?、什么是軟件危機?P1P12 2、軟件危機產生的原因有哪些?、軟件危機產生的原因有哪些?P3P33 3、什么是軟件工程?、什么是軟件工程?P5P54 4、軟件工程方法學包含哪些要素?、軟件工程方法學包含哪些要素?P9P95 5、在軟件過程中有哪些模型?他們各自的特點、在軟件過程中有哪些模型?他們各自的特點是哪些?是哪些?P15P15P22P22第第2 2章章 可行性研究可行性研究1 1、可行性研究的目的是什么?P252、應從哪些方面研究可行性?P253、如何畫系統流程圖?P27P304、如何畫數據流圖?P30P375、了解數據字典及成本效益分析。數據流圖數據流圖(Data
8、Flow DiagramData Flow Diagram,DFDDFD)是描述系統中數據流)是描述系統中數據流程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以程的圖形工具,它標識了一個系統的邏輯輸入和邏輯輸出,以及把邏輯輸入轉換為邏輯輸出所需的加工處理。及把邏輯輸入轉換為邏輯輸出所需的加工處理。2.42.4數據流圖數據流圖數據存儲數據存儲數據源點數據源點或終點或終點處處 理理加工名數據流數據流數據流名文件名實體名箭箭 頭頭圓或橢圓圓或橢圓單或雙杠單或雙杠矩形框矩形框還有一些輔助的圖例還有一些輔助的圖例: :一、數據流圖的圖符一、數據流圖的圖符四種基本圖形符號:四種基本圖形符號:TAB*
9、CTAB*CTAB+CTAB+CTABC+TABC+* 與與 + 或或互斥+2.42.4數據流圖數據流圖舉例:舉例:儲戶儲戶1記錄存款信息打印存款信息存款單存款信息存款存單3計算利息4打印利息清單存款信息利息值利息清單D1存款信息存款信息2第第3 3章章 需求分析需求分析1 1、需求分析的基本任務是什么?、需求分析的基本任務是什么?P46-P48P46-P482 2、分析建模、分析建模 2.1什么是模型?什么是模型? 模型:就是為了理解事物而對事物做出的一種模型:就是為了理解事物而對事物做出的一種抽象,是對事物的一種無歧義的書面描述。通常,模型由一組圖形抽象,是對事物的一種無歧義的書面描述。通
10、常,模型由一組圖形符號和組織這些符號的規則組成。符號和組織這些符號的規則組成。 2.22.2數據模型(數據模型(E-RE-R)、)、 功能模型(功能模型(2.42.4節數據流圖)、節數據流圖)、 行為模型行為模型(狀態轉換圖是行為模型的基礎)(狀態轉換圖是行為模型的基礎)3 3、要從哪些方面驗證軟件需求?、要從哪些方面驗證軟件需求?P60P60第第4 4章章 形式化說明技術形式化說明技術軟件工軟件工程的使程的使用方法用方法非形式化:用自然語言描述需求規格說明非形式化:用自然語言描述需求規格說明半形式化:用數據流圖或實體半形式化:用數據流圖或實體聯系圖聯系圖建立模型建立模型形式化:描述系統性質的
11、基于數學的技術形式化:描述系統性質的基于數學的技術1、有窮狀態機P67P722、Petri網技術P72P751、在設計過程中,總體設計一般有哪兩個主要階段組成?P812、什么模塊化?模塊獨立性包含哪些內容?度量準則是什么?P85P893、啟發規則有哪些?P90P924、描繪軟件結構的圖形工具P92-P945、面向數據流的設計方法P95P1025.25.2設計原理設計原理u 模塊是程序對象有名字的集合例如,過程、函數、子程序、宏等,是構成軟件系統結構的基本元素。u 模塊化就是將系統劃分為若干個模塊,每個模塊完成一個子功能模塊化的目的是將系統“分而治之”,模塊化能夠降低問題的復雜性,使軟件結構清晰
12、,易閱讀、易理解,易于測試和調試,因而也有助于提高軟件的可靠性。5.2.55.2.5模塊獨立模塊獨立 “模塊模塊”,又稱,又稱“構件構件”,一般指用一個名字可調用的一段程,一般指用一個名字可調用的一段程序。它一般具有如下三個基本屬性:序。它一般具有如下三個基本屬性:功能功能 即指該模塊實現什么功能,做什么事情。必須注意:模塊即指該模塊實現什么功能,做什么事情。必須注意:模塊功能,應是該模塊本身的功能加上它所調用的所有子模塊的功能。功能,應是該模塊本身的功能加上它所調用的所有子模塊的功能。邏輯邏輯 即描述模塊內部怎么做。即描述模塊內部怎么做。狀態狀態 即該模塊使用時的環境和條件。即該模塊使用時的
13、環境和條件。所謂模塊的獨立性,是指軟件系統中每個模塊只涉及軟件要所謂模塊的獨立性,是指軟件系統中每個模塊只涉及軟件要求的具體的子功能,而和軟件系統中其他模塊的接口是簡單的。求的具體的子功能,而和軟件系統中其他模塊的接口是簡單的。即功能專一,模塊之間無過多的相互作用的模塊。即功能專一,模塊之間無過多的相互作用的模塊。這種類型的模塊可以并行開發,模塊獨立性越強,開發越容這種類型的模塊可以并行開發,模塊獨立性越強,開發越容易。獨立性強的模塊,還能減少錯誤的影響,使模塊容易組合、易。獨立性強的模塊,還能減少錯誤的影響,使模塊容易組合、修改及測試。修改及測試。5.2.5 5.2.5 模塊獨立性模塊獨立性
14、模塊獨立性的度量標準是兩個定性準則:模塊獨立性的度量標準是兩個定性準則: 用于描述模塊之間聯系的緊密程度。用于描述模塊之間聯系的緊密程度。 用于描述模塊內部聯系的緊密程度。用于描述模塊內部聯系的緊密程度。 模塊獨立性比較強的模塊應該是具有高內聚性和的低耦模塊獨立性比較強的模塊應該是具有高內聚性和的低耦合度。合度。 變換中心變換輸入輸出圖圖5.8 變換型數據流圖的基本模型變換型數據流圖的基本模型 圖 事務型數據流圖的基本模型事務中心輸入流接收路徑加工路徑l變換分析設計:把具有變換流特點的數據流圖按預先確定的模變換分析設計:把具有變換流特點的數據流圖按預先確定的模式映射成軟件結構式映射成軟件結構。
15、不具有顯著的事務特點不具有顯著的事務特點。l雖然在任何情況下都可以使用變換分析方法設計軟件結構,但雖然在任何情況下都可以使用變換分析方法設計軟件結構,但是在是在數據流具有明顯的事務特點數據流具有明顯的事務特點時,也就是有一個明顯的時,也就是有一個明顯的“發發射中心射中心”(事務中心事務中心)時,還是以采用事務分析方法為宜。時,還是以采用事務分析方法為宜。l兩者的主要差別僅在于由數據流圖到軟件結構的映射方法不同。兩者的主要差別僅在于由數據流圖到軟件結構的映射方法不同。第第6 6章章 詳細設計詳細設計1、結構程序設計中有哪幾種基本控制結構?P1082、了解人機界面的設計。3、掌握過程設計的工具(程
16、序流程圖、盒圖、PAD圖,判定樹)P114P1194、面向數據結構的設計方法(Jackson圖)5、程序復雜度的定量度量(McCabe)6.16.1結構程序設計結構程序設計圖圖6.1 3種基本的控制結構種基本的控制結構6.16.1結構程序設計結構程序設計圖圖6.2 其他常用的控制結構其他常用的控制結構6.3.1 6.3.1 程序流程圖程序流程圖 程序流程圖是最早出現且使用較為廣泛的算法表達工具之一,能夠有效地描述問題求解過程中的程序邏輯結構。程序流程圖中經常使用的基本符號如圖6.3所示。圖圖6.3 程序流程圖中使用的符號程序流程圖中使用的符號uNS圖又稱為盒圖,它是為了保證結構化程序設計而由N
17、assi和Shneiderman共同提出的一種圖形工具。u在NS圖中,所有的程序結構均使用矩形框表示,它可以清晰地表達結構中的嵌套及模塊的層次關系。uNS圖中,基本控制結構的表示符號如圖6.4所示。6.3.2 N-S6.3.2 N-S圖圖6.3.2 N-S6.3.2 N-S圖圖圖圖6.4 盒圖的基本符號盒圖的基本符號圖圖6.5 PAD6.5 PAD中基本符號中基本符號(a)(a)順序結構;順序結構;(b) (b) 分支結構;分支結構;(c) (c) 多分支多分支CASECASE結構;結構;(d) (d) 當型循環;當型循環;(e)(e);直到型循環;直到型循環;(f) (f) 語句標號;(語句
18、標號;(g g)定義)定義6.3.3 PAD6.3.3 PAD圖圖6.3.3 PAD6.3.3 PAD圖圖圖圖6.6 使用使用PAD圖提供的定義功能來逐步求精的例子圖提供的定義功能來逐步求精的例子6.4 6.4 面向數據結構的設計方法面向數據結構的設計方法 Jackson方法和方法和Warnier方法是最著名的兩個面方法是最著名的兩個面向數據結構的設計方法向數據結構的設計方法uJackson方法是由英國的M.A.Jackson在1975年首先提出的,他同時還提出了與這種方法配套使用的、用于描述系統數據結構和程序結構的圖形工具,被稱為Jackson圖。uJackson方法從目標系統的輸入、輸出數
19、據結構入手,導出程序框架結構,再補充其他細節,就可得到完整的程序結構圖。u這一方法對輸入、輸出數據結構明確的中、小型系統特別有效,如商業應用中的文件、表格處理。該方法也可與其他方法結合,用于模塊的詳細設計。6.4 6.4 面向數據結構的設計方法面向數據結構的設計方法圖6.8 三種基本結構在Jackson圖中的表示符號(a) 順序結構;(b) 選擇結構;(c);循環結構6.4.1 Jackson6.4.1 Jackson圖圖(a)(c)(b)6.4 6.4 面向數據結構的設計方法面向數據結構的設計方法圖圖6.9 改進的改進的Jackson圖圖6.5 6.5 程序復雜程度的定量度量程序復雜程度的定
20、量度量 定量度量程序復雜程度的方法很有價值:把程序的定量度量程序復雜程度的方法很有價值:把程序的復雜程度復雜程度乘以乘以適當常數適當常數即可即可估算出軟件中錯誤的數量估算出軟件中錯誤的數量以以及及軟件開發需要用的工作量軟件開發需要用的工作量,定量度量的結果可以用來,定量度量的結果可以用來比較兩個不同的設計比較兩個不同的設計或或兩個不同算法的優劣兩個不同算法的優劣;程序的定;程序的定量的復雜程度可以作為模塊規模的精確限度。量的復雜程度可以作為模塊規模的精確限度。6.5 6.5 程序復雜程度的定量度量程序復雜程度的定量度量u McCabe方法根據程序控制流的復雜程度定量度量程方法根據程序控制流的復
21、雜程度定量度量程序的復雜程度,這樣度量出的結果稱為程序的環形復雜序的復雜程度,這樣度量出的結果稱為程序的環形復雜度。度。u 為了突出表示程序的控制流,人們通常使用流圖為了突出表示程序的控制流,人們通常使用流圖(也稱也稱為程序圖為程序圖)。所謂流圖實質上是。所謂流圖實質上是“退化了的退化了的”程序流程圖,程序流程圖,它僅僅描繪程序的控制流程,完全不表現對數據的具體它僅僅描繪程序的控制流程,完全不表現對數據的具體操作以及分支或循環的具體條件。操作以及分支或循環的具體條件。6.5 6.5 程序復雜程度的定量度量程序復雜程度的定量度量圖圖6.16 把程序流程圖影射成流圖把程序流程圖影射成流圖6.5.1
22、 6.5.1 計算環形復雜度的方法計算環形復雜度的方法第第7 7章章 實現實現1、編碼2、測試技術P139P1693、調試的途徑有哪些?P1684、軟件可靠性和可用性的基本概念P169u 編碼:把軟件設計結果翻譯成用某種程序語言書寫的程序。u 測試:軟件測試的目的是在軟件投入生產性運行前,盡可能多的發現軟件中的錯誤。 實現實現編碼和測試編碼和測試7.27.2軟件測試基礎軟件測試基礎u 軟件測試:為發現程序中的錯誤而執行程序的過程。軟件測試:為發現程序中的錯誤而執行程序的過程。u 軟件測試的準則(盡早和不斷的測試、徹底測試的不軟件測試的準則(盡早和不斷的測試、徹底測試的不可能、軟件測試是有風險的
23、行為、并非所有的軟件錯誤可能、軟件測試是有風險的行為、并非所有的軟件錯誤都能恢復、反向思維邏輯、由小到大的測試范圍、避免都能恢復、反向思維邏輯、由小到大的測試范圍、避免檢查自己的代碼、追溯至用戶需求)檢查自己的代碼、追溯至用戶需求)u 測試方法(黑盒測試和白盒測試)測試方法(黑盒測試和白盒測試)u 測試步驟(模塊測試、子系統測試、系統測試、驗收測試步驟(模塊測試、子系統測試、系統測試、驗收測試、平行運行)測試、平行運行)模塊模塊模塊接口測試模塊接口測試局部數據結構測試局部數據結構測試重要路徑測試重要路徑測試錯誤處理測試錯誤處理測試邊界條件測試邊界條件測試I/O I/O 參數值的個數、類參數值的
24、個數、類型、次序、格式是否正型、次序、格式是否正確,確,I/OI/O文件屬性、操作文件屬性、操作是否正確等。是否正確等。數據說明是否正確、數據說明是否正確、一致,變量及其初一致,變量及其初值定義是否正確等。值定義是否正確等。檢查檢查“錯誤處錯誤處理程序理程序”本身本身的錯誤。的錯誤。邊界條件常包括循環邊邊界條件常包括循環邊界,最大最小值、控制界,最大最小值、控制流中等于、大于、小于流中等于、大于、小于的比較值等。的比較值等。重要重要路徑通常是指完成路徑通常是指完成模塊功能的主要路徑,模塊功能的主要路徑,一般是控制結構。一般是控制結構。也稱模塊測試(也稱模塊測試(modulemodule tes
25、ting testing ) )7.3.1 7.3.1 單元測試重點單元測試重點語語句句覆覆蓋蓋判判定定覆覆蓋蓋條條件件覆覆蓋蓋判判定定條條件件覆覆蓋蓋條條件件組組合合覆覆蓋蓋弱弱強強7.6 7.6 白盒測試技術白盒測試技術 語句覆蓋語句覆蓋: 選擇足夠的測試用例,使得程序中每個語選擇足夠的測試用例,使得程序中每個語句至少都能被執行一次。句至少都能被執行一次。 判定覆蓋判定覆蓋: 執行足夠的測試用例,使得程序中每個判執行足夠的測試用例,使得程序中每個判定至少都獲得一次定至少都獲得一次“真真”值和值和“假假”值。值。 條件覆蓋條件覆蓋:執行足夠的測試用例,使得判定中的每個:執行足夠的測試用例,使
26、得判定中的每個條件獲得各種可能的結果。條件獲得各種可能的結果。 判定判定/ /條件覆蓋條件覆蓋: 執行足夠的測試用例,使得判定中執行足夠的測試用例,使得判定中每個條件取到各種可能的值,并使每個判定取到各種可能每個條件取到各種可能的值,并使每個判定取到各種可能的結果。的結果。 條件組合覆蓋條件組合覆蓋: 執行足夠的例子,使得每個判定中條執行足夠的例子,使得每個判定中條件的各種可能組合都至少出現一次。件的各種可能組合都至少出現一次。白盒法白盒法常用的覆蓋標準常用的覆蓋標準等等價價分分類類法法邊邊值值分分析析法法錯錯誤誤推推測測法法黑盒法黑盒法 不考慮程序的內部結構與特性,不考慮程序的內部結構與特性
27、,只根據程序功能或程序的外部特性只根據程序功能或程序的外部特性設計測試用例。設計測試用例。7.7 7.7 黑盒測試技術黑盒測試技術l 調試調試(也稱為糾錯)作為成功測試的后果出現,也就是說,(也稱為糾錯)作為成功測試的后果出現,也就是說,調試是在測試發現錯誤之后排除錯誤的過程。調試是在測試發現錯誤之后排除錯誤的過程。l 調試過程調試過程如下圖所示:如下圖所示:7.8 7.8 調試調試7.8 7.8 調試途徑調試途徑l 軟件可靠性的定義:軟件可靠性的定義:對于軟件可靠性有許多不同的定義,對于軟件可靠性有許多不同的定義,其中多數人承認的一個定義是:其中多數人承認的一個定義是:軟件可靠性是程序在給定
28、軟件可靠性是程序在給定的時間間隔內,按照規格說明書的規定成功地運行的概率的時間間隔內,按照規格說明書的規定成功地運行的概率l 軟件可用性的一個定義:軟件可用性的一個定義: 軟件可用性是程序在軟件可用性是程序在給定的時給定的時間點間點,按照規格說明書的規定,成功地運行的概率。,按照規格說明書的規定,成功地運行的概率。7.9 7.9 調試調試1、軟件維護的定義P1792、了解軟件維護的特點3、軟件維護過程中維護組織包括哪些人員?P1828.4 決定軟件的可維護性的因素有哪些?P185P1868.5 軟件再工程過程8.18.1軟件維護的定義軟件維護的定義l 軟件維護軟件維護是指軟件系統交付使用以后,
29、為了改正錯誤或滿足是指軟件系統交付使用以后,為了改正錯誤或滿足新的需求而修改軟件的過程。按照不同的維護目的,維護工作新的需求而修改軟件的過程。按照不同的維護目的,維護工作可分成可分成4類。類。u完善性維護完善性維護(Perfective Maintenance):擴充原有系統的):擴充原有系統的功能,提高原有系統的性能,滿足用戶的實際需要。功能,提高原有系統的性能,滿足用戶的實際需要。u糾錯性維護糾錯性維護(Corrective Maintenance):對在測試階段未):對在測試階段未能發現的,在軟件投入使用后才逐漸暴露出來的錯誤的測能發現的,在軟件投入使用后才逐漸暴露出來的錯誤的測試、診斷
30、、定位、糾錯以及驗證、修改的回歸測試過程。試、診斷、定位、糾錯以及驗證、修改的回歸測試過程。u適應性維護適應性維護(Adaptive Maintenance):): 要使運行的軟件要使運行的軟件能適應運行環境的變動而修改軟件的過程。能適應運行環境的變動而修改軟件的過程。u預防性維護預防性維護(Preventive Maintenance):為了進一步改善):為了進一步改善軟件的可靠性和易維護性,或者為將來的維護奠定更好的軟件的可靠性和易維護性,或者為將來的維護奠定更好的基礎而對軟件進行修改。(基礎而對軟件進行修改。(8.5節)節)8.38.3軟件維護過程軟件維護過程圖圖8.1 維護組織維護組織
31、8.48.4軟件的可維護性軟件的可維護性l軟件的可維護性定性地定義為: 維護人員理解、改正、改動或改進這個軟件的難易程度。l重用:同一事物不做修改或稍加改動就在不同環境中多次重復使用。l提高可維護性是支配軟件工程方法學所有步驟的關鍵目標。1、面向對象方法學概述P193P2002、面向對象建模(涵蓋第9章和第10章)3、面向對象分析的基本過程4、面向對象的設計準則9.1 概述l 面向對象方法學的面向對象方法學的出發點和基本原則出發點和基本原則,是,是盡可能模擬人類習盡可能模擬人類習慣的思維方式,慣的思維方式,使開發軟件的方法與過程使開發軟件的方法與過程盡可能接近人類認識盡可能接近人類認識世界解決
32、問題的方法與過程世界解決問題的方法與過程,也就是使描述問題的問題空間,也就是使描述問題的問題空間(也也稱為問題域稱為問題域)與實現解法的解空間與實現解法的解空間(也稱為求解域也稱為求解域)在結構上盡可在結構上盡可能一致。能一致。u認為客觀世界是由各種對象組成的,任何事物都是對象,認為客觀世界是由各種對象組成的,任何事物都是對象,復雜的對象可以由比較簡單的對象以某種方式組合而成。復雜的對象可以由比較簡單的對象以某種方式組合而成。u把所有對象都劃分成各種對象類把所有對象都劃分成各種對象類(簡稱為類,簡稱為類,class),每個,每個對象類都定義了一組數據和一組方法。對象類都定義了一組數據和一組方法
33、。u按照子類按照子類(或稱為派生類或稱為派生類)與父類與父類(或稱為基類或稱為基類)的關系,把的關系,把若干個對象類組成一個層次結構的系統若干個對象類組成一個層次結構的系統(也稱為類等級也稱為類等級)。u對象彼此之間僅能通過傳遞消息互相聯系。對象彼此之間僅能通過傳遞消息互相聯系。類又稱對象類類又稱對象類一組具有相同屬性和一組具有相同屬性和相同操作的對象的集合。在一個類中,每個對象都是類的實例相同操作的對象的集合。在一個類中,每個對象都是類的實例(instance) ,它們都可以使用類中提供的函數。,它們都可以使用類中提供的函數。類具有屬性,用數據結構來描述類的屬性,類具有操作,類具有屬性,用數
34、據結構來描述類的屬性,類具有操作,它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現 的 過 程 稱 為 方 法它 是 對 象 的 行 為 的 抽 象 , 操 作 實 現 的 過 程 稱 為 方 法(method) ,方法有方法名,方法體和參數。,方法有方法名,方法體和參數。 由于對象是類的實例,在進行分析和設計時,通常把注由于對象是類的實例,在進行分析和設計時,通常把注意力集中在類上,而不是具體的對象上意力集中在類上,而不是具體的對象上。 實例:實例:實際上類是建立對象時使用的實際上類是建立對象時使用的“樣板樣板”,按照,按照這個樣板所建立的一個個具體的對象,就是類的實際例子,這個樣
35、板所建立的一個個具體的對象,就是類的實際例子,通常稱為通常稱為實例實例。當使用。當使用“對象對象”這個術語時,既可以指一這個術語時,既可以指一個具體的對象,也可以泛指一般的對象,但是,當使用個具體的對象,也可以泛指一般的對象,但是,當使用“實例實例”這個術語時,必然是指一個具體的對象。這個術語時,必然是指一個具體的對象。幾何對象幾何對象顏色顏色位置位置移動(移動(delta:矢量):矢量)選擇(選擇(P:指針型)指針型):布爾型布爾型旋轉旋轉(角度角度)人人姓姓 名名:字符串字符串年年 齡齡: 整整 型型改換工作改換工作改換地址改換地址文件文件文件名文件名文件大小文件大小最近更新日期最近更新日
36、期打印打印(人人)里斯里斯28繪圖員繪圖員人民路人民路8號號(人人)張山張山24程序員程序員無無類名類名屬性屬性運算運算 對象圖對象圖 類圖類圖 互相聯系、協同工互相聯系、協同工作等作等對象之間的聯系可表示為對象間的消息傳遞,即對象之間的聯系可表示為對象間的消息傳遞,即對象間的通訊機制。對象間的通訊機制。 一個消息應該包含以下信息:消息名、接收消息對象一個消息應該包含以下信息:消息名、接收消息對象的標識、服務標識的標識、服務標識 、消息和方法、輸入信息、回答信息。、消息和方法、輸入信息、回答信息。在對象的操作中當一個消息發送給某個對象時,消息在對象的操作中當一個消息發送給某個對象時,消息包含接
37、收對象去執行某種操作的消息。包含接收對象去執行某種操作的消息。屬性:姓名屬性:姓名 年齡年齡 單位單位 職稱職稱 工資工資狀態:李立狀態:李立 25 計算機系計算機系 講師講師 900屬性:調工資屬性:調工資 評職稱評職稱 受受 聘聘方法:調工資方法:調工資 (計算公式)(計算公式) 評職稱評職稱 (步驟、條件)(步驟、條件)屬性:調工資屬性:調工資 評職稱評職稱 受受 聘聘李立,調工資(李立,調工資( )數數據據結結構構數數據據值值人事處向對象發消息人事處向對象發消息執行執行的的操作操作方方法法體體類:教師類:教師對象:李立對象:李立抽象抽象實例實例抽象抽象實例實例抽象抽象方法名(參數)方法名(參數)圖9.7 對象、類和消息傳遞l 方法:方法:就是對象所能執行的操作,也就是類中所定義的就是對象所能執行的操作,也就是類中所定義的服務。方法描述了對象執行操作的算法,響應消息的方法。服務。方法描述了對
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/SHPTA 088-2024膠帶與標簽用高性能熱熔膠粘劑
- T/CHTS 10163-2024公路橋梁結構監測系統施工質量檢驗與評定標準
- 舞臺租賃協議模板與舞臺設備租賃合同3篇
- 上海安全監理試題及答案
- T/CCOA 68-2023食用植物油中揮發性風味成分測定頂空固相微萃取-氣相色譜-質譜聯用法
- 2025年茶葉供貨合同范文2篇
- 小區幼稚園轉讓合同8篇
- 聘用外國專家協議書參考6篇
- 高值耗材備貨協議書4篇
- 濕式靜電除塵器項目績效評估報告
- 2024湖南衡陽縣城市和農村建設投資有限公司招聘專業技術人員2人筆試參考題庫附帶答案詳解
- 2025年輸變電電力變壓器行業市場分析現狀
- 專題19 介詞和介詞短語(清單+專練)-中考英語一輪復習知識清單
- 2025年醫院基建科面試題及答案
- 2026年版廣西高等職業教育考試(新職教高考)普高生專用升高職大專《職業適應性測試》模擬試卷(第1套)
- 企業營銷戰略咨詢服務協議
- 人教版(2024)七年級下冊英語Unit 7 A Day to Remember 單元教學設計(共6課時)
- 基于機器視覺的焊縫缺陷檢測方法及其應用研究
- 行測5000題電子版2025
- P6運行操作手冊
- 考生所在單位考核意見填寫模板
評論
0/150
提交評論