圖書館信息系統(tǒng)分析_第1頁
圖書館信息系統(tǒng)分析_第2頁
圖書館信息系統(tǒng)分析_第3頁
圖書館信息系統(tǒng)分析_第4頁
圖書館信息系統(tǒng)分析_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、圖書館信息系統(tǒng)面向?qū)ο蠓治鰧?shí)例0總體問題的陳述:本項(xiàng)目的目的是創(chuàng)建一個(gè)用于對(duì)圖書館的圖書進(jìn)行管理的圖書管理系統(tǒng)。 該項(xiàng)目的用戶:該項(xiàng)忖的用戶是一個(gè)某大學(xué)的圖書館,它負(fù)責(zé)對(duì)其顧客提供圖書借閱服務(wù)。 該項(xiàng)目的目標(biāo):總體上來說,項(xiàng)日的日標(biāo)是提高圖書管理的自動(dòng)化水平,為圖書業(yè)務(wù)過程 提供更快捷的、更好的和更準(zhǔn)確的服務(wù)。具體來講,系統(tǒng)的目標(biāo)包括:為借書者提供快速借書 的服務(wù);進(jìn)行快速準(zhǔn)確的圖書和借書者的信息維護(hù);圖書管理和查詢的口動(dòng)化。該系統(tǒng)的功能:系統(tǒng)功能是系統(tǒng)應(yīng)該做的爭情,例如系統(tǒng)提供的預(yù)定功能。應(yīng)該識(shí)別出這 些功能并把它們列入到邏輯相關(guān)聯(lián)的功能組中。注意:要驗(yàn)證某一個(gè)描述是否真是一個(gè)系統(tǒng)的功能,如

2、卜的判斷語句應(yīng)該成立:系統(tǒng)應(yīng)該做某一個(gè)描述例如,系統(tǒng)應(yīng)該做圖書的預(yù)定。然而,系統(tǒng)的屬性是系統(tǒng)的非功能性的特性,這些非功能性特性和系統(tǒng)功能經(jīng)常被混淆。 例如,“易于使用”就是一個(gè)非功能性的特性。它是不符合我們上述的驗(yàn)證語他“系統(tǒng)應(yīng)該做 易于使用”。系統(tǒng)屬性不應(yīng)該是功能規(guī)格說明書屮的一部分,而應(yīng)該是一個(gè)單獨(dú)的系統(tǒng)屬性規(guī)格 說明文檔。對(duì)于系統(tǒng)的功能,我們應(yīng)該對(duì)其分類,以便區(qū)分開各類功能的優(yōu)先次序和識(shí)別出哪些是理 所當(dāng)然應(yīng)該具備的系統(tǒng)功能。功能的分類包括:明顯的:應(yīng)該履行的功能,并且用戶應(yīng)該知道這個(gè)功能是否已經(jīng)被履行。隱藏的:應(yīng)該履行的功能,但功能的履行對(duì)川戶不可見。很多使川底層技術(shù)的服務(wù)確實(shí)符 合這

3、種情況,例如,將數(shù)據(jù)保存到一個(gè)持久化存儲(chǔ)機(jī)構(gòu)中。隱藏的功能經(jīng)常在采集需求的過程 中被遺漏。修飾性的:可選的,增加這些功能不會(huì)對(duì)成本和其它系統(tǒng)造成重耍影響。為此,我們給出該系統(tǒng)的借書基本功能如下:f1記錄借出的圖書借閱事件明顯的f1.2查找書庫中是否存在這種圖書明顯的f1.3從借書卡中讀取借書者信息,并校驗(yàn)該信息明顯的f1.4查找書庫中這本書是否還有副本隱藏的f1.5當(dāng)一次借閱完成后,削減該書的副本存書數(shù)量隱藏的f1.6管理員要使用系統(tǒng),必須輸入id號(hào)和密碼才行明顯的f1.7查詢顯示借書信息明顯的f1.8提供一個(gè)持久化存儲(chǔ)機(jī)制隱藏的f1.9捉供過程間的和系統(tǒng)間的通信機(jī)制隱藏的系統(tǒng)屬性:系統(tǒng)屬性是

4、系統(tǒng)的特性,它們并不是系統(tǒng)的功能,例如:易用、容錯(cuò)、響應(yīng)時(shí) 間、界而形式、平臺(tái)等。系統(tǒng)屬性具有一組可能的屬性細(xì)節(jié),這些屬性細(xì)節(jié)往往是屬性的一些 離散的、表達(dá)模糊的符號(hào)值,例如:響應(yīng)時(shí)間二(生理上能夠接受的時(shí)間段)界面形式二(圖形化的,基于表的,彩色比較平淡的)在我們的案例中,要求借書查找時(shí)間小于1秒。我們結(jié)合上面的圖書館管理系統(tǒng)的案例,來給出圖書管理系統(tǒng)的問題域模型。我們首先看 問題域中的圖書、借閱、書目和借書者這四個(gè)類。系統(tǒng)將通過計(jì)算機(jī)來處理圖書、副本、借書者和借閱。借書者要求借書,給出要借圖書的 名稱,出示借書證。系統(tǒng)查找所借的圖書是否存在,若存在,同時(shí)還耍查看該圖書是否還有副 本,如果有

