




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Rational Rose 基于UML的面向?qū)ο蠼9ぞ哒n程內(nèi)容n什么是UMLnRational公司的面向?qū)ο筌浖こ探鉀Q方案n使用Rose來進行面向?qū)ο蠼Rose的其他用途面向?qū)ο蟾拍罨仡檔面向?qū)ο笾械膸讉€非常重要的概念:n類類: 類是定義同一類所有對象的變量和方法的藍圖或原型。例如,可以建立一個定義包含當前檔位等實例變量的自行車類。這個類也定義和提供了實例方法(變檔、剎車)的實現(xiàn)。n對象對象: 對象是類的一個實例n封裝和信息隱藏:封裝和信息隱藏:將屬性和操作包裝成一個單元,使得對狀態(tài)的訪問和修改只能通過封裝提供的接口進行。n消息消息: 對象間發(fā)送請求的載體n繼承: 面向?qū)ο蠓椒╪面向?qū)?/p>
2、象方法:面向?qū)ο蠓椒ǎ合到y(tǒng)開發(fā)的一種方法,這種方法把系統(tǒng)看作是一起系統(tǒng)開發(fā)的一種方法,這種方法把系統(tǒng)看作是一起來完成某項任務(wù)的相互作用的對象集合。來完成某項任務(wù)的相互作用的對象集合。n對象:對象:計算機系統(tǒng)中可以對消息作出響應(yīng)的事物。計算機系統(tǒng)中可以對消息作出響應(yīng)的事物。n類圖:類圖:用面向?qū)ο蟮姆椒@示系統(tǒng)中所有對象所屬類的圖形模型。用面向?qū)ο蟮姆椒@示系統(tǒng)中所有對象所屬類的圖形模型。Object-oriented analysis (OOA)定義在系統(tǒng)中工作的所有類型的對定義在系統(tǒng)中工作的所有類型的對象,并顯示這些對象如何通過相互象,并顯示這些對象如何通過相互作用來完成任務(wù)。作用來完成任務(wù)
3、。Object-oriented design (OOD)定義和系統(tǒng)中人機進行通訊所必須定義和系統(tǒng)中人機進行通訊所必須的所有類型的對象,并對每一類型的所有類型的對象,并對每一類型的對象進行細化,以便可以用一種的對象進行細化,以便可以用一種具體的語言或環(huán)境來實現(xiàn)這些對象。具體的語言或環(huán)境來實現(xiàn)這些對象。Object-oriented programming 用某種編程語言書寫語句來定義各用某種編程語言書寫語句來定義各類對象的行為,包括對象間的消息類對象的行為,包括對象間的消息傳遞傳遞.面向?qū)ο蠓椒òl(fā)展歷史 面向?qū)ο蠓椒ㄩ_始于面向?qū)ο蠓椒ㄩ_始于20世紀世紀60年代挪威年代挪威 Simula 編程語
4、言的開發(fā)。用于創(chuàng)建包括像輪船、浮標以編程語言的開發(fā)。用于創(chuàng)建包括像輪船、浮標以及峽彎中潮汐等及峽彎中潮汐等“對象對象”的計算機模擬。的計算機模擬。 在在20世紀世紀70年代年代, 人們開發(fā)了人們開發(fā)了Smalltalk 語言用語言用于解決創(chuàng)建包括下拉式菜單、按鈕、復(fù)選框和對于解決創(chuàng)建包括下拉式菜單、按鈕、復(fù)選框和對話框等話框等“對象對象”的圖形用戶界面的問題。的圖形用戶界面的問題。 最近幾年面向?qū)ο蟪绦蜷_發(fā)最近幾年面向?qū)ο蟪绦蜷_發(fā) C+, Java,用編程用編程語言書寫語句來定義每一類對象的行為。語言書寫語句來定義每一類對象的行為。UML簡介nUnified Modeling Language
5、(面向?qū)ο蟮姆治雠c設(shè)計(OOA&D)方法的發(fā)展在80年代末至90年代中出現(xiàn)了一個高潮,UML是這個高潮的產(chǎn)物。它不僅統(tǒng)一了Booch、Rumbaugh和Jacobson的表示方法,而且對其作了進一步的發(fā)展,并最終統(tǒng)一為大眾所接受的標準建模語言)n面向?qū)ο蠼UZ言產(chǎn)生于面向?qū)ο蠼UZ言產(chǎn)生于1970年代中期年代中期n1990年代初,建模語言數(shù)量達到年代初,建模語言數(shù)量達到50多種多種n眾多語言各有千秋,缺乏通用性眾多語言各有千秋,缺乏通用性n語言之間的細小差別妨礙了用戶的交流語言之間的細小差別妨礙了用戶的交流n1990年代中期,三位主要的年代中期,三位主要的OO建模大師:建模大師:Booch,R
6、umbaugh,Jacoson開始致力于建立統(tǒng)一建模語言開始致力于建立統(tǒng)一建模語言的工作。的工作。三位面向?qū)ο蟠髱烥rady BoochnRational公司首席科學(xué)家,Booch方法發(fā)明人。n提出了面向?qū)ο筌浖こ痰母拍睿瑢da(Ada是一種表現(xiàn)能力很強的通用程序設(shè)計語言,它是美國國防部為克服軟件開發(fā)危機,耗費巨資,歷時近20年研制成功的)的工作擴展到整個面向?qū)ο箢I(lǐng)域。nBooch1993比較適合于系統(tǒng)的設(shè)計和構(gòu)造。Jim RumbaughnRational公司高級研究員。n提出了面向?qū)ο蠼<夹g(shù)(OMT,Object Modeling Technology 對象建模技術(shù)) ,該方法用對象
7、模型、動態(tài)模型、功能模型來支持軟件開發(fā)的全過程。nOMT-2特別適用于分析和描述以數(shù)據(jù)為中心的信息系統(tǒng)。Ivar JacobsonnRational公司副總裁,提出了面向?qū)ο筌浖こ?OOSE方法。nOOSE(Object_Oriented Software Engineering)面向?qū)ο筌浖こ?的最大特點是面向用例的,用例(use-case)貫穿了整個開發(fā)過程。nOOSE比較適合于商業(yè)工程和需求分析。UML的發(fā)展歷程公公 眾眾 反反 饋饋UML1.1被OMG(對象管理組織)接納為標準Booch-1OMT-1OOSE其他方法Booch-3OMT-2UML0.9&0.91UML1.0&1.1
8、UML合作者的意見Unified Method 0.8分散的各部分統(tǒng)一標準化工業(yè)化19951996.6和1996.101997.1和1997.91997.11.17目前常用的目前常用的UML2.0版版UML的優(yōu)點 UML是國際軟件工業(yè)界廣泛認可的標準,它統(tǒng)一了對象模擬的標記和含義,使軟件設(shè)計工具能發(fā)揮更大的效用。 UML取長補短,適當?shù)钠胶饬撕喗菪院途唧w化兩個主旨。UML已成為一個單獨的系統(tǒng),不至于像以前那樣由多種標準而造成誤會。UML元素 靜態(tài)視圖n類圖、包圖、組件圖、配置圖 動態(tài)視圖n用例圖、交互圖(順序圖和協(xié)作圖)、狀態(tài)圖、活動圖 描述語言n類描述語言、對象約束語言n 建模建模是人類對客
9、觀世界和抽象事物之間聯(lián)系的具體描述。在過去軟件開是人類對客觀世界和抽象事物之間聯(lián)系的具體描述。在過去軟件開發(fā)中,程序員利用手工建模,既耗費了大量的時間和精力又無法對整個復(fù)發(fā)中,程序員利用手工建模,既耗費了大量的時間和精力又無法對整個復(fù)雜系統(tǒng)全面準確的描述,以至于直接影響應(yīng)用系統(tǒng)的開發(fā)質(zhì)量和速度。而雜系統(tǒng)全面準確的描述,以至于直接影響應(yīng)用系統(tǒng)的開發(fā)質(zhì)量和速度。而今,我們不再為建??鄲馈=?,我們不再為建模苦惱。RationalRational公司曾以公司曾以AdaAda語言享譽世界,今天以面語言享譽世界,今天以面向?qū)ο蟮目梢暬9ぞ呦驅(qū)ο蟮目梢暬9ぞ逺ational RoseRational
10、 Rose博得了業(yè)界一片好評。正如美國博得了業(yè)界一片好評。正如美國應(yīng)用程序開發(fā)戰(zhàn)略應(yīng)用程序開發(fā)戰(zhàn)略YourdouYourdou教授所評價的:教授所評價的:“Rational Rose Rational Rose 將對面向?qū)γ嫦驅(qū)ο髴?yīng)用程序開發(fā)技術(shù)產(chǎn)生巨大影響;使大型開發(fā)項目的分析,建模、設(shè)計象應(yīng)用程序開發(fā)技術(shù)產(chǎn)生巨大影響;使大型開發(fā)項目的分析,建模、設(shè)計規(guī)范化了,規(guī)范化了,RationalRational公司已成為公司已成為OO CASEOO CASE界的界的MicrosoftMicrosoft?!眓Rational RoseRational Rose包括了一體化建模語言(包括了一體化建模
11、語言(UMLUML)、)、OOSEOOSE及及OMTOMT。其中一體。其中一體化建模語言(化建模語言(UMLUML)由)由Rational Rational 公司三位世界級面向?qū)ο蠹夹g(shù)專家公司三位世界級面向?qū)ο蠹夹g(shù)專家Grady Grady BoochBooch、IvarIvar Jacobson Jacobson和和Jim Jim RumbaughRumbaugh通過對早期面向?qū)ο笱芯康脑O(shè)計方法通過對早期面向?qū)ο笱芯康脑O(shè)計方法的進一步擴展而得來的,為可視化建模軟件奠定了堅實的理論基礎(chǔ)。的進一步擴展而得來的,為可視化建模軟件奠定了堅實的理論基礎(chǔ)。Rational公司簡介Rational公司簡介
12、nRational公司成立于1981年,它致力于提高軟件質(zhì)量,縮短開發(fā)周期。n全球軟件廠商13強之一。n全球數(shù)據(jù)庫廠商12強之一。n開發(fā)的Ada語言被美國國防部認證為軍用標準語言。n2002年12月6日,IBM宣布以21億美元收購軟件設(shè)計工具廠商Rational公司。 Rational RosenROSE是美國Rational公司的面向?qū)ο蠼9ぞ撸眠@個工具,我們可以建立用UML描述的軟件系統(tǒng)的模型,而且可以自動生成和維護C+、Java、VB、Oracle等語言和系統(tǒng)的代碼。nRose通過先建立系統(tǒng)模型,再編寫代碼,從而提高了軟件開發(fā)的可靠性。Rational解決方案Rational公司提
13、供了一套廣泛的軟件工程解決方案。公司提供了一套廣泛的軟件工程解決方案。它包括:它包括:一個集成的軟件產(chǎn)品家族,以實現(xiàn)需求管理、應(yīng)用設(shè)計和建模、編碼、軟件質(zhì)量保證和測試、組件管理、過程和項目管理以及軟件文檔自動生成的自動化。一整套可配置的用于軟件開發(fā)的過程和技術(shù):通過Use- Case驅(qū)動以獲取業(yè)務(wù)或系統(tǒng)需求,基于控制的迭代開發(fā)以及一套針對軟件重用的結(jié)構(gòu)化的方法。Rational產(chǎn)品Requisite PronRational公司有一整套用于需求管理的工具,公司有一整套用于需求管理的工具,功能非常強大,包括功能非常強大,包括Requisite Pro等,這些等,這些需求分析工具可以對需求進行全面
14、的管理,需求分析工具可以對需求進行全面的管理,包括記錄需求的變化情況,需求之間的依賴包括記錄需求的變化情況,需求之間的依賴關(guān)系等等。關(guān)系等等。 n-Rational SQA Suite是一系列基于Windows的黑黑盒測試盒測試工具,這套工具具有動態(tài)跟蹤、自動比較對錯、面向?qū)ο箐浿频裙δ?,可對多種Windows客戶/服務(wù)器應(yīng)用開發(fā)工具進行測試,為整個測試生命周期提供一套完善的解決方案。Rational公司在開發(fā)研制一流測試工具SQA的同時,還結(jié)合開發(fā)應(yīng)用實踐,總結(jié)出了一套測試方法論SQA Process。這一測試方法論為軟件測試人員提供了一系列面向RAD環(huán)境的行之有效的科學(xué)測試方法。軟件測試n
15、軟件測試方法一般分為兩種:軟件測試方法一般分為兩種:白盒測試與黑盒測試。白盒測試與黑盒測試。-白盒測試白盒測試又稱為結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序本身的測試,它著又稱為結(jié)構(gòu)測試、邏輯驅(qū)動測試或基于程序本身的測試,它著 重于程序的內(nèi)部結(jié)構(gòu)及算法,通常不關(guān)心功能與性能指標;重于程序的內(nèi)部結(jié)構(gòu)及算法,通常不關(guān)心功能與性能指標;-黑盒測試黑盒測試又被稱為功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試,它又被稱為功能測試、數(shù)據(jù)驅(qū)動測試或基于規(guī)格說明的測試,它 實際上是站在最終用戶的立場,檢驗輸入輸出信息及系統(tǒng)性能指標是否實際上是站在最終用戶的立場,檢驗輸入輸出信息及系統(tǒng)性能指標是否 符合規(guī)格說明書中有關(guān)功
16、能需求及性能需求的規(guī)定。符合規(guī)格說明書中有關(guān)功能需求及性能需求的規(guī)定。- 傳統(tǒng)的黑盒測試往往局限于手工測試,憑借工程人員的經(jīng)驗自發(fā)地進傳統(tǒng)的黑盒測試往往局限于手工測試,憑借工程人員的經(jīng)驗自發(fā)地進 行,缺乏嚴格的測試管理機制,因而效果不明顯。事實上,在分發(fā)一個行,缺乏嚴格的測試管理機制,因而效果不明顯。事實上,在分發(fā)一個 應(yīng)用系統(tǒng)之前,若沒有經(jīng)過科學(xué)、周密的黑盒測試,就等于將大量隱含應(yīng)用系統(tǒng)之前,若沒有經(jīng)過科學(xué)、周密的黑盒測試,就等于將大量隱含 的缺陷交付到最終用戶手中,這對于開發(fā)團隊自身、項目投資方及最終的缺陷交付到最終用戶手中,這對于開發(fā)團隊自身、項目投資方及最終 用戶來說都是不負責任的表現(xiàn)
17、,也將嚴重損害這三方的利益。用戶來說都是不負責任的表現(xiàn),也將嚴重損害這三方的利益。 ClearCase(版本管理)nClearCase的核心功能是版本控制,他是對在軟件研發(fā)進程中一個文件或一個目錄發(fā)展過程進行追蹤的手段。ClearCase對所有文件系統(tǒng)對象(包括文件、目錄和鏈接)增強了版本控制系統(tǒng)功能。可定版本的文件包括原始碼、可執(zhí)行文件、位圖文件、需求文件、設(shè)計說明、測試計劃、和一些ASCII和非ASCII文件。目錄的版本記錄了整個組織基礎(chǔ)資源的發(fā)展狀況,包括源文件的建立、重新命名、重新構(gòu)造和刪除操作等。 這種版本控制系統(tǒng)提供了先進的版本分支和歸并功能用于支這種版本控制系統(tǒng)提供了先進的版本分
18、支和歸并功能用于支持并行研發(fā)。持并行研發(fā)。 Soda(文檔管理)u開發(fā)文檔制作過程自動化,節(jié)省時間和成本開發(fā)文檔制作過程自動化,節(jié)省時間和成本 u根據(jù)模板根據(jù)模板(template)編排文件,使文檔格式標準化編排文件,使文檔格式標準化 u可按用戶要求自定義文件模板,使用多種來源生成文檔可按用戶要求自定義文件模板,使用多種來源生成文檔 u自動維持文檔的一致性,大幅度節(jié)省人工維護的時間和成本自動維持文檔的一致性,大幅度節(jié)省人工維護的時間和成本 u極具彈性的文件制作,新版文件生成時,自動保留在原版本中直接編輯極具彈性的文件制作,新版文件生成時,自動保留在原版本中直接編輯的圖文的圖文 u提供模板制作向
19、導(dǎo),容易地制作文件模板提供模板制作向?qū)?,容易地制作文件模?u與與Microsoft Word緊密整合,模板和文件的制作均在緊密整合,模板和文件的制作均在Word上進行上進行 可視化建模工具Rose文檔自動化工具SoDA需求工具需求工具需求工具需求工具建模工具建模工具編程環(huán)境編程環(huán)境測試工具測試工具 SQA SuiteSQA Suite 配置管理工具配置管理工具建模工具建模工具 Rose配置管理工具配置管理工具 ClearCase代碼高級調(diào)試Pure Series版本管理ClearCase報表警告黑盒測試SQARose界面(1)nROSE的界面分為三個部分Browser窗口、Diagram窗口
20、和Document窗口。Browser窗口用來瀏覽、創(chuàng)建、刪除和修改模型中的模型元素;Diagram窗口用來顯示和創(chuàng)作模型的各種圖;而Document窗口則是用來顯示和書寫各個模型元素的文檔注釋。Browser窗口Diagram窗口Specification對話框工具欄工具箱Rose界面(2)nBrowser窗口有四個視圖:nUse CasenLogicalnComponentnDeploymentRose界面(3)n在在Use Case視圖的圖的類型有:視圖的圖的類型有:用例圖用例圖、順序圖順序圖、協(xié)作圖協(xié)作圖和和活動圖活動圖。Rose界面(4)n在在Logical視圖中的類型有:視圖中的類
21、型有:類圖類圖和和狀態(tài)圖狀態(tài)圖。Rose界面(5)n在在Component視圖的圖的類型有:視圖的圖的類型有:組件圖組件圖。Rose界面(6)n在在Deployment視圖的圖的類型有:視圖的圖的類型有:配置圖配置圖。面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨?類圖類圖 用例圖用例圖 協(xié)作圖協(xié)作圖 順序圖順序圖 狀態(tài)圖狀態(tài)圖 這五個分離而又相互聯(lián)系的面向?qū)ο蟮哪P突驁D被用于這五個分離而又相互聯(lián)系的面向?qū)ο蟮哪P突驁D被用于從面向?qū)ο蟮慕嵌瘸霭l(fā)定義應(yīng)用需求。它們之間的關(guān)系如同從面向?qū)ο蟮慕嵌瘸霭l(fā)定義應(yīng)用需求。它們之間的關(guān)系如同下面的這個式子:下面的這個式子: 面面 向向 對對 象象 方方 法法事事 件件 和和
22、事事 件件 表表實實 體體實實 體體 - -聯(lián)聯(lián) 系系 圖圖關(guān)關(guān) 聯(lián)聯(lián) 圖圖D DF FD D片片 斷斷0 0層層 圖圖數(shù)數(shù) 據(jù)據(jù) 流流 定定 義義類類 圖圖用用 例例 圖圖狀狀 態(tài)態(tài) 圖圖順順 序序 圖圖協(xié)協(xié) 作作 圖圖過過 程程 描描 述述傳傳 統(tǒng)統(tǒng) 方方 法法活活 動動 圖圖基于UML的軟件開發(fā)過程問題描述用例圖數(shù)據(jù)字典類圖順序圖協(xié)作圖活動圖狀態(tài)圖詳細類圖包圖組件圖配置圖需求階段分析設(shè)計階段實現(xiàn)階段面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箢悎D類圖 一種用于識別組成新系統(tǒng)的對象并進行分類的圖。類圖一種用于識別組成新系統(tǒng)的對象并進行分類的圖。類圖是是OO方法的核心。它與數(shù)據(jù)模型不同,不僅顯示了信息的方法
23、的核心。它與數(shù)據(jù)模型不同,不僅顯示了信息的結(jié)構(gòu),還顯示了系統(tǒng)的行為(操作)。結(jié)構(gòu),還顯示了系統(tǒng)的行為(操作)。姓姓 名名地地 址址電電 話話客客 戶戶添添 加加 新新 的的刪刪 除除修修 改改與與 說說 明明 相相 連連類類 名名屬屬 性性 : 類類 中中 所所 有有 的的 對對 象象每每 個個 對對 象象 都都 有有 一一 個個 值值方方 法法 : 類類 中中 的的 所所 有有 對對 象象 知知 道道 如如何何 去去 做做類圖的概念nClass Diagramn一個分類或類表示相似對象的集合,類圖表示系統(tǒng)中所有一個分類或類表示相似對象的集合,類圖表示系統(tǒng)中所有對象的類型對象的類型n對于每一個
24、類,也許有更具體的子類對于每一個類,也許有更具體的子類n子類和對象繼承類的所有特性子類和對象繼承類的所有特性 ,類可以復(fù)用。,類可以復(fù)用。Class CarSubclass FordSubclass GMMustangCLASSSUBCLASSINSTANCEISAnBased on notion of “objects” things in the computer system (and the world) which have behaviours and respond to “messages”nObjects can be anythingnA menu bar, or wind
25、ow on the screennA carnA housenA number etc.!nCan send a message to an objectnE.g. to a window to draw itself on the computer screennE.g. to a number to square itself!nCan model very complex systems (e.g. a reactor)對象的概念面向?qū)ο蠓椒ǖ膬?yōu)點自然性自然性面向?qū)ο蠓椒▽θ硕允亲悦嫦驅(qū)ο蠓椒▽θ硕允亲匀坏幕蚴侵庇^的,因為人們?nèi)坏幕蚴侵庇^的,因為人們傾向于按照可感知的對象來傾向于按照
26、可感知的對象來思考世界。思考世界。軟件復(fù)用軟件復(fù)用例如所有系統(tǒng)都使用菜單、例如所有系統(tǒng)都使用菜單、對話框、窗口以及按鈕,而對話框、窗口以及按鈕,而同一個公司中的許多系統(tǒng)也同一個公司中的許多系統(tǒng)也可以復(fù)用顧客類、產(chǎn)品類和可以復(fù)用顧客類、產(chǎn)品類和發(fā)貨清單類。發(fā)貨清單類。面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箢悎D類圖n類包括屬性和操作n屬性:=可見性 名稱:類型缺省值 約束特性n操作:=可見性 名稱(參數(shù)表):返回類型約束特性面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箢悎D類圖在介紹類圖時我們需要介紹以下兩個概念: 概括/具體層次圖:把類按照從最概括的父類把類按照從最概括的父類到最具體的子類的順序進行排列的層次圖,亦稱繼到最
27、具體的子類的順序進行排列的層次圖,亦稱繼承層次圖。承層次圖。 聚合(整體-局部層次圖):對象及其各個對象及其各個 部分之間的一種關(guān)系。部分之間的一種關(guān)系。面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨蟾爬ǜ爬?具體層次圖具體層次圖 下圖包含著一張概括下圖包含著一張概括/ /具體層次圖:賬戶是父類,具體層次圖:賬戶是父類,底下兩個是子類。在連接類的一條線上所畫的三角底下兩個是子類。在連接類的一條線上所畫的三角符號表示繼承。符號表示繼承。0 0. . .* *1 1姓姓名名地地址址電電話話客客戶戶支支票票類類型型最最小小余余額額支支票票賬賬戶戶賬賬戶戶余余額額開開戶戶日日期期賬賬戶戶存存款款取取款款利利率率儲儲蓄蓄
28、賬賬戶戶利利息息繼承繼承:允許子類共享其父類所具有的特征的概念。 子類不僅繼承了父類子類不僅繼承了父類的屬性和操作,并可的屬性和操作,并可以增加自己的屬性和以增加自己的屬性和操作,也可以改寫父操作,也可以改寫父類的屬性和操作類的屬性和操作數(shù)據(jù)的抽象和封裝數(shù)據(jù)的抽象和封裝MakeDepositWithDrawTransfer Balance interestYTD Owner Account MakeDeposit WithDraw Transfer用戶用戶接口(消息)接口(消息)實現(xiàn)細節(jié)(用戶不可見)實現(xiàn)細節(jié)(用戶不可見)銀行賬戶類數(shù)據(jù)的抽象與封裝銀行賬戶類數(shù)據(jù)的抽象與封裝數(shù)據(jù)的抽象和封裝數(shù)據(jù)
29、的抽象和封裝 Regist Showprivate: char bookname20; int number;public: void regist(char *a,int b); void show(); 用戶用戶接口(消息)接口(消息) 實現(xiàn)細節(jié)(用戶不可見)實現(xiàn)細節(jié)(用戶不可見)圖書類數(shù)據(jù)的抽象與封裝圖書類數(shù)據(jù)的抽象與封裝繼承和派生繼承和派生父母類父母類子女類子女類基類基類派生類派生類哺乳動物哺乳動物熱血、有毛發(fā)、用奶哺育幼仔熱血、有毛發(fā)、用奶哺育幼仔狗狗有犬牙、食肉、群居有犬牙、食肉、群居柯利狗柯利狗尖鼻子、身體顏色紅白相間尖鼻子、身體顏色紅白相間直接基類直接基類間接基類間接基類類的類
30、的層次結(jié)構(gòu)層次結(jié)構(gòu)面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨缶酆暇酆蟦聚合聚合表示類之間的關(guān)系是整體和部分的關(guān)系,用端點帶空心菱形的線段表示n組成組成是更強的聚集關(guān)系,如果整體不存在了,部分也會消失,比如“方向盤”和“汽車”。組成關(guān)系用端點帶實心菱形的線段表示。計計算算機機處處理理器器主主存存鍵鍵盤盤磁磁盤盤存存儲儲器器監(jiān)監(jiān)視視器器n 類圖描述類和類之間的靜態(tài)關(guān)系。類圖描述類和類之間的靜態(tài)關(guān)系。 上圖是山東快運營業(yè)受理系統(tǒng)類圖,它包括六個類:托運單、交接清單、交付清單、簽約客戶、普通客戶和經(jīng)辦人。 這張圖與實體聯(lián)系圖是存在對應(yīng)關(guān)系的,類與類之間可以發(fā)生關(guān)聯(lián)。圖中的星號代表“多”,例如托運單和交接清單的關(guān)系就
31、可以理解為1張交接清單可以包含1張或更多的托運單,反過來說每張托運單都只能為1張交接清單所有。面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箢悎D類圖n使用類圖時有三種不同的透視角度:使用類圖時有三種不同的透視角度:1.概念層概念層:類圖描述的應(yīng)用領(lǐng)域中的概念,這些概念:類圖描述的應(yīng)用領(lǐng)域中的概念,這些概念與實現(xiàn)時的類并不是一一映射的。概念模型獨立于與實現(xiàn)時的類并不是一一映射的。概念模型獨立于程序設(shè)計語言程序設(shè)計語言2.說明層說明層:該層次考察的是軟件的接口部分,而不是:該層次考察的是軟件的接口部分,而不是實現(xiàn)部分,也就是說考察的是類型而不是類實現(xiàn)部分,也就是說考察的是類型而不是類3.實現(xiàn)層實現(xiàn)層:只有在這一層中
32、的類才是嚴格意義上的類,:只有在這一層中的類才是嚴格意義上的類,它揭示了軟件實現(xiàn)體的構(gòu)成情況。它揭示了軟件實現(xiàn)體的構(gòu)成情況。面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨笥美龍D用例圖 用例圖用例圖: 一種用以顯示不同的用戶角色和這些用戶角色如何使用系統(tǒng)的圖。 代表參與者,即系統(tǒng)用戶扮演的一個角色代表參與者,即系統(tǒng)用戶扮演的一個角色 代表用例,既由系統(tǒng)為使用系統(tǒng)的用戶完成的一個單代表用例,既由系統(tǒng)為使用系統(tǒng)的用戶完成的一個單 一用途或功能一用途或功能 它們之間的連線用于哪個參與者參與什么用例它們之間的連線用于哪個參與者參與什么用例Rose的使用用例圖(2)取消選定插入文本添加注釋建立注釋到被注釋者之間的連接添加包
33、添加用例添加角色建立角色與用例之間的關(guān)聯(lián)框圖項目之間的相關(guān)性1.用例之間的使用或擴展關(guān)系2.角色之間的繼承關(guān)系n用例是系統(tǒng)的一個功能模塊n如何尋找用例n查看用戶提交的文檔n詢問系統(tǒng)的使用者n設(shè)計用例時的注意事項n用例獨立于實現(xiàn)n用例是系統(tǒng)的高級視圖,數(shù)目一般20-50個n用例的命名使用業(yè)務(wù)術(shù)語,而不是技術(shù)術(shù)語面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨笥美龍D用例圖 設(shè)計用例圖首先要獲取系統(tǒng)的執(zhí)行者,可以通過讓用戶回答一些問題來識別執(zhí)行者,以下問題可供參考:n誰使用系統(tǒng)的主要功能(主要使用者)n誰需要系統(tǒng)支持他們的日常工作n誰來維護、管理,使系統(tǒng)正常工作(輔助使用者)n系統(tǒng)需要操作哪些硬件n系統(tǒng)需要與哪些其他系
34、統(tǒng)交互,包括其他計算機系統(tǒng)和其他應(yīng)用程序n對系統(tǒng)的結(jié)果產(chǎn)生興趣的人和物面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨笥美龍D用例圖客客戶戶制制作作托托運運單單編編輯輯托托運運單單打打印印托托運運單單查查詢詢托托運運單單取取消消托托運運單單客客戶戶自自提提貨貨物物處處理理代代收收貨貨款款處處理理回回執(zhí)執(zhí)單單 與客戶有關(guān)的所有用例與客戶有關(guān)的所有用例面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨笥美龍D用例圖 前面的兩張圖,一張是貨物受理系統(tǒng)用例圖,另一張是與客戶有關(guān)的所有用例。它們用不同方式描述了系統(tǒng)的使用者(角色)和系統(tǒng)的功能模塊(用例)之間的關(guān)系。 我們可以看出,用例圖淺顯易懂,方便了客戶和系統(tǒng)設(shè)計者之間的交流。面向?qū)ο蟮男枨竺嫦?/p>
35、對象的需求用例圖用例圖一個一個用例用例面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨笥美龍D用例圖 一個用例用到其他用例的服務(wù)是必要的。一個用例用到其他用例的服務(wù)是必要的。 以上圖為例,在進行編輯、打印或取消托運單以上圖為例,在進行編輯、打印或取消托運單時,都需要進行托運單的查詢,已確定托運單是時,都需要進行托運單的查詢,已確定托運單是否存在。比如編輯托運單和查詢托運單的關(guān)系可否存在。比如編輯托運單和查詢托運單的關(guān)系可以讀做編輯托運單包含查詢托運單。以讀做編輯托運單包含查詢托運單。用例圖與結(jié)構(gòu)化技術(shù)的比較用例圖與結(jié)構(gòu)化技術(shù)的比較 使用用例圖是為了對一個系統(tǒng)進行使用用例圖是為了對一個系統(tǒng)進行概覽,也就是定義系統(tǒng)的范
36、圍,從這一概覽,也就是定義系統(tǒng)的范圍,從這一點來說,它與關(guān)聯(lián)圖是非常相似的。點來說,它與關(guān)聯(lián)圖是非常相似的。 但是,結(jié)構(gòu)化建模和面向?qū)ο蠼M瑫r也存在差別:但是,結(jié)構(gòu)化建模和面向?qū)ο蠼M瑫r也存在差別: 用例圖與結(jié)構(gòu)化技術(shù)的比較用例圖與結(jié)構(gòu)化技術(shù)的比較面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箜樞驁D順序圖n順序圖一種用于顯示用例對象之間消息順序的圖,代表對象順序圖一種用于顯示用例對象之間消息順序的圖,代表對象之間的消息和交互的一個特定集。之間的消息和交互的一個特定集。n順序圖用來描述對象之間的動態(tài)交互關(guān)系,著重體現(xiàn)對象間順序圖用來描述對象之間的動態(tài)交互關(guān)系,著重體現(xiàn)對象間消息傳遞的時間順序消息傳遞的時間順序
37、n順序圖存在兩個軸:水平軸表示不同的對象,垂直軸表示時順序圖存在兩個軸:水平軸表示不同的對象,垂直軸表示時間間n順序圖中的對象用帶垂直虛線的矩形框表示,在矩形框內(nèi)標順序圖中的對象用帶垂直虛線的矩形框表示,在矩形框內(nèi)標有對象名和類名。垂直虛線稱為對象的生命線有對象名和類名。垂直虛線稱為對象的生命線n順序圖中的消息用箭頭表示。箭頭的形狀表示消息的類型,順序圖中的消息用箭頭表示。箭頭的形狀表示消息的類型,有同步消息、異步消息、返回消息等等有同步消息、異步消息、返回消息等等Rose的使用順序圖(2)面向?qū)ο蟮男枨竺嫦驅(qū)ο蟮男枨箜樞驁D順序圖順序圖有四個基本符號: 參與者符號, 由 表示 對象符號,由一個
38、名字帶下劃線的方框 表示 生命線符號,由虛線或狹窄的豎直方框 表示,從上到下,顯示消息的順序 消息符號,由帶消息描述的方向箭頭 表示。消息描述器的語法如下:true/false條件返回值:=消息名(參數(shù)列表)主 角 1對象 : 對象1Rose的使用順序圖(5)取消選定添加注釋添加對象添加到自身的消息對象生命周期的結(jié)束插入文本建立注釋到被注釋者之間的連接添加消息添加返回消息基于UML的軟件開發(fā)過程問題描述用例圖數(shù)據(jù)字典類圖順序圖協(xié)作圖活動圖狀態(tài)圖詳細類圖包圖組件圖配置圖需求階段分析設(shè)計階段實現(xiàn)階段用例圖、類圖和順序圖之間的關(guān)系 上圖顯示了用例圖、類圖和順序圖這樣的交互圖之間的關(guān)系。 通常對于用例
39、圖中的每一個用例,都對應(yīng)若干個順序圖。 一個特定的順序圖記錄了一個用例或一個場景的信息流。n 交互圖包括從類圖出來的對象和從用例圖出來的參與者。Rose的使用活動圖(1)n活動圖是用狀態(tài)機對工作流進行建模的特殊形式,它和流程圖很類似,不過它支持并發(fā)控制。n活動圖一般不描述所有的運算細節(jié),它顯示活動流,但不顯示執(zhí)行活動的對象。n活動圖處于系統(tǒng)的外部和內(nèi)部視圖之間,所以它可以作為設(shè)計的起點,為了完成設(shè)計,每個活動必須擴展成一個和多個操作,每個操作被指派給特定的對象來實現(xiàn)。n將不同對象控制的活動劃分在一起,這類劃分可以通過分隔的區(qū)域來表達,由于它們的外觀,每個區(qū)域稱為泳道(swimlane)。Ros
40、e的使用活動圖(2)n活動圖由活動和轉(zhuǎn)移組成。n活動圖中的菱形框是判斷標志,表示條件轉(zhuǎn)移。n活動圖對表示并發(fā)很有用。在活動圖中使用一個稱為同步條的水平粗線可以將一條轉(zhuǎn)移分為多個并發(fā)執(zhí)行的分支,或?qū)⒍鄠€分支合為一條轉(zhuǎn)移。此時,只有輸入的轉(zhuǎn)移全部有效才能執(zhí)行后面的活動。Rose的使用活動圖(3)CustomerSalesStockroomRequestServicePayTake OrderFill OrderDeliver OrderCollect Order泳道同步條Rose的使用活動圖(4)取消選定添加注釋插入文本建立注釋到被注釋者之間的連接添加狀態(tài)添加結(jié)束狀態(tài)添加開始狀態(tài)添加活動添加轉(zhuǎn)換添
41、加到自身的轉(zhuǎn)換橫向同步條縱向同步條決策分支泳道Rose的使用狀態(tài)圖(1)n狀態(tài)圖是對單個類的對象的生命周期進行建模,描述了對象時間上的動態(tài)行為,每個對象被認為是事件驅(qū)動的孤立實體。n狀態(tài)圖是由狀態(tài)和轉(zhuǎn)換組成的圖,通常狀態(tài)圖附屬于類,描述類實例對接受事件的響應(yīng)。n事件表達對象間的調(diào)用、顯式信號、值的改變或時間的推移。事件有:n調(diào)用事件、變更事件、信號事件、時間事件n狀態(tài)描述對象生命周期的一段時間,可以是等待其它事件時所處的時間,或是執(zhí)行某一活動時所處的時間,狀態(tài)分為簡單狀態(tài)和復(fù)合狀態(tài)。Rose的使用狀態(tài)圖(2)n轉(zhuǎn)換定義對象對某一事件發(fā)生的反應(yīng),通常,轉(zhuǎn)換具有觸發(fā)事件、轉(zhuǎn)換條件、動作和目標狀態(tài)。n轉(zhuǎn)換的
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 關(guān)于推進項目進度的工作簡報
- 年度財務(wù)報表及審計結(jié)果
- 河南省駐馬店市部分學(xué)校2024-2025學(xué)年高三下學(xué)期3月月考地理試題(含答案)
- 基于區(qū)塊鏈技術(shù)的農(nóng)業(yè)溯源體系構(gòu)建方案
- 服裝設(shè)計與制造業(yè)務(wù)外包合作協(xié)議
- 個性化培訓(xùn)計劃實施效果分析表
- 網(wǎng)絡(luò)優(yōu)化服務(wù)升級合作協(xié)議
- 汽車采購銷售合同書及保修條款
- 智能醫(yī)療項目合作協(xié)議
- 企業(yè)危機管理機制構(gòu)建與運行
- 2025年河南交通職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫參考答案
- 2025年中國土木工程集團有限公司招聘筆試參考題庫含答案解析
- 2025廣西壯族自治區(qū)考試錄用公務(wù)員(4368人)高頻重點提升(共500題)附帶答案詳解
- 神經(jīng)病 《神經(jīng)病學(xué)》習題集學(xué)習課件
- 2025年四川綿陽市科技城新區(qū)下屬國有企業(yè)新投集團招聘筆試參考題庫附帶答案詳解
- 教科版三年級下冊科學(xué)全冊單元教材分析
- 2025年國家鐵路局工程質(zhì)量監(jiān)督中心招聘歷年高頻重點提升(共500題)附帶答案詳解
- 藥品經(jīng)營使用和質(zhì)量監(jiān)督管理辦法2024年宣貫培訓(xùn)課件
- 2024年無錫科技職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 沖壓件,汽車表面零件缺陷及原因分析
- 電熔旁通鞍型
評論
0/150
提交評論