基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)_第1頁
基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)_第2頁
基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)_第3頁
基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)_第4頁
基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于UML的酒店管理系統(tǒng)的分析與設(shè)計(jì)摘 要 :酒店管理系統(tǒng)是現(xiàn)代企業(yè)管理系統(tǒng)的一個(gè)重要組成部分,傳統(tǒng)的系統(tǒng)分析設(shè)計(jì)方法已經(jīng)難以保證軟件開發(fā)的效率和質(zhì)量,UML是一種面向?qū)ο蟮目梢暬UZ言,通過用例模型、類模型及交互模型的建立可以快速、有效地進(jìn)行軟件開發(fā),將UML應(yīng)用于酒店管理系統(tǒng)建模,可以加速軟件開發(fā)進(jìn)程,提高軟件質(zhì)量,支持動態(tài)的業(yè)務(wù)需求,并方便地集成已有的企業(yè)管理資源。 關(guān)鍵詞 :酒店管理系統(tǒng);UML;系統(tǒng)分析;系統(tǒng)設(shè)計(jì);建模;實(shí)現(xiàn) 目錄1。定義22。需求分析33。系統(tǒng)的UML分析與實(shí)現(xiàn)53.1。酒店管理系統(tǒng)的業(yè)務(wù)建模和需求分析63.2。酒店管理系統(tǒng)設(shè)計(jì)63。2.1。系統(tǒng)架構(gòu)設(shè)計(jì)73。2。

2、2。系統(tǒng)詳細(xì)設(shè)計(jì)83。2.3。酒店管理系統(tǒng)的實(shí)現(xiàn)、測試和系統(tǒng)配置124.結(jié)束語121. 定義  當(dāng)今社會對信息系統(tǒng)的需求日益增長,需求變化也越來越快,軟件開發(fā)的技術(shù)發(fā)展方向已經(jīng)從“提升被開發(fā)系統(tǒng)的執(zhí)行效率"轉(zhuǎn)變?yōu)椤疤嵘_發(fā)效率". UML 作為一種通用的建模語言,融入了軟件工程領(lǐng)域的新思想、新方法、新技術(shù),在軟件的開發(fā)不同階段可以采用相同的一套概念和表示法,在同一個(gè)模型中它們可以混合使用,具有定義良好、易于表達(dá)、功能強(qiáng)大等優(yōu)勢。面向?qū)ο蠹夹g(shù)降低了解決方法域與問題域的差別,提供了良好的復(fù)用機(jī)制,能夠更加有效提高軟件開發(fā)效率,完全順應(yīng)了軟件開發(fā)技術(shù)的發(fā)展方向。 

3、60; UML(The Unified Modeling Language,即統(tǒng)一建模語言) 是一個(gè)通用的標(biāo)準(zhǔn)建模語言,可以對復(fù)雜的系統(tǒng)建立可視化系統(tǒng)模型,目前已經(jīng)被工業(yè)標(biāo)準(zhǔn)組織OMG(Object Management Group)接受,一經(jīng)推出便得到許多著名計(jì)算機(jī)廠商如Microsoft,HP,IBM,Oracle等支持,在國際上應(yīng)用日益廣泛。UML(Unified Modeling Language)又稱統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言,是一個(gè)支持模型化和軟件系統(tǒng)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持,由類圖、對象圖、用例圖、狀態(tài)圖、順序圖、活動圖、協(xié)作圖、構(gòu)件圖、包圖及部署

4、圖這些基本圖型組成。 軟件工程是用工程、科學(xué)和數(shù)學(xué)的原則與方法研制、維護(hù)計(jì)算機(jī)軟件的有關(guān)技術(shù)及管理方法,軟件工程的方法、工具和過程構(gòu)成了軟件工程的三要素。軟件工程的目標(biāo)實(shí)在給定成本、進(jìn)度的前提下,開發(fā)出具有可修改性、有效性、可靠性、可理解性、可維護(hù)性、可重用性、可適應(yīng)性、可移植性、可追蹤性和可互操作性并滿足用戶需求的軟件產(chǎn)品。軟件產(chǎn)品從形成概念開始,經(jīng)過開發(fā)、使用和維護(hù),直到最后退役的全過程成為軟件的生存周期. 軟件的生存周期都包括軟件定義、軟件開發(fā)、軟件使用與維護(hù)3個(gè)部分.軟件開發(fā)模型給出了軟件開發(fā)各個(gè)階段之間的關(guān)系.它是軟件開發(fā)過程的概括,是軟件工程的重要內(nèi)容。它為軟件工程管理提供里程碑和