5、,再查詢該借書者提供的借書證是否合法的注冊用戶,如來是,則辦理借閱手續(xù)(登 記借閱信息)。圖書是存放在圖書館中的一個(gè)書的名稱,副本是一個(gè)圖書的具體實(shí)例。一個(gè)圖書nj能有多 個(gè)副本,一個(gè)副本一定會(huì)對(duì)應(yīng)一個(gè)圖書。為簡化起見,我們假定一次借閱(登記)只能借一本 圖書,同時(shí)會(huì)對(duì)應(yīng)著一個(gè)借書證信息。一個(gè)借書者可以進(jìn)行多次借閱。首先找出業(yè)務(wù)對(duì)彖:圖書、副本、借書證。系統(tǒng)需要處理的現(xiàn)實(shí)世界小的対象和概念:借閱、預(yù)立。將要發(fā)生或已經(jīng)發(fā)生的事件:已經(jīng)預(yù)定。.n擁有具冇f面給;ii其uml表示的問題域的類圖。圖書1參考0. n 預(yù)定0. n 具有借書證1圖21圖書管理系統(tǒng)中的問題域主要概念類圖問題域類圖屮的關(guān)系說

6、明如下:1、一個(gè)圖書名稱可以有多個(gè)同樣圖書的副本。2、每一個(gè)副本一定要對(duì)應(yīng)一個(gè)圖書名稱。3、一次借閱必須記錄一個(gè)圖書的副本和一個(gè)借書證信息。4、一個(gè)副本可以被借閱,也可以不被借閱。5、一個(gè)借書證可以借多本書,也可以不借一本書。6、一個(gè)借書證可以進(jìn)行多個(gè)圖書名稱的預(yù)定,也可以不進(jìn)行預(yù)定。7、一次預(yù)定必須記錄一個(gè)圖書名稱信息和一個(gè)借書證信息。8、一個(gè)圖巧名稱可以被多次預(yù)定,也可以不被預(yù)定。術(shù)語表也是一個(gè)重要的內(nèi)容,下而我們給出圖書管理系統(tǒng)的術(shù)語表:圖書:圖書是圖書館內(nèi)最重要的對(duì)象,它是系統(tǒng)處理主要對(duì)象,圖書是本書的信息描述, 它包含了圖書的名稱,圖書的作者以及圖書的isbn統(tǒng)一出版編號(hào)等內(nèi)容。副本

7、:副本是圖書的一個(gè)實(shí)例,一個(gè)圖書信息町以有多個(gè)副本,也可以沒有副本。副本是 借書時(shí)的其正對(duì)象。只有一個(gè)圖書有可以供借閱的副本時(shí),借書者才可以對(duì)其借閱。借書證:業(yè)務(wù)小的借書證記錄了借書者的信息,從計(jì)算機(jī)應(yīng)用軟件開發(fā)的角度來看,如果 組織對(duì)象,應(yīng)該叫“借書者信息”更確切。借閱:借閱是圖書管理中的一個(gè)最重要的業(yè)務(wù)活動(dòng),它需要進(jìn)行一系列的操作才能完成一 個(gè)借閱業(yè)務(wù),包括查找圖書、查找副本、核對(duì)借書證(借書者信息)等步驟。預(yù)定:預(yù)定是圖書管理中的一個(gè)業(yè)務(wù)活動(dòng),它也需要一系列的操作才能完成。書籍:書籍是圖書的一種形式。雜志:雜志也是圖書的一種形式。圖書管理員:圖書館的工作人員,直接為借書者提供服務(wù)的人,也

8、是系統(tǒng)的直接使用者。借書者:到圖書館借書的人,屬于圖書館的用八(服務(wù)對(duì)象)。借書者信息:一個(gè)記錄了借書者完整信息的卡片,包括借書者的姓名、居住地址,所在城 市和電話號(hào)碼等內(nèi)容。有關(guān)的術(shù)語可能還有很多,這里就不再一一列出。對(duì)于圖書管理系統(tǒng)的業(yè)務(wù)模型,我們可以采用逐步描述的方式來建立:一、確定業(yè)務(wù)系統(tǒng)的參與者系統(tǒng)的參與者:借書者業(yè)務(wù)系統(tǒng):圖書館二、確定業(yè)務(wù)系統(tǒng)的參與者的目標(biāo)對(duì)于借書者的目標(biāo)我們可以描述如下:1 借書use csae12 還卩use case33 預(yù)定use case34取消預(yù)定use case4三、繪制圖書館業(yè)務(wù)系統(tǒng)的use case模型圖四、在以上四個(gè)use case中挑選一個(gè)作

