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