国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于UML的圖書館OPAC系統(tǒng)的分析與設(shè)計(jì)

2014-07-13 15:15:38陳連和
電腦知識(shí)與技術(shù) 2014年5期
關(guān)鍵詞:系統(tǒng)分析系統(tǒng)設(shè)計(jì)

陳連和

摘要:為了高效地開發(fā)圖書館OPAC系統(tǒng),將UML建模技術(shù)應(yīng)用于OPAC系統(tǒng)的分析和設(shè)計(jì)中。首先提出了基于系統(tǒng)原型的UML系統(tǒng)分析和設(shè)計(jì)方法,其次通過用例建模、類建模、活動(dòng)建模、交互建模和狀態(tài)建模分析了系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,最后通過架構(gòu)設(shè)計(jì)、用例包設(shè)計(jì)、類包設(shè)計(jì)、構(gòu)件設(shè)計(jì)、部署設(shè)計(jì)設(shè)計(jì)了系統(tǒng)的技術(shù)解決方案并完成了業(yè)務(wù)模型到技術(shù)模型的映射。項(xiàng)目結(jié)果分析和成功實(shí)施表明提出的系統(tǒng)分析和設(shè)計(jì)方法是開發(fā)圖書館OPAC系統(tǒng)的一個(gè)有效的解決方案。

關(guān)鍵詞:OPAC系統(tǒng);系統(tǒng)原型;UML建模;系統(tǒng)分析;系統(tǒng)設(shè)計(jì)

中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)05-0970-08

Analysis and Design of Library OPAC System Based on UML

CHEN Lian-he

(Library, Zhangzhou Institute of Technology, Zhangzhou 36300, China)

Abstract:In order to efficiently develop a library OPAC system, unified modeling language(UML) technology is applied to the analysis and design of the system. A UML system analysis and design method based on system prototype is proposed at firs,then use case modeling, class modeling, activity modeling, interaction modeling and status modeling are applied to analyze static structure and dynamics of the system, and large frame design, use case packet design, class packet design, component design and deploy design are applied to design the technical solution to implement the system and complete the mapping from operation model to technique model.The analysis of results of the project and successful implementation of the system demonstrate that the proposed method can analyze and design the library OPAC system in effective technical solutions.

Key words: OPAC system; system prototype; UML modeling; system analysis; system design

圖書館要發(fā)揮信息資源中心的作用,大量的資源能為用戶所用,就必須建設(shè)好OPAC系統(tǒng)。OPAC(Online Public Access Catalog)系統(tǒng),即圖書館公共目錄檢索系統(tǒng),是用戶從圖書館獲取資源的最基本最直接的手段。OPAC系統(tǒng)使用戶能夠網(wǎng)上查詢圖書館館藏書目,是圖書館信息化建設(shè)的重要組成部分,它關(guān)系到圖書館的管理水平、服務(wù)水平、自動(dòng)化建設(shè)水平、資源的利用率,所以O(shè)PAC系統(tǒng)的研究和建設(shè)對(duì)圖書館的發(fā)展具有重要的意義[1]。因此,如何成功而又高效地開發(fā)OPAC系統(tǒng)便成本文的主要研究目的。

隨著信息技術(shù)的發(fā)展,軟件復(fù)雜性的增長(zhǎng)使確保程序的正確性變得越來越困難,同時(shí)業(yè)務(wù)的發(fā)展要求軟件系統(tǒng)能夠迅速改變。面向?qū)ο蟮姆治雠c設(shè)計(jì)(OOAD)已經(jīng)成為主流的軟件開發(fā)方法,它是一種更易理解、使軟件開發(fā)和維護(hù)變得更簡(jiǎn)單的方法,能夠顯著縮短系統(tǒng)分析和開發(fā)的時(shí)間,開發(fā)出有彈性的軟件系統(tǒng),以適應(yīng)信息和功能的變化[2]。為了更好地理解即將開發(fā)的系統(tǒng)和更好地解決復(fù)雜的問題,面向?qū)ο蟮姆治雠c設(shè)計(jì)采用面向?qū)ο蟮慕<夹g(shù)對(duì)系統(tǒng)構(gòu)建業(yè)務(wù)模型。統(tǒng)一建模語言(UML,Unified Modeling Language)是面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語言,對(duì)面向?qū)ο蟮南到y(tǒng)進(jìn)行可視化、規(guī)格說明、構(gòu)建和文檔化,它是一種富有表達(dá)力的語言,可以描述開發(fā)所需要的各種視圖,然后以此為基礎(chǔ)裝配系統(tǒng),廣泛應(yīng)用于信息系統(tǒng)、技術(shù)系統(tǒng)、嵌入式系統(tǒng)、分布式系統(tǒng)、業(yè)務(wù)系統(tǒng)、系統(tǒng)軟件。