9、為首先實(shí)現(xiàn)的目標(biāo)。選擇:use case 1,借書作為我們首先分析和實(shí)現(xiàn)的id標(biāo)。五、了解業(yè)務(wù)系統(tǒng)的參與者的期望,導(dǎo)岀系統(tǒng)責(zé)任。寫出use case描述的事件流。business use case 描述: 借 |!i借書者到圖書館里選擇了喜歡的圖書z后,要求圖書館辦理借書手續(xù),圖書館登記所借圖 書的借閱資料,查找所借的圖書是否存在以及所借圖書是否還有副本,請(qǐng)借書者提供借書證。 借書者請(qǐng)圖書館登記借書證上的借書者信息,圖書館登記完成厲,將借書者所要借的圖書交給 借書者,借書者拿著圖書離開圖書館。六、繪制業(yè)務(wù)系統(tǒng)的順序圖(sequence diagram)根據(jù)事件流的描述,繪出業(yè)務(wù)系統(tǒng)的順序圖,見

10、圖22。通過該圖我們可以看到,圖書館這個(gè)業(yè)務(wù)系統(tǒng)需要向借書者提供以下的服務(wù):1、受借書請(qǐng)求。2、提示借書者提供所耍借的圖書名稱3、接受借書者提供的圖書名稱4、查找書名5、查找副本6、提示借帖者給出借巧者信息7、接受借書者給出的借書者信息8、核對(duì)借書者信息并記錄借閱信息9、將圖書送出,提示借書者拿走圖書0:圖書館入:借書者1:耍求借書2:請(qǐng)給出書名3:給出書名 >4:查找書名< 一5:查找副本6:請(qǐng)給出借書者信息、7:給出借書者信息8:核對(duì)借書者信息<19:請(qǐng)把書拿走>圖2-2業(yè)務(wù)系統(tǒng)級(jí)的順序圖七、打開業(yè)務(wù)系統(tǒng),找出業(yè)務(wù)系統(tǒng)內(nèi)部的業(yè)務(wù)對(duì)象模型元素根據(jù)前面的需求說明,我們知

11、道圖書館內(nèi)部情況如f:作為圖書館工作人員的圖書管理員,他們負(fù)責(zé)為借書者服務(wù),并操作各種業(yè)務(wù)實(shí)體來完成 圖書館的各種業(yè)務(wù)流程。作為圖書館內(nèi)部的業(yè)務(wù)實(shí)體有:圖書借閱登記、圖書預(yù)定登記、圖書信息卡、圖書副本、 借書人信息等。每登記一次圖書借閱,需要登記圖書名稱、借書者名稱以及圖書副本號(hào)等信息。每登記一次圖書預(yù)定,需要登記圖書名稱和借書者信息。具體的系統(tǒng)內(nèi)部結(jié)構(gòu)圖見圖23。圖23圖書館業(yè)務(wù)系統(tǒng)內(nèi)部業(yè)務(wù)對(duì)彖模型元素八、寫岀詳細(xì)的事件處理流描述事件流描述:借書借書者到圖卩館里選擇了喜歡的圖書之后,要求圖書管理員辦理借書手續(xù),圖書管理員使 用圖書管理系統(tǒng)登記所借圖書的借閱資料。首先,圖書管理員向圖書借閱登記

12、輸入圖書名稱, 圖書借閱登記請(qǐng)圖書信息卡查找所借的圖書是否存在,如果該圖書存在,則圖書信息卡請(qǐng)圖書 副木檢查該圖書是否還有副本,如來有,進(jìn)行下而的工作;圖書管理員請(qǐng)借書者提供借書者信 息。借書者請(qǐng)圖書管理員登記借書者信息,圖書管理員向圖書借閱登記輸入借書若信息,圖書 借閱弩記請(qǐng)借卩者信息核対該信息是否有效;如果有效,圖巧借閱背記將登記相應(yīng)的借卩者信 息、圖書信息卡和圖書副本。處理完成后,提示圖書管理員登記完畢,圖書管理員將借書者所 要借的圖書交給借書者,借書者拿著圖書離開圖書館。九、繪制業(yè)務(wù)系統(tǒng)詳細(xì)順序圖(sequence diagram)根據(jù)上面的借書事件流描述,我們可以給出借書業(yè)務(wù)的順序圖

13、,如圖24。通過順序圖我們可以看到每一個(gè)對(duì)象的責(zé)任:借書者:通過請(qǐng)求借書,啟動(dòng)借書流程;向圖書管理員提供圖書名稱和借書者信息;拿走 圖書。圖書管理員:接受借書請(qǐng)求,啟動(dòng)系統(tǒng)的借書流程;接受借書者提供的圖書名稱、借書者 信息;向圖書借閱登記對(duì)象提供圖書名稱和借書人名稱;提示借書人拿走圖書。圖書借閱登記:接受并執(zhí)行借書登記;接受并執(zhí)行查找圖書;接受并執(zhí)行核對(duì)借書人信息。 圖書信息卡:負(fù)責(zé)查找圖書。圖書副本:負(fù)責(zé)查找核實(shí)空閑的副本。借書人信息:負(fù)責(zé)查找核實(shí)借書人,確認(rèn)其為合法的借書人。應(yīng)當(dāng)注意的是,借書事件流的描述并非只有以上的一種描述方式,它將隨著業(yè)務(wù)處理方式 的不同而改變。比如,我們也可以這樣描

