使用UML和RationalRose建立系統(tǒng)模型概要

上傳人:痛*** 文檔編號(hào):194745860 上傳時(shí)間:2023-03-13 格式:PDF 頁數(shù):53 大?。?.40MB
收藏 版權(quán)申訴 舉報(bào) 下載
使用UML和RationalRose建立系統(tǒng)模型概要_第1頁
第1頁 / 共53頁
使用UML和RationalRose建立系統(tǒng)模型概要_第2頁
第2頁 / 共53頁
使用UML和RationalRose建立系統(tǒng)模型概要_第3頁
第3頁 / 共53頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《使用UML和RationalRose建立系統(tǒng)模型概要》由會(huì)員分享,可在線閱讀,更多相關(guān)《使用UML和RationalRose建立系統(tǒng)模型概要(53頁珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 1 頁 共 53 頁 畢 業(yè) 論 文 設(shè)計(jì)課題:使用 UML 和 Rational Rose 建立系統(tǒng)模型 畢 業(yè) 院 系:信息工程學(xué)院 畢 業(yè) 生 姓 名:指 導(dǎo) 老 師:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 2 頁 共 53 頁 畢 業(yè) 設(shè) 計(jì) 任 務(wù) 書 一 題目:1.課題:使用 UML 和 Rational Rose 設(shè)計(jì)一個(gè)應(yīng)用系統(tǒng)(圖書館管理系統(tǒng))模型 二 課題來源及選題依據(jù):本課題來自于導(dǎo)師孫榮勝。UML 是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。UML 是信息技術(shù)行

2、業(yè)的藍(lán)圖,是詳細(xì)描述系統(tǒng)結(jié)構(gòu)的方法。利用這個(gè)藍(lán)圖,我們建立和維護(hù)系統(tǒng)就越來越容易,保證系統(tǒng)能適應(yīng)需求的改變。Rational Rose 是分析和設(shè)計(jì)面向?qū)ο筌浖到y(tǒng)的強(qiáng)大的可視化工具,可以用來先建模系統(tǒng)在編寫代碼,從而一開始就保證系統(tǒng)結(jié)構(gòu)合理。三 本設(shè)計(jì)(論文及其它)應(yīng)達(dá)到的要求:本課題要求用統(tǒng)一建模語言(UML)和 Rational Rose 設(shè)計(jì)面向?qū)ο髴?yīng)用程序的模型 主要任務(wù)為:1 對(duì)圖書管理系統(tǒng)用 UML 和 Rose 進(jìn)行項(xiàng)目需求分析、結(jié)構(gòu)規(guī)劃,用 Rose 創(chuàng)建活動(dòng)框圖,演示事件流程,處理流程時(shí)要利用 Sequence 和 Collaboration 框圖,此外還要?jiǎng)?chuàng)建組件框圖。2

3、 用 Rose 創(chuàng)建 Sequence,Collaboration,Class,Component 與 Deployment 框圖,產(chǎn)生框架代碼,創(chuàng)建代碼后,通過逆向轉(zhuǎn)出工程代碼讓軟件與模型同步。3 撰寫畢業(yè)設(shè)計(jì)說明書。4 英文文獻(xiàn)的閱讀和翻譯。四 接受任務(wù)學(xué)生:五 開始及完成日期:六 指導(dǎo)老師:摘 要 UML 是由一組不同框圖構(gòu)成的,分別提供系統(tǒng)設(shè)計(jì)的不同角度。有些較高級(jí),提畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 3 頁 共 53 頁 供系統(tǒng)功能的信息;有些較詳細(xì),包括實(shí)現(xiàn)系統(tǒng)時(shí)要建立的特定類和組件;還有一些介于中間,從高層角度提供設(shè)計(jì)細(xì)節(jié)。UML(統(tǒng)一建模

4、語言)事實(shí)上是面向?qū)ο蠼UZ言的工業(yè)標(biāo)準(zhǔn)。他包含了許多和軟件系統(tǒng)模型結(jié)構(gòu)相匹配的子語言。UML 語言被作為一種綜合性并有內(nèi)在特色的語言在發(fā)展,延伸到許多特色領(lǐng)域中??梢暬:?Rational Rose 在軟件開發(fā)過程的幾個(gè)階段很有用。在項(xiàng)目開始階段,Rose 可以產(chǎn)生業(yè)務(wù)模型使用案例模型。在細(xì)化與構(gòu)造階段,Rose 可以開發(fā)活動(dòng)框圖,顯示事件流程。Sequence 框圖和 Collaboration 框圖顯示要開發(fā)的對(duì)象,及其相互間的交互。Rose 開發(fā)的類框圖顯示對(duì)象間的相互關(guān)系。組件框圖顯示系統(tǒng)組件間的相關(guān)性,并可以產(chǎn)生系統(tǒng)的框架代碼。本論文介紹了一部分 UML 語言的特色,并系統(tǒng)的分

5、析了如何用 Rational Rose 和UML 建立一個(gè)圖書館管理系統(tǒng)的 Rose 模型。關(guān)鍵字:面向?qū)ο蠼?,UML,Rational Rose,類框圖,對(duì)象交互框圖 畢業(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 s

6、ystem 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 obj

7、ect-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

8、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

9、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

10、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è)計(jì)概要-6 第二章 統(tǒng)一建模語言 UML 概述 2.1 UML 簡介-7 2.1.1 UML 的架構(gòu)-7 2.1.2 UML 的模型、視圖、圖與系統(tǒng)架構(gòu)建模-8

11、 2.1.3 標(biāo)準(zhǔn)建模語言 UML 的主要特點(diǎn)-8 2.2 UML 與面向?qū)ο蟮能浖治雠c設(shè)計(jì)(OOA&D)-9 2.3 標(biāo)準(zhǔn)建模語言 UML 的應(yīng)用領(lǐng)域-10 第三章 Rational Rose概述 3.1 Rational Rose 的基本內(nèi)容-10 3.2 什么是建模-11 3.2.1 用 Rational Rose 如何實(shí)現(xiàn)建模-11 3.2.2 Rational Rose 的解決方案-11 3.3 Rational Rose 的界面及 Rose 模型的四個(gè)視圖-11 第四章 圖書管理系統(tǒng) Rose 模型設(shè)計(jì)過程 4.1 系統(tǒng)設(shè)置-平臺(tái)和開發(fā)工具的選擇-13 4.2 模型總體設(shè)計(jì)-14

12、 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 R

