版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
面向?qū)ο蟾攀鲂彰豪铥惼疾┦?,副教授,美?guó)內(nèi)布拉加斯州大學(xué)奧馬哈分校訪問學(xué)者研究方向:軟件工程,軟件測(cè)試Tel:50214252E-mail:liliping@教師簡(jiǎn)介第2頁(yè),共40頁(yè),2024年2月25日,星期天教師講課與學(xué)生練習(xí)相輔相成授課方式考核方式理論考試+平時(shí)成績(jī)+課程練習(xí)第3頁(yè),共40頁(yè),2024年2月25日,星期天ApplyingUMLandPatterns-AnIntroductiontoObject-OrientedAnalysisandDesignUML和模式應(yīng)用-面向?qū)ο蠓治雠c設(shè)計(jì)導(dǎo)論THEBESTObjectOrientatedAnalysisandDesigntutorialbook(A)在OOA/D、迭代式開發(fā)和UML方面是全球最暢銷的書籍之一,已被翻譯成多種語(yǔ)言并在業(yè)界和院校中被廣泛使用參考文獻(xiàn)第4頁(yè),共40頁(yè),2024年2月25日,星期天參考文獻(xiàn)第5頁(yè),共40頁(yè),2024年2月25日,星期天ReferencesCraigLarman“PeopleoftenaskmewhichisthebestbooktointroducethemtotheworldofOOdesign.EversinceIcameacrossit,ApplyingUMLandPatternshasbeenmyunreservedchoice.”--MartinFlower,author,UMLDistilledandRefactoring第6頁(yè),共40頁(yè),2024年2月25日,星期天軟件方法-業(yè)務(wù)建模和需求潘加宇著TheUnifiedModelingLanguageUserGuide(UML用戶指南)TheUnifiedModelingLanguageReferenceManual(UML參考手冊(cè))GradyBoochJamesRumbaughIvarJacobson參考文獻(xiàn)第7頁(yè),共40頁(yè),2024年2月25日,星期天WebResources/software/rational//uml/////網(wǎng)絡(luò)資源第8頁(yè),共40頁(yè),2024年2月25日,星期天目標(biāo):能夠較熟練地使用UML表達(dá)設(shè)計(jì)思想運(yùn)用面向?qū)ο笤O(shè)計(jì)的一般原則進(jìn)行應(yīng)用系統(tǒng)的分析和設(shè)計(jì)掌握RationalRose環(huán)境與使用、UML圖的畫法課程內(nèi)容第9頁(yè),共40頁(yè),2024年2月25日,星期天
是軟件工程方向的重要內(nèi)容之一;是軟件工程方向?qū)W生必須掌握的基本技能之一。課程地位第10頁(yè),共40頁(yè),2024年2月25日,星期天
第1章面向?qū)ο蟾攀龅?1頁(yè),共40頁(yè),2024年2月25日,星期天1.什么叫面向?qū)ο竺嫦驅(qū)ο蠹夹g(shù)是一種以對(duì)象為基礎(chǔ),以事件或消息來驅(qū)動(dòng)對(duì)象執(zhí)行處理的程序設(shè)計(jì)技術(shù)。從程序設(shè)計(jì)方法上來講,它是一種自下而上的程序設(shè)計(jì)方法,它不像面向過程程序設(shè)計(jì)那樣一開始就需要使用一個(gè)主函數(shù)來概括出整個(gè)程序,面向?qū)ο蟪绦蛟O(shè)計(jì)往往從問題的一部分著手,一點(diǎn)一點(diǎn)地構(gòu)建出整個(gè)程序。
1.1面向?qū)ο蠡靖拍畹?2頁(yè),共40頁(yè),2024年2月25日,星期天2.對(duì)象對(duì)象(object)是面向?qū)ο螅∣bject-Oriented,OO)系統(tǒng)的基本構(gòu)造塊,是一些相關(guān)的變量和方法的軟件集。對(duì)象是現(xiàn)實(shí)世界中某個(gè)具體的物理實(shí)體或概念在計(jì)算機(jī)邏輯中的映射和體現(xiàn)。物理對(duì)象:某種可被人感知的事物。如:學(xué)生、書籍等;概念性對(duì)象。如:國(guó)家、民族對(duì)象具有屬性(靜態(tài)特征)和操作(動(dòng)態(tài)特征) 例如:汽車都有一些共同的屬性:品牌、型號(hào)和載重等。它們都有一些共同的行為:加速、減速、載客和運(yùn)貨。面向?qū)ο蠡靖拍畹?3頁(yè),共40頁(yè),2024年2月25日,星期天3.類類(Class)是具有相同屬性和操作的一組對(duì)象的組合,也就是說,抽象模型中的“類”描述了一組相似對(duì)象的共同特征,為屬于該類的全部對(duì)象提供了統(tǒng)一的抽象描述。例如名為“學(xué)生”的類被用于描述為“學(xué)生管理系統(tǒng)”中的學(xué)生對(duì)象。類的定義要包含以下的要素第一,定義該類對(duì)象的數(shù)據(jù)結(jié)構(gòu)(屬性的名稱和類型)第二,定義對(duì)象所要執(zhí)行的操作。面向?qū)ο蠡靖拍畹?4頁(yè),共40頁(yè),2024年2月25日,星期天4.消息與事件所謂消息(Message)是指描述事件發(fā)生的信息,是對(duì)象間相互聯(lián)系和相互作用的方式。一個(gè)消息主要由5部分組成:消息的發(fā)送對(duì)象、消息的接收對(duì)象、消息傳遞方式、消息內(nèi)容(參數(shù))、消息的返回。所謂事件通常是指一種由系統(tǒng)預(yù)先定義而由用戶或系統(tǒng)發(fā)出的動(dòng)作。事件作用于對(duì)象,對(duì)象識(shí)別事件并作出相應(yīng)反應(yīng)。對(duì)象通過對(duì)外提供的方法在系統(tǒng)中發(fā)揮自己的作用,當(dāng)系統(tǒng)中的其它對(duì)象請(qǐng)求這個(gè)對(duì)象執(zhí)行某個(gè)方法時(shí),就向該對(duì)象發(fā)送一個(gè)消息,對(duì)象響應(yīng)這個(gè)請(qǐng)求,完成指定的操作。程序的執(zhí)行取決于事件發(fā)生的順序,由順序產(chǎn)生的消息來驅(qū)動(dòng)程序的執(zhí)行。面向?qū)ο蠡靖拍畹?5頁(yè),共40頁(yè),2024年2月25日,星期天1.抽象(P6)將需要的事物進(jìn)行簡(jiǎn)化;將事物特征進(jìn)行概括;將抽象模型組織為層次結(jié)構(gòu);使軟件重用得以保證。1.2面向?qū)ο蟮幕咎卣鞯?6頁(yè),共40頁(yè),2024年2月25日,星期天2.封裝封裝(Encapsulation)是把對(duì)象的狀態(tài)和行為綁到一起的機(jī)制,把對(duì)象形成一個(gè)獨(dú)立的整體,并且盡可能的隱藏對(duì)象的內(nèi)部細(xì)節(jié)。封裝有兩個(gè)含義:一是把對(duì)象的全部狀態(tài)和行為結(jié)合一起,形成一個(gè)不可分割的整體。對(duì)象的私有屬性只能夠由對(duì)象的行為來修改和讀取。二是盡可能隱蔽對(duì)象的內(nèi)部細(xì)節(jié),與外界的聯(lián)系只能夠通過外部接口來實(shí)現(xiàn)。封裝的信息屏蔽作用反映了事物的相對(duì)獨(dú)立性,我們可以只關(guān)心它對(duì)外所提供的接口,即能夠提供什么樣的服務(wù),而不用去關(guān)注其內(nèi)部的細(xì)節(jié)問題。比如說使用手機(jī),我們關(guān)注的通常是這個(gè)手機(jī)能實(shí)現(xiàn)什么功能,而不太會(huì)去關(guān)心這個(gè)手機(jī)的是怎么一步步制造出來的。1.2面向?qū)ο蟮幕咎卣鞯?7頁(yè),共40頁(yè),2024年2月25日,星期天3.繼承繼承(Inheritance)是一種連接類與類的之間的層次模型。繼承是指特殊類的對(duì)象擁有其一般類的屬性和行為。繼承意味著“自動(dòng)地?fù)碛小?,即在特殊類中不必重新?duì)已經(jīng)在一般類中所定義過的屬性和行為進(jìn)行定義,而是特殊類自動(dòng)地、隱含地?fù)碛衅湟话泐惖膶傩院托袨椤@^承對(duì)類的重用性,提供了一種明確表述共性的方法。即一個(gè)特殊類既有自己定義的屬性和行為,又有繼承下來的屬性和行為。面向?qū)ο蟮牡幕咎卣鞯?8頁(yè),共40頁(yè),2024年2月25日,星期天4.多態(tài)多態(tài)性(Polymorphism)是指在兩個(gè)或多個(gè)屬于不同類中同一函數(shù)名對(duì)應(yīng)多個(gè)具有相似功能的不同函數(shù),可以使用相同的調(diào)用方式來調(diào)用這些具有不同功能的同名函數(shù)。面向?qū)ο蟮牡幕咎卣鞯?9頁(yè),共40頁(yè),2024年2月25日,星期天多態(tài)性分為兩種:編譯時(shí)的多態(tài)性:通過方法重載來實(shí)現(xiàn)。運(yùn)行時(shí)的多態(tài)性:通過方法覆蓋來實(shí)現(xiàn)。多態(tài)性的實(shí)現(xiàn)方式:通過接口實(shí)現(xiàn)多態(tài)性通過繼承實(shí)現(xiàn)多態(tài)性通過抽象類實(shí)現(xiàn)的多態(tài)性多態(tài)第20頁(yè),共40頁(yè),2024年2月25日,星期天多態(tài)第21頁(yè),共40頁(yè),2024年2月25日,星期天1.3面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動(dòng)的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)實(shí)現(xiàn)測(cè)試圖1.3OO方法的步驟第22頁(yè),共40頁(yè),2024年2月25日,星期天
OO方法中執(zhí)行主要活動(dòng)的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試。獲取需求,建立需求模型。分析的典型活動(dòng):
1、獲取領(lǐng)域(問題域)知識(shí);
2、定義系統(tǒng)功能(用例圖);
3、確定合適的類;
4、建立類的靜態(tài)模型(類圖);
5、描述對(duì)象的動(dòng)態(tài)行為(狀態(tài)圖、協(xié)作圖、時(shí)序圖、活動(dòng)圖);
6、驗(yàn)證(專家對(duì)模型作靜態(tài)驗(yàn)證);
7、給出基本的用戶界面原型(整體結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之間的導(dǎo)航等)。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)實(shí)現(xiàn)測(cè)試1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第23頁(yè),共40頁(yè),2024年2月25日,星期天
OO方法中執(zhí)行主要活動(dòng)的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試。
設(shè)計(jì)是分析結(jié)果在技術(shù)上的擴(kuò)充和修改,重點(diǎn)是如何實(shí)現(xiàn)該系統(tǒng)。設(shè)計(jì)中的典型活動(dòng):1、將分析所得的類劃分為功能包,并從技術(shù)層面(用戶界面、數(shù)據(jù)庫(kù)處理、通信等)增加新包,建立包之間的通信聯(lián)系。2、標(biāo)識(shí)并發(fā)需求并建模。3、指出系統(tǒng)輸出的詳細(xì)格式:如用戶界面,報(bào)告,向其它系統(tǒng)發(fā)送的事務(wù)等。4、數(shù)據(jù)管理(建立類與表單的對(duì)應(yīng)關(guān)系,對(duì)數(shù)據(jù)庫(kù)的訪問機(jī)制)。5、異常處理6、分配類和構(gòu)件(構(gòu)件圖、配置圖)。還應(yīng)用偽代碼或者文字給出類的規(guī)約。面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)實(shí)現(xiàn)測(cè)試1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第24頁(yè),共40頁(yè),2024年2月25日,星期天面向?qū)ο笤O(shè)計(jì)準(zhǔn)則面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則包括模塊化、抽象、信息隱藏、低耦合和高內(nèi)聚等特征,見書P13。系統(tǒng)設(shè)計(jì)一般是先從高層入手,然后細(xì)化。系統(tǒng)設(shè)計(jì)要決定整個(gè)結(jié)構(gòu)及風(fēng)格,這種結(jié)構(gòu)為后面設(shè)計(jì)階段的更詳細(xì)策略的設(shè)計(jì)提供了基礎(chǔ)。
1.3面向?qū)ο蟮拈_發(fā)方法的一般過程第25頁(yè),共40頁(yè),2024年2月25日,星期天1.3面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動(dòng)的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試。實(shí)現(xiàn)活動(dòng)實(shí)際上就是編寫程序代碼,包括反復(fù)的編譯、連結(jié)、排錯(cuò)等。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。
面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)實(shí)現(xiàn)測(cè)試第26頁(yè),共40頁(yè),2024年2月25日,星期天
OO方法中執(zhí)行主要活動(dòng)的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測(cè)試。測(cè)試的目的是發(fā)現(xiàn)代碼中的錯(cuò)誤,測(cè)試的關(guān)鍵是確定高效的測(cè)試用例。測(cè)試的主要步驟有:1、面向?qū)ο蟮膯卧獪y(cè)試測(cè)試單元為封裝的類和對(duì)象,但不能孤立地測(cè)試單個(gè)操作,應(yīng)把操作作為類的一部分來測(cè)試。2、面向?qū)ο蟮募蓽y(cè)試
3、面向?qū)ο蟮拇_認(rèn)測(cè)試類似傳統(tǒng)的確認(rèn)測(cè)試和系統(tǒng)測(cè)試,根據(jù)動(dòng)態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計(jì)測(cè)試用例,可用黑盒法。1.3面向?qū)ο蟮拈_發(fā)方法的一般過程面向?qū)ο蠓治雒嫦驅(qū)ο笤O(shè)計(jì)實(shí)現(xiàn)測(cè)試第27頁(yè),共40頁(yè),2024年2月25日,星期天什么是模型模型應(yīng)具有的特征為何要建立模型建模的意義1.4面向?qū)ο蠼5?8頁(yè),共40頁(yè),2024年2月25日,星期天什么是模型如果把現(xiàn)實(shí)世界中的某些事物看作是一種現(xiàn)實(shí)原型,那么模型就算對(duì)這種現(xiàn)實(shí)原型的一種抽象和模擬,以反映事物的本質(zhì)特征。模型既反映原型,又不等于原型。模型是實(shí)際系統(tǒng)或過程的代表或描述,它是實(shí)際系統(tǒng)的一部分屬性的抽象和模仿,而不是全部屬性的復(fù)制。模型的實(shí)質(zhì)是在一組簡(jiǎn)化的假設(shè)條件下,描述一個(gè)實(shí)體活動(dòng)的最本質(zhì)的屬性。第29頁(yè),共40頁(yè),2024年2月25日,星期天抽象性:突出重點(diǎn)方面,忽略無(wú)關(guān)緊要的細(xì)節(jié)。可理解性:易于使用者理解模型所表達(dá)的系統(tǒng)(建模的目標(biāo)對(duì)象)。精確性:應(yīng)該準(zhǔn)確地表達(dá)系統(tǒng)。確定性:能正確地推導(dǎo)出與系統(tǒng)有關(guān)的各種結(jié)論。廉價(jià)性:對(duì)于構(gòu)造和研究而言,比直接使用系統(tǒng)本身更加便宜。模型應(yīng)具有的特征第30頁(yè),共40頁(yè),2024年2月25日,星期天模型是對(duì)系統(tǒng)的一種抽象。抽象是人們處理復(fù)雜事務(wù)的一種基本手段之一。抽象有助于了解系統(tǒng)的本質(zhì)。在構(gòu)造一個(gè)復(fù)雜的系統(tǒng)時(shí),必須從不同的角度來抽象系統(tǒng),使用準(zhǔn)確的符號(hào),用模型來表示這種抽象。然后檢查這些模型是否符合系統(tǒng)的需求,并逐步添加細(xì)節(jié),從而將這些模型轉(zhuǎn)化為實(shí)現(xiàn)方案。為何要建立模型第31頁(yè),共40頁(yè),2024年2月25日,星期天模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化,建模是為了更好地理解系統(tǒng)。建模的使用是軟件成功的一個(gè)基本因素.常見的模型展示相關(guān):建筑物模型、沙盤、公司總部的3D復(fù)制品…數(shù)據(jù)分析相關(guān):條形圖、餅狀圖…業(yè)務(wù)分析相關(guān):組織結(jié)構(gòu)圖、跨職能流程圖……設(shè)計(jì)相關(guān):建筑平面圖、管線圖、電路板設(shè)計(jì)圖建模的意義第32頁(yè),共40頁(yè),2024年2月25日,星期天模型的實(shí)質(zhì)
模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化第33頁(yè),共40頁(yè),2024年2月25日,星期天模型的實(shí)質(zhì)
模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化第34頁(yè),共40頁(yè),2024年2月25日,星期天通過建模,要實(shí)現(xiàn)以下4個(gè)目標(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)第35頁(yè),共40頁(yè),2024年2月25日,星期天具體到軟件所涉及的人員,包括用戶、軟件開發(fā)團(tuán)隊(duì)、軟件的維護(hù)和技術(shù)支持者,系統(tǒng)建模有不同的作用。見書P16.軟件建模的作用第36頁(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 3D生物打印縫合材料的神經(jīng)修復(fù)應(yīng)用
- 初中音樂創(chuàng)作教學(xué)中的音樂創(chuàng)作與音樂教育評(píng)價(jià)研究教學(xué)研究課題報(bào)告
- 2025年徐州幼兒師范高等??茖W(xué)校公開招聘高層次人才6人備考題庫(kù)含答案詳解
- 2025年中國(guó)科學(xué)技術(shù)大學(xué)基本建設(shè)處勞務(wù)派遣崗位招聘?jìng)淇碱}庫(kù)附答案詳解
- 2025年開遠(yuǎn)市教體系統(tǒng)事業(yè)單位校園公開招聘23人備考題庫(kù)及答案詳解參考
- 智能研修模式在STEM教育中的應(yīng)用研究:以問題解決為驅(qū)動(dòng)教學(xué)研究課題報(bào)告
- 大學(xué)法學(xué)合同條款解釋中的法律解釋方法研究教學(xué)研究課題報(bào)告
- 圖文商務(wù)風(fēng)銷售部總結(jié)述職匯報(bào)模板
- 2025年重慶量子學(xué)校招聘?jìng)淇碱}庫(kù)有答案詳解
- 華能內(nèi)蒙古東部能源有限公司2026年度招聘高校畢業(yè)生備考題庫(kù)附答案詳解
- 化肥賣合同范本
- 2025年大學(xué)本科三年級(jí)(建筑環(huán)境與能源應(yīng)用工程)暖通空調(diào)設(shè)計(jì)測(cè)試題及答案
- 6第六章 項(xiàng)目管理架構(gòu)
- 2025年全新中醫(yī)藥學(xué)概論試題與答案
- 2026云上(貴州)數(shù)據(jù)開發(fā)有限公司第一次社會(huì)招聘18人考試筆試備考題庫(kù)及答案解析
- 2025秋小學(xué)湘科版(新教材)科學(xué)三年級(jí)上冊(cè)知識(shí)點(diǎn)及期末測(cè)試卷及答案
- 裝修工賠償協(xié)議書
- 國(guó)開電大可編程控制器應(yīng)用課程實(shí)驗(yàn)參考答案
- 《分散系》說課課件
- 化工有限公司年產(chǎn)4000噸-N-N-二甲基苯胺項(xiàng)目安全預(yù)評(píng)價(jià)報(bào)告
- 法制進(jìn)校園安全伴我行主題班會(huì)ppt
評(píng)論
0/150
提交評(píng)論