鑒于以上分析,該文根據(jù)OPAC系統(tǒng)開發(fā)的特點(diǎn),首先闡述了引用瀑布方法學(xué)中的系統(tǒng)原型開發(fā)樣式進(jìn)行開發(fā)我館的OPAC系統(tǒng)的緣由,接著著重報(bào)告UML建模技術(shù)在需求、分析與設(shè)計(jì)階段的使用情況,并分析UML建模技術(shù)在系統(tǒng)開發(fā)中所發(fā)揮的作用。

1 OPAC系統(tǒng)業(yè)務(wù)需求

1) OPAC系統(tǒng)業(yè)務(wù)陳述

依據(jù)國(guó)外評(píng)價(jià)數(shù)字圖書館的五個(gè)方面:界面的可用性、館藏資源的質(zhì)量、服務(wù)質(zhì)量、系統(tǒng)的效率、誘發(fā)用戶反饋;以及南京大學(xué)評(píng)價(jià)數(shù)據(jù)庫的五個(gè)層次:收錄范圍、檢索功能、服務(wù)功能、收費(fèi)情況、網(wǎng)絡(luò)安全[3],結(jié)合我館實(shí)際情況,制定OPAC系統(tǒng)的五個(gè)評(píng)價(jià)指標(biāo):檢索功能、服務(wù)功能、界面設(shè)計(jì)、用戶體驗(yàn)、系統(tǒng)網(wǎng)絡(luò)安全。

OPAC系統(tǒng)的主要功能有檢索功能、服務(wù)功能,主要是圍繞用戶如何方便快捷地檢索文獻(xiàn)信息、館藏信息、流通信息展開的。因此,系統(tǒng)要以用戶為中心,從用戶的角度設(shè)計(jì)檢索功能的主界面和服務(wù)功能,依據(jù)檢索功能的兩個(gè)評(píng)價(jià)指標(biāo)“查準(zhǔn)率”、“查全率”,相應(yīng)地開發(fā)檢索功能模塊。檢索主界面不僅要展現(xiàn)文獻(xiàn)信息,還要展現(xiàn)流通信息,并提供根據(jù)“文獻(xiàn)在館數(shù)” 自動(dòng)隱藏或顯示“預(yù)約”功能;服務(wù)功能聚集于“我的圖書館”模塊,該模塊聚集有關(guān)用戶個(gè)人事務(wù)的功能,提供個(gè)人信息管理、違章信息查詢、借還書信息查詢、預(yù)約信息查詢、薦購(gòu)信息查詢、掛失等功能;根據(jù)我館使用校園卡作為借書證,“個(gè)人信息管理”模塊提供讀者“網(wǎng)上上傳頭像”功能。擴(kuò)展的服務(wù)功能包括“讀者參考咨詢”、“讀者薦購(gòu)”,它們更好地提高系統(tǒng)的可用性,增強(qiáng)與讀者的互動(dòng)?!白x者參考咨詢”模塊,提供留言與即時(shí)通訊兩種交流方式?!白x者薦購(gòu)”模塊,使圖書館和用戶進(jìn)行雙向的書籍薦購(gòu),讀者既能對(duì)圖書館發(fā)布的書目清單投票也可以提交自己推薦的書籍,并能跟蹤薦購(gòu)過程的一系列狀態(tài)。購(gòu)書是圖書館一項(xiàng)重要的日常工作,“讀者薦購(gòu)”模塊能夠提高書籍的可用性和讀者的滿意度。隨著圖書館服務(wù)的延伸,服務(wù)功能還可擴(kuò)展“書評(píng)”、“讀書筆記”等功能。

2) 業(yè)務(wù)模型

根據(jù)OPAC系統(tǒng)的業(yè)務(wù)陳述,與我館工作人員一起把業(yè)務(wù)陳述擴(kuò)展為業(yè)務(wù)參與者列表(帶有描述)、業(yè)務(wù)用例列表(帶有描述)、業(yè)務(wù)用例詳細(xì)規(guī)格。

2 OPAC系統(tǒng)開發(fā)過程