13、ose 建立系統(tǒng)模型 第 6 頁 共 53 頁 第六章 結(jié)束語-43 五.致謝 -44 六.英文翻譯 -45 七.參考文獻(xiàn) -52 畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 7 頁 共 53 頁 第一章 綜述 1.1 UML 背景 在這個(gè)面向?qū)ο髴?yīng)用程序開發(fā)不斷變化的時(shí)代,在合理時(shí)間內(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ā)送請(qǐng)求,兩年之后才進(jìn)行改變。現(xiàn)在,用戶向 IT

14、部門發(fā)送改變請(qǐng)求,要求兩周內(nèi)就完成。為了面對(duì)這種挑戰(zhàn),制定出每個(gè)公司都能使用的通用對(duì)象模型語言,統(tǒng)一建模語言(UML)被及時(shí)推出。UML 是信息技術(shù)行業(yè)的藍(lán)圖,是詳細(xì)描述系統(tǒng)結(jié)構(gòu)的方法。利用這個(gè)藍(lán)圖,我們建立和維護(hù)系統(tǒng)就越來越容易,保證系統(tǒng)能適應(yīng)需求的改變。在世界范圍內(nèi),至少在近 10 年內(nèi),UML 將是面向?qū)ο蠹夹g(shù)領(lǐng)域內(nèi)占主導(dǎo)地位的標(biāo)準(zhǔn)建模語言。采用 UML 作為統(tǒng)一的建模語言是完全必要的:首先,過去數(shù)十種面向?qū)ο蟮慕UZ言都是相互獨(dú)立的,而UML可以消除一些潛在的不必要的差異,以免用戶混淆;其次,通過統(tǒng)一語義和符號(hào)表示,能夠穩(wěn)定面向?qū)ο蠹夹g(shù)市場,使項(xiàng)目根植于一個(gè)成熟的標(biāo)準(zhǔn)建模語言,從而可以

15、大大拓寬所研制與開發(fā)的軟件系統(tǒng)的適用范圍,并大大提高其靈活程度。1.2 系統(tǒng)模型設(shè)計(jì)概要 本畢業(yè)設(shè)計(jì)是使用UML和Rational Rose2001對(duì)一個(gè)圖書館管理系統(tǒng)進(jìn)行系統(tǒng)設(shè)計(jì),Rose 軟件是用 UML 快速開發(fā)應(yīng)用程序的工具之一。它支持 Use Case 框圖、Activity框圖、Sequence 框圖、Collaboration 框圖、Statechart 框圖、Component 框圖和 Deployment 框圖。通過正向和逆向轉(zhuǎn)出工程代碼的特性,可以支持 C+、Java、Visual Basic 和 XML DTD 的代碼生成和逆向轉(zhuǎn)出工程代碼。論文講述了用 UML 和 Ro

16、se 對(duì)圖書館管理系統(tǒng)如何進(jìn)行項(xiàng)目需求分析、結(jié)構(gòu)規(guī)劃和生成部分框架代碼,生成 Rose 模型,并簡單介紹了如何用 Rational Rose 逆向轉(zhuǎn)出工程代碼。UML 的應(yīng)用貫穿在系統(tǒng)開發(fā)的五個(gè)階段,它們是:1 需求分析。UML 的用例視圖可以表示客戶的需求。通過用例建模,可以對(duì)外部的角色以及它們所需要的系統(tǒng)功能建模,角色和用例是用它們之間的關(guān)系、通信建模的。每個(gè)用例都指定了客戶的需求:他或她需求系統(tǒng)干什么。不僅要對(duì)軟件系統(tǒng),對(duì)商業(yè)過程也要進(jìn)行需求分析。2 分析。分析階段主要考慮所要解決的問題,可用 UML 的邏輯視圖和動(dòng)態(tài)視圖來描述:類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),協(xié)作圖、狀態(tài)圖、序列圖、活動(dòng)圖和狀

17、態(tài)圖描述系統(tǒng)的動(dòng)態(tài)特征。在分析階段,只為問題領(lǐng)域的類建模不定義軟件系統(tǒng)的解決方案的細(xì)節(jié)(如用戶接口的類、數(shù)據(jù)庫等)。3 設(shè)計(jì)。在設(shè)計(jì)階段,把分析階段的結(jié)果擴(kuò)展成技術(shù)解決方案。加入新的類來提供技術(shù)基礎(chǔ)結(jié)構(gòu)用戶接口,數(shù)據(jù)庫操作等。分析階段的領(lǐng)域問題類被嵌入在這個(gè)技術(shù)基礎(chǔ)結(jié)構(gòu)中。設(shè)計(jì)階段的結(jié)果是構(gòu)造階段的詳細(xì)的規(guī)格說明。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 8 頁 共 53 頁 4 構(gòu)造。在構(gòu)造(或程序設(shè)計(jì)階段),把設(shè)計(jì)階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計(jì)語言的代碼。在對(duì) UML 表示的分析和設(shè)計(jì)模型進(jìn)行轉(zhuǎn)換時(shí),最好不要直接把模型轉(zhuǎn)化成代碼。因?yàn)樵谠缙陔A段,模型是理

