吳鋒珍
(福建水利電力職業(yè)技術(shù)學(xué)院 福建永安 366000)
高校圖書(shū)管理系統(tǒng)的UML設(shè)計(jì)
吳鋒珍
(福建水利電力職業(yè)技術(shù)學(xué)院 福建永安 366000)
筆者介紹了UML統(tǒng)一建模語(yǔ)言,同時(shí)對(duì)高校圖書(shū)管理系統(tǒng)的靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為、實(shí)現(xiàn)構(gòu)造和模型組織等進(jìn)行了建模設(shè)計(jì)。UML是一種定義良好的、易于表達(dá)的、功能強(qiáng)大的且普遍實(shí)用的建模語(yǔ)言。它吸取了軟件工程領(lǐng)域的新思想、新方法和新技術(shù)。
UML 圖書(shū)管理 建模
在高校中,圖書(shū)館是師生閱讀各類圖書(shū)資源、吸取前人知識(shí)營(yíng)養(yǎng)的地方,擁有豐富的圖書(shū)資源和舉足輕重的地位,因此高校信息管理系統(tǒng)的建設(shè)當(dāng)然也缺少不了圖書(shū)管理系統(tǒng)的建設(shè),它是高校信息管理系統(tǒng)建設(shè)的重要組成部分。
隨著辦學(xué)規(guī)模的擴(kuò)大,學(xué)生和教職工的人數(shù)快速增長(zhǎng),學(xué)生和教職工對(duì)圖書(shū)閱讀的需求不斷擴(kuò)大,圖書(shū)館的場(chǎng)地規(guī)模和館藏圖書(shū)的數(shù)量也在快速的增加,為了應(yīng)對(duì)大量圖書(shū)的借閱、歸還及入庫(kù)編號(hào)等日常管理工作,現(xiàn)在的圖書(shū)管理方式已經(jīng)不能滿足這些日常管理工作的需求了,從而改變現(xiàn)在這種傳統(tǒng)的圖書(shū)管理方式已經(jīng)是勢(shì)在必行了。
在上個(gè)世紀(jì)80年代末至90年代初,軟件工程中面向?qū)ο蠓椒ǔ霈F(xiàn)了一個(gè)快速的發(fā)展,UML技術(shù)就是在這種形勢(shì)下產(chǎn)生的。它在Booch、Rumbaugh和Jacobson三人所創(chuàng)建的表示方法的基礎(chǔ)上進(jìn)行了進(jìn)一步的發(fā)展和改良,并最終發(fā)展成為一種統(tǒng)一的、標(biāo)準(zhǔn)的建模語(yǔ)言。
UML的概念和模型分為靜態(tài)結(jié)構(gòu)、動(dòng)態(tài)行為、實(shí)現(xiàn)構(gòu)造、模型組織和擴(kuò)展機(jī)制等部分。模型包含兩個(gè)方面的含義:一個(gè)是語(yǔ)義方面的含義,另一個(gè)是可視化的表達(dá)方法,即模型包含語(yǔ)義和表示法。這種劃分方法只是從概念上對(duì)UML進(jìn)行劃分,并且這也是較為常用的劃分方法。
2.1 視圖
UML是用模型來(lái)描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征以及行為或動(dòng)態(tài)特征的,它從不同的視角為系統(tǒng)的架構(gòu)建模形成系統(tǒng)的不同視圖(view)。
在UML中主要包括以下幾種視圖:
靜態(tài)視圖:是對(duì)在應(yīng)用領(lǐng)域中的各種概念以及與系統(tǒng)實(shí)現(xiàn)相關(guān)的各種內(nèi)部概念進(jìn)行的建模。
用例視圖:描述了系統(tǒng)的參與者與系統(tǒng)進(jìn)行交互的功能,是參與者所能觀察和使用到的系統(tǒng)功能的模型圖。
交互視圖:描述了執(zhí)行系統(tǒng)功能的各個(gè)角色之間相互傳遞消息的順序關(guān)系,是描繪系統(tǒng)中各種角色或功能交互的模型。
狀態(tài)機(jī)視圖:通過(guò)對(duì)象的各種狀態(tài)來(lái)建立模型來(lái)描述對(duì)象隨時(shí)間變化的動(dòng)態(tài)行為。
活動(dòng)視圖:是一種特殊形式的狀態(tài)機(jī)視圖,是狀態(tài)機(jī)的一個(gè)變體,用來(lái)描述執(zhí)行算法的工作流程中涉及的活動(dòng)。
物理視圖:是對(duì)應(yīng)用自身的實(shí)現(xiàn)結(jié)構(gòu)建模,提供了將系統(tǒng)中的類映射成物理構(gòu)件和節(jié)點(diǎn)的機(jī)制。
2.2 圖
UML作為一種可視化的建模語(yǔ)言,其主要表現(xiàn)形式就是將模型進(jìn)行圖形化表示。UML規(guī)范嚴(yán)格定義了各種模型元素的符號(hào),并且還包括這些模型和符號(hào)的抽象語(yǔ)法和語(yǔ)義。
在UML中主要包括以下幾種類型的圖:
用例圖:描述了系統(tǒng)的參與者與系統(tǒng)進(jìn)行交互的功能,是系統(tǒng)提供的一個(gè)完整的邏輯功能單元。類圖:描述了系統(tǒng)的靜態(tài)視圖,表示了不同的實(shí)體(人、事物和數(shù)據(jù))是如何彼此相關(guān)聯(lián)起來(lái)。順序圖:顯示了一個(gè)具體用例或者用例的一部分的一個(gè)詳細(xì)流程。
狀態(tài)圖:表示某個(gè)類所處的不同狀態(tài)及該類在這些狀態(tài)中的轉(zhuǎn)換過(guò)程。
活動(dòng)圖:是用來(lái)表示兩個(gè)或者更多的對(duì)象之間在處理某個(gè)活動(dòng)時(shí)的過(guò)程控制流程。
構(gòu)件圖:提供系統(tǒng)的物理視圖,它是根據(jù)系統(tǒng)的代碼構(gòu)件顯示了系統(tǒng)代碼的整個(gè)物理結(jié)構(gòu)。
部署圖:用于表示該軟件系統(tǒng)如何部署到硬件環(huán)境中,它是顯示在系統(tǒng)中的不同的構(gòu)件在何處物理地運(yùn)行,以及如何進(jìn)行彼此的通信。
2.3 模型元素
把可以在圖中使用的基本概念統(tǒng)稱為模型元素。模型元素使用相關(guān)的語(yǔ)義、元素的正式定義、確定的語(yǔ)句來(lái)表達(dá)準(zhǔn)確的含義。模型元素在圖中用其相應(yīng)的元素符號(hào)表示。把模型元素劃分為面向?qū)ο蟮氖挛锏拿枋龊蛯?duì)事物關(guān)系的描述。
事物:是UML模型中面向?qū)ο蠡镜哪K,它們?cè)谀P椭袑儆陟o態(tài)部分。事物作為對(duì)模型中最具有代表性的成分的抽象,在UML中,定義了結(jié)構(gòu)事物、行為事物、分組事物和注釋事物等四種基本的面向?qū)ο蟮氖挛铩?/p>
關(guān)系:UML模型是由上面定義的各種類型的事物以及這些事物之間的各種關(guān)系構(gòu)成的。關(guān)系是指支配、協(xié)調(diào)各種模型元素存在并相互使用的規(guī)則。UML中主要包含四種關(guān)系,分別是依賴、關(guān)聯(lián)、泛化和實(shí)現(xiàn)。
3.1 創(chuàng)建系統(tǒng)用例模型
用例視圖(Use Case)是系統(tǒng)各方參與人員的角度所能觀察和使用到的系統(tǒng)功能的模型圖,它描述了系統(tǒng)提供的功能,顯示了系統(tǒng)的參與者與系統(tǒng)之間所進(jìn)行的交互。一個(gè)用例描述的是系統(tǒng)的一個(gè)具體的功能,是系統(tǒng)參與者與系統(tǒng)之間進(jìn)行的一次交互作用。以借閱者用例圖為例進(jìn)行說(shuō)明
借閱者能夠通過(guò)該系統(tǒng)進(jìn)行如下活動(dòng):
(1)查詢書(shū)籍信息:借閱者可以通過(guò)圖書(shū)名稱或ISBN/ISSN號(hào)查找圖書(shū)的詳細(xì)信息。
(2)登錄自助系統(tǒng):借閱者能夠根據(jù)自己圖書(shū)證編號(hào)和相關(guān)密碼登錄自助機(jī)器,查詢圖書(shū)信息、個(gè)人信息。
(3)查詢借閱者信息:每一個(gè)借閱者都可以通過(guò)該系統(tǒng)在登錄后查詢自己的相關(guān)信息,但是不允許查詢其他人信息,管理人員或系統(tǒng)管理員才可以查詢其他人信息。
(4)借閱書(shū)籍:借閱者可以通過(guò)圖書(shū)管理員借閱相關(guān)書(shū)籍。
(5)歸還書(shū)籍:借閱者通過(guò)圖書(shū)管理員歸還書(shū)籍,如果未按時(shí)歸還,需要交納罰金。
該系統(tǒng)的借閱者用例圖如圖1所示。