5、進(jìn)度表;為軟件開發(fā)過程提供原則和方法。   本文通過一個(gè)酒店管理系統(tǒng)的分析與設(shè)計(jì),闡述如何通過UML降低開發(fā)難度和提高開發(fā)效率。2. 需求分析 酒店管理系統(tǒng)的基本特征和功能模塊:在軟件工程中,需求分析指的是在建立一個(gè)新的或改變一個(gè)現(xiàn)存的電腦系統(tǒng)時(shí)描寫新系統(tǒng)的目的、范圍、定義和功能時(shí)所要做的所有的工作。需求分析是軟件工程中的一個(gè)關(guān)鍵過程。在這個(gè)過程中,系統(tǒng)軟件員和軟件工程師確定顧客的需要。只有在確定了這些需要后他們才能夠分析和尋求新系統(tǒng)的解決方法.1) 用戶與開發(fā)人員很難進(jìn)行交流:在軟件生存周期中,其它四個(gè)階段都是面向軟件技術(shù)問題,只有本階段是面向用戶的。需求分析是對用戶的業(yè)務(wù)活動進(jìn)行

6、分析,明確在用戶的業(yè)務(wù)環(huán)境中軟件系統(tǒng)應(yīng)該”做什么".但是在開始時(shí),開發(fā)人員和用戶雙方都不能準(zhǔn)確地提出系統(tǒng)要"做什么?".因?yàn)檐浖_發(fā)人員不是用戶問題領(lǐng)域的專家,不熟悉用戶的業(yè)務(wù)活動和業(yè)務(wù)環(huán)境,又不可能在短期內(nèi)搞清楚;而用戶不熟悉計(jì)算機(jī)應(yīng)用的有關(guān)問題。由于雙方互相不了解對方的工作,又缺乏共同語言,所以在交流時(shí)存在著隔閡。2) 用戶的需求是動態(tài)變化的:對于一個(gè)大型而復(fù)雜的軟件系統(tǒng),用戶很難精確完整地提出它的功能和性能要求。一開始只能提出一個(gè)大概、模糊的功能,只有經(jīng)過長時(shí)間的反復(fù)認(rèn)識才逐步明確。有時(shí)進(jìn)入到設(shè)計(jì)、編程階段才能明確,更有甚者,到開發(fā)后期還在提新的要求。這無疑

7、給軟件開發(fā)帶來困難。3) 系統(tǒng)變更的代價(jià)呈非線性增長; 需求分析是軟件開發(fā)的基礎(chǔ)。假定在該階段發(fā)現(xiàn)一個(gè)錯誤,解決它需要用一小時(shí)的時(shí)間,到設(shè)計(jì)、編程、測試和維護(hù)階段解決,則要花2.5、5、25、100倍的時(shí)間。因此,對于大型復(fù)雜系統(tǒng)而言,首先要進(jìn)行可行性研究.開發(fā)人員對用戶的要求及現(xiàn)實(shí)環(huán)境進(jìn)行調(diào)查、了解,從技術(shù)、經(jīng)濟(jì)和社會因素三個(gè)方面進(jìn)行研究并論證該軟件項(xiàng)目的可行性,根據(jù)可行性研究的結(jié)果,決定項(xiàng)目的取舍.本系統(tǒng)以“酒店服務(wù)"為核心,構(gòu)建出了以“客戶”為中心的酒店管理模式。所以該系統(tǒng)具有以下一些功能:i. 用戶信息管理:對酒店管理系統(tǒng)的使用員工進(jìn)行管理,包括對員工的基本信息(如用戶姓名、

8、所屬部門、用戶類型等)進(jìn)行檢索、錄入和修改;ii. 類型管理:用戶可自定義類型,并對其進(jìn)行管理,包括對類型的基本信息(如類型名稱、面積、床位、價(jià)格等)進(jìn)行檢索、錄入和修改;iii. 信息管理:用戶對信息進(jìn)行管理,包括對的基本信息(如號、類型、位置等)進(jìn)行檢索、錄入和修改; iv. 經(jīng)營管理:實(shí)現(xiàn)對的訂房和退房管理,包括對的業(yè)務(wù)信息(如號、入房時(shí)間、退房時(shí)間、金額等)進(jìn)行檢索、錄入和修改。 v. 客戶信息查詢:用戶可對入住過酒店的客戶信息進(jìn)行查詢,包括對客戶的基本信息(如身份證號、客戶姓名、聯(lián)系電話)進(jìn)行檢索。vi. 經(jīng)營狀況統(tǒng)計(jì):根據(jù)酒店的業(yè)務(wù)記錄,用戶可選擇不同的統(tǒng)計(jì)方式對營業(yè)額進(jìn)行統(tǒng)計(jì)。從