18、解系統(tǒng)并對(duì)系統(tǒng)進(jìn)行結(jié)構(gòu)化的手段。5 測試。對(duì)系統(tǒng)的測試通常分為單元測試、集成測試、系統(tǒng)測試和接受測試幾個(gè)不同級(jí)別。單元測試是對(duì)幾個(gè)類或一組類的測試,通常由程序員進(jìn)行:集成測試集成組件和類,確認(rèn)它們之間是否恰當(dāng)?shù)貐f(xié)作;系統(tǒng)測試把系統(tǒng)當(dāng)作一個(gè)“黑箱”,驗(yàn)證系統(tǒng)是否具有用戶所要求的所有功能;接受測試由客戶完成,與系統(tǒng)測試類似,驗(yàn)證系統(tǒng)是否滿足所有的需求。不同的測試小組使用不同的 UML 圖作為他們工作的基礎(chǔ):單元測試使用類圖和類的規(guī)格說明,集成測試典型地使用組件圖和協(xié)作圖,而系統(tǒng)測試實(shí)現(xiàn)用例圖來確認(rèn)系統(tǒng)的行為符合這些圖中的定義。第二章 統(tǒng)一建模語言 UML 概述 2.1 UML 簡介 UML(統(tǒng)一建

19、模語言 Unified Modeling Language)是一種建模語言,是第三代用來為面向?qū)ο箝_發(fā)系統(tǒng)的產(chǎn)品進(jìn)行說明、可視化和編制文檔的方法。它是由信息系統(tǒng)(IS,Information System)和面向?qū)ο箢I(lǐng)域的三位著名的方法學(xué)家:Grady Booch,James Rumbaugh 和 Ivar Jacobson(稱為“三個(gè)好朋友”,the Three Amigos)提出的。這種建模語言得到了“UML 伙伴聯(lián)盟”的應(yīng)用與反饋,并得到工業(yè)界的廣泛支持,由 OMG 組織(Object Management Group)采納作為業(yè)界標(biāo)準(zhǔn)。UML 取代目前軟件業(yè)眾多的分析和設(shè)計(jì)方法(Boo

20、ch,Coad,Jacobson,Odell,Rumbaugh,Wirfs-Brock 等)成為一種標(biāo)準(zhǔn),這是軟件界的第一次有了一個(gè)統(tǒng)一的建模語言。UML 是一種標(biāo)準(zhǔn)的圖形化建模語言,它是面向?qū)ο蠓治雠c設(shè)計(jì)的一種標(biāo)準(zhǔn)表示。它:不是一種可視化的程序設(shè)計(jì)語言,而是一種可視化的建模語言;不是工具或知識(shí)庫的規(guī)格說明,而是一種建模語言規(guī)格說明,是一種表示的標(biāo)準(zhǔn);不是過程,也不是方法,但允許任何一種過程和方法使用它。UML 的目標(biāo)是:易于使用,表達(dá)能力強(qiáng),進(jìn)行可視化建模;與具體的實(shí)現(xiàn)無關(guān),可應(yīng)用于任何語言平臺(tái)和工具平臺(tái);與具體的過程無關(guān),可應(yīng)用于任何軟件開發(fā)的過程;簡單并且可擴(kuò)展,具有擴(kuò)展和專有化機(jī)制,便

21、于擴(kuò)展,無需對(duì)核心概念進(jìn)行修改;為面向?qū)ο蟮脑O(shè)計(jì)與開發(fā)中涌現(xiàn)出的高級(jí)概念(例如協(xié)作、框架、模式和組件);提供支持,強(qiáng)調(diào)在軟件開發(fā)中,對(duì)架構(gòu)、框架、模式和組件的重用;與最好的軟件工程實(shí)踐經(jīng)驗(yàn)集成;可升級(jí) 具有廣闊的適用性和可用性;有利于面對(duì)對(duì)象工具的市場成長。2.1.1 UML 的架構(gòu) UML 是由圖和元模型組成的。圖是 UML 的語法,而元模型則給出的圖的意思,是 UML 的語義。UML 的語義是定義在一個(gè)四層(或四個(gè)抽象級(jí))建模概念框架中的,這四層分別是:元元模型(meta-metamodel)層,組成 UML 最基本的元素“事物(Thing)”,畢業(yè)論文 使用 UML 和 Rational

22、 Rose 建立系統(tǒng)模型 第 9 頁 共 53 頁 代表要定義的所有事物;元模型(metamodel)層,組成了 UML 的基本元素,包括面向?qū)ο蠛兔嫦蚪M件的概念。這一層的每個(gè)概念都是元元模型中“事物”概念的實(shí)例(通過版類化);模型(model)層,組成了 UML 的模型,這一層中的每個(gè)概念都是元模型層中概念的一個(gè)實(shí)例(通過版類化),這一層的模型通常叫做類模型(class model)或類型模型(type model);用戶模型(user model)層,這層中的所有元素都是 UML 模型的例子。這一層中的每個(gè)概念都是模型層的一個(gè)實(shí)例(通過分類),也是元模型層的一個(gè)實(shí)例(通過版類化)。這一層的

23、模型通常叫做對(duì)象模型(object model)或?qū)嵗P停╥nstance model)。2.1.2 UML 的模型、視圖、圖與系統(tǒng)架構(gòu)建模 UML 是用來描述模型的,它用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征、以及行為或動(dòng)態(tài)特征。它從不同的視角為系統(tǒng)的架構(gòu)建模,形成系統(tǒng)的不同視圖(view),包括:用例視圖(use case view)強(qiáng)調(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 v

24、iew)或靜態(tài)視圖(static view);并發(fā)視圖(concurrent view)體現(xiàn)了系統(tǒng)的動(dòng)態(tài)或行為特征,也稱為行為模型視圖(behavioral model view)、過程視圖(process view)協(xié)作視圖(collaborative)動(dòng)態(tài)視圖(dynamic view);組件視圖(component view)體現(xiàn)了系統(tǒng)實(shí)現(xiàn)的結(jié)構(gòu)和行為特征,也稱為實(shí)現(xiàn)模型視圖(implementation model view)和開發(fā)視圖(development view);展開視圖(deployment view)體現(xiàn)了系統(tǒng)實(shí)現(xiàn)環(huán)境的結(jié)構(gòu)和行為特征,也稱為環(huán)境模型視圖(implemen

25、tation model view)或物理視圖(physical view);在必要的時(shí)候 還可以定義其它架構(gòu)視圖。每一種 UML 的視圖都是由一個(gè)或多個(gè)圖(diagram)組成的,一個(gè)圖就是系統(tǒng)架構(gòu)在某個(gè)側(cè)面的表示,它與其它圖是一致的,所有的圖一起組成了系統(tǒng)的完整視圖 UML 提供了九種不同的圖,可以分成兩大類,一類是靜態(tài)圖,包括用例圖、類圖、對(duì)象圖、組件圖、配置圖;另一類是動(dòng)態(tài)圖,包括序列圖,協(xié)作圖,狀態(tài)圖和活動(dòng)圖。也可以根據(jù)它們?cè)诓煌軜?gòu)視圖的應(yīng)用,把它們分成:在用戶模型視圖:用例圖(Use case diagram)描述系統(tǒng)的功能;在結(jié)構(gòu)模型視圖:類圖(Class diagram)描述

26、系統(tǒng)的靜態(tài)結(jié)構(gòu),對(duì)象圖(Object diagram)描述系統(tǒng)在某個(gè)時(shí)刻的靜態(tài)結(jié)構(gòu);在行為模型視圖:序列圖(Sequence diagram)按時(shí)間順序描述系統(tǒng)元素間的交互;協(xié)作圖(Collaboration diagram)按照時(shí)間和空間的順序描述系統(tǒng)元素間的交互和它們之間的關(guān)系;狀態(tài)圖(State diagram)描述了系統(tǒng)元素的狀態(tài)條件和響應(yīng);活動(dòng)圖(Activity diagram)描述了了系統(tǒng)元素的活動(dòng);在實(shí)現(xiàn)模型視圖:組件圖(Component diagram),描述了實(shí)現(xiàn)系統(tǒng)的元素的組織;在環(huán)境模型視圖:展開圖(Deployment diagram),描述了環(huán)境元素的配置,并把實(shí)