14、述:借書者到圖書館里選擇了喜歡的圖書之后,將選定的圖書名稱和借書者信息交給圖書管理 員,要求圖書管理員辦理借書手續(xù),圖書管理員使用圖書管理系統(tǒng)登記所借圖書的借閱資料。 首先,圖書管理員向圖書借閱登記輸入圖書名稱和借書者信息,請(qǐng)圖書借閱登記處理借書登記 業(yè)務(wù),圖書借閱登記請(qǐng)圖書信息卡查找所借的圖書是否存在,如果該圖書存在,則請(qǐng)圖書副木檢查該圖書是否還有副本,如果有,進(jìn)行下面的工作;圖書借閱登記請(qǐng)借書若信息核対該信息 是否有效,如果有效,圖書借閱登記將登記相應(yīng)的借書者信息、圖書信息卡和圖書副本。處理 完成后,提示圖書管理員登記完畢,圖書管理員將借書者所要借的圖書交給借書者,借書者拿 著圖巧離開圖巧

15、館。這樣的操作過程必然產(chǎn)生不同的順序圖。它明顯地減少了圖書管理員與借書者之間的交互 次數(shù)。這種方式所產(chǎn)生的順序圖見圖25。y11:請(qǐng)核對(duì)借書人信息9:請(qǐng)接受借b人辱凰10:請(qǐng)核借書人信息> 1:借書人信息13:請(qǐng)拿走圖書<12:登記借書信息i圖2-4業(yè)務(wù)系統(tǒng)打開后的順序圖在建立業(yè)務(wù)模型時(shí),術(shù)語表也是一個(gè)重要的內(nèi)容,它是在前面已經(jīng)建立的問題域模型的基 礎(chǔ)上進(jìn)行增補(bǔ)而形成的。下面我們給出圖書管理系統(tǒng)業(yè)務(wù)模型的術(shù)語表:圖書信息比圖書信息卡是圖書館內(nèi)最重要的對(duì)象,它是系統(tǒng)處理主要對(duì)彖,圖書信息卡 是某一本圖書的信息描述,它包含了圖書的名稱,圖書的作者以及圖書的isbn統(tǒng)一出版編號(hào) 等內(nèi)容。

16、圖書副本:圖書副本是圖書的一個(gè)實(shí)例,一個(gè)圖書信息卡可以有多個(gè)圖書副本,也可以沒 有圖書副本。圖書副本是借書時(shí)的真正對(duì)象。只有一個(gè)圖書信息卡有可以供借閱的圖書副本時(shí), 借書者才可以對(duì)其借閱。借書者信息:業(yè)務(wù)中的借帖者信息記錄了借書者的重要信息,包括借巧者的姓名、住址、 居住城市、居住省、身份證號(hào)碼、郵政編碼、電話號(hào)碼等內(nèi)容。圖書借閱登記:圖書 借閱登記是圖書管理中的一個(gè)最重要的業(yè)務(wù)活動(dòng),它需要進(jìn)行一系 列的操作才能完成一個(gè)圖書借閱登記業(yè)務(wù),包括查找圖書、查找副本、核對(duì)借書證(借書者信 息)等步驟。預(yù)定:預(yù)定是圖書管理中的一個(gè)業(yè)務(wù)活動(dòng),它也需要一系列的操作才能完成。書籍:書籍是圖書的一種形式。雜志

17、:雜志也是圖書的一種形式。圖書管理員:圖書館的丁作人員,直接為借書者提供服務(wù)的人,也是系統(tǒng)的肖接使用者。 借書者:到圖書館借書的人,屈于圖書館的用八(服務(wù)對(duì)象)。:借書人:圖巧管理員:圖書借閱背記:圖書信息卡:圖書副木請(qǐng)求借書月歸(圖書名稱,借卩者信息)2:請(qǐng)求借書登記(圖書名稱,|借書者信息3:請(qǐng)查找圖書(圖書名稱)>4:請(qǐng)查找圖書副本l)>5:請(qǐng)核對(duì)借書齊信息(借書者gb)6:記求借閱傅息(圖書信息卡,圖書副本,借書者信息)iii圖2-5另一種借書業(yè)務(wù)處理事件流產(chǎn)生的順序圖十、形成業(yè)務(wù)模型的對(duì)象模型在前面的第七步,我們找出了一些比較巫要的對(duì)象模型元索,結(jié)合前面的問題域模型的類

