MDA系統分析實戰--圖書館管理系統 數據庫
本文經過MDA系統分析方法,對圖書館管理系統進行分析,簡要敘述系統分析的通常過程。首先,簡要介紹什麼是MDA:MDA(Model-Driven Architecture)即模型驅動構架,是由OMG定義的一個軟件開發框架,在MDA中軟件開發過程是由軟件系統的建模行爲驅動的,詳細的介紹能夠參看OMG官方網站http://www.omg.org/mda。框架
MDA系統設計分爲三個階段:網站
- CIM(Computation Independent Model),關注系統環境即需求,不涉及系統內部的機構及運做細節。
- PIM(Platform Independent Model), 關注系統內部細節,不涉及實現系統的具體平臺。
- PSM(Platform Independent Model),關注系統落實於特定具體平臺的細節,如Spring、EJB二、.NET等。
其中,CIM、PIM爲系統分析過程,PSM爲系統設計過程,因爲本次只做系統的分析,因此只涉及到CIM及PIM的過程。spa
在系統分析過程當中,會產生各類模型圖,依次爲:設計
- CIM-1: 定義業務流程,產生業務用例圖;
- CIM-2:分析業務流程,產生活動圖;
- CIM-3:定義系統範圍,產生系統用例圖;
- PIM-1:分析系統流程,產生系統用例描述;
- PIM-2:分析業務規則,產生狀態圖;
- PIM-3:定義靜態結構,產生類圖;
- PIM-4:定義操做及方法,產生序列圖(時序圖/順序圖)。
接下來進入實際系統的分析過程。orm
系統需求分析:
對象
圖書館管理系統是一套基於Web實現校園圖書館圖書借閱、管理的軟件。主體對象分爲兩部分:借閱者、圖書館管理員。其中,針對借閱者須要實現的基本功能模塊爲:權限查詢、借閱史查詢、欠款查詢、書目查詢、分類瀏覽、新書通報、館際互借、預定圖書、資料更新、修改密碼;針對圖書館管理員須要實現的基本功能模塊爲:學生我的信息管理、借閱信息管理、權限管理、逾期管理、丟失圖書管理、館藏圖書管理、購進新書。blog
下面分別就各個部分提出的需求進行描述:接口
1、借閱者:事件
- 權限查詢:記錄借閱者可以借閱的書目、期刊雜誌、數據庫等信息,以及容許借閱的最大數目和期限。
- 借閱史查詢:記錄借閱者所借閱圖書信息,包括名稱、索書號、做者、館藏地點等信息,而且記錄圖書狀態,包括借出、已歸還兩種狀態、以及借出時間、應歸還時間。
- 欠款查詢:記錄因爲借閱者逾期未還產生的欠款信息。
- 書目查詢:實現對館藏圖書的查詢,能夠經過名稱、索書號、做者等信息進行查詢,輸出信息包括名稱、索書號、做者、出版日期、圖書摘要、分類信息、館藏地點、借閱狀態、價格、館藏數量等信息。
- 分類瀏覽:能夠根據圖書分類進行瀏覽。
- 新書通報:記錄圖書館新購圖書。
- 館際互借:能夠預定不一樣校區圖書館圖書。
- 預定圖書:能夠預定已借出圖書,待書籍歸還時發出通知,或者圖書館沒有收錄的圖書,待購進以後發出通知。
- 資料更新:能夠更改用戶名、真實姓名、身份證號碼、出生日期、聯繫方式、通信地址、電子郵件、所屬學院及專業等信息。
- 修改密碼:能夠修改登陸密碼。
2、管理員:
- 學生我的信息管理:記錄全部學生信息,而且能夠從學校數據庫直接導入學生信息,並可以做適當的修改。
- 借閱信息管理:能夠錄入借出信息、歸還信息,記錄借出日期、應還日期以及實際歸還日期。
- 權限管理:能夠設置每一個學生的借閱權限,如可以借閱的書目、期刊雜誌、數據庫等信息,以及容許借閱的最大數目和期限。
- 逾期管理:記錄借閱逾期信息,欠款信息。
- 丟失圖書管理:記錄丟失圖書信息,以及償還方法,能夠購買同一版本圖書進行償還,或者賠償相應金額。
- 館藏圖書管理:記錄全部館藏圖書信息,如書籍名稱、索書號、做者、出版日期、圖書摘要、分類信息、館藏地點、借閱狀態、價格、館藏數量等信息;能夠進行書目檢索,並能夠進行書籍信息修改,能夠添加或刪除書目信息。
- 購進新書:能夠根據學生預定新書信息或者館藏須要購進新書。
事件及事物列表:
事件列表和事物列表再系統設計分析的過程當中起到相當重要的做用。事件列表是在對系統需求進行詳盡的分析以後得出的將來系統將進行的一系列動做,在系統設計過程當中,業務用例與系統用例將從事件表中進行抽取;而事物列表則是系統涉及到的實體對象,在後續分析類圖和設計類圖的分析中,各個實體類將從事物列表中抽取。
系統相關事件列表 | |||||
事件名稱 | 觸發器 | 來源 | 活動/用例 | 響應 | 目的地 |
一、用戶查詢權限信息 | 權限查詢請求 | 學生 | 查詢用戶權限 | 返回用戶權限信息 | 學生 |
二、用戶查詢借閱史信息 | 借閱史查詢請求 | 學生 | 查詢用戶借閱史信息 | 返回用戶借閱史信息 | 學生 |
三、用戶查詢欠款信息 | 欠款查詢請求 | 學生 | 查詢用戶欠款信息 | 返回用戶欠款信息 | 學生 |
四、用戶進行書目查詢 | 書目查詢請求 | 學生 | 根據查詢條件進行書目查詢 | 返回圖書信息 | 學生 |
五、用戶進行分類瀏覽圖書 | 分類瀏覽請求 | 學生 | 根據分類查詢查詢圖書 | 返回分類查詢結果 | 學生 |
六、用戶查看到館新書 | 新書通報請求 | 學生 | 查詢到館新書 | 返回到館新書信息 | 學生 |
七、用戶跨館進行圖書借閱 | 館際借閱請求 | 學生 | 用戶錄入館際借閱信息 | 產生館際借閱信息 | 管理員 |
八、用戶預定圖書 | 用戶預定請求 | 學生 | 用戶錄入須要預定的圖書信息 | 產生預定信息 | 管理員 |
九、用戶進行資料更新 | 資料更新請求 | 學生 | 用戶錄入須要修改的信息 | 修改相應數據庫信息 | 數據庫系統 |
十、用戶進行修改密碼 | 修改密碼請求 | 學生 | 用戶錄入新密碼 | 修改相應數據庫信息 | 數據庫系統 |
十一、管理員錄入學生信息 | 錄入信息請求 | 管理員 | 管理員錄入信息 | 向數據庫插入信息 | 數據庫系統 |
十二、管理員刪除學生信息 | 刪除學生信息請求 | 管理員 | 錄入須要刪除的學生信息 | 向數據庫刪除學生信息 | 數據庫系統 |
1三、管理員修改學生信息 | 修改學生信息請求 | 管理員 | 錄入須要的修改學生信息 | 修改數據庫學生信息 | 數據庫系統 |
1四、管理員查詢學生信息 | 查詢學生信息請求 | 管理員 | 查詢學生信息 | 返回查詢學生信息 | 管理員 |
1五、用戶借書 | 用戶借書請求 | 學生 | 進行用戶借書處理 | 向數據庫插入借閱信息 | 數據庫系統 |
1六、用戶還書 | 用戶還書請求 | 學生 | 進行用戶還書處理 | 修改數據庫圖書借閱狀態 | 數據庫系統 |
1七、管理員修改用戶權限 | 修改權限請求 | 管理員 | 管理員修改用戶權限 | 修改數據庫用戶權限信息 | 數據庫系統 |
1八、管理員查詢逾期信息 | 查詢逾期信息請求 | 管理員 | 查詢逾期信息 | 返回逾期圖書信息 | 管理員 |
1九、管理員查丟失圖書信息 | 查看丟失圖書請求 | 管理員 | 查詢丟失圖書信息 | 返回丟失圖書信息 | 管理員 |
20、管理員查詢館藏圖書信息 | 查詢館藏圖書請求 | 管理員 | 查詢館藏圖書信息 | 返回館藏圖書信息 | 管理員 |
2一、管理員增長館藏信息 | 增長館藏圖書請求 | 管理員 | 錄入新增圖書信息 | 向數據庫插入新增圖書信息 | 數據庫系統 |
2二、管理員刪除館藏圖書信息 | 刪除館藏圖書請求 | 管理員 | 錄入須要刪除的圖書信息 | 向數據庫刪除須要刪除的圖書信息 | 數據庫系統 |
2三、管理員修改館藏圖書信息 | 修改圖書信息請求 | 管理員 | 錄入須要修改的信息 | 修改數據庫圖書信息 | 數據庫系統 |
2四、管理員購進新書 | 購進新書請求 | 管理員 | 錄入新書信息 | 向數據庫插入新書信息 | 數據庫系統 |
系統相關事物列表 |
|
事物名稱 | 說明/屬性 |
一、學生 | 包括姓名、ID、性別、年齡等屬性 |
二、管理員 | 圖書館管理員 |
三、館藏圖書 | 記錄館藏圖書信息,包括書名,索書號、做者、館藏地點、借閱狀態、價格、館藏數量 |
四、權限 | 容許借閱的書目、期刊雜誌、數據庫等信息,以及容許借閱的最大數目和期限。 |
五、欠款 | 用戶因爲逾期未還產生的欠款信息 |
六、預定 | 用戶進行圖書預定的信息 |
七、借閱圖書 | 用於儲存用戶借閱的圖書信息,包括書名、索書號、做者、借出日期、應還日期、實還日期 |
八、逾期未還圖書 | 用於記錄用戶逾期未還的圖書信息,包括書籍信息、借出日期、應還日期、逾期日期 |
九、丟失圖書 | 用戶因丟失沒法歸還的圖書信息 |
十、到館新書 | 圖書館新購圖書信息,包括書籍信息、購進日期、價格、商家信息 |
定義業務流程,產生業務用例圖:
根據系統需求,結合事件列表中分析出的來源、對象、相應等相關信息,總結出將來系統須要知足基本功能,在分析業務用例圖階段,只需列出系統所須要實現的功能,不須要考慮系統如何實現該功能,業務用例圖以下圖所示。
分析業務流程,產生業務活動圖:
從業務用例圖中,抽取具體用例,繪製活動圖,詳細描述用例實現的過程與流程。
管理員活動圖:
用戶活動圖:
其它用例的活動圖都比較簡單,這裏就不予畫出了。
定義系統範圍,產生系統用例圖:
在業務用例圖的基礎上進行擴展,對各個用例進行詳細的分析,繪製出更詳細的系統用例圖。
分析系統流程,產生系統用例描述:
用例描述即經過文字的形式將系統用例圖中的用例進行詳細的說明,下面以學生查詢權限信息爲例進行用例描述。
系統用例描述 |
|
系統用例名稱 | 學生查詢權限信息 |
用例簡述 | 學生經過用戶界面查詢本身的借閱權限 |
用例圖 | |
主要流程 |
一、 學生經過用戶界面發起權限查詢請求; 二、 系統根據學生的用戶信息向數據庫查詢相應用戶權限信息; 三、 數據庫返回查詢結果; 四、 系統將數據庫返回結果返回到用戶界面 |
定義靜態結構,產生類圖:
類圖是描述類、接口及它們之間關係的模型圖,顯示系統中各個類的靜態結構;類圖中的類從事物圖進行抽取,定義類的同時,添加必要的屬性以及方法,並說明類之間的關係,下圖爲系統的設計類圖。
定義操做及方法,產生序列圖(時序圖/順序圖):
時序圖/順序圖用來描述對象之間傳遞信息的時間順序,用來表示用例中的行爲順序,下面以學生預定圖書用例爲例畫時序圖,時序圖以下。
分析業務規則,產生狀態圖:
每個實體對象都有它本身惟一的狀態圖,狀態圖描述的是對象的內部邏輯,這些信息是對對象自身屬性所執行的動做的描述,接下來就用借書、還書用例過程來對圖書狀態進行說明。
圖書狀態圖:
總結:
至此,圖書館管理系統的分析過程就結束了,固然,其中每一個類型的圖形模型都只是畫了一個,剩下的模型分析繪製的方法都是一致的,因此不一一贅述了。簡而言之,在系統分析階段,須要進行系統需求分析,列出事件列表以及事物列表,再進行圖形模型的繪製,一共須要繪製的模型有:用例圖、活動圖、類圖、序列圖(時序圖/順序圖)、狀態圖。完成了系統分析過程,就能夠進行系統的詳細設計了。
原創文章:引用請代表出處