27、現(xiàn)系統(tǒng)的元素映射到配置上。2.1.3 標(biāo)準(zhǔn)建模語言 UML 的主要特點(diǎn) 標(biāo)準(zhǔn)建模語言 UML 的主要特點(diǎn)可以歸結(jié)為三點(diǎn):(1)UML 統(tǒng)一了 Booch、OMT 和 OOSE 等方法中的基本概念。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 10 頁 共 53 頁(2)UML 還吸取了面向?qū)ο蠹夹g(shù)領(lǐng)域中其他流派的長處,其中也包括非 OO 方法的影響。UML 符號(hào)表示考慮了各種方法的圖形表示,刪掉了大量易引起混亂的、多余的和極少使用的符號(hào),也添加了一些新符號(hào)。因此,在 UML 中匯入了面向?qū)ο箢I(lǐng)域中很多人的思想。這些思想并不是 UML 的開發(fā)者們發(fā)明的,而是開發(fā)者們依

28、據(jù)最優(yōu)秀的 OO 方法和豐富的計(jì)算機(jī)科學(xué)實(shí)踐經(jīng)驗(yàn)綜合提煉而成的。(3)UML 在演變過程中還提出了一些新的概念。在 UML 標(biāo)準(zhǔn)中新加了模板(Stereo types)、職責(zé)(Responsibilities)、擴(kuò)展機(jī)制(Extensibility mechanisms)、線程(Threads)、過程(Processes)、分 布 式(Distribution)、并發(fā)(Concurrency)、模 式(Patterns)、合 作(Collaborations)、活動(dòng)圖(Activity diagram)等新概念,并清晰地區(qū)分類型(Type)、類(Class)和實(shí)例(Instance)、細(xì)化(R

29、efinement)、接口(Interfaces)和組件(Components)等概念。2.2 UML 與面向?qū)ο蟮能浖治雠c設(shè)計(jì)(OOA&D)每一位軟件設(shè)計(jì)方法學(xué)家都有許多有關(guān)軟件質(zhì)量的理論,他們會(huì)討論軟件危機(jī)、軟件質(zhì)量低下、以及良好的設(shè)計(jì)的重要性。那么UML 對(duì)提高軟件的質(zhì)量有什么幫助嗎?2.2.1 標(biāo)準(zhǔn)的表示方法 UML 是一種建模語言,是一種標(biāo)準(zhǔn)的表示,而不是一種方法(或方法學(xué))。方法是一種把人的思考和行動(dòng)結(jié)構(gòu)化的明確方式,方法需要定義軟件開發(fā)的步驟、告訴人們做什么如何做,什么時(shí)候做,以及為什么要這么做。而 UML 只定義了一些圖以及它們的意義,它的思想是與方法無關(guān)。因此,我們會(huì)看到人

30、們將用各種方法來使用 UML,而無論方法如何變化,它們的基礎(chǔ)是 UML 的圖,這就是 UML 的最終用途為不同領(lǐng)域的人們提供統(tǒng)一的交流標(biāo)準(zhǔn)。我們知道軟件開發(fā)的難點(diǎn)在于一個(gè)項(xiàng)目的參與包括領(lǐng)域?qū)<?,軟件設(shè)計(jì)開發(fā)人員、客戶以及用戶,他們之間交流的難題成為軟件開發(fā)的最大難題。UML 的重要性在于,表示方法的標(biāo)準(zhǔn)化有效地促進(jìn)了不同背景人們的交流,有效地促進(jìn)軟件設(shè)計(jì)、開發(fā)和測試人員的相互理解,無論分析、設(shè)計(jì)和開發(fā)人員采取何種不同的方法或過程,他們提交的設(shè)計(jì)產(chǎn)品都是用 UML 來描述的,這有利地促進(jìn)了相互的理解。2.2.2 與軟件開發(fā)的成功經(jīng)驗(yàn)集成 UML 盡可能地結(jié)合了世界范圍內(nèi)面向?qū)ο箜?xiàng)目的成功經(jīng)驗(yàn),因

31、而它的價(jià)值在于它體現(xiàn)了世界上面向?qū)ο蠓椒▽?shí)踐的最好經(jīng)驗(yàn),并以建模語言的形式把它們打包,以適應(yīng)開發(fā)大型復(fù)雜系統(tǒng)的要求。在眾多成功的軟件設(shè)計(jì)與實(shí)現(xiàn)的經(jīng)驗(yàn)中,最突出的兩條,一是注重系統(tǒng)架構(gòu)的開發(fā),一是注重過程的迭代和遞增性。盡管 UML 本身沒有對(duì)過程有任何定義,但 UML 對(duì)任何使用它的方法(或過程)提出的要求是:支持用例驅(qū)動(dòng)(use-case driven)、以架構(gòu)為中心(architecture-centric)以及遞增(incremental)和迭代(iterative)地開發(fā)。注重架構(gòu)意味著不僅要編寫出大量的類和算法,還要設(shè)計(jì)出這些類和算法之間簡單而有效地協(xié)作。所有高質(zhì)量的軟件中似乎大量是

32、這類的協(xié)作,而近年出現(xiàn)的軟件設(shè)計(jì)模式也正在為這些協(xié)作起名和分類,使它們更易于重用。最好的架構(gòu)就是:“概念集成(conceptual integrity)”,它驅(qū)動(dòng)整個(gè)項(xiàng)目注重開發(fā)模式并力圖使它們簡單。迭代和遞增的開發(fā)過程反映了項(xiàng)目開發(fā)的節(jié)奏。不成功的項(xiàng)目沒有進(jìn)度節(jié)奏,因?yàn)樗鼈兛偸菣C(jī)會(huì)主義的,在工作中是被動(dòng)的。成功的項(xiàng)目有自己的進(jìn)度節(jié)奏,反映在它們有一個(gè)定期的版本發(fā)布過程,注重于對(duì)系統(tǒng)架構(gòu)進(jìn)行持續(xù)的改進(jìn)。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 11 頁 共 53 頁 2.3 標(biāo)準(zhǔn)建模語言 UML 的應(yīng)用領(lǐng)域 UML 的目標(biāo)是用面向?qū)ο蟮姆绞矫枋鋈魏晤愋偷南到y(tǒng)。最