在信息系統(tǒng)領(lǐng)域,由于用戶需求的不確定性,如果開發(fā)團(tuán)隊(duì)在系統(tǒng)實(shí)施的前期不能有效地與用戶明確需求,就會(huì)導(dǎo)致《需求規(guī)格說明書》不能正確地描述用戶的需求。《需求規(guī)格說明書》是后續(xù)設(shè)計(jì)、開發(fā)、測(cè)試工作的重要依據(jù),不正確、不明確的需求定義會(huì)使開發(fā)出來的系統(tǒng)出現(xiàn)偏差,從而引起了較大的返工,甚至導(dǎo)致項(xiàng)目失敗。而原型開發(fā)正是解決上述問題的一種有效方法,已在許多應(yīng)用中被證明。系統(tǒng)原型體現(xiàn)系統(tǒng)主要的功能、展現(xiàn)基本的界面風(fēng)格和明確模糊的需求。它的主要價(jià)值在于可視化,強(qiáng)化溝通,降低風(fēng)險(xiǎn),節(jié)省后期變更成本,提高項(xiàng)目成功率[4]。同時(shí),系統(tǒng)原型有效地用于開發(fā)人員較少的中小項(xiàng)目的快速開發(fā),因此本文將系統(tǒng)原型法引入OPAC系統(tǒng)的開發(fā)過程中,在系統(tǒng)開發(fā)的早期階段,使用HTML創(chuàng)建一個(gè)系統(tǒng)原型,作為與用戶交互的一個(gè)有效工具,與用戶確認(rèn)系統(tǒng)需求。系統(tǒng)原型也作為系統(tǒng)分析和設(shè)計(jì)的接口,方便開發(fā)團(tuán)隊(duì)的溝通。系統(tǒng)需求明確以后,著重采用UML技術(shù)進(jìn)行系統(tǒng)分析和設(shè)計(jì)。OPAC系統(tǒng)的開發(fā)過程按照瀑布方法學(xué)經(jīng)歷了以下階段:

1)需求分析。需求階段要解答“要達(dá)到什么目的?”,通過系統(tǒng)原型與用戶明確系統(tǒng)需求,并編制《需求規(guī)格說明書》以明確地定義系統(tǒng)需求。對(duì)于系統(tǒng)需求的功能性需求部分,通過UML用例建模,確定系統(tǒng)執(zhí)行的一系列功能、與系統(tǒng)交互的參與者和二者之間的關(guān)系。

2) 系統(tǒng)分析。分析階段要解答“要解決問題必須完成哪些工作”,通過類建模確定用例的實(shí)體類及其屬性以及實(shí)體類之間的關(guān)系,通過活動(dòng)建模分析用例的事件流,通過交互建模分析用例對(duì)象的交互,通過狀態(tài)建模分析用例對(duì)象狀態(tài)的動(dòng)態(tài)變化。

3) 系統(tǒng)設(shè)計(jì)。設(shè)計(jì)階段要解答“應(yīng)該使用哪些技術(shù)?應(yīng)該如何解決問題”,通過架構(gòu)設(shè)計(jì)把分析活動(dòng)的結(jié)果擴(kuò)展成技術(shù)解決方案,通過用例包設(shè)計(jì)、類包設(shè)計(jì)、構(gòu)件設(shè)計(jì)、部署設(shè)計(jì)詳細(xì)考慮系統(tǒng)實(shí)現(xiàn)的細(xì)節(jié)問題,完成業(yè)務(wù)模型到技術(shù)模型的映射。

4)編碼?;赟truts/Hibernate/Spring框架、MVC設(shè)計(jì)模式、三層架構(gòu),在Eclipse開發(fā)平臺(tái)下采用“視圖à控制器Actionà業(yè)務(wù)邏輯模型à數(shù)據(jù)訪問模型”的開發(fā)順序?qū)崿F(xiàn)OPAC系統(tǒng)。

5) 測(cè)試。

6) 部署。

3 基于UML的OPAC系統(tǒng)分析

3.1構(gòu)建系統(tǒng)用例圖

系統(tǒng)的需求是借助不同的用例描述的。用例為事務(wù)序列,其中的每個(gè)事務(wù)是從系統(tǒng)外部參與者調(diào)用的,且需要與內(nèi)部對(duì)象合作,以便在對(duì)象和系統(tǒng)參與者之間創(chuàng)建關(guān)聯(lián)。系統(tǒng)的參與者主要有任意用戶、辦證用戶、參考咨詢員、系統(tǒng)管理人員、圖書館自動(dòng)化集成管理系統(tǒng)采購(gòu)子系統(tǒng)。任意用戶指的是不用賬戶登錄OPAC系統(tǒng)的用戶,可以檢索館藏書刊、瀏覽新書、創(chuàng)建賬戶;辦證用戶登錄賬戶后,可以向參考咨詢員咨詢問題,登錄“我的圖書館”查詢個(gè)人事務(wù),購(gòu)書推薦;參考咨詢員回復(fù)辦證用戶的提問、管理回帖和發(fā)帖;系統(tǒng)管理人員管理辦證用戶、參考咨詢員賬戶,發(fā)布書商的書目清單以便讀者薦購(gòu)、審核讀者自行薦購(gòu)的書目清單,導(dǎo)入書目清單到圖書館自動(dòng)化集成管理系統(tǒng)采購(gòu)子系統(tǒng)等。辦證用戶、參考咨詢員、系統(tǒng)管理人員都是系統(tǒng)的注冊(cè)用戶,可以維護(hù)自己的賬戶。通過上述分析,確定OPAC系統(tǒng)的參與者和用例,編制系統(tǒng)用例表(表1)。然后,通過用例建模構(gòu)建系統(tǒng)用例圖(圖1),圖1中采購(gòu)子系統(tǒng)是圖書館自動(dòng)化集成管理系統(tǒng)的一個(gè)子系統(tǒng)。系統(tǒng)用例表和用例圖直觀地展現(xiàn)OPAC系統(tǒng)的功能和參與者。