9、功能描述的內(nèi)容來看,本實(shí)例可以實(shí)現(xiàn)六大功能。我們根據(jù)這些功能,設(shè)計(jì)出系統(tǒng)的功能模塊,如圖1所示。圖1. 酒店管理系統(tǒng)功能模塊示意圖酒店管理系統(tǒng)作為當(dāng)前使用非常廣泛的數(shù)據(jù)庫應(yīng)用系統(tǒng)之一,其開發(fā)過程包括需求分析、UML系統(tǒng)建模、數(shù)據(jù)庫分析和設(shè)計(jì)以及各功能模塊的實(shí)現(xiàn)。我們重點(diǎn)對UML系統(tǒng)建模進(jìn)行詳細(xì)講述。3. 系統(tǒng)的UML分析與實(shí)現(xiàn)UML概述及特點(diǎn);UML又稱統(tǒng)一建模語言或標(biāo)準(zhǔn)建模語言,是一個(gè)支持模型化和軟件系統(tǒng)的圖形化語言,為軟件開發(fā)的所有階段提供模型化和可視化支持。由類圖、對象圖、用例圖、狀態(tài)圖、順序圖、活動圖、協(xié)作圖、構(gòu)件圖、包圖及部署圖這些基本圖形組成。UML 是一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言

10、,可以對大型復(fù)雜系統(tǒng)的各種成分可視化說明并構(gòu)造系統(tǒng)模型,以及建立各種必要的文檔.UML通過三類圖形建立系統(tǒng)模型: Use Case圖,靜態(tài)結(jié)構(gòu)圖(類圖,對象圖,組件圖,配置圖)和動態(tài)行為圖(順序圖,協(xié)同圖,狀態(tài)圖,活動圖),這些圖可以從不同抽象角度使系統(tǒng)可視化。 UML具有面向?qū)ο?、可視化、?dú)立與開發(fā)過程和程序設(shè)計(jì)語言以及易于掌握使用等特點(diǎn)。UML適用于各種規(guī)模的系統(tǒng)開發(fā),能促進(jìn)軟件復(fù)用,方便地集成已有的 系統(tǒng)并有效減少開發(fā)中的各種風(fēng)險(xiǎn).UML在酒店管理系統(tǒng)中的實(shí)際應(yīng)用 。UML 是一種建模語言,是系統(tǒng)開發(fā)的一個(gè)組成部分,本身并沒有關(guān)于開發(fā)過程概念的定義和表示符號.UML的創(chuàng)始人 booch,

11、Jacobson和Rum Baugh在rational公司的支持下綜合了多種系統(tǒng)開發(fā)過程的長處,提出新的面向?qū)ο蟮拈_發(fā)過程,稱為Rational統(tǒng)一過程(Rational Unified Process,RUP).RUP過程的核心工作流程包括:業(yè)務(wù)建模、需求分析、系統(tǒng)分析與設(shè)計(jì)和實(shí)現(xiàn)、實(shí)現(xiàn)、測試和系統(tǒng)部署.下面通過UML來分析并構(gòu)造酒店管理系統(tǒng)模型,并結(jié)合Rational統(tǒng)一過程加以描述,圖形使用Rational Rose 工具軟件繪制。3.1. 酒店管理系統(tǒng)的業(yè)務(wù)建模和需求分析業(yè)務(wù)模型和需求分析的目的是對系統(tǒng)進(jìn)行評估,采集和分析系統(tǒng)的需求,理解系統(tǒng)要解決的問題,重點(diǎn)是充分考慮系統(tǒng)的實(shí)用性。結(jié)

12、果可以用一個(gè)業(yè)務(wù)用例(Business Use Case)框圖表達(dá),根據(jù)酒店管理系統(tǒng)的基本特征和功能可得到 本系統(tǒng)的用例圖,如圖2。 圖2。 酒店管理系統(tǒng)業(yè)務(wù)用例框圖 模型中的活動者代表外部與系統(tǒng)交互的單元,包括酒店管理員、前臺服務(wù)員等等;業(yè)務(wù)用例框圖是對系統(tǒng)需求的描述,表達(dá)了系統(tǒng)的功能和所提供的服務(wù),該用例圖標(biāo)記了酒店管理系統(tǒng)的所有用例,并且形象地描述了各用例與用戶角色之間的關(guān)系.圖2 是酒店管理系統(tǒng)層次的用例模型,只包含了最基本的Use Case模型,是系統(tǒng)的高層抽象。在開發(fā)過程中,隨著對系統(tǒng)需求認(rèn)識的不斷加深,用例模型可以從頂向下不斷細(xì)化,演化出更加詳細(xì)的Use Case模型。 根據(jù)系統(tǒng)

