版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、-2-2Introductions Your organization Your role Your background, experienceObject technology experienceSoftware development experience Your expectations for this course-3-Introducen課程:課程:UML建模語(yǔ)言及工具建模語(yǔ)言及工具n課時(shí):課時(shí):32n目標(biāo):目標(biāo):n掌握掌握n運(yùn)用運(yùn)用(IBM Rational Rose2003)-4-預(yù)備知識(shí)預(yù)備知識(shí) n掌握某種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言(例如掌握某種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言(例如Ja
2、va、C+等)等) 。 n希望同學(xué)們已經(jīng)初步掌握面向?qū)ο蟮囊幌M瑢W(xué)們已經(jīng)初步掌握面向?qū)ο蟮囊恍┗境WR(shí)。些基本常識(shí)。-5-參考書(shū)參考書(shū)nUML和和OOAD快速入門(mén)快速入門(mén) (初級(jí))(初級(jí))n作者:作者: 邱郁惠邱郁惠 n出版社:機(jī)械工業(yè)出版社出版社:機(jī)械工業(yè)出版社 n大象大象-Thinking in UML (中高級(jí))(中高級(jí))n作者:作者: 譚云杰譚云杰 n出版社:中國(guó)水利水電出版社出版社:中國(guó)水利水電出版社 n其它其它nUML和模式應(yīng)用面向?qū)ο蠓治雠c設(shè)計(jì)導(dǎo)論和模式應(yīng)用面向?qū)ο蠓治雠c設(shè)計(jì)導(dǎo)論nUML參考手冊(cè)參考手冊(cè)nRational.Rose從入門(mén)到精通從入門(mén)到精通-6-考核方式考核方式n
3、考試考試n課程結(jié)束后安排考試課程結(jié)束后安排考試n平時(shí)成績(jī)(出勤平時(shí)成績(jī)(出勤+作業(yè)等)作業(yè)等)-7-Why?n需要理由嗎?需要理由嗎?n我們從事軟件行業(yè)我們從事軟件行業(yè)n面向?qū)ο笫亲钪髁鞯能浖_(kāi)發(fā)思想面向?qū)ο笫亲钪髁鞯能浖_(kāi)發(fā)思想nUML是最主流的建模語(yǔ)言是最主流的建模語(yǔ)言UML+面向?qū)ο竺嫦驅(qū)ο驩OAD系統(tǒng)定義、分析、設(shè)計(jì)、實(shí)現(xiàn)系統(tǒng)定義、分析、設(shè)計(jì)、實(shí)現(xiàn)-8-What?n1- 感受面向?qū)ο蟮乃枷敫惺苊嫦驅(qū)ο蟮乃枷雗2- 學(xué)習(xí)基本的面向?qū)ο罄碚搶W(xué)習(xí)基本的面向?qū)ο罄碚搉3- 學(xué)習(xí)基本的學(xué)習(xí)基本的UML語(yǔ)言語(yǔ)言-9-Agendan1 上升到面向?qū)ο笊仙矫嫦驅(qū)ο髇2 對(duì)象技術(shù)與可視化建對(duì)象技術(shù)與可
4、視化建?;A(chǔ)?;A(chǔ)n3 UML可視化建模實(shí)踐可視化建模實(shí)踐n4 需求獲取與用例建模需求獲取與用例建模技術(shù)技術(shù)n6 面向?qū)ο笤O(shè)計(jì)原則面向?qū)ο笤O(shè)計(jì)原則n8 基于基于UML的面向?qū)ο蟮拿嫦驅(qū)ο笤O(shè)計(jì)過(guò)程設(shè)計(jì)過(guò)程n9案例分析與課程總結(jié)案例分析與課程總結(jié)-11-學(xué)習(xí)線路圖學(xué)習(xí)線路圖OOOOUML : : OOAOODDP Case-Study : : : -12-內(nèi)容安排內(nèi)容安排n面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展n面向?qū)ο笈c結(jié)構(gòu)化面向?qū)ο笈c結(jié)構(gòu)化n上升到面向?qū)ο笊仙矫嫦驅(qū)ο?13-面向?qū)ο蠹夹g(shù)定義面向?qū)ο蠹夹g(shù)定義-14-面向?qū)ο蠹夹g(shù)利益面向?qū)ο蠹夹g(shù)利益-1n溝通溝通n順應(yīng)人類(lèi)思維習(xí)慣,讓軟件開(kāi)發(fā)人員在順
5、應(yīng)人類(lèi)思維習(xí)慣,讓軟件開(kāi)發(fā)人員在解空解空間間中直接模擬中直接模擬問(wèn)題空間問(wèn)題空間中的對(duì)象及其行為中的對(duì)象及其行為-15-實(shí)例實(shí)例01-01:“東北一家人?東北一家人?”n東北人都是活雷鋒東北人都是活雷鋒n人、東北人、雷鋒人、東北人、雷鋒n老張開(kāi)車(chē)去東北老張開(kāi)車(chē)去東北 撞啦!撞啦!n老張、汽車(chē)、開(kāi)車(chē)?yán)蠌垺⑵?chē)、開(kāi)車(chē)n撞啦撞啦-16-class 人人 Region 籍貫;籍貫;class Region Class 雷鋒雷鋒 helpPeople() class 東北人東北人 :public 人人,public 雷鋒雷鋒 籍貫籍貫 = 東北;東北; helpPeople() class Car Dr
6、iveTo(Region) 人人 Driver;Main Program 人人 老張;老張; Car 夏利;夏利; 夏利夏利.Driver = 老張;老張; 夏利夏利.DriveTo(東北東北);面向?qū)ο蟮谋硎久嫦驅(qū)ο蟮谋硎?17-面向?qū)ο蠹夹g(shù)利益面向?qū)ο蠹夹g(shù)利益-2n穩(wěn)定穩(wěn)定n較小的需求變化不會(huì)導(dǎo)致系統(tǒng)結(jié)構(gòu)大的改變較小的需求變化不會(huì)導(dǎo)致系統(tǒng)結(jié)構(gòu)大的改變n當(dāng)需求變化時(shí)當(dāng)需求變化時(shí)-18-面向?qū)ο蠹夹g(shù)利益面向?qū)ο蠹夹g(shù)利益-3n復(fù)用復(fù)用n代碼重用:類(lèi)庫(kù)、框架等重用機(jī)制代碼重用:類(lèi)庫(kù)、框架等重用機(jī)制n能提高質(zhì)量,減少由于編制新的系統(tǒng)代碼而能提高質(zhì)量,減少由于編制新的系統(tǒng)代碼而產(chǎn)生的成本產(chǎn)生的成本n通
7、過(guò)繼承、關(guān)聯(lián)、封裝等手段通過(guò)繼承、關(guān)聯(lián)、封裝等手段-19-面向?qū)ο蠹夹g(shù)利益面向?qū)ο蠹夹g(shù)利益-4n改善軟件結(jié)構(gòu)(模塊化與封裝),提高改善軟件結(jié)構(gòu)(模塊化與封裝),提高軟件靈活性軟件靈活性n增加可擴(kuò)展性增加可擴(kuò)展性n支持增量式開(kāi)發(fā),支持大型軟件開(kāi)發(fā)支持增量式開(kāi)發(fā),支持大型軟件開(kāi)發(fā)n-20-面向?qū)ο蠹夹g(shù)研究?jī)?nèi)容面向?qū)ο蠹夹g(shù)研究?jī)?nèi)容n面向?qū)ο蟮木幊蹋嫦驅(qū)ο蟮木幊蹋∣OP: Object-Oriented Programming)n當(dāng)今最流行的編程語(yǔ)言:當(dāng)今最流行的編程語(yǔ)言:Java、C#n面向?qū)ο蟮姆治雠c設(shè)計(jì)(面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOAD: Object-Oriented Analysis and
8、 Design)n當(dāng)今最流行的建模語(yǔ)言:當(dāng)今最流行的建模語(yǔ)言:UML(Unified Modeling Language)-21-內(nèi)容安排內(nèi)容安排n面向?qū)ο蠹夹g(shù)概述面向?qū)ο蠹夹g(shù)概述n面向?qū)ο笈c結(jié)構(gòu)化面向?qū)ο笈c結(jié)構(gòu)化n上升到面向?qū)ο笊仙矫嫦驅(qū)ο?22-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-1n里程碑里程碑1:Simula 67 (1962-1967,挪威挪威)nOle-Johan Dahl和和Kristen Nygaard 在在挪威奧斯陸國(guó)家計(jì)算挪威奧斯陸國(guó)家計(jì)算中心中心(NCC) 設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn). 公認(rèn)的世界上第一種公認(rèn)的世界上第一種面向?qū)ο笳Z(yǔ)言面向?qū)ο笳Z(yǔ)言n基本思想基本思想-23-面向?qū)ο蠹?/p>
9、術(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-2n里程碑里程碑2:Smalltalk(1970,施樂(lè)保羅阿托施樂(lè)保羅阿托)nAlan Kay設(shè)計(jì)實(shí)現(xiàn)設(shè)計(jì)實(shí)現(xiàn)n第一個(gè)成熟的面向?qū)Φ谝粋€(gè)成熟的面向?qū)ο笳Z(yǔ)言,為開(kāi)發(fā)象語(yǔ)言,為開(kāi)發(fā)GUI而設(shè)計(jì)而設(shè)計(jì)n實(shí)用化實(shí)用化-24-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-3n里程碑里程碑3:ADT, Ada 83, 基于對(duì)象基于對(duì)象(1977-1983)n編程理論界在結(jié)構(gòu)化編程理論界在結(jié)構(gòu)化運(yùn)動(dòng)中提出運(yùn)動(dòng)中提出ADT思想,思想,以以N. Wirth和和Liskov為代表為代表n美國(guó)防部軍用開(kāi)發(fā)語(yǔ)美國(guó)防部軍用開(kāi)發(fā)語(yǔ)言評(píng)選,言評(píng)選,Ada被指定被指定為強(qiáng)制性軍用編程語(yǔ)為強(qiáng)制性軍用編程語(yǔ)言,實(shí)際上
10、已經(jīng)進(jìn)入言,實(shí)際上已經(jīng)進(jìn)入“基于對(duì)象基于對(duì)象”階段階段Ada Lovelace是英國(guó)著名詩(shī)人是英國(guó)著名詩(shī)人拜倫的女兒,世界上第一個(gè)程序拜倫的女兒,世界上第一個(gè)程序員。員。Ada語(yǔ)言以她的名字命名語(yǔ)言以她的名字命名-25-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-4n里程碑里程碑4:C+ (1982,貝爾實(shí)驗(yàn)室,貝爾實(shí)驗(yàn)室)n第一個(gè)被工業(yè)界廣泛第一個(gè)被工業(yè)界廣泛接受的支持面向?qū)ο蠼邮艿闹С置嫦驅(qū)ο竽芰Φ恼Z(yǔ)言,創(chuàng)造者能力的語(yǔ)言,創(chuàng)造者Bjarne Stroustrupn動(dòng)機(jī)是給動(dòng)機(jī)是給C添加一些添加一些Simula特性,以完成特性,以完成當(dāng)時(shí)剛剛出現(xiàn)的大規(guī)當(dāng)時(shí)剛剛出現(xiàn)的大規(guī)模復(fù)雜任務(wù)模復(fù)雜任務(wù)n商業(yè)化商業(yè)
11、化Bjarne Stroustrup-26-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-5n里程碑里程碑5:MS-Windows(1985,微軟微軟)n第一個(gè)被廣泛使用的第一個(gè)被廣泛使用的GUI系統(tǒng)軟件,它使系統(tǒng)軟件,它使面向?qū)ο蠹夹g(shù)的使用面向?qū)ο蠹夹g(shù)的使用不可阻遏不可阻遏1985年出品年出品的的Windows 1.0產(chǎn)品產(chǎn)品1987年出品年出品的的Windows 2.0界面界面-27-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-6n里程碑里程碑6:Booch Method(1991,G. Booch)n第一個(gè)被廣泛接受使第一個(gè)被廣泛接受使用的面向?qū)ο蠼7接玫拿嫦驅(qū)ο蠼7椒ǚ˙ooch代表作的第三版代表作的第
12、三版-28-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-7n里程碑里程碑7 7:設(shè)計(jì)模式設(shè)計(jì)模式出版出版(1995(1995,GoF)GoF)n掀起模式運(yùn)動(dòng)掀起模式運(yùn)動(dòng)-29-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-8n里程碑里程碑8:Java語(yǔ)言語(yǔ)言推出推出(1995,Sun)n第一個(gè)被廣泛使用的第一個(gè)被廣泛使用的面向?qū)ο笳Z(yǔ)言,面向?qū)ο笳Z(yǔ)言,J2EE是目前最成功的面向是目前最成功的面向?qū)ο罂蚣堋?duì)象框架。-30-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-9n里程碑里程碑9:UML被被OMG接納為標(biāo)準(zhǔn)接納為標(biāo)準(zhǔn)(1997)n面向?qū)ο蠓椒▽W(xué)之戰(zhàn)面向?qū)ο蠓椒▽W(xué)之戰(zhàn)結(jié)束結(jié)束-31-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-10n里
13、程碑里程碑10:微:微軟軟.NET計(jì)劃計(jì)劃(2000)n意義還難以評(píng)估意義還難以評(píng)估-32-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-總結(jié)總結(jié)n60年代后期:年代后期:Simul67,基本思想,基本思想n70年代后期:年代后期:Smalltalk80,實(shí)用化,實(shí)用化n80年代:理論基礎(chǔ),年代:理論基礎(chǔ),C+等,商業(yè)化等,商業(yè)化n90年代:面向?qū)ο笈c設(shè)計(jì)方法學(xué)年代:面向?qū)ο笈c設(shè)計(jì)方法學(xué)nB.H. Sellers等提出噴泉模型等提出噴泉模型nG. Booch提出面向?qū)ο箝_(kāi)發(fā)方法等提出面向?qū)ο箝_(kāi)發(fā)方法等nP. Coad和和E.Yourdon提出提出OOA和和OODnJacobson提出提出OOSEnn199
14、7年:年:UML-33-面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展-現(xiàn)狀現(xiàn)狀n現(xiàn)狀現(xiàn)狀nOO成為最重要的軟件開(kāi)發(fā)方法成為最重要的軟件開(kāi)發(fā)方法nOO在在GUI、模擬系統(tǒng)、游戲開(kāi)發(fā)、應(yīng)用框、模擬系統(tǒng)、游戲開(kāi)發(fā)、應(yīng)用框架、軟件構(gòu)件化領(lǐng)域大顯身手架、軟件構(gòu)件化領(lǐng)域大顯身手nJava、UML 與與 RUPn構(gòu)件技術(shù)構(gòu)件技術(shù) (CORBA、COM、EJB、.Net)n類(lèi)庫(kù)與設(shè)計(jì)模式類(lèi)庫(kù)與設(shè)計(jì)模式-34-內(nèi)容安排內(nèi)容安排n面向?qū)ο蠹夹g(shù)概述面向?qū)ο蠹夹g(shù)概述n面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展n上升到面向?qū)ο笊仙矫嫦驅(qū)ο?35-面向?qū)ο竺嫦驅(qū)ο?VS 結(jié)構(gòu)化結(jié)構(gòu)化nProgramming數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)+算法程序設(shè)計(jì)算法
15、程序設(shè)計(jì)以對(duì)象為中心組織數(shù)據(jù)與操作以對(duì)象為中心組織數(shù)據(jù)與操作數(shù)據(jù)數(shù)據(jù) 對(duì)象屬性對(duì)象屬性操作操作 對(duì)象的服務(wù)對(duì)象的服務(wù)類(lèi)型與變量類(lèi)型與變量 類(lèi)與對(duì)象實(shí)例類(lèi)與對(duì)象實(shí)例函數(shù)(過(guò)程)調(diào)用函數(shù)(過(guò)程)調(diào)用 消息傳遞消息傳遞類(lèi)型與子類(lèi)型類(lèi)型與子類(lèi)型 一般類(lèi)與特殊類(lèi),繼承一般類(lèi)與特殊類(lèi),繼承構(gòu)造類(lèi)型構(gòu)造類(lèi)型 整體部分結(jié)構(gòu),聚合整體部分結(jié)構(gòu),聚合指針指針 關(guān)聯(lián)關(guān)聯(lián)-36-實(shí)例實(shí)例01-02:BOM單成本計(jì)算單成本計(jì)算n問(wèn)題:?jiǎn)栴}:n根據(jù)根據(jù)BOM(Bill of Materials)單進(jìn)行產(chǎn)品)單進(jìn)行產(chǎn)品原料成本的計(jì)算原料成本的計(jì)算n分別用面向過(guò)程和面向?qū)ο蟮姆绞浇鉀Q分別用面向過(guò)程和面向?qū)ο蟮姆绞浇鉀Qn目的:
16、目的:n體會(huì)過(guò)程式的思維方式與面向?qū)ο笏季S方式體會(huì)過(guò)程式的思維方式與面向?qū)ο笏季S方式之間的區(qū)別,體會(huì)面向?qū)ο笾g的區(qū)別,體會(huì)面向?qū)ο蟆澳M現(xiàn)實(shí)世界模擬現(xiàn)實(shí)世界”的思維特色的思維特色-37-問(wèn)題描述問(wèn)題描述n某產(chǎn)品某產(chǎn)品BOM單如下,計(jì)算總價(jià)格單如下,計(jì)算總價(jià)格00147零件零件110.0000235零件零件221.5010221組合件組合件138.1500772零件零件320.0010039組合件組合件219.90-38-問(wèn)題難點(diǎn)分析問(wèn)題難點(diǎn)分析n零件(零件(Piece)、組合件()、組合件(Assembly)、)、部件(部件(Part)的關(guān)系)的關(guān)系n零件和組合件都屬于部件零件和組合件都屬于
17、部件n組合件有零件和更小的組合件組成,而更小組合件有零件和更小的組合件組成,而更小的組合件最終由零件組成的組合件最終由零件組成n組合件與零件之間存在遞歸關(guān)系,組合件與零件之間存在遞歸關(guān)系,是本系統(tǒng)的關(guān)鍵,是本系統(tǒng)的關(guān)鍵-39-思考?思考?n用結(jié)構(gòu)化的設(shè)計(jì)思路解決以上問(wèn)題用結(jié)構(gòu)化的設(shè)計(jì)思路解決以上問(wèn)題n用對(duì)象化的設(shè)計(jì)思路解決以上問(wèn)題用對(duì)象化的設(shè)計(jì)思路解決以上問(wèn)題n將解決思路用自己認(rèn)為合適的方式記錄下來(lái),將解決思路用自己認(rèn)為合適的方式記錄下來(lái),可以是偽碼,可以是圖形可以是偽碼,可以是圖形n思考:思考:n結(jié)構(gòu)化的設(shè)計(jì)與對(duì)象化的設(shè)計(jì)有什么本質(zhì)的不同?結(jié)構(gòu)化的設(shè)計(jì)與對(duì)象化的設(shè)計(jì)有什么本質(zhì)的不同?體現(xiàn)了怎
18、樣的思維差異?面向?qū)ο笏枷胗泻蝺?yōu)勢(shì)?體現(xiàn)了怎樣的思維差異?面向?qū)ο笏枷胗泻蝺?yōu)勢(shì)?n表達(dá)設(shè)計(jì)思想用代碼合適嗎?方便嗎?圖形表示有表達(dá)設(shè)計(jì)思想用代碼合適嗎?方便嗎?圖形表示有何優(yōu)勢(shì)?何優(yōu)勢(shì)?-40-結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)n關(guān)鍵:用算法來(lái)描述遞歸關(guān)系關(guān)鍵:用算法來(lái)描述遞歸關(guān)系totalCost = 0.0初始化初始化iterator是否計(jì)算完畢?是否計(jì)算完畢?是是返回返回totalCost否否totalCost += -41-結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)-calcPartCostgetType(partID)入口入口PIECEc = cost(partID)ASSEMBLYc =出口出口return c;-4
19、2-結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)-calcAssemblyCostiter.hasNext()入口入口NOYESc += (iter.next().partID)出口出口return c;List partList = getPartsOfAssembly(partID);Iterator iter = partList.iterator();-43-結(jié)構(gòu)化小結(jié)結(jié)構(gòu)化小結(jié)n針對(duì)過(guò)程抽象針對(duì)過(guò)程抽象 (partID)函數(shù)與函數(shù)與 (partID)函數(shù)描述函數(shù)描述了前述的遞歸關(guān)系了前述的遞歸關(guān)系-44-面向?qū)ο笤O(shè)計(jì)面向?qū)ο笤O(shè)計(jì)n關(guān)鍵:通過(guò)對(duì)象間的關(guān)系描述遞歸關(guān)系關(guān)鍵:通過(guò)對(duì)象間的關(guān)系描述遞歸關(guān)系-45-A
20、PI-46-類(lèi)圖體現(xiàn)代碼結(jié)構(gòu)類(lèi)圖體現(xiàn)代碼結(jié)構(gòu)-47-代碼代碼: PiecePart.cost()-48-代碼代碼: Assembly.cost()-49-代碼:計(jì)算代碼:計(jì)算BOM總價(jià)總價(jià)-50-頂級(jí)代碼頂級(jí)代碼-51-歸納總結(jié)歸納總結(jié)n結(jié)構(gòu)化設(shè)計(jì)用算法刻畫(huà)數(shù)據(jù)的遞歸關(guān)系,結(jié)構(gòu)化設(shè)計(jì)用算法刻畫(huà)數(shù)據(jù)的遞歸關(guān)系,而面向?qū)ο笏枷胫苯佑脤?duì)象表達(dá)遞歸關(guān)而面向?qū)ο笏枷胫苯佑脤?duì)象表達(dá)遞歸關(guān)系系“模擬現(xiàn)實(shí)世界模擬現(xiàn)實(shí)世界”n結(jié)構(gòu)化設(shè)計(jì)中,數(shù)據(jù)是死的,全部依賴(lài)結(jié)構(gòu)化設(shè)計(jì)中,數(shù)據(jù)是死的,全部依賴(lài)算法操作,而面向?qū)ο笾校瑪?shù)據(jù)是活的,算法操作,而面向?qū)ο笾?,?shù)據(jù)是活的,所謂的所謂的smart datan結(jié)構(gòu)化設(shè)計(jì)更像
21、是一個(gè)人在解決所有的結(jié)構(gòu)化設(shè)計(jì)更像是一個(gè)人在解決所有的問(wèn)題,而面向?qū)ο笤O(shè)計(jì)更像是一個(gè)團(tuán)隊(duì)問(wèn)題,而面向?qū)ο笤O(shè)計(jì)更像是一個(gè)團(tuán)隊(duì)的分工協(xié)作的分工協(xié)作-52-體會(huì)體會(huì)n使用得當(dāng),面向?qū)ο笤O(shè)計(jì)具有更大的靈活性,使用得當(dāng),面向?qū)ο笤O(shè)計(jì)具有更大的靈活性,更好的模塊化,可以進(jìn)行更大規(guī)模的設(shè)計(jì)更好的模塊化,可以進(jìn)行更大規(guī)模的設(shè)計(jì)n但同時(shí),面向?qū)ο笤O(shè)計(jì)和開(kāi)發(fā)的難度更大,因但同時(shí),面向?qū)ο笤O(shè)計(jì)和開(kāi)發(fā)的難度更大,因?yàn)槌艘紤]算法之外,還要考慮為除了要考慮算法之外,還要考慮對(duì)現(xiàn)實(shí)世界對(duì)現(xiàn)實(shí)世界的模擬、對(duì)象的識(shí)別和職責(zé)分配的模擬、對(duì)象的識(shí)別和職責(zé)分配等等一系列問(wèn)等等一系列問(wèn)題題n優(yōu)秀的面向?qū)ο笤O(shè)計(jì)需要學(xué)習(xí)更多知識(shí)和技術(shù)
22、,優(yōu)秀的面向?qū)ο笤O(shè)計(jì)需要學(xué)習(xí)更多知識(shí)和技術(shù),掌握一系列設(shè)計(jì)原則和模式掌握一系列設(shè)計(jì)原則和模式nUML圖形化工具有助于表達(dá)和交流設(shè)計(jì)思想。圖形化工具有助于表達(dá)和交流設(shè)計(jì)思想。但是否可以做到但是否可以做到“無(wú)代碼編程無(wú)代碼編程”,還在爭(zhēng)論中,還在爭(zhēng)論中-53-題外話題外話n既然既然OO更難,為什么要用它?更難,為什么要用它?n大規(guī)模程序設(shè)計(jì)大規(guī)模程序設(shè)計(jì)n靈活多變的系統(tǒng)需求靈活多變的系統(tǒng)需求n技術(shù)進(jìn)步的必經(jīng)之路技術(shù)進(jìn)步的必經(jīng)之路n本課程的重點(diǎn)是本課程的重點(diǎn)是UML、面向?qū)ο蠓治龊汀⒚嫦驅(qū)ο蠓治龊驮O(shè)計(jì)過(guò)程以及相關(guān)的設(shè)計(jì)原則和設(shè)計(jì)模設(shè)計(jì)過(guò)程以及相關(guān)的設(shè)計(jì)原則和設(shè)計(jì)模式基礎(chǔ)式基礎(chǔ)-54-內(nèi)容安排內(nèi)容安排
23、n面向?qū)ο蠹夹g(shù)概述面向?qū)ο蠹夹g(shù)概述n面向?qū)ο蠹夹g(shù)發(fā)展面向?qū)ο蠹夹g(shù)發(fā)展n面向?qū)ο笈c結(jié)構(gòu)化面向?qū)ο笈c結(jié)構(gòu)化-55-本節(jié)目標(biāo)本節(jié)目標(biāo)n通過(guò)簡(jiǎn)單通俗的事例來(lái)演繹對(duì)象建模的通過(guò)簡(jiǎn)單通俗的事例來(lái)演繹對(duì)象建模的基本概念基本概念n開(kāi)闊視野,輕松樹(shù)立面向?qū)ο蟮挠^點(diǎn)開(kāi)闊視野,輕松樹(shù)立面向?qū)ο蟮挠^點(diǎn)n掌握用面向?qū)ο蠓椒ǚ治鰡?wèn)題的要領(lǐng)掌握用面向?qū)ο蠓椒ǚ治鰡?wèn)題的要領(lǐng)n為學(xué)習(xí)對(duì)象建模方法熱身為學(xué)習(xí)對(duì)象建模方法熱身-56-什么是建模?什么是建模?n建模就是認(rèn)識(shí)現(xiàn)實(shí)世界建模就是認(rèn)識(shí)現(xiàn)實(shí)世界認(rèn)識(shí)世界認(rèn)識(shí)世界改造世界改造世界-57-模型因人而異模型因人而異n不同類(lèi)型的人有不同的世界觀不同類(lèi)型的人有不同的世界觀持不同的世界觀就會(huì)
24、得到對(duì)現(xiàn)實(shí)世界的不同認(rèn)識(shí)持不同的世界觀就會(huì)得到對(duì)現(xiàn)實(shí)世界的不同認(rèn)識(shí)建立不同的模型建立不同的模型模塊,函數(shù),功能類(lèi),關(guān)聯(lián),對(duì)象-58-模型體現(xiàn)現(xiàn)實(shí)世界模型體現(xiàn)現(xiàn)實(shí)世界n只存在同一個(gè)現(xiàn)實(shí)世界只存在同一個(gè)現(xiàn)實(shí)世界-59-OO(Object Oriented )、)、UML與與建模建模n建模是最終目的建模是最終目的nOO是一種建模理論是一種建模理論nUML是一種體現(xiàn)是一種體現(xiàn)OO的建模語(yǔ)言,是將的建模語(yǔ)言,是將OO理論轉(zhuǎn)化為實(shí)踐的工具理論轉(zhuǎn)化為實(shí)踐的工具-60-實(shí)例實(shí)例01-04-61-問(wèn)題分析問(wèn)題分析-1nA. 這里面有什么東東?這里面有什么東東?n月老,小伙,姑娘,戀人,玫瑰花月老,小伙,姑娘,戀
25、人,玫瑰花nB. 每個(gè)東東看上去是什么樣的?每個(gè)東東看上去是什么樣的?n月老,看上去有些年紀(jì)了,挺熱心的月老,看上去有些年紀(jì)了,挺熱心的n小伙,看上去很強(qiáng)壯,很誠(chéng)實(shí)的小伙,看上去很強(qiáng)壯,很誠(chéng)實(shí)的n姑娘,看上去好漂亮,還很溫柔姑娘,看上去好漂亮,還很溫柔n戀人,看上去很黏糊,當(dāng)然就結(jié)婚了戀人,看上去很黏糊,當(dāng)然就結(jié)婚了n玫瑰花,火紅火紅的,難怪姑娘動(dòng)情了玫瑰花,火紅火紅的,難怪姑娘動(dòng)情了-62-問(wèn)題分析問(wèn)題分析-2nC. 每個(gè)東東能做點(diǎn)什么用?每個(gè)東東能做點(diǎn)什么用?n月老:牽線搭橋,介紹認(rèn)識(shí)月老:牽線搭橋,介紹認(rèn)識(shí)n小伙:追求獻(xiàn)花,表達(dá)愛(ài)意小伙:追求獻(xiàn)花,表達(dá)愛(ài)意n姑娘:仰慕傾情,以身相許姑娘:
26、仰慕傾情,以身相許n戀人:拍拖,戀人:拍拖,結(jié)婚,結(jié)婚n玫瑰花:令姑娘頭暈,傳情示愛(ài)玫瑰花:令姑娘頭暈,傳情示愛(ài)-63-問(wèn)題分析問(wèn)題分析-3nD. 這些東東都呆在什么地方?這些東東都呆在什么地方?n月老:婚介所,交友網(wǎng)站月老:婚介所,交友網(wǎng)站n小伙:軟件園,住唐家小伙:軟件園,住唐家n姑娘:人民醫(yī)院,住新香洲姑娘:人民醫(yī)院,住新香洲n戀人:情侶路,電影院,戀人:情侶路,電影院, n玫瑰花:花店里,小伙手中,姑娘手中玫瑰花:花店里,小伙手中,姑娘手中-64-問(wèn)題分析問(wèn)題分析-4nE. 這些東東之間有什么關(guān)系?這些東東之間有什么關(guān)系?關(guān)系關(guān)系月老月老小伙小伙姑娘姑娘戀人戀人玫瑰玫瑰月老月老干媽干媽
27、舅媽舅媽撮合者撮合者沒(méi)關(guān)系沒(méi)關(guān)系小伙小伙干兒子干兒子男友老公男友老公男主角男主角買(mǎi)送主買(mǎi)送主姑娘姑娘外甥女外甥女女友太太女友太太女主角女主角受主受主戀人戀人作品作品組合組合組合組合使用者使用者玫瑰玫瑰沒(méi)關(guān)系沒(méi)關(guān)系信物信物受物心意受物心意 信物信物-65-問(wèn)題分析問(wèn)題分析-5nF. 這些東東是怎么成事的?這些東東是怎么成事的?n月老牽線搭橋,介紹小伙和姑娘認(rèn)識(shí)月老牽線搭橋,介紹小伙和姑娘認(rèn)識(shí)n姑娘和小伙一見(jiàn)鐘情,成為一對(duì)戀人姑娘和小伙一見(jiàn)鐘情,成為一對(duì)戀人n一對(duì)戀人開(kāi)始拍拖一對(duì)戀人開(kāi)始拍拖n小伙追求獻(xiàn)花,表達(dá)對(duì)姑娘的愛(ài)意小伙追求獻(xiàn)花,表達(dá)對(duì)姑娘的愛(ài)意n姑娘收到姑娘收到999火紅玫瑰,激動(dòng)得頭暈?zāi)?/p>
28、眩火紅玫瑰,激動(dòng)得頭暈?zāi)垦小伙真心求婚,姑娘以身相許小伙真心求婚,姑娘以身相許n一對(duì)戀人終于走入婚姻殿堂一對(duì)戀人終于走入婚姻殿堂-66-上升到面向?qū)ο笊仙矫嫦驅(qū)ο笥妹嫦驅(qū)ο笥^點(diǎn)觀看事物用面向?qū)ο笥^點(diǎn)觀看事物-67-用對(duì)象觀點(diǎn)認(rèn)識(shí)事物用對(duì)象觀點(diǎn)認(rèn)識(shí)事物nA.這里面有什么東東?這里面有什么東東?類(lèi)與對(duì)象類(lèi)與對(duì)象nB.每個(gè)東東看上去是什么樣的?每個(gè)東東看上去是什么樣的?類(lèi)的屬性類(lèi)的屬性nC.每個(gè)東東能做點(diǎn)什么用?每個(gè)東東能做點(diǎn)什么用?類(lèi)的方法類(lèi)的方法nD.這些東東都呆在什么地方?這些東東都呆在什么地方?類(lèi)的行為、狀態(tài)、部署類(lèi)的行為、狀態(tài)、部署nE.這些東東之間有什么關(guān)系?這些東東之間有什么關(guān)系?
29、類(lèi)間的關(guān)聯(lián)類(lèi)間的關(guān)聯(lián)nF.這些東東是怎么成事的?這些東東是怎么成事的?類(lèi)間的交互類(lèi)間的交互DACBEF-68-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-AnA.這里面有什么東東?這里面有什么東東?nObject Classn我我 本劇與我無(wú)關(guān)本劇與我無(wú)關(guān)n我的朋友我的朋友小伙小伙n我朋友的妻子我朋友的妻子姑娘姑娘n月老月老n戀人戀人n玫瑰玫瑰nDCBEF-69-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-BnB.每個(gè)東東看上去是什么樣每個(gè)東東看上去是什么樣的?的?n每個(gè)事物看上去都有自己的每個(gè)事物看上去都有自己的屬性,在每個(gè)屬性上都有一屬性,在每個(gè)屬性上都有一個(gè)特征值個(gè)特征值n小伙:體格,特征值:強(qiáng)壯小
30、伙:體格,特征值:強(qiáng)壯n姑娘:性情,特征值:溫柔姑娘:性情,特征值:溫柔n月老:年紀(jì),特征值:較大月老:年紀(jì),特征值:較大n戀人:關(guān)系,特征值:黏糊戀人:關(guān)系,特征值:黏糊n玫瑰花:顏色,特征值:火紅玫瑰花:顏色,特征值:火紅DACEF-70-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-CnC.每個(gè)東東能做點(diǎn)什么每個(gè)東東能做點(diǎn)什么用?用?n每個(gè)事物都具備某種能每個(gè)事物都具備某種能力力n小伙:追求、送花、娶親小伙:追求、送花、娶親n姑娘:愛(ài)慕、相許、出嫁姑娘:愛(ài)慕、相許、出嫁n月老:牽線搭橋月老:牽線搭橋n玫瑰:示愛(ài)玫瑰:示愛(ài)DABEF-71-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-DnD.這些東東都呆
31、在什么這些東東都呆在什么地方?地方?n每個(gè)事物都會(huì)有它合理每個(gè)事物都會(huì)有它合理的或者必須的空間位置的或者必須的空間位置和邏輯位置。尤其當(dāng)這和邏輯位置。尤其當(dāng)這些位置對(duì)事物的行為造些位置對(duì)事物的行為造成重要影響的時(shí)候,表成重要影響的時(shí)候,表明他們的位置極其重要明他們的位置極其重要n本劇列出的位置對(duì)故事主本劇列出的位置對(duì)故事主要情節(jié)沒(méi)有太大的影響,要情節(jié)沒(méi)有太大的影響,系統(tǒng)中不予考慮系統(tǒng)中不予考慮ACBEF-72-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-EnE.這些東東之間有什么關(guān)系?這些東東之間有什么關(guān)系?n事物之間的關(guān)系非常多,面向?qū)ο笫挛镏g的關(guān)系非常多,面向?qū)ο蟮挠^點(diǎn)一般分為主要的三類(lèi):的觀
32、點(diǎn)一般分為主要的三類(lèi):n整體整體-部分關(guān)系(組成和聚合),部分關(guān)系(組成和聚合),甲是乙的一個(gè)組成部分:如戀人和甲是乙的一個(gè)組成部分:如戀人和小伙,戀人和姑娘的關(guān)系小伙,戀人和姑娘的關(guān)系n抽象抽象-具體關(guān)系(泛化),甲是乙具體關(guān)系(泛化),甲是乙的一個(gè)特例:如人和小伙,人和月的一個(gè)特例:如人和小伙,人和月老,人和姑娘的關(guān)系老,人和姑娘的關(guān)系n合作關(guān)系(關(guān)聯(lián)),甲會(huì)對(duì)乙做點(diǎn)合作關(guān)系(關(guān)聯(lián)),甲會(huì)對(duì)乙做點(diǎn)什么:如月老和小伙、姑娘,小伙什么:如月老和小伙、姑娘,小伙和玫瑰,小伙和姑娘的關(guān)系和玫瑰,小伙和姑娘的關(guān)系DACBF-73-我的一個(gè)朋友結(jié)婚了我的一個(gè)朋友結(jié)婚了-FnF.這些東東是怎么成事的?這
33、些東東是怎么成事的?n每個(gè)事物都會(huì)盡量利用伙伴每個(gè)事物都會(huì)盡量利用伙伴的能力的能力n整體事物的能力依靠部分事整體事物的能力依靠部分事物的能力物的能力n抽象事物的屬性和能力就是抽象事物的屬性和能力就是具體事物的屬性和能力;具具體事物的屬性和能力;具體事物除了有抽象事物的屬體事物除了有抽象事物的屬性和能力外,還可以有自己性和能力外,還可以有自己特殊的特殊的n事物分工協(xié)作,互通信息,事物分工協(xié)作,互通信息,共同完成整體的目標(biāo)共同完成整體的目標(biāo)n面向?qū)ο蟮姆治龊驮O(shè)計(jì)的核面向?qū)ο蟮姆治龊驮O(shè)計(jì)的核心心DACBE-74-俗語(yǔ)和術(shù)語(yǔ)間的對(duì)應(yīng)俗語(yǔ)和術(shù)語(yǔ)間的對(duì)應(yīng)出了什么事?出了什么事?用例用例我的一個(gè)朋友結(jié)了婚。我的一個(gè)朋友結(jié)了婚。具體事物具體事物對(duì)象對(duì)象我的一個(gè)朋友我的一個(gè)朋友,他未婚妻他未婚妻事物類(lèi)型事物類(lèi)型類(lèi)類(lèi)小伙小伙,姑娘姑娘,玫瑰玫
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度江門(mén)民宿租賃經(jīng)營(yíng)合作協(xié)議3篇
- 2025年華東師大版高二地理上冊(cè)階段測(cè)試試卷含答案
- 2025年冀少新版七年級(jí)生物下冊(cè)月考試卷含答案
- 2025年人教新課標(biāo)三年級(jí)數(shù)學(xué)下冊(cè)月考試卷
- 2025年上外版高二數(shù)學(xué)上冊(cè)月考試卷含答案
- 2025年華東師大版七年級(jí)科學(xué)上冊(cè)階段測(cè)試試卷含答案
- 二零二五年度都市農(nóng)業(yè)居間租賃管理合同樣本2篇
- 2025年人教版PEP四年級(jí)英語(yǔ)上冊(cè)階段測(cè)試試卷含答案
- 根管治療規(guī)范化護(hù)理配合
- 二零二五年房產(chǎn)抵押債務(wù)化解與個(gè)人房產(chǎn)抵押權(quán)登記協(xié)議3篇
- 2024年手術(shù)室護(hù)士年度工作計(jì)劃(4篇)
- 《鐵路軌道維護(hù)》課件-更換道岔尖軌作業(yè)
- 財(cái)務(wù)管理基礎(chǔ)規(guī)范操作手冊(cè)
- 股份代持協(xié)議書(shū)簡(jiǎn)版wps
- 米酒釀造工藝
- 點(diǎn)式高層住宅工程施工組織設(shè)計(jì)
- 2024-2025學(xué)年九年級(jí)上冊(cè)歷史期末復(fù)習(xí)歷史觀點(diǎn)論述題(解題指導(dǎo)+專(zhuān)項(xiàng)練習(xí))解析版
- GB/T 44696-2024劇院服務(wù)規(guī)范
- 職業(yè)學(xué)校視頻監(jiān)控存儲(chǔ)系統(tǒng)解決方案
- 《銷(xiāo)售心理學(xué)培訓(xùn)》課件
- 窺見(jiàn)中華文明之光- 高中語(yǔ)文統(tǒng)編版(2022)必修下冊(cè)第一單元整體教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論