




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于UML的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)摘要: 圖書館管理系統(tǒng)是一種典型的信息管理系統(tǒng),其開發(fā)主要包括后臺的數(shù)據(jù)庫的建立、維護(hù)以及前端的相應(yīng)應(yīng)用程序的開發(fā)。本文介紹了圖書館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程,包括數(shù)據(jù)庫、應(yīng)用服務(wù)器、Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)。系統(tǒng)實(shí)現(xiàn)了預(yù)訂、借書、還書、續(xù)借操作;書籍、學(xué)生、借閱記錄的查閱、添加、更新及刪除等功能,此外系統(tǒng)還具備一些系統(tǒng)設(shè)置功能。本系統(tǒng)是基于B/S結(jié)構(gòu)下開發(fā)的,采用的是WindowsXP操作系統(tǒng)用UML、Java、JSP、Sql Server2000開發(fā)。系統(tǒng)前臺開發(fā)頁面用JSP設(shè)計(jì),當(dāng)網(wǎng)頁頁面元素需要調(diào)用數(shù)據(jù)庫的數(shù)據(jù)時,通過JSP服務(wù)器調(diào)用JavaBean組
2、件提取數(shù)據(jù)庫數(shù)據(jù)返回前臺顯示。關(guān)鍵詞:UML; B/S; 圖書管理 The design and Implementation of Library Management System Based on UMLAbstract:The administrative system of the library is a typical kind of information management system , the development mainly includ ing-settup and database in backstage, and the development appl
3、ication program in front stage.This text has introduced the design and chievement of the administrative system of library , including the design and realize of the database , the application server, , Web server and realizing. System to achieve the following functions: advance of books, borrow books
4、, library books to return, renew library operations; add books, add to borrow, and borrow record access and update the book information, delete the book and update Information lending, lending to delete, such as function.This system is developed under B/S structure, and using UML, Java,JSP,Sql Serve
5、r2000 in windowsXP operating system. We used JSP to design the systematic front dest develops pages,and We used JSP server to callback the JavaBean package to get data in the library and return to front desk when the page element of the webpage needs to transfer the data of the database.Key words: U
6、ML; B/S; Library management目 錄 TOC o 1-3 h z u HYPERLINK l _Toc232093479 第1章 緒 論 PAGEREF _Toc232093479 h 1 HYPERLINK l _Toc232093480 圖書管理系統(tǒng)概述 PAGEREF _Toc232093480 h 1 HYPERLINK l _Toc232093481 系統(tǒng)的設(shè)計(jì)背景 PAGEREF _Toc232093481 h 1 HYPERLINK l _Toc232093482 系統(tǒng)設(shè)計(jì)的內(nèi)容、目的和意義 PAGEREF _Toc232093482 h 1 HYPERL
7、INK l _Toc232093483 國內(nèi)外研究的現(xiàn)狀 PAGEREF _Toc232093483 h 2 HYPERLINK l _Toc232093484 1.3 論文組織 PAGEREF _Toc232093484 h 3 HYPERLINK l _Toc232093485 本章小結(jié) PAGEREF _Toc232093485 h 3 HYPERLINK l _Toc232093486 第2章 JAVA和UML技術(shù)概述 PAGEREF _Toc232093486 h 4 HYPERLINK l _Toc232093487 2.1 JAVA技術(shù)發(fā)展歷程 PAGEREF _Toc23209
8、3487 h 4 HYPERLINK l _Toc232093488 2.1.1 JAVA虛擬機(jī)的發(fā)展 PAGEREF _Toc232093488 h 4 HYPERLINK l _Toc232093489 2.1.2 JAVA開發(fā)環(huán)境的發(fā)展 PAGEREF _Toc232093489 h 5 HYPERLINK l _Toc232093490 2.2 UML技術(shù)概述 PAGEREF _Toc232093490 h 7 HYPERLINK l _Toc232093491 2.2.1 UML技術(shù)發(fā)展 PAGEREF _Toc232093491 h 7 HYPERLINK l _Toc232093
9、492 2.2.2 UML 開發(fā)工具 PAGEREF _Toc232093492 h 7 HYPERLINK l _Toc232093493 2.2.3 UML的架構(gòu) PAGEREF _Toc232093493 h 8 HYPERLINK l _Toc232093494 2.2.4 UML的應(yīng)用 PAGEREF _Toc232093494 h 10 HYPERLINK l _Toc232093495 本章小結(jié) PAGEREF _Toc232093495 h 11 HYPERLINK l _Toc232093496 第3章 圖書管理系統(tǒng)分析 PAGEREF _Toc232093496 h 12
10、HYPERLINK l _Toc232093497 系統(tǒng)需求分析描述 PAGEREF _Toc232093497 h 12 HYPERLINK l _Toc232093498 圖管理系統(tǒng)的需求定義 PAGEREF _Toc232093498 h 12 HYPERLINK l _Toc232093499 圖書管理系統(tǒng)的業(yè)務(wù)流程分析 PAGEREF _Toc232093499 h 13 HYPERLINK l _Toc232093500 系統(tǒng)用例分析 PAGEREF _Toc232093500 h 14 HYPERLINK l _Toc232093501 系統(tǒng)類分析 PAGEREF _Toc232
11、093501 h 18 HYPERLINK l _Toc232093502 本章小結(jié) PAGEREF _Toc232093502 h 20 HYPERLINK l _Toc232093503 第4章 圖書管理系統(tǒng)設(shè)計(jì) PAGEREF _Toc232093503 h 21 HYPERLINK l _Toc232093504 4.1 系統(tǒng)靜態(tài)模型 PAGEREF _Toc232093504 h 21 HYPERLINK l _Toc232093505 系統(tǒng)對象包圖與組件圖設(shè)計(jì) PAGEREF _Toc232093505 h 21 HYPERLINK l _Toc232093506 4.1.2 系統(tǒng)
12、類設(shè)計(jì) PAGEREF _Toc232093506 h 23 HYPERLINK l _Toc232093507 系統(tǒng)動態(tài)模型 PAGEREF _Toc232093507 h 26 HYPERLINK l _Toc232093508 構(gòu)建系統(tǒng)順序圖 PAGEREF _Toc232093508 h 26 HYPERLINK l _Toc232093509 構(gòu)建系統(tǒng)協(xié)作圖 PAGEREF _Toc232093509 h 32 HYPERLINK l _Toc232093510 物理模型 PAGEREF _Toc232093510 h 33 HYPERLINK l _Toc232093511 構(gòu)建系
13、統(tǒng)布局圖 PAGEREF _Toc232093511 h 33 HYPERLINK l _Toc232093512 數(shù)據(jù)庫開發(fā)環(huán)境的發(fā)展 PAGEREF _Toc232093512 h 34 HYPERLINK l _Toc232093513 數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計(jì) PAGEREF _Toc232093513 h 35 HYPERLINK l _Toc232093514 創(chuàng)建數(shù)據(jù)庫腳本 PAGEREF _Toc232093514 h 37 HYPERLINK l _Toc232093515 本章小結(jié) PAGEREF _Toc232093515 h 38 HYPERLINK l _Toc2320935
14、16 第5章 系統(tǒng)測試 PAGEREF _Toc232093516 h 39 HYPERLINK l _Toc232093518 5.1黑盒測試 PAGEREF _Toc232093518 h 39 HYPERLINK l _Toc232093519 5.1.1系統(tǒng)主界面測試 PAGEREF _Toc232093519 h 39 HYPERLINK l _Toc232093520 5.1.2借閱者登陸測試 PAGEREF _Toc232093520 h 40 HYPERLINK l _Toc232093521 5.1.3 管理員登陸測試40 HYPERLINK l _Toc232093522
15、5.1.4管理員添加新書功能測試41 HYPERLINK l _Toc232093523 5.1.5圖書刪除功能測試42 HYPERLINK l _Toc232093524 5.1.6書籍修改功能測試42 HYPERLINK l _Toc232093525 5.1.7圖書查詢測試43 HYPERLINK l _Toc232093526 5.1.8借書功能測試43 HYPERLINK l _Toc232093527 5.1.9續(xù)借功能測試44 HYPERLINK l _Toc232093528 5.1.10還書功能測試44 HYPERLINK l _Toc232093529 5.1.11刪除借閱
16、者功能測試45 HYPERLINK l _Toc232093530 5.1.12借閱者信息修改測試45 HYPERLINK l _Toc232093531 5.1.13借閱者查詢測試46 HYPERLINK l _Toc232093532 5.2本章小結(jié)47 HYPERLINK l _Toc232093533 結(jié) 論48 HYPERLINK l _Toc232093534 致 謝49 HYPERLINK l _Toc232093535 參考文獻(xiàn) PAGEREF _Toc232093535 h 50 第1章 緒 論 圖書管理系統(tǒng)概述 系統(tǒng)的設(shè)計(jì)背景隨著Internet迅速發(fā)展,它現(xiàn)在已經(jīng)遍布全球
17、,將世界各地各種規(guī)模的網(wǎng)絡(luò)連接成一個整體。作為Internet上一種先進(jìn)的,易于被人們所接受的信息檢索手段,World Wide Web(簡稱WWW)發(fā)展十分迅速,成為目前世界上最大的信息資源寶庫。據(jù)估計(jì),目前Internet上已有上百萬個Web站點(diǎn),其內(nèi)容范圍跨越了教育科研、文化事業(yè)、金融、商業(yè)、新聞出版、娛樂、體育等各個領(lǐng)域,其用戶群十分龐大,因此,建設(shè)一個好的Web站點(diǎn)對于一個機(jī)構(gòu)的發(fā)展十分重要。近年來,隨著網(wǎng)絡(luò)用戶要求的不斷提高及計(jì)算機(jī)科學(xué)的迅速發(fā)展,特別是數(shù)據(jù)庫技術(shù)在Internet中的廣泛應(yīng)用,Web站點(diǎn)向用戶提供的服務(wù)將越來越豐富,越來越人性化。所以,無論是傳統(tǒng)的單機(jī)版圖書管理系
18、統(tǒng),還是C/S模式網(wǎng)絡(luò)版的圖書管理系統(tǒng)也難于在Internet網(wǎng)上運(yùn)行,而基于B/S模式的圖書管理系統(tǒng),很容易放在局域網(wǎng)或廣域網(wǎng)上,任何工作站、撥號用戶只須用瀏覽器就能實(shí)現(xiàn)圖書借閱。在現(xiàn)代的軟件開發(fā)理念中,統(tǒng)一建模語言UML由于更能提高人們在軟件開發(fā)中的效率,以及對象管理組織將其作為標(biāo)準(zhǔn)采用,所在在開發(fā)設(shè)計(jì)階段應(yīng)用UML是非常必要的。因此,基于UML的B/S模式的圖書管理系統(tǒng)應(yīng)運(yùn)而生。 1.1.2 系統(tǒng)設(shè)計(jì)的內(nèi)容、目的和意義本系統(tǒng)的設(shè)計(jì)目的是設(shè)計(jì)和開發(fā)一個基于網(wǎng)絡(luò)結(jié)構(gòu)的圖書管理系統(tǒng),以解決其目前面臨的圖書管理問題。為了系統(tǒng)開發(fā)的高效性,在系統(tǒng)實(shí)現(xiàn)之前對系統(tǒng)進(jìn)行建模,利用統(tǒng)一建模語言UML并借助
19、于Rose工具給圖書管理系統(tǒng)建模,從而提高系統(tǒng)的開發(fā)速度與質(zhì)量。本畢業(yè)設(shè)計(jì)要求采用面向?qū)ο蟮脑O(shè)計(jì)方法學(xué)及UML建模語言,建立起系統(tǒng)的需求模型、分析模型、設(shè)計(jì)模型、實(shí)現(xiàn)模型和測試模型。主要研究如何運(yùn)用面向?qū)ο蟮恼Z言來實(shí)現(xiàn)圖書管理系統(tǒng)的日常業(yè)務(wù),使用戶能通過瀏覽器實(shí)現(xiàn)圖書的查詢與借書,系統(tǒng)管理員能進(jìn)行諸如圖書信息和用戶信息的管理等圖書館核心業(yè)務(wù)的處理,提高圖書館的工作效率,優(yōu)化信息管理工作流程。本論文內(nèi)容新穎,主要涉及軟件,數(shù)據(jù)庫與網(wǎng)絡(luò)技術(shù)等。涵蓋知識面廣,可有效地提高學(xué)生綜合運(yùn)用所學(xué)知識分析解決問題的能力,增強(qiáng)學(xué)生對事物的理解與掌握能力,培養(yǎng)學(xué)生掌握科學(xué)的研究方法,正確的設(shè)計(jì)思想,獨(dú)立思考,勇于
20、進(jìn)取,探索創(chuàng)新,為今后進(jìn)一步學(xué)習(xí)與工作奠定了良好的基礎(chǔ)。1.2 國內(nèi)外研究的現(xiàn)狀圖書館是一個專門收集、整理、保存、傳播文獻(xiàn)并提供利用的科學(xué)、文化、教育和科研機(jī)構(gòu)。圖書館的產(chǎn)生,是保存人類文化遺產(chǎn)的需要。因?yàn)橛辛藞D書館這一機(jī)構(gòu),人類的社會實(shí)踐所取得的經(jīng)驗(yàn)、文化、知識者得以系統(tǒng)地保存并流傳下來,成為今天人類寶貴的文化遺產(chǎn)和精神財富。近代,資本主義大工業(yè)的產(chǎn)生,要求工人有較多的勞動知識和勞動技能,圖書館從而真正走入平民百姓當(dāng)中,擔(dān)負(fù)起了對工人的科學(xué)知識文化教育的任務(wù)。傳統(tǒng)圖書管理軟件是為替代手工錄入,從傳統(tǒng)數(shù)據(jù)記錄中產(chǎn)生的,這些軟件面對Internet及電子商務(wù)迅猛發(fā)展的網(wǎng)絡(luò)經(jīng)濟(jì)時代顯得如此脆弱而只
21、能望而興嘆隨著科學(xué)技術(shù)的不斷提高,計(jì)算機(jī)科學(xué)日漸成熟,其強(qiáng)大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用1。作為計(jì)算機(jī)應(yīng)用的一部分,使用計(jì)算機(jī)對圖書信息進(jìn)行管理,有著手工管理所無法比擬的優(yōu)點(diǎn).例如:檢索迅速、查找方便、易修改、可靠性高、存儲量大、數(shù)據(jù)處理快捷、保密性好、壽命長、成本低、便于打印等。這些優(yōu)點(diǎn)能夠極大地提高圖書管理的效率,也是圖書館的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。如何在宏觀上有效地把握和組織,并運(yùn)用到圖書館管理系統(tǒng)的開發(fā)建設(shè)上,是圖書館管理系統(tǒng)研究的重點(diǎn)。UML(The Unified Modeling Language,即統(tǒng)一建模語言)是
22、一種編制系統(tǒng)藍(lán)圖的標(biāo)準(zhǔn)化語言,可以對復(fù)雜的系統(tǒng)建立可視化的系統(tǒng)模型,目前已經(jīng)被工業(yè)標(biāo)準(zhǔn)化組織OMG(Object Management Group)接受,一經(jīng)推出便得到許多著名的計(jì)算機(jī)廠商如Microsoft、HP、IBM、Oracle、華為、博朗等的支持,在國內(nèi)外上的應(yīng)用日益廣泛。圖書館管理系統(tǒng)的開發(fā)建設(shè)是一個復(fù)雜的軟件工程,需要集成不同的操作系統(tǒng)、數(shù)據(jù)庫和應(yīng)用軟件,有眾多不同級別的用戶、管理員,滿足圖書館從書目查詢、普通和電子書刊借閱到提供網(wǎng)上信息服務(wù)、資源共享等各種需求。用傳統(tǒng)的系統(tǒng)開發(fā)和集成的分析設(shè)計(jì)方法難以保證效率和質(zhì)量,UML的特點(diǎn)及圖書館管理系統(tǒng)的要求,決定UML在圖書館管理系統(tǒng)
23、中應(yīng)該有很好的應(yīng)用前景。 1.3 論文組織這篇論文結(jié)合當(dāng)前JAVA、UML技術(shù)的應(yīng)用現(xiàn)狀及發(fā)展趨勢,從JAVA、UML技術(shù)的發(fā)展到圖書管理系統(tǒng)的設(shè)計(jì)、測試,論述了JAVA、UML技術(shù)在圖書管理行業(yè)應(yīng)用。第1章主要對于圖書管理信息化發(fā)展進(jìn)行了概括性的回顧,圖書管理系統(tǒng)的研發(fā)背景、國內(nèi)外的現(xiàn)狀等方面論述了圖書管理系統(tǒng)在現(xiàn)在生活中的重要性。第2章首先對于JAVA技術(shù)及重要內(nèi)容J2EE架構(gòu)進(jìn)行了分析還介紹了JAVA及開發(fā)環(huán)境的發(fā)展歷程,同時對UML技術(shù)的發(fā)展架構(gòu)及應(yīng)用進(jìn)行了闡述。簡單介紹了UML的開發(fā)環(huán)境。第3章對圖書館里系統(tǒng)的需求進(jìn)行了分析,特別是通過用例圖,借書活動圖進(jìn)行了分析。第4章通過UML的
24、順序圖、活動圖、協(xié)作圖、對圖書管理系統(tǒng)進(jìn)行了詳細(xì)的設(shè)計(jì)。同時介紹數(shù)據(jù)庫開發(fā)環(huán)境的發(fā)展以及對數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)表,最后寫出數(shù)據(jù)庫腳本。第5章主要在開發(fā)過程中用白盒測試方法對系統(tǒng)進(jìn)行了測試,在最后的時候用黑盒測試中的功能測試對系統(tǒng)進(jìn)行了測試。1.4 本章小結(jié)本章主要對于圖書管理信息化發(fā)展進(jìn)行了概括性的回顧,圖書管理系統(tǒng)的研發(fā)背景、國內(nèi)外的現(xiàn)狀等方面論述了圖書管理系統(tǒng)在現(xiàn)在生活中的重要性。以及給出論文的組織結(jié)構(gòu)。第2章 JAVA和UML技術(shù)概述2.1 JAVA技術(shù)發(fā)展歷程“JAVA”包括四個相關(guān)聯(lián)的概念:JAVA語言、JAVA API、JAVA Class文件格式、JAVA虛擬機(jī)。而整個JAVA體系則基
25、于JAVA虛擬機(jī)來實(shí)現(xiàn)的,正因?yàn)槿绱?,才能達(dá)成JAVA的安全性和網(wǎng)絡(luò)移動性。綜合各種軟件程序語言,JAVA并非是第一個采用“虛擬機(jī)”概念的體系,但它卻是第一個得到廣泛運(yùn)用的虛擬機(jī),在各種操作系統(tǒng)平臺上都能夠看到它的身影,無論是在目前廣泛使用、進(jìn)入千家萬戶的WINDOWS操作系統(tǒng),還是UNIX、LINUX操作系統(tǒng),乃至運(yùn)行與主機(jī)系統(tǒng)的MVS操作系統(tǒng),無一例外的都存在JAVA虛擬機(jī)。可以說,JAVA虛擬機(jī)的發(fā)展歷程,就是JAVA技術(shù)的發(fā)展歷程。而初期僅僅作為一種程序開發(fā)語言,JAVA開發(fā)開發(fā)環(huán)境的變遷,也體現(xiàn)了JAVA技術(shù)的發(fā)展。2.1.1 JAVA虛擬機(jī)的發(fā)展第一個JAVA虛擬機(jī)版本是1995年
26、出現(xiàn)的,其虛擬機(jī)執(zhí)行時依靠“字節(jié)碼解釋器(Byte Code Interceptor)”的.JAVA程序的每條指令都由虛擬機(jī)來當(dāng)場解釋,解釋成為機(jī)器代碼(也稱為“執(zhí)行代碼”)后執(zhí)行,這導(dǎo)致了運(yùn)行速度非常緩慢。但是這在當(dāng)時是一個很流行的技術(shù),同時也是各種解釋性運(yùn)行的程序通病。于是,Sun公司的工程師開始使用各種方法來提高虛擬機(jī)的運(yùn)行速度,并于1996年十月發(fā)布了JIT靜態(tài)編譯器。JIT編譯器在每段代碼執(zhí)行前進(jìn)行編譯,編譯的結(jié)果為本地靜態(tài)機(jī)器碼,使得執(zhí)行速度發(fā)生了質(zhì)的提高7。JIT靜態(tài)編譯器雖然可以解決一些問題,但是性能仍然和當(dāng)時的C/C+編譯器相比較有相當(dāng)大的差距。HotSpot引擎是模仿仍方式
27、,對JAVA程序的編譯運(yùn)行進(jìn)行優(yōu)化的。在程序運(yùn)行的開始,Java代碼仍然解釋并執(zhí)行,但HotSpot引擎開始進(jìn)行一種采樣(Profiling)操作。根據(jù)采樣的結(jié)果,決定某段程序是占用較多運(yùn)行時間的,就認(rèn)為它是“HotSpot”,認(rèn)定它就是目前程序的瓶頸,隨后引擎開始啟動一個單獨(dú)的線程對其進(jìn)行優(yōu)化2。因?yàn)椴幌裨嫉腏IT編譯器那樣無差別的編譯所有代碼,HotSpot引擎的優(yōu)化時基于采樣結(jié)果的,因此這種方法是一種動態(tài)的編譯過程,并且對所有的應(yīng)用程序都有效。1999年3月27日,Sun提供哦第一個HotSpot引擎。在2000年5月發(fā)布的中,既包含了HotSopt引擎,這也使1.3成了一個具有里程碑
28、意義的發(fā)行版本。HotSpot代表的是一種動態(tài)編譯的技術(shù)。對JAVA這種大量使用委派,組合等面向?qū)ο筇匦缘某绦騺碚f,動態(tài)編譯比起靜態(tài)編譯具有顯著的優(yōu)勢。比如Method Inlining。方法的調(diào)用時一個很耗時的操作,假若可以把方法調(diào)用直接內(nèi)嵌到調(diào)用者的代碼中,就可以節(jié)省大量的時間,這被稱為“Method Inlining”。因?yàn)樯婕暗筋惖闹剌d,靜態(tài)優(yōu)化很難確切知道哪些屬性、方法碑重載,因此很難對method進(jìn)行合作,只好在方法內(nèi)部進(jìn)行靜態(tài)編譯,假若每個方法都很小,靜態(tài)優(yōu)化能起到得作用也就比較小。而動態(tài)編譯因?yàn)榭梢酝耆S時掌握類的重載情況,就可以把相關(guān)的方法合并進(jìn)行深度優(yōu)化?,F(xiàn)代的JAVA程序
29、,特別是在設(shè)計(jì)模式教育得到普及之后,大量使用類的繼承、委派、形成了很多短小的方法,動態(tài)編譯的優(yōu)勢就更加明顯。 JAVA開發(fā)環(huán)境的發(fā)展縱觀過去十年Java開發(fā)環(huán)境的發(fā)展,大致可以粗略的劃分為如下幾個階段:1995,命令行開發(fā)環(huán)境CLEs1996-2000,集成開發(fā)環(huán)境IDEs 2001-2004,擴(kuò)展開發(fā)環(huán)境XDEs 2005至今,協(xié)同開發(fā)環(huán)境CDEs 1995年,不平凡的一年,這一年Java 獲得了成功??闪钊藢擂蔚氖窃?995年并沒有一個人滿意的Java開發(fā)環(huán)境,開發(fā)人員在進(jìn)行Java編程時,大多使用文本編輯器編輯源程序,然后使用命令行的方式進(jìn)行編譯處理。那時的Java開發(fā)環(huán)境還處于CLEs
30、時代,開發(fā)效率非常低,這預(yù)示著在Java開發(fā)工具上會有一番激烈的競爭。有人稱1996年為互聯(lián)網(wǎng)年,有人卻稱之為Java年,還有人稱之為Web開發(fā)年,但不論如何稱呼1996年,它都反映了一個事實(shí):Bill Joy將Java與互聯(lián)網(wǎng)相結(jié)合的策略取得了成功。這一年的9月Sun推出了其Java開發(fā)環(huán)境-Java WorkShop,這是一款基于瀏覽器的Java開發(fā)工具,但由于當(dāng)時 Java在許多方面還不成熟,所以實(shí)際上Java WorkShop并不成功,同年發(fā)布的Symantec Visual Cafe由于還是采用C/C+語言進(jìn)行開發(fā),所以性能與成熟度上就比WorkShop好得多。提到Visual Ca
31、fe就不能不提Eugene Wang,因?yàn)镋ugene Wang常常是與計(jì)算機(jī)間諜這個詞同時出現(xiàn)的人物,有人甚至講當(dāng)時Symantec的老板Gordon Eubanks與Eugene Wang簽約時,也同時簽下了監(jiān)獄里的一個單元。Visual Cafe就是由Eugene Wang進(jìn)行主要策劃的,它是在同一年發(fā)布的Java開發(fā)環(huán)境中,唯一解決了與數(shù)據(jù)庫連接問題的開發(fā)環(huán)境,帶有一套可以與數(shù)據(jù)庫相連接的組件,無需太多編程使用拖拽的方式就可完成大部分工作,這一優(yōu)點(diǎn)使得Visual Cafe受到了Java開發(fā)人員的歡迎。這一年IBM收購了OTI公司,從而得到了Dave Thomas的弟子John Dui
32、movich、Dave Thomson、Mike Wilson等一大批軟件精英,這之中還包括“生活在技術(shù)刀鋒上的開發(fā)者”Brian Barry。1997年,由于微軟壟斷案,使得微軟在Java開發(fā)環(huán)境上的努力受到了限制,Visual Cafe由于界面直觀易用,可以很容易地連接各種數(shù)據(jù)源等功能再次受到開發(fā)人員的歡迎。這一年IBM發(fā)布VisualAge for Java。VisualAge for Java是面向代碼庫的開發(fā)環(huán)境,它提供代碼庫和項(xiàng)目管理以便于開發(fā)團(tuán)隊(duì)在 C/S環(huán)境下進(jìn)行項(xiàng)目開發(fā)。但由于大多數(shù)Java開發(fā)人員比較熟悉面向文件的開發(fā)環(huán)境,還不太習(xí)慣面向代碼庫的開發(fā),再加上VisalAge
33、 for Java對系統(tǒng)資源的要求比較高等因素,使得VisualAge for Java一開始未被Java開發(fā)人員所認(rèn)可3。1998年至2000年比較成功的Java開發(fā)環(huán)境是JBuilder,這是由于Borland較好的把握住 J2SE、J2EE和J2ME發(fā)布后,Java技術(shù)升級的時機(jī),全面支持和開發(fā)平臺,它還提供了多種工具方便用戶從舊的平臺遷移到新的Java平臺。JBuilder本身80%是基于進(jìn)行開發(fā)的,它支持JavaBeans, Enterprise JavaBeans, JDBC等方面的應(yīng)用開發(fā),可以連接多種關(guān)系數(shù)據(jù)庫。為支持分布式應(yīng)用開發(fā),JBuilder還集成了 VisiBroke
34、r ORB、JSP server、數(shù)據(jù)庫和EJB AppServer,并提供Open Tools API便于第三方工具集成。上述種種的優(yōu)點(diǎn)使得JBuilder一舉超越Visual Cafe,成為當(dāng)時最受歡迎的Java開發(fā)環(huán)境4。在眾多Java開發(fā)環(huán)境中,1999年IBM發(fā)布的VisualAge for Java Micro Edition是比較有特色的開發(fā)環(huán)境,它是由Erich Gamma和與Erich Gamma有“焦不離孟、孟不離焦”之稱的John Wiegand共同進(jìn)行設(shè)計(jì)的,采用了Java 擴(kuò)展機(jī)制,并集成了JUnit測試框架,其當(dāng)時所采用的架構(gòu)深深地影響了后來所采用的架構(gòu)。同時,通過
35、VisualAge for Java Micro Edition的開發(fā),那些來自“未來世界”的軟件精英們,全面徹底地對Java技術(shù)進(jìn)行了評估,得出了許多結(jié)論性的東西,這之中包括現(xiàn)在鬧得沸沸揚(yáng)揚(yáng)的Swing和SWT對比。此外,Sun將其收購的NetBeans變成了開源的Java IDE也是一件不大不小的事情?,F(xiàn)在已經(jīng)商業(yè)化的CDEs是CodeBeamer Collaborative Development Platform和CodePro AnalytiX,上述兩款軟件都提供Eclipse的插件,可以與Eclipse集成在一起,使Eclipse升級成為一個CDEs。大家肯定知道Borland已經(jīng)
36、宣布開發(fā)基于Eclipse的新版JBuilder-“Peloton”,Peloton就是一個CDEs(Collaborative Development Environments),當(dāng)它明年上半年發(fā)布時,就意味著Java開發(fā)環(huán)境進(jìn)入CDEs時代,現(xiàn)在Java開發(fā)環(huán)境還處于XDEs與CDEs交替的階段。 UML技術(shù)概述2.2.1 UML技術(shù)發(fā)展UML(統(tǒng)一建模語言,Unified Modeling Language),由Rational公司的三位面向?qū)ο蠓椒I(lǐng)域的專家提出,是一種標(biāo)準(zhǔn)的圖形化建模語言。1997年1月UML版本被提交給OMG組織,作為軟件建模語言標(biāo)準(zhǔn)化的候選。其后的半年多時間里一些
37、重要的軟件開發(fā)商和系統(tǒng)集成商都成為UML伙伴,如Mircrosoft 、IBM、HP等。它們積極地使用UML并提出反饋意見,最后于1997年9月再次提交給OMG組織,于1997年11月7日正式被OMG采納作為業(yè)界標(biāo)準(zhǔn)。 圖2-1 UML版本圖2.2.2 UML 開發(fā)工具統(tǒng)一建模語言UML定義良好、易于表達(dá)、功能強(qiáng)大,不僅支持面向?qū)ο蟮姆治雠c設(shè)計(jì),而且支持從需求分析設(shè)計(jì)開始的軟件開發(fā)的全過程。但如果使用這種可視化圖形建模技術(shù)發(fā)展最大的作用,工具的輔助也是很重要的。目前,市場上有大量的UML建模工具, 如Rational Rose、Prosa、Visio、Together、Vissual UML、
38、Rational Rose是Rational公司出品的一種面向?qū)ο蟮慕y(tǒng)一建模語言的可視化建模工具。用于可視化建模和公司級水平軟件應(yīng)用的組件構(gòu)造。就像一個戲劇導(dǎo)演設(shè)計(jì)一劇本一樣,一個軟件設(shè)計(jì)師使用Rational Rose,以演員(數(shù)字)、使用拖放式符號的程序表中的有用的案例元素(橢圓)、目標(biāo)(矩形)和消息/關(guān)系(箭頭)設(shè)計(jì)個種類,來創(chuàng)造(模型)一個應(yīng)用的框架。當(dāng)程序表被創(chuàng)建時,Rational Rose記錄下這個程序表然后以設(shè)計(jì)師選擇的C+, Visual Basic,Java, Oracle8,CORBA或者數(shù)據(jù)定義語言來產(chǎn)生代碼。Rational Rose 是一個完全的,具有能滿足所有建模
39、環(huán)境(Web開發(fā),數(shù)據(jù)建模,VisualStudio和 C+ )需求能力和靈活性的一套解決方案。Rose 允許開發(fā)人員,項(xiàng)目經(jīng)理,系統(tǒng)工程師和分析人員在軟件開發(fā)周期內(nèi)在將需求和系統(tǒng)的體系架構(gòu)轉(zhuǎn)換成代碼,消除浪費(fèi)的消耗,對需求和系統(tǒng)的體系架構(gòu)進(jìn)行可視化,理解和精練。通過在軟件開發(fā)周期內(nèi)使用同一種建模工具可以確保更快更好的創(chuàng)建滿足客戶需求的可擴(kuò)展的、靈活的并且可靠的應(yīng)用系統(tǒng)5。Rational Rose的兩個受歡迎的特征是它的提供反復(fù)式發(fā)展和來回旅程工程的能力。Rational Rose允許設(shè)計(jì)師利用反復(fù)發(fā)展(有時也叫進(jìn)化式發(fā)展),因?yàn)樵诟鱾€進(jìn)程中新的應(yīng)用能夠被創(chuàng)建,通過把一個反復(fù)的輸出變成下一個
40、反復(fù)的輸入。(這和瀑布式發(fā)展形成對比,在瀑布式發(fā)展中,在一個用戶開始嘗試之前整個工程被從頭到尾的完成。)然后,當(dāng)開發(fā)者開始理解組件之間是如何相互作用和在設(shè)計(jì)中進(jìn)行調(diào)整時,RationalRose能夠通過回溯和更新模型的其余部分來保證代碼的一致性,從而展現(xiàn)出被稱為來回旅程工程的能力,Rational Rose是可擴(kuò)展的,可以使用刻下載附加項(xiàng)和第三方應(yīng)用軟件,它支持COM/DCOM (ActiveX),JavaBeans 和 Corba組件標(biāo)準(zhǔn).當(dāng)前市場上基于UML可視化建模的工具很多,例如有Microsoft的Visio2002,Oracle的Designer2000,還有PlayCase 、C
41、A BPWin、CA ERWin、Sybase PowerDesigner等等。為什么要選擇Rational Rose呢?這就不能不提到UML的三位創(chuàng)始人了,面向?qū)ο箢I(lǐng)域的大師級人物:Booch、Rumbaugh和Jacobson。而這三位大師目前都在Rational公司擔(dān)任首席工程師,既然UML是業(yè)界標(biāo)準(zhǔn)的可視化建模語言,那么選擇Rational Rose的原因就不言而喻了。2.2.3 UML的架構(gòu)UML 由圖和元模型組成的。 圖是UML的語法, 而元模型則給出的圖的意思, 是UML的語義。UML的語義是定義在一個四層(或四個抽象級)建模概念框架中的。 元元模型(meta-meta mode
42、l)層, 組成UML最基本的元素“”代表要定義的所有事物。 元模型(meta model)層, 組成了UML的基本元素,包括面向?qū)ο蟮暮兔嫦蚪M建的概念。這一層的每個概念都是元元模型中“事物”概念的實(shí)例(通過版類化); 模型( model) 層, 組成了UML的模型, 這一層中的每個概念都是元模型中概念的一個實(shí)例(通過版類化), 這一層的模型通常叫做類模型(class model)或 類型模型(type model)。 用戶模型(user model)層,這層中所有元素都是UML模型的例子。 這一層中的每個概念都是模型層的一個實(shí)例(通過分類),也是元模型層的一個實(shí)例(通過版類化)。這一層的模型通
43、常叫做對象模型(object model)或?qū)嵗P停╥nstance model)。每一種UML的視圖都是由一個或多個圖(diagram)組成的,一個圖就是系統(tǒng)架構(gòu)在某個側(cè)面的表示。它與其它圖是一致的,所有的圖在一起組成了系統(tǒng)的完整視圖。UML提供了九種不同的圖??梢苑殖蓛蓚€大類:一類是靜態(tài)圖,包括用例圖、類圖、對象圖、組件圖、配置圖;另一類是動態(tài)圖,包括序列圖、協(xié)作圖、狀態(tài)圖和活動圖。此外,還可以根據(jù)它們在不同架構(gòu)視圖的應(yīng)用把它們分成如表2-1所示:表2-1 各模型視圖的功能表視圖構(gòu)架視圖劃分視圖應(yīng)用在用戶模型視圖用例圖( Use case diagram)描述系統(tǒng)功能在結(jié)構(gòu)模型視圖類圖(
44、Class diagram)描述系統(tǒng)的靜態(tài)結(jié)構(gòu)對象圖(Object Diagram)描述系統(tǒng)在某個時刻的靜態(tài)結(jié)構(gòu)在行為模型視圖序列圖(Sequence diagram)按時間順序描述系統(tǒng)元素間的交互協(xié)作圖(Collaboration diagram)按照時間和空間的順序描述系統(tǒng)元素間的交互和它們之間的關(guān)系狀態(tài)圖(State diagram)描述了系統(tǒng)元素的狀態(tài)條件和響應(yīng)活動圖(Activity diagram)描述了系統(tǒng)元素的活動在實(shí)現(xiàn)模型視圖組件圖(Component diagram)描述了實(shí)現(xiàn)系統(tǒng)的元素的組織在環(huán)境模型視圖展開圖(Delployment diagram)描述了環(huán)境元素的配置
45、,并把實(shí)現(xiàn)系統(tǒng)元素映射到配置上2.2.4 UML的應(yīng)用UML的目標(biāo)是以面向?qū)ο髨D的方式來描述任何類型的系統(tǒng),具有很寬的應(yīng)用領(lǐng)域。其中最常用的是 建立軟件系統(tǒng)的模型,但它同樣可以用于描述非軟件領(lǐng)域的系統(tǒng),如機(jī)械系統(tǒng)、企業(yè)機(jī)構(gòu)或業(yè)務(wù)過程,以及處理復(fù)雜數(shù)據(jù)的信息系統(tǒng)、具有實(shí)時要求的工業(yè)系統(tǒng)或工 業(yè)過程等。總之,UML是一個通用的標(biāo)準(zhǔn)建模語言,可以對任何具有靜態(tài)結(jié)構(gòu)和動態(tài)行為的系統(tǒng)進(jìn)行建模6。 此外,UML適用于系統(tǒng)開發(fā)過程中從需求規(guī)格描述到系統(tǒng)完成后測試的不同階段。掌握需求階段掌握需求階段的目的就是通過充分的交流和溝通,來全面、詳細(xì)地掌握客戶對于系統(tǒng)需求。對此,可以用用例來捕獲用戶需求。通過用例建模
46、,描述 對系統(tǒng)感興趣的外部角色及其對系統(tǒng)(用例)的功能要求。系統(tǒng)分析階段系統(tǒng)分析階段是在對需求進(jìn)行全面和詳細(xì)的掌握之后,結(jié)合客戶的實(shí)際情況,在研究和分析用戶的需求、系統(tǒng)所處在環(huán)境基礎(chǔ)上,確定系統(tǒng)的總體架構(gòu)、實(shí)施模式、系統(tǒng)架構(gòu)中各主要部分之間關(guān)系以及信息交互方式等關(guān)鍵技術(shù)問題。分析階段主要考慮所要解決的問題,可用UML的邏輯視圖和動態(tài)視圖來描述,類圖描述系統(tǒng)靜態(tài)結(jié)構(gòu),協(xié)作圖、狀態(tài)圖、序列圖、活動圖和狀態(tài)圖描述系統(tǒng)的動態(tài)特征。在分析階段只為問題領(lǐng)域的類建模,而不定義軟件系統(tǒng)的解決方案的細(xì)節(jié),如用戶接口的類數(shù)據(jù)庫等。設(shè)計(jì)階段在設(shè)計(jì)階段的主要任務(wù)是將分析階段的成果加以分析,形成技術(shù)解決方案。分析階段的
47、領(lǐng)域問題類被嵌入在這個技術(shù)基礎(chǔ)結(jié)構(gòu)中。設(shè)計(jì)階段的結(jié)果是為后續(xù)的實(shí)現(xiàn)階段提供詳細(xì)規(guī)格說明。實(shí)現(xiàn)階段實(shí)現(xiàn)階段的主要任務(wù)是依照設(shè)計(jì)階段的方案和設(shè)計(jì),并將設(shè)計(jì)階段的類轉(zhuǎn)換成某種面向?qū)ο蟪绦蛟O(shè)計(jì)語言的代碼。在完成各個部分的代碼編寫并調(diào)試通過后,按照設(shè)計(jì)階段形成的技術(shù)方案,將各個部分加以組裝,形成一個可供測試系統(tǒng)。測試階段測試階段是依照業(yè)務(wù)需求及其分析,對實(shí)現(xiàn)階段完成的系統(tǒng)加以全面的測試,以求盡早發(fā)現(xiàn)并解決系統(tǒng)中存在的問題。對系統(tǒng)的測試通??煞譃閱卧獪y試、集成測試、系統(tǒng)測試和驗(yàn)收測試幾個不同級別。單元測試時對幾個類或一組類的測試,通常由程序員進(jìn)行;集成測試則集成組件和類,并確認(rèn)它們之間是否恰當(dāng)?shù)貐f(xié)作;系統(tǒng)
48、測試把系統(tǒng)當(dāng)作一個黑箱。驗(yàn)證系統(tǒng)是否具有用戶所要求的所有功能;驗(yàn)收測試主要由客戶完成,與系統(tǒng)測試類似,以驗(yàn)證系統(tǒng)是否所有的需求。不同的測試小組使用不同的UML圖作為他們工作基礎(chǔ):單元測試使用類圖和類的規(guī)格說明;集成測試典型地使用組件圖和協(xié)作圖;系統(tǒng)測試使用用例圖來確認(rèn)系統(tǒng)的行為是否符合這些圖中的定義。本章小結(jié)首先對于JAVA技術(shù)進(jìn)行了分析還介紹了JAVA及開發(fā)環(huán)境的發(fā)展歷程,同時對UML技術(shù)的發(fā)展架構(gòu)及應(yīng)用進(jìn)行了闡述。簡單介紹UML的開發(fā)環(huán)境。第3章 圖書管理系統(tǒng)分析系統(tǒng)需求分析描述本系統(tǒng)主要是研究如何運(yùn)用面向?qū)ο蟮恼Z言來實(shí)現(xiàn)圖書管理系統(tǒng)的日常業(yè)務(wù),使用戶能通過瀏覽器實(shí)現(xiàn)圖書的查詢與讀者查詢,
49、管理員能進(jìn)行諸如圖書信息和用戶信息的管理等圖書館核心業(yè)務(wù)的處理,提高圖書館的工作效率,優(yōu)化信息管理工作流程。 圖管理系統(tǒng)的需求定義本圖書管理系統(tǒng)的域描述如下:在圖書管理系統(tǒng)中,要為每個借閱者建立一個賬戶,并給借閱者發(fā)放借閱卡,賬戶中存貯借閱者的個人信息,借閱信息以及預(yù)定信息。持有借閱卡的借閱者可以借閱書籍、返還書籍、查詢書籍信息預(yù)訂書籍并取消預(yù)定,但是借閱書籍、返還書籍是通過圖書管理員進(jìn)行的,管理員還可以進(jìn)行圖書的添加、刪除以及借閱卡的添加以及刪除。在借閱書籍的時候 首先借閱者要在網(wǎng)上自己查詢書籍以后預(yù)借書籍,然后讀者才能到圖書館要求管理員借閱圖書。管理員應(yīng)讀者的借閱要求通過輸入讀者的借閱卡號
50、,查看預(yù)借書籍記錄把讀者預(yù)借的書籍借閱給讀者。讀者查詢書籍信息的時候可以通過按作者、書名ISBN編碼、類別中的其中進(jìn)行查詢,也可以打開所有庫存圖書表一本一本查詢。對上述圖書管理系統(tǒng)的域描述進(jìn)行分析,可以獲得如下功能性需求:借閱者持有借閱卡借閱者可以在網(wǎng)上查看書籍借閱者可以自己預(yù)借書籍借閱者可以刪除預(yù)借請求。借閱者可以查看預(yù)借圖書借閱者可以查看已借書籍圖書管理員作為借閱者的代理借書圖書管理員作為借閱者的代理還書圖書管理員可以創(chuàng)建新的借閱者賬戶圖書管理員可以修改借閱者信息圖書管理員可以刪除已存在的借閱者的賬戶圖書管理員可以添加新的書籍圖書管理員看以查看書籍信息。圖書管理員可以修改書籍信息 圖書管理
51、系統(tǒng)的業(yè)務(wù)流程分析通過調(diào)查與分析,圖書管理系統(tǒng)主要存在如下的業(yè)務(wù):借閱者查詢圖書借閱者在借閱讀書前,可以通過登錄查詢窗口進(jìn)行按以下:“書名、作者、ISBN、分類”的任何一種進(jìn)行查詢圖書。借閱者預(yù)借、刪除預(yù)借圖書借閱者查詢圖書后,如果確認(rèn)自己需要借所查書籍,即可以預(yù)借書籍。如果借閱者想要取消預(yù)借,可以在查看預(yù)借圖書里取消預(yù)借圖書。借閱者借閱圖書借閱者在書庫取得圖書后,向管理員提出借書請求,并出示借書證,管理員可以協(xié)助讀者借閱書籍。根據(jù)圖書管理的相關(guān)規(guī)定,讀者所借閱的圖書有一定得時間限制。借閱者續(xù)借圖書借閱者所借的圖書是有一個時間限制的,如果到期后讀者還沒有看完或者看完了還想繼續(xù)再看,那么就必須續(xù)
52、借,續(xù)借也是有次數(shù)和時間限制的。續(xù)借的時間跟正常借閱的時間是一樣的。如果讀者要續(xù)借圖書,登陸系統(tǒng),輸入自己的借閱卡卡號就可以續(xù)借上次借過沒看完的書籍了,當(dāng)然也可以到圖書管理員那請求續(xù)借。借閱者歸還圖書借閱者首先要到管理員那請求還書,管理員才能通過借閱者的卡號,協(xié)助借閱者還書,如果借閱者借閱的書超期,則要通過繳納罰款,再請求管理員處理借閱者的借閱卡,借閱者的借閱卡才能夠繼續(xù)使用。管理員維護(hù)圖書當(dāng)有新書需要入庫時,管理員根據(jù)新書目的存在與否進(jìn)行相應(yīng)的處理;如果有讀者將書弄丟時,也要對相應(yīng)書目下圖書數(shù)量進(jìn)行修改;當(dāng)所藏書到一定時間后要對部分書進(jìn)行注銷處理。管理員維護(hù)借閱者一般新生進(jìn)校都要辦理圖書借閱
53、證,此時中級管理員就要根據(jù)要求建立學(xué)生用戶ID,添加讀者,為其辦理圖書借閱證;當(dāng)讀者不慎丟失借閱證需要掛失的時候,管理員要對其進(jìn)行掛失、補(bǔ)辦等處理;當(dāng)讀者信息有錯誤時,管理員還應(yīng)可以修改讀者信息,當(dāng)讀者畢業(yè)或退學(xué)時候,管理員要對讀者進(jìn)行刪除。 圖3-1系統(tǒng)層次圖系統(tǒng)用例分析用例模型描述的是外部執(zhí)行者(Actor)所理解的系統(tǒng)功能。用例模型用于需求分析階段,它的建立時系統(tǒng)開發(fā)者和用戶反復(fù)討論的結(jié)果,表明了開發(fā)者和用戶對需求規(guī)格達(dá)成的共識,首先,它描述了待開發(fā)系統(tǒng)功能需求:其次,它將系統(tǒng)看作黑盒,從外部執(zhí)行者的角度來理解系統(tǒng);第三,它驅(qū)動了需求分析之后各階段的開發(fā)工作,不僅在開發(fā)過程中保證了系統(tǒng)所
54、有功能的實(shí)現(xiàn),而且被用于驗(yàn)證和檢測所開發(fā)的系統(tǒng),從而影響到開發(fā)工作的各個階段和UML的各個模型,在UML中,一個用例模型由若干個用例描述,用例圖主要元素是用力和執(zhí)行者。分析階段最重要就是用例圖的建立,用例圖強(qiáng)調(diào)用戶希望得到的功能,它是成為參與者的埃布用戶所能觀察到得系統(tǒng)功能的模型圖,通過用戶視圖,使用者應(yīng)該明確軟件后續(xù)設(shè)計(jì)階段所要完成的任務(wù),整個軟件直到實(shí)現(xiàn)的過程都是圍繞需求階段的用例來進(jìn)行的。通過對系統(tǒng)需求的分析,可以確定系統(tǒng)中有兩個參與者:Borrower描述:借閱者可以查看借閱記錄、預(yù)借記錄、可以按ISBN、類別、書名、作者中的任何一種進(jìn)行查詢書籍,也可以查詢所有在庫書籍一本一本地查找自
55、己所需要的書籍。借閱者還可以修改自己的密碼。當(dāng)然借閱者也可以在預(yù)借圖書。但要?dú)w還、借閱圖書則要管理通過圖書管理員才能完成。Borrower的用例如3-2。Librarian描述:圖書管理員不僅要應(yīng)借閱者的要求進(jìn)行書籍的歸還、借閱、還要進(jìn)行書籍的添加、修改、刪除、借閱者賬號的添加、刪除、修改工作。Librarian的用例圖如3-3. 圖3-2 系統(tǒng)借閱者用例圖圖3-3 管理員用例圖預(yù)借書籍的用例事件流描述如下:借閱者選擇進(jìn)入管理界面,用例開始。系統(tǒng)提示輸入借閱者密碼。輸入借閱者借閱,密碼。借閱者輸入密碼。系統(tǒng)驗(yàn)證密碼。A1:密碼錯誤進(jìn)入管理界面,系統(tǒng)顯示目前所能執(zhí)行的的所有操作業(yè)務(wù)。借閱者選擇圖
56、書查詢。系統(tǒng)提示輸入查詢信息。借閱者輸入信息。系統(tǒng)驗(yàn)證是否存在圖書。A2:圖書不存在。系統(tǒng)提示圖書信息。借閱者選擇預(yù)借圖書。系統(tǒng)預(yù)借圖書,提示預(yù)借成功。用例結(jié)束。借書用例事件流描述如下:管理員選擇進(jìn)入管理界面,用例開始。系統(tǒng)提示輸入管理員密碼。管理員輸入密碼。系統(tǒng)驗(yàn)證密碼。A1:密碼錯誤進(jìn)入管理界面,系統(tǒng)顯示目前所能執(zhí)行的的所有操作業(yè)務(wù)。管理員選擇借書操作。系統(tǒng)提示輸入借閱者借閱卡號管理員輸入借閱者卡號系統(tǒng)驗(yàn)證卡號是否存在A2:卡號不存在。系統(tǒng)提示圖書信息。管理員選擇借出。系統(tǒng)借出圖書,提示借出成功,歸還日期。用例結(jié)束。管理員添加新書用例事件流描述如下:管理員選擇進(jìn)入管理界面,用例開始。系統(tǒng)提
57、示輸入管理員密碼。管理員輸入密碼。系統(tǒng)驗(yàn)證密碼。A1:密碼錯誤進(jìn)入管理界面,系統(tǒng)顯示目前所能執(zhí)行的的所有操作業(yè)務(wù)。管理員選擇添加新圖書操作。系統(tǒng)提示輸入新書信息。管理員輸入信息。系統(tǒng)驗(yàn)證信息是否正確。A2:信息錯誤系統(tǒng)查詢圖書ISBN號是否存在圖書 A3:已存在圖書。系統(tǒng)添加圖書,提示添加成功。用例結(jié)束。系統(tǒng)類分析類圖是系統(tǒng)設(shè)計(jì)的核心部分,明確基本的類以及相互的關(guān)系有助于使用者進(jìn)一步完善整個系統(tǒng)。類圖描述系統(tǒng)中磊的靜態(tài)結(jié)構(gòu),不僅定義了系統(tǒng)中的類,表示類之間的聯(lián)系,如關(guān)聯(lián)、依賴、聚合等,也包括類的內(nèi)部結(jié)構(gòu)(類的屬性和操作)。與數(shù)據(jù)模型不同,它不僅顯示了信息的結(jié)構(gòu),同時還描述了系統(tǒng)的行為。類圖反映
58、樂兒一種面向?qū)ο蟮姆椒创锢硎澜绲挠^點(diǎn),它不僅是面向?qū)ο蠓椒ǖ暮诵?,而且也是定義其它圖的基礎(chǔ)。類圖描述的是一種靜態(tài)關(guān)系,在系統(tǒng)的整個生命周期都是有效的,而對象圖只能在系統(tǒng)某一時間段存在。類、對象和它們之間的關(guān)聯(lián)式面向?qū)ο蠹夹g(shù)中最基本的元素。對于一個想要描述的系統(tǒng),其類模型和對象模型揭示了系統(tǒng)的結(jié)構(gòu)。在UML中,類和對象模型分別由類圖和對象圖表示。對象圖和類圖具有相同的表示形式,對象圖可以看做是類圖的一個實(shí)例。對象是類的實(shí)例,對象之間的鏈?zhǔn)穷愔g的關(guān)聯(lián)實(shí)例。從用例分析里看出,至少要包含5個重要的類:BorrowerInformation、Title、Item、loan和Reservation。
59、上述5個類都是實(shí)體類,都是持久性的,需要存儲在數(shù)據(jù)庫中。本系統(tǒng)采用面向?qū)ο髷?shù)據(jù)模型,為了便于從數(shù)據(jù)庫文件中引用和檢索對象,需要一個描述對象id的類。另外,由于上述5個類都是持久性類,因此還可以抽象出一個代表持久性的父類,該類實(shí)現(xiàn)了面向?qū)ο髷?shù)據(jù)庫的讀、寫、存儲、檢索、刪除、更新等操作。綜上所述,系中還應(yīng)該有兩個與數(shù)據(jù)庫相關(guān)的類:Persistent store和ObjIdPersistent store類是BorrowerInformation、Item、Borrow、Title、Reservation類的父類、Persistent store為商業(yè)對象的持久存儲提供了支持,它的子類必須實(shí)現(xiàn)從數(shù)
60、據(jù)庫文件中讀、寫對象屬性的操作。ObjId類實(shí)現(xiàn)了對象ID,類ObjId的對象可用來引用系統(tǒng)中的持久對象,使得從數(shù)據(jù)庫文件中引用和檢索對象變得容易。BorrowerInformation類存儲了包括借閱者的編號、姓名、可借閱數(shù)量等。BorrowerInformatio類中的所有對象都是永久的,因?yàn)樗^承了Persistent store類,并可以實(shí)現(xiàn)讀和寫的操作。Item類描述了可能被借出的圖書信息,條款信息通常有一個相應(yīng)的標(biāo)題對象(由書名、作者和圖書編號所定義)。Item類中的所有對象都是永久的,因?yàn)樗^承了Persistent store類,并可以實(shí)現(xiàn)讀和寫的操作。Borrow類是借閱者和
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 院內(nèi)美化合同協(xié)議書5篇
- 2025年榆林普通貨運(yùn)從業(yè)資格證模擬考試
- 2025年大理貨運(yùn)員初級考試題庫
- 2025年高中化學(xué)新教材同步 必修第一冊 第4章 第3節(jié) 第2課時 化學(xué)鍵 分子間作用力
- 107-廣播對講系統(tǒng)
- 空間環(huán)境監(jiān)測系統(tǒng)產(chǎn)業(yè)分析報告
- 個人汽車公用租賃合同范本
- 勞務(wù)派遣住宿合同范本
- 中學(xué)化學(xué)教學(xué)工作總結(jié)
- 個人自查自糾整改報告
- 林規(guī)發(fā)〔2016〕58號防護(hù)林造林工程投資估算指標(biāo)
- 非公開發(fā)行公司債券的法律意見書模版
- 汽車空調(diào)技術(shù)與維修教案
- 城市軌道交通乘客服務(wù)課件(完整版)
- 圍手術(shù)期肺部感染
- 北師大版語文選修《蕭蕭》ppt課件1
- 大學(xué)生職業(yè)素養(yǎng)課件-5第五單元學(xué)會有效溝通-PPT課件
- 煤礦2021年重大安全風(fēng)險分析預(yù)判防控報告全文
- 《傷逝》_魯迅課件__大學(xué)語文(基礎(chǔ)教育)
- 《談骨氣》課文閱讀(共2頁)
- 高考成績證明模板
評論
0/150
提交評論