33、直接的是用 UML 為軟件系統(tǒng)創(chuàng)建模型,但 UML 也可用來描述其它非計(jì)算機(jī)軟件的系統(tǒng),或者是商業(yè)機(jī)構(gòu)或過程。以下是 UML 常見的應(yīng)用:信息系統(tǒng)(Information System)向用戶提供信息的儲(chǔ)存、檢索、轉(zhuǎn)換和提交。處理存放在關(guān)系或?qū)ο髷?shù)據(jù)庫中大量具有復(fù)雜關(guān)系的數(shù)據(jù);技術(shù)系統(tǒng)(Technical System)處理和控制技術(shù)設(shè)備,如電信設(shè)備、軍事系統(tǒng)或工業(yè)過程。它們必須處理設(shè)計(jì)的特殊接口,標(biāo)準(zhǔn)軟件很少。技術(shù)系統(tǒng)通常是實(shí)時(shí)系統(tǒng);嵌入式實(shí)時(shí)系統(tǒng)(Embedded Real-Time System)在嵌入到其它設(shè)備如移動(dòng)電話、汽車、家電上的硬件上執(zhí)行的系統(tǒng)。通常是通過低級(jí)程序設(shè)計(jì)進(jìn)行的,需

34、要實(shí)時(shí)支持;分布式系統(tǒng)(Distributed System)分布在一組機(jī)器上運(yùn)行的系統(tǒng),數(shù)據(jù)很容易從一個(gè)機(jī)器傳送到另一臺(tái)機(jī)器上。需要同步通信機(jī)制來確保數(shù)據(jù)完整性,通常是建立在對(duì)象機(jī)制上的,如 CORBA,COM/DCOM,或 Java Beans/RMI 上;系統(tǒng)軟件(System Software)定義了其它軟件使用的技術(shù)基礎(chǔ)設(shè)施。操作系統(tǒng)、數(shù)據(jù)庫和在硬件上完成底層操作的用戶接口等,同時(shí)提供一般接口供其它軟件使用;商業(yè)系統(tǒng)(Business System)描述目標(biāo)、資源(人、計(jì)算機(jī)等),規(guī)則(法規(guī)、商業(yè)策略、政策等),和商業(yè)中的實(shí)際工作(商業(yè)過程)。要強(qiáng)調(diào)的是,通常大多數(shù)系統(tǒng)都不是單純屬于

35、上面的某一種系統(tǒng),而是一種或多種的結(jié)合。例如,現(xiàn)在許多信息系統(tǒng)都有分布式和實(shí)時(shí)的需要。商業(yè)工程是面向?qū)ο蠼?yīng)用的一個(gè)新的領(lǐng)域,引起了人們極大的興趣。面向?qū)ο蠼7浅_m合為公司的商業(yè)過程建模。運(yùn)用商業(yè)過程再工程(Business Process Reengineering,BPR)或全質(zhì)量管理(Total Quality Management,TQM)等技術(shù),可以對(duì)公司的商業(yè)過程進(jìn)行分析、改進(jìn)和實(shí)現(xiàn)。使用面向?qū)ο蠼UZ言為過程建模和編制文檔,使過程易于使用。UML 具有描述以上這些類型的系統(tǒng)的能力。第三章 Rational Rose 概述 3.1 Rational Rose 的基本內(nèi)容 Rat

36、ional Rose是業(yè)界領(lǐng)先的基于UML 的可視化建模工具,是分析和設(shè)計(jì)面向?qū)ο筌浖到y(tǒng)的強(qiáng)大的可視化工具,可以用來先建模系統(tǒng)再編寫代碼,從而一開始就保證系統(tǒng)結(jié)構(gòu)合理。利用模型可以更方便地捕獲設(shè)計(jì)缺陷,從而以較低的成本修正這些缺陷。Rational Rose 支持業(yè)務(wù)模型,幫助了解系統(tǒng)的業(yè)務(wù),有助于系統(tǒng)分析,可以先設(shè)計(jì)使用案例和 Use Case 框圖,顯示系統(tǒng)的功能。也可以用 Interaction 框圖顯示對(duì)象之間如何配合,提供所需功能。Class 框圖可以顯示系統(tǒng)中的對(duì)象及其相互關(guān)系。Component框圖可以演示系統(tǒng)類如何映射到實(shí)現(xiàn)組件。最后,Deployment 框圖可以顯示系統(tǒng)的

37、網(wǎng)絡(luò)設(shè)計(jì)。Rose 模型是系統(tǒng)的圖形,包括所有 UML 框圖、角色、使用案例、對(duì)象、類、組件和部署節(jié)點(diǎn)。他詳細(xì)描述系統(tǒng)的內(nèi)容和工作方法,開發(fā)人員可以用模型作為所建系統(tǒng)的藍(lán)圖。Rational ROSE 包括了一體化建模語言(UML),OOSE 及 OMT。其中一體化建模語言(UML)由 Rational 公司三位世界級(jí)面向?qū)ο蠹夹g(shù)專家Grady Booch,Ivar Jacobson和 Jim Rumbaugh 通過對(duì)早期面向?qū)ο笱芯亢驮O(shè)計(jì)方法的進(jìn)一步擴(kuò)展而得來的,為可視化建模軟件奠定了堅(jiān)實(shí)的理論基礎(chǔ)。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 12 頁 共 53

38、 頁 3.2 什么是建模?建模是使你逐層深入解決問題的方法:確認(rèn)應(yīng)用系統(tǒng)的功能需求并為事務(wù)處理原則建模 對(duì)抽象的對(duì)象映射需求,辨認(rèn)和提供設(shè)計(jì)模版并創(chuàng)建慣用的模版 分辨和設(shè)計(jì)對(duì)象或劃分三層模型的服務(wù) 對(duì)軟件的組成部分映射成對(duì)象并設(shè)計(jì)組件在網(wǎng)絡(luò)上如何分布 以上工作寫入白版文檔,建模允許處理發(fā)生變化,通過建立抽象概念,設(shè)計(jì)者就可以有效地處理大型工程和復(fù)雜結(jié)構(gòu)。建模建立起應(yīng)用程序的客戶和編程人員之間生動(dòng)的聯(lián)系。3.2.1 用 Rational ROSE實(shí)現(xiàn)建模 創(chuàng)建模型是幫助設(shè)計(jì)者實(shí)現(xiàn)任何復(fù)雜的工程項(xiàng)目的有力工具,在軟件工程中,它能夠把模型與實(shí)際應(yīng)用緊密地聯(lián)系起來。通過模型與代碼之間的映射,可以直接為