表1 系統(tǒng)用例表

[標(biāo)識(shí)\&用例\&參與者\&用例描述\&C1\&書刊檢索\&任意

用戶\&用戶通過Web頁面瀏覽圖書館的館藏目錄數(shù)據(jù),用戶不需要登錄系統(tǒng)。用戶可以選擇檢索控制條件和內(nèi)容檢索條件進(jìn)行檢索,并返回檢索結(jié)果。檢索結(jié)果可以下載、打印或發(fā)送Email。\&C2\&新書通報(bào)\&任意

用戶\&圖書館按照?qǐng)D書出版時(shí)間推送新書信息,信息包括ISBN、正題名、作者、出版社、出版版次、出版時(shí)間、摘要等。\&C3\&我的圖書館\&辦證

用戶\&提供用戶預(yù)約書刊、續(xù)借書刊,圖書館推送逾期信息、賬目信息、借書信息、借還書歷史信息、購(gòu)書推薦歷史信息,修改個(gè)人賬戶信息。\&…\&…\&\&…\&C12\&退出\&注冊(cè)

用戶\&用戶告訴系統(tǒng)目前不繼續(xù)使用該系統(tǒng),退出之前必須要登錄。\&]

圖1 系統(tǒng)用例圖

構(gòu)建系統(tǒng)用例圖后,對(duì)每個(gè)用例進(jìn)行詳細(xì)規(guī)格說明。表2給出核心用例“書刊檢索”的詳細(xì)規(guī)格說明。然后,對(duì)每個(gè)用例進(jìn)一步構(gòu)建子用例,再對(duì)子用例進(jìn)行描述和詳細(xì)規(guī)格說明。

表2 “書刊檢索”用例的詳細(xì)規(guī)格說明

[用例\&書刊檢索\&簡(jiǎn)述\&該用例允許任意用戶輸入檢索控制條件和內(nèi)容檢索條件進(jìn)行書刊檢索,系統(tǒng)返回輸出結(jié)果。\&參與者\&任意用戶\&前提條件\&用戶點(diǎn)擊一個(gè)因特網(wǎng)瀏覽器進(jìn)入書刊檢索WEB頁面,該頁面顯示書刊檢索輸入表單時(shí),該用例開始。\&主流\&系統(tǒng)請(qǐng)求用戶輸入檢索信息,包括檢索控制條件和內(nèi)容檢索條件。檢索控制條件包括文獻(xiàn)類型、館藏地、檢索模式、排序方法、每頁顯示記錄數(shù);內(nèi)容檢索條件包括題名、責(zé)任者、標(biāo)準(zhǔn)編號(hào)、索書號(hào)、出版社、題名拼音、叢書名、主題詞。檢索控制條件和內(nèi)容檢索條件支持匹配策略和條件之間的關(guān)系策略。用戶點(diǎn)擊“檢索書刊”,系統(tǒng)返回檢索結(jié)果。\&其它流\&可以在檢索結(jié)果中作二次檢索。\&后置條件\&如果用例成功,用戶可以打印、下載、Email檢索結(jié)果。\&]

3.2 用例的事件流分析

分析表2中“書刊檢索”用例主要的和附加的事件流后,找出活動(dòng)及活動(dòng)的時(shí)間次序,明確活動(dòng)的執(zhí)行步驟,通過活動(dòng)建模畫出活動(dòng)圖(圖2)?;顒?dòng)圖還沒有將事件賦予對(duì)象。

圖2 用例“書刊檢索”的活動(dòng)圖

3.3 系統(tǒng)內(nèi)部對(duì)象的分析

在用例建模的同時(shí),尋找實(shí)體類。通過參照OPAC系統(tǒng)業(yè)務(wù)陳述(2.0)、系統(tǒng)用例表(表1)和“書刊檢索”用例的詳細(xì)規(guī)格說明(表2),識(shí)別“書刊檢索”用例的候選類,再經(jīng)歷一個(gè)迭代的過程,把候選類確定為實(shí)體類:Book(書目)、SearchBookItem(書目檢索項(xiàng))。之后,考慮實(shí)體類的主要屬性,即原始類型的屬性。然后,依次對(duì)系統(tǒng)用例圖(圖1)中各個(gè)用例確定好實(shí)體類后,分析類的關(guān)聯(lián)、聚合、組合和泛化等關(guān)系,以及關(guān)聯(lián)的多重性,通過類建模繪制類圖(圖3)。類圖是系統(tǒng)的靜態(tài)結(jié)構(gòu),是面向?qū)ο笙到y(tǒng)的心臟和靈魂[5]。

圖3 類圖

3.4 對(duì)象交互的分析