18、圖進(jìn)行修改和補(bǔ)充,我們可以得到業(yè)務(wù)系統(tǒng)的對(duì)象模型。見圖26。圖書副木有副本圖書信息卡參考巧籍圖書管理員0.1擁有0. .n參考0. n 圖書預(yù)定昏記圖2-6圖書館業(yè)務(wù)系統(tǒng)對(duì)象模型業(yè)務(wù)系統(tǒng)對(duì)象模型類圖中的關(guān)系說明如下:1、i個(gè)圖書信息卡可以有多個(gè)同名圖書副本。2、每一個(gè)圖書副本一定要対應(yīng)一個(gè)圖書信息卡。3、一次圖書借閱登記必須記錄一個(gè)圖書副本和一個(gè)借書人信息。4、一個(gè)圖書副本可以被借閱,也可以不被借閱。5、一個(gè)借書人信息可以進(jìn)行多次圖書借閱登記,也可以沒有圖書借閱登記。6、一個(gè)借書人信息可以進(jìn)行多次圖書預(yù)定登記,也可以沒有圖書預(yù)定登記。7、一次圖書預(yù)定登記必須記錄一個(gè)圖帖信息卡和一個(gè)借書人信息。

19、8、一個(gè)圖書信息卡可以被多次預(yù)立,也可以不被預(yù)立。9、書籍和雜志是圖書信息卡的特殊類。它們之間具有一般特殊結(jié)構(gòu)。a、系統(tǒng)參與者描述 圖書管理員圖書管理員是與計(jì)算機(jī)系統(tǒng)實(shí)際交互的活動(dòng)者。圖書管理員通過增加和刪除標(biāo)題、書目和 借書者來維護(hù)系統(tǒng),同時(shí)也執(zhí)行像借書、還書、預(yù)定書目給、給出冇關(guān)存儲(chǔ)在系統(tǒng)中的數(shù)據(jù)的 信息等執(zhí)行系統(tǒng)關(guān)鍵性的功能。這些功能是為借書者服務(wù)的。借書者借書者圖書管理員借出書目借書者可以借閱和預(yù)定書和雜志。借書者可以是一個(gè)人或另一個(gè)圖書管理員。圖書管理員0增加標(biāo)題 «use>>«use»返還書目增加書目<<use>>系

20、統(tǒng)維護(hù)/ /一 r«use>>刪除書目«use»增加借書者刪除或更改借書者刪除或更新標(biāo)題圖書管理用例圖b、用例模型的綜合描述圖書管理系統(tǒng)為客戶提供一個(gè)管理圖書的軟件系統(tǒng),直接與系統(tǒng)交互的是圖書管理員,因 此,圖書管理員是應(yīng)用系統(tǒng)的參與者。借書者是通過圖書管理員與系統(tǒng)交互的,他的交互對(duì)象是圖書管理員,因此借書者是業(yè)務(wù) 系統(tǒng)的參與者。圖書管理員通過使用預(yù)定、借出書目、刪除預(yù)定和返還書目這些用例來提供對(duì)借書者的服 務(wù),還通過使用系統(tǒng)維護(hù)用例來完成增加標(biāo)題、刪除或更新標(biāo)題、增加書目、刪除書目、增加 借帖者、刪除或更新借帖者等系統(tǒng)維護(hù)的工作。我們以圖書管理的借書

21、用例來說明詳細(xì)描述一個(gè)用例。圖書管理的借書用例的事件流描述。前提條件:借書者己經(jīng)將自己的姓名、所借的圖書標(biāo)題、圖書的作者等信息給了圖書管理員。 圖書管理員在獲取這些信息之后,開始進(jìn)行圖書借閱業(yè)務(wù)處理。事件流:基本路徑:圖書管理員通過輸入所借閱的圖書標(biāo)題(書名、作者或出版號(hào)),使川系統(tǒng)的查閱來確定所 借圖書是一個(gè)有效標(biāo)題。圖書管理員通過查詢系統(tǒng)查詢確立該標(biāo)題下具有有效的、可供借閱的書目。圖書管理員通過輸入借巧者的信息,使用系統(tǒng)的查詢功能來確定借書者是一個(gè)已經(jīng)注冊的合 法借書者。圖書管理員通過輸入借閱圖書的標(biāo)題信息和借書者信息來確定該圖書和該借書者所存在的 預(yù)定信息。圖書管理員將書借給借書者。然后

22、,輸入所借的圖書標(biāo)題、書fi登記號(hào)、借書者的信息來形 成一個(gè)新的借閱,并將以上信息存儲(chǔ)。如果存在預(yù)定,圖書管理員通過輸入借閱圖書的標(biāo)題信息和借書者信息來刪除該圖書和該借 書者所存在的預(yù)定信息。否則執(zhí)行以卜-步驟。該用例實(shí)例結(jié)束。備選路徑:如果在上述圖書查詢中沒有借書者要求的圖書,有兩種處理方式:其一,取消圖書借閱; 其二,通過系統(tǒng)維護(hù)增加一個(gè)圖書標(biāo)題,并為該借書者進(jìn)行一個(gè)圖書預(yù)定。如果在上述借書者查詢中沒有發(fā)現(xiàn)該借書者信息,同樣有兩種處理方式:其一,取消圖書 借閱;其二,通過系統(tǒng)維護(hù)增加一個(gè)借書者信息(新用戶),然后再執(zhí)行借書的用例。后置條件:當(dāng)借書完畢、或沒有要借的圖書并且借書者不希望預(yù)定、