13、的用例圖,可以對系統(tǒng)的持久對象進(jìn)行設(shè)計(jì)。3.2. 酒店管理系統(tǒng)設(shè)計(jì)  系統(tǒng)分析與設(shè)計(jì)是研究欲采用的實(shí)現(xiàn)環(huán)境和系統(tǒng)結(jié)構(gòu),結(jié)果是產(chǎn)生一個(gè)對象模型,也就是設(shè)計(jì)模型。設(shè)計(jì)模型包含了Use Case的實(shí)現(xiàn),可以表現(xiàn)對象如何相互通信和運(yùn)作來實(shí)現(xiàn)Use Case流的。對于系統(tǒng)的靜態(tài)結(jié)構(gòu),可以通過類圖、對象圖、組件圖和配置圖來描述;對于系統(tǒng)的動態(tài)行為,可以通過順序圖、協(xié)同圖、狀態(tài)圖、活動圖描述。這些圖在加上說明文檔就構(gòu)成一個(gè)完整的設(shè)計(jì)模型。3.2.1. 系統(tǒng)架構(gòu)設(shè)計(jì)  酒店管理系統(tǒng)擁有大量業(yè)務(wù)信息資源,這些資源包括各種客戶信息、訂房、和退房等信息。其數(shù)據(jù)量大、信息變化快,非結(jié)構(gòu)化信息與結(jié)構(gòu)

14、化信息共存。使用UML對酒店管理系統(tǒng)進(jìn)行基于面向?qū)ο蟮姆治龊蛯?shí)現(xiàn),可以從開發(fā)的第一步開始,從系統(tǒng)的底層就把握住酒店信息資源的特征,為下一步具體實(shí)現(xiàn)打好基礎(chǔ).在酒店管理系統(tǒng)建立模型時(shí)要涉及到處理大量的模型元素,如類、接口、組件、節(jié)點(diǎn)、圖等,可以將語意上相近的模型元素組織在一起,這就構(gòu)成了UML的包,包從較高的層次來組 織管理系統(tǒng)模型。  系統(tǒng)主要有以下四個(gè)包:1) 用戶接口包(User Interface Package)   用戶接口包在其他包的頂層次,為系統(tǒng)用戶提供訪問信息和服務(wù)。要注意一點(diǎn),由于開發(fā)工具使用不同,該接口描述也是有區(qū)別的.如果采用Java Web開發(fā),就要

15、以JSP(Java Server Pages)為基礎(chǔ),如果采取Microsoft的A開發(fā),其基礎(chǔ)就是標(biāo)準(zhǔn)化控件組.本系統(tǒng)在此將使用Java Web開發(fā),下面有關(guān)代碼的描述都是基于Java的。2) 業(yè)務(wù)邏輯包(Business Rule Package)  該包是酒店管理系統(tǒng)業(yè)務(wù)的核心實(shí)現(xiàn)部分,包括客戶管理、訂房管理、退房管理等,其他包可以通過訪問該包提供的接口,實(shí)現(xiàn)業(yè)務(wù)邏輯,如客戶管理業(yè)務(wù)等.3) 數(shù)據(jù)持久訪問包(Data Persistence Package)   該包實(shí)現(xiàn)數(shù)據(jù)的持久化,也就是與數(shù)據(jù)庫交互,實(shí)現(xiàn)數(shù)據(jù)的存取、修改等操作。 4) 通用工具包(Util Pac

16、kage)  該包主要包括應(yīng)用程序安全檢查的類,可以為上面三個(gè)包提供安全檢查,如客戶端檢查和服務(wù)器端業(yè)務(wù)規(guī)則檢查等,同時(shí)包括一些系統(tǒng)異常檢查與拋出處理以及系統(tǒng)日志服務(wù)等.3.2.2. 系統(tǒng)詳細(xì)設(shè)計(jì)   詳細(xì)設(shè)計(jì)主要是描述在系統(tǒng)分析階段產(chǎn)生的類,與分析階段類的區(qū)別就是偏重于技術(shù)層面和類的細(xì)節(jié)實(shí)現(xiàn)。酒店管理系統(tǒng)提供的各種服務(wù)都是建立在分布、開放的信息 結(jié)構(gòu)之上,依托高速、可靠的網(wǎng)絡(luò)環(huán)境來完成的。每項(xiàng)服務(wù)都可以看作一個(gè)事件流,由若干相關(guān)的對象交互合作來完成.對于這種系統(tǒng)內(nèi)部的協(xié)作關(guān)系和過程行為, 可以通過繪制序列(Sequence)框圖和協(xié)作(Collaboration)框圖來幫

