《UML-01-UML概述48327》由會(huì)員分享,可在線閱讀,更多相關(guān)《UML-01-UML概述48327(44頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,,單擊此處編輯母版標(biāo)題樣式,,單擊此處編輯母版文本樣式,,第二級(jí),,第三級(jí),,第四級(jí),,第五級(jí),,,,*,為什么學(xué)習(xí)這門課?,從,programmer,)到,系統(tǒng)分析員(,system analyst,),,從建筑工人(,,worker,),到建筑師(,,architect,),,1,,課程目標(biāo),,掌握面向?qū)ο蠓椒ǖ闹饕枷搿⒒靖拍钆c原則。,,運(yùn)用,UML,建模語(yǔ)言,表現(xiàn)程序設(shè)計(jì)構(gòu)思。,,針對(duì)具體的,UML,模型,運(yùn)用,Java,語(yǔ)言進(jìn)行實(shí)現(xiàn)。,2,,預(yù)備知識(shí),對(duì)軟件開(kāi)發(fā)過(guò)程有一定了解,會(huì)使用,C++,Java,或其它,OOPL,。,,OOPL: Object-Oriented Progr
2、amming Language,,本課程和其它課程的關(guān)系,,3,,參考書,,[,美,]Grady,Booch,,,Ivar,Jacobson, James,Rumbaugh,. The Unified Modeling,Laguage,User Guide. Addison-Wesley,(中文版:,UML,用戶指南,.,邵維忠等譯,.,北京:機(jī)械工業(yè)出版社,,2001,),,,[,美,]James,Rumbaugh,,,Ivar,Jacobson, Grady,Booch,. The Unified Modeling Language Reference Manual (Second Edi
3、tion). Addison-Wesley,(中文版:,UML,參考手冊(cè)(第,2,版),. UML China,譯,.,北京:機(jī)械工業(yè)出版社,,2005.8,),,,[,美,]Roger,S.Pressman,. Software Engineering A Practitioner’s Approach.,(中文版:軟件工程 實(shí)踐者的研究方法,.,梅宏譯,.,北京:機(jī)械工業(yè)出版社,,2002,),,,吳建,鄭潮,汪杰,. UML,基礎(chǔ)與,Rose,建模案例,.,北京:人民郵電出版社,,2004.10,,[,美,]Robert A.,Marksimchuk,, Eric J.,Naiburg.
4、UMLfor,Mere Mortals. Addison-Wesley,(中文版:李虎,范思怡譯,,UML,初學(xué)者指南,.,北京:人民郵電出版社,,2005.06,,Wendy,Boggs,Michael,Boggs. Mastering UML with Rational Rose. SYBEX Inc,(中文版:邱仲潘等譯,. UML with Rational Rose,從入門到精通,.,北京:電子工業(yè)出版社,,2001,),4,,教學(xué)安排,,一、基礎(chǔ)部分,,專題一:UML概述,,專題二:面向?qū)ο蟾拍钆cUML的組成,,二、UML模型圖,,專題三:類圖、對(duì)象圖、包圖,,專題四:用例圖,,專
5、題五:交互圖(順序圖、協(xié)作圖),,專題六:狀態(tài)圖,,專題七:活動(dòng)圖,,專題八:部署圖與配置圖,,三、案例分析,,專題九:網(wǎng)上書店項(xiàng)目分析,5,,軟件開(kāi)發(fā)過(guò)程,,6,,開(kāi)發(fā)過(guò)程解析,,7,,軟件開(kāi)發(fā)和維護(hù)過(guò)程中出現(xiàn)的問(wèn)題,軟件開(kāi)發(fā)成本估計(jì)不準(zhǔn),開(kāi)發(fā)成本超出預(yù)算,,開(kāi)發(fā)進(jìn)度不能保證,交付時(shí)間一再拖延,,開(kāi)發(fā)出來(lái)的產(chǎn)品不符合用戶的需求,,軟件產(chǎn)品質(zhì)量無(wú)法保證,,軟件的可維護(hù)程度低,,軟件開(kāi)發(fā)生產(chǎn)率的發(fā)展跟不上硬件的發(fā)展速度和人們需求的增長(zhǎng),8,,問(wèn)題的根本,,9,,方法的演變-沒(méi)有方法,,10,,方法的演變-功能分解法,,11,,方法的演變-數(shù)據(jù)流法,,12,,方法的演變-信息建模法,,13,,方法
6、的演變-面向?qū)ο蠓?,14,,面向?qū)ο蠓椒?,90年代初,有一定影響的OOAD方法有50多種,,15,,UML的統(tǒng)一,,一個(gè)“劍”字居然有二十多種寫法,16,,UML的統(tǒng)一,,沒(méi)有統(tǒng)一的公式符號(hào),很難想像數(shù)學(xué)的發(fā)展。,,17,,UML的統(tǒng)一,,沒(méi)有五線譜,作曲家如何能精確表達(dá)自己的靈感?,,18,,UML的統(tǒng)一,,19,,UML的統(tǒng)一-資料爆炸性增長(zhǎng),,20,,UML的統(tǒng)一-工具爆炸性增長(zhǎng),,已經(jīng)有100多種,21,,UML應(yīng)用在各種領(lǐng)域,,UML主要應(yīng)用在軟件密集型系統(tǒng)。在以下領(lǐng)域中已經(jīng)有效地應(yīng)用了UML:,,制造業(yè),,銀行和金融服務(wù),,軍事,,醫(yī)療衛(wèi)生,,國(guó)防/航天,,游戲,22,,UML
7、,UML(統(tǒng)一建模語(yǔ)言) Unified Modeling Language.,,23,,什么是模型,模型就是現(xiàn)實(shí)的簡(jiǎn)單化。,24,,為什么要建模,,建模是為了了解某件事物是否能夠,,正常工作。,,,建模是為了能夠更好地理解我們正,,在開(kāi)發(fā)的系統(tǒng)。,,,,,25,,UML定義,UML——UML是一種繪制軟件藍(lán)圖的標(biāo)準(zhǔn)語(yǔ)言,可以使用UML對(duì)軟件密集型系統(tǒng)的制品進(jìn)行以下工作:,,可視化(,visualizing,),,詳述 (,specifying,),,構(gòu)造 (,constructing,),,文檔化(,documenting,),,26,,UML定義,,UML,是可視化語(yǔ)言,,UML,是圖形化
8、語(yǔ)言,,圖形便于交流,,UML,是一種可以詳細(xì)描述的語(yǔ)言,,所建的模型是精確的,無(wú)歧義和完整的,,UML,是用于構(gòu)造系統(tǒng)或理解系統(tǒng)的語(yǔ)言,,UML,不是一種可視化的編程語(yǔ)言,但用,UML,描述的模型可與各種編程語(yǔ)言直接關(guān)聯(lián),,,UML,是文檔化語(yǔ)言,,UML,可以為系統(tǒng)的體系結(jié)構(gòu)以及系統(tǒng)的所有細(xì)節(jié)建立文檔,,27,,UML的特點(diǎn),統(tǒng)一標(biāo)準(zhǔn):已成為面向?qū)ο蟮臉?biāo)準(zhǔn)化的統(tǒng)一的建模語(yǔ)言,,面向?qū)ο?,可視化、表示能力強(qiáng)大,,獨(dú)立于過(guò)程,但最好運(yùn)用于以用例驅(qū)動(dòng)的、以體系結(jié)構(gòu)為中心、迭代和增量的過(guò)程。,,概念明確,建模表示法簡(jiǎn)潔,圖形結(jié)構(gòu)清晰,容易掌握使用,,28,,UML的發(fā)展歷史,29,,“三友”,,
9、Jim Rumbaugh,Grady Booch,Ivar Jacobson,30,,31,,UML的9種圖,,32,,五、UML的組成,,1、類圖(Class Diagram),,類: 是一類或一組具有類似屬性和共同行為的事物。,,33,,2、對(duì)象圖(Object Diagram),,,,,3、用例圖(Use Case Diagram),,用例: 是從用戶的觀點(diǎn)對(duì)系統(tǒng)行為的一個(gè)描述。對(duì)系統(tǒng)開(kāi)發(fā),,人員來(lái)說(shuō),用例是一個(gè)有價(jià)值的工具:它是用來(lái)從用,,戶的觀察角度收集系統(tǒng)要求。,,34,,,4、狀態(tài)圖(State/State chart Diagram),,在任一給定的時(shí)刻, 一個(gè)對(duì)象總是處于某
10、一個(gè)特定狀態(tài)。,,,,,,L5、 順序圖(Sequence Diagram),,類圖, 對(duì)象圖描述的是系統(tǒng)的靜態(tài)結(jié)構(gòu)。,,順序圖是基于時(shí)間的對(duì)象之間的動(dòng)態(tài)交互(相互作用,傳達(dá)信息),,35,,36,,6、活動(dòng)圖(Activity Diagram),,活動(dòng)圖強(qiáng)調(diào)行為,動(dòng)作,而狀態(tài)圖強(qiáng)調(diào)狀態(tài)的變化,,,,,37,,7、協(xié)作圖 (Collaboration Diagram),,系統(tǒng)中各組成元素相互協(xié)作。,38,,,8、 構(gòu)件圖(Component Diagram),,是類的具體實(shí)施。cpp, .exe file,,39,,9、部署圖(Deployment Diagram),,,計(jì)算機(jī)系統(tǒng)的物理體系結(jié)構(gòu)。,,40,,UML工具,41,,UML和代碼的關(guān)系,用Java,C++ 等 programming language是用編碼實(shí)現(xiàn)一個(gè)系統(tǒng)。,,用UML是對(duì)一個(gè)系統(tǒng)建立模型。,,一些CASE工具可以根據(jù) UML所建立的系統(tǒng)模型來(lái)產(chǎn)生Java,C++ 或其它程序設(shè)計(jì)語(yǔ)言代碼框架。,,42,,作業(yè)與預(yù)習(xí),,作業(yè),,安裝Eclipse,,預(yù)習(xí),,面向?qū)ο蠡靖拍钆c原理:,,對(duì)象和類,,抽象,,封裝,,模塊化,,繼承,,多態(tài),43,,思考,對(duì)于建模的作用你是如何理解的?,,UML能保證我們開(kāi)發(fā)出高質(zhì)量的軟件嗎?,,你認(rèn)為應(yīng)對(duì)需求變更的最佳方法是什么?,,面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)和缺點(diǎn)是什么?,,44,,