39、不同的程序開發(fā)環(huán)境生成系統(tǒng)結(jié)構(gòu)的框架,通過建立模型和代碼間的映射,可以確保代碼改進(jìn)時(shí)模型也隨之更新了,而且通過模型與代碼間的自動(dòng)連接,建模工具可以確保良好的設(shè)計(jì)實(shí)施。在應(yīng)用開發(fā)的任何階段進(jìn)入建模工作都是有意義的,無可否認(rèn)的是,在設(shè)計(jì)最初階段,應(yīng)將精力主要用于處理有關(guān)應(yīng)用系統(tǒng)用途、為實(shí)現(xiàn)用途應(yīng)采用何種編程環(huán)境,而不是考慮程序的細(xì)節(jié),如在屏幕上的什么位置放置按鈕等。在項(xiàng)目開發(fā)的中期引入建模也是非常有意義的,Rational Rose 既支持正向建模,同時(shí)也支持反向建模。Rose 通過建立模型使開發(fā)人員把握程序開發(fā)的方向,準(zhǔn)確完成需求分析中所要求的任務(wù)。3.2.2 Rational Rose 的解決

40、方案 Rational Rose產(chǎn)品為大型軟件工程提供了可塑性和柔韌性極強(qiáng)的解決方案:強(qiáng)有力的瀏覽器,用于查看模型和查找可重用的組件;可定制的目標(biāo)庫或編碼指南的代碼生成機(jī)制;既支持目標(biāo)語言中的標(biāo)準(zhǔn)類型又支持用戶自定義的數(shù)據(jù)類型;保證模型與代碼之間轉(zhuǎn)化的一致性;通過 OLE 連接,Rational Rose 圖表可動(dòng)態(tài)連接到 Microsoft Word 中;能夠與 Rational Visual Test、SQA Suite 和 SoDA 文檔工具無縫集成,完成軟件生命周期中的全部輔助軟件工程工作;強(qiáng)有力的正/反向建模工作;縮短開發(fā)周期;降低維護(hù)成本;3.3 Rational Rose 的界面

41、及 Rose 模型的四個(gè)視圖 Rational Rose 是個(gè)菜單驅(qū)動(dòng)應(yīng)用程序,用工具欄幫助使用常用特性。Rose 支持八種不同類型的 UML 框圖:User Case 框圖、Activity 框圖、Sequence 框圖、Collaboration框圖、Class、Statechart 框圖、Component 框圖和 Deployment 框圖。除了工具欄和菜單外,Rose 還有相關(guān)的彈出菜單,可以右鍵單擊項(xiàng)目訪問。例如,右鍵單擊 Class 框圖中的類打開一個(gè)菜單。選項(xiàng)又增加類的屬性或操作、瀏覽和編輯類規(guī)范、產(chǎn)生類的代碼和瀏覽產(chǎn)生的代碼。有疑問時(shí)可以右鍵單擊項(xiàng)目,得到相關(guān)的菜單選項(xiàng)。在

42、Rose 中漫游的最簡單方法是使用瀏覽器,瀏覽器是屏幕左邊的樹型視圖。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 13 頁 共 53 頁 屏幕組件:Rose 界面的五大部分是瀏覽器、文檔窗口、工具欄、框圖窗口和日志。瀏覽器 用于在模型中迅速漫游。文檔窗口 用于查看或更新模型元素的文檔。工具欄 用于迅速訪問常用命令??驁D窗口 用于顯示和編輯一個(gè)或幾個(gè) UML框圖。日志 用于查看錯(cuò)誤消息和報(bào)告各個(gè)命令的結(jié)果。Rose模型的四個(gè)視圖是:Use Case視圖、Logical視圖、Component視圖和Deployment視圖。Use Case 視圖包括系統(tǒng)中的所有角色、

43、使用案例和 Use Case框圖,還可能包括一些Sequence或Collaboration框圖。Use Case視圖是系統(tǒng)中與實(shí)現(xiàn)無關(guān)的視圖。Use Case視圖關(guān)注系統(tǒng)功能的高層形狀,而不關(guān)注系統(tǒng)的具體實(shí)現(xiàn)方法。Logical 視圖,其關(guān)注系統(tǒng)如何實(shí)現(xiàn)使用案例中提出的功能。它提供系統(tǒng)的詳細(xì)圖形,描述組件間如何關(guān)聯(lián)。除了這些外,Logical視圖還包括需要的特定類、Class框圖和 Statechart 框圖。利用這些細(xì)節(jié)元素,開發(fā)人員可以構(gòu)造系統(tǒng)的詳細(xì)設(shè)計(jì)。Component 視圖包含模型代碼庫、可執(zhí)行文件、運(yùn)行庫和其他組件的信息。組件是代碼的實(shí)際模塊。在 Rose中,組件和 Compon

44、ent框圖在 Component視圖中顯示。系統(tǒng)的 Component視圖可以顯示代碼模塊間的關(guān)系。Deployment 視圖關(guān)注系統(tǒng)的實(shí)際部署,可能與系統(tǒng)的邏輯結(jié)構(gòu)有所不同。Deployment視圖還要處理其他問題,如容錯(cuò)、網(wǎng)絡(luò)帶寬、故障恢復(fù)和響應(yīng)時(shí)間。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 14 頁 共 53 頁 第四章 圖書管理系統(tǒng) Rose 模型設(shè)計(jì)過程 3.1 系統(tǒng)設(shè)置-平臺(tái)和開發(fā)工具的選擇(一)系統(tǒng)開發(fā)環(huán)境 操作系統(tǒng):WINDOWS 98 硬件:PC 機(jī) 開發(fā)軟件:UML,Rational Rose,Java (二)開發(fā)工具的選擇 Rational

45、 Rose 可以和任何一種面向?qū)ο蟮膽?yīng)用程序結(jié)構(gòu)組合使用,通過 Rational Rose 系列產(chǎn)品可得到各類主要編程語言和快速應(yīng)用開發(fā)工具的直接支持:a.模型和代碼的高度一致 Rose 可以真正實(shí)現(xiàn)正向、逆向和雙向工程。在正向工程中 Rose 可以為模型產(chǎn)生相應(yīng)的代碼,在逆向工程中 Rose 可以從用戶原來的軟件系統(tǒng)導(dǎo)出該系統(tǒng)的模型,而在雙向工程中 Rose 可以真正實(shí)現(xiàn)模型和代碼之間的循環(huán)工程,從而保證模型與代碼的高度一致,并通過保護(hù)開關(guān)使得用戶在雙向工程中不會(huì)丟失或覆蓋用戶已經(jīng)開發(fā)出的任何代碼。b.多語言的支持 Rose 本身能夠支持的語言包括:C+、Visual C+、Java、Sma