17、助觀察和理解。此外,描述工作流和并發(fā)行為還可以通過活動框圖, 表達(dá)從一個(gè)活動到另一個(gè)活動的控制流。同時(shí),可以在理解這些圖的基礎(chǔ)上,抽象出系統(tǒng)的類圖,為系統(tǒng)編碼階段繼續(xù)細(xì)化提供基礎(chǔ)。下面以Java Web開發(fā)為例,介紹客戶管理子系統(tǒng)的詳細(xì)設(shè)計(jì)。1. 客戶管理子系統(tǒng)的基本結(jié)構(gòu)建模:下圖是客戶管理子系統(tǒng)主要類極其關(guān)系的詳細(xì)設(shè)計(jì)圖3。 酒店管理系統(tǒng)域類圖2. 序列圖:序列圖是一種對象交互圖,著重強(qiáng)調(diào)了時(shí)間序列,而不是靜態(tài)對象的關(guān)系,通過序列圖可以清楚地看到“誰在什么時(shí)間對誰說了寫什么”。 圖4。 訂房管理時(shí)序圖 圖5。 退房管理時(shí)序圖圖4是一個(gè)訂房管理的序列框圖例子。描述了先加載某個(gè)客戶;顯示某些狀態(tài)

18、;再更改某些屬性值,最后更新數(shù)據(jù)庫狀態(tài)的一次執(zhí)行過程。  通過序列框圖可以清晰看出系統(tǒng)客戶、客戶管理子系統(tǒng)的用戶接口、數(shù)據(jù)庫連接模塊之間以時(shí)間為順序的消息交換,這對于把握系統(tǒng)的控制流、順序行為和交互行為是 非常有益的.建立在分布網(wǎng)絡(luò)環(huán)境下的管理系統(tǒng)的事件流和控制流是非常復(fù)雜的,需要從頂層到底層進(jìn)行一步步分解,用多幅能反映動態(tài)結(jié)構(gòu)的圖來分析與說明。圖5反映了退房管理的順序框圖。 3. 狀態(tài)圖適合描述一個(gè)對象穿越多個(gè)Use Case的行為.類的狀態(tài)圖表示類的對象可以呈現(xiàn)的狀態(tài)和這個(gè)對象從一種狀態(tài)到另一種狀態(tài)的轉(zhuǎn)換。 圖6. 狀態(tài)圖圖6 描述了對象的生命期中可能的狀態(tài)及狀態(tài)變化(從創(chuàng)建、更

19、新到消亡的轉(zhuǎn)變過程),我們需要使用狀態(tài)圖來描述類的對象的狀態(tài)及其行為,顯示對象的整個(gè)生命周期。此例說明其他對象的操作可能改變當(dāng)前對象的狀態(tài). 到此,經(jīng)過了需求分析,使用UML建模繪出了各用例的用例圖、狀態(tài)圖、時(shí)序圖之后,我們已經(jīng)對酒店管理系統(tǒng)的具體功能實(shí)現(xiàn)有了比較明確的認(rèn)識.接下來,需要我們對系統(tǒng)進(jìn)行框架設(shè)計(jì)和詳細(xì)設(shè)計(jì).在進(jìn)行構(gòu)架設(shè)計(jì)時(shí),我們將酒店管理系統(tǒng)設(shè)計(jì)視圖中的類組織成一個(gè)標(biāo)準(zhǔn)的三級體系結(jié)構(gòu),如圖7所示。用戶服務(wù)包(User Services)中的元素提供了表現(xiàn)信息和收集的可視化界面。業(yè)務(wù)服務(wù)包(Bussiness Services)中的元素負(fù)責(zé)維護(hù)、訪問和修改數(shù)據(jù)。數(shù)據(jù)服務(wù)包(Data Services)中的元素為另兩個(gè)包的元素搭橋,并包含了管理用戶請求(為了執(zhí)行業(yè)務(wù)上

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論