用例對(duì)象之間的交互提供了對(duì)象操作及事件的詳細(xì)規(guī)格說明。為了捕獲用例的對(duì)象之間的交互,交互建模為每個(gè)用例構(gòu)建一個(gè)獨(dú)立的序列圖。由于采用BCE方法建模很好地對(duì)應(yīng)MVC設(shè)計(jì)模式,因此構(gòu)造序列圖基于BCE方法。BCE(邊界—控制—實(shí)體)是一種基于類的三因素對(duì)象建模方法。首先,將參與“書刊檢索”用例的類劃分為邊界、控制和實(shí)體三種類型,然后參照“書刊檢索”用例的活動(dòng)圖(圖2),構(gòu)造了序列圖(圖4)。

3.5 對(duì)象狀態(tài)的分析

狀態(tài)建模給出了類的詳細(xì)的描述,描述了類的狀態(tài)的動(dòng)態(tài)變化。對(duì)每個(gè)對(duì)象狀態(tài),它決定這個(gè)對(duì)象在接收到一個(gè)事件時(shí)將采取什么行為。圖5 給出“讀者薦購(gòu)”模塊中的對(duì)象PurchasingInfo(采購(gòu)信息)的狀態(tài)變化過程。圖中,狀態(tài)建模的過程按“事件[監(jiān)控條件]/動(dòng)作”的方式進(jìn)行。

圖5 采購(gòu)信息類的狀態(tài)圖

4 基于UML的OPAC系統(tǒng)設(shè)計(jì)

4.1 架構(gòu)設(shè)計(jì)

4.1.1 體系結(jié)構(gòu)

體系的基本結(jié)構(gòu)采用B/S結(jié)構(gòu),擴(kuò)展結(jié)構(gòu)采用三層體系結(jié)構(gòu)。從性能、開發(fā)效率、支持平臺(tái)等角度綜合考慮,開發(fā)平臺(tái)采用J2EE技術(shù)[6]。開發(fā)系統(tǒng)時(shí),按照三層體系結(jié)構(gòu)組織包、類、JSP頁面。三層體系結(jié)構(gòu)圖(圖6),圖中第二層J2EE服務(wù)器隱式地包含了中間層“WEB服務(wù)器”。Tomcat配置簡(jiǎn)單,運(yùn)行穩(wěn)定、性能可靠,適合作為JSP/Servlet引擎及WEB服務(wù)器。第三層的數(shù)據(jù)源為圖書館自動(dòng)化集成管理系統(tǒng)使用的數(shù)據(jù)庫。

圖6 三層體系結(jié)構(gòu)圖

4.1.2 復(fù)用策略

1)構(gòu)架復(fù)用

構(gòu)架復(fù)用了JAVA開源框架SSH,它集成了Struts、Spring、Hibernate框架。Struts是MVC 設(shè)計(jì)模式的一個(gè)優(yōu)秀實(shí)現(xiàn)。Hibernate是一個(gè)基于JDBC的持久化解決方案,是一個(gè)優(yōu)秀的“對(duì)象—關(guān)系映射”框架。Spring是“依賴注入”模式和“面向方向編程”原理的優(yōu)秀實(shí)現(xiàn),使面向接口的編程容易實(shí)現(xiàn)[7]。

2)設(shè)計(jì)模式復(fù)用

設(shè)計(jì)模式復(fù)用了MVC,它將模型(業(yè)務(wù)邏輯)和視圖(頁面展示)分離,使模型和視圖可以獨(dú)立修改,而不會(huì)影響到對(duì)方。

4.1.3 數(shù)據(jù)庫編程

1)應(yīng)用—數(shù)據(jù)庫交互

OPAC系統(tǒng)的編程涉及到用戶界面、表現(xiàn)邏輯、應(yīng)用功能、完整性邏輯、數(shù)據(jù)存取。應(yīng)用功能是OPAC系統(tǒng)的主要邏輯部分,是將客戶端(用戶界面、表現(xiàn)邏輯)和數(shù)據(jù)庫(完整性邏輯、數(shù)據(jù)存?。┱澈显谝黄鸬恼澈蟿T撐牟捎肑2EE中間件JDBC,實(shí)現(xiàn)應(yīng)用功能訪問數(shù)據(jù)庫。應(yīng)用功能在系統(tǒng)的開發(fā)階段,作為SQL操作在前臺(tái)編程,但在系統(tǒng)的最后部署階段時(shí)作為存儲(chǔ)過程移植到數(shù)據(jù)庫中。OPAC系統(tǒng)不采用分布式數(shù)據(jù)庫。

2)應(yīng)用—數(shù)據(jù)庫交互過程建模