46、lltalk、Ada,以及 4GL 語言:Visual Basic、PowerBuilder 和 Forte,也能夠?yàn)?CORBA 應(yīng)用產(chǎn)生接口定義語言 IDL 和為數(shù)據(jù)庫應(yīng)用產(chǎn)生數(shù)據(jù)庫描述語言 DDL。Rose 能夠提供對(duì)CORBA 2.2 的支持。c.對(duì)團(tuán)隊(duì)開發(fā)的強(qiáng)有力的支持 Rose 提供了兩種方式來支持團(tuán)隊(duì)開發(fā):一種是采用 SCM(軟件配置管理)的團(tuán)隊(duì)開發(fā)方式;另一種是沒有 SCM 情況下的團(tuán)隊(duì)開發(fā)方式。這兩種方式為用戶提供了極大的靈活性,用戶可以根據(jù)開發(fā)的規(guī)模和開發(fā)人員數(shù)目以及資金情況等選擇其一進(jìn)行團(tuán)隊(duì)開發(fā)。d.支持建模語言UML Rational 麾下?lián)碛腥幻嫦驅(qū)ο蟠髱煟篏rad

47、y Booch、James Rumbaugh、Ivar Jacobson,由他們共同創(chuàng)造的 UML(統(tǒng)一建模語言)統(tǒng)一了面向?qū)ο蟮慕7椒ǎ藢?duì)象建模的差別。1997 年 11 月,UML 被美國 OO 行業(yè)的對(duì)象管理小組(OMG)批準(zhǔn)為面向?qū)ο箝_發(fā)的行業(yè)標(biāo)準(zhǔn)語言,并得到了微軟、Oracle、IBM、HP 等大廠商的支持和認(rèn)證。微軟的存儲(chǔ)庫就用 UML 作為構(gòu)件描述語言。作為面向?qū)ο箝_發(fā)的行業(yè)標(biāo)準(zhǔn)語言,UML是唯一可以在 UNIX 上和 NT 上共用的標(biāo)準(zhǔn)語言。e.支持模型的 Internet 發(fā)布 Rose 的 Internet Web Publisher 能夠創(chuàng)建一個(gè)基于 Web 的

48、Rose 模型的 HTML 版本,使得其他人員能夠通過標(biāo)準(zhǔn)的瀏覽器如:Netscape Navigator 或 IE 來瀏覽該模型。f.使用簡單且定制靈活的文檔生成 Rose 本身提供了方便的直接產(chǎn)生模型文檔的功能,但是如果能夠利用 Rational 文檔生成工具 SoDA 提供的模型文檔模板就可以輕松自如地自動(dòng)產(chǎn)生 OOA 和 OOD 階段所需的各種重要文檔。值得注意的是不管是Rose自身還是SoDA所產(chǎn)生的文檔均為Word文檔,并且在 Rose 中可以直接啟動(dòng) SoDA,而 SoDA 與 MS Word 是完全無縫集成的。g.數(shù)據(jù)庫應(yīng)用的解決方案 利用 Rose 能夠進(jìn)行數(shù)據(jù)庫的建模,并且

49、 Rose 能夠?yàn)?ANSI、Oracle、SQL Server、Sybase、Watcom 等支持標(biāo)準(zhǔn) DDL 的數(shù)據(jù)庫自動(dòng)生成數(shù)據(jù)描述語言 DDL。Rose 與 ErWin 之間也能夠緊密集成,并且能夠相互導(dǎo)出另一方的模型。另外,Rose 還能夠?qū)崿F(xiàn) Oracle 8 的正向和逆向工程,使得用戶能夠:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 15 頁 共 53 頁 從 Oracle 8 的關(guān)系 Schema 中產(chǎn)生對(duì)象模型,并可以進(jìn)一步擴(kuò)展該對(duì)象模型以使用Oracle 8 的對(duì)象能力 可視化已有的關(guān)系數(shù)據(jù)庫 方便已有商業(yè)對(duì)象的發(fā)現(xiàn)和合成 保護(hù)在已有關(guān)系數(shù)據(jù)庫

50、領(lǐng)域的投資,同時(shí)盡享對(duì)象建模和開發(fā)帶給應(yīng)用的所有好處。Rose 本身能夠支持的語言包括:C+、Visual C+、Java、Smalltalk、Ada,以及 4GL語言:Visual Basic、PowerBuilder 和 Forte,也能夠?yàn)?CORBA 應(yīng)用產(chǎn)生接口定義語言IDL 和為數(shù)據(jù)庫應(yīng)用產(chǎn)生數(shù)據(jù)庫描述語言 DDL。Rose 能夠提供對(duì) CORBA 2.2 的支持。3.2 模型總體設(shè)計(jì) 3.2.1 創(chuàng)建系統(tǒng)的 Use Case 視圖 Use Case 框圖顯示系統(tǒng)中的使用案例與角色及其相互關(guān)系,角色是與所建系統(tǒng)交互的對(duì)象(人或物),使用案例是系統(tǒng)提供的高級(jí)功能模塊,演示了人們?nèi)绾问?/p>

51、用案例。首先創(chuàng)建主 Use Case 框圖,顯示系統(tǒng)的總體視圖。下圖是本次畢業(yè)設(shè)計(jì)的圖書館管理系統(tǒng)的 Use Case 框圖,所建系統(tǒng)的需求組成所有使用案例和角色設(shè)置。這個(gè)框圖中有系統(tǒng)角色、系統(tǒng)用例和它們之間的關(guān)系。BorrowerReturn of itemMake reservationLibrarianRemove ReservationLend item 圖 1.1 圖 1.1 中有兩個(gè)系統(tǒng)角色:借閱者和圖書管理員,四個(gè)系統(tǒng)使用案例:借閱圖書、歸還圖書、預(yù)約圖書和取消預(yù)約。較好的描述了系統(tǒng)的使用功能:借閱者通過圖書管理員可以借閱書刊、歸還書刊、預(yù)約書刊和取消預(yù)約,所有這些操作要通過圖書