圖1 高校圖書(shū)管理系統(tǒng)借閱者用例圖

圖2 高校圖書(shū)管理系統(tǒng)參與者的基本類圖
3.2 創(chuàng)建系統(tǒng)靜態(tài)模型
在獲得系統(tǒng)的基本需求用例模型的基礎(chǔ)上,我們通過(guò)對(duì)系統(tǒng)對(duì)象各種屬性的考察,從而創(chuàng)建系統(tǒng)的靜態(tài)模型。
靜態(tài)視圖是對(duì)在應(yīng)用領(lǐng)域中的各種概念以及與系統(tǒng)實(shí)現(xiàn)相關(guān)的各種內(nèi)部概念進(jìn)行的建模。類圖是靜態(tài)視圖中主要的可視化表達(dá)的圖。
類圖(Class Diagram)是由類、接口等模型元素以及它們之間的關(guān)系構(gòu)成的,它顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu),包含系統(tǒng)中存在或定義的各種類、類的內(nèi)部結(jié)構(gòu)以及類與類之間的相互關(guān)系等內(nèi)容。
第一,先確定系統(tǒng)的參與者的屬性。系統(tǒng)管理員登錄系統(tǒng),需要提供系統(tǒng)管理員的用戶名稱和密碼,因此每一個(gè)系統(tǒng)管理員應(yīng)該擁有用戶名稱和密碼屬性。同理,圖書(shū)管理員也一樣,擁有用戶名稱和密碼屬性。對(duì)于每一個(gè)借閱者,對(duì)每一個(gè)借閱者進(jìn)行了一個(gè)圖書(shū)證編號(hào),圖書(shū)證中包含借閱者的名稱、地址等,不同類型的借閱者可以借閱不同數(shù)目的圖書(shū),并且,不同的借閱者允許借閱的天數(shù)也是不一樣的。借閱者登錄自助系統(tǒng)的時(shí)候需要密碼,因此,我們可以創(chuàng)建借閱者編號(hào)、借閱者名稱、借閱者地址、最大允許借閱書(shū)籍?dāng)?shù)目、最大借閱日期、密碼和最大預(yù)定天數(shù)。該系統(tǒng)參與者的基本類圖如圖2所示。
第二,可以確定在整個(gè)系統(tǒng)中的主要業(yè)務(wù)實(shí)體類。例如,對(duì)于圖書(shū)信息的存儲(chǔ),需要一個(gè)圖書(shū)類;對(duì)于借閱信息的存儲(chǔ)可以確定借閱類;對(duì)于書(shū)目信息的存儲(chǔ)同樣需要一個(gè)書(shū)目類等。在確定需要的這些存儲(chǔ)類后,需要確定這些類的主要屬性。該系統(tǒng)的業(yè)務(wù)實(shí)體類類圖如圖3所示。