采用BCE方法建模很好地對(duì)應(yīng)MVC設(shè)計(jì)模式,采用BEC的擴(kuò)展方法BCED,則很好地對(duì)應(yīng)三層體系結(jié)構(gòu),因此系統(tǒng)應(yīng)用—數(shù)據(jù)庫交互的建?;贐CED方法,即邊界—控制—實(shí)體—數(shù)據(jù)庫方法,對(duì)應(yīng)的層次模型為邊界包←→控制包←→實(shí)體包←→數(shù)據(jù)庫包。實(shí)體包作為數(shù)據(jù)暫存區(qū),存放并緩存數(shù)據(jù)。數(shù)據(jù)庫包除了提供兩個(gè)基本服務(wù),即從數(shù)據(jù)庫中取數(shù)據(jù)存放到實(shí)體包和從實(shí)體包取數(shù)據(jù)存放到數(shù)據(jù)庫,還提供了數(shù)據(jù)庫連接、CRUD、處理用戶權(quán)限、抽取和存儲(chǔ)數(shù)據(jù)庫對(duì)象的元數(shù)據(jù)信息等服務(wù)。數(shù)據(jù)庫結(jié)構(gòu)、應(yīng)用與數(shù)據(jù)庫交互協(xié)議的改變只影響到數(shù)據(jù)庫包,而不影響到實(shí)體包中數(shù)據(jù)的存儲(chǔ)??刂瓢行У剞D(zhuǎn)發(fā)實(shí)體包的數(shù)據(jù)到邊界包。

4.1.4網(wǎng)絡(luò)及系統(tǒng)安全

系統(tǒng)的網(wǎng)絡(luò)環(huán)境基于校園網(wǎng),因此系統(tǒng)的WEB服務(wù)器構(gòu)建于校園網(wǎng),而為了系統(tǒng)數(shù)據(jù)的安全,數(shù)據(jù)庫服務(wù)器則構(gòu)建于從校園網(wǎng)虛擬出的一個(gè)內(nèi)部局域網(wǎng)。

系統(tǒng)安全方面,從系統(tǒng)安全機(jī)制、數(shù)據(jù)完整性、程序魯棒性、用戶教育等層次保障。其中的系統(tǒng)安全機(jī)制,利用了J2EE為分布式系統(tǒng)提供的安全體系結(jié)構(gòu)和安全機(jī)制,主要采用身份認(rèn)證、訪問存取控制、加密、信任機(jī)制等手段[8]。

4.2 用例包設(shè)計(jì)

用例包展現(xiàn)系統(tǒng)功能模塊的詳細(xì)規(guī)格,因此使用用例包結(jié)構(gòu)化系統(tǒng)的功能。用例包圖(圖7)擴(kuò)展系統(tǒng)用例圖(圖1)中沒有包含的一些隱式的系統(tǒng)級(jí)用例,從而更好地反映OPAC系統(tǒng)的功能模塊,也更好地理解和管理OPAC系統(tǒng),也體現(xiàn)系統(tǒng)以用戶為中心進(jìn)行設(shè)計(jì)。

圖7 用例包圖

4.3 類包設(shè)計(jì)

類包設(shè)計(jì)確定BCED層次。根據(jù)系統(tǒng)內(nèi)部對(duì)象的分析(3.3)以及對(duì)象交互的分析(4.4),設(shè)計(jì)“書刊檢索”用例的類包。視圖上,要有一組WEB頁面提供“書刊檢索”,可以把這組GUI對(duì)象創(chuàng)建為一個(gè)邊界類包,命名為searchCatalogGUI;把實(shí)體類SearchBookItem(書目檢索項(xiàng))、Book(書目)組合成一個(gè)實(shí)體包,命名為bookEntity;在用戶提交“書刊檢索”的請(qǐng)求后,需要一組控制類來接收用戶的請(qǐng)求,粘合視圖與實(shí)體類,并調(diào)用業(yè)務(wù)邏輯處理程序,返回?cái)?shù)據(jù)。這組控制類組成控制包,命名為getCatalogServlet,業(yè)務(wù)邏輯處理程序組成業(yè)務(wù)邏輯包,命名為getCatalogBiz,顯示數(shù)據(jù)的頁面命名為listCatalog.jsp,歸入邊界類包。業(yè)務(wù)邏輯處理程序訪問數(shù)據(jù)庫時(shí)涉及到數(shù)據(jù)庫包—CRUD包,CRUD包介于實(shí)體類和數(shù)據(jù)庫表之間,它依賴于兩個(gè)數(shù)據(jù)庫包—Connection、Schema。Connection包中的類負(fù)責(zé)處理連接、授權(quán)和事物處理。Schema包包含關(guān)于數(shù)據(jù)庫對(duì)象的當(dāng)前信息:表、列、存儲(chǔ)過程等?!皶瘷z索”用例的類包圖見圖8。

圖8 “書刊檢索”用例的類包圖

4.4 構(gòu)件設(shè)計(jì)