52、管理員來完成,也就是說圖書管理員是本系統(tǒng)的直接使用者。本系統(tǒng)的系統(tǒng)角色 Borrower 可以是一個(gè)人,也可以是其他的圖書館,能夠?qū)D書進(jìn)行借閱和預(yù)約。圖 1.2 描述了系統(tǒng)的另一個(gè)方面的功能系統(tǒng)維護(hù)的功能。本系統(tǒng)的維護(hù)是由圖畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 16 頁 共 53 頁 書管理員來維護(hù)的,他可以增加書籍、刪除或更新書籍、增加條款、刪除條款、增加新的借閱者、刪除或更新借閱者。這個(gè)使用案例用到了其他的一些使用案例:Add Title 案例、Remove or Update Title案例、Add Item案例、Remove Item案例、Add

53、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 框圖一步一步顯示使用案例的流程。包括:流中需要什么對(duì)象;對(duì)象相互發(fā)送什么消息;什么角色啟動(dòng)流

54、;消息按什么順序發(fā)送。圖 1.3 是系統(tǒng)添加新用戶的 Sequence 框圖。在添加的時(shí)候要查找是否數(shù)據(jù)庫中有該用戶的信息,如果沒有的話則進(jìn)行添加,用戶信息有四個(gè)字段:用戶姓名、用戶地址、郵政編碼、國家地區(qū)。添加后對(duì)所添加的信息進(jìn)行存儲(chǔ)。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 17 頁 共 53 頁 :Librarian:BorrowerFrame:BorrowerInf.1:addButton_Clicked()2:$findOnLastName(String)Check if already exists3:BorrowerInformation(Stri

55、ng,String,String,String,String,Stri.4:store()圖 1.3 增加書目條款信息的 Sequence 框圖如圖 1.4:開始時(shí)進(jìn)行查找,按書名查找,然后點(diǎn)擊 OK 按鈕可以對(duì)圖書信息進(jìn)行更新,更新后將信息返回到圖書信息庫中,同時(shí)書目條款信息中的圖書基本信息將和圖書信息庫保持一致。如果要添加書目條款信息,可以點(diǎn)擊添加按鈕,然后對(duì)條款信息添加,完成后保存信息。同時(shí)要在圖書信息庫中添加相關(guān)條款信息,對(duì)信息更新。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 18 頁 共 53 頁 :Librarian:FindTitleDialog:T

56、itle: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:在增加書目之前首先要

57、檢查書庫中是否有要增加的這本書,若沒有就在庫中添加,同時(shí)創(chuàng)建條款信息和書目名稱并保存。第一步要點(diǎn)擊添加按鈕,然后查找書目名稱和檢索號(hào),沒有找到即可添加,創(chuàng)建一個(gè)新的名稱和條款信息,填寫并保存。畢業(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,Str

58、ing,int)6:Item(ObjId,int)7:store()8:addItem(ObjId)9:store()CreateTitle anditem objectsStoreitems andtitle 圖 1.5 借閱書籍的 Sequence 框圖如圖 1.6:要借閱圖書由圖書管理員點(diǎn)擊查找標(biāo)題按鈕,進(jìn)入借閱條款界面,之后再進(jìn)行查找,找到書籍之后將書的名稱返還給借閱者,也可以直接點(diǎn)擊查找按鈕。若要查看該書的詳細(xì)信息則點(diǎn)擊 OK 按鈕,系統(tǒng)將標(biāo)題信息返還,可以查看各條款信息。圖書管理員同時(shí)可以查看借閱者的信息,點(diǎn)擊查找借閱者信息按鈕,進(jìn)入借閱條款界面,之后再進(jìn)行查找,也可以直接進(jìn)行查找

59、,進(jìn)入查詢借閱者信息界面,按姓名查找,找到后將信息返還,對(duì)其中的各條信息進(jìn)行選擇,如果該用戶要借閱圖書則點(diǎn)擊 OK 按鈕,圖書即被借出,同時(shí)信息被保存。系統(tǒng)將更新這本書的信息,將其狀態(tài)置為已借出,并更新用戶的信息,在其已借書目當(dāng)中增加該本書。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 20 頁 共 53 頁 :Librarian:Title:FindBorrowe.:BorrowerInf.:Item:Loan13:findButton_Clicked()14:$findOnLastName(String)15:okButton_Clicked():LendIte

60、mFrame: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(

61、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 對(duì)書籍進(jìn)行預(yù)約的 Sequence 框圖如圖 1.7:畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 21 頁 共 53 頁 :Librarian:Reservation.1:findTitleButton

62、_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)1

63、1: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:UpdateBorrow

64、erFrame: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(

65、)10:setLoan(ObjId)14:getTitle()16:delete()15:removeReservation(ObjId)圖 1.8 刪除書目條款信息的 Collaboration 框圖如圖 1.9:首先要進(jìn)行查找,按名稱查找,找到后點(diǎn)擊 OK 按鈕進(jìn)行條款信息的更新。更新完如果對(duì)無用信息要進(jìn)行移除的,點(diǎn)擊刪除按鈕,進(jìn)入到更新界面進(jìn)行刪除,刪除之后其他信息自動(dòng)更新。畢業(yè)論文 使用 UML 和 Rational Rose 建立系統(tǒng)模型 第 23 頁 共 53 頁 :Librarian:FindTitleDialog:Title:UpdateTitleFrame:Item:Titl

66、e1: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:首先要對(duì)書目進(jìn)行查詢,進(jìn)入到查詢界面點(diǎn)擊查詢按鈕按名稱進(jìn)行查找,找到后將本書的信息返還給圖書管理員,管理員可以查看該書是否已經(jīng)被預(yù)約,如果被預(yù)約了則可以看到對(duì)此書預(yù)約的用戶信息。然后在借閱菜單里進(jìn)行選擇是否要取消對(duì)此書的預(yù)約,是的話,點(diǎn)擊 OK 按鈕,則可以看到此書目前的狀態(tài),取消預(yù)約后系統(tǒng)將對(duì)用戶信息進(jìn)行更新,同時(shí)對(duì)該本書的狀態(tài)也要進(jìn)行更新。最后要從已被預(yù)約書籍的數(shù)據(jù)庫當(dāng)中刪除該書的信息。畢業(yè)論文 使用 UML 和 Rational Rose

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!

五月丁香婷婷狠狠色,亚洲日韩欧美精品久久久不卡,欧美日韩国产黄片三级,手机在线观看成人国产亚洲