23、或該借書者沒有注冊 并拒絕注冊為新用戶時(shí),該用例實(shí)例結(jié)束。1. 需求(requirements)典型地,由系統(tǒng)最終用八的代表寫出文本形式的需求規(guī)范文檔。對(duì)于該圖書館應(yīng)用程序來 說,需求規(guī)范文檔應(yīng)該類似于這樣:1. 這是一個(gè)圖書館支持系統(tǒng);2. 圖書館將圖書和雜志借給借書者。借書者已經(jīng)預(yù)先注冊,圖書和雜志也預(yù)先注冊;3. 圖書館負(fù)責(zé)新書的購買。每一木圖書都購進(jìn)多木書。當(dāng)舊書超期或破舊不堪時(shí),從圖書館屮 去掉。4. 圖書管理員是圖書館的員工。他們的丄作就是和讀者打交道并在軟件系統(tǒng)的支持下工作。5. 借閱人可以預(yù)疋當(dāng)前沒有的圖巧和朵志。這樣,當(dāng)他所預(yù)定的圖卩和雜志歸還回來或購進(jìn)時(shí), 就通知預(yù)定人。當(dāng)

24、預(yù)定了某書的借書者借閱了該書后,預(yù)定就取消?;蛘咄ㄟ^顯式的取消過程 強(qiáng)行取消預(yù)定。6. 圖書館能夠容易地建立、修改和刪除標(biāo)題、借書者、借閱信息和預(yù)定信息。7. 系統(tǒng)能夠運(yùn)行在所有流行的技術(shù)環(huán)境中,包括unix, windows和os/2,并應(yīng)有一個(gè)現(xiàn)代的圖 形用戶界面(gui)o8. 系統(tǒng)容易擴(kuò)展新功能。系統(tǒng)的第一版不必考慮預(yù)定的圖書到達(dá)后通知預(yù)定人的功能,也不必檢查借書過期的情況。2. 分析(analysis)系統(tǒng)分析的目的是捕獲和描述所有的系統(tǒng)需求,并且建立一個(gè)模型來定義系統(tǒng)中主要的問 題域類。通過系統(tǒng)分析達(dá)到開發(fā)者和需求者的理解和溝通。因此,分析一般都是分析員和用八 協(xié)作的產(chǎn)物。在這個(gè)階

25、段,程序開發(fā)者不應(yīng)該考慮代碼或程序的問題;它只是理解需求和實(shí)現(xiàn)系統(tǒng)的第一步。2. 1 需求分析(requirements analysis)分析的第一步是確定系統(tǒng)能夠做什么?誰來使用這個(gè)系統(tǒng)?這些分別叫角色(actors)和用 例(use cases) 0用例描述了系統(tǒng)提供什么樣的功能。通過閱讀和分析文檔,以及和潛在的川 戶討論系統(tǒng)來分析用例。圖書館的角色戀為圖書管理員和借書人。圖書管理員是軟件系統(tǒng)的用戶;而借書者則是來 借閱或預(yù)定圖卩雜志的客戶。偶爾,圖書管理員或圖書館的其他工作人員也町能是一個(gè)借書者。 借書者不直接和系統(tǒng)交互,借書人的功能由圖書管理員代為執(zhí)行。圖書館系統(tǒng)屮的用例有:1. 借

26、書2. 述書3. 預(yù)定4. 取消預(yù)定5. 增加標(biāo)題6. 修改或刪除標(biāo)題7. 增加書目8. 刪除書目9. 增加借書者10. 修改或刪除借書者上面所列的用例中沒有維護(hù),維護(hù)是一個(gè)使用其它用例的更一般的用例。同時(shí),還應(yīng)注意到上 述用例中出現(xiàn)的兩個(gè)概念:標(biāo)題(title)和書fldtem)。因?yàn)樵谝粋€(gè)圖書館中,一個(gè)流行的標(biāo)題 可能有好兒本,因此系統(tǒng)必須將標(biāo)題(可能是書名或書的作者)同其它的書1=1(代表一個(gè)指定標(biāo)題 的物理副本)區(qū)分開來。從圖書館借的是書目。在圖書館擁有一本書的副本(書目)之前加一個(gè)標(biāo) 題到系統(tǒng)中是可能的,這樣做的目的是讓借書者可以預(yù)訂。圖帖館系統(tǒng)分析的結(jié)杲寫在uml用例圖中。每一個(gè)用