構(gòu)件設(shè)計(jì)確定系統(tǒng)的功能單元。通過對(duì)類包設(shè)計(jì)的分析,以系統(tǒng)用戶對(duì)頁面通常的存取序列為線索,“書刊檢索”用例的類包(圖8)包含的構(gòu)件有:searchCatalog.jsp、listCatalog.jsp(頁面)→SearchCatalogAction.java(Struts)→SearchBookItem.java、Book.java(實(shí)體類)→SearchCatalogBiz.java(業(yè)務(wù)邏輯)→SearchCatalogDao.java(數(shù)據(jù)訪問)→BaseJdbcDao.java(連接數(shù)據(jù)庫)→Database(數(shù)據(jù)庫)。

4.5部署設(shè)計(jì)

對(duì)應(yīng)OPAC系統(tǒng)的體系結(jié)構(gòu),系統(tǒng)的WEB應(yīng)用的部署結(jié)構(gòu)包含三層計(jì)算結(jié)點(diǎn):帶瀏覽器的客戶端、WEB服務(wù)器、數(shù)據(jù)庫服務(wù)器。

5 結(jié)果分析

開發(fā)團(tuán)隊(duì)按表3所示的開發(fā)進(jìn)程和步驟開發(fā)OPAC系統(tǒng),如期完成系統(tǒng)的開發(fā)。OPAC系統(tǒng)成功部署在我館服務(wù)器,并穩(wěn)定地運(yùn)行。

表3 項(xiàng)目各階段結(jié)果一覽表

[項(xiàng)目階段\&階段結(jié)果\&階段目標(biāo)\&UML表示\&業(yè)務(wù)需求\&業(yè)務(wù)陳述\&完成了業(yè)務(wù)模型的建立,對(duì)業(yè)務(wù)做了完整、清晰的說明,確保開發(fā)團(tuán)隊(duì)徹底理解業(yè)務(wù),與圖書館各部門對(duì)系統(tǒng)要完成的任務(wù)達(dá)成一致。\&否\&業(yè)務(wù)參與者列表及描述\&否\&業(yè)務(wù)用例列表及描述\&否\&業(yè)務(wù)用例詳細(xì)規(guī)格\&否\&系統(tǒng)需求\&系統(tǒng)原型\&完成了系統(tǒng)模型的建立,對(duì)業(yè)務(wù)做了更詳細(xì)的說明。通過系統(tǒng)模型,對(duì)團(tuán)隊(duì)開發(fā)人員提供開發(fā)說明,與圖書館各部門明確功能性需求與非功能性需求。\&否\&系統(tǒng)參與者列表及描述\&否\&系統(tǒng)用例列表及描述\&否\&系統(tǒng)用例詳細(xì)規(guī)格\&否\&系統(tǒng)用例圖\&是\&活動(dòng)圖\&是\&系統(tǒng)分析\&類圖\&完成了系統(tǒng)的靜態(tài)分析、動(dòng)態(tài)分析。分析以業(yè)務(wù)模型、系統(tǒng)模型為輸入,把業(yè)務(wù)模型、系統(tǒng)模型轉(zhuǎn)換為由系統(tǒng)處理的對(duì)象模型,確保開發(fā)團(tuán)隊(duì)對(duì)業(yè)務(wù)對(duì)象的正確理解,從而正確地設(shè)計(jì)出解決方案。\&是\&序列圖\&是\&狀態(tài)圖\&是\&系統(tǒng)設(shè)計(jì)\&體系結(jié)構(gòu)\&確定了系統(tǒng)的體系結(jié)構(gòu)、技術(shù)選擇、復(fù)用策略、安全策略、最終界面設(shè)計(jì),完成對(duì)象模型到關(guān)系數(shù)據(jù)庫模式的映射,完成到j(luò)ava語言結(jié)構(gòu)、MVC設(shè)計(jì)模式、開發(fā)組件、開發(fā)步驟的映射,最終完成有效的解決方案的設(shè)計(jì)。\&是\&復(fù)用策略\&否\&數(shù)據(jù)庫編程\&是\&界面設(shè)計(jì)(完善系統(tǒng)原型)\&否\&網(wǎng)絡(luò)及系統(tǒng)安全\&否\&用例包設(shè)計(jì)\&是\&類包設(shè)計(jì)\&是\&構(gòu)件設(shè)計(jì)\&是\&部署設(shè)計(jì)\&是\&實(shí)現(xiàn)\&單元測(cè)試代碼

實(shí)現(xiàn)代碼\&\&否\&測(cè)試\&測(cè)試系統(tǒng)

修改錯(cuò)誤\&\&否\&部署\&壓縮打包

安裝產(chǎn)品\&\&否\&]

從項(xiàng)目各階段結(jié)果來看,在開發(fā)的每個(gè)階段提供了模型和文檔說明,使得本項(xiàng)目負(fù)責(zé)人、開發(fā)人員、我館各部門之間有更好的交流,對(duì)系統(tǒng)的工作流、活動(dòng)、任務(wù)和相互關(guān)聯(lián)更容易理解,因此,等待時(shí)間減少了,發(fā)生誤解的情況也較少,能夠及時(shí)地完成各階段的預(yù)期目標(biāo),使得開發(fā)本系統(tǒng)更有序,更有質(zhì)量,使得本系統(tǒng)的開發(fā)取得了良好的效果。

