版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蟾攀龅谝豁?,共四十頁,編輯?023年,星期二姓名:李麗萍博士,副教授,美國內(nèi)布拉加斯州大學(xué)奧馬哈分校訪問學(xué)者研究方向:軟件工程,軟件測試Tel:50214252E-mail:liliping@教師簡介第二頁,共四十頁,編輯于2023年,星期二教師講課與學(xué)生練習(xí)相輔相成授課方式考核方式理論考試+平時成績+課程練習(xí)第三頁,共四十頁,編輯于2023年,星期二ApplyingUMLandPatterns-AnIntroductiontoObject-OrientedAnalysisandDesignUML和模式應(yīng)用-面向?qū)ο蠓治雠c設(shè)計導(dǎo)論THEBESTObjectOrientatedAnalysisandDesigntutorialbook(A)在OOA/D、迭代式開發(fā)和UML方面是全球最暢銷的書籍之一,已被翻譯成多種語言并在業(yè)界和院校中被廣泛使用參考文獻(xiàn)第四頁,共四十頁,編輯于2023年,星期二參考文獻(xiàn)第五頁,共四十頁,編輯于2023年,星期二ReferencesCraigLarman“PeopleoftenaskmewhichisthebestbooktointroducethemtotheworldofOOdesign.EversinceIcameacrossit,ApplyingUMLandPatternshasbeenmyunreservedchoice.”--MartinFlower,author,UMLDistilledandRefactoring第六頁,共四十頁,編輯于2023年,星期二軟件方法-業(yè)務(wù)建模和需求潘加宇著TheUnifiedModelingLanguageUserGuide(UML用戶指南)TheUnifiedModelingLanguageReferenceManual(UML參考手冊)GradyBoochJamesRumbaughIvarJacobson參考文獻(xiàn)第七頁,共四十頁,編輯于2023年,星期二WebResources/software/rational//uml/////網(wǎng)絡(luò)資源第八頁,共四十頁,編輯于2023年,星期二目標(biāo):能夠較熟練地使用UML表達(dá)設(shè)計思想運用面向?qū)ο笤O(shè)計的一般原則進(jìn)行應(yīng)用系統(tǒng)的分析和設(shè)計掌握RationalRose環(huán)境與使用、UML圖的畫法課程內(nèi)容第九頁,共四十頁,編輯于2023年,星期二
是軟件工程方向的重要內(nèi)容之一;是軟件工程方向?qū)W生必須掌握的基本技能之一。課程地位第十頁,共四十頁,編輯于2023年,星期二
第1章面向?qū)ο蟾攀龅谑豁?,共四十頁,編輯?023年,星期二1.什么叫面向?qū)ο竺嫦驅(qū)ο蠹夹g(shù)是一種以對象為基礎(chǔ),以事件或消息來驅(qū)動對象執(zhí)行處理的程序設(shè)計技術(shù)。從程序設(shè)計方法上來講,它是一種自下而上的程序設(shè)計方法,它不像面向過程程序設(shè)計那樣一開始就需要使用一個主函數(shù)來概括出整個程序,面向?qū)ο蟪绦蛟O(shè)計往往從問題的一部分著手,一點一點地構(gòu)建出整個程序。
1.1面向?qū)ο蠡靖拍畹谑?,共四十頁,編輯?023年,星期二2.對象對象(object)是面向?qū)ο螅∣bject-Oriented,OO)系統(tǒng)的基本構(gòu)造塊,是一些相關(guān)的變量和方法的軟件集。對象是現(xiàn)實世界中某個具體的物理實體或概念在計算機(jī)邏輯中的映射和體現(xiàn)。物理對象:某種可被人感知的事物。如:學(xué)生、書籍等;概念性對象。如:國家、民族對象具有屬性(靜態(tài)特征)和操作(動態(tài)特征) 例如:汽車都有一些共同的屬性:品牌、型號和載重等。它們都有一些共同的行為:加速、減速、載客和運貨。面向?qū)ο蠡靖拍畹谑?,共四十頁,編輯?023年,星期二3.類類(Class)是具有相同屬性和操作的一組對象的組合,也就是說,抽象模型中的“類”描述了一組相似對象的共同特征,為屬于該類的全部對象提供了統(tǒng)一的抽象描述。例如名為“學(xué)生”的類被用于描述為“學(xué)生管理系統(tǒng)”中的學(xué)生對象。類的定義要包含以下的要素第一,定義該類對象的數(shù)據(jù)結(jié)構(gòu)(屬性的名稱和類型)第二,定義對象所要執(zhí)行的操作。面向?qū)ο蠡靖拍畹谑捻摚菜氖?,編輯?023年,星期二4.消息與事件所謂消息(Message)是指描述事件發(fā)生的信息,是對象間相互聯(lián)系和相互作用的方式。一個消息主要由5部分組成:消息的發(fā)送對象、消息的接收對象、消息傳遞方式、消息內(nèi)容(參數(shù))、消息的返回。所謂事件通常是指一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動作。事件作用于對象,對象識別事件并作出相應(yīng)反應(yīng)。對象通過對外提供的方法在系統(tǒng)中發(fā)揮自己的作用,當(dāng)系統(tǒng)中的其它對象請求這個對象執(zhí)行某個方法時,就向該對象發(fā)送一個消息,對象響應(yīng)這個請求,完成指定的操作。程序的執(zhí)行取決于事件發(fā)生的順序,由順序產(chǎn)生的消息來驅(qū)動程序的執(zhí)行。面向?qū)ο蠡靖拍畹谑屙摚菜氖?,編輯?023年,星期二1.抽象(P6)將需要的事物進(jìn)行簡化;將事物特征進(jìn)行概括;將抽象模型組織為層次結(jié)構(gòu);使軟件重用得以保證。1.2面向?qū)ο蟮幕咎卣鞯谑?,共四十頁,編輯?023年,星期二2.封裝封裝(Encapsulation)是把對象的狀態(tài)和行為綁到一起的機(jī)制,把對象形成一個獨立的整體,并且盡可能的隱藏對象的內(nèi)部細(xì)節(jié)。封裝有兩個含義:一是把對象的全部狀態(tài)和行為結(jié)合一起,形成一個不可分割的整體。對象的私有屬性只能夠由對象的行為來修改和讀取。二是盡可能隱蔽對象的內(nèi)部細(xì)節(jié),與外界的聯(lián)系只能夠通過外部接口來實現(xiàn)。封裝的信息屏蔽作用反映了事物的相對獨立性,我們可以只關(guān)心它對外所提供的接口,即能夠提供什么樣的服務(wù),而不用去關(guān)注其內(nèi)部的細(xì)節(jié)問題。比如說使用手機(jī),我們關(guān)注的通常是這個手機(jī)能實現(xiàn)什么功能,而不太會去關(guān)心這個手機(jī)的是怎么一步步制造出來的。1.2面向?qū)ο蟮幕咎卣鞯谑唔摚菜氖?,編輯?023年,星期二3.繼承繼承(Inheritance)是一種連接類與類的之間的層次模型。繼承是指特殊類的對象擁有其一般類的屬性和行為。繼承意味著“自動地?fù)碛小保丛谔厥忸愔胁槐刂匦聦σ呀?jīng)在一般類中所定義過的屬性和行為進(jìn)行定義,而是特殊類自動地、隱含地?fù)碛衅湟话泐惖膶傩院托袨椤@^承對類的重用性,提供了一種明確表述共性的方法。即一個特殊類既有自己定義的屬性和行為,又有繼承下來的屬性和行為。面向?qū)ο蟮牡幕咎卣鞯谑隧?,共四十頁,編輯?023年,星期二4.多態(tài)多態(tài)性(Polymorphism)是指在兩個或多個屬于不同類中同一函數(shù)名對應(yīng)多個具有相似功能的不同函數(shù),可以使用相同的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù)。面向?qū)ο蟮牡幕咎卣鞯谑彭?,共四十頁,編輯?023年,星期二多態(tài)性分為兩種:編譯時的多態(tài)性:通過方法重載來實現(xiàn)。運行時的多態(tài)性:通過方法覆蓋來實現(xiàn)。多態(tài)性的實現(xiàn)方式:通過接口實現(xiàn)多態(tài)性通過繼承實現(xiàn)多態(tài)性通過抽象類實現(xiàn)的多態(tài)性多態(tài)第二十頁,共四十頁,編輯于2023年,星期二多態(tài)第二十一頁,共四十頁,編輯于2023年,星期二1.3面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計實現(xiàn)測試圖1.3OO方法的步驟第二十二頁,共四十頁,編輯于2023年,星期二
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。獲取需求,建立需求模型。分析的典型活動:
1、獲取領(lǐng)域(問題域)知識;
2、定義系統(tǒng)功能(用例圖);
3、確定合適的類;
4、建立類的靜態(tài)模型(類圖);
5、描述對象的動態(tài)行為(狀態(tài)圖、協(xié)作圖、時序圖、活動圖);
6、驗證(專家對模型作靜態(tài)驗證);
7、給出基本的用戶界面原型(整體結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之間的導(dǎo)航等)。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計實現(xiàn)測試1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第二十三頁,共四十頁,編輯于2023年,星期二
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。
設(shè)計是分析結(jié)果在技術(shù)上的擴(kuò)充和修改,重點是如何實現(xiàn)該系統(tǒng)。設(shè)計中的典型活動:1、將分析所得的類劃分為功能包,并從技術(shù)層面(用戶界面、數(shù)據(jù)庫處理、通信等)增加新包,建立包之間的通信聯(lián)系。2、標(biāo)識并發(fā)需求并建模。3、指出系統(tǒng)輸出的詳細(xì)格式:如用戶界面,報告,向其它系統(tǒng)發(fā)送的事務(wù)等。4、數(shù)據(jù)管理(建立類與表單的對應(yīng)關(guān)系,對數(shù)據(jù)庫的訪問機(jī)制)。5、異常處理6、分配類和構(gòu)件(構(gòu)件圖、配置圖)。還應(yīng)用偽代碼或者文字給出類的規(guī)約。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計實現(xiàn)測試1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第二十四頁,共四十頁,編輯于2023年,星期二面向?qū)ο笤O(shè)計準(zhǔn)則面向?qū)ο笤O(shè)計的準(zhǔn)則包括模塊化、抽象、信息隱藏、低耦合和高內(nèi)聚等特征,見書P13。系統(tǒng)設(shè)計一般是先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計階段的更詳細(xì)策略的設(shè)計提供了基礎(chǔ)。
1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第二十五頁,共四十頁,編輯于2023年,星期二1.3面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。實現(xiàn)活動實際上就是編寫程序代碼,包括反復(fù)的編譯、連結(jié)、排錯等。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。
面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計實現(xiàn)測試第二十六頁,共四十頁,編輯于2023年,星期二
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試的關(guān)鍵是確定高效的測試用例。測試的主要步驟有:1、面向?qū)ο蟮膯卧獪y試測試單元為封裝的類和對象,但不能孤立地測試單個操作,應(yīng)把操作作為類的一部分來測試。2、面向?qū)ο蟮募蓽y試
3、面向?qū)ο蟮拇_認(rèn)測試類似傳統(tǒng)的確認(rèn)測試和系統(tǒng)測試,根據(jù)動態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計測試用例,可用黑盒法。1.3面向?qū)ο蟮拈_發(fā)方法的一般過程面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計實現(xiàn)測試第二十七頁,共四十頁,編輯于2023年,星期二什么是模型模型應(yīng)具有的特征為何要建立模型建模的意義1.4面向?qū)ο蠼5诙隧?,共四十頁,編輯?023年,星期二什么是模型如果把現(xiàn)實世界中的某些事物看作是一種現(xiàn)實原型,那么模型就算對這種現(xiàn)實原型的一種抽象和模擬,以反映事物的本質(zhì)特征。模型既反映原型,又不等于原型。模型是實際系統(tǒng)或過程的代表或描述,它是實際系統(tǒng)的一部分屬性的抽象和模仿,而不是全部屬性的復(fù)制。模型的實質(zhì)是在一組簡化的假設(shè)條件下,描述一個實體活動的最本質(zhì)的屬性。第二十九頁,共四十頁,編輯于2023年,星期二抽象性:突出重點方面,忽略無關(guān)緊要的細(xì)節(jié)??衫斫庑裕阂子谑褂谜呃斫饽P退磉_(dá)的系統(tǒng)(建模的目標(biāo)對象)。精確性:應(yīng)該準(zhǔn)確地表達(dá)系統(tǒng)。確定性:能正確地推導(dǎo)出與系統(tǒng)有關(guān)的各種結(jié)論。廉價性:對于構(gòu)造和研究而言,比直接使用系統(tǒng)本身更加便宜。模型應(yīng)具有的特征第三十頁,共四十頁,編輯于2023年,星期二模型是對系統(tǒng)的一種抽象。抽象是人們處理復(fù)雜事務(wù)的一種基本手段之一。抽象有助于了解系統(tǒng)的本質(zhì)。在構(gòu)造一個復(fù)雜的系統(tǒng)時,必須從不同的角度來抽象系統(tǒng),使用準(zhǔn)確的符號,用模型來表示這種抽象。然后檢查這些模型是否符合系統(tǒng)的需求,并逐步添加細(xì)節(jié),從而將這些模型轉(zhuǎn)化為實現(xiàn)方案。為何要建立模型第三十一頁,共四十頁,編輯于2023年,星期二模型是對現(xiàn)實的簡化,建模是為了更好地理解系統(tǒng)。建模的使用是軟件成功的一個基本因素.常見的模型展示相關(guān):建筑物模型、沙盤、公司總部的3D復(fù)制品…數(shù)據(jù)分析相關(guān):條形圖、餅狀圖…業(yè)務(wù)分析相關(guān):組織結(jié)構(gòu)圖、跨職能流程圖……設(shè)計相關(guān):建筑平面圖、管線圖、電路板設(shè)計圖建模的意義第三十二頁,共四十頁,編輯于2023年,星期二模型的實質(zhì)
模型是對現(xiàn)實的簡化第三十三頁,共四十頁,編輯于2023年,星期二模型的實質(zhì)
模型是對現(xiàn)實的簡化第三十四頁,共四十頁,編輯于2023年,星期二通過建模,要實現(xiàn)以下4個目標(biāo):(1)便于開發(fā)人員展現(xiàn)系統(tǒng)。
——可視化visualization(2)允許開發(fā)人員指定系統(tǒng)的結(jié)構(gòu)或行為。
——詳述specification(3)提供指導(dǎo)開發(fā)人員構(gòu)造系統(tǒng)的模板。
——構(gòu)造construction(4)記錄開發(fā)人員的決策。
——文檔化documentation建模的目標(biāo)第三十五頁,共四十頁,編輯于2023年,星期二具體到軟件所涉及的人員,包括用戶、軟件開發(fā)團(tuán)隊、軟件的維護(hù)和技術(shù)支持者,系統(tǒng)建模有不同的作用。見書P16.
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國可吸收三氯生涂層抗菌縫合線行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025年全球及中國超寬帶雷達(dá)傳感器行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 2025-2030全球阻燃聚乙烯膜行業(yè)調(diào)研及趨勢分析報告
- 飯店房屋租賃合同范文
- 建筑工程掛靠內(nèi)部協(xié)議合同
- 2025佳兆業(yè)集團(tuán)年度低壓柜設(shè)備戰(zhàn)略采購合同
- 虛擬股合伙協(xié)議合同范本
- 2025工程建設(shè)招標(biāo)設(shè)標(biāo)合同條件第1部分
- 直播帶貨商家簽約的合同范本
- 2025房地產(chǎn)委托開發(fā)合同酬金
- 青少年鑄牢中華民族共同體意識路徑研究
- 江蘇省南京市2024年中考英語試題(含解析)
- 學(xué)校農(nóng)業(yè)教育體驗項目方案
- 水利工程施工監(jiān)理規(guī)范(SL288-2014)用表填表說明及示例
- 獨家投放充電寶協(xié)議書范文范本
- 財稅實操-反向開票的方式解讀
- TwinCAT CNC實現(xiàn)對G代碼.NC文件的加密與解密
- 《聯(lián)合國教科文:學(xué)生人工智能能力框架》-中文版
- 2023年部編人教版六年級道德與法治下冊全冊課件【完整版】
- 2024-2030年中國二手醫(yī)療器械行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略分析報告
- 世界近代史-對接選擇性必修 課件-高考統(tǒng)編版歷史一輪復(fù)習(xí)
評論
0/150
提交評論