圖3 高校圖書(shū)管理系統(tǒng)的業(yè)務(wù)實(shí)體類類圖
3.3 創(chuàng)建系統(tǒng)動(dòng)態(tài)模型
系統(tǒng)的動(dòng)態(tài)行為模型主要是由消息、順序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖等圖來(lái)描述的,在對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)的過(guò)程中,我們對(duì)系統(tǒng)中那些主要的用例和對(duì)象繪制這些相關(guān)的圖形,可以方便我們分析系統(tǒng)的動(dòng)態(tài)特性和行為。
高校圖書(shū)管理系統(tǒng)為我們提供的每個(gè)服務(wù)都是由若干個(gè)相關(guān)的參與對(duì)象交互合作而完成的,我們采用UML統(tǒng)一建模工具來(lái)對(duì)該系統(tǒng)的各種業(yè)務(wù)服務(wù)進(jìn)行分析和建模。為了對(duì)該系統(tǒng)在動(dòng)態(tài)層面上進(jìn)行描述,在本文在,以圖書(shū)管理員處理借閱順序圖進(jìn)行了介紹。
高校圖書(shū)管理系統(tǒng)圖書(shū)管理員處理借閱的工作流程如下:
(1)借閱者希望通過(guò)圖書(shū)管理員借閱某本圖書(shū)。
(2)借閱者將圖書(shū)證和圖書(shū)交給圖書(shū)管理員。
(3)圖書(shū)管理員將讀者圖書(shū)證編號(hào)錄入借閱圖書(shū)界面LendBookWindow。并根據(jù)圖書(shū)的ISBN/ISSN號(hào)將Book類實(shí)例化并顯示圖書(shū)信息。
(4)借閱圖書(shū)界面LendBookWindow根據(jù)圖書(shū)的ISBN/ISSN號(hào)將Book類實(shí)例化并加載圖書(shū)信息。
(5)借閱圖書(shū)界面LendBookWindow將圖書(shū)信息和讀者信息添加到借閱實(shí)例中。
(6)借閱實(shí)例檢查讀者的借書(shū)數(shù)目,并添加借閱信息,返回借閱是否成功。
(7)借閱圖書(shū)界面LendBookWindow顯示是否成功。
(8)圖書(shū)管理員將圖書(shū)證和圖書(shū)歸還給借閱者。
該系統(tǒng)的圖書(shū)管理員處理借閱的順序圖如圖4所示。