6 結(jié)束語

本文以我館開發(fā)OPAC系統(tǒng)為背景,在對(duì)OPAC系統(tǒng)進(jìn)行業(yè)務(wù)需求分析后,為了降低開發(fā)OPAC系統(tǒng)失敗的風(fēng)險(xiǎn)和避免開發(fā)周期長(zhǎng)、成本高,提出了一種基于系統(tǒng)原型法的UML軟件系統(tǒng)分析和設(shè)計(jì)方法;通過用例建模、類建模、活動(dòng)建模、交互建模和狀態(tài)建模分析了系統(tǒng)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)行為,通過架構(gòu)設(shè)計(jì)、用例包設(shè)計(jì)、類包設(shè)計(jì)、構(gòu)件設(shè)計(jì)、部署設(shè)計(jì)最終得出一個(gè)具體有效的解決方案。項(xiàng)目結(jié)果分析和成功實(shí)施,表明采用基于系統(tǒng)原型的UML建模技術(shù)分析和設(shè)計(jì)系統(tǒng)的方法,是開發(fā)圖書館OPAC系統(tǒng)的一個(gè)有效的解決方案。

參考文獻(xiàn):

[1] 李杉.世界主要國(guó)家圖書館Web OPAC現(xiàn)狀研究[D].武漢:武漢大學(xué),2005.

[2] 北京阿博泰克北大青鳥信息技術(shù)有限公司.面向?qū)ο蟮姆治雠c設(shè)計(jì)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,2006.

[3] 譚捷,張李義,饒麗君.中文學(xué)術(shù)期刊數(shù)據(jù)庫的比較研究[J].圖書情報(bào)知識(shí),2010(4):4-13.

[4] 北京阿博泰克北大青鳥信息技術(shù)有限公司.HR/CRM/OA/B2C畢業(yè)設(shè)計(jì)項(xiàng)目開發(fā)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,2008.

[5] Maciaszek L A.需求分析與系統(tǒng)設(shè)計(jì)[M].金芝,譯.北京:機(jī)械工業(yè)出版社,2005.

[6] 陳剛.基于SSH的J2EE開發(fā)平臺(tái)研究與應(yīng)用[D].成都:四川師范大學(xué),2007.

[7] 北京阿博泰克北大青鳥信息技術(shù)有限公司.開發(fā)基于Struts/Spring/Hibernate/Ajax的網(wǎng)上信息發(fā)布平臺(tái)[M].北京:科學(xué)技術(shù)文獻(xiàn)出版社,2008.

[8] 魏楚元,李陶深,張?jiān)龇?J2EE安全機(jī)制的分析與研究[J].計(jì)算機(jī)工程與設(shè)計(jì),2005,26(6):1434-1436.

猜你喜歡
系統(tǒng)分析系統(tǒng)設(shè)計(jì)
生物原料高效轉(zhuǎn)化機(jī)制與調(diào)控規(guī)律課題年度報(bào)告
科技資訊(2016年18期)2016-11-15 08:02:03
一種基于SATA硬盤陣列的數(shù)據(jù)存儲(chǔ)與控制系統(tǒng)設(shè)計(jì)研究
工業(yè)熱電偶計(jì)量檢定系統(tǒng)設(shè)計(jì)
基于物聯(lián)網(wǎng)的煤礦智能倉儲(chǔ)與物流運(yùn)輸管理系統(tǒng)設(shè)計(jì)與應(yīng)用
目標(biāo)特性測(cè)量雷達(dá)平臺(tái)建設(shè)構(gòu)想
科技視界(2016年22期)2016-10-18 14:34:34
作業(yè)成本法在高校信息系統(tǒng)中的規(guī)劃研究
教學(xué)工作量管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
WebApp閱讀器
商(2016年18期)2016-06-20 08:06:40
星級(jí)酒店建筑電氣及弱電智能系統(tǒng)設(shè)計(jì)分析
職業(yè)規(guī)劃與就業(yè)交流系統(tǒng)分析與設(shè)計(jì)
滁州市| 通州市| 恩施市| 黄石市| 肃宁县| 深水埗区| 永昌县| 汨罗市| 门源| 行唐县| 松阳县| 桐柏县| 阳朔县| 慈利县| 凤冈县| 阿克苏市| 隆化县| 津南区| 石河子市| 吉木萨尔县| 海城市| 原阳县| 宿州市| 遵化市| 墨竹工卡县| 鲁甸县| 崇明县| 肃南| 万安县| 博客| 长沙县| 青冈县| 湘潭市| 鹤庆县| 彭阳县| 昌平区| 柘荣县| 益阳市| 潜山县| 凤阳县| 屯留县|