1引言
1.1編寫目的
軟體需求說明書
一個小型圖書館管理系統,
1.2作業題目
1.借書,還書;
2.在圖書館中增加/删除一本書;
3.按照作者名或專業領域檢索一批書;
4.找出被某位讀者借出的一批書;
5.找出最近借走某本圖書的讀者 .
該系統有兩類使用者:圖書管理者與普通讀者.功能4可供普通讀者查找他們自己借 出的書目.功能1,2,5隻供圖書管理者使用.
該系統必須滿足以下限制:
1.館中所有未借出的書籍能夠供讀者随時借閱 .
2.在同一時刻,一本書不能既被借出,又可供借閱 .
3.一個讀者一次借出的書籍數目不能超過預定值 .
**大學
大學課程設計報告
課程名稱: 軟體體系結構
專業班級:
學 号:
學生姓名:
指導教師姓名: 陳 晨
指導教師職稱: 講 師
年 月 日
目錄
1 系統概述 1
2 需求分析 1
2.1 角色分類 1
2.2 系統需求分析 1
2.2.1 需求概述 1
2.2.2 圖書管理系統功能性分析 2
2.3 功能子產品圖 2
3 場景視圖之用例模組化 5
3.1 圖書管理系統用例圖 5
3.2 圖書管理系統用例描述 6
4 邏輯試圖之類圖設計模組化 8
4.1 圖書管理系統實體及其屬性分析 8
4.2 圖書管理系統邏輯視圖之類圖 8
4.3 圖書管理系統關鍵類圖說明 8
5 開發視圖模組化 9
5.1 包圖設計模組化 9
5.2 元件圖設計模組化 10
6 過程視圖之互動模組化 10
6.1 借書順序圖 10
6.2 還書順序圖 11
6.3 增加圖書順序圖 12
6.4 删除圖書順序圖 12
6.5 按作者或專業檢索圖書順序圖 13
6.6 按讀者檢索圖書順序圖 13
6.7 按圖書檢索讀者順序圖 14
7 實體視圖之部署圖 14
8 總結 15
參考文獻 15
1系統概述
移動網際網路技術在圖書館數字化程序中應用廣泛、效果顯著,這不僅彌補了傳統圖書管理模式效率低下、難于管理的不足,還友善了衆多讀者使用者,而圖書館全盤數字化也是未來的發展趨勢。圖書管理系統可以極大地提高圖書館日常的運作效率,圖書管理者和讀者使用此系統進行圖書管理、讀者管理、圖書借還、圖書查找、檢視借閱記錄等功能,增強各方使用者體驗感,可以将使用者從冗雜的資料進行中解放出來。本文以圖書館管理實際需求出發,分析了具體的需求,設計了各個子產品,實作圖書借閱管理的人性化、智能化,使圖書管理更加規範、友善、快捷,更貼近人們的生活。
本文運用4+1視圖方法,針對不同需求進行架構設計。“4+1”視圖模型是一個十分通用的模型,可以在每個視圖裡面定義體系結構的各種組成元素,對于不同的視圖還可以選擇不同的體系結構風格。在本文中,“4+1”模型采用UML作為各視圖的表達和解釋環境, 統一各部分的模組化描述語言, 有利于合作開發以及各層次、各環節開發人員之間的溝通, 建立切合實際的模型, 平衡軟體品質與開發周期間的沖突, 加速軟體的開發和推廣。“4+1”體系結構描述方法與統一模組化語言UML的結合, 可以克服目前軟體開發兩難境地, 提高軟體開發和構件重用的效率。
2需求分析
2.1角色分類
我們大緻拟定圖書館系統有關角色有以下兩種:
1圖書管理者是管理系統的角色功能有:1.借書、還書 2.在圖書館中增加或删除一本書 3.按照作者或者專業領域查找一批書 4.找出最近借出某本書的讀者
2普通讀者是借書人角色功能有:1.按照作者或者專業領域查找一批書 2.找出被某位讀者借出的一批書
2.2系統需求分析
2.2.1需求概述
在本圖書管理系統中,最終使用者為圖書館管理者以及借書人,其中,借書人隻能進行圖書書目查詢、圖書管理者能進行全部操作,是以要求圖書管理者能充分掌握該系統。讀者通過圖書證可以進行查詢圖書館書目,查詢自己的借閱資訊。管理者可以通過此系統對書進行借出登記、增加/删除新書、查詢書目資訊 、查詢借閱資訊的功能。
2.2.2圖書管理系統功能性分析
圖書管理系統系統的功能性分析可以反映這個系統能夠完成的各項功能,它能夠清晰、明确地把這個系統要完成的功能展示給後續的設計人員和使用者。圖書管理系統系統的具體功能如下:
系統允許普通讀者查找自己借出的書
系統允許普通讀者按照作者查找一批書
系統允許普通讀者按照專業領域查找一批書
系統允許管理者借書
系統允許管理者還書
系統允許管理者在圖書館中增加一本書
系統允許管理者在圖書館中删除一本書
系統允許管理者按照作者查找一批書
系統允許管理者按照專業領域查找一批書
系統允許管理者找出最近借出某本書的讀者
圖書管理系統非功能性分析如下:
性能需求
資料精确度:保證查詢的查全率和查準率為100%,所有在相應域中包含查詢關鍵字的記錄都 能查到,所有在相應域中不包含查詢關鍵字的記錄都不能查到。
系統響應時間:系統對大部分操作的相應時間應在1—2秒内。
适應性:滿足運作環境在允許作業系統之間的安全轉換和與其他應用軟體的獨立運作要求。
運作需求
使用者界面:系統采用對話框方式,多功能視窗運作。
硬體接口:支援各種X86系列的PC機和手機等嵌入式裝置。
軟體接口:運作于Windows2000作業系統、安卓9、ios系統之上。
故障處理:正常使用時不出錯,對于使用者的輸入錯誤給出适當的改正提示資訊,遇不可恢複的 系統錯誤時,保證資料庫的完好無損。
2.3功能子產品圖
圖 1 主子產品圖
主子產品
功能
建立與資料庫連接配接
擷取系統設定
運作主對話框
根據輸入調用子子產品
退出系統時斷開與資料庫的連接配接
輸入項目
使用者滑鼠點選輸入
圖 2 借書子產品圖
借書子產品
功能
查驗輸入的讀者證号
運作借書對話框
擷取該讀者的相關資訊
查驗輸入的圖書号
登記借書
輸入項目
讀者證号、圖書書号 (使用者輸入)
輸出項目
讀者資訊(姓名);讀者已借圖書資訊 (書名、借書日期);
圖3 還書子產品圖
還書子產品
功能
運作還書對話框
查驗輸入的圖書書号
對合法輸入登入還書資訊
顯示相關資訊(本次還書操作資訊,尚未歸還圖書的相關資訊,讀者資訊 ) 輸入項目
圖書書号(使用者輸入)
輸出項目
相關資訊(本次還書操作資訊,尚未歸還的圖書資訊,讀者資訊 )
圖 4系統操作子產品圖
圖 5圖書查詢子產品圖
圖書查詢子產品
功能
根據給定查詢條件,查詢資料庫,擷取圖書資訊 輸入項目
查詢方式指定以及查詢關鍵字
輸出項目
查詢結果清單顯示 程式邏輯
3場景視圖之用例模組化
3.1圖書管理系統用例圖
從以上需求分析中可以看出,本系統有以下幾類參與者:
圖書管理者Admin
讀者Reader
讀卡器CardReader
伺服器System
在上述參與者中,圖書管理者和讀者與系統進行互動,通過對互動場景進行歸類和抽象,本系統應具有以下用例:
借書lendBook
還書returnBook
增加圖書addBook
删除圖書delBook
按作者、專業檢索圖書findBook_Author
按讀者檢索圖書findBook_Reader
按書檢索讀者findReader_Book
圖 6用例圖
3.2圖書管理系統用例描述
1用例名稱:按作者、專業檢索圖書
用例描述:由讀者進行操作,查詢圖書館中有沒有需要圖書,如果有,顯示該圖書編号、書名、 作者、出版日期、目前借閱狀态等資訊。
前置條件:以顧客身份登入
後置條件:無
基本流程:
1以讀者身份登入。
2輸入專業的名稱或作者名稱。
3顯示相關圖書的資訊。
可選流程:如果沒有該圖書,傳回提示資訊:“沒有找到圖書”。
2用例名稱:借書
用例描述:由圖書管理者把讀者的借書卡的條碼讀入計算機,再将讀者所選圖
書的條碼讀入計算機,在不超過讀者允許借書的情況下,累計該讀者所借的書;
否則提示超過借書數量。
前置條件:以圖書管理者的身份登入系統。
後置條件:圖書資訊中相應記錄的還書日期值做改變;将借書明細加入借書記錄中。
基本操作流程:
1以圖書管理者身份登入系統。
2進入借書功能。
3錄入讀者的借書卡條碼。
4識别讀者類别,提示讀者可以借閱圖書的數量及借閱時間
等。如果允許借閱,繼續4,否則提示已達到借書數量。
5錄入圖書的條碼,顯示該圖書的資訊。
6還有其他圖書,重複步驟3。
7儲存操作。
可選流程在儲存之前,可以取消操作。
3用例名稱:還書
用例描述:由圖書管理者把圖書的條碼讀入計算機,系統顯示該書的讀者資料, 提示是否超出借 閱期限。如未超出則顯示還書成功
前置條件:以圖書管理者的身份登入系統。
後置條件:圖書資訊中相應記錄的狀态值做改變;将還書明細加入還書記錄中。
基本操作流程:
1以圖書管理者身份登入系統。
2進入還書功能。
3錄入讀者的借書卡條碼。
4系統顯示該書的讀者資料,提示是否超出借閱期限。
5如未超出則顯示還書成功;
可選流程: 在儲存之前,可以取消操作。
4用例名稱:增加圖書
用例描述:由管理者将新書的資訊錄入計算機中,進行儲存。
前置條件:以圖書管理者的身份登入系統。
後置條件:圖書資訊中增加一條記錄。
基本操作流程:
1以管理者的身份登入系統。
2進入增加圖書功能。
3輸入新書的相應資訊。
4儲存操作。
可選流程:在儲存之前,可以取消操作。
5用例名稱:删除圖書
用例描述:由管理者删除圖書,進行儲存。
前置條件:以圖書管理者的身份登入系統。
後置條件:圖書分類中相應記錄更新或删除。
基本操作流程:
1以圖書管理者的身份登入系統。
2進入圖書管理功能。
3標明需要删除的書目。
4删除書目。
5儲存操作。
可選流程:在儲存之前,可以取消操作。
6用例名稱:按讀者檢索書籍
用例描述:由管理者進行操作,查詢讀者借閱資訊。
前置條件:以管理者身份登入
後置條件:無
基本流程:
1以管理者身份登入。
2選擇按讀者檢索圖書
3輸入讀者借書卡id,密碼
4傳回借閱資訊
7用例名稱:按圖書檢索讀者
用例描述:由管理者進行操作,查詢借閱圖書的讀者身份,如果有,顯示該讀者資訊
前置條件:以管理者身份登入
後置條件:無
基本流程:
1以管理者身份登入。
2輸入索書号。
3顯示相關讀者的資訊。
可選流程:如果沒有人借閱該圖書,傳回提示資訊:“沒有人借閱”。
4邏輯試圖之類圖設計模組化
4.1圖書管理系統實體及其屬性分析
圖 7實體屬性圖
4.2圖書管理系統邏輯視圖之類圖
圖 8類圖
4.3圖書管理系統關鍵類圖說明
說明:該圖書管理系統中有參與者類:圖書管理者( Admin )、讀者( Reader);業務實體類有書籍( Book)、借還記錄(Records);圖書管理者可以對讀者類、借閱資訊和書籍類進行管理操作;讀者者可以對書籍類進行查詢等操作。
5開發視圖模組化
5.1包圖設計模組化
圖 9 管理者界面包圖
圖 10 讀者界面包圖
【說明】:
1圖書管理系統主要由“管理者界面”和“讀者界面”兩個包組成。
2管理者界面包括增删圖書類和借還資訊類以及查找類組成,主要是管理者的操作
3讀者界面包括查詢和輸入類,主要是讀者的操作
5.2元件圖設計模組化
圖 11 元件圖
【說明】:
1項目資料庫依賴使用者資料庫,圖書資料庫,借閱資訊資料庫
2使用者管理依賴使用者資料庫
3圖書管理依賴圖書資料庫
4借還記錄管理依賴借閱資訊資料庫
5使用者管理元件由管理者元件和讀者元件組成
6過程視圖之互動模組化
6.1借書順序圖
圖 12 借書順序圖
6.2還書順序圖
圖 13 還書順序圖
6.3增加圖書順序圖
圖 14 增加圖書順序圖
6.4删除圖書順序圖
圖 15 删除圖書順序圖
6.5按作者或專業檢索圖書順序圖
圖 16 按作者或專業檢索圖書順序圖
6.6按讀者檢索圖書順序圖
圖 17 按讀者檢索圖書順序圖
6.7按圖書檢索讀者順序圖
圖 18 按圖書檢索讀者順序圖
7實體視圖之部署圖
圖 19 部署圖
【說明】
1.圖書管理系統部署圖主要由客戶計算機、應用伺服器以及資料庫伺服器三個部分組成。
2.客戶計算機主要包括友善攜帶檢視的手機用戶端和友善操作處理的web浏覽器端。
3.使用者管理、圖書管理、借閱管理等一些列系統管理元件都部署在應用伺服器上,以供圖書管理者操作管理。
4.使用者資料庫、消息記錄資料庫和圖書資料庫都部署在資料庫伺服器上,為其他節點提供資料内容支援。
8總結
本次課程設計利用“4+1”視圖模組化方法進行“圖書管理系統”的軟體架構設計。架構内容以及設計流程為圖書管理系統系統概述、需求分析、場景視圖之用例圖設計模組化、邏輯視圖之類圖設計模組化、發開視圖設計模組化、過程視圖之互動圖設計模組化、實體視圖之部署圖設計模組化。其中需求分析包括角色分析、系統需求分析以及系統功能子產品圖三個部分;開發視圖設計模組化包括包圖設計模組化群組件圖設計模組化。
本次課程設計的完成主要依賴于軟體體系結構課程所學的相關知識,再加上适當的相關參考文獻的閱讀,才得以将整個軟體架構課程設計很好的完成。整個課程設計的過程中,除了對“4+1”視圖模組化方法的具體使用以及對設計模式的了解,還非常考驗對整個軟體從需求的提出到整個架構模組化實作的流程思路和處理邏輯。是在設計的過程中,加深了我對課堂所學知識的了解,通過實際的練習,熟練的掌握了整個軟體架構設計的思路、流程以及方法,收獲豐碩。
參考文獻
[1] Ian Sommerville,軟體工程,機械工業出版社出版,2011
[2] 陳永峰.“4+1”視圖模型在精準扶貧系統設計中的應用[J].河北軟體職業技術學院學報,2019
[3]王津津. 一種基于“4+1”視圖模型的生産線過程實時監控和追溯系統架構設計[C]. 天津市電子工業協會.天津市電子工業協會2019年年會論文集.天津市電子工業協會:天津市電子工業協會,2019: