使用UML和RationalRose建立系統(tǒng)模型概要
畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 1 頁 共 53 頁 畢 業(yè) 論 文 設(shè)計課題:使用 UML 和 Rational Rose 建立系統(tǒng)模型 畢 業(yè) 院 系:信息工程學院 畢 業(yè) 生 姓 名:指 導 老 師:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 2 頁 共 53 頁 畢 業(yè) 設(shè) 計 任 務(wù) 書 一 題目:1.課題:使用 UML 和 Rational Rose 設(shè)計一個應(yīng)用系統(tǒng)(圖書館管理系統(tǒng))模型 二 課題來源及選題依據(jù):本課題來自于導師孫榮勝。UML 是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導地位的標準建模語言。UML 是信息技術(shù)行業(yè)的藍圖,是詳細描述系統(tǒng)結(jié)構(gòu)的方法。利用這個藍圖,我們建立和維護系統(tǒng)就越來越容易,保證系統(tǒng)能適應(yīng)需求的改變。Rational Rose 是分析和設(shè)計面向?qū)ο筌浖到y(tǒng)的強大的可視化工具,可以用來先建模系統(tǒng)在編寫代碼,從而一開始就保證系統(tǒng)結(jié)構(gòu)合理。三 本設(shè)計(論文及其它)應(yīng)達到的要求:本課題要求用統(tǒng)一建模語言(UML)和 Rational Rose 設(shè)計面向?qū)ο髴?yīng)用程序的模型 主要任務(wù)為:1 對圖書管理系統(tǒng)用 UML 和 Rose 進行項目需求分析、結(jié)構(gòu)規(guī)劃,用 Rose 創(chuàng)建活動框圖,演示事件流程,處理流程時要利用 Sequence 和 Collaboration 框圖,此外還要創(chuàng)建組件框圖。2 用 Rose 創(chuàng)建 Sequence,Collaboration,Class,Component 與 Deployment 框圖,產(chǎn)生框架代碼,創(chuàng)建代碼后,通過逆向轉(zhuǎn)出工程代碼讓軟件與模型同步。3 撰寫畢業(yè)設(shè)計說明書。4 英文文獻的閱讀和翻譯。四 接受任務(wù)學生:五 開始及完成日期:六 指導老師:摘 要 UML 是由一組不同框圖構(gòu)成的,分別提供系統(tǒng)設(shè)計的不同角度。有些較高級,提畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 3 頁 共 53 頁 供系統(tǒng)功能的信息;有些較詳細,包括實現(xiàn)系統(tǒng)時要建立的特定類和組件;還有一些介于中間,從高層角度提供設(shè)計細節(jié)。UML(統(tǒng)一建模語言)事實上是面向?qū)ο蠼UZ言的工業(yè)標準。他包含了許多和軟件系統(tǒng)模型結(jié)構(gòu)相匹配的子語言。UML 語言被作為一種綜合性并有內(nèi)在特色的語言在發(fā)展,延伸到許多特色領(lǐng)域中??梢暬:?Rational Rose 在軟件開發(fā)過程的幾個階段很有用。在項目開始階段,Rose 可以產(chǎn)生業(yè)務(wù)模型使用案例模型。在細化與構(gòu)造階段,Rose 可以開發(fā)活動框圖,顯示事件流程。Sequence 框圖和 Collaboration 框圖顯示要開發(fā)的對象,及其相互間的交互。Rose 開發(fā)的類框圖顯示對象間的相互關(guān)系。組件框圖顯示系統(tǒng)組件間的相關(guān)性,并可以產(chǎn)生系統(tǒng)的框架代碼。本論文介紹了一部分 UML 語言的特色,并系統(tǒng)的分析了如何用 Rational Rose 和UML 建立一個圖書館管理系統(tǒng)的 Rose 模型。關(guān)鍵字:面向?qū)ο蠼?,UML,Rational Rose,類框圖,對象交互框圖 畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 4 頁 共 53 頁 Abstract UML is composed of a group of different diagrams,they provide the different point of view to the system design.Some are superior,provide the information of system functional;others are particular,consists of special classes and module which are established when implement the system.Also some are between the two,they provide the design specific from the superior point of view.The Unified Modeling Language(UML)is the de facto industrial standard of an object-oriented modeling language.It consists of several sub languages which are suited to model structural and behavioral aspects of a software system.The UML was developed as a general-purpose language together with intrinsic features to extend the UML towards problem domain-specific profiles.Visual modeling and Rational Rose is very useful in the software exploitation process.In the beginning,Rose can produce Use Case model.In conformation,Rose can empolder activity diagram.Sequence and Collaboration diagram show the objects to be empoldered and the alternation between them.The class diagrams show correlation between objects.The module diagrams show the relativity between the modules in system,and it can produce some system code from model.The paper illustrates the language features of the UML and its adaptation mechanisms.It systemic analyzes how to build a Rose model of library system by Rational Rose and UML.Keywords:object-oriented model,UML,Rational Rose,class diagram,interaction diagram 畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 5 頁 共 53 頁 目錄 一 題目 -1 二 摘要 -2 三 目錄 -4 四 內(nèi)容 -6 第一章 綜述 1.1 UML 背景-6 1.2 系統(tǒng)模型設(shè)計概要-6 第二章 統(tǒng)一建模語言 UML 概述 2.1 UML 簡介-7 2.1.1 UML 的架構(gòu)-7 2.1.2 UML 的模型、視圖、圖與系統(tǒng)架構(gòu)建模-8 2.1.3 標準建模語言 UML 的主要特點-8 2.2 UML 與面向?qū)ο蟮能浖治雠c設(shè)計(OOA&D)-9 2.3 標準建模語言 UML 的應(yīng)用領(lǐng)域-10 第三章 Rational Rose概述 3.1 Rational Rose 的基本內(nèi)容-10 3.2 什么是建模-11 3.2.1 用 Rational Rose 如何實現(xiàn)建模-11 3.2.2 Rational Rose 的解決方案-11 3.3 Rational Rose 的界面及 Rose 模型的四個視圖-11 第四章 圖書管理系統(tǒng) Rose 模型設(shè)計過程 4.1 系統(tǒng)設(shè)置-平臺和開發(fā)工具的選擇-13 4.2 模型總體設(shè)計-14 4.2.1 創(chuàng)建系統(tǒng)的 Use Case 視圖-14 4.2.2 創(chuàng)建系統(tǒng)的 Logical 視圖-15 4.2.3 在 Logical 視圖中創(chuàng)建類、包和 Class 框圖-26 4.2.4 創(chuàng)建系統(tǒng)的 Component 視圖-30 4.2.5 創(chuàng)建系統(tǒng)的 Deployment 視圖-32 第五章 用 Rational Rose 生成系統(tǒng)框架代碼 5.1 生成框架代碼的基本步驟-33 5.2 生成什么-34 5.3 由 Rational Rose 生成的部分框架代碼-34 5.4 用 Rational Rose 逆向轉(zhuǎn)出工程代碼簡介-42 畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 6 頁 共 53 頁 第六章 結(jié)束語-43 五.致謝 -44 六.英文翻譯 -45 七.參考文獻 -52 畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 7 頁 共 53 頁 第一章 綜述 1.1 UML 背景 在這個面向?qū)ο髴?yīng)用程序開發(fā)不斷變化的時代,在合理時間內(nèi)開發(fā)和管理高質(zhì)量應(yīng)用程序變得越來越困難。業(yè)務(wù)發(fā)展越來越快,更加要求企業(yè)在市場中具有競爭力和維持力,“傳統(tǒng)”系統(tǒng)開發(fā)方法已經(jīng)力不從心。系統(tǒng)應(yīng)以“Internet 速度”開發(fā)。速度的加快也要求有更加靈活的系統(tǒng)。過去,用戶可以向數(shù)據(jù)處理中心發(fā)送請求,兩年之后才進行改變?,F(xiàn)在,用戶向 IT部門發(fā)送改變請求,要求兩周內(nèi)就完成。為了面對這種挑戰(zhàn),制定出每個公司都能使用的通用對象模型語言,統(tǒng)一建模語言(UML)被及時推出。UML 是信息技術(shù)行業(yè)的藍圖,是詳細描述系統(tǒng)結(jié)構(gòu)的方法。利用這個藍圖,我們建立和維護系統(tǒng)就越來越容易,保證系統(tǒng)能適應(yīng)需求的改變。在世界范圍內(nèi),至少在近 10 年內(nèi),UML 將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導地位的標準建模語言。采用 UML 作為統(tǒng)一的建模語言是完全必要的:首先,過去數(shù)十種面向?qū)ο蟮慕UZ言都是相互獨立的,而UML可以消除一些潛在的不必要的差異,以免用戶混淆;其次,通過統(tǒng)一語義和符號表示,能夠穩(wěn)定面向?qū)ο蠹夹g(shù)市場,使項目根植于一個成熟的標準建模語言,從而可以大大拓寬所研制與開發(fā)的軟件系統(tǒng)的適用范圍,并大大提高其靈活程度。1.2 系統(tǒng)模型設(shè)計概要 本畢業(yè)設(shè)計是使用UML和Rational Rose2001對一個圖書館管理系統(tǒng)進行系統(tǒng)設(shè)計,Rose 軟件是用 UML 快速開發(fā)應(yīng)用程序的工具之一。它支持 Use Case 框圖、Activity框圖、Sequence 框圖、Collaboration 框圖、Statechart 框圖、Component 框圖和 Deployment 框圖。通過正向和逆向轉(zhuǎn)出工程代碼的特性,可以支持 C+、Java、Visual Basic 和 XML DTD 的代碼生成和逆向轉(zhuǎn)出工程代碼。論文講述了用 UML 和 Rose 對圖書館管理系統(tǒng)如何進行項目需求分析、結(jié)構(gòu)規(guī)劃和生成部分框架代碼,生成 Rose 模型,并簡單介紹了如何用 Rational Rose 逆向轉(zhuǎn)出工程代碼。UML 的應(yīng)用貫穿在系統(tǒng)開發(fā)的五個階段,它們是:1 需求分析。UML 的用例視圖可以表示客戶的需求。通過用例建模,可以對外部的角色以及它們所需要的系統(tǒng)功能建模,角色和用例是用它們之間的關(guān)系、通信建模的。每個用例都指定了客戶的需求:他或她需求系統(tǒng)干什么。不僅要對軟件系統(tǒng),對商業(yè)過程也要進行需求分析。2 分析。分析階段主要考慮所要解決的問題,可用 UML 的邏輯視圖和動態(tài)視圖來描述:類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),協(xié)作圖、狀態(tài)圖、序列圖、活動圖和狀態(tài)圖描述系統(tǒng)的動態(tài)特征。在分析階段,只為問題領(lǐng)域的類建模不定義軟件系統(tǒng)的解決方案的細節(jié)(如用戶接口的類、數(shù)據(jù)庫等)。3 設(shè)計。在設(shè)計階段,把分析階段的結(jié)果擴展成技術(shù)解決方案。加入新的類來提供技術(shù)基礎(chǔ)結(jié)構(gòu)用戶接口,數(shù)據(jù)庫操作等。分析階段的領(lǐng)域問題類被嵌入在這個技術(shù)基礎(chǔ)結(jié)構(gòu)中。設(shè)計階段的結(jié)果是構(gòu)造階段的詳細的規(guī)格說明。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 8 頁 共 53 頁 4 構(gòu)造。在構(gòu)造(或程序設(shè)計階段),把設(shè)計階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計語言的代碼。在對 UML 表示的分析和設(shè)計模型進行轉(zhuǎn)換時,最好不要直接把模型轉(zhuǎn)化成代碼。因為在早期階段,模型是理解系統(tǒng)并對系統(tǒng)進行結(jié)構(gòu)化的手段。5 測試。對系統(tǒng)的測試通常分為單元測試、集成測試、系統(tǒng)測試和接受測試幾個不同級別。單元測試是對幾個類或一組類的測試,通常由程序員進行:集成測試集成組件和類,確認它們之間是否恰當?shù)貐f(xié)作;系統(tǒng)測試把系統(tǒng)當作一個“黑箱”,驗證系統(tǒng)是否具有用戶所要求的所有功能;接受測試由客戶完成,與系統(tǒng)測試類似,驗證系統(tǒng)是否滿足所有的需求。不同的測試小組使用不同的 UML 圖作為他們工作的基礎(chǔ):單元測試使用類圖和類的規(guī)格說明,集成測試典型地使用組件圖和協(xié)作圖,而系統(tǒng)測試實現(xiàn)用例圖來確認系統(tǒng)的行為符合這些圖中的定義。第二章 統(tǒng)一建模語言 UML 概述 2.1 UML 簡介 UML(統(tǒng)一建模語言 Unified Modeling Language)是一種建模語言,是第三代用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進行說明、可視化和編制文檔的方法。它是由信息系統(tǒng)(IS,Information System)和面向?qū)ο箢I(lǐng)域的三位著名的方法學家:Grady Booch,James Rumbaugh 和 Ivar Jacobson(稱為“三個好朋友”,the Three Amigos)提出的。這種建模語言得到了“UML 伙伴聯(lián)盟”的應(yīng)用與反饋,并得到工業(yè)界的廣泛支持,由 OMG 組織(Object Management Group)采納作為業(yè)界標準。UML 取代目前軟件業(yè)眾多的分析和設(shè)計方法(Booch,Coad,Jacobson,Odell,Rumbaugh,Wirfs-Brock 等)成為一種標準,這是軟件界的第一次有了一個統(tǒng)一的建模語言。UML 是一種標準的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計的一種標準表示。它:不是一種可視化的程序設(shè)計語言,而是一種可視化的建模語言;不是工具或知識庫的規(guī)格說明,而是一種建模語言規(guī)格說明,是一種表示的標準;不是過程,也不是方法,但允許任何一種過程和方法使用它。UML 的目標是:易于使用,表達能力強,進行可視化建模;與具體的實現(xiàn)無關(guān),可應(yīng)用于任何語言平臺和工具平臺;與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)的過程;簡單并且可擴展,具有擴展和專有化機制,便于擴展,無需對核心概念進行修改;為面向?qū)ο蟮脑O(shè)計與開發(fā)中涌現(xiàn)出的高級概念(例如協(xié)作、框架、模式和組件);提供支持,強調(diào)在軟件開發(fā)中,對架構(gòu)、框架、模式和組件的重用;與最好的軟件工程實踐經(jīng)驗集成;可升級 具有廣闊的適用性和可用性;有利于面對對象工具的市場成長。2.1.1 UML 的架構(gòu) UML 是由圖和元模型組成的。圖是 UML 的語法,而元模型則給出的圖的意思,是 UML 的語義。UML 的語義是定義在一個四層(或四個抽象級)建模概念框架中的,這四層分別是:元元模型(meta-metamodel)層,組成 UML 最基本的元素“事物(Thing)”,畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 9 頁 共 53 頁 代表要定義的所有事物;元模型(metamodel)層,組成了 UML 的基本元素,包括面向?qū)ο蠛兔嫦蚪M件的概念。這一層的每個概念都是元元模型中“事物”概念的實例(通過版類化);模型(model)層,組成了 UML 的模型,這一層中的每個概念都是元模型層中概念的一個實例(通過版類化),這一層的模型通常叫做類模型(class model)或類型模型(type model);用戶模型(user model)層,這層中的所有元素都是 UML 模型的例子。這一層中的每個概念都是模型層的一個實例(通過分類),也是元模型層的一個實例(通過版類化)。這一層的模型通常叫做對象模型(object model)或?qū)嵗P停╥nstance model)。2.1.2 UML 的模型、視圖、圖與系統(tǒng)架構(gòu)建模 UML 是用來描述模型的,它用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征、以及行為或動態(tài)特征。它從不同的視角為系統(tǒng)的架構(gòu)建模,形成系統(tǒng)的不同視圖(view),包括:用例視圖(use case view)強調(diào)從用戶的角度看到的或需要的系統(tǒng)功能,這種視圖也叫做用戶模型視圖(user model view)或想定視圖(scenario view);邏輯視圖(logical view)展現(xiàn)系統(tǒng)的靜態(tài)或結(jié)構(gòu)組成及特征,也稱為結(jié)構(gòu)模型視圖(structural model view)或靜態(tài)視圖(static view);并發(fā)視圖(concurrent view)體現(xiàn)了系統(tǒng)的動態(tài)或行為特征,也稱為行為模型視圖(behavioral model view)、過程視圖(process view)協(xié)作視圖(collaborative)動態(tài)視圖(dynamic view);組件視圖(component view)體現(xiàn)了系統(tǒng)實現(xiàn)的結(jié)構(gòu)和行為特征,也稱為實現(xiàn)模型視圖(implementation model view)和開發(fā)視圖(development view);展開視圖(deployment view)體現(xiàn)了系統(tǒng)實現(xiàn)環(huán)境的結(jié)構(gòu)和行為特征,也稱為環(huán)境模型視圖(implementation model view)或物理視圖(physical view);在必要的時候 還可以定義其它架構(gòu)視圖。每一種 UML 的視圖都是由一個或多個圖(diagram)組成的,一個圖就是系統(tǒng)架構(gòu)在某個側(cè)面的表示,它與其它圖是一致的,所有的圖一起組成了系統(tǒng)的完整視圖 UML 提供了九種不同的圖,可以分成兩大類,一類是靜態(tài)圖,包括用例圖、類圖、對象圖、組件圖、配置圖;另一類是動態(tài)圖,包括序列圖,協(xié)作圖,狀態(tài)圖和活動圖。也可以根據(jù)它們在不同架構(gòu)視圖的應(yīng)用,把它們分成:在用戶模型視圖:用例圖(Use case diagram)描述系統(tǒng)的功能;在結(jié)構(gòu)模型視圖:類圖(Class diagram)描述系統(tǒng)的靜態(tài)結(jié)構(gòu),對象圖(Object diagram)描述系統(tǒng)在某個時刻的靜態(tài)結(jié)構(gòu);在行為模型視圖:序列圖(Sequence diagram)按時間順序描述系統(tǒng)元素間的交互;協(xié)作圖(Collaboration diagram)按照時間和空間的順序描述系統(tǒng)元素間的交互和它們之間的關(guān)系;狀態(tài)圖(State diagram)描述了系統(tǒng)元素的狀態(tài)條件和響應(yīng);活動圖(Activity diagram)描述了了系統(tǒng)元素的活動;在實現(xiàn)模型視圖:組件圖(Component diagram),描述了實現(xiàn)系統(tǒng)的元素的組織;在環(huán)境模型視圖:展開圖(Deployment diagram),描述了環(huán)境元素的配置,并把實現(xiàn)系統(tǒng)的元素映射到配置上。2.1.3 標準建模語言 UML 的主要特點 標準建模語言 UML 的主要特點可以歸結(jié)為三點:(1)UML 統(tǒng)一了 Booch、OMT 和 OOSE 等方法中的基本概念。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 10 頁 共 53 頁(2)UML 還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非 OO 方法的影響。UML 符號表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號,也添加了一些新符號。因此,在 UML 中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是 UML 的開發(fā)者們發(fā)明的,而是開發(fā)者們依據(jù)最優(yōu)秀的 OO 方法和豐富的計算機科學實踐經(jīng)驗綜合提煉而成的。(3)UML 在演變過程中還提出了一些新的概念。在 UML 標準中新加了模板(Stereo types)、職責(Responsibilities)、擴展機制(Extensibility mechanisms)、線程(Threads)、過程(Processes)、分 布 式(Distribution)、并發(fā)(Concurrency)、模 式(Patterns)、合 作(Collaborations)、活動圖(Activity diagram)等新概念,并清晰地區(qū)分類型(Type)、類(Class)和實例(Instance)、細化(Refinement)、接口(Interfaces)和組件(Components)等概念。2.2 UML 與面向?qū)ο蟮能浖治雠c設(shè)計(OOA&D)每一位軟件設(shè)計方法學家都有許多有關(guān)軟件質(zhì)量的理論,他們會討論軟件危機、軟件質(zhì)量低下、以及良好的設(shè)計的重要性。那么UML 對提高軟件的質(zhì)量有什么幫助嗎?2.2.1 標準的表示方法 UML 是一種建模語言,是一種標準的表示,而不是一種方法(或方法學)。方法是一種把人的思考和行動結(jié)構(gòu)化的明確方式,方法需要定義軟件開發(fā)的步驟、告訴人們做什么如何做,什么時候做,以及為什么要這么做。而 UML 只定義了一些圖以及它們的意義,它的思想是與方法無關(guān)。因此,我們會看到人們將用各種方法來使用 UML,而無論方法如何變化,它們的基礎(chǔ)是 UML 的圖,這就是 UML 的最終用途為不同領(lǐng)域的人們提供統(tǒng)一的交流標準。我們知道軟件開發(fā)的難點在于一個項目的參與包括領(lǐng)域?qū)<遥浖O(shè)計開發(fā)人員、客戶以及用戶,他們之間交流的難題成為軟件開發(fā)的最大難題。UML 的重要性在于,表示方法的標準化有效地促進了不同背景人們的交流,有效地促進軟件設(shè)計、開發(fā)和測試人員的相互理解,無論分析、設(shè)計和開發(fā)人員采取何種不同的方法或過程,他們提交的設(shè)計產(chǎn)品都是用 UML 來描述的,這有利地促進了相互的理解。2.2.2 與軟件開發(fā)的成功經(jīng)驗集成 UML 盡可能地結(jié)合了世界范圍內(nèi)面向?qū)ο箜椖康某晒?jīng)驗,因而它的價值在于它體現(xiàn)了世界上面向?qū)ο蠓椒▽嵺`的最好經(jīng)驗,并以建模語言的形式把它們打包,以適應(yīng)開發(fā)大型復(fù)雜系統(tǒng)的要求。在眾多成功的軟件設(shè)計與實現(xiàn)的經(jīng)驗中,最突出的兩條,一是注重系統(tǒng)架構(gòu)的開發(fā),一是注重過程的迭代和遞增性。盡管 UML 本身沒有對過程有任何定義,但 UML 對任何使用它的方法(或過程)提出的要求是:支持用例驅(qū)動(use-case driven)、以架構(gòu)為中心(architecture-centric)以及遞增(incremental)和迭代(iterative)地開發(fā)。注重架構(gòu)意味著不僅要編寫出大量的類和算法,還要設(shè)計出這些類和算法之間簡單而有效地協(xié)作。所有高質(zhì)量的軟件中似乎大量是這類的協(xié)作,而近年出現(xiàn)的軟件設(shè)計模式也正在為這些協(xié)作起名和分類,使它們更易于重用。最好的架構(gòu)就是:“概念集成(conceptual integrity)”,它驅(qū)動整個項目注重開發(fā)模式并力圖使它們簡單。迭代和遞增的開發(fā)過程反映了項目開發(fā)的節(jié)奏。不成功的項目沒有進度節(jié)奏,因為它們總是機會主義的,在工作中是被動的。成功的項目有自己的進度節(jié)奏,反映在它們有一個定期的版本發(fā)布過程,注重于對系統(tǒng)架構(gòu)進行持續(xù)的改進。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 11 頁 共 53 頁 2.3 標準建模語言 UML 的應(yīng)用領(lǐng)域 UML 的目標是用面向?qū)ο蟮姆绞矫枋鋈魏晤愋偷南到y(tǒng)。最直接的是用 UML 為軟件系統(tǒng)創(chuàng)建模型,但 UML 也可用來描述其它非計算機軟件的系統(tǒng),或者是商業(yè)機構(gòu)或過程。以下是 UML 常見的應(yīng)用:信息系統(tǒng)(Information System)向用戶提供信息的儲存、檢索、轉(zhuǎn)換和提交。處理存放在關(guān)系或?qū)ο髷?shù)據(jù)庫中大量具有復(fù)雜關(guān)系的數(shù)據(jù);技術(shù)系統(tǒng)(Technical System)處理和控制技術(shù)設(shè)備,如電信設(shè)備、軍事系統(tǒng)或工業(yè)過程。它們必須處理設(shè)計的特殊接口,標準軟件很少。技術(shù)系統(tǒng)通常是實時系統(tǒng);嵌入式實時系統(tǒng)(Embedded Real-Time System)在嵌入到其它設(shè)備如移動電話、汽車、家電上的硬件上執(zhí)行的系統(tǒng)。通常是通過低級程序設(shè)計進行的,需要實時支持;分布式系統(tǒng)(Distributed System)分布在一組機器上運行的系統(tǒng),數(shù)據(jù)很容易從一個機器傳送到另一臺機器上。需要同步通信機制來確保數(shù)據(jù)完整性,通常是建立在對象機制上的,如 CORBA,COM/DCOM,或 Java Beans/RMI 上;系統(tǒng)軟件(System Software)定義了其它軟件使用的技術(shù)基礎(chǔ)設(shè)施。操作系統(tǒng)、數(shù)據(jù)庫和在硬件上完成底層操作的用戶接口等,同時提供一般接口供其它軟件使用;商業(yè)系統(tǒng)(Business System)描述目標、資源(人、計算機等),規(guī)則(法規(guī)、商業(yè)策略、政策等),和商業(yè)中的實際工作(商業(yè)過程)。要強調(diào)的是,通常大多數(shù)系統(tǒng)都不是單純屬于上面的某一種系統(tǒng),而是一種或多種的結(jié)合。例如,現(xiàn)在許多信息系統(tǒng)都有分布式和實時的需要。商業(yè)工程是面向?qū)ο蠼?yīng)用的一個新的領(lǐng)域,引起了人們極大的興趣。面向?qū)ο蠼7浅_m合為公司的商業(yè)過程建模。運用商業(yè)過程再工程(Business Process Reengineering,BPR)或全質(zhì)量管理(Total Quality Management,TQM)等技術(shù),可以對公司的商業(yè)過程進行分析、改進和實現(xiàn)。使用面向?qū)ο蠼UZ言為過程建模和編制文檔,使過程易于使用。UML 具有描述以上這些類型的系統(tǒng)的能力。第三章 Rational Rose 概述 3.1 Rational Rose 的基本內(nèi)容 Rational Rose是業(yè)界領(lǐng)先的基于UML 的可視化建模工具,是分析和設(shè)計面向?qū)ο筌浖到y(tǒng)的強大的可視化工具,可以用來先建模系統(tǒng)再編寫代碼,從而一開始就保證系統(tǒng)結(jié)構(gòu)合理。利用模型可以更方便地捕獲設(shè)計缺陷,從而以較低的成本修正這些缺陷。Rational Rose 支持業(yè)務(wù)模型,幫助了解系統(tǒng)的業(yè)務(wù),有助于系統(tǒng)分析,可以先設(shè)計使用案例和 Use Case 框圖,顯示系統(tǒng)的功能。也可以用 Interaction 框圖顯示對象之間如何配合,提供所需功能。Class 框圖可以顯示系統(tǒng)中的對象及其相互關(guān)系。Component框圖可以演示系統(tǒng)類如何映射到實現(xiàn)組件。最后,Deployment 框圖可以顯示系統(tǒng)的網(wǎng)絡(luò)設(shè)計。Rose 模型是系統(tǒng)的圖形,包括所有 UML 框圖、角色、使用案例、對象、類、組件和部署節(jié)點。他詳細描述系統(tǒng)的內(nèi)容和工作方法,開發(fā)人員可以用模型作為所建系統(tǒng)的藍圖。Rational ROSE 包括了一體化建模語言(UML),OOSE 及 OMT。其中一體化建模語言(UML)由 Rational 公司三位世界級面向?qū)ο蠹夹g(shù)專家Grady Booch,Ivar Jacobson和 Jim Rumbaugh 通過對早期面向?qū)ο笱芯亢驮O(shè)計方法的進一步擴展而得來的,為可視化建模軟件奠定了堅實的理論基礎(chǔ)。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 12 頁 共 53 頁 3.2 什么是建模?建模是使你逐層深入解決問題的方法:確認應(yīng)用系統(tǒng)的功能需求并為事務(wù)處理原則建模 對抽象的對象映射需求,辨認和提供設(shè)計模版并創(chuàng)建慣用的模版 分辨和設(shè)計對象或劃分三層模型的服務(wù) 對軟件的組成部分映射成對象并設(shè)計組件在網(wǎng)絡(luò)上如何分布 以上工作寫入白版文檔,建模允許處理發(fā)生變化,通過建立抽象概念,設(shè)計者就可以有效地處理大型工程和復(fù)雜結(jié)構(gòu)。建模建立起應(yīng)用程序的客戶和編程人員之間生動的聯(lián)系。3.2.1 用 Rational ROSE實現(xiàn)建模 創(chuàng)建模型是幫助設(shè)計者實現(xiàn)任何復(fù)雜的工程項目的有力工具,在軟件工程中,它能夠把模型與實際應(yīng)用緊密地聯(lián)系起來。通過模型與代碼之間的映射,可以直接為不同的程序開發(fā)環(huán)境生成系統(tǒng)結(jié)構(gòu)的框架,通過建立模型和代碼間的映射,可以確保代碼改進時模型也隨之更新了,而且通過模型與代碼間的自動連接,建模工具可以確保良好的設(shè)計實施。在應(yīng)用開發(fā)的任何階段進入建模工作都是有意義的,無可否認的是,在設(shè)計最初階段,應(yīng)將精力主要用于處理有關(guān)應(yīng)用系統(tǒng)用途、為實現(xiàn)用途應(yīng)采用何種編程環(huán)境,而不是考慮程序的細節(jié),如在屏幕上的什么位置放置按鈕等。在項目開發(fā)的中期引入建模也是非常有意義的,Rational Rose 既支持正向建模,同時也支持反向建模。Rose 通過建立模型使開發(fā)人員把握程序開發(fā)的方向,準確完成需求分析中所要求的任務(wù)。3.2.2 Rational Rose 的解決方案 Rational Rose產(chǎn)品為大型軟件工程提供了可塑性和柔韌性極強的解決方案:強有力的瀏覽器,用于查看模型和查找可重用的組件;可定制的目標庫或編碼指南的代碼生成機制;既支持目標語言中的標準類型又支持用戶自定義的數(shù)據(jù)類型;保證模型與代碼之間轉(zhuǎn)化的一致性;通過 OLE 連接,Rational Rose 圖表可動態(tài)連接到 Microsoft Word 中;能夠與 Rational Visual Test、SQA Suite 和 SoDA 文檔工具無縫集成,完成軟件生命周期中的全部輔助軟件工程工作;強有力的正/反向建模工作;縮短開發(fā)周期;降低維護成本;3.3 Rational Rose 的界面及 Rose 模型的四個視圖 Rational Rose 是個菜單驅(qū)動應(yīng)用程序,用工具欄幫助使用常用特性。Rose 支持八種不同類型的 UML 框圖:User Case 框圖、Activity 框圖、Sequence 框圖、Collaboration框圖、Class、Statechart 框圖、Component 框圖和 Deployment 框圖。除了工具欄和菜單外,Rose 還有相關(guān)的彈出菜單,可以右鍵單擊項目訪問。例如,右鍵單擊 Class 框圖中的類打開一個菜單。選項又增加類的屬性或操作、瀏覽和編輯類規(guī)范、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼。有疑問時可以右鍵單擊項目,得到相關(guān)的菜單選項。在 Rose 中漫游的最簡單方法是使用瀏覽器,瀏覽器是屏幕左邊的樹型視圖。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 13 頁 共 53 頁 屏幕組件:Rose 界面的五大部分是瀏覽器、文檔窗口、工具欄、框圖窗口和日志。瀏覽器 用于在模型中迅速漫游。文檔窗口 用于查看或更新模型元素的文檔。工具欄 用于迅速訪問常用命令??驁D窗口 用于顯示和編輯一個或幾個 UML框圖。日志 用于查看錯誤消息和報告各個命令的結(jié)果。Rose模型的四個視圖是:Use Case視圖、Logical視圖、Component視圖和Deployment視圖。Use Case 視圖包括系統(tǒng)中的所有角色、使用案例和 Use Case框圖,還可能包括一些Sequence或Collaboration框圖。Use Case視圖是系統(tǒng)中與實現(xiàn)無關(guān)的視圖。Use Case視圖關(guān)注系統(tǒng)功能的高層形狀,而不關(guān)注系統(tǒng)的具體實現(xiàn)方法。Logical 視圖,其關(guān)注系統(tǒng)如何實現(xiàn)使用案例中提出的功能。它提供系統(tǒng)的詳細圖形,描述組件間如何關(guān)聯(lián)。除了這些外,Logical視圖還包括需要的特定類、Class框圖和 Statechart 框圖。利用這些細節(jié)元素,開發(fā)人員可以構(gòu)造系統(tǒng)的詳細設(shè)計。Component 視圖包含模型代碼庫、可執(zhí)行文件、運行庫和其他組件的信息。組件是代碼的實際模塊。在 Rose中,組件和 Component框圖在 Component視圖中顯示。系統(tǒng)的 Component視圖可以顯示代碼模塊間的關(guān)系。Deployment 視圖關(guān)注系統(tǒng)的實際部署,可能與系統(tǒng)的邏輯結(jié)構(gòu)有所不同。Deployment視圖還要處理其他問題,如容錯、網(wǎng)絡(luò)帶寬、故障恢復(fù)和響應(yīng)時間。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 14 頁 共 53 頁 第四章 圖書管理系統(tǒng) Rose 模型設(shè)計過程 3.1 系統(tǒng)設(shè)置-平臺和開發(fā)工具的選擇(一)系統(tǒng)開發(fā)環(huán)境 操作系統(tǒng):WINDOWS 98 硬件:PC 機 開發(fā)軟件:UML,Rational Rose,Java (二)開發(fā)工具的選擇 Rational Rose 可以和任何一種面向?qū)ο蟮膽?yīng)用程序結(jié)構(gòu)組合使用,通過 Rational Rose 系列產(chǎn)品可得到各類主要編程語言和快速應(yīng)用開發(fā)工具的直接支持:a.模型和代碼的高度一致 Rose 可以真正實現(xiàn)正向、逆向和雙向工程。在正向工程中 Rose 可以為模型產(chǎn)生相應(yīng)的代碼,在逆向工程中 Rose 可以從用戶原來的軟件系統(tǒng)導出該系統(tǒng)的模型,而在雙向工程中 Rose 可以真正實現(xiàn)模型和代碼之間的循環(huán)工程,從而保證模型與代碼的高度一致,并通過保護開關(guān)使得用戶在雙向工程中不會丟失或覆蓋用戶已經(jīng)開發(fā)出的任何代碼。b.多語言的支持 Rose 本身能夠支持的語言包括:C+、Visual C+、Java、Smalltalk、Ada,以及 4GL 語言:Visual Basic、PowerBuilder 和 Forte,也能夠為 CORBA 應(yīng)用產(chǎn)生接口定義語言 IDL 和為數(shù)據(jù)庫應(yīng)用產(chǎn)生數(shù)據(jù)庫描述語言 DDL。Rose 能夠提供對CORBA 2.2 的支持。c.對團隊開發(fā)的強有力的支持 Rose 提供了兩種方式來支持團隊開發(fā):一種是采用 SCM(軟件配置管理)的團隊開發(fā)方式;另一種是沒有 SCM 情況下的團隊開發(fā)方式。這兩種方式為用戶提供了極大的靈活性,用戶可以根據(jù)開發(fā)的規(guī)模和開發(fā)人員數(shù)目以及資金情況等選擇其一進行團隊開發(fā)。d.支持建模語言UML Rational 麾下?lián)碛腥幻嫦驅(qū)ο蟠髱煟篏rady Booch、James Rumbaugh、Ivar Jacobson,由他們共同創(chuàng)造的 UML(統(tǒng)一建模語言)統(tǒng)一了面向?qū)ο蟮慕7椒ǎ藢ο蠼5牟顒e。1997 年 11 月,UML 被美國 OO 行業(yè)的對象管理小組(OMG)批準為面向?qū)ο箝_發(fā)的行業(yè)標準語言,并得到了微軟、Oracle、IBM、HP 等大廠商的支持和認證。微軟的存儲庫就用 UML 作為構(gòu)件描述語言。作為面向?qū)ο箝_發(fā)的行業(yè)標準語言,UML是唯一可以在 UNIX 上和 NT 上共用的標準語言。e.支持模型的 Internet 發(fā)布 Rose 的 Internet Web Publisher 能夠創(chuàng)建一個基于 Web 的 Rose 模型的 HTML 版本,使得其他人員能夠通過標準的瀏覽器如:Netscape Navigator 或 IE 來瀏覽該模型。f.使用簡單且定制靈活的文檔生成 Rose 本身提供了方便的直接產(chǎn)生模型文檔的功能,但是如果能夠利用 Rational 文檔生成工具 SoDA 提供的模型文檔模板就可以輕松自如地自動產(chǎn)生 OOA 和 OOD 階段所需的各種重要文檔。值得注意的是不管是Rose自身還是SoDA所產(chǎn)生的文檔均為Word文檔,并且在 Rose 中可以直接啟動 SoDA,而 SoDA 與 MS Word 是完全無縫集成的。g.數(shù)據(jù)庫應(yīng)用的解決方案 利用 Rose 能夠進行數(shù)據(jù)庫的建模,并且 Rose 能夠為 ANSI、Oracle、SQL Server、Sybase、Watcom 等支持標準 DDL 的數(shù)據(jù)庫自動生成數(shù)據(jù)描述語言 DDL。Rose 與 ErWin 之間也能夠緊密集成,并且能夠相互導出另一方的模型。另外,Rose 還能夠?qū)崿F(xiàn) Oracle 8 的正向和逆向工程,使得用戶能夠:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 15 頁 共 53 頁 從 Oracle 8 的關(guān)系 Schema 中產(chǎn)生對象模型,并可以進一步擴展該對象模型以使用Oracle 8 的對象能力 可視化已有的關(guān)系數(shù)據(jù)庫 方便已有商業(yè)對象的發(fā)現(xiàn)和合成 保護在已有關(guān)系數(shù)據(jù)庫領(lǐng)域的投資,同時盡享對象建模和開發(fā)帶給應(yīng)用的所有好處。Rose 本身能夠支持的語言包括:C+、Visual C+、Java、Smalltalk、Ada,以及 4GL語言:Visual Basic、PowerBuilder 和 Forte,也能夠為 CORBA 應(yīng)用產(chǎn)生接口定義語言IDL 和為數(shù)據(jù)庫應(yīng)用產(chǎn)生數(shù)據(jù)庫描述語言 DDL。Rose 能夠提供對 CORBA 2.2 的支持。3.2 模型總體設(shè)計 3.2.1 創(chuàng)建系統(tǒng)的 Use Case 視圖 Use Case 框圖顯示系統(tǒng)中的使用案例與角色及其相互關(guān)系,角色是與所建系統(tǒng)交互的對象(人或物),使用案例是系統(tǒng)提供的高級功能模塊,演示了人們?nèi)绾问褂冒咐?。首先?chuàng)建主 Use Case 框圖,顯示系統(tǒng)的總體視圖。下圖是本次畢業(yè)設(shè)計的圖書館管理系統(tǒng)的 Use Case 框圖,所建系統(tǒng)的需求組成所有使用案例和角色設(shè)置。這個框圖中有系統(tǒng)角色、系統(tǒng)用例和它們之間的關(guān)系。BorrowerReturn of itemMake reservationLibrarianRemove ReservationLend item 圖 1.1 圖 1.1 中有兩個系統(tǒng)角色:借閱者和圖書管理員,四個系統(tǒng)使用案例:借閱圖書、歸還圖書、預(yù)約圖書和取消預(yù)約。較好的描述了系統(tǒng)的使用功能:借閱者通過圖書管理員可以借閱書刊、歸還書刊、預(yù)約書刊和取消預(yù)約,所有這些操作要通過圖書管理員來完成,也就是說圖書管理員是本系統(tǒng)的直接使用者。本系統(tǒng)的系統(tǒng)角色 Borrower 可以是一個人,也可以是其他的圖書館,能夠?qū)D書進行借閱和預(yù)約。圖 1.2 描述了系統(tǒng)的另一個方面的功能系統(tǒng)維護的功能。本系統(tǒng)的維護是由圖畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 16 頁 共 53 頁 書管理員來維護的,他可以增加書籍、刪除或更新書籍、增加條款、刪除條款、增加新的借閱者、刪除或更新借閱者。這個使用案例用到了其他的一些使用案例:Add Title 案例、Remove or Update Title案例、Add Item案例、Remove Item案例、Add Borrower案例和Remove or Update Borrower案例。Remove or Update TitleAdd TitleAdd ItemMaintenanceLibrarianAdd BorrowerRemove or Update BorrowerRemove Item 圖 1.2 3.2.2 創(chuàng)建系統(tǒng)的 Logical 視圖 首先在 Logical 視圖中創(chuàng)建 Sequence 框圖和 Collaboration 框圖,也就是 Interaction框圖。Interaction 框圖一步一步顯示使用案例的流程。包括:流中需要什么對象;對象相互發(fā)送什么消息;什么角色啟動流;消息按什么順序發(fā)送。圖 1.3 是系統(tǒng)添加新用戶的 Sequence 框圖。在添加的時候要查找是否數(shù)據(jù)庫中有該用戶的信息,如果沒有的話則進行添加,用戶信息有四個字段:用戶姓名、用戶地址、郵政編碼、國家地區(qū)。添加后對所添加的信息進行存儲。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 17 頁 共 53 頁 :Librarian:BorrowerFrame:BorrowerInf.1:addButton_Clicked()2:$findOnLastName(String)Check if already exists3:BorrowerInformation(String,String,String,String,String,Stri.4:store()圖 1.3 增加書目條款信息的 Sequence 框圖如圖 1.4:開始時進行查找,按書名查找,然后點擊 OK 按鈕可以對圖書信息進行更新,更新后將信息返回到圖書信息庫中,同時書目條款信息中的圖書基本信息將和圖書信息庫保持一致。如果要添加書目條款信息,可以點擊添加按鈕,然后對條款信息添加,完成后保存信息。同時要在圖書信息庫中添加相關(guān)條款信息,對信息更新。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 18 頁 共 53 頁 :Librarian:FindTitleDialog:Title:UpdateTitle.:Title:Item2:$findOnName(String)1:findButton_Clicked()3:okButton_Clicked()4:UpdateTitleFrame(ObjId,boolean)5:$getTitle(ObjId)6:getNoItems()7:getItem(int)8:getId()9:addItemButton_Clicked()10:Item(ObjId,int)11:store()12:addItem(ObjId)13:update()圖 1.4 增加書目的 Sequence 框圖如圖 1.5:在增加書目之前首先要檢查書庫中是否有要增加的這本書,若沒有就在庫中添加,同時創(chuàng)建條款信息和書目名稱并保存。第一步要點擊添加按鈕,然后查找書目名稱和檢索號,沒有找到即可添加,創(chuàng)建一個新的名稱和條款信息,填寫并保存。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 19 頁 共 53 頁 :Librarian:TitleFrame:Title:Item1:TitleFrame()2:addButton_Clicked()3:$findOnName(String)4:$findOnISBN(String)Checkif already exist5:Title(String,String,String,int)6:Item(ObjId,int)7:store()8:addItem(ObjId)9:store()CreateTitle anditem objectsStoreitems andtitle 圖 1.5 借閱書籍的 Sequence 框圖如圖 1.6:要借閱圖書由圖書管理員點擊查找標題按鈕,進入借閱條款界面,之后再進行查找,找到書籍之后將書的名稱返還給借閱者,也可以直接點擊查找按鈕。若要查看該書的詳細信息則點擊 OK 按鈕,系統(tǒng)將標題信息返還,可以查看各條款信息。圖書管理員同時可以查看借閱者的信息,點擊查找借閱者信息按鈕,進入借閱條款界面,之后再進行查找,也可以直接進行查找,進入查詢借閱者信息界面,按姓名查找,找到后將信息返還,對其中的各條信息進行選擇,如果該用戶要借閱圖書則點擊 OK 按鈕,圖書即被借出,同時信息被保存。系統(tǒng)將更新這本書的信息,將其狀態(tài)置為已借出,并更新用戶的信息,在其已借書目當中增加該本書。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 20 頁 共 53 頁 :Librarian:Title:FindBorrowe.:BorrowerInf.:Item:Loan13:findButton_Clicked()14:$findOnLastName(String)15:okButton_Clicked():LendItemFrame:FindTitleDialog3:findButton_Clicked()5:okButton_Clicked()4:$findOnName(String)1:findTitleButton_Clicked()11:findBorrowerInformation_Clicked()17:itemList_ListSelect()18:okButton_Clicked()2:FindTitleDialog(Frame,boolean)6:resultTitle(ObjId)12:FindBorrower_Dialog(Frame,boolean)16:resultBorrower(ObjId)10:getId()22:setLoan(ObjId)23:update()7:getNoItems()8:getItem(int)9:getObjId()19:getItemWithId(int)20:Loan(ObjId,Borrower information)21:store()24:addLoan(ObjId)25:update()圖 1.6 對書籍進行預(yù)約的 Sequence 框圖如圖 1.7:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 21 頁 共 53 頁 :Librarian:Reservation.1:findTitleButton_Clicked():FindTitleDialog:Title:FindBorrowe.:BorrowerInf.:Reservation4:$findOnName(String)2:FindTitleDialog(Frame,boolean)6:resultTitle(ObjId)5:okButton_Clicked()7:findBorrowerButton_Clicked()8:FindBorrower_Dialog(Frame,boolean)3:findButton_Clicked()9:findButton_Clicked()10:$findOnLastName(String)11:resultBorrower(ObjId)12:okButton_Clicked()13:Reservation(ObjId,ObjId)14:store()15:addReservation(ObjId)16:update()17:addReservation(ObjId)18:update()圖 1.7 刪除借閱者信息的 Collaboration 框圖如圖 1.8:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 22 頁 共 53 頁 :Librarian:FindBorrowerDialog:BorrowerInformation:UpdateBorrowerFrame:Loan:Item:Reserv ation:Title1:findButton_Clicked()3:okButton_Clicked()4:UpdateBorrowerFrame(ObjId,boolean)6:deleteButton_Clicked()2:$findOnLastName(String)5:$getBorrowerInformation(ObjId)7:getNoLoans()8:getLoan(int)12:getNoReserv ations()13:getReservation(int)17:delete()9:getItem()11:delete()10:setLoan(ObjId)14:getTitle()16:delete()15:removeReservation(ObjId)圖 1.8 刪除書目條款信息的 Collaboration 框圖如圖 1.9:首先要進行查找,按名稱查找,找到后點擊 OK 按鈕進行條款信息的更新。更新完如果對無用信息要進行移除的,點擊刪除按鈕,進入到更新界面進行刪除,刪除之后其他信息自動更新。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 23 頁 共 53 頁 :Librarian:FindTitleDialog:Title:UpdateTitleFrame:Item:Title1:findButton_Clicked()3:okButton_Clicked()4:UpdateTitleFrame(ObjId,boolean)9:removeItemButton_Clicked()2:$findOnName(String)5:$getTitle(ObjId)6:getNoItems()7:getItem(int)10:getItem(int)12:removeItemAtIndex(int)13:update()8:getId()11:delete()圖 1.9 取消預(yù)約書籍的 Sequence 框圖如圖 1.10:首先要對書目進行查詢,進入到查詢界面點擊查詢按鈕按名稱進行查找,找到后將本書的信息返還給圖書管理員,管理員可以查看該書是否已經(jīng)被預(yù)約,如果被預(yù)約了則可以看到對此書預(yù)約的用戶信息。然后在借閱菜單里進行選擇是否要取消對此書的預(yù)約,是的話,點擊 OK 按鈕,則可以看到此書目前的狀態(tài),取消預(yù)約后系統(tǒng)將對用戶信息進行更新,同時對該本書的狀態(tài)也要進行更新。最后要從已被預(yù)約書籍的數(shù)據(jù)庫當中刪除該書的信息。畢業(yè)論文 使用 UML 和 Rational Rose