圖4 圖書(shū)管理員處理借閱的順序圖
本文對(duì)UML建模進(jìn)行了簡(jiǎn)單的闡述,對(duì)UML的概念和模型進(jìn)行了說(shuō)明,同時(shí)對(duì)高校圖書(shū)管理系統(tǒng)進(jìn)行了UML建模,包括了系統(tǒng)用例圖的創(chuàng)建、系統(tǒng)的靜態(tài)模型的創(chuàng)建和系統(tǒng)的動(dòng)態(tài)模型的創(chuàng)建。
[1]韓萬(wàn)江,姜立新.軟件項(xiàng)目管理案例教程.機(jī)械工業(yè)出版社,2010.18-40
[2]楊茂強(qiáng).基于UML的圖書(shū)管理系統(tǒng)的設(shè)計(jì):[碩士學(xué)位論文].2007
[3]周瑩,張宇華.UML及其在圖書(shū)管理系統(tǒng)中的應(yīng)用.電腦與信息技術(shù). 2004年第4期:4-6
UML Design of College Library Book Management System
WU Feng-zhen
(Fujian College of Water Conservancy and Electric Power Yongan Fujian 366000 China)
.The paper introduces UML and carries out modeling design for the static structure, dynamic action, formation realization and model organization of college library book management system. UML is a wide-used modeling language characterized by good definition, easily expressing and powerful functions. It absorbs new ideas, new methods and new technologies of software engineering.
.UML book management modeling
B
1673-1816(2016)03-0091-05
2016-04-18
吳鋒珍(1979-),男,福建長(zhǎng)汀人,講師,本科,研究方向計(jì)算機(jī)相關(guān)教學(xué)與研究。