第一篇:UML課程設(shè)計(jì)報(bào)告+汽車(chē)租賃系統(tǒng)的需求分析與設(shè)計(jì)
UML 課 程 設(shè) 計(jì) 報(bào)
學(xué) 院: 廣西大學(xué)行健文理學(xué)院 專(zhuān)業(yè)名稱(chēng): 計(jì)算機(jī)科學(xué)與技術(shù)0801 學(xué) 號(hào): 0838110127 姓 名: 劉鵬帥 指導(dǎo)教師: 劉智斌 時(shí) 間:
2010年12月
告
汽車(chē)租賃系統(tǒng)的需求分析與設(shè)計(jì)
一. 課程設(shè)計(jì)目的
UML統(tǒng)一建模課程是一門(mén)面向?qū)ο箝_(kāi)發(fā)方法的設(shè)計(jì)語(yǔ)言。UML統(tǒng)一建模課程設(shè)計(jì)實(shí)驗(yàn)課,著重加強(qiáng)面向?qū)ο蠼<夹g(shù)。使用UML統(tǒng)一建模語(yǔ)言,用需求模型簡(jiǎn)化業(yè)務(wù)領(lǐng)域;用分析模型驗(yàn)證用例的正確性,一致性,完備性,可行性;用設(shè)計(jì)模型標(biāo)識(shí)解決方案。通過(guò)模型實(shí)現(xiàn)了從業(yè)務(wù)領(lǐng)域到軟件領(lǐng)域的映射。通過(guò)建模,使問(wèn)題可視化,形式化。通過(guò)一序列的建模和迭代活動(dòng),對(duì)于提高學(xué)生綜合素質(zhì)十分必要。
UML統(tǒng)一建模課程是本科類(lèi)計(jì)算機(jī)專(zhuān)業(yè)的一門(mén)骨干課程,技術(shù)復(fù)雜,應(yīng)用范圍廣。本課程設(shè)計(jì)實(shí)驗(yàn)主要內(nèi)容:構(gòu)建系統(tǒng)的分析模型、設(shè)計(jì)模型。主要目標(biāo)如下:
1.掌握面向?qū)ο蟮姆治黾夹g(shù)、設(shè)計(jì)技術(shù);
2.構(gòu)建“汽車(chē)租賃系統(tǒng)”的需求分析模型和設(shè)計(jì)模型;
二. 課程設(shè)計(jì)題目描述和要求
本課程設(shè)計(jì)中包含:
A.軟件需求分析
B.汽車(chē)租賃系統(tǒng)的需求分析 C.系統(tǒng)的UML基本模型 D.系統(tǒng)中的類(lèi) E.系統(tǒng)的配置與實(shí)現(xiàn)
1、系統(tǒng)目標(biāo)
系統(tǒng)的整體目標(biāo)是:利用互聯(lián)網(wǎng)和信息化技術(shù),結(jié)合汽車(chē)租賃經(jīng)營(yíng)的實(shí)際運(yùn)作情況,建設(shè)一個(gè)覆蓋汽車(chē)租賃經(jīng)營(yíng)全部業(yè)務(wù)的“汽車(chē)租賃系統(tǒng)”,通過(guò)該系統(tǒng)提高企業(yè)信息化水平,完善經(jīng)營(yíng)管理體系,提高員工素質(zhì),進(jìn)一步加強(qiáng)企業(yè)市場(chǎng)競(jìng)爭(zhēng)能力。
2、功能要求
“汽車(chē)租賃系統(tǒng)”中的功能需求可以包括以下幾個(gè)方面:
? 客戶(hù)可以通過(guò)不同的方式(包括電話、前臺(tái)、網(wǎng)上)預(yù)訂車(chē)輛; ? 能夠保存客戶(hù)的預(yù)訂申請(qǐng)單; ? 能夠保存客戶(hù)的歷史記錄; ? 工作人員可以處理客戶(hù)申請(qǐng);
? 技術(shù)人員可以保存對(duì)車(chē)輛檢修的結(jié)果。
滿(mǎn)足上述需求的系統(tǒng)主要包括以下幾個(gè)模塊:
? 基本數(shù)據(jù)維護(hù)模塊:該模塊提供了使用者錄入、修改并維護(hù)基本數(shù)據(jù)的途徑。? 基本業(yè)務(wù)模塊:在系統(tǒng)中,客戶(hù)可以填寫(xiě)汽車(chē)租賃申請(qǐng)表,工作人員處理這些表格;同時(shí),技術(shù)人員還可以提交每輛車(chē)的狀態(tài),以便工作人員根據(jù)這些資料決定是否批準(zhǔn)客戶(hù)的請(qǐng)求。
? 數(shù)據(jù)庫(kù)管理模塊:在系統(tǒng)中,對(duì)所有客戶(hù)、工作人員以及車(chē)輛的信息都要進(jìn)行統(tǒng)一管理,車(chē)輛的租賃情況也要進(jìn)行詳細(xì)的登記。
? 信息查詢(xún)模塊:該模塊主要用于查詢(xún)相關(guān)信息。
三. 課程設(shè)計(jì)報(bào)告內(nèi)容
1.汽車(chē)租賃系統(tǒng)的需求分析
1.1 系統(tǒng)功能需求
系統(tǒng)的功能需求主要包括以下幾個(gè)方面: ? ? ? ? ? ? ? ? ? 客戶(hù)可以通過(guò)不同的方式(包括電話、前臺(tái)、網(wǎng)上)預(yù)訂車(chē)輛。能夠保存客戶(hù)的預(yù)訂申請(qǐng)單。能夠保存客戶(hù)的歷史記錄。工作人員可以處理客戶(hù)申請(qǐng)。
技術(shù)人員可以保存對(duì)車(chē)輛檢修的結(jié)果。
基本數(shù)據(jù)維護(hù)模塊 基本業(yè)務(wù)模塊 數(shù)據(jù)庫(kù)管理模塊 信息查詢(xún)模塊 滿(mǎn)足上述需求的系統(tǒng)主要包括以下模塊:
1.2 基本數(shù)據(jù)維護(hù)模塊
基本數(shù)據(jù)維護(hù)模塊包括的主要功能模塊: ?
添加車(chē)輛信息
? ? ? 修改車(chē)輛信息 添加員工信息 修改員工數(shù)據(jù)
1.3 基本業(yè)務(wù)模塊
基本業(yè)務(wù)模塊包含的功能: ? ? ? ? 用戶(hù)填寫(xiě)預(yù)定申請(qǐng) 工作人員處理預(yù)定請(qǐng)求 技術(shù)人員填寫(xiě)服務(wù)記錄 工作人員處理還車(chē)
1.4 數(shù)據(jù)庫(kù)模塊
數(shù)據(jù)庫(kù)模塊的功能:
? ? ? ? 客戶(hù)信息管理 車(chē)輛信息管理 租賃信息管理 職員信息管理
1.5 信息查詢(xún)模塊
信息查詢(xún)模塊是查詢(xún)數(shù)據(jù)庫(kù)中的相關(guān)信息,包括: ? ? ? ? 查詢(xún)客戶(hù)信息 查詢(xún)職員信息 查詢(xún)車(chē)輛信息 查詢(xún)客戶(hù)記錄
2.系統(tǒng)的UML基本模型
2.1 系統(tǒng)的用例圖
?
創(chuàng)建用例圖之前首先需要確定參與者。
? 系統(tǒng)中的參與者主要有兩類(lèi): ? 客戶(hù) ? 公司職員
1.客戶(hù)參與的用例圖
2.公司職員參與的用例圖
2.2 系統(tǒng)的順序圖
1.管理人員開(kāi)展工作的順序圖
2.客戶(hù)預(yù)訂車(chē)輛的順序圖
theCustomer : CustomertheRequest : RequestOrdertheCommonWorker : CommonWorkertheCustomerRecord : CustomerRecordtheCar : CarfillOrder()checkRequest()check()no problemInServiced()okcreate new customer recordAllow()isHandled()notify()
3.客戶(hù)取車(chē)的順序圖
theCustomer : CustomertheRequestOrder : RequestOrdershow_notice()theCommonWorker : CommonWorkertheWorkRecord : WorkRecordtheCar : Carcheck()okpay()fillWorkRecord()update_carstatus()
4.客戶(hù)還車(chē)的順序圖
theCustomer : CustomertheCommonWorker : CommonWorkertheSkillWorker : SkillWorkertheCar : CartheServiceRecord : ServiceRecordtheCustomerRecord : CustomerRecordtheRentRecord : WorkRecordreturnbackcheck_carstatus()fillRecord()returnnotify_payment()pay()update_carstatus()end()updateRecord()
2.3 系統(tǒng)的協(xié)作圖
1.客戶(hù)預(yù)訂的協(xié)作圖
6: isHandled()1: fillOrder()theRequestOrder : RequestOrder : custormer7: notify()2: checkRequest()5: Allow()/ Deny(): employee4: InServiced()3: check()theCar : Car8: new CustomerRecordtheCustomerRecord : CustomerRecord2.客戶(hù)取車(chē)的協(xié)作圖
1: show_notice()theRequestOrder : RequestOrder4: take_car(): custormer3: validate2: check(): employee6: update_carstatus()5: fillWorkRecord()theCar : CartheWorkRecord : WorkRecord
3.客戶(hù)還車(chē)的協(xié)作圖
3: fillRecord()4: update_carstatus()1: return_car(): employeetheCar : 2: check_carstatus()Car : custormertheServiceOrder : ServiceRecord5: end()6: updateRecord()theCustomerRecord : CustomerRecordtheWorkRecord : WorkRecord
2.4 系統(tǒng)的狀態(tài)圖
2.5 系統(tǒng)的活動(dòng)圖
customer requestEmployee check the requestno new requeststore the requesthave new requesthandle new requestcheck the customer's recordthe history is badthe history is goodthe car is availabledeny requestsend the messageyescustomer acquire the carnocustomer give the car back 系統(tǒng)中的類(lèi)
3.1 系統(tǒng)中主要的類(lèi) 1.客戶(hù)和公司職員類(lèi)
2.一些其他的類(lèi)
3.2 各個(gè)類(lèi)之間的關(guān)系 系統(tǒng)的配置與實(shí)現(xiàn)
系統(tǒng)的配置圖
Database ApplicationApplication ServerCommon WorkerManager InterfaceSkill Worker
四.小結(jié)
汽車(chē)租賃系統(tǒng)是一套針對(duì)汽車(chē)租賃業(yè)務(wù)的實(shí)際特點(diǎn)而開(kāi)發(fā)的應(yīng)用與管理軟件,其功能覆蓋了汽車(chē)租賃業(yè)務(wù)的全部流程。主要包括車(chē)輛預(yù)訂、租賃業(yè)務(wù)、車(chē)輛管理、客戶(hù)管理、車(chē)輛檢修、租金統(tǒng)計(jì)等功能。它包括了四個(gè)模塊:基本數(shù)據(jù)維護(hù)模塊、基本業(yè)務(wù)模塊、數(shù)據(jù)庫(kù)管理模塊和信息查詢(xún)模塊。其中,基本數(shù)據(jù)維護(hù)模塊提供了使用者錄入、修改并維護(hù)基本數(shù)據(jù)的途徑,主要包括了添加車(chē)輛信息、修改車(chē)輛信息 添加員工信息、修改員工數(shù)據(jù)幾大主要功能?;緲I(yè)務(wù)模塊則提供客戶(hù)可以填寫(xiě)汽車(chē)租賃的申請(qǐng)表,工作人員會(huì)處理這些表格;同時(shí),技術(shù)人員還可以提供每輛車(chē)的狀態(tài),以便工作人員根據(jù)這些資料決定是否批準(zhǔn)客戶(hù)的請(qǐng)求,它包含的功能有:用戶(hù)填寫(xiě)預(yù)定申請(qǐng)、工作人員處理預(yù)定請(qǐng)求、技術(shù)人員填寫(xiě)服務(wù)記錄和工作人員處理還車(chē)。數(shù)據(jù)庫(kù)模塊是對(duì)所有客戶(hù)、工作人員以及車(chē)輛的信息都要進(jìn)行統(tǒng)一管理,車(chē)輛的租賃情況也要進(jìn)行詳細(xì)的登記,它的功能則是客戶(hù)信息管理、車(chē)輛信息管理、租賃信息管理和職員信息管理。信息查詢(xún)模塊是查詢(xún)數(shù)據(jù)庫(kù)中的相關(guān)信息,包括查詢(xún)客戶(hù)信息、查詢(xún)職員信息、查詢(xún)車(chē)輛信息和查詢(xún)客戶(hù)記錄。
通過(guò)這一個(gè)課程設(shè)計(jì)中,我學(xué)會(huì)了不少東西。最大的收獲就是知道了如何進(jìn)行UML統(tǒng)一建模,掌握了面向?qū)ο骍ML統(tǒng)一建模語(yǔ)言。我了解了使用UML統(tǒng)一建模語(yǔ)言,用需求模型簡(jiǎn)化業(yè)務(wù)領(lǐng)域;用分析模型驗(yàn)證用例的正確性,一致性,完備性,可行性;用設(shè)計(jì)模型標(biāo)識(shí)解決方案。我還認(rèn)識(shí)到通過(guò)模型可以實(shí)現(xiàn)從業(yè)務(wù)領(lǐng)域到軟件領(lǐng)域的映射;通過(guò)建模,可以使問(wèn)題可視化,形式化。而通過(guò)一序列的建?;顒?dòng),提高了我在系統(tǒng)設(shè)計(jì)上的能力,增長(zhǎng)了分析、解決問(wèn)題的經(jīng)驗(yàn),對(duì)UML統(tǒng)一建模語(yǔ)言有了更深的了解。可以說(shuō),這次設(shè)計(jì)既鍛煉了我的動(dòng)腦分析問(wèn)題的能力,又鍛煉了我動(dòng)手解決實(shí)際問(wèn)題的能力,這將在我以后的學(xué)習(xí)中起到很大的作用。我會(huì)運(yùn)用從中學(xué)到的寶貴經(jīng)驗(yàn)來(lái)指導(dǎo)我今后的學(xué)習(xí)和工作,不斷地實(shí)踐,不斷地學(xué)習(xí),讓自己變得更加的充實(shí),更適合社會(huì)的需要。
參考書(shū)目:
[1] 徐峰,陳暄,UML面向?qū)ο蠼;A(chǔ),中國(guó)水利水電出版社,2008 [2] 王先國(guó),方鵬,曾碧卿,劉燁,UML統(tǒng)一建模實(shí)用教程,清華大學(xué)出版社,2009 [3] 王養(yǎng)廷,李磊,宋漢珍,UML基礎(chǔ)與應(yīng)用,清華大學(xué)出版社,2006
第二篇:uml圖書(shū)管理系統(tǒng)需求分析與設(shè)計(jì)
圖書(shū)館圖書(shū)管理系統(tǒng)的需求分析與設(shè)計(jì)
一、本課題的研究意義
一個(gè)圖書(shū)館的圖書(shū)資料庫(kù)在正常運(yùn)轉(zhuǎn)中總是面對(duì)大量的讀者信息、書(shū)籍信息以及兩者相互作用產(chǎn)生的借書(shū)信息、還書(shū)信息。圖書(shū)館作為一個(gè)信息資源的集散地,圖書(shū)和用戶(hù)借閱資料繁多,包含著很多的信息數(shù)據(jù)。以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用人工檢查,對(duì)借閱者的借閱權(quán)限以及借閱天數(shù)等采用人工計(jì)算、手抄進(jìn)行,數(shù)據(jù)信息處理工作量大,容易出錯(cuò)和丟失。因此,建立一個(gè)智能化、系統(tǒng)化、信息化的圖書(shū)資料庫(kù)是十分重要的。使用計(jì)算機(jī)軟件對(duì)圖書(shū)進(jìn)行管理,是計(jì)算機(jī)應(yīng)用的一部分。充分利用計(jì)算機(jī)的功能,實(shí)現(xiàn)對(duì)讀者管理、書(shū)籍管理等自動(dòng)化控制,將會(huì)使圖書(shū)資料庫(kù)的工作強(qiáng)度大大減弱,可以實(shí)現(xiàn)圖書(shū)檢索迅速、可靠性高、存儲(chǔ)量大、壽命長(zhǎng)、成本低,能最大限度地提高圖書(shū)管理的效率,也是圖書(shū)管理信息化、正規(guī)化管理的必然趨勢(shì)。
二、圖書(shū)館圖書(shū)管理系統(tǒng)的需求分析與設(shè)計(jì)過(guò)程
圖書(shū)管理系統(tǒng)的開(kāi)發(fā)和應(yīng)用主要通過(guò)兩個(gè)步驟來(lái)實(shí)現(xiàn):首先是基于系統(tǒng)功能的需求分析,其次是系統(tǒng)模型的設(shè)計(jì)和實(shí)現(xiàn)。
2.1需求分析
需求分析是信息系統(tǒng)設(shè)計(jì)過(guò)程中的一個(gè)重要階段,其中一個(gè)主要任務(wù)是確定系統(tǒng)的功能需求,并采用面向?qū)ο蠓椒?即基于UML的可視化系統(tǒng)進(jìn)行需求分析。需求分析的目標(biāo)就是建立需求模型,即從功能需求出發(fā)建立圖形模型, UML的視圖從用戶(hù)的需求中提取,以圖形的方式描述待開(kāi)發(fā)的系統(tǒng)的功能需求。每個(gè)圖形都指定了客戶(hù)的需求,即他們需要系統(tǒng)干什么。用圖形為設(shè)計(jì)活動(dòng)不僅記錄需求而且還提供了一種挖掘的信息, 它記錄了需求到設(shè)計(jì)結(jié)果之間的映射關(guān)系,能夠確保設(shè)計(jì)結(jié)果具有明確的根據(jù)或者說(shuō)具有可維護(hù)性,基于UML的信息系統(tǒng)設(shè)計(jì)過(guò)程是以建模圖形驅(qū)動(dòng)的。
首先我們進(jìn)行角色的認(rèn)識(shí),對(duì)于一所大學(xué)的圖書(shū)管理系統(tǒng),基本的功能是完成圖書(shū)的借閱和相關(guān)信息的管理,服務(wù)的對(duì)象有本科生,研究生,教師,及其他學(xué)校的學(xué)生,還有社會(huì)人員,這些人可歸結(jié)為一類(lèi)即讀者。而為幫助讀者順利完成借還書(shū)的可以是工作人員,可以是自動(dòng)借還書(shū)機(jī),他們可以歸結(jié)為一類(lèi)即圖書(shū)管理人員。因此對(duì)于一個(gè)圖書(shū)管理系統(tǒng)主要有兩類(lèi)角色,讀者、圖書(shū)管理員。
其次,在主要角色的基礎(chǔ)上,可以識(shí)別出與角色相應(yīng)的用例,從而得到系統(tǒng)的用例模型圖。與讀者相關(guān)的過(guò)程包括:借書(shū)、還書(shū)、預(yù)借(想借的書(shū)已借出,預(yù)定要借的書(shū)籍)、圖書(shū)信息檢索、借閱查詢(xún)(如查詢(xún)本人借書(shū)記錄、還書(shū)期限、是否超期)、個(gè)人相關(guān)信息查詢(xún)及修改(如學(xué)號(hào)、姓名、性別、年級(jí)、專(zhuān)業(yè)、家庭住址、聯(lián)系電話、出生日期、民族、政治面貌、身份證號(hào)等)。與圖書(shū)管理員相關(guān)的過(guò)程包括:辦理借書(shū)、辦理還書(shū)、刪除預(yù)借對(duì)象、圖書(shū)訂購(gòu)、讀者信息管理(增加/刪除讀者、修改讀者權(quán)限及密碼、借閱超期罰款)、圖書(shū)信息管理(增加/刪除數(shù)目、圖書(shū)類(lèi)別等相關(guān)信息的修改、流通情況)。系統(tǒng)管理(系統(tǒng)的登陸、退出、日志維護(hù)、系統(tǒng)更新)。以上分析中,與讀者,圖書(shū)管理員相關(guān)的過(guò)程構(gòu)成了本系統(tǒng)的基本用例。
2.2 系統(tǒng)的整體結(jié)構(gòu)
綜上所述一個(gè)圖書(shū)館圖書(shū)管理系統(tǒng)的整體結(jié)構(gòu)可以分為三大模塊:圖書(shū)管理模塊、讀者管理模塊、系統(tǒng)管理模塊。
(1)圖書(shū)管理模塊包括與圖書(shū)相關(guān)的一些過(guò)程,主要有圖書(shū)的借出、圖書(shū)的歸還、預(yù)借、圖書(shū)信息檢索、圖書(shū)訂購(gòu)、圖書(shū)相關(guān)信息管理。
(2)讀者管理模塊主要包括與讀者有聯(lián)系相關(guān)的過(guò)程,主要有增加/刪除讀者、修改讀者權(quán)限及密碼、借閱信息查詢(xún)、個(gè)人信息查詢(xún)及修該、借閱超期和丟失罰款。
(3)系統(tǒng)管理模塊包括系統(tǒng)的登陸、退出、系統(tǒng)維護(hù)、系統(tǒng)更新。綜上我們畫(huà)出系統(tǒng)的整體結(jié)構(gòu),如圖一所示:
圖一 圖書(shū)管理系統(tǒng)的整體結(jié)構(gòu)
2.3 圖書(shū)管理系統(tǒng)的用例圖
從以上分析中我們不難得出系統(tǒng)的基本用例圖,如圖二所示:
圖二 系統(tǒng)的基本用例圖
圖書(shū)管理和圖書(shū)管理是圖書(shū)管理系統(tǒng)的重要組成部分,為此我們按照前文所述將圖書(shū)管理模塊和讀者模塊以及系統(tǒng)管理模塊詳細(xì)精化得出如下的用例圖,如圖
三、圖
四、圖五所示:
圖三 圖書(shū)管理模塊的用例圖
圖四 讀者管理用例圖
圖五 系統(tǒng)管理模塊的用例圖
2.4 圖書(shū)管理系統(tǒng)的交互圖
協(xié)作圖
第三篇:基于UML的圖書(shū)管理系統(tǒng)的需求分析與設(shè)計(jì)
基于UML的圖書(shū)管理系統(tǒng)的需求分析與設(shè)計(jì)
摘要:本文對(duì)面向?qū)ο蟮母拍?、UML產(chǎn)生的背景及其基本內(nèi)容進(jìn)行了闡述,在對(duì)圖書(shū)館圖書(shū)管理系統(tǒng)進(jìn)行功能描述和需求分析的基礎(chǔ)上,結(jié)合軟件工程和面向?qū)ο笮枨蠓治觯O(shè)計(jì)了基于UML的用例圖、包圖和順序圖,狀態(tài)圖等語(yǔ)言機(jī)制的圖書(shū)館圖書(shū)管理系統(tǒng)模型。關(guān)鍵詞: UML;建模語(yǔ)言;面向?qū)ο?;需求分析;圖書(shū)管理系統(tǒng) 1關(guān)于面向?qū)ο?/p>
面向?qū)ο笫且环N的程序設(shè)計(jì)方法,或者說(shuō)它是一種程序設(shè)計(jì)類(lèi)型,其基本思想是使用對(duì)象,類(lèi),繼承,封裝,消息等基本概念來(lái)進(jìn)行程序設(shè)計(jì)。它是從現(xiàn)實(shí)世界中客觀存在的事物(即對(duì)象)出發(fā)來(lái)構(gòu)造軟件系統(tǒng),并在系統(tǒng)構(gòu)造中盡可能運(yùn)用人類(lèi)的自然思維方式,強(qiáng)調(diào)直接以問(wèn)題域(現(xiàn)實(shí)世界)中的事物為中心來(lái)思考問(wèn)題,認(rèn)識(shí)問(wèn)題,并根據(jù)這些事物的本質(zhì)特點(diǎn),把它們抽象地表示為系統(tǒng)中的對(duì)象,作為系統(tǒng)的基本構(gòu)成單位(而不是用一些與現(xiàn)實(shí)世界中的事物相關(guān)比較遠(yuǎn),并且沒(méi)有對(duì)應(yīng)關(guān)系的其它概念來(lái)構(gòu)造系統(tǒng))。這可以使系統(tǒng)直接地映射問(wèn)題域,保持問(wèn)題域中事物及其相互關(guān)系的本來(lái)面貌。它可以有不同層次的理解:
(1)從世界觀的角度可以認(rèn)為:面向?qū)ο蟮幕菊軐W(xué)是認(rèn)為世界是由各種各樣具有自己的運(yùn)動(dòng)規(guī)律和內(nèi)部狀態(tài)的對(duì)象所組成的;不同對(duì)象之間的相互作用和通訊構(gòu)成了完整的現(xiàn)實(shí)世界。因此,人們應(yīng)當(dāng)按照現(xiàn)實(shí)世界這個(gè)本來(lái)面貌來(lái)理解世界,直接通過(guò)對(duì)象及其相互關(guān)系來(lái)反映世界。這樣建立起來(lái)的系統(tǒng)才能符合現(xiàn)實(shí)世界的本來(lái)面目。
(2)從方法學(xué)的角度可以認(rèn)為:面向?qū)ο蟮姆椒ㄊ敲嫦驅(qū)ο蟮氖澜缬^在開(kāi)發(fā)方法中的直接運(yùn)用。它強(qiáng)調(diào)系統(tǒng)的結(jié)構(gòu)應(yīng)該直接與現(xiàn)實(shí)世界的結(jié)構(gòu)相對(duì)應(yīng),應(yīng)該圍繞現(xiàn)實(shí)世界中的對(duì)象來(lái)構(gòu)造系統(tǒng),而不是圍繞功能來(lái)構(gòu)造系統(tǒng)。
(3)從程序設(shè)計(jì)的角度來(lái)看,面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言必須有描述對(duì)象及其相互之間關(guān)系的語(yǔ)言成分。這些程序設(shè)計(jì)語(yǔ)言可以歸納為以下幾類(lèi):系統(tǒng)中一切皆為對(duì)象;對(duì)象是屬性及其操作的封裝體;對(duì)象可按其性質(zhì)劃分為類(lèi),對(duì)象成為類(lèi)的實(shí)例;實(shí)例關(guān)系和繼承關(guān)系是對(duì)象之間的靜態(tài)關(guān)系;消息傳遞是對(duì)象之間動(dòng)態(tài)聯(lián)系的唯一形式,也是計(jì)算的唯一形式;方法是消息的序列。
面向?qū)ο蟮姆椒▽W(xué)包括了以下核心概念: 對(duì)象(object):即指現(xiàn)實(shí)世界中各種各樣的實(shí)體。它可以指具體的事物也可以指抽象的事物。類(lèi)(class):類(lèi)是具有相似內(nèi)部狀態(tài)和運(yùn)動(dòng)規(guī)律的實(shí)體的集合(或統(tǒng)稱(chēng)、抽象)。類(lèi)的概念來(lái)自于人們認(rèn)識(shí)自然、認(rèn)識(shí)社會(huì)的過(guò)程。
消息(Message): 消息是指對(duì)象間相互聯(lián)系和相互作用的方式。一個(gè)消息主要由5部分組成:發(fā)送消息的對(duì)象、接收消息的對(duì)象、消息傳遞辦法、消息內(nèi)容(參數(shù))、反饋。封裝:對(duì)象間的相互聯(lián)系和相互作用過(guò)程主要通過(guò)消息機(jī)制得以實(shí)現(xiàn)。對(duì)象之間并不需要過(guò)多的了解對(duì)方內(nèi)部的具體狀態(tài)或運(yùn)動(dòng)規(guī)律。面向?qū)ο蟮念?lèi)是封裝良好的模塊,類(lèi)定義將其說(shuō)明(用戶(hù)可見(jiàn)的外部接口)與實(shí)現(xiàn)(用戶(hù)不可見(jiàn)的內(nèi)部實(shí)現(xiàn))顯式地分開(kāi),其內(nèi)部實(shí)現(xiàn)按其具體定義的作用域提供保護(hù)。類(lèi)是封裝的最基本單位。封裝防止了程序相互依賴(lài)性而帶來(lái)的變動(dòng)影響。在類(lèi)中定義的接收對(duì)方消息的方法稱(chēng)為類(lèi)的接口。
繼承:類(lèi)之間的繼承關(guān)系是現(xiàn)實(shí)世界中遺傳關(guān)系的直接模擬,它表示類(lèi)之間的內(nèi)在聯(lián)系,以及對(duì)屬性和操作的共享,即子類(lèi)可以沿用父類(lèi)的某些特征。重載:重載是指類(lèi)的同名方法在給其傳遞不同的參數(shù)是可以有不同的運(yùn)動(dòng)規(guī)律。在對(duì)象間相互作用時(shí),即使接收消息對(duì)象采用相同的接收辦法,但消息內(nèi)容的詳細(xì)程度不同,接收消息對(duì)象內(nèi)部的運(yùn)動(dòng)規(guī)律也可能不同。2 關(guān)于UML
UML(Unified Modeling Language)是在Booch方法、OOSE方法和OMT方法的基礎(chǔ)上演化而來(lái)的基于面向?qū)ο蠹夹g(shù)的標(biāo)準(zhǔn)建模語(yǔ)言。它統(tǒng)一了面向?qū)ο蠼5幕靖拍睢⑿g(shù)語(yǔ)和圖示符號(hào),描述了建模過(guò)程中所必須遵循的基本步驟,提供了一整套描述軟件系統(tǒng)模型的概念和圖形表示法,可從不同的視角為系統(tǒng)建模。統(tǒng)一建模語(yǔ)言UML是一種語(yǔ)義豐富、通用、可視化的建模語(yǔ)言和事實(shí)上的國(guó)際工業(yè)標(biāo)準(zhǔn),易于理解和交流。UML提供的豐富的視圖從多個(gè)視角描述系統(tǒng)的不同側(cè)面,可以有效運(yùn)用于軟件的建模、分析與設(shè)計(jì)。標(biāo)準(zhǔn)建模語(yǔ)言UML的定義包括UML語(yǔ)義和UML表示法兩個(gè)部分。UML語(yǔ)義通過(guò)其元模型來(lái)嚴(yán)格地定義。UML表示法定義UML符號(hào)的表示法,為開(kāi)發(fā)者或開(kāi)發(fā)工具使用這些圖形符號(hào)和文本語(yǔ)法來(lái)建模提供標(biāo)準(zhǔn)。這些圖形符號(hào)和文字所表達(dá)的是應(yīng)用級(jí)的模型,在語(yǔ)義上它是UML元模型的實(shí)例。UML的主要內(nèi)容通常用用例圖、類(lèi)圖、對(duì)象圖、狀態(tài)圖、活動(dòng)圖、構(gòu)件圖、配置圖、順序圖、協(xié)作圖和包圖等l0種圖來(lái)描述,它們從不同的角度和層次為系統(tǒng)建模提供支持,完全可以描述系統(tǒng)的方方面面。
與傳統(tǒng)的軟件建模方法相比, UML 有如下一些特點(diǎn):(1)UML 是一個(gè)可視化建模語(yǔ)言, 是一種圖形化的面向?qū)ο蟮脑O(shè)計(jì)工具語(yǔ)言,而不是可視化程序設(shè)計(jì)語(yǔ)言,但用UML描述的模型可與各種編程語(yǔ)言直接相連,把UML 模型映射成編程語(yǔ)言。在不同程序中使用同樣的UML 圖表類(lèi)型, 因?yàn)閁ML 具有任意程序的獨(dú)立性,定義一個(gè)標(biāo)準(zhǔn)程序不是一個(gè)UML 的目標(biāo)。
(2)UML 是一種可用于詳細(xì)描述的語(yǔ)言,其所建立的模型是精確、無(wú)歧義和完整的。同時(shí)UML是一種文檔化的語(yǔ)言,對(duì)其各建模元素可進(jìn)行詳細(xì)說(shuō)明,并能生成所建模型的文檔。標(biāo)準(zhǔn)建模語(yǔ)言UML支持面向?qū)ο蟮姆治雠c設(shè)計(jì),定義良好、易于表達(dá)、功能強(qiáng)大。它的最大用途是利用圖形來(lái)描述真實(shí)世界各個(gè)對(duì)象的符合表示,讓所有系統(tǒng)設(shè)計(jì)者在構(gòu)建系統(tǒng)需求分析、對(duì)象模型化定義到對(duì)象設(shè)計(jì)的整個(gè)開(kāi)發(fā)過(guò)程完全標(biāo)準(zhǔn)化。3 本課題的研究意義
一個(gè)圖書(shū)館的圖書(shū)資料庫(kù)在正常運(yùn)轉(zhuǎn)中總是面對(duì)大量的讀者信息、書(shū)籍信息以及兩者相互作用產(chǎn)生的借書(shū)信息、還書(shū)信息。圖書(shū)館作為一個(gè)信息資源的集散地,圖書(shū)和用戶(hù)借閱資料繁多,包含著很多的信息數(shù)據(jù)。以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于圖書(shū)借閱情況(如借書(shū)天數(shù)、超過(guò)限定借書(shū)時(shí)間的天數(shù))的統(tǒng)計(jì)和核實(shí)等往往采用人工檢查,對(duì)借閱者的借閱權(quán)限以及借閱天數(shù)等采用人工計(jì)算、手抄進(jìn)行,數(shù)據(jù)信息處理工作量大,容易出錯(cuò)和丟失。因此,建立一個(gè)智能化、系統(tǒng)化、信息化的圖書(shū)資料庫(kù)是十分重要的。使用計(jì)算機(jī)軟件對(duì)圖書(shū)進(jìn)行管理,是計(jì)算機(jī)應(yīng)用的一部分。充分利用計(jì)算機(jī)的功能,實(shí)現(xiàn)對(duì)讀者管理、書(shū)籍管理等自動(dòng)化控制,將會(huì)使圖書(shū)資料庫(kù)的工作強(qiáng)度大大減弱,可以實(shí)現(xiàn)圖書(shū)檢索迅速、可靠性高、存儲(chǔ)量大、壽命長(zhǎng)、成本低,能最大限度地提高圖書(shū)管理的效率,也是圖書(shū)管理信息化、正規(guī)化管理的必然趨勢(shì)。4 基于UML的圖書(shū)管理系統(tǒng)的需求分析與設(shè)計(jì)過(guò)程 圖書(shū)管理系統(tǒng)的開(kāi)發(fā)和應(yīng)用主要通過(guò)兩個(gè)步驟來(lái)實(shí)現(xiàn):首先是基于系統(tǒng)功能的需求分析,其次是系統(tǒng)模型的設(shè)計(jì)和實(shí)現(xiàn)。4.1需求分析
需求分析是軟件工程過(guò)程的一個(gè)重要階段,其中一個(gè)主要任務(wù)是確定系統(tǒng)的功能需求,采用面向?qū)ο蠓椒?基于UML的可視化系統(tǒng)需求分析,因?yàn)橛杏脩?hù)的積極參與,既可以加快設(shè)計(jì)者對(duì)于問(wèn)題的理解,又能夠在系統(tǒng)描述方面減少語(yǔ)義差異,保證分析的正確性。需求分析的目標(biāo)就是建立需求模型,即從功能需求出發(fā)建立用例模型, UML的用例視圖從用戶(hù)的需求中提取,以盒圖的方式描述待開(kāi)發(fā)的系統(tǒng)的功能需求。每個(gè)用例都指定了客戶(hù)的需求即他們需要系統(tǒng)干什么。用例圖為設(shè)計(jì)活動(dòng)不僅記錄需求而且還提供了一種挖掘的信息, 它記錄了需求到設(shè)計(jì)結(jié)果之間的映射關(guān)系,能夠確保設(shè)計(jì)結(jié)果具有明確的根據(jù)或者說(shuō)具有可維護(hù)性,基于UML的軟件開(kāi)發(fā)過(guò)程是以用例驅(qū)動(dòng)的。
首先我們進(jìn)行角色識(shí)別,角色識(shí)別的任務(wù)是找出所有可能與系統(tǒng)發(fā)生交互行為的外部實(shí)體、對(duì)象、系統(tǒng)。它們的行為不受系統(tǒng)控制,但是可以提供輸入給系統(tǒng)。對(duì)于一所大學(xué)的圖書(shū)管理系統(tǒng),基本的功能是完成圖書(shū)的借閱和相關(guān)信息的管理,服務(wù)的對(duì)象有本科生,研究生,教師,及其他學(xué)校的學(xué)生,還有社會(huì)人員,這些人可歸結(jié)為一類(lèi)即讀者。而為幫助讀者順利完成借還書(shū)的可以是工作人員,可以是自動(dòng)借還書(shū)機(jī),他們可以歸結(jié)為一類(lèi)即圖書(shū)管理人員。因此對(duì)于一個(gè)圖書(shū)管理系統(tǒng)主要有兩類(lèi)角色,讀者、圖書(shū)管理員。
其次,在主要角色的基礎(chǔ)上,可以識(shí)別出與角色相應(yīng)的用例,從而得到系統(tǒng)的用例模型。與讀者相關(guān)的過(guò)程包括:借書(shū)、還書(shū)、預(yù)定、圖書(shū)信息檢索、借閱查詢(xún)(如查詢(xún)本人借書(shū)記錄、還書(shū)期限、是否超期)、個(gè)人相關(guān)信息查詢(xún)及修改(如學(xué)號(hào)、姓名、性別、年級(jí)、專(zhuān)業(yè)、家庭住址、聯(lián)系電話、出生日期、民族、政治面貌、身份證號(hào)等)。與圖書(shū)管理員相關(guān)的過(guò)程包括:辦理借書(shū)、辦理還書(shū)、解除預(yù)定、圖書(shū)訂購(gòu)、讀者信息管理(增加/刪除讀者、修改讀者權(quán)限及密碼、借閱超期罰款)、圖書(shū)信息管理(增加/刪除數(shù)目、圖書(shū)類(lèi)別等相關(guān)信息的修改、流通情況)。系統(tǒng)管理(系統(tǒng)的登陸、退出、日志維護(hù)、系統(tǒng)更新)。以上分析中,與讀者,圖書(shū)管理員相關(guān)的過(guò)程構(gòu)成了本系統(tǒng)的基本用例。4.2 系統(tǒng)的整體結(jié)構(gòu)
綜上所述一個(gè)圖書(shū)管理系統(tǒng)的整體結(jié)構(gòu)可以分為三大模塊:圖書(shū)管理模塊、讀者管理模塊、系統(tǒng)管理模塊。
(1)圖書(shū)管理模塊包括與圖書(shū)相關(guān)的一些過(guò)程,主要有圖書(shū)的借出、圖書(shū)的歸還、預(yù)定、圖書(shū)信息檢索、圖書(shū)訂購(gòu)、圖書(shū)相關(guān)信息管理。
(2)讀者管理模塊主要包括與讀者有聯(lián)系相關(guān)的過(guò)程,主要有增加/刪除讀者、修改讀者權(quán)限及密碼、借閱信息查詢(xún)、個(gè)人信息查詢(xún)及修該、借閱超期和丟失罰款。(3)系統(tǒng)管理模塊包括系統(tǒng)的登陸、退出、系統(tǒng)維護(hù)、系統(tǒng)更新。綜上我們畫(huà)出系統(tǒng)的整體結(jié)構(gòu),如圖一所示:
圖一 圖書(shū)管理系統(tǒng)的整體結(jié)構(gòu) 4.3 圖書(shū)管理系統(tǒng)的用例圖
從以上分析中我們不難得出系統(tǒng)的基本用例圖,如圖二所示:
圖二系統(tǒng)的基本用例圖
圖書(shū)管理和圖書(shū)管理是圖書(shū)管理系統(tǒng)的重要組成部分,為此我們按照前文所述將圖書(shū)管理模塊和讀者模塊以及系統(tǒng)管理模塊詳細(xì)精化得出如下的用例圖,如圖
三、圖
四、圖五所示:
圖三 圖書(shū)管理模塊的用例圖
圖四讀者管理用例圖
圖五系統(tǒng)管理模塊的用例圖 4.4 圖書(shū)管理系統(tǒng)的行為圖 我們?cè)龠M(jìn)行動(dòng)態(tài)建模分析。對(duì)于圖書(shū)管理系統(tǒng)借書(shū)還書(shū)是兩個(gè)重要的過(guò)程,我們先來(lái)分析一下借書(shū)、還書(shū)的一般過(guò)程,并由借書(shū)的一般過(guò)程畫(huà)出其順序圖、協(xié)作圖以及活動(dòng)圖。
(1)借書(shū)的過(guò)程:讀者刷卡進(jìn)入圖書(shū)館,或者先查詢(xún)圖書(shū)及個(gè)人借閱信息,或者直接去挑選圖書(shū),選擇好圖書(shū)后進(jìn)入借書(shū)程序,管理員先檢查讀者的借書(shū)證件,查驗(yàn)?zāi)芊窠栝?,比如:證件是否無(wú)效或書(shū)籍是否已經(jīng)借滿(mǎn)等,即檢驗(yàn)其借書(shū)的合法性和有效性,如果是非法用戶(hù)或借書(shū)數(shù)量范圍外,則該讀者不能借閱圖書(shū)。如果滿(mǎn)足借閱要求,則再獲取所借書(shū)的標(biāo)題以進(jìn)行庫(kù)內(nèi)搜索,獲取書(shū)目查詢(xún)此書(shū)的數(shù)量,看是否還有此書(shū),如果沒(méi)有則阻止其他借書(shū)者可能進(jìn)行的預(yù)訂活動(dòng),將此書(shū)借出,根據(jù)書(shū)號(hào)將此書(shū)的借閱標(biāo)志位取反以表示此書(shū)已借出,并將此書(shū)的書(shū)目減1。并為此讀者記錄借閱日期,以及歸還日期,在歸還日期內(nèi)未能歸還和續(xù)借的,并為其記錄超借天數(shù)及罰款數(shù)額。
(2)還書(shū)過(guò)程:在返還圖書(shū)的過(guò)程中,管理員首先獲取讀者的借閱信息和被歸還的書(shū)籍的信息,如書(shū)標(biāo)題信息,數(shù)量等,并一一審核每本書(shū)的歸還日期是否超過(guò)應(yīng)歸還日期。在完成階段,將此書(shū)的書(shū)號(hào)登記并設(shè)計(jì)標(biāo)志位為已歸還,以便讀者網(wǎng)上預(yù)訂和繼續(xù)借閱,同時(shí)將此類(lèi)圖書(shū)的數(shù)量加1,如果讀者超期或丟失所借書(shū)籍,則要進(jìn)行賠償處理。所以我們不難畫(huà)出借書(shū)一般過(guò)程的順序圖,如圖六所示:
圖六借書(shū)一般過(guò)程的順序圖
有順序圖可得到協(xié)作圖,如圖七所示。仔細(xì)分析借書(shū)過(guò)程的細(xì)節(jié),可以畫(huà)出如圖八所示的活動(dòng)圖,它表示了復(fù)雜算法的過(guò)程,尤其是過(guò)程中的判斷、并發(fā)和同步。
圖七借書(shū)一般過(guò)程的協(xié)作圖
以上我們用多種語(yǔ)言機(jī)制分析了讀者的主要相關(guān)事件流,下面我們繪制圖書(shū)管理員使用系統(tǒng)的狀態(tài)圖分析圖書(shū)管理員的主要事件流。從以上分析可知,圖書(shū)管理員相關(guān)的過(guò)程包括:辦理借書(shū)、辦理還書(shū)、解除預(yù)定、圖書(shū)訂購(gòu)、讀者信息管理(增加/刪除讀者、修改讀者權(quán)限及密碼、借閱超期罰款)、圖書(shū)信息管理(增加/刪除數(shù)目、圖書(shū)類(lèi)別等相關(guān)信息的修改、流通情況)。由此我們可繪制如圖九所示的圖書(shū)管理員使用系統(tǒng)的狀態(tài)圖:
圖九圖書(shū)管理員使用系統(tǒng)的狀態(tài)圖 4.5 圖書(shū)管理系統(tǒng)的靜態(tài)圖 定義并描述了各個(gè)類(lèi)后,我們可以根據(jù)實(shí)際情況引入包來(lái)管理類(lèi),本圖書(shū)館管理系統(tǒng)可以劃分為四個(gè)包:用戶(hù)管理:對(duì)系統(tǒng)用戶(hù)進(jìn)行管理,為用戶(hù)提供信息服務(wù)接口,便于對(duì)系統(tǒng)進(jìn)行操作。借閱管理包括借書(shū)處理,還書(shū)處理和罰款處理等。讀者管理包括對(duì)讀者圖書(shū)等信息進(jìn)行維護(hù),主要有讀者信息的增刪,對(duì)圖書(shū)更新資料進(jìn)行維護(hù)。系統(tǒng)服務(wù):包括系統(tǒng)登錄檢查,安全維護(hù)等。系統(tǒng)的包圖如圖十所示:
圖十系統(tǒng)包圖
4.6 圖書(shū)管理系統(tǒng)的實(shí)現(xiàn) 經(jīng)過(guò)系統(tǒng)分析和設(shè)計(jì)后,就可以根據(jù)設(shè)計(jì)模型在具體的環(huán)境中實(shí)現(xiàn)系統(tǒng),生成系統(tǒng)的源代碼、可執(zhí)行程序和相應(yīng)的軟件文檔,建立一個(gè)可執(zhí)行系統(tǒng)。進(jìn)而需要對(duì)系統(tǒng)進(jìn)行測(cè)試和排錯(cuò),保證系統(tǒng)符合預(yù)定的要求,獲得一個(gè)無(wú)錯(cuò)的系統(tǒng)實(shí)現(xiàn)。測(cè)試結(jié)果將確認(rèn)所完成的系統(tǒng)可以真正使用。參考文獻(xiàn)
[1] 齊治昌.譚慶平.寧洪.軟件工程.北京:高等教育出版社 [2] 張海藩.軟件工程.北京:人民郵電出版社
[3] 董翔.基于UML的圖書(shū)管理系統(tǒng)的開(kāi)發(fā)和應(yīng)用.科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì)2008年第l8卷第l2期
[4] 吳開(kāi)華.邢養(yǎng)曉.羅德撤.數(shù)字圖書(shū)館元數(shù)據(jù)研究[J].中國(guó)圖書(shū)館學(xué)報(bào),2002,(3). [5] 劉治國(guó).構(gòu)建基于B/S結(jié)構(gòu)的圖書(shū)管理系統(tǒng)[J].信息技術(shù),2005(3):72—73. [6] 管斌.袁國(guó)忠譯.用例驅(qū)動(dòng)的UML對(duì)象建模應(yīng)用-范例分析.北京:人民郵電出版社 結(jié)束語(yǔ)
本文以一個(gè)圖書(shū)館圖書(shū)管理系統(tǒng)開(kāi)發(fā)為背景,針對(duì)圖書(shū)館對(duì)圖書(shū)資源進(jìn)行有效利用和管理的功能需求,采用統(tǒng)一建模語(yǔ)言(UML)對(duì)圖書(shū)資源進(jìn)行面向?qū)ο蟮拿枋?,通過(guò)利用統(tǒng)一建模語(yǔ)言UML中的各種圖形,分析和設(shè)計(jì)圖書(shū)管理系統(tǒng),建起了圖書(shū)管理的面向?qū)ο竽P停接懥嘶赨ML的體系結(jié)構(gòu)建模及其實(shí)現(xiàn)問(wèn)題。由建模過(guò)程可以看出UML在體系結(jié)構(gòu)建模方面存在很好的優(yōu)勢(shì),不但從整體上正確描述了該圖書(shū)管理系統(tǒng)的體系結(jié)構(gòu),并且可以充分利用UML面向?qū)ο蟮膬?yōu)勢(shì),從而實(shí)現(xiàn)整個(gè)軟件系統(tǒng)面向?qū)ο蟮姆治?、設(shè)計(jì)與開(kāi)發(fā),大大縮短開(kāi)發(fā)周期,最終使得項(xiàng)目成功完成,此管理系統(tǒng)節(jié)省了管理人員和讀者的大量時(shí)間,有利于信息處理效率的提高。鑒于篇幅有限,本文只對(duì)主要部分和主要過(guò)程做了介紹,限于水平,歡迎各位讀者對(duì)本文的缺點(diǎn)、錯(cuò)誤提出批評(píng)。
第四篇:圖書(shū)管理系統(tǒng)UML分析與設(shè)計(jì)
1.系統(tǒng)需求
系統(tǒng)的功能性需求描述如下:
·
圖書(shū)管理系統(tǒng)為管理員提供主功能界面。
·
圖書(shū)管理系統(tǒng)在啟動(dòng)時(shí)要求管理員輸人口令,只有口令正確,才可以進(jìn)入系統(tǒng)的主功能界面。
·
管理員負(fù)責(zé)對(duì)圖書(shū)管理系統(tǒng)的維護(hù)工作,因此系統(tǒng)應(yīng)賦予管理員對(duì)圖書(shū)信息、讀者信息和出版社信息進(jìn)行錄入、修改、查詢(xún)和刪除等功能的操作權(quán)限。
·
管理員作為讀者的代理實(shí)現(xiàn)借書(shū)與還書(shū)業(yè)務(wù)。
·
圖書(shū)信息、讀者信息和出版社信息保存在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中。
在上述功能性需求分析的基礎(chǔ)上,可以寫(xiě)出較為詳細(xì)的需求規(guī)格說(shuō)明書(shū),作為進(jìn)行系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn)的依據(jù)。需求分析規(guī)格說(shuō)明書(shū)由系統(tǒng)最終用戶(hù)提出需求,系統(tǒng)分析人員負(fù)責(zé)編寫(xiě)。圖書(shū)管理系統(tǒng)需求分析規(guī)格說(shuō)明書(shū)如下:
·
這是一個(gè)圖書(shū)館圖書(shū)借閱管理的應(yīng)用系統(tǒng);
·
圖書(shū)管理系統(tǒng)負(fù)責(zé)將圖書(shū)、雜志借給讀者,前提條件是這些讀者在系統(tǒng)進(jìn)行了注冊(cè),圖書(shū)和雜志也在系統(tǒng)中進(jìn)行了注冊(cè);
·
圖書(shū)館負(fù)責(zé)新書(shū)的購(gòu)買(mǎi),當(dāng)書(shū)和雜志已經(jīng)過(guò)時(shí)或者破舊不堪時(shí),可以將這些圖書(shū)和雜志從圖書(shū)館管理系統(tǒng)中刪除;
·
圖書(shū)管理員是圖書(shū)館的員工,負(fù)責(zé)與讀者打交道,并且是在系統(tǒng)提供的支持下開(kāi)展工作;
·
圖書(shū)管理系統(tǒng)能夠容易地建立、修改和刪除系統(tǒng)中的信息,包括圖書(shū)信息、讀者信息、以及出版社信息等;
·
圖書(shū)管理系統(tǒng)能夠在所有流行的平臺(tái)環(huán)境(windows,uNIx等操作系統(tǒng))上運(yùn)行,并具有一個(gè)美觀的圖書(shū)用戶(hù)界面;
·
圖書(shū)管理系統(tǒng)容易擴(kuò)展新功能。
2.分析建模
? Use case diagram 分析
采用下列描述項(xiàng)撰寫(xiě)用例的腳本。
· 用例名稱(chēng)——表明用戶(hù)的意圖或用例的用途。
· 參與者——與該用例相關(guān)的參與者列表。
· 前置條件——一個(gè)條件列表,如果其中包含條件,則這些條件必須在訪問(wèn)用例之前得到滿(mǎn)足。
· 后置條件——一個(gè)條件列表,如果其中包含條件,則這些條件將在用例完成以后得到滿(mǎn)足。
· 基本事件流——描述用例中各項(xiàng)活動(dòng)都正常進(jìn)行時(shí)用例的工作方式。
· 分支事件流——描述用例中某項(xiàng)活動(dòng)的子活動(dòng)各項(xiàng)工作都正常進(jìn)行時(shí)用例的工作式。
· 異常事件流——描述用例的變更工作方式,以及出現(xiàn)異?;虬l(fā)生錯(cuò)誤的情況下所執(zhí)行的路徑。
圖書(shū)管理系統(tǒng)中每個(gè)用例的腳本描述如下:
1.系統(tǒng)登錄
用例名稱(chēng):系統(tǒng)登錄
參與者:圖書(shū)管理員 1.1前置條件 無(wú)
1.2后置條件
如果用例成功,參與者可以啟動(dòng)系統(tǒng),使用系統(tǒng)提供的功能。反之,系統(tǒng)的狀態(tài)不發(fā)生變化。
1.3基本事件流
當(dāng)圖書(shū)管理員登錄系統(tǒng)時(shí),用例啟動(dòng)。
①系統(tǒng)提示用戶(hù)輸入用戶(hù)名和密碼。
②用戶(hù)輸入用戶(hù)名和密碼。
③系統(tǒng)驗(yàn)證輸入的用戶(hù)名和密碼,若正確,則用戶(hù)登錄到系統(tǒng)中。
1.4異常事件流
如果用戶(hù)輸入無(wú)效的用戶(hù)名/密碼,則系統(tǒng)顯示錯(cuò)誤信息。用戶(hù)可以選擇返回基本事件流的起始點(diǎn),重新輸入正確的用戶(hù)名/密碼;或者取消登錄,用例結(jié)束。
2.圖書(shū)借閱
用例名稱(chēng):借閱圖書(shū)
參與者:讀者,圖書(shū)管理員 2.1前置條件
在這個(gè)用例開(kāi)始之前,圖書(shū)管理員必須登錄到系統(tǒng);否則,系統(tǒng)的狀態(tài)不發(fā)生變化。
2.2后置條件
如果這個(gè)用例成功實(shí)現(xiàn),則在系統(tǒng)中創(chuàng)建并存儲(chǔ)借閱記錄。2.3基本事件流
當(dāng)讀者借閱圖書(shū)時(shí),用例啟動(dòng)。
①登錄系統(tǒng)。
②輸人圖書(shū)ID和讀者ID。
③檢索讀者ID。
④檢索圖書(shū)ID。
⑤根據(jù)時(shí)間算法確定圖書(shū)借出日期和歸還日期。
⑥圖書(shū)館將圖書(shū)借給讀者。
⑦創(chuàng)建借閱記錄。
⑧存儲(chǔ)借閱記錄。2.4異常事件流
①如果讀者未注冊(cè),則系統(tǒng)顯示提示信息,用例被終止。
②如果要借圖書(shū)不存在,系統(tǒng)顯示提示信息,用例被終止。
③如果要借圖書(shū)都已借出,則系統(tǒng)提示信息,用例被終止。3.圖書(shū)歸還
用例名稱(chēng):圖書(shū)歸還
參與者:讀者,圖書(shū)管理員 3.1前置條件
在這個(gè)用例開(kāi)始之前,圖書(shū)管理員必須登錄到系統(tǒng);否則,系統(tǒng)的狀態(tài)不發(fā)生變化。
3.2后置條件
如果這個(gè)用例成功實(shí)現(xiàn),則系統(tǒng)刪除借閱記錄;否則,系統(tǒng)的狀態(tài)不發(fā)生變化。3.3基本事件流
當(dāng)讀者歸還借閱的圖書(shū)時(shí),用例被啟動(dòng)。
①登錄系統(tǒng)。
②輸入圖書(shū)ID和讀者ID。③檢索圖書(shū)ID。
④檢索讀者ID。
⑤查詢(xún)圖書(shū)借閱記錄。⑥刪除借閱記錄。3.4異常事件流
①如果歸還圖書(shū)不存在,則系統(tǒng)顯示提示信息,用例被終止。②如果借閱記錄不存在,則系統(tǒng)顯示提示信息,用例被終止。4.讀者維護(hù)
用例名稱(chēng):讀者維護(hù) ‘ 參與者:圖書(shū)管理員 ’ 4.1前置條件
在這個(gè)用例開(kāi)始之前,圖書(shū)管理員必須登錄到系統(tǒng);否則,系統(tǒng)的狀態(tài)不發(fā)生變化。4.2后置條件
如果這個(gè)用例成功地實(shí)現(xiàn),則系統(tǒng)添加、修改或檢索讀者信息;否則,系統(tǒng)的狀態(tài)不發(fā)生變化。
4.3基本事件流
當(dāng)圖書(shū)管理員維護(hù)讀者信息時(shí),用例被啟動(dòng)。①登錄系統(tǒng)。
②如果選擇的活動(dòng)是“添加讀者信息”,則執(zhí)行分支事件流4.3.1:添加讀者信息。③如果選擇的活動(dòng)是“修改讀者信息”,則執(zhí)行分支事件流4.3.2:修改讀者信息。④如果選擇的活動(dòng)是“檢索讀者信息”,則執(zhí)行分支事件流4.3.3:檢索讀者信息。4.3.1分支事件流
①提供讀者的信息,例如,讀者ID,讀者姓名、電話號(hào)碼等。②系統(tǒng)存儲(chǔ)讀者信息。4.3.2分支事件流 ①輸入讀者ID。
②查詢(xún)并顯示讀者信息。③更新系統(tǒng)中讀者信息。4.3.3分支事件流 ①輸入讀者ID。
②查詢(xún)并顯示讀者信息。4.4異常事件流
①如果讀者已經(jīng)存在,則系統(tǒng)顯示提示信息,用例被終止。②如果查詢(xún)不到讀者,則系統(tǒng)顯示提示信息,用例被終止。5.圖書(shū)維護(hù)
用例名稱(chēng):圖書(shū)維護(hù) 參與者:圖書(shū)管理員 5.1前置條件
在這個(gè)用例開(kāi)始之前,圖書(shū)管理員必須登錄到系統(tǒng);否則,系統(tǒng)的狀態(tài)不發(fā)生變化。5.2后置條件
如果這個(gè)用例成功實(shí)現(xiàn),則系統(tǒng)添加、修改或檢索圖書(shū)信息;否則,系統(tǒng)的狀態(tài)不發(fā)生變化。
5.3基本事件流
當(dāng)圖書(shū)管理員維護(hù)圖書(shū)信息時(shí),用例被啟動(dòng)。①登錄系統(tǒng)。
②如果選擇的活動(dòng)是“添加圖書(shū)信息”,則執(zhí)行分支事件流5.3.1:添加圖書(shū)信息。③如果選擇的活動(dòng)是“修改圖書(shū)信息”,則執(zhí)行分支事件流5.3.2:修改圖書(shū)信息。④如果選擇的活動(dòng)是“檢索圖書(shū)信息”,則執(zhí)行分支事件流5.3.3:檢索圖書(shū)信息。5.3.1分支事件流
①提供圖書(shū)的信息,例如,圖書(shū)ID,圖書(shū)名稱(chēng)、編著者、出版社、價(jià)格、出版年份籌 ②系統(tǒng)存儲(chǔ)圖書(shū)信息。5.3.2分支事件流 ①輸人圖書(shū)ID。
②查詢(xún)并顯示圖書(shū)信息。⑨更新系統(tǒng)中圖書(shū)信息。5.3.3分支事件流 ①輸入圖書(shū)ID。
②查詢(xún)并顯示圖書(shū)信息。5.4異常事件流
①如果該圖書(shū)已經(jīng)存在,則系統(tǒng)顯示提示信息,用例被終止。②如果查詢(xún)不到該圖書(shū),則系統(tǒng)顯示提示信息,用例被終止。
系統(tǒng)總體功能結(jié)構(gòu)
? 根據(jù)用例圖定義分析包以及分析包(子系統(tǒng))之間的關(guān)系。
圖書(shū)管理系統(tǒng)分析包詳細(xì)結(jié)構(gòu)
? 定義類(lèi)、用例實(shí)現(xiàn)(序列圖)、類(lèi)關(guān)系圖(1)系統(tǒng)登錄
類(lèi)圖:
系統(tǒng)登錄分析類(lèi)圖
用例實(shí)現(xiàn):
登錄系統(tǒng)成功順序圖
登錄系統(tǒng)失敗順序圖
(2)登錄圖書(shū)信息
類(lèi)圖:
登錄圖書(shū)信息分析類(lèi)圖
用例實(shí)現(xiàn):
登錄圖書(shū)信息順序圖
(3)修改圖書(shū)信息
類(lèi)圖:
修改圖書(shū)信息分析類(lèi)圖
用例實(shí)現(xiàn):
修改圖書(shū)信息順序圖
(4)檢索圖書(shū)信息
類(lèi)圖:
檢索圖書(shū)信息分析類(lèi)圖
用例實(shí)現(xiàn):
檢索圖書(shū)信息順序圖
(5)借閱圖書(shū) 類(lèi)圖:
借閱圖書(shū)分析類(lèi)圖
用例實(shí)現(xiàn):
借閱圖書(shū)順序圖
(6)歸還圖書(shū)
類(lèi)圖:
歸還圖書(shū)分析類(lèi)圖
用例實(shí)現(xiàn):
歸還圖書(shū)順序圖
(7)借出圖書(shū)一覽表
類(lèi)圖:
借出圖書(shū)一覽表分析類(lèi)圖
用例實(shí)現(xiàn):
借出圖書(shū)一覽表順序圖
(8)類(lèi)關(guān)系圖
系統(tǒng)實(shí)體類(lèi)(業(yè)務(wù)類(lèi))之間的關(guān)系
(9)類(lèi)的具體定義
1.圖書(shū)表類(lèi)
編號(hào):A—l一0l
類(lèi)名:圖書(shū)表
職責(zé):存放圖書(shū)館所能處理的所有圖書(shū)的基本信息
屬性:圖書(shū)代號(hào),圖書(shū)名稱(chēng),編著者,ISBN代碼,出版社代碼,出版年份,頁(yè)數(shù),價(jià)格,購(gòu)入日期,過(guò)期日期,書(shū)架代碼,備注
說(shuō)明:該類(lèi)存放所有圖書(shū)類(lèi)的公用信息,它是“圖書(shū)借閱表”的父類(lèi)。圖書(shū)也有身份,可以通過(guò)不同的ISBN相區(qū)別。在圖書(shū)管理系統(tǒng)中,圖書(shū)也有相關(guān)的行為,圖書(shū)因?yàn)槭褂闷谙薜瓤梢员讳N(xiāo)毀,所以圖書(shū)表也是系統(tǒng)中的一個(gè)對(duì)象。
2.登錄圖書(shū)界面類(lèi)
編號(hào):A一1—02
類(lèi)名:登錄圖書(shū)界面
職責(zé):提供輸入所有圖書(shū)信息的界面
屬性:圖書(shū)代號(hào),圖書(shū)名稱(chēng),編著者,ISBN代碼,出版社代碼,出版年份,頁(yè)數(shù),價(jià)格,購(gòu)入日期,過(guò)期日期,書(shū)架代碼,備注
說(shuō)明:該類(lèi)的所有屬性是非持久性的,但它為用戶(hù)保存永久性的圖書(shū)屬性提供了一個(gè)臨時(shí)的輸入接口。
3.登錄圖書(shū)信息控制類(lèi)
編號(hào):A—l—03
類(lèi)名:登錄圖書(shū)信息控制類(lèi)
職責(zé):實(shí)現(xiàn)登錄圖書(shū)界面類(lèi)與圖書(shū)表類(lèi)所提供信息的交互。
屬性:圖書(shū)代號(hào),圖書(shū)名稱(chēng),編著者,ISBN代碼,出版社代碼,出版年份,頁(yè)數(shù),價(jià) 格,購(gòu)人日期,過(guò)期日期,書(shū)架代碼,備注
說(shuō)明:該類(lèi)的所有屬性是非持久性的,但它為用戶(hù)保存永久性的圖書(shū)屬性提供了一 個(gè)臨時(shí)的輸人接口。
4.出版社表類(lèi)
編號(hào):B—l—01
類(lèi)名:出版社表
職責(zé):存放圖書(shū)表所使用的所有圖書(shū)的出版單位
屬性:出版社代碼,出版社名稱(chēng)
說(shuō)明:該類(lèi)與出版社表之間存在著單向關(guān)聯(lián)的關(guān)系。
5.讀者表類(lèi)
編號(hào):C一1一Ol
類(lèi)名:讀者表
職責(zé):存放圖書(shū)館的所有讀者的基本信息
屬性:讀者代碼,讀者名,聯(lián)絡(luò)電話
說(shuō)明:該類(lèi)類(lèi)描述了物理借閱者的信息,代表了系統(tǒng)中存儲(chǔ)的物理借閱者的信息,即物理借閱者在系統(tǒng)中的賬戶(hù)。同時(shí),讀者表又是圖書(shū)借閱表的組成成分之一。
6.圖書(shū)借閱表類(lèi)
編號(hào):D—l—01
類(lèi)名:圖書(shū)借閱表
職責(zé):存放圖書(shū)館所能處理的所有圖書(shū)的基本信息
屬性:圖書(shū)代號(hào),讀者代號(hào),借書(shū)日期,還書(shū)日期,說(shuō)明:該類(lèi)描述了從圖書(shū)館借閱圖書(shū)的借閱記錄。一個(gè)該類(lèi)的對(duì)象對(duì)應(yīng)一個(gè)借閱者和一本圖書(shū)。該類(lèi)的對(duì)象的存在表示借閱者借閱了借閱記錄中記錄的物理圖書(shū)。當(dāng)圖書(shū)被歸還時(shí),要?jiǎng)h除借閱記錄(對(duì)象)。
? 形成系統(tǒng)分析規(guī)約(注意規(guī)約可能會(huì)有活動(dòng)圖、狀態(tài)圖等)
3.系統(tǒng)設(shè)計(jì)
設(shè)計(jì)模型的主要工作: 1).軟件平臺(tái)設(shè)計(jì)
軟件平臺(tái)是系統(tǒng)開(kāi)發(fā)和運(yùn)行的環(huán)境。圖書(shū)管理系統(tǒng)的開(kāi)發(fā)和運(yùn)行環(huán)境如下:
· 操作系統(tǒng)——操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)中最重要的系統(tǒng)軟件。圖書(shū)管理系統(tǒng)可以運(yùn)行在Windows 95/98/2000/NT/Windows XP等桌面操作系統(tǒng)上。
· 支撐軟件——支撐軟件是協(xié)助人們開(kāi)發(fā)和維護(hù)軟件的工具和環(huán)境軟件。數(shù)據(jù)庫(kù)系統(tǒng)、集成開(kāi)發(fā)環(huán)境等都屬于支撐型軟件,例如,Delphi、Oracle、Java等。圖書(shū)管理系統(tǒng)使用的DBMS是Access 2003,數(shù)據(jù)庫(kù)中間件是JDBC。
· CASE平臺(tái)——采用CASE開(kāi)發(fā)環(huán)境可保證系統(tǒng)開(kāi)發(fā)質(zhì)量,提高開(kāi)發(fā)效率,保證文檔的一致性。圖書(shū)管理系統(tǒng)的分析、設(shè)計(jì)j實(shí)現(xiàn)和部署模型是在Rose 2003建模環(huán)境下創(chuàng)建的,清晰地表達(dá)了在不同的開(kāi)發(fā)階段的系統(tǒng)模型。2).結(jié)構(gòu)設(shè)計(jì)
結(jié)構(gòu)設(shè)計(jì)是把軟件分解成為多個(gè)子系統(tǒng),并確定出由各子系統(tǒng)及其接口構(gòu)成的軟件結(jié)構(gòu)。子系統(tǒng)是對(duì)軟件分解的一種中間形式,也是組織和描述軟件的一種方法。由多個(gè)子系統(tǒng)構(gòu)成系統(tǒng)軟件,每一個(gè)子系統(tǒng)又包括多個(gè)用例設(shè)計(jì)、設(shè)計(jì)類(lèi)和接口。結(jié)構(gòu)設(shè)計(jì)具體要做的工作是將系統(tǒng)劃分成相對(duì)獨(dú)立、功能相對(duì)完整的子系統(tǒng)(包),將系統(tǒng)模型中的元素劃分到不同的包中,說(shuō)明在什么地方定義包,各個(gè)包之間的依賴(lài)性和主要通信機(jī)制。從而得到盡可能簡(jiǎn)單和清晰的結(jié)構(gòu),各部分之間的依賴(lài)盡可能的少,并盡量減少雙向的依賴(lài)關(guān)系。3).詳細(xì)設(shè)計(jì)與界面設(shè)計(jì)
詳細(xì)設(shè)計(jì)是對(duì)軟件結(jié)構(gòu)中確定出的各個(gè)子系統(tǒng)內(nèi)部的設(shè)計(jì),需要分析和確定每一個(gè)子系統(tǒng)中的用例設(shè)計(jì)、設(shè)計(jì)類(lèi)和接口。詳細(xì)設(shè)計(jì)還要描述每個(gè)類(lèi)的細(xì)節(jié),并用動(dòng)態(tài)模型描述類(lèi)的實(shí)例在具體環(huán)境中的行為。
界面設(shè)計(jì)是對(duì)人和外部系統(tǒng)與系統(tǒng)之間交互界面的設(shè)計(jì),包括輸入界面、輸出界面和輸入/輸出界面的設(shè)計(jì)。另外,界面設(shè)計(jì)還涉及到人機(jī)交互方式、人機(jī)交互流程、輸入輸出設(shè)備和媒體等內(nèi)容。4).?dāng)?shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)是系統(tǒng)存儲(chǔ)和管理數(shù)據(jù)的主要技術(shù)手段,數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)是根據(jù)給定的系統(tǒng)應(yīng)用需求和系統(tǒng)環(huán)境,設(shè)計(jì)出合理的數(shù)據(jù)庫(kù)結(jié)構(gòu)。數(shù)據(jù)庫(kù)設(shè)計(jì)可分為概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)3個(gè)階段。用UML進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)的主要思想,是利用UML的擴(kuò)展機(jī)制定義一些版型,用于表示與數(shù)據(jù)庫(kù)相關(guān)的一些概念。Rose 2003提供了對(duì)數(shù)據(jù)庫(kù)設(shè)計(jì)的支持,所設(shè)計(jì)的模型可以直接生成具體數(shù)據(jù)庫(kù)中的表、觸發(fā)器、存儲(chǔ)過(guò)程等。
? 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)
系統(tǒng)框架視圖
· 用戶(hù)界面包(User Interface Package)——用于描述整個(gè)用戶(hù)界面使用的類(lèi),這些類(lèi)提供的操作允許用戶(hù)瀏覽系統(tǒng)中的數(shù)據(jù),允許用戶(hù)輸入新數(shù)據(jù)。用戶(hù)界面類(lèi)基于Java AWT包設(shè)計(jì),AWT包是Java語(yǔ)言中用于編寫(xiě)用戶(hù)界面應(yīng)用程序的一個(gè)標(biāo)準(zhǔn)庫(kù)。用戶(hù)界面包與業(yè)務(wù)模型包相互協(xié)作,調(diào)用業(yè)務(wù)模型包中類(lèi)實(shí)例的方法對(duì)圖書(shū)信息進(jìn)行檢索和插入操作。
。業(yè)務(wù)模型包(Business Model Package)——包含分析階段主要的類(lèi)(借閱圖書(shū)類(lèi)、歸還圖書(shū)類(lèi)、圖書(shū)類(lèi)、讀者類(lèi)、出版社類(lèi))。在設(shè)計(jì)階段將進(jìn)一步細(xì)化這些類(lèi),從而完整地定義它們的操作,并為它們?cè)黾佑谰眯源鎯?chǔ)支持。業(yè)務(wù)模型包與數(shù)據(jù)庫(kù)包相互協(xié)作,訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)?!?數(shù)據(jù)庫(kù)包(Database Package)——為業(yè)務(wù)模型包中的類(lèi)提供數(shù)據(jù)存取服務(wù),以便這些類(lèi)能夠?qū)崿F(xiàn)數(shù)據(jù)的永久性存儲(chǔ)功能。
。組件包(Utility Package)——包含一些可以被系統(tǒng)中其他包所使用的服務(wù)。
? 界面設(shè)計(jì)
? 詳細(xì)設(shè)計(jì)
圖書(shū)信息管理詳細(xì)設(shè)計(jì):
1.設(shè)計(jì)類(lèi)圖
“圖書(shū)信息管理’’是一個(gè)用例,在“圖書(shū)信息管理”用例所提取的3個(gè)概念類(lèi)的基礎(chǔ)上,可以確定該用例有3個(gè)設(shè)計(jì)類(lèi):登錄圖書(shū)信息(LoginBook)、修改圖書(shū)信息(UpdateBook)、檢索圖書(shū)信息(SelectRook)。如圖13.2所示為“圖書(shū)信息管理”用例的設(shè)計(jì)類(lèi)圖。
“圖書(shū)信息管理”用例設(shè)計(jì)類(lèi)圖
·
BpFrame類(lèi)——屬于用戶(hù)界面包,定義系統(tǒng)檢索與修改界面的框架。
·
BpSelectFrame類(lèi)——屬于用戶(hù)界面包,繼承BpFrame類(lèi),定義檢索界面框架。
·
BpUpdateFrame類(lèi)——屬于用戶(hù)界面包,繼承BpSelectFrame類(lèi),定義系統(tǒng)修改界面框架。
·
SelectBook類(lèi)——屬于用戶(hù)界面包,繼承BpSelectFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),顯示圖書(shū)信息檢索界面。
·
LoginBook類(lèi)——屬于業(yè)務(wù)模型包,繼承BpUpdateFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),實(shí)現(xiàn)圖書(shū)信息登錄功能。
·
UpdateBook類(lèi)——屬于業(yè)務(wù)模型包,繼承BpUpdateFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),實(shí)現(xiàn)圖書(shū)信息修改功能。
·
DbChoice類(lèi)——屬于組件包,定義了用于數(shù)據(jù)庫(kù)操作的實(shí)例變量和實(shí)例方法。
2.順序圖
為實(shí)現(xiàn)用例的功能,每個(gè)用例要實(shí)現(xiàn)的功能要通過(guò)用例中各個(gè)類(lèi)的對(duì)象的操作的相互協(xié)作完成,這就要在順序圖或協(xié)作圖中反映各個(gè)對(duì)象之間的消息調(diào)用過(guò)程。如圖13.3所示為添加的圖書(shū)ID不重復(fù)的情況下“登錄圖書(shū)信息”用例的順序圖。
“登錄圖書(shū)信息”順序圖
3.屬性和方法設(shè)計(jì)
用例設(shè)計(jì)中識(shí)別出了大量的設(shè)計(jì)類(lèi),接下來(lái)要詳細(xì)地設(shè)計(jì)所識(shí)別出來(lái)的每一個(gè)設(shè)計(jì)類(lèi),即設(shè)計(jì)類(lèi)的屬性和方法。屬性設(shè)計(jì)應(yīng)該注意的問(wèn)題是:一要補(bǔ)充屬性分析時(shí)沒(méi)有考慮到的屬性,確定屬性的全部?jī)?nèi)容,其中包括屬性名、可視性、范圍、類(lèi)型、初始值;二要盡量采用系統(tǒng)采用的程序設(shè)計(jì)語(yǔ)言的語(yǔ)法規(guī)范描述屬性。
方法設(shè)計(jì)包括數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)、算法設(shè)計(jì)和流程設(shè)計(jì)。方法設(shè)計(jì)要注意的是:一要立足于所采用的程序設(shè)計(jì)語(yǔ)言;二所選用的程序設(shè)計(jì)語(yǔ)言應(yīng)該能夠提供豐富的數(shù)據(jù)結(jié)構(gòu);三要根據(jù)所實(shí)現(xiàn)的功能確定算法設(shè)計(jì);四是可以用程序流程圖或活動(dòng)圖來(lái)描述流程設(shè)計(jì)的結(jié)果。
如圖所示為添加了屬性和方法“圖書(shū)信息管理”用例的設(shè)計(jì)類(lèi)圖。
添加屬性和方法后的“圖書(shū)信息管理”類(lèi)圖
LoginBook類(lèi)的屬性和方法設(shè)計(jì)如下:
·
sql屬性——定義執(zhí)行插人操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
LoginBook()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供添加圖書(shū)信息界面。
·
cheekInsea()方法——①檢查各輸入項(xiàng)的輸人格式是否正確;②檢查圖書(shū)ID是否重復(fù)。
·
makelnsertStmt()方法——定義執(zhí)行插人操作的SQL命令字符串。
·
afterlnsert()方法——清空登錄圖書(shū)界面的各輸入項(xiàng)。
SelectBook類(lèi)的屬性和方法設(shè)計(jì)如下:
·
sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
SelectBook()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供檢索圖書(shū)界面。
·
checkSelect()方法——檢查是否輸入要檢索的圖書(shū)ID。
·
makeSelectStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串。
·
setSelectedData()方法——顯示檢索圖書(shū)的結(jié)果。
·
clear()方法——清空?qǐng)D書(shū)檢索界面各檢索項(xiàng)。
UpdateBook類(lèi)的屬性和方法設(shè)計(jì)如下:
·
sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
·
chpublish_id屬性——定義出版社ID。
·
UpdateBook()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供檢索圖書(shū)界面;③提供修改圖書(shū)功能。
·
checkSelect()方法——檢查是否輸人要檢索的圖書(shū)ID。
·
makeSelectStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串。
·
setSelectedData()方法——顯示檢索圖書(shū)的結(jié)果。
·
clear()方法——清空?qǐng)D書(shū)修改界面各修改項(xiàng)。
·
checkUpdate()方法——檢查各修改項(xiàng)的修改格式是否正確。
·
makeUpdateStmt()方法——定義執(zhí)行修改操作的SQL命令字符串。
讀者信息管理詳細(xì)設(shè)計(jì): 1.設(shè)計(jì)類(lèi)圖
“讀者信息管理”是一個(gè)用例,在“讀者信息管理”用例確定了3個(gè)概念類(lèi):添加讀者信息、修改讀者信息、檢索讀者信息。但是,該用例的功能相對(duì)比較簡(jiǎn)單??梢杂?個(gè)設(shè)計(jì)類(lèi)Borrow實(shí)現(xiàn)這3個(gè)概念類(lèi)的功能。如圖所示為“讀者信息管理”用例的設(shè)計(jì)類(lèi)圖。
圖13.5 “讀者信息管理”用例設(shè)計(jì)類(lèi)圖
· Borow類(lèi)——屬于業(yè)務(wù)模型包,繼承BpupdateFrame類(lèi),實(shí)現(xiàn)讀者信息添加修改和檢索功能。
2.順序圖
如圖13.6所示為添加的讀者ID不重復(fù)的情況下“添加讀者信息”用例的順序圖。
“添加讀者信息”順序圖
通過(guò)分析如圖所示的順序圖,可以得到下圖所示為“讀者信息管理”用例的設(shè)計(jì)類(lèi)圖。
圖優(yōu)化后的“讀者信息管理”用例設(shè)計(jì)類(lèi)圖
3.屬性和方法設(shè)計(jì)
如下圖所示為添加了屬性和方法“讀者信息管理”用例的設(shè)計(jì)類(lèi)圖。
添加屬性和方法后的“讀者信息管理”類(lèi)圖
Borrow類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
· Borrow()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供添加、修改和檢索讀者信
息界面。
· checkSelect()方法——檢查是否輸入要檢索的讀者ID。
· makeSeleetStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索讀者的結(jié)果。
· ehecklnsert()方法——檢查是否可執(zhí)行插入操作。
· makeInsertStmt()方法——定義執(zhí)行插入操作的SQL命令字符串。
· afterlnsert()方法——清空各輸入項(xiàng)。
· checkUpdate()方法——檢查是否可執(zhí)行修改操作。
· makeUpdateStmt()方法——定義執(zhí)行修改操作的SQL命令字符串。
· checkData()方法——檢查各輸入項(xiàng)的輸人格式是否正確。
· clear()方法——清空各文本框。
出版社信息管理詳細(xì)設(shè)計(jì): 1.設(shè)計(jì)類(lèi)圖
“出版社信息管理”是一個(gè)用例,可以用1個(gè)設(shè)計(jì)類(lèi)Publish實(shí)現(xiàn)添加出版社信息、修改出版社信息、檢索出版社信息3個(gè)概念類(lèi)。如圖13.9所示為“出版社信息管理”用例的設(shè)計(jì)類(lèi)圖。
圖13.9 “出版社信息管理”用例設(shè)計(jì)類(lèi)圖
· Publish類(lèi)——屬于業(yè)務(wù)模型包,繼承BpUpdateFrame類(lèi),實(shí)現(xiàn)出版社信息添加、修改和檢索功能。
2.順序圖
如圖13.10所示為添加的出版社ID不重復(fù)情況下“添加出版社信息”用例的順序圖。
圖13.10 “添加出版社信息”順序圖
3.屬性和方法設(shè)計(jì)
如圖13.1l所示為添加了屬性和方法“出版社信息管理”用例的設(shè)計(jì)類(lèi)圖。
圖13.11 添加屬性和方法后的“出版社信息管理”類(lèi)圖
Publish類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
· Publish()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供添加、修改和檢索出版社信息界面。
· checkSelect()方法——檢查是否輸入要檢索的出版社ID。
· makeSelectStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串?!?setSelectedData()方法——顯示檢索出版社的結(jié)果?!?checklnsert()方法——檢查是否可執(zhí)行插入操作。
· makeInsertStmt()方法——定義執(zhí)行插入操作的SQL命令字符串?!?afterInsert()方法——清空各輸人項(xiàng)。
· checkUpdate()方法——檢查是否可執(zhí)行修改操作。
· makeUpdateStmt()方法——定義執(zhí)行修改操作的SQL命令字符串。· checkData()方法——檢查各輸入項(xiàng)的輸人格式是否正確?!?clear()方法——清空各文本框。
圖書(shū)借還信息管理詳細(xì)設(shè)計(jì): 1.設(shè)計(jì)類(lèi)圖
“圖書(shū)借還信息管理”是一個(gè)用例,在“圖書(shū)信息管理”用例所提取的4個(gè)概念類(lèi)的基礎(chǔ)上,可以確定該用例有4個(gè)設(shè)計(jì)類(lèi):借閱圖書(shū)(BorrowBook)、歸還圖書(shū)(RetumBook)、借出圖書(shū)一覽表(BorrowBookList)和未按期歸還圖書(shū)一覽表(OverdueList)。如圖所示為“圖書(shū)借還信息管理”用例的設(shè)計(jì)類(lèi)圖。
圖“圖書(shū)借還信息管理”用例設(shè)計(jì)類(lèi)圖
· BorrowBook類(lèi)——屬于業(yè)務(wù)模型包,繼承BpUpdateFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),實(shí)現(xiàn)圖書(shū)借閱功能。
· ReturnBook類(lèi)——屬于業(yè)務(wù)模型包,繼承BpUpdateFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),實(shí)現(xiàn)圖書(shū)歸還功能。
· BorrowBookList類(lèi)——屬于業(yè)務(wù)模型包,繼承BpSelectFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),顯示借出圖書(shū)清單一覽表。
· OverdueList類(lèi)——屬于業(yè)務(wù)模型包,繼承BpSelectFrame類(lèi),與DbChoice類(lèi)相關(guān)聯(lián),顯示未按期歸還圖書(shū)與讀者清單一覽表。
2.順序圖
如圖所示為讀者ID與圖書(shū)ID都存在情況下的“借閱圖書(shū)”用例的順序圖。
“登錄圖書(shū)信息”順序圖
3.屬性和方法設(shè)計(jì)
如圖所示為添加了屬性和方法“圖書(shū)借還信息管理”用例的設(shè)計(jì)類(lèi)圖。
添加屬性和方法后的“圖書(shū)借還信息管理”類(lèi)圖
BorrowBook類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
· BorrowBook()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供添加圖書(shū)信息界面?!?checklnsert()方法——①檢查各輸入項(xiàng)的輸入格式是否正確;②檢查借閱圖書(shū)ID是否存在。
· makeInsertStmt()方法——定義執(zhí)行插入操作的SQL命令字符串。
· afterInsert()方法——清空借閱圖書(shū)界面的各輸入項(xiàng)。
· checkSelect()方法——檢查是否輸入讀者ID和圖書(shū)ID。
· makeSelectStmt()方法——顯示檢索結(jié)果。
· checkDelete()方法——檢查是否可執(zhí)行刪除操作。
· makeDeleteStmt()方法——定義執(zhí)行刪除操作的SQL命令字符串。
· afterDelete()方法——清空刪除操作后的各輸入項(xiàng)。
· clear()方法——清空所有的文本框。ReturnBook類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插人操作的SQL命令字符串。
· RetumBook()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供圖書(shū)歸還界面。
· checkUpdate()方法——檢查各修改項(xiàng)的修改格式是否正確。
· makeUpdateStmt()方法——定義執(zhí)行修改操作的SQL命令字符串?!?afterUpdate()方法——清空所有的文本框。BorrowBookList類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
· BorrowBookList()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供實(shí)現(xiàn)“借出圖書(shū)一覽表”功能的界面。
· makeSelectStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索結(jié)果。OverdueList類(lèi)的屬性和方法設(shè)計(jì)如下:
· sql屬性——定義執(zhí)行插入操作的SQL命令字符串。
· xOverdueList()方法——類(lèi)的構(gòu)造方法。①調(diào)用DbChoice類(lèi)的對(duì)象實(shí)例,以實(shí)現(xiàn)加載JDBC驅(qū)動(dòng)程序,創(chuàng)建數(shù)據(jù)庫(kù)連接等功能;②提供實(shí)現(xiàn)“未按期歸還圖書(shū)一覽表”功能的界面。
· makeSelectStmt()方法——定義執(zhí)行檢索操作的SQL命令字符串。
· setSelectedData()方法——顯示檢索結(jié)果。
組件包設(shè)計(jì):
組件包包含被所有其他包使用的通用組件,圖書(shū)管理系統(tǒng)的組件包由Const、DbChoice、BpUtil三個(gè)類(lèi)組成,這三個(gè)類(lèi)定義了系統(tǒng)所有其他類(lèi)所使用的公共常量與公共方法。另外,IconCanvas(加載系統(tǒng)界面所使用的圖標(biāo))、MsgDialog(信息顯示對(duì)話框)、SQLExceptionDialog(顯示數(shù)據(jù)庫(kù)異常信息對(duì)話框)3個(gè)類(lèi)也為系統(tǒng)所有其他類(lèi)所公共使用。在此與組件包中的類(lèi)一起進(jìn)行說(shuō)明。1.Const類(lèi)
Const類(lèi)定義了系統(tǒng)所使用的公共名稱(chēng)等常量,其類(lèi)圖如圖所示。
Const類(lèi)的類(lèi)圖
2.BpUtil類(lèi)
BpUtil類(lèi)定義了系統(tǒng)使用的公共方法,其類(lèi)圖如圖所示。
BpUtil類(lèi)的類(lèi)圖
BpUtil類(lèi)的方法設(shè)計(jì)如下:
· repeateString()方法——返回指定個(gè)數(shù)的字符串對(duì)象。
· varchar2text()方法——返回按照指定長(zhǎng)度調(diào)整的字符串對(duì)象。
· setComp()方法——在組件上按照CridBagConstraints布局配置Panel?!?checkWaming()方法——檢查數(shù)據(jù)庫(kù)連接操作是否出現(xiàn)異常?!?isNumeric()方法——驗(yàn)證字符串能否轉(zhuǎn)換為數(shù)值。
· getToday()方法——以YYYY/MM/DD的格式返回今日的日期。
· getToday()方法——返回以今日為基點(diǎn)的指定為YYYY/MM/DD格式的日期?!?isYMD()方法——驗(yàn)證能否識(shí)別YYYY/MM/DD格式的字符串?!?GB2312Unicode()方法——GB2312轉(zhuǎn)換為Unicode?!?UnicodeGB2312()方法——Unicode轉(zhuǎn)換為GB2312。
· getRowCount()方法——求數(shù)據(jù)表中滿(mǎn)足條件的記錄數(shù)。
· convYMD()方法——Java.util.Date類(lèi)型數(shù)據(jù)轉(zhuǎn)換為YYYY/MM/DD格式。
3.DbChoice類(lèi)
DbChoice類(lèi)定義了用于數(shù)據(jù)庫(kù)操作的實(shí)例變量與實(shí)例方法,其類(lèi)圖如圖所 示。
DbChoice類(lèi)的類(lèi)圖
DbChoice類(lèi)的屬性和方法設(shè)計(jì)如下:
· con屬性——定義用于數(shù)據(jù)庫(kù)連接的實(shí)例變量。· query屬性——定義用于SELECT語(yǔ)句的實(shí)例變量?!?displayCol屬性——定義用于檢索結(jié)果的列數(shù)。
· valueCol屬性——定義方法getSelectedVal()返回值的列數(shù)。
· vItem屬性——定義用于保存方法getSelectedVal()返回值的Vector · DbChoice()方法——構(gòu)造方法,用于初始化實(shí)例變量?!?setQueryData()方法——執(zhí)行檢索操作?!?getSelectedVal()方法——返回檢索結(jié)果。· setValueCol()方法——設(shè)置列的值。· getValueCol()方法——返回列的值。
· setDisplayCol()方法——設(shè)置顯示列的值?!?getDisplayCol()方法——返回顯示列的值。
· setDisplayhem()方法——設(shè)置顯示項(xiàng)的列的值。4.IconCanvas類(lèi)
IconCanvas類(lèi)用于完成加載系統(tǒng)界面所使用圖標(biāo)的功能,其類(lèi)圖如圖所示。
IconCanvas類(lèi)的類(lèi)圖
IconCanvas類(lèi)的方法設(shè)計(jì)如下:
· IconCanvas()方法——構(gòu)造方法,用于完成加載圖像文件的功能?!?paint()方法——用于完成顯示圖像文件的功能。5.MsgDialog類(lèi)
MsgDialog類(lèi)用于完成顯示系統(tǒng)界面所使用的信息對(duì)話框功能,其類(lèi)圖如圖13.19所 示。
MsgDialog類(lèi)的類(lèi)圖
MsgDialog類(lèi)的屬性和方法設(shè)計(jì)如下:
· MsgDialog()方法——構(gòu)造方法,用于生成信息顯示區(qū)域,定義信息對(duì)話框的標(biāo)題、布局管理器等功能。
· actionPerformed()方法——用于處理發(fā)生的事件。
6.SQLExceptionDialog類(lèi)
當(dāng)發(fā)生數(shù)據(jù)庫(kù)異常時(shí),SQLExceptionDialog類(lèi)定義了用于顯示數(shù)據(jù)庫(kù)異常信息對(duì)話框,其類(lèi)圖如圖所示。
SQLExceptionDialog類(lèi)的類(lèi)圖
SQLExceptionDialog類(lèi)的屬性和方法設(shè)計(jì)如下:
· SQLExceptionDialog()方法——構(gòu)造方法,用于定義發(fā)生的SQL異常?!?actionPerformed()方法——用于處理發(fā)生的事件?!?setMessage()、方法——用于顯示發(fā)生的異常信息。系統(tǒng)管理詳細(xì)設(shè)計(jì):
系統(tǒng)管理由Bookplate和LoginDialog兩個(gè)類(lèi)組成,Bookplate類(lèi)用于顯示系統(tǒng)主功能界面,LoginDialog類(lèi)用于顯示用戶(hù)登錄對(duì)話框界面。Bookplate類(lèi)與LoginDialog類(lèi)之間有單向關(guān)聯(lián)關(guān)系,即Bookplate類(lèi)中定義的實(shí)例變量dialog可以調(diào)用LoginDialog類(lèi)的構(gòu)造函數(shù),以實(shí)現(xiàn)系統(tǒng)登錄界面的顯示,描述兩者之間關(guān)系的類(lèi)圖如圖所示。
“系統(tǒng)管理”用例設(shè)計(jì)類(lèi)圖
Bookplate類(lèi)的方法設(shè)計(jì)如下:
· main()方法——系統(tǒng)執(zhí)行的入口點(diǎn),用于顯示系統(tǒng)主功能界面。
· Bookplate()——構(gòu)造方法,用于設(shè)置系統(tǒng)框架(Frame)、標(biāo)題、菜單、按鈕布局、標(biāo)簽等系統(tǒng)組件。
· aetionPerformed()——當(dāng)用鼠標(biāo)左鍵點(diǎn)擊各功能按鈕時(shí),分別調(diào)用各個(gè)子功能系統(tǒng),同時(shí)實(shí)現(xiàn)生成、顯示和隱藏對(duì)應(yīng)的框架的功能。LoginDialog類(lèi)的方法設(shè)計(jì)如下:
· LoginDialog()方法——構(gòu)造方法,用于設(shè)置用戶(hù)登錄對(duì)話框界面的標(biāo)題、顯示信息區(qū)域、設(shè)置標(biāo)簽和文本域、生成按鈕等功能。
· actionPerformed()——當(dāng)用鼠標(biāo)左鍵點(diǎn)擊功能按鈕時(shí),處理所觸發(fā)的事件。· getStatus()——返回按鈕的狀態(tài)值?!?getUserID()——返回用戶(hù)ID?!?getPassword()——返回用戶(hù)口令。
? 數(shù)據(jù)庫(kù)設(shè)計(jì)(表略)
? 完成設(shè)計(jì)規(guī)約
第五篇:汽車(chē)銷(xiāo)售系統(tǒng)需求分析
關(guān)于汽車(chē)銷(xiāo)售系統(tǒng)的需求分析:
隨著國(guó)內(nèi)汽車(chē)市場(chǎng)的不斷擴(kuò)大,各大4S店及汽車(chē)銷(xiāo)售公司對(duì)高效管理員工、車(chē)輛以及客戶(hù)信息的需求也顯得尤為迫切,希望可以有一套系統(tǒng)可以解決這個(gè)問(wèn)題。
具體需求如下:
基本信息管理:?jiǎn)T工信息、汽車(chē)廠商及型號(hào)、客戶(hù)信息
車(chē)輛銷(xiāo)售管理:車(chē)輛銷(xiāo)售、車(chē)輛出庫(kù)
車(chē)輛入庫(kù)管理:車(chē)輛采購(gòu)、車(chē)輛入庫(kù)
車(chē)輛庫(kù)存管理:庫(kù)存車(chē)輛及其明細(xì)、銷(xiāo)售收益統(tǒng)計(jì)
銷(xiāo)售系統(tǒng)維護(hù):數(shù)據(jù)安全管理、權(quán)限管理
管理員登錄后,可以查詢(xún)規(guī)定日期內(nèi)的銷(xiāo)售記錄以及相應(yīng)的銷(xiāo)售員工和客戶(hù)信息(也可以按車(chē)輛型號(hào)進(jìn)行查詢(xún)),同時(shí)可以對(duì)庫(kù)存車(chē)輛的信息進(jìn)行增、刪、改。對(duì)入庫(kù)車(chē)輛進(jìn)行成本統(tǒng)計(jì),對(duì)出庫(kù)車(chē)輛進(jìn)行收益統(tǒng)計(jì)
客戶(hù)登錄后,可以查詢(xún)各個(gè)廠商及型號(hào)車(chē)輛的基本信息
員工信息(工號(hào),姓名,性別,電話)
廠商信息(編號(hào),名稱(chēng),電話,地址)
車(chē)輛信息(編號(hào),型號(hào),廠商,進(jìn)價(jià),售價(jià),顏色,排量,庫(kù)存量)
客戶(hù)信息(客戶(hù)號(hào),姓名,電話)
銷(xiāo)售【訂單號(hào),交易日期,客戶(hù)號(hào),工號(hào),汽車(chē)編號(hào),交易價(jià)】
入庫(kù)【汽車(chē)編號(hào),入庫(kù)日起,進(jìn)價(jià),數(shù)量,銷(xiāo)售收益統(tǒng)計(jì)】