27、例都附帶有文木文檔,描述用例和客戶 交互的細(xì)節(jié)。文本是通過與客戶討論得到的。用例“借書”描述如下:1. 如果借閱者沒有預(yù)定:確定標(biāo)題確立該標(biāo)題下有效的書目確眾借書者圖書館將書借出登記一個(gè)新的借閱2. 如果借閱者有預(yù)尬:確定借書人確定標(biāo)題確處該標(biāo)題下有效的書目圖書館將相應(yīng)的書目借出登記一個(gè)新的借閱取消預(yù)定除了眾義系統(tǒng)的功能需求z外,在分析過程中用例用于檢查是否有相應(yīng)的域類已經(jīng)被處義, 然后他們町以被用在設(shè)計(jì)階段,確保解決方案町以冇效地處理系統(tǒng)功能??梢栽陧樞驁D中町視 化實(shí)現(xiàn)細(xì)節(jié)。角色和用例。分析屮的第一步就是指出系統(tǒng)能被用來做什么,誰將去使用它。它們分別就 是用例和角色。所有的用例必須始于角色,

28、而且有些用例也結(jié)束于角色。角色是位于你所t作 的系統(tǒng)外部的人或其他系統(tǒng)。一臺(tái)打卬機(jī)或一個(gè)數(shù)據(jù)庫都對(duì)能是一個(gè)角色。本系統(tǒng)有兩個(gè)角色: 借閱者和圖卩管理員。通過與用戶或客戶的討論,町以將每一個(gè)用例用文字進(jìn)行說明。借出書ii預(yù)定0增加標(biāo)題«use»圖書管理員刪除預(yù)定«use>> 刪除或更新標(biāo)題増加isn«use»返還書ii増加借書者刪除或更改借書者2. 2 問題域分析(domain analysis)系統(tǒng)分析也詳細(xì)地列出了域(系統(tǒng)中的關(guān)鍵類)。為了導(dǎo)出一個(gè)域分析,可以閱讀規(guī)范文檔 (specifications)和用例,查找哪一些概念應(yīng)該

29、被系統(tǒng)處理?;蛘呓M織一個(gè)集體討論,在用戶及 領(lǐng)域?qū)<夜餐膮⑴c下指出系統(tǒng)中必須處理的關(guān)鍵概念,以及它們之間的關(guān)系。其中冇些類冇uml狀態(tài)圖,用來顯示這些類的對(duì)彖可能具冇的不同狀態(tài),以及觸發(fā)他們的狀 態(tài)發(fā)生改變的事件。該例子中有狀態(tài)圖的類是item和title類。廠、loaneditemnot 1oanodnot reservednumber+3. 設(shè)計(jì)(design)設(shè)計(jì)階段對(duì)分析模型進(jìn)行擴(kuò)展并將模型進(jìn)一步細(xì)化,并考慮技術(shù)細(xì)節(jié)和限制條件。設(shè)計(jì)的目的 是制定一個(gè)可行的解決方案,以便能很容易地轉(zhuǎn)變成為編程代碼。設(shè)計(jì)可以分成兩個(gè)階段:體系結(jié)構(gòu)設(shè)計(jì)階段(architecture design) 0這是

30、一個(gè)從較高層次的進(jìn)行的設(shè)計(jì),用來定 義包(子系統(tǒng)),描述包之間的依賴性及通信機(jī)制。很自然,目的是要設(shè)計(jì)一個(gè)清晰簡單的體 系結(jié)構(gòu),有很少的依賴性,而且盡可能避免雙向依賴。詳細(xì)設(shè)計(jì)階段(detailed design)。在此階段,所有的類都詳盡地進(jìn)行描述,給編寫代碼 的程序員一個(gè)清晰的規(guī)范說明。uml屮的動(dòng)態(tài)模型用來說明類的對(duì)象如何在特定的情況卜做 出相應(yīng)的表現(xiàn)。3. 1體系結(jié)構(gòu)設(shè)計(jì)一個(gè)良好的體系結(jié)構(gòu)設(shè)計(jì)是一個(gè)可擴(kuò)展的和可改變的系統(tǒng)的基礎(chǔ)。包可能關(guān)注特定的功能 領(lǐng)域或關(guān)注特定的技術(shù)領(lǐng)域。把應(yīng)用程序邏輯(域類)和技術(shù)邏輯分開是至關(guān)重要的,這樣不 管哪一部分的改變都不會(huì)影響其他的部分。本案例的包或叫子

31、系統(tǒng)如f:user-interface package包。該包屮的類基于java awt包,java awt是一個(gè)用來書寫用戶 界而應(yīng)用程序的java的標(biāo)準(zhǔn)庫。該包和business-objects package包協(xié)作。business-objects package包包含那些實(shí)際存儲(chǔ)數(shù)據(jù)的類。ui包調(diào)用business對(duì)象的操作,對(duì)他們進(jìn)行取出或插 入數(shù)據(jù)操作。用戶接口包顯示了所冇的在用戶接口中的類,以及它們與其它類(即,在業(yè)務(wù)對(duì)彖類)z i'可的關(guān)系和協(xié)作。用戶接口描述了四個(gè)類圖:1、基本類圖:該圖顯示了 staitclass,該類包含了整個(gè)應(yīng)用軟件的主操作,并h只有它才可以 激

32、活主窗口(mninwindow)。主窗口包含了-個(gè)菜單該菜單被用來訪問在應(yīng)用系統(tǒng)中所有的 其它窗口。2、功能類:它顯示了所有的用在menubar "functions"中的窗口類。這些窗口包含了對(duì)于租 借和返還書目以及預(yù)定書目和取消預(yù)定的主要功能。3、信息類:它顯示了所有的用在menubar "information"中的窗口類。這些類都是為了查看 有關(guān)標(biāo)題和租借者信息以及瀏覽所有的標(biāo)題和所有的租借者的信息。4、維護(hù)類:它顯示了所有的用在menubar "maintenance"中的窗口類。這些類都是為了系統(tǒng) 維護(hù)的,如增加、刪除和更

33、新標(biāo)題、書目和租借者信息。ui包同樣也包含了對(duì)所有在分析中多定義的用例順序圖,它顯示了這些用例在設(shè)計(jì)階段的 實(shí)現(xiàn)。用例現(xiàn)在被細(xì)化成在設(shè)計(jì)類圖中的實(shí)際操作,因此,這些順序圖可以閱讀,用來理解實(shí) 際代碼。有些順序圖同樣也被轉(zhuǎn)換成協(xié)作圖。business-object packageo 該包包括域類,這些域類(如borrowednformation, title, item, loan 等)來自于分析模型。設(shè)計(jì)階段完整地定義了這些類的操作,并增加了一些其他細(xì)節(jié)來支持持 續(xù)存儲(chǔ)。business-object包與database package進(jìn)行協(xié)作。所有的business-object類必須繼承

34、database package 中的persistent 類。database packageo database package 向business-object 包中的類捉供服務(wù),以便他們能夠 持續(xù)地存儲(chǔ)。在當(dāng)前版本屮,persistent類將把它的子類的對(duì)象存儲(chǔ)到文件系統(tǒng)的文件屮。utility packageo utility package包含了一些服務(wù),用來被系統(tǒng)中其他包調(diào)用。當(dāng)前,objld類 是該包中的唯一的類。用來被整個(gè)系統(tǒng)包扌舌user-interface, business-object和database package 使用。這些包的設(shè)計(jì)如圖所示.圖:圖書館應(yīng)用程序體

35、系結(jié)構(gòu)設(shè)計(jì)總覽。本類 圖顯示了應(yīng)用程序包以及它們之間的依賴性。database 包提供了persistence 類。utility 包提供了object id 類。business-object 包包 含了域類(詳細(xì)情況參見類圖)最后,ui包(在本例中它是基于標(biāo)準(zhǔn)jaaawt庫)調(diào)用business 對(duì)象中的操作來實(shí)現(xiàn)對(duì)他們的數(shù)據(jù)存取操作。3. 2詳細(xì)設(shè)計(jì)細(xì)節(jié)設(shè)計(jì)描述了新的技術(shù)性的類,如user-interface利database包中的類,并il豐富了分析 階段所形成的business-object類。類圖、狀態(tài)圖和動(dòng)態(tài)圖用的還是分析階段所形成的圖,但 對(duì)他們定義的更加詳細(xì),具有了更高的技術(shù)

36、水平。在分析階段對(duì)用例進(jìn)行的文字性描述在此用 來證明用例在設(shè)計(jì)階段也能被處理。順序圖就是用來說明用例如何在系統(tǒng)中被實(shí)現(xiàn)的。database packageo應(yīng)用程序必須有持續(xù)存儲(chǔ)的對(duì)象。因此,必須增加數(shù)據(jù)層來提供這樣 的服務(wù)。為簡單起見,我們將對(duì)象以文件的形式保存在磁盤上。存儲(chǔ)的細(xì)節(jié)被應(yīng)用程序隱藏起 來,只需調(diào)用諸如store () , update () , delete ()和find ()這樣的公共操作即可。這 些都是persistent類的一部分,所冇需要持續(xù)對(duì)象的類必須繼承它。對(duì)類進(jìn)行持續(xù)處理的一個(gè)重要因子就是objld類。它的對(duì)象用來引用系統(tǒng)中的任何持續(xù)對(duì) 象(不管這個(gè)對(duì)象是在磁盤上還是已經(jīng)被讀進(jìn)了應(yīng)用程序之中)。objld是object identity的 簡寫,它是一個(gè)廣為應(yīng)用的技術(shù),用來冇效地處理應(yīng)用程序中的對(duì)彖引用。通過使用object identifiers, 一個(gè)對(duì)象id能被傳遞到普通的persistent, getobjoct ()操作中,進(jìn)而該對(duì)象 將被從持續(xù)的存儲(chǔ)體中取出或存儲(chǔ)。通常情況下,這些都是通過每個(gè)持續(xù)類的一個(gè)getobject操 作完成的。當(dāng)然,持續(xù)類同時(shí)也作一些檢查或格式轉(zhuǎn)換的操作。一個(gè)對(duì)彖標(biāo)識(shí)符也能作為一個(gè) 參數(shù)很容易地在兩

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論