第一篇:倉庫管理系統系統分析與設計UMLDOC
題目:倉庫管理系統的分析與設計
姓名:徐昊學號:12427002 班級:軟件121
目錄
一、需求分析.................................................................3
1.1系統總功能需求........................................................3 1.2 用戶登錄功能需求.....................................................3
1.2.1用戶登錄功能的模塊圖:..........................................3 1.2.2用戶登錄功能流程圖:............................................4 1.3 倉庫管理功能需求.....................................................5
1.3.1倉庫管理功能模塊................................................5 1.3.2倉庫進貨流程圖..................................................6 1.3.3倉庫退貨流程圖..................................................6 1.3.4倉庫領料流程圖..................................................6 1.3.5倉庫退料流程圖..................................................7 1.3.6倉庫盤點流程圖..................................................7 1.4 查詢功能需求.........................................................7
1.4.1查詢功能模塊....................................................7 1.4.2庫存查詢流程圖..................................................8 1.4.3出入庫查詢流程圖................................................8
二、倉庫管理系統系統的建模...................................................8 2.1 用例圖的建立.............................................................8
2.1.1操作員的用例圖:................................................8 2.1.2管理員用例圖:..................................................9 2.1.3總用例圖:.....................................................10 2.2 時序圖的生成.......................................................10
2.2.1倉庫盤點時序圖:...............................................10 2.2.2倉庫管理時序圖:...............................................11 2.2.4查詢時序圖:...................................................12 2.3 活動圖的生成......................................................12
2.3.1入庫活動圖:...................................................12 2.3.2出庫活動圖:...................................................13 2.3.3查詢活動圖:...................................................14
三、類圖的生成..............................................................1
5一、需求分析
1.1系統總功能需求
倉庫管理系統可以分成三個功能模塊,分別是用戶登倉庫管理、查詢功能。本系統主要實現對倉庫物資的管理,包括商品的入庫、出庫,并可根據需要查詢倉庫使用記錄。
倉庫管理系統用戶登錄倉庫管理查詢功能
1.2 用戶登錄功能需求
1.2.1用戶登錄功能的模塊圖:
用戶登錄用戶登錄退出系統用戶注銷
由用戶登錄、用戶注銷、退出系統 3個部分組成。用戶可以用兩種身份登錄本系統..普通操作員或經理,管理人員。不同身份登錄被系統授予不同的使用權限,這樣提高了本系統的安全性,避免了無關人員獲取不在他權限范圍內的信息。用戶在登錄后可以不退出本系統,而采用用戶注銷的方式使系統不存在激活狀態下的用戶。
(1)用戶登錄:
用戶根據用戶名、密碼登錄進系統進行操作。(2)用戶注銷:
注銷當前用戶,但不退出系統。(3)退出系統:
用戶退出系統。
1.2.2用戶登錄功能流程圖:
輸入用戶名密碼判斷是否正確登陸成功
1.3 倉庫管理功能需求
1.3.1倉庫管理功能模塊
倉庫管理倉庫進貨倉庫退貨倉庫領料倉庫退料倉庫盤點
倉庫管理系統中.,包括倉庫進貨、倉庫退貨、倉庫領料、倉庫退料和倉庫盤點 6個功能模塊組成。倉庫管理系統是整個倉庫信息系統的核心..是所有數據的來源。用戶通過本系統的使用..可以使倉庫的空間得以優化,減低無效和冗余的作業,使庫存精度更準確,庫 存周轉率提高及庫存資金占用減少。
(1)倉庫進貨:
本功能要求操作員輸入進貨的貨物型號以及數量,并更新到數據庫當中,打印出報表。
(2)倉庫退貨:
本功能可以實現退貨的功能,要求操作員填寫退貨信息,更新到數據庫中,并且打印報表。
(3)倉庫領料:
本功能實現工廠的職工從倉庫中領料的功能,更新到數據庫中,并且打印報表。
(4)倉庫退料:
本功能實現工廠的職工從倉庫中退料的功能,更新到數據庫中,并且打印報表。
(5)倉庫盤點:
本功能實現對倉庫中貨物信息的查詢。
1.3.2倉庫進貨流程圖
填寫進貨單進貨更新數據庫生產進貨報表
1.3.3倉庫退貨流程圖
填寫退貨單退貨更新數據庫生產退貨報表
1.3.4倉庫領料流程圖
填寫領料單領料更新數據庫生產領料報表6
1.3.5倉庫退料流程圖
填寫退料單退料更新數據庫生產退料報表
1.3.6倉庫盤點流程圖
填寫盤點貨物盤點更新數據庫生產盤點貨物報表
1.4 查詢功能需求
1.4.1查詢功能模塊
查詢庫存查詢出入庫查詢
(1)庫存查詢:
本功能實現管理員對倉庫商品庫存的查詢,由管理員填寫查詢請求,并有數據庫返回查詢結果。
(2)出入庫查詢:
本功能實現管理員對倉庫貨物出入庫立即記錄的查詢,由管理員填寫查詢要求,由數據庫返回查詢結果。
1.4.2庫存查詢流程圖
輸入查詢條件到數據庫查詢生成查詢信息
1.4.3出入庫查詢流程圖
輸入查詢條件到數據庫查詢生成查詢信息
二、倉庫管理系統系統的建模
2.1 用例圖的建立
2.1.1操作員的用例圖:
倉庫領料用戶登錄倉庫進貨退出系統倉庫退貨操作員用戶注銷倉庫退料
2.1.2管理員用例圖:
供應商信息維護用戶登錄倉庫信息維護用戶注銷倉庫盤點管理員退出系統庫存查詢倉庫歷史記錄查詢 9
2.1.3總用例圖:
倉庫進貨商品領料人商品調撥倉庫退貨倉庫盤點倉庫信息維護倉庫領料庫存查詢操作員商品供應商管理員業務分析商品退料用戶注銷退出登錄用戶登錄供應商信息維護倉庫歷史記錄查詢商品退料人
2.2 時序圖的生成
2.2.1倉庫盤點時序圖:
操作員管理員商品盤點模塊信息打印模塊
1、盤點信息
2、審核后盤點信息
3、盤點信息列表
4、盤點信息打印表
2.2.2倉庫管理時序圖:
操作員管理員進貨模塊退貨模塊進貨進貨清單進貨報表退貨退貨清單退貨報表
2.2.4查詢時序圖:
管理員歷史記錄查詢模塊退換貨模塊庫存信息模塊查詢條件查詢信息退換貨信息查詢條件查詢信息庫存信息
2.3 活動圖的生成
2.3.1入庫活動圖:
進貨輸入名稱輸入型號入庫填寫進貨單
存儲信息 2.3.2出庫活動圖:
核對領料單重新填寫領料單失敗取消查詢庫存取消發放物料成功不滿足進貨進貨滿足更新庫存存儲信息
2.3.3查詢活動圖:
輸入查詢條件查詢輸出查詢結果繼續查詢存在取消
三、類圖的生成
供應商-供應商ID供應零件名稱1...n管理1操作員-姓名-年齡-性別-工作號+修改()管理員管理1...n1-姓名-年齡-性別-工作號+修改()1...n1..n1...n1...n入庫單領料單-時間-操作員ID-數目-價格+填寫()+查詢()+更改()物料匯總表+增加()+刪除()+查詢()-時間-數量-使用部門+填寫()+查詢()+更改()物料-名稱-型號-庫存量
第二篇:倉庫管理系統課程設計 UML
無錫職業技術學院實踐環節材料撰寫用紙
二、倉庫信息管理系統分析與設計
(一)《倉庫信息管理系統》的需求建模
1、需求分析
倉庫信息管理系統要能完成以下功能:
倉庫存放的貨物品種繁多,堆存方式以及處理方式也非常復雜,隨著業務量的增加,倉庫管理者需要處理的信息量會大幅上升,因此往往很難及時準確的掌握整個倉庫的運作狀態。針對這一情況,為了減輕倉庫管理員和操作員的工作負擔,此系統在滿足倉庫的基本管理功能基礎上發揮信息系統的智能化。
根據要求可將系統分為四個模塊(1)用戶登錄模塊
普通操作員和管理人員登錄此系統,執行倉庫管理的一些操作,但是普通操作員和管理人員所能執行的功能不一樣。(2)倉庫管理模塊
管理員工作需要登陸系統,才能夠進行操作,系統中的各項數據都不允許外人隨便查看和更改,所以設置登陸模塊是必須的。可以執行倉庫進貨,退貨,領料,退料;商品調撥,倉庫盤點等功能。(3)業務查詢模塊
在用戶登錄系統后,可以執行庫存查詢,銷售查詢,倉庫歷史記錄查詢。
(4)系統設置模塊
顯示當前倉庫系統中的信息,在系統中可以執行供應商設置,倉庫設置。
2、功能模塊分析(1)登錄模塊
? 普通操作員:顯示當天倉庫中的所有庫存的信息。? 管理員:修改倉庫中的庫存信息。
? 用戶注銷:在用戶執行完倉庫功能時,注銷。? 用戶退出。(2)管理模塊
? 倉庫庫存的進貨與退貨;
? 倉庫中的庫存需要領料和退料功能;
? 倉庫也可以完成不同地區的商品在此倉庫的商品調撥任務; ? 用戶人員也可以在當天之后對倉庫中的庫存進行盤點。(3)查詢模塊
? 顯示當前倉庫商品信息,并執行庫存查詢; ? 顯示倉庫信息,對商品的銷售量進行查詢; ? 此系統還可以對倉庫歷史記錄進行查詢。(4)設置模塊
? 供應商設置 ? 倉庫設置
3、工作內容及要求
? 進一步細化需求分析的內容,識別出系統的參與者,并完成用例圖; 無錫職業技術學院實踐環節材料撰寫用紙
將用例圖中的每個用例都寫成相應的事件流文檔;
進一步使用活動圖來描述每個用例,為后續的系統設計做好準備;
按照系統的功能分析,從用例的描述中提取出系統的對象類和界面類,建立類圖;
分析類圖中的實體類和實體類之間的關系,畫出數據庫的邏輯模型圖(只包含實體類,且注明角色和階元)。
? 對數據庫的邏輯模型進行優化,取消多對多的聯系,完成最終的邏輯模型設計; ? 使用交互作用圖或狀態機圖完成系統動態行為的建模。(建議使用順序圖按功能分別描述)
4、創建SRS文檔:
? 引言
? 倉庫管理系統將24小時為用戶服務。? 用途
? SRS文檔將作為SDLC設計和編碼階段的輸入。? 作用域
? 管理員直接對系統進行管理。? 功能性需求
? 操作員需要取得管理員的認可才可以登錄此系統。? 操作員可以查詢庫存的信息。
? 系統管理員可以管理登錄系統以后對倉庫進行管理
? 因為不是每個人都可以隨便修改系統的,所以系統管理員可以登錄進系統以后對用戶的權限信息進行管理。
? 界面需求
? 界面應該清晰易懂。? 運行環境
? 此系統可以在網絡上進行運行。? ? ? ? 無錫職業技術學院實踐環節材料撰寫用紙
用例圖如下:
分析:操作員在進行驗證后登陸系統,可以執行商品的進退貨的記錄信息的查詢與管理等操作。
用戶登錄**倉庫領料倉庫進貨**退出系統****商品調撥**操作員****用戶注銷*倉庫退料*倉庫退貨c
圖1 操作員用例圖
分析:此用戶是管理員,可以對倉庫信息進行維護,倉庫商品進行盤點,業務分析,歷史記錄查詢,供應商信息維護和倉庫查詢操作。
無錫職業技術學院實踐環節材料撰寫用紙
倉庫信息維護用戶登錄****用戶注銷******管理員***退出系統倉庫盤點*倉庫查詢**供應商信息維護*業務分析歷史記錄查詢*
圖2 管理員用例圖
分析:該用戶為供應商,可以對執行倉庫進貨和退貨的查詢與管理操作。
倉庫進貨***商品供應商*倉庫退貨
圖3 供應商用例圖
(二)《倉庫管理系統》的靜態建模
靜態建模用于描述軟件的靜態成分,又叫結構建模。它包含類關系圖和對象關系圖。用于描述軟件系統的成分之間的關系和依賴性。1)類的分析與設計
? 確定初始類圖 ? 提取類的屬性 ? 提取類的操作 無錫職業技術學院實踐環節材料撰寫用紙
? 類之間的關系
去除不必要的類和不正確的類:
1.冗余類:若兩個類表述同一信息,保留最具有描述能力的類; 2.不相干的類:去掉與問題沒有多少關系和根本不相關的類;
3.模糊類:類必須是確定的,有些臨時類邊界定義不對,或范圍太廣,應排除; 4.屬性:如果有些名詞是用來描述某個類的,那么它一定是這個類的屬性。5.操作:如果所描述的操作并不適用于對象并且被自身所操作,那么這一定不是類。這樣可以得到相關的三種類關系: ? 人員信息包類圖 ? 接口信息包類圖 ? 系統事務信息包類圖 2)確定類之間的關系
兩個類之間的相互依賴就是關聯,關聯常用描述性動詞或動詞組來表示,其中有物理位置的表示、傳導的動作、通信、所有者關系及條件的滿足等等。通過以上方法可以確定類圖:
① 人員信息包類圖里包含:操作員類、管理員類、供應商類、商品進貨模塊類、商品退換模塊類、商品打印模塊類、庫存查詢模塊類、商品盤點模塊類、歷史信息查詢模塊類和商品調撥模塊類。
無錫職業技術學院實踐環節材料撰寫用紙
**操作員-姓名-id號-權限+倉庫進貨()*+倉庫退貨()+倉庫領料()+倉庫退料()+商品調撥()*+用戶登錄()+用戶注銷()+退出系統()+盤點信息打印報表()+進貨商品打印報表()*+退換商品打印報表()+商品庫存信息()**商品進貨模塊+商品清單()+退貨清單()+查詢信息()庫存查詢模塊**商品打印模塊*
圖4 人員信息包類圖
供應商-供應商姓名-供應商id號-聯系方法+進貨()+退貨()*1管理員-姓名-id號-權限+供應商信息維護()+倉庫信息維護()+盤點信息()+倉庫查詢()+業務分析()+用戶注銷()+退出系統()+歷史記錄查詢()+用戶登錄()+查詢結果()*歷史信息查詢模塊*+查詢條件()+進貨記錄()+商品調撥記錄()+商品盤點信息()*********商品退換模塊*商品盤點模塊*+審核后盤點信息()+查詢信息()**商品調撥模塊+查詢信息()+查詢條件()*+盤點信息列表()8 無錫職業技術學院實踐環節材料撰寫用紙
② 接口信息包類圖里包含:用戶登錄類、倉庫管理類、系統管理類和業務查詢類。
倉庫管理+倉庫進貨()+倉庫退貨()+倉庫領料()+倉庫退料()+倉庫調撥()+倉庫盤點()用戶登錄+用戶登錄()+用戶注銷()+退出系統()系統設置-供應商設置-倉庫信息維護業務查詢+庫存查詢()+業務分析()+歷史記錄查詢()
圖5 接口信息包類圖
③系統事務信息包類圖包含:用戶登錄類、供應商管理類、業務分析類、查詢歷史信息類、倉庫信息維護類、領料類、退料類、退換類、盤點類、調撥類和倉庫查詢類。
無錫職業技術學院實踐環節材料撰寫用紙
調撥供應商管理-該操作id號-日期-管理員id號+增加供應商()倉庫信息維護-該操作id號-日期退料用戶登錄-該操作id號-登錄日期-登錄人id-name+用戶登錄()+用戶注銷()+退出系統()退貨-交易id-日期-操作員-交易id-日期-退料人-操作員倉庫查詢-該操作id-日期領料-交易id-日期-領料員-操作員查詢歷史信息-該操作id-日期業務分析-操作id號-日期-管理員id+opname()盤點-交易id-日期-管理員id-倉庫id
圖6 系統事務信息包類圖
(三)《倉庫管理系統》的動態建模
在完成靜態建模后,需要對系統實現動態建模。需要創建
? 活動關系圖:表示系統的靜態成分為了完成過程需要執行的活動的順序;
? 交互關系圖:表示軟件系統靜態成分之間的交互,常用序列關系圖和通信關系圖。(1)活動關系圖
活動關系圖是用來對特定過程的控制流進行建模。
分析:管理員在登錄系統后,查看銷售記錄和查看商品庫存情況,如果缺貨就通知操作員缺貨商品清單,操作員即可聯系供應商按缺貨清單提供貨物,然后管理員更新數據庫結束,如果不缺貨直接結束。
無錫職業技術學院實踐環節材料撰寫用紙
通知操作員缺貨商品清單查看銷售記錄聯系供應商按缺貨清單提供貨物查看商品庫存情況[ 缺貨] 接受貨物更新庫存數據庫[ 不缺貨 ]
圖7 倉庫系統的活動圖
(2)交互關系圖:通信關系圖、序列關系圖
①通信關系圖以消息的形式表示對象之間的交互。通信圖集中在活動著的對象上,表現的是相互通信的對象之間的消息傳遞,不參照時間。通信圖通過在消息上加序號表示消息傳遞的次序。序列號放在消息之前作為消息的前綴。
注:通信關系圖不描繪對象的生命線。A.管理員盤點過程協助圖
分析:操作員把盤點信息發送給管理員,管理員審查后盤點信息,在倉庫商品盤點模塊中盤點信息列表,然后交由信息打印模塊打印盤點信息列表,給操作員。
無錫職業技術學院實踐環節材料撰寫用紙
操作員盤點信息管理員盤點信息打印列表審查后盤點信息商品信息打印模塊盤點信息列表商品盤點模塊
圖8 管理員盤點過程協作圖
B.商品管理協作圖
分析:操作員通知供應商進貨,供應商打印出進貨清單,操作員也可以對進貨退貨進行管理,供應商打印出退貨清單。
商品進貨進貨商印品打報表進貨清單操作員退貨商品供應商表庫存查詢商品退換退貨清單庫存信息進貨商品打印報
圖9 商品管理協作圖 無錫職業技術學院實踐環節材料撰寫用紙
C.倉庫歷史記錄查詢協作圖
分析:管理員應該先登錄系統。當管理員登錄系統以后,可以查詢歷史信息,看到商品進貨、商品盤點、商品調撥的歷史記錄。
商品進貨管理員查詢條件歷史信息查詢進貨、退貨記錄查詢條件商品調撥商品盤點圖10 倉庫歷史記錄查詢協作圖
②序列關系圖
序列關系圖以按時間排序的消息形式來表示對象之間的交互。序列關系圖和通信關系圖的區別在于通信關系圖情調對象的組織結構,而序列關系圖則按時間順序顯示對象之間交互的消息。在序列關系圖中,可以沿x軸方向排列對象。將啟動交互的對象放在最左邊。消息序列中后來的對象則放在交互啟動對象的右邊。在交互中,對象發送和接收的消息按時間升序沿y軸防止。
注:和通信關系圖不同,序列關系圖描述對象生命線。
A.倉庫盤點過程序列圖 分析:操作員將盤點信息發送給管理員,管理員審查盤點信息,然后盤點信息列表交給商品打印模塊打印后發給操作員執行相關商品操作。
商品盤點信息
無錫職業技術學院實踐環節材料撰寫用紙
操作員管理員商品盤點模塊商品打印模塊盤點信息盤點信息列表()審核后盤點信息盤點信息打印報表()
圖11 倉庫盤點過程序列圖
B.商品管理序列圖
分析:操作通知商品供應商進貨、退貨,商品供應商將商品清單和退貨商品清單發送給商品進貨模塊,商品進貨模塊將進貨商品打印報表給操作員,商品退貨模塊將商品退換報表打印發給操作員,操作員也可以查詢庫存,庫存庫存模塊將庫存查詢信息發送給操作員。
無錫職業技術學院實踐環節材料撰寫用紙
操作員商品供應商商品進貨模塊商品退換模塊進貨()商品清單()進貨商品打印報表()退貨清單()退貨()退換商品打印報表()查詢條件()商品庫存信息
圖12 商品管理序列圖
C.倉庫歷史記錄序列圖
分析:管理員登錄系統查詢歷史信息模塊,歷史信息則查詢商品進貨退貨模塊、商品調撥模塊、商品盤點模塊,之后各模塊將查詢得到的信息發送給歷史信息模塊,最后由歷史信息模塊統一將信息發給管理員。
無錫職業技術學院實踐環節材料撰寫用紙
管理員歷史信息查詢模塊商品進貨退貨模塊商品調撥模塊商品盤點模塊查詢信息()查詢條件()進貨記錄()查詢信息()商品調撥記錄()查詢信息()商品盤點信息()查詢結果()
圖13 倉庫歷史記錄序列圖 無錫職業技術學院實踐環節材料撰寫用紙
(四)《倉庫管理系統》的架構建模
架構建模使您能夠了解組件在組織網絡中的物理分布。您需要對軟件系統的架構進行建模以確定組件的設計是否符合軟件系統的需要。軟件架構描述軟件按系統的所有組件以及這些組件之間的關系。要對系統軟件的架構進行建模,您需要創建以下關系圖:
? 包關系圖:描述根據特定條件分組在一起的軟件系統構成。? 組件關系圖:描述軟件系統的可執行構成。
? 部署關系圖:描述軟件系統組件的各種處理設備。
a)組件關系圖:組件可實現一組接口并構成軟件系統的可執行部分。
分析:該圖是系統的各個組件圖,由系統登錄、倉庫管理管理、信息查詢、系統設置。
倉庫管理信息查詢系統登錄系統設置
圖14 組件關系圖
b)部署關系圖:顯示需要在其中部署軟件組件的硬件。
分析:下圖表明系統采用數據庫系統作為后臺數據提供者,然后客戶登錄使用系統,也可以對系統中的信息進行打印操作。
無錫職業技術學院實踐環節材料撰寫用紙
數據服務器客戶機1客戶機n打印機
圖15 部署關系圖
第三篇:UML食堂售飯系統分析與設計
食堂售飯系統分析與設計
目錄
1.需求分析與描述.............................................................................1 1.1 需求分析.................................................................................1 1.2 用例分析.................................................................................1 1.3 用例模型圖.............................................................................3 1.4 用例事件流描述.....................................................................4 2.領域模型分析...................................................................................7 3.工作流程分析...................................................................................8
食堂售飯系統分析與設計
1.需求分析與描述
1.1 需求分析
? 持卡人:辦理新飯卡,給飯卡充值,注銷飯卡,掛失/撤銷掛失飯卡,補辦新卡,退還飯卡,使用飯卡消費,查看個人消費的明細。? 管理部門:通過計算機系統具體實現持卡人需求中的項目。
? 食堂工作人員:通過自動售飯機輸入飯菜的金額,通過計算機系統對當天的營業情況進行匯總統計。
1.2 用例分析
1)系統的邊界
對于系統邊界,系統首先會包含需求分析中所需要軟件實現的各項功能,此外還須確定食堂售飯系統是否包括管理部門和食堂工作人員。
就食堂售飯系統而言,其主要功能是讓用戶(即持卡人)享受服務(即用飯卡使購買飯菜的過程繞過了付款及找零的環節,提高了服務效率),而管理部門和食堂工作人員的作用都是為了使用戶免于對系統的直接操作而設置的,因而此兩者應歸為食堂售飯系統的內部,相當于用戶和具體的計算機軟硬件系統之間的接口。
2)系統的執行者
持卡人需要通過食堂售飯系統來使用其所持有飯卡買飯,因而是整個系統的執行者;
管理部門根據持卡人的需求操作計算機系統從而實現與飯卡相關信息的管理,相當于其中飯卡信息管理子系統的使用者,是位于食堂售飯系統內部的執行者;
食堂工作人員同樣通過操作計算機系統來實現購買飯菜過程中的扣費
食堂售飯系統分析與設計
功能以及對營業情況進行的匯總統計的功能,相當于其中消費處理與統計子系統的使用者,也是位于食堂售飯系統內部的執行者。
這樣得到了系統中的執行者: ? 持卡人 ? 管理部門 ? 食堂工作人員
3)系統的用例
根據用戶需求及執行者的分析,得到系統的用例如下: ? 辦理新飯卡 ? 飯卡充值 ? 注銷飯卡
? 掛失/撤銷掛失飯卡 ? 補辦飯卡 ? 退還飯卡
? 查看個人消費的明細
? 扣除飯卡費用(對應于持卡人使用飯卡消費)? 匯總統計
食堂售飯系統分析與設計
1.3 用例模型圖
根據前面的分析,可以得到系統的用例模型圖,如上圖所示。對其中3個執行者和8個用例的簡單描述如下:
執行者:
? 持卡人:飯卡的持有者,通過食堂工作人員的操作直接使用飯卡進行消費,并通過管理部門對其飯卡進行管理。
? 管理部門:負責根據持卡人的需求操作計算機系統,從而實現辦新卡、充值、注銷、掛失/撤銷掛失,補卡、退卡、查看消費明細等功能。? 食堂工作人員:負責根據飯菜的金額操作自動售飯機實現扣費功能,沒隔一段時間對營業情況進行匯總統計并打印出相關文檔。
食堂售飯系統分析與設計
用例:
? 辦理新飯卡:管理部門人員負責在用戶申請新卡時替用戶辦理新飯卡。? 飯卡充值:管理部門人員負責根據持卡人所給的金額向飯卡中追加存款金額。
? 注銷飯卡:管理部門人員負責在持卡人補辦新卡或退卡時注銷其原有飯卡。
? 掛失/撤銷掛失飯卡:管理部門人員負責在持卡人因飯卡遺失申請掛失時進行掛失飯卡操作,在其找回飯卡時撤銷對飯卡的掛失。
? 補辦飯卡:管理部門人員負責在持卡人確認飯卡丟失或者損壞時替其補辦飯卡,更改飯卡版本號,并實現只能使用最新版本號的飯卡。? 退還飯卡:管理部門人員負責在持卡人申請退卡時清除卡內信息,退還剩余金額和押金。
? 查看個人消費的明細:管理部門人員負責在持卡人申請查看其消費明細時執行次操作。
? 扣除飯卡費用:食堂工作人員負責在持卡人持卡消費時根據飯菜的價格對飯卡進行扣費操作。
? 匯總統計:食堂工作人員負責在每天營業結束后對營業情況進行匯總統計并打印相關報表。
1.4 用例事件流描述
1.辦理新飯卡
? 基本流
1.用戶申請辦理新飯卡
2.管理部門收取其押金和存款,記錄持卡人相關信息 3.管理部門創建新飯卡的相關信息 4.用戶領取新飯卡 ? 備選流
無
食堂售飯系統分析與設計
2.飯卡充值
? 基本流
1.持卡人申請對飯卡充值 2.管理部門向持卡人收取現金
3.管理部門根據持卡人要求向飯卡中充值 ? 備選流
3.a 如果收取現金金額大于充值額度,管理部門向持卡人找零
3.注銷飯卡
? 基本流
1.持卡人申請注銷飯卡 2.管理部門注銷飯卡 ? 備選流
無
4.掛失/撤銷掛失飯卡
? 基本流
1.持卡人申請掛失/撤銷掛失飯卡 2.管理部門執行相應操作 ? 備選流
無
5.補辦新卡
? 基本流
1.持卡人申請補辦新卡
2.管理部門注銷持卡人原有飯卡,讀出余額,清除卡內信息 3.管理部門創建新飯卡的相關信息 4.管理部門更新持卡人的相關信息
食堂售飯系統分析與設計
5.持卡人領取新飯卡 ? 備選流
無
6.退還飯卡
? 基本流
1.持卡人申請退還飯卡 2.管理部門收回飯卡
3.管理部門將押金退還持卡人并清除卡內信息 ? 備選流
2.a 如果卡內有剩余金額,管理部門想持卡人退還相應金額
7.查看個人消費的明細
? 基本流
1.持卡人申請查看個人消費的明細 2.管理部門讓持卡人輸入飯卡密碼 3.持卡人查看其消費的明細 ? 備選流
2.a 如果飯卡密碼錯誤,給出提示,結束
8.扣除飯卡費用(對應于持卡人使用飯卡消費)
? 基本流
1.持卡人購買飯菜,將飯卡放到自動售飯機上 2.食堂工作人員在自動售飯機上輸入飯菜的金額 3.自動售飯機查詢飯卡余額 4.卡內金額扣除 ? 備選流
3.a 如果卡中金額不夠用,給出提示,結束 4.a 如果卡內金額低于底線,給出提示,結束
食堂售飯系統分析與設計
9.匯總統計
? 基本流
1.食堂工作人員按需求對營業情況進行匯總統計 2.打印相關報表 ? 備選流
無
2.領域模型分析
食堂售飯系統分析與設計
3.工作流程分析
辦理新卡
飯卡充值
食堂售飯系統分析與設計
掛失/撤銷掛失飯卡
補辦飯卡
食堂售飯系統分析與設計
查看個人信息明細
注銷飯卡
食堂售飯系統分析與設計
退還飯卡
扣除金額
食堂售飯系統分析與設計
匯總統計
第四篇:圖書管理系統UML分析與設計
1.系統需求
系統的功能性需求描述如下:
·
圖書管理系統為管理員提供主功能界面。
·
圖書管理系統在啟動時要求管理員輸人口令,只有口令正確,才可以進入系統的主功能界面。
·
管理員負責對圖書管理系統的維護工作,因此系統應賦予管理員對圖書信息、讀者信息和出版社信息進行錄入、修改、查詢和刪除等功能的操作權限。
·
管理員作為讀者的代理實現借書與還書業務。
·
圖書信息、讀者信息和出版社信息保存在對應的數據庫表中。
在上述功能性需求分析的基礎上,可以寫出較為詳細的需求規格說明書,作為進行系統分析、設計和實現的依據。需求分析規格說明書由系統最終用戶提出需求,系統分析人員負責編寫。圖書管理系統需求分析規格說明書如下:
·
這是一個圖書館圖書借閱管理的應用系統;
·
圖書管理系統負責將圖書、雜志借給讀者,前提條件是這些讀者在系統進行了注冊,圖書和雜志也在系統中進行了注冊;
·
圖書館負責新書的購買,當書和雜志已經過時或者破舊不堪時,可以將這些圖書和雜志從圖書館管理系統中刪除;
·
圖書管理員是圖書館的員工,負責與讀者打交道,并且是在系統提供的支持下開展工作;
·
圖書管理系統能夠容易地建立、修改和刪除系統中的信息,包括圖書信息、讀者信息、以及出版社信息等;
·
圖書管理系統能夠在所有流行的平臺環境(windows,uNIx等操作系統)上運行,并具有一個美觀的圖書用戶界面;
·
圖書管理系統容易擴展新功能。
2.分析建模
? Use case diagram 分析
采用下列描述項撰寫用例的腳本。
· 用例名稱——表明用戶的意圖或用例的用途。
· 參與者——與該用例相關的參與者列表。
· 前置條件——一個條件列表,如果其中包含條件,則這些條件必須在訪問用例之前得到滿足。
· 后置條件——一個條件列表,如果其中包含條件,則這些條件將在用例完成以后得到滿足。
· 基本事件流——描述用例中各項活動都正常進行時用例的工作方式。
· 分支事件流——描述用例中某項活動的子活動各項工作都正常進行時用例的工作式。
· 異常事件流——描述用例的變更工作方式,以及出現異常或發生錯誤的情況下所執行的路徑。
圖書管理系統中每個用例的腳本描述如下:
1.系統登錄
用例名稱:系統登錄
參與者:圖書管理員 1.1前置條件 無
1.2后置條件
如果用例成功,參與者可以啟動系統,使用系統提供的功能。反之,系統的狀態不發生變化。
1.3基本事件流
當圖書管理員登錄系統時,用例啟動。
①系統提示用戶輸入用戶名和密碼。
②用戶輸入用戶名和密碼。
③系統驗證輸入的用戶名和密碼,若正確,則用戶登錄到系統中。
1.4異常事件流
如果用戶輸入無效的用戶名/密碼,則系統顯示錯誤信息。用戶可以選擇返回基本事件流的起始點,重新輸入正確的用戶名/密碼;或者取消登錄,用例結束。
2.圖書借閱
用例名稱:借閱圖書
參與者:讀者,圖書管理員 2.1前置條件
在這個用例開始之前,圖書管理員必須登錄到系統;否則,系統的狀態不發生變化。
2.2后置條件
如果這個用例成功實現,則在系統中創建并存儲借閱記錄。2.3基本事件流
當讀者借閱圖書時,用例啟動。
①登錄系統。
②輸人圖書ID和讀者ID。
③檢索讀者ID。
④檢索圖書ID。
⑤根據時間算法確定圖書借出日期和歸還日期。
⑥圖書館將圖書借給讀者。
⑦創建借閱記錄。
⑧存儲借閱記錄。2.4異常事件流
①如果讀者未注冊,則系統顯示提示信息,用例被終止。
②如果要借圖書不存在,系統顯示提示信息,用例被終止。
③如果要借圖書都已借出,則系統提示信息,用例被終止。3.圖書歸還
用例名稱:圖書歸還
參與者:讀者,圖書管理員 3.1前置條件
在這個用例開始之前,圖書管理員必須登錄到系統;否則,系統的狀態不發生變化。
3.2后置條件
如果這個用例成功實現,則系統刪除借閱記錄;否則,系統的狀態不發生變化。3.3基本事件流
當讀者歸還借閱的圖書時,用例被啟動。
①登錄系統。
②輸入圖書ID和讀者ID。③檢索圖書ID。
④檢索讀者ID。
⑤查詢圖書借閱記錄。⑥刪除借閱記錄。3.4異常事件流
①如果歸還圖書不存在,則系統顯示提示信息,用例被終止。②如果借閱記錄不存在,則系統顯示提示信息,用例被終止。4.讀者維護
用例名稱:讀者維護 ‘ 參與者:圖書管理員 ’ 4.1前置條件
在這個用例開始之前,圖書管理員必須登錄到系統;否則,系統的狀態不發生變化。4.2后置條件
如果這個用例成功地實現,則系統添加、修改或檢索讀者信息;否則,系統的狀態不發生變化。
4.3基本事件流
當圖書管理員維護讀者信息時,用例被啟動。①登錄系統。
②如果選擇的活動是“添加讀者信息”,則執行分支事件流4.3.1:添加讀者信息。③如果選擇的活動是“修改讀者信息”,則執行分支事件流4.3.2:修改讀者信息。④如果選擇的活動是“檢索讀者信息”,則執行分支事件流4.3.3:檢索讀者信息。4.3.1分支事件流
①提供讀者的信息,例如,讀者ID,讀者姓名、電話號碼等。②系統存儲讀者信息。4.3.2分支事件流 ①輸入讀者ID。
②查詢并顯示讀者信息。③更新系統中讀者信息。4.3.3分支事件流 ①輸入讀者ID。
②查詢并顯示讀者信息。4.4異常事件流
①如果讀者已經存在,則系統顯示提示信息,用例被終止。②如果查詢不到讀者,則系統顯示提示信息,用例被終止。5.圖書維護
用例名稱:圖書維護 參與者:圖書管理員 5.1前置條件
在這個用例開始之前,圖書管理員必須登錄到系統;否則,系統的狀態不發生變化。5.2后置條件
如果這個用例成功實現,則系統添加、修改或檢索圖書信息;否則,系統的狀態不發生變化。
5.3基本事件流
當圖書管理員維護圖書信息時,用例被啟動。①登錄系統。
②如果選擇的活動是“添加圖書信息”,則執行分支事件流5.3.1:添加圖書信息。③如果選擇的活動是“修改圖書信息”,則執行分支事件流5.3.2:修改圖書信息。④如果選擇的活動是“檢索圖書信息”,則執行分支事件流5.3.3:檢索圖書信息。5.3.1分支事件流
①提供圖書的信息,例如,圖書ID,圖書名稱、編著者、出版社、價格、出版年份籌 ②系統存儲圖書信息。5.3.2分支事件流 ①輸人圖書ID。
②查詢并顯示圖書信息。⑨更新系統中圖書信息。5.3.3分支事件流 ①輸入圖書ID。
②查詢并顯示圖書信息。5.4異常事件流
①如果該圖書已經存在,則系統顯示提示信息,用例被終止。②如果查詢不到該圖書,則系統顯示提示信息,用例被終止。
系統總體功能結構
? 根據用例圖定義分析包以及分析包(子系統)之間的關系。
圖書管理系統分析包詳細結構
? 定義類、用例實現(序列圖)、類關系圖(1)系統登錄
類圖:
系統登錄分析類圖
用例實現:
登錄系統成功順序圖
登錄系統失敗順序圖
(2)登錄圖書信息
類圖:
登錄圖書信息分析類圖
用例實現:
登錄圖書信息順序圖
(3)修改圖書信息
類圖:
修改圖書信息分析類圖
用例實現:
修改圖書信息順序圖
(4)檢索圖書信息
類圖:
檢索圖書信息分析類圖
用例實現:
檢索圖書信息順序圖
(5)借閱圖書 類圖:
借閱圖書分析類圖
用例實現:
借閱圖書順序圖
(6)歸還圖書
類圖:
歸還圖書分析類圖
用例實現:
歸還圖書順序圖
(7)借出圖書一覽表
類圖:
借出圖書一覽表分析類圖
用例實現:
借出圖書一覽表順序圖
(8)類關系圖
系統實體類(業務類)之間的關系
(9)類的具體定義
1.圖書表類
編號:A—l一0l
類名:圖書表
職責:存放圖書館所能處理的所有圖書的基本信息
屬性:圖書代號,圖書名稱,編著者,ISBN代碼,出版社代碼,出版年份,頁數,價格,購入日期,過期日期,書架代碼,備注
說明:該類存放所有圖書類的公用信息,它是“圖書借閱表”的父類。圖書也有身份,可以通過不同的ISBN相區別。在圖書管理系統中,圖書也有相關的行為,圖書因為使用期限等可以被銷毀,所以圖書表也是系統中的一個對象。
2.登錄圖書界面類
編號:A一1—02
類名:登錄圖書界面
職責:提供輸入所有圖書信息的界面
屬性:圖書代號,圖書名稱,編著者,ISBN代碼,出版社代碼,出版年份,頁數,價格,購入日期,過期日期,書架代碼,備注
說明:該類的所有屬性是非持久性的,但它為用戶保存永久性的圖書屬性提供了一個臨時的輸入接口。
3.登錄圖書信息控制類
編號:A—l—03
類名:登錄圖書信息控制類
職責:實現登錄圖書界面類與圖書表類所提供信息的交互。
屬性:圖書代號,圖書名稱,編著者,ISBN代碼,出版社代碼,出版年份,頁數,價 格,購人日期,過期日期,書架代碼,備注
說明:該類的所有屬性是非持久性的,但它為用戶保存永久性的圖書屬性提供了一 個臨時的輸人接口。
4.出版社表類
編號:B—l—01
類名:出版社表
職責:存放圖書表所使用的所有圖書的出版單位
屬性:出版社代碼,出版社名稱
說明:該類與出版社表之間存在著單向關聯的關系。
5.讀者表類
編號:C一1一Ol
類名:讀者表
職責:存放圖書館的所有讀者的基本信息
屬性:讀者代碼,讀者名,聯絡電話
說明:該類類描述了物理借閱者的信息,代表了系統中存儲的物理借閱者的信息,即物理借閱者在系統中的賬戶。同時,讀者表又是圖書借閱表的組成成分之一。
6.圖書借閱表類
編號:D—l—01
類名:圖書借閱表
職責:存放圖書館所能處理的所有圖書的基本信息
屬性:圖書代號,讀者代號,借書日期,還書日期,說明:該類描述了從圖書館借閱圖書的借閱記錄。一個該類的對象對應一個借閱者和一本圖書。該類的對象的存在表示借閱者借閱了借閱記錄中記錄的物理圖書。當圖書被歸還時,要刪除借閱記錄(對象)。
? 形成系統分析規約(注意規約可能會有活動圖、狀態圖等)
3.系統設計
設計模型的主要工作: 1).軟件平臺設計
軟件平臺是系統開發和運行的環境。圖書管理系統的開發和運行環境如下:
· 操作系統——操作系統是計算機系統中最重要的系統軟件。圖書管理系統可以運行在Windows 95/98/2000/NT/Windows XP等桌面操作系統上。
· 支撐軟件——支撐軟件是協助人們開發和維護軟件的工具和環境軟件。數據庫系統、集成開發環境等都屬于支撐型軟件,例如,Delphi、Oracle、Java等。圖書管理系統使用的DBMS是Access 2003,數據庫中間件是JDBC。
· CASE平臺——采用CASE開發環境可保證系統開發質量,提高開發效率,保證文檔的一致性。圖書管理系統的分析、設計j實現和部署模型是在Rose 2003建模環境下創建的,清晰地表達了在不同的開發階段的系統模型。2).結構設計
結構設計是把軟件分解成為多個子系統,并確定出由各子系統及其接口構成的軟件結構。子系統是對軟件分解的一種中間形式,也是組織和描述軟件的一種方法。由多個子系統構成系統軟件,每一個子系統又包括多個用例設計、設計類和接口。結構設計具體要做的工作是將系統劃分成相對獨立、功能相對完整的子系統(包),將系統模型中的元素劃分到不同的包中,說明在什么地方定義包,各個包之間的依賴性和主要通信機制。從而得到盡可能簡單和清晰的結構,各部分之間的依賴盡可能的少,并盡量減少雙向的依賴關系。3).詳細設計與界面設計
詳細設計是對軟件結構中確定出的各個子系統內部的設計,需要分析和確定每一個子系統中的用例設計、設計類和接口。詳細設計還要描述每個類的細節,并用動態模型描述類的實例在具體環境中的行為。
界面設計是對人和外部系統與系統之間交互界面的設計,包括輸入界面、輸出界面和輸入/輸出界面的設計。另外,界面設計還涉及到人機交互方式、人機交互流程、輸入輸出設備和媒體等內容。4).數據庫設計
數據庫是系統存儲和管理數據的主要技術手段,數據庫設計的任務是根據給定的系統應用需求和系統環境,設計出合理的數據庫結構。數據庫設計可分為概念設計、邏輯設計和物理設計3個階段。用UML進行數據庫設計的主要思想,是利用UML的擴展機制定義一些版型,用于表示與數據庫相關的一些概念。Rose 2003提供了對數據庫設計的支持,所設計的模型可以直接生成具體數據庫中的表、觸發器、存儲過程等。
? 系統結構設計
系統框架視圖
· 用戶界面包(User Interface Package)——用于描述整個用戶界面使用的類,這些類提供的操作允許用戶瀏覽系統中的數據,允許用戶輸入新數據。用戶界面類基于Java AWT包設計,AWT包是Java語言中用于編寫用戶界面應用程序的一個標準庫。用戶界面包與業務模型包相互協作,調用業務模型包中類實例的方法對圖書信息進行檢索和插入操作。
。業務模型包(Business Model Package)——包含分析階段主要的類(借閱圖書類、歸還圖書類、圖書類、讀者類、出版社類)。在設計階段將進一步細化這些類,從而完整地定義它們的操作,并為它們增加永久性存儲支持。業務模型包與數據庫包相互協作,訪問數據庫中的數據。· 數據庫包(Database Package)——為業務模型包中的類提供數據存取服務,以便這些類能夠實現數據的永久性存儲功能。
。組件包(Utility Package)——包含一些可以被系統中其他包所使用的服務。
? 界面設計
? 詳細設計
圖書信息管理詳細設計:
1.設計類圖
“圖書信息管理’’是一個用例,在“圖書信息管理”用例所提取的3個概念類的基礎上,可以確定該用例有3個設計類:登錄圖書信息(LoginBook)、修改圖書信息(UpdateBook)、檢索圖書信息(SelectRook)。如圖13.2所示為“圖書信息管理”用例的設計類圖。
“圖書信息管理”用例設計類圖
·
BpFrame類——屬于用戶界面包,定義系統檢索與修改界面的框架。
·
BpSelectFrame類——屬于用戶界面包,繼承BpFrame類,定義檢索界面框架。
·
BpUpdateFrame類——屬于用戶界面包,繼承BpSelectFrame類,定義系統修改界面框架。
·
SelectBook類——屬于用戶界面包,繼承BpSelectFrame類,與DbChoice類相關聯,顯示圖書信息檢索界面。
·
LoginBook類——屬于業務模型包,繼承BpUpdateFrame類,與DbChoice類相關聯,實現圖書信息登錄功能。
·
UpdateBook類——屬于業務模型包,繼承BpUpdateFrame類,與DbChoice類相關聯,實現圖書信息修改功能。
·
DbChoice類——屬于組件包,定義了用于數據庫操作的實例變量和實例方法。
2.順序圖
為實現用例的功能,每個用例要實現的功能要通過用例中各個類的對象的操作的相互協作完成,這就要在順序圖或協作圖中反映各個對象之間的消息調用過程。如圖13.3所示為添加的圖書ID不重復的情況下“登錄圖書信息”用例的順序圖。
“登錄圖書信息”順序圖
3.屬性和方法設計
用例設計中識別出了大量的設計類,接下來要詳細地設計所識別出來的每一個設計類,即設計類的屬性和方法。屬性設計應該注意的問題是:一要補充屬性分析時沒有考慮到的屬性,確定屬性的全部內容,其中包括屬性名、可視性、范圍、類型、初始值;二要盡量采用系統采用的程序設計語言的語法規范描述屬性。
方法設計包括數據結構設計、算法設計和流程設計。方法設計要注意的是:一要立足于所采用的程序設計語言;二所選用的程序設計語言應該能夠提供豐富的數據結構;三要根據所實現的功能確定算法設計;四是可以用程序流程圖或活動圖來描述流程設計的結果。
如圖所示為添加了屬性和方法“圖書信息管理”用例的設計類圖。
添加屬性和方法后的“圖書信息管理”類圖
LoginBook類的屬性和方法設計如下:
·
sql屬性——定義執行插人操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
LoginBook()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供添加圖書信息界面。
·
cheekInsea()方法——①檢查各輸入項的輸人格式是否正確;②檢查圖書ID是否重復。
·
makelnsertStmt()方法——定義執行插人操作的SQL命令字符串。
·
afterlnsert()方法——清空登錄圖書界面的各輸入項。
SelectBook類的屬性和方法設計如下:
·
sql屬性——定義執行插入操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
SelectBook()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供檢索圖書界面。
·
checkSelect()方法——檢查是否輸入要檢索的圖書ID。
·
makeSelectStmt()方法——定義執行檢索操作的SQL命令字符串。
·
setSelectedData()方法——顯示檢索圖書的結果。
·
clear()方法——清空圖書檢索界面各檢索項。
UpdateBook類的屬性和方法設計如下:
·
sql屬性——定義執行插入操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
UpdateBook()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供檢索圖書界面;③提供修改圖書功能。
·
checkSelect()方法——檢查是否輸人要檢索的圖書ID。
·
makeSelectStmt()方法——定義執行檢索操作的SQL命令字符串。
·
setSelectedData()方法——顯示檢索圖書的結果。
·
clear()方法——清空圖書修改界面各修改項。
·
checkUpdate()方法——檢查各修改項的修改格式是否正確。
·
makeUpdateStmt()方法——定義執行修改操作的SQL命令字符串。
讀者信息管理詳細設計: 1.設計類圖
“讀者信息管理”是一個用例,在“讀者信息管理”用例確定了3個概念類:添加讀者信息、修改讀者信息、檢索讀者信息。但是,該用例的功能相對比較簡單。可以用1個設計類Borrow實現這3個概念類的功能。如圖所示為“讀者信息管理”用例的設計類圖。
圖13.5 “讀者信息管理”用例設計類圖
· Borow類——屬于業務模型包,繼承BpupdateFrame類,實現讀者信息添加修改和檢索功能。
2.順序圖
如圖13.6所示為添加的讀者ID不重復的情況下“添加讀者信息”用例的順序圖。
“添加讀者信息”順序圖
通過分析如圖所示的順序圖,可以得到下圖所示為“讀者信息管理”用例的設計類圖。
圖優化后的“讀者信息管理”用例設計類圖
3.屬性和方法設計
如下圖所示為添加了屬性和方法“讀者信息管理”用例的設計類圖。
添加屬性和方法后的“讀者信息管理”類圖
Borrow類的屬性和方法設計如下:
· sql屬性——定義執行插入操作的SQL命令字符串。
· Borrow()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供添加、修改和檢索讀者信
息界面。
· checkSelect()方法——檢查是否輸入要檢索的讀者ID。
· makeSeleetStmt()方法——定義執行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索讀者的結果。
· ehecklnsert()方法——檢查是否可執行插入操作。
· makeInsertStmt()方法——定義執行插入操作的SQL命令字符串。
· afterlnsert()方法——清空各輸入項。
· checkUpdate()方法——檢查是否可執行修改操作。
· makeUpdateStmt()方法——定義執行修改操作的SQL命令字符串。
· checkData()方法——檢查各輸入項的輸人格式是否正確。
· clear()方法——清空各文本框。
出版社信息管理詳細設計: 1.設計類圖
“出版社信息管理”是一個用例,可以用1個設計類Publish實現添加出版社信息、修改出版社信息、檢索出版社信息3個概念類。如圖13.9所示為“出版社信息管理”用例的設計類圖。
圖13.9 “出版社信息管理”用例設計類圖
· Publish類——屬于業務模型包,繼承BpUpdateFrame類,實現出版社信息添加、修改和檢索功能。
2.順序圖
如圖13.10所示為添加的出版社ID不重復情況下“添加出版社信息”用例的順序圖。
圖13.10 “添加出版社信息”順序圖
3.屬性和方法設計
如圖13.1l所示為添加了屬性和方法“出版社信息管理”用例的設計類圖。
圖13.11 添加屬性和方法后的“出版社信息管理”類圖
Publish類的屬性和方法設計如下:
· sql屬性——定義執行插入操作的SQL命令字符串。
· Publish()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供添加、修改和檢索出版社信息界面。
· checkSelect()方法——檢查是否輸入要檢索的出版社ID。
· makeSelectStmt()方法——定義執行檢索操作的SQL命令字符串。· setSelectedData()方法——顯示檢索出版社的結果。· checklnsert()方法——檢查是否可執行插入操作。
· makeInsertStmt()方法——定義執行插入操作的SQL命令字符串。· afterInsert()方法——清空各輸人項。
· checkUpdate()方法——檢查是否可執行修改操作。
· makeUpdateStmt()方法——定義執行修改操作的SQL命令字符串。· checkData()方法——檢查各輸入項的輸人格式是否正確。· clear()方法——清空各文本框。
圖書借還信息管理詳細設計: 1.設計類圖
“圖書借還信息管理”是一個用例,在“圖書信息管理”用例所提取的4個概念類的基礎上,可以確定該用例有4個設計類:借閱圖書(BorrowBook)、歸還圖書(RetumBook)、借出圖書一覽表(BorrowBookList)和未按期歸還圖書一覽表(OverdueList)。如圖所示為“圖書借還信息管理”用例的設計類圖。
圖“圖書借還信息管理”用例設計類圖
· BorrowBook類——屬于業務模型包,繼承BpUpdateFrame類,與DbChoice類相關聯,實現圖書借閱功能。
· ReturnBook類——屬于業務模型包,繼承BpUpdateFrame類,與DbChoice類相關聯,實現圖書歸還功能。
· BorrowBookList類——屬于業務模型包,繼承BpSelectFrame類,與DbChoice類相關聯,顯示借出圖書清單一覽表。
· OverdueList類——屬于業務模型包,繼承BpSelectFrame類,與DbChoice類相關聯,顯示未按期歸還圖書與讀者清單一覽表。
2.順序圖
如圖所示為讀者ID與圖書ID都存在情況下的“借閱圖書”用例的順序圖。
“登錄圖書信息”順序圖
3.屬性和方法設計
如圖所示為添加了屬性和方法“圖書借還信息管理”用例的設計類圖。
添加屬性和方法后的“圖書借還信息管理”類圖
BorrowBook類的屬性和方法設計如下:
· sql屬性——定義執行插入操作的SQL命令字符串。
· BorrowBook()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供添加圖書信息界面。· checklnsert()方法——①檢查各輸入項的輸入格式是否正確;②檢查借閱圖書ID是否存在。
· makeInsertStmt()方法——定義執行插入操作的SQL命令字符串。
· afterInsert()方法——清空借閱圖書界面的各輸入項。
· checkSelect()方法——檢查是否輸入讀者ID和圖書ID。
· makeSelectStmt()方法——顯示檢索結果。
· checkDelete()方法——檢查是否可執行刪除操作。
· makeDeleteStmt()方法——定義執行刪除操作的SQL命令字符串。
· afterDelete()方法——清空刪除操作后的各輸入項。
· clear()方法——清空所有的文本框。ReturnBook類的屬性和方法設計如下:
· sql屬性——定義執行插人操作的SQL命令字符串。
· RetumBook()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供圖書歸還界面。
· checkUpdate()方法——檢查各修改項的修改格式是否正確。
· makeUpdateStmt()方法——定義執行修改操作的SQL命令字符串。· afterUpdate()方法——清空所有的文本框。BorrowBookList類的屬性和方法設計如下:
· sql屬性——定義執行插入操作的SQL命令字符串。
· BorrowBookList()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供實現“借出圖書一覽表”功能的界面。
· makeSelectStmt()方法——定義執行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索結果。OverdueList類的屬性和方法設計如下:
· sql屬性——定義執行插入操作的SQL命令字符串。
· xOverdueList()方法——類的構造方法。①調用DbChoice類的對象實例,以實現加載JDBC驅動程序,創建數據庫連接等功能;②提供實現“未按期歸還圖書一覽表”功能的界面。
· makeSelectStmt()方法——定義執行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索結果。
組件包設計:
組件包包含被所有其他包使用的通用組件,圖書管理系統的組件包由Const、DbChoice、BpUtil三個類組成,這三個類定義了系統所有其他類所使用的公共常量與公共方法。另外,IconCanvas(加載系統界面所使用的圖標)、MsgDialog(信息顯示對話框)、SQLExceptionDialog(顯示數據庫異常信息對話框)3個類也為系統所有其他類所公共使用。在此與組件包中的類一起進行說明。1.Const類
Const類定義了系統所使用的公共名稱等常量,其類圖如圖所示。
Const類的類圖
2.BpUtil類
BpUtil類定義了系統使用的公共方法,其類圖如圖所示。
BpUtil類的類圖
BpUtil類的方法設計如下:
· repeateString()方法——返回指定個數的字符串對象。
· varchar2text()方法——返回按照指定長度調整的字符串對象。
· setComp()方法——在組件上按照CridBagConstraints布局配置Panel。· checkWaming()方法——檢查數據庫連接操作是否出現異常。· isNumeric()方法——驗證字符串能否轉換為數值。
· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。
· getToday()方法——返回以今日為基點的指定為YYYY/MM/DD格式的日期。· isYMD()方法——驗證能否識別YYYY/MM/DD格式的字符串。· GB2312Unicode()方法——GB2312轉換為Unicode。· UnicodeGB2312()方法——Unicode轉換為GB2312。
· getRowCount()方法——求數據表中滿足條件的記錄數。
· convYMD()方法——Java.util.Date類型數據轉換為YYYY/MM/DD格式。
3.DbChoice類
DbChoice類定義了用于數據庫操作的實例變量與實例方法,其類圖如圖所 示。
DbChoice類的類圖
DbChoice類的屬性和方法設計如下:
· con屬性——定義用于數據庫連接的實例變量。· query屬性——定義用于SELECT語句的實例變量。· displayCol屬性——定義用于檢索結果的列數。
· valueCol屬性——定義方法getSelectedVal()返回值的列數。
· vItem屬性——定義用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——構造方法,用于初始化實例變量。· setQueryData()方法——執行檢索操作。· getSelectedVal()方法——返回檢索結果。· setValueCol()方法——設置列的值。· getValueCol()方法——返回列的值。
· setDisplayCol()方法——設置顯示列的值。· getDisplayCol()方法——返回顯示列的值。
· setDisplayhem()方法——設置顯示項的列的值。4.IconCanvas類
IconCanvas類用于完成加載系統界面所使用圖標的功能,其類圖如圖所示。
IconCanvas類的類圖
IconCanvas類的方法設計如下:
· IconCanvas()方法——構造方法,用于完成加載圖像文件的功能。· paint()方法——用于完成顯示圖像文件的功能。5.MsgDialog類
MsgDialog類用于完成顯示系統界面所使用的信息對話框功能,其類圖如圖13.19所 示。
MsgDialog類的類圖
MsgDialog類的屬性和方法設計如下:
· MsgDialog()方法——構造方法,用于生成信息顯示區域,定義信息對話框的標題、布局管理器等功能。
· actionPerformed()方法——用于處理發生的事件。
6.SQLExceptionDialog類
當發生數據庫異常時,SQLExceptionDialog類定義了用于顯示數據庫異常信息對話框,其類圖如圖所示。
SQLExceptionDialog類的類圖
SQLExceptionDialog類的屬性和方法設計如下:
· SQLExceptionDialog()方法——構造方法,用于定義發生的SQL異常。· actionPerformed()方法——用于處理發生的事件。· setMessage()、方法——用于顯示發生的異常信息。系統管理詳細設計:
系統管理由Bookplate和LoginDialog兩個類組成,Bookplate類用于顯示系統主功能界面,LoginDialog類用于顯示用戶登錄對話框界面。Bookplate類與LoginDialog類之間有單向關聯關系,即Bookplate類中定義的實例變量dialog可以調用LoginDialog類的構造函數,以實現系統登錄界面的顯示,描述兩者之間關系的類圖如圖所示。
“系統管理”用例設計類圖
Bookplate類的方法設計如下:
· main()方法——系統執行的入口點,用于顯示系統主功能界面。
· Bookplate()——構造方法,用于設置系統框架(Frame)、標題、菜單、按鈕布局、標簽等系統組件。
· aetionPerformed()——當用鼠標左鍵點擊各功能按鈕時,分別調用各個子功能系統,同時實現生成、顯示和隱藏對應的框架的功能。LoginDialog類的方法設計如下:
· LoginDialog()方法——構造方法,用于設置用戶登錄對話框界面的標題、顯示信息區域、設置標簽和文本域、生成按鈕等功能。
· actionPerformed()——當用鼠標左鍵點擊功能按鈕時,處理所觸發的事件。· getStatus()——返回按鈕的狀態值。· getUserID()——返回用戶ID。· getPassword()——返回用戶口令。
? 數據庫設計(表略)
? 完成設計規約
第五篇:基于UML的圖書管理系統的分析與設計
基于UML的圖書管理系統的需求分析與設計
摘要:本文對面向對象的概念、UML產生的背景及其基本內容進行了闡述,在對圖書館圖書管理系統進行功能描述和需求分析的基礎上,結合軟件工程和面向對象需求分析,設計了基于UML的用例圖、包圖和順序圖,狀態圖等語言機制的圖書館圖書管理系統模型。關鍵詞: UML;建模語言;面向對象;需求分析;圖書管理系統 1關于面向對象
面向對象是一種的程序設計方法,或者說它是一種程序設計類型,其基本思想是使用對象,類,繼承,封裝,消息等基本概念來進行程序設計。它是從現實世界中客觀存在的事物(即對象)出發來構造軟件系統,并在系統構造中盡可能運用人類的自然思維方式,強調直接以問題域(現實世界)中的事物為中心來思考問題,認識問題,并根據這些事物的本質特點,把它們抽象地表示為系統中的對象,作為系統的基本構成單位(而不是用一些與現實世界中的事物相關比較遠,并且沒有對應關系的其它概念來構造系統)。這可以使系統直接地映射問題域,保持問題域中事物及其相互關系的本來面貌。它可以有不同層次的理解:
(1)從世界觀的角度可以認為:面向對象的基本哲學是認為世界是由各種各樣具有自己的運動規律和內部狀態的對象所組成的;不同對象之間的相互作用和通訊構成了完整的現實世界。因此,人們應當按照現實世界這個本來面貌來理解世界,直接通過對象及其相互關系來反映世界。這樣建立起來的系統才能符合現實世界的本來面目。
(2)從方法學的角度可以認為:面向對象的方法是面向對象的世界觀在開發方法中的直接運用。它強調系統的結構應該直接與現實世界的結構相對應,應該圍繞現實世界中的對象來構造系統,而不是圍繞功能來構造系統。
(3)從程序設計的角度來看,面向對象的程序設計語言必須有描述對象及其相互之間關系的語言成分。這些程序設計語言可以歸納為以下幾類:系統中一切皆為對象;對象是屬性及其操作的封裝體;對象可按其性質劃分為類,對象成為類的實例;實例關系和繼承關系是對象之間的靜態關系;消息傳遞是對象之間動態聯系的唯一形式,也是計算的唯一形式;方法是消息的序列。
面向對象的方法學包括了以下核心概念:
對象(object):即指現實世界中各種各樣的實體。它可以指具體的事物也可以指抽象的事物。
類(class):類是具有相似內部狀態和運動規律的實體的集合(或統稱、抽象)。類的概念來自于人們認識自然、認識社會的過程。
消息(Message): 消息是指對象間相互聯系和相互作用的方式。一個消息主要由5部分組成:發送消息的對象、接收消息的對象、消息傳遞辦法、消息內容(參數)、反饋。
封裝:對象間的相互聯系和相互作用過程主要通過消息機制得以實現。對象之間并不需要過多的了解對方內部的具體狀態或運動規律。面向對象的類是封裝良好的模塊,類定義將其說明(用戶可見的外部接口)與實現(用戶不可見的內部實現)顯式地分開,其內部實現按其具體定義的作用域提供保護。類是封裝的最基本單位。封裝防止了程序相互依賴性而帶來的變動影響。在類中定義的接收對方消息的方法稱為類的接口。
繼承:類之間的繼承關系是現實世界中遺傳關系的直接模擬,它表示類之間的內在聯系,以及對屬性和操作的共享,即子類可以沿用父類的某些特征。
重載:重載是指類的同名方法在給其傳遞不同的參數是可以有不同的運動規律。在對象間相互作用時,即使接收消息對象采用相同的接收辦法,但消息內容的詳細程度不同,接收消息對象內部的運動規律也可能不同。關于UML UML(Unified Modeling Language)是在Booch方法、OOSE方法和OMT方法的基礎上演化而來的基于面向對象技術的標準建模語言。它統一了面向對象建模的基本概念、術語和圖示符號,描述了建模過程中所必須遵循的基本步驟,提供了一整套描述軟件系統模型的概念和圖形表示法,可從不同的視角為系統建模。統一建模語言UML是一種語義豐富、通用、可視化的建模語言和事實上的國際工業標準,易于理解和交流。UML提供的豐富的視圖從多個視角描述系統的不同側面,可以有效運用于軟件的建模、分析與設計。標準建模語言UML的定義包括UML語義和UML表示法兩個部分。UML語義通過其元模型來嚴格地定義。UML表示法定義UML符號的表示法,為開發者或開發工具使用這些圖形符號和文本語法來建模提供標準。這些圖形符號和文字所表達的是應用級的模型,在語義上它是UML元模型的實例。UML的主要內容通常用用例圖、類圖、對象圖、狀態圖、活動圖、構件圖、配置圖、順序圖、協作圖和包圖等l0種圖來描述,它們從不同的角度和層次為系統建模提供支持,完全可以 描述系統的方方面面。
與傳統的軟件建模方法相比, UML 有如下一些特點:(1)UML 是一個可視化建模語言, 是一種圖形化的面向對象的設計工具語言,而不是可視化程序設計語言,但用UML描述的模型可與各種編程語言直接相連,把UML 模型映射成編程語言。在不同程序中使用同樣的UML 圖表類型, 因為UML 具有任意程序的獨立性,定義一個標準程序不是一個UML 的目標。
(2)UML 是一種可用于詳細描述的語言,其所建立的模型是精確、無歧義和完整的。同時UML是一種文檔化的語言,對其各建模元素可進行詳細說明,并能生成所建模型的文檔。標準建模語言UML支持面向對象的分析與設計,定義良好、易于表達、功能強大。它的最大用途是利用圖形來描述真實世界各個對象的符合表示,讓所有系統設計者在構建系統需求分析、對象模型化定義到對象設計的整個開發過程完全標準化。3 本課題的研究意義
一個圖書館的圖書資料庫在正常運轉中總是面對大量的讀者信息、書籍信息以及兩者相互作用產生的借書信息、還書信息。圖書館作為一個信息資源的集散地,圖書和用戶借閱資料繁多,包含著很多的信息數據。以前對信息管理的主要方式是基于文本、表格等紙介質的手工處理,對于圖書借閱情況(如借書天數、超過限定借書時間的天數)的統計和核實等往往采用人工檢查,對借閱者的借閱權限以及借閱天數等采用人工計算、手抄進行,數據信息處理工作量大,容易出錯和丟失。因此,建立一個智能化、系統化、信息化的圖書資料庫是十分重要的。使用計算機軟件對圖書進行管理,是計算機應用的一部分。充分利用計算機的功能,實現對讀者管理、書籍管理等自動化控制,將會使圖書資料庫的工作強度大大減弱,可以實現圖書檢索迅速、可靠性高、存儲量大、壽命長、成本低,能最大限度地提高圖書管理的效率,也是圖書管理信息化、正規化管理的必然趨勢。4 基于UML的圖書管理系統的需求分析與設計過程
圖書管理系統的開發和應用主要通過兩個步驟來實現:首先是基于系統功能的需求分析,其次是系統模型的設計和實現。
4.1需求分析
需求分析是軟件工程過程的一個重要階段,其中一個主要任務是確定系統的功能需求,采用面向對象方法,基于UML的可視化系統需求分析,因為有用戶的積極參與,既可以加快設計者對于問題的理解,又能夠在系統描述方面減少語義差異,保證分析的正確性。需求分析的目標就是建立需求模型,即從功能需求出發建立用例模型, UML的用例視圖從用戶的需求中提取,以盒圖的方式描述待開發的系統的功能需求。每個用例都指定了客戶的需求即他們需要系統干什么。用例圖為設計活動不僅記 錄需求而且還提供了一種挖掘的信息, 它記錄了需求到設計結果之間的映射關系,能夠確保設計結果具有明確的根據或者說具有可維護性,基于UML的軟件開發過程是以用例驅動的。
首先我們進行角色識別,角色識別的任務是找出所有可能與系統發生交互行為的外部實體、對象、系統。它們的行為不受系統控制,但是可以提供輸入給系統。對于一所大學的圖書管理系統,基本的功能是完成圖書的借閱和相關信息的管理,服務的對象有本科生,研究生,教師,及其他學校的學生,還有社會人員,這些人可歸結為一類即讀者。而為幫助讀者順利完成借還書的可以是工作人員,可以是自動借還書機,他們可以歸結為一類即圖書管理人員。因此對于一個圖書管理系統主要有兩類角色,讀者、圖書管理員。
其次,在主要角色的基礎上,可以識別出與角色相應的用例,從而得到系統的用例模型。與讀者相關的過程包括:借書、還書、預定、圖書信息檢索、借閱查詢(如查詢本人借書記錄、還書期限、是否超期)、個人相關信息查詢及修改(如學號、姓名、性別、年級、專業、家庭住址、聯系電話、出生日期、民族、政治面貌、身份證號等)。與圖書管理員相關的過程包括:辦理借書、辦理還書、解除預定、圖書訂購、讀者信息管理(增加/刪除讀者、修改讀者權限及密碼、借閱超期罰款)、圖書信息管理(增加/刪除數目、圖書類別等相關信息的修改、流通情況)。系統管理(系統的登陸、退出、日志維護、系統更新)。以上分析中,與讀者,圖書管理員相關的過程構成了本系統的基本用例。
4.2 系統的整體結構
綜上所述一個圖書管理系統的整體結構可以分為三大模塊:圖書管理模塊、讀者管理模塊、系統管理模塊。
(1)圖書管理模塊包括與圖書相關的一些過程,主要有圖書的借出、圖書的歸還、預定、圖書信息檢索、圖書訂購、圖書相關信息管理。
(2)讀者管理模塊主要包括與讀者有聯系相關的過程,主要有增加/刪除讀者、修改讀者權限及密碼、借閱信息查詢、個人信息查詢及修該、借閱超期和丟失罰款。
(3)系統管理模塊包括系統的登陸、退出、系統維護、系統更新。綜上我們畫出系統的整體結構,如圖一所示:
圖書管理系統圖書管理讀者管理圖一 圖書管理系統的整體結構
系統管理 4.3 圖書管理系統的用例圖
從以上分析中我們不難得出系統的基本用例圖,如圖二所示:
借書/還書預定/解除預定圖書檢索圖書信息管理圖書訂購借閱信息查詢個人信息查詢/修改讀者信息管理 讀者借閱超期罰款 圖書管理員系統管理圖二 系統的基本用例圖
圖書管理和圖書管理是圖書管理系統的重要組成部分,為此我們按照前文所述將圖書管理模塊和讀者模塊以及系統管理模塊詳細精化得出如下的用例圖,如圖
三、圖
四、圖五所示:
按年代查詢圖書借入借出管理出版社查詢圖書購入作者查詢圖書查詢書名查詢圖書管理模糊查詢圖書管理員圖書信息管理類別查詢信息刪除信息添加
圖三 圖書管理模塊的用例圖
信息修改增加/刪除讀者修改權限個人信息查詢/修改圖書管理員讀者管理讀者借閱信息查詢讀者辦理掛失圖四 讀者管理用例圖
超期/丟失罰款
登陸/退出軟件更新系統管理系統更新 管理員系統維護硬件更新日志維護 圖五 系統管理模塊的用例圖
4.4 圖書管理系統的行為圖
我們再進行動態建模分析。對于圖書管理系統借書還書是兩個重要的過程,我們先來分析一下借書、還書的一般過程,并由借書的一般過程畫出其順序圖、協作圖以及活動圖。
(1)借書的過程:讀者刷卡進入圖書館,或者先查詢圖書及個人借閱信息,或者直接去挑選圖書,選擇好圖書后進入借書程序,管理員先檢查讀者的借書證件,查驗能否借閱,比如:證件是否無效或書籍是否已經借滿等,即檢驗其借書的合法性和有效性,如果是非法用戶或借書數量范圍外,則該讀者不能借閱圖書。如果滿足借閱要求,則再獲取所借書的標題以進行庫內搜索,獲取書目查詢此書的數量,看是否還有此書,如果沒有則阻止其他借書者可能進行的預訂活動,將此書借出,根據書號將此書的借閱標志位取反以表示此書已借出,并將此書的書目減1。并為此讀者記錄借閱日期,以及歸還日期,在歸還日期內未能歸還和續借的,并為其記錄超借天數及罰款數額。
(2)還書過程:在返還圖書的過程中,管理員首先獲取讀者的借閱信息和被歸還的書籍的信息,如書標題信息,數量等,并一一審核每本書的歸還日期是否超過應歸還日期。在完成階段,將此書的書號登記并設計標志位為已歸還,以便讀者網上預訂和繼續借閱,同時將此類圖書的數量加1,如果讀者超期或丟失所借書籍,則要進行賠償處理。
所以我們不難畫出借書一般過程的順序圖,如圖六所示:
圖書管理員讀者信息圖書信息修改圖書借出刷卡進入并選書核對讀者信息 圖書掃描并消磁修改讀者借閱信息圖六 借書一般過程的順序圖
有順序圖可得到協作圖,如圖七所示。仔細分析借書過程的細節,可以畫出如圖八所示的活動圖,它表示了復雜算法的過程,尤其是過程中的判斷、并發和同步。
刷卡進入 讀者挑選圖書圖書管理員 核對信息圖書信息修改圖書掃描 消磁讀者借閱信息 修改讀者信息圖書借出
圖七 借書一般過程的協作圖
讀者 管理系統N禁止入內刷卡是否為本館服務對象Y輸入卡號/密碼選擇圖書N卡號密碼正確?Y個人信息查詢/修改Y借閱信息查詢圖書檢索刷條形碼顯示讀者相關信息能否借閱N確定借書NY刷圖書條碼更改改讀者及圖書的借閱信息退出是否借閱完畢YN圖八 借書過程活動圖
以上我們用多種語言機制分析了讀者的主要相關事件流,下面我們繪制圖書管理員使用系統的狀態圖分析圖書管理員的主要事件流。從以上分析可知,圖書管理員相關的過程包括:辦理借書、辦理還書、解除預定、圖書訂購、讀者信息管理(增加/刪除讀者、修改讀者權限及密碼、借閱超期罰款)、圖書信息管理(增加/刪除數目、圖書類別等相關信息的修改、流通情況)。由此我們可繪制如圖九所示的圖書管理員使用系統的狀態圖:
登陸關閉辦理借書修改圖書信息辦理還書增加數目圖書預留取消增加加讀者解除預定刪除讀者查詢數目存儲信息修改讀者權限查詢讀者信息圖九圖書管理員使用系統的狀態圖
4.5 圖書管理系統的靜態圖
定義并描述了各個類后,我們可以根據實際情況引入包來管理類,本圖書館管理系統可以劃分為四個包:用戶管理:對系統用戶進行管理,為用戶提供信息服務接口,便于對系統進行操作。借閱管理包括借書處理,還書處理和罰款處理等。讀者管理包括對讀者圖書等信息進行維護,主要有讀者信息的增刪,對圖書更新資料進行維護。系統服務:包括系統登錄檢查,安全維護等。系統的包圖如圖十所示:
用戶管理借閱管理讀者及圖書管理系統服務 圖十 系統包圖 4.6 圖書管理系統的實現
經過系統分析和設計后,就可以根據設計模型在具體的環境中實現系統,生成系統的源代碼、可執行程序和相應的軟件文檔,建立一個可執行系統。進而需要對系統進行測試和排錯,保證系統符合預定的要求,獲得一個無錯的系統實現。測試結果將確認所完成的系統可以真正使用。參考文獻
[1] 齊治昌.譚慶平.寧洪.軟件工程.北京:高等教育出版社 [2] 張海藩.軟件工程.北京:人民郵電出版社
[3] 董翔.基于UML的圖書管理系統的開發和應用.科技情報開發與經濟2008年第l8卷第l2期 [4] 吳開華.邢養曉.羅德撤
.數字圖書館元數據研究[J].中國圖書館學報,2002,(3).
[5] 劉治國.構建基于B/S結構的圖書管理系統[J].信息技術,2005(3):72—73. [6] 管斌.袁國忠 譯.用例驅動的UML對象建模應用-范例分析.北京:人民郵電出版社 結束語
本文以一個圖書館圖書管理系統開發為背景,針對圖書館對圖書資源進行有效利用和管理的功能需求,采用統一建模語言(UML)對圖書資源進行面向對象的描述,通過利用統一建模語言UML中的各種圖形,分析和設計圖書管理系統,建起了圖書管理的面向對象模型,探討了基于UML的體系結構建模及其實現問題。由建模過程可以看出UML在體系結構建模方面存在很好的優勢,不但從整體上正確描述了該圖書管理系統的體系結構,并且可以充分利用UML面向對象的優勢,從而實現整個軟件系統面向對象的分析、設計與開發,大大縮短開發周期,最終使得項目成功完成,此管理系統節省了管理人員和讀者的大量時間,有利于信息處理效率的提高。鑒于篇幅有限,本文只對主要部分和主要過程做了介紹,限于水平,歡迎各位讀者對本文的缺點、錯誤提出批評。