




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
年4月19日圖書館管理系統(tǒng)建模設(shè)計基于UML文檔僅供參考,不當(dāng)之處,請聯(lián)系改正。圖書館管理系統(tǒng)建模設(shè)計2基于UML一、圖書館管理系統(tǒng)需求分析1.1系統(tǒng)目標(biāo)設(shè)計圖系統(tǒng)開發(fā)的總目標(biāo)是實現(xiàn)內(nèi)部圖書借閱管理的系統(tǒng)化、規(guī)范化和自動化。能夠?qū)D書進(jìn)行注冊登記,也就是將圖書的基本信息(如:書的編號、書名、作者、價格等)預(yù)先存入數(shù)據(jù)庫中,供以后檢索。能夠?qū)栝喨诉M(jìn)行注冊登記,包括記錄借閱人的姓名、編號、班級、年齡、性別、地址、電話等信息。提供方便的查詢方法。如:以書名、作者、出版社、出版時間(確切的時間、時間段、某一時間之前、某一時間之后)等信息進(jìn)行圖書檢索,并能反映出圖書的借閱情況;以借閱人編號對借閱人信息進(jìn)行檢索;以出版社名稱查詢出版社聯(lián)系方式信息。提供對書籍進(jìn)行的預(yù)先預(yù)訂的功能。提供舊書銷毀功能,對于淘汰、損壞、丟失的書目可及時對數(shù)據(jù)庫進(jìn)行修改。能夠?qū)κ褂迷摴芾硐到y(tǒng)的用戶進(jìn)行管理,按照不同的工作職能提供不同的功能授權(quán)。提供較為完善的差錯控制與友好的用戶界面,盡量避免誤操作。1.2系統(tǒng)功能需求分析(1)讀者管理:讀者信息的制定、輸入、修改、查詢,包括種類、性別、借書數(shù)量、借書期限、備注等。(2)書籍管理:書籍基本信息制定、輸入、修改、查詢,包括書籍編號、類別、關(guān)鍵詞、備注。(3)借閱管理:包括借書,還書,預(yù)訂書籍,續(xù)借,查詢書籍,過期處理和書籍丟失后的處理。(4)系統(tǒng)管理:包括用戶權(quán)限管理,數(shù)據(jù)管理和自動借還書機(jī)的管理滿足以上需求的系統(tǒng)主要包含有一下幾個子系統(tǒng)(1)基本業(yè)務(wù)功能子系統(tǒng):該系統(tǒng)中主要包含了借書還書和預(yù)訂等功能。(2)基本數(shù)據(jù)錄入功能子系統(tǒng):該子系統(tǒng)主要包含有書籍信息和讀者信息錄入功能。(3)信息查詢子系統(tǒng):包含了多功能的查詢書籍信息和讀者信息。(4)數(shù)據(jù)庫管理功能子系統(tǒng):主要包含了借閱信息管理功能,書籍信息管理功能和預(yù)訂信息管理功能。(5)幫助功能子系統(tǒng)。下圖為該圖書館管理系統(tǒng)的主要功能模塊圖:圖1:圖書館管理系統(tǒng)功能模塊圖1.3功能描述借書。處理借書業(yè)務(wù)。還書。處理還書業(yè)務(wù)。書籍預(yù)訂。借閱者能夠經(jīng)過網(wǎng)絡(luò)進(jìn)行書籍預(yù)訂。書籍信息錄入。處理書籍個類信息錄入業(yè)務(wù)。借閱者信息錄入。對讀者信息進(jìn)行錄入。書籍信息查詢。負(fù)責(zé)書籍信息的查詢。讀者信息查詢。負(fù)責(zé)數(shù)據(jù)信息的查詢。借閱信息管理。書籍借閱信息包括所借書的書名、ISBN以及借書的時間等。書籍信息管理。書籍信息包括書籍的名字、ISBN、作者、入庫時間以及書籍在相應(yīng)書目下的編號等。預(yù)訂信息管理。負(fù)責(zé)管理書籍預(yù)訂信息。1.4、圖書館管理系統(tǒng)的數(shù)據(jù)流圖。如下:顯示系統(tǒng)界面有效用戶及密碼處理用戶名與密碼顯示系統(tǒng)界面有效用戶及密碼處理用戶名與密碼輸入用戶名及密碼用戶輸入用戶名及密碼用戶 輸入有效命令輸入有效命令反饋給用戶反饋給用戶處理修改密碼處理修改密碼修改用戶名及密碼處理命令修改用戶表修改用戶名及密碼處理命令書籍修改命令書籍修改命令借.還書書籍入庫及修改信息顯示結(jié)果借.還書書籍入庫及修改信息顯示結(jié)果 處理借\還書命令處理借\還書命令修改書籍信息表修改借、還書表圖2:圖書館管理系統(tǒng)的DFD圖二、系統(tǒng)的UML建模設(shè)計2.1、UML簡介UML是一種功能強(qiáng)大的、面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言,它采用一整套成熟的建模技術(shù),廣泛地適用于各個應(yīng)用領(lǐng)域。它的各個模型能夠幫助開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統(tǒng)模型。從而使用戶和開發(fā)人員對問題的描述達(dá)到相同的理解,以減少語義差異,保障分析的正確性.2.2該圖書系統(tǒng)的用例管理分析該圖書館管理系統(tǒng)的用例圖如下:圖3:圖書館管理系統(tǒng)的用例圖從用例圖中我們能夠看出管理員和讀者之間對本系統(tǒng)所具有的用例。管理員所包含的用例有:登錄系統(tǒng):管理員能夠經(jīng)過登錄該系統(tǒng)進(jìn)行各項功能的操作書籍管理:包括對書籍的增刪改等。書籍借閱管理:包括借書、還書、預(yù)訂、書籍逾期處理和書籍丟失處理等等。讀者管理:包含對讀者的增刪改等操作。自動借書機(jī)的管理。讀者所包含的用例有:登錄系統(tǒng)借書:進(jìn)行借書業(yè)務(wù)。還書:讀者具有的還書業(yè)務(wù)。查詢:包含對個人信息和書籍信息的查詢業(yè)務(wù)預(yù)訂:讀者對書籍的預(yù)訂業(yè)務(wù)。逾期處理:就是書籍過期后的繳納罰金等。書籍丟失處理:對書籍丟失后的不同措施進(jìn)行處理。自動借書機(jī)的使用等。2.3系統(tǒng)的順序圖順序圖是顯示對象之間交互的圖,這些對象是按時間順序排列的。該圖書館管理系統(tǒng)主要含有以下幾個重要的順序圖,其它對象的順序圖和這些也類似。借書順序圖還書順序圖罰款順序圖借書順序圖圖4:圖書館管理系統(tǒng)借書順序圖【順序圖說明】login():登錄系統(tǒng)。checkstu_card():對讀者信息進(jìn)行驗證,檢查是否符合本圖書館借書條件。showinformation():顯示該讀者的基本信息函數(shù)。borrow():讀者借書函數(shù)。getreaders():取得讀者信息函數(shù)??丛撟x者是否符合借書條件,若符合,則返回可借信息。gettitle():取得書目信息。getreservation():檢驗書籍是否被預(yù)訂函數(shù)。getnoreservation():書籍沒被預(yù)訂或取消預(yù)訂函數(shù)。create(borrower,item):創(chuàng)立書籍外借函數(shù)。借書時,讀者先將書拿予管理員,管理員對書籍和讀者進(jìn)行檢驗,若書籍和讀者都符合借書條件,則借書成功。還書順序圖圖5:圖書館管理系統(tǒng)還書順序圖【順序圖說明】login():登錄系統(tǒng)。getitem():取得書籍條目信息。update():對圖書館書籍條目和借閱者信息進(jìn)行更新條目。還書時,讀者先將書交給管理員,由管理員掃描書籍,若書籍沒有過期等違規(guī)現(xiàn)象,則對書目和讀者借閱信息進(jìn)行更新,同時還書成功。罰款順序圖圖6:圖書館管理系統(tǒng)的罰款順序圖【順序圖說明】管理員對書籍進(jìn)行掃描,若發(fā)現(xiàn)書籍已經(jīng)超過了圖書館規(guī)定的還書期限,則按每天一定金額進(jìn)行罰款,過期天數(shù)和罰款金額由系統(tǒng)自動計算。用戶交完罰金后,則對讀者借閱信息進(jìn)行更新。2.4系統(tǒng)的狀態(tài)圖圖書館的書籍狀態(tài)圖如圖7所示?!緺顟B(tài)圖說明】書籍在未變成圖書館在庫書籍時,為新加書籍狀態(tài)。書籍處于在庫狀態(tài)時既能夠預(yù)訂也能夠外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預(yù)訂狀態(tài)時也能夠外借,超出預(yù)訂時間期限則從預(yù)訂狀態(tài)直接轉(zhuǎn)為可用狀態(tài)。借閱者在規(guī)定的預(yù)訂時間內(nèi)也能夠考慮取消預(yù)訂,取消預(yù)訂后書籍的狀態(tài)轉(zhuǎn)為可用。外借書籍歸還后變?yōu)榭捎脿顟B(tài)。圖7:圖書館的書籍狀態(tài)圖2.5系統(tǒng)的活動圖活動圖描述的是某流程中的任務(wù)的執(zhí)行,活動圖描述活動是如何協(xié)同工作的,當(dāng)一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時,活動圖能夠更清晰地描述這些事情。。在本圖書館管理系統(tǒng)中,我們主要描述了圖書館系統(tǒng)的借書、還書和預(yù)訂的活動圖。1.借書活動圖【借書活動圖說明】管理員首先要掃描讀者的借書證,檢驗證件是否符合圖書館借書條件,若該讀者的借書數(shù)量還未達(dá)到最大規(guī)定數(shù)量,而且其所借書籍均未屬于過期范圍,則符合借書條件。則再掃描書籍條形碼,檢查書籍是否是不可借書籍或者已經(jīng)被預(yù)訂,若被預(yù)訂,則取消預(yù)訂,方可借書。在這些條件都符合時則更新書籍信息和讀者的借閱信息,記錄好借書的時間。圖8:圖書館管理系統(tǒng)的借書活動圖2、還書活動圖【還書活動圖說明】圖書管理員對書籍進(jìn)行掃描,若書籍已經(jīng)過期,則要求讀者還請欠款才能還書,讀者繳應(yīng)交罰款后,更新書目信息和讀者信息。圖9:圖書館管理系統(tǒng)的還書活動圖3、預(yù)訂圖書活動圖【預(yù)訂書籍活動圖說明】讀者先進(jìn)入系統(tǒng)查詢自己所需要的書籍,顯示書籍信息,檢驗書籍是否屬于可預(yù)訂書籍,若符合條件則檢查書籍是否已經(jīng)被預(yù)訂或已經(jīng)被外借,若都未成立,則讀者登錄系統(tǒng),并對該書籍進(jìn)行預(yù)訂。圖10:圖書館管理系統(tǒng)預(yù)訂書籍活動圖2.6圖書管理系統(tǒng)的類圖【類圖說明】reader類是借閱者的類,它的屬性很多,包括借閱者的賬戶ID(reader_id)、姓名(reader_Name)、地址(Address)、班級(class)、所借書籍的書目(borrowed)等。其中主要操作有借書(addborrowed)和還書(deleteborrowed)和預(yù)訂(reservation)等。admin類是管理員類,她有編號和姓名屬性,操作主要是書籍的增刪改和讀者的增刪改等等。(3)Title類是記錄書目信息的類,包括書籍的名字(name)、作者(author)、book_id等屬性。(4)Item類是具體某本書的類,屬性包括書籍號(id)。操作包括預(yù)訂(reserve)、按書目查找(find_on_title)等。(5)borrow類是某本書的借閱信息類,包括所借閱書籍的ISBN、借閱的時間(date)等。(6)Reservation類是預(yù)訂信息類,每個預(yù)訂信息包括預(yù)訂日期(date)、所預(yù)訂書籍的ISBN、預(yù)訂書籍的用戶ID(UserID)等屬性。(7)persistentstore類是書籍永久的存儲類,在數(shù)據(jù)庫中的存儲數(shù)據(jù),其它對與書籍有關(guān)的活動都要經(jīng)過其存儲類。圖11:圖書館管理系統(tǒng)的類圖及關(guān)系三、圖書館管理系統(tǒng)數(shù)據(jù)庫建模考慮到系統(tǒng)的推廣性,本系統(tǒng)采用SQLSERVER作為數(shù)據(jù)庫。而且采用PowerDesigner進(jìn)行數(shù)據(jù)建模,從而自動生成sql腳本。3.1、數(shù)據(jù)庫概念設(shè)計1、數(shù)據(jù)庫表設(shè)計(1)管理員表admin:管理員編號(admin_id),管理員姓名(admin_name),密碼(admin_password),登錄次數(shù)(logins),最后一次登錄時間(lastlogin)和權(quán)限(right)。(2)讀者表reader:讀者編號(reader_id),讀者姓名(reader_name),性別(sex),年齡(age),班級(class),最大借書量(maxborrowed)借書總量(amount)和權(quán)限(right)。(3)書籍表books:書籍編號(book_id),書名(title),作者(author),出版社(bookconcert),價格(price),出版時間(time),在庫總量(amount),剩余量(remain)。(4)借閱信息表(borrow_information):書籍編號(book_id),讀者編號(reader_id),借書時間(borrow_time),到期時間(end_time),歸還時間(return_time).(5)預(yù)訂信息表:讀者編號(reader_id),書籍編號(book_id),預(yù)訂時間(reservation_time),取消預(yù)訂時間(reservationcanceltime).(6)書籍類型表booktype:書籍類型編號(type_id),書籍類型名稱(type_name).(7)用戶權(quán)限表right:權(quán)限(right)。2、圖書管理系統(tǒng)個實體之間的E-R圖圖12:圖書館管理系統(tǒng)各實體之間的ER圖3、基于powerdesigner的CDM數(shù)據(jù)庫模型(1)數(shù)據(jù)庫概念數(shù)據(jù)模型CDM對象如下圖,該圖顯示了各實體的屬性及各實體之間的關(guān)系。圖13:圖書館管理系統(tǒng)CDM建模3.2數(shù)據(jù)庫物理設(shè)計由概念模型生成物理模型的的數(shù)據(jù)庫腳本文件為圖書管理.sql文件,代碼附下頁。附:由PDM對象自動生成的數(shù)據(jù)庫腳本文件代碼如下:ifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('books')='FK_BOOKS_管理書籍_ADMIN')altertablebooksdropconstraintFK_BOOKS_管理書籍_ADMINgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('borrow_information')='FK_BORROW_I_BORROW_IN_BOOKS')altertableborrow_informationdropconstraintFK_BORROW_I_BORROW_IN_BOOKSgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('borrow_information')='FK_BORROW_I_BORROW_IN_READER')altertableborrow_informationdropconstraintFK_BORROW_I_BORROW_IN_READERgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('login')='FK_LOGIN_LOGIN_ADMIN')altertablelogindropconstraintFK_LOGIN_LOGIN_ADMINgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('login')='FK_LOGIN_LOGIN2_READER')altertablelogindropconstraintFK_LOGIN_LOGIN2_READERgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('reversation')='FK_REVERSAT_REVERSATI_BOOKS')altertablereversationdropconstraintFK_REVERSAT_REVERSATI_BOOKSgoifexists(select1fromdbo.sysreferencesrjoindbo.sysobjectsoon(o.id=r.constidando.type='F')wherer.fkeyid=object_id('reversation')='FK_REVERSAT_REVERSATI_READER')altertablereversationdropconstraintFK_REVERSAT_REVERSATI_READERgoifexists(select1fromsysindexeswhereid=object_id('admin')andname='權(quán)限_FK'andindid>0andindid<255)dropindexadmin.權(quán)限_FKgoifexists(select1fromsysobjectswhereid=object_id('admin')andtype='U')droptableadmingoifexists(select1fromsysindexeswhereid=object_id('books')andname='管理書籍_FK'andindid>0andindid<255)dropindexbooks.管理書籍_FKgoifexists(select1fromsysindexeswhereid=object_id('books')andname='圖書類型_FK'andindid>0andindid<255)dropindexbooks.圖書類型_FKgoifexists(select1fromsysobjectswhereid=object_id('books')andtype='U')droptablebooksgoifexists(select1fromsysobjectswhereid=object_id('booktype')andtype='U')droptablebooktypegoifexists(select1fromsysindexeswhereid=object_id('borrow_information')andname='Association_2_FK'andindid>0andindid<255)dropindexborrow_information.Association_2_FKgoifexists(select1fromsysindexeswhereid=object_id('borrow_information')andname='Association_1_FK'andindid>0andindid<255)dropindexborrow_information.Association_1_FKgoifexists(select1fromsysobjectswhereid=object_id('borrow_information')andtype='U')droptableborrow_informationgoifexists(select1fromsysindexeswhereid=object_id('login')andname='login2_FK'andindid>0andindid<255)dropindexlogin.login2_FKgoifexists(select1fromsysindexeswhereid=object_id('login')andname='login_FK'andindid>0andindid<255)dropindexlogin.login_FKgoifexists(select1fromsysobjectswhereid=object_id('login')andtype='U')droptablelogingoifexists(select1fromsysindexeswhereid=object_id('reader')andname='用戶權(quán)限_FK'andindid>0andindid<255)dropindexreader.用戶權(quán)限_FKgoifexists(select1fromsysobjectswhereid=object_id('reader')andtype='U')droptablereadergoifexists(select1fromsysindexeswhereid=object_id('reversation')andname='reversation2_FK'andindid>0andindid<255)dropindexreversation.reversation2_FKgoifexists(select1fromsysindexeswhereid=object_id('reversation')andname='reversation_FK'andindid>0andindid<255)dropindexreversation.reversation_FKgoifexists(select1fromsysobjectswhereid=object_id('reversation')andtype='U')droptablereversationgocreatetableadmin(admin_idintnotnull,admin_namechar(20)null,admin_passwordchar(16)null,loginsintnull,last_loginchar(10)null,"right"intnull,constraintPK_ADMINprimarykeynonclustered(admin_id))gocreateindex權(quán)限_FKonadmin()gocreatetablebooktype(type_idintnull)gocreatetablebooks(book_idintnotnull,admin_idintnull,titlechar(20)null,type_idintnull,authorchar(40)null,pricemoneynull,"bookconcern"char(50)null,addtimedatetimenull,amountintnull,remainintnull,constraintPK_BOOKSprimarykeynonclustered(book_id),constraintFK_BOOKS_管理書籍_ADMINforeignkey(admin_id)referencesadmin(admin_id),constraintFK_BOOKS_BOOKTYPE_BOOKTYPEforeignkey()referencesbooktype)gocreateindex圖書類型_FKonbooks()gocreateindex管理書籍_FKonbooks(admin_idASC)gocreatetablereader(reader_idintnotnull,reader_namechar(20)null,sexchar(2)null,agetinyintnull,classchar(15)null,addresstextnull,memotextnull,maxborrowedintnull,reader_passwordchar(16)null,"right"intnull,constraintPK_READERprimarykeynonclustered(reader_id))gocreatetableborrow_information(book_idintnotnull,reader_idintnotnull,borrow_timedatetimenull,end_timedatetimenull,amountintnull,return_timedatetimenull,constraintPK_BORROW_INFORMATIONprimarykey(book_id,reader_id),constraintFK_BORROW_I_BORROW_IN_BOOKSforeignkey(book_id)referencesbooks(book_id),constraintFK_BORROW_I_BORROW_IN_READERf
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025建筑工程承包合同【橋梁加固工程施工承包合同】
- 2025物業(yè)租賃合同標(biāo)準(zhǔn)范本
- 《媒介市場調(diào)查研究報告》課件
- DB12-T3024-2020-醫(yī)學(xué)檢驗危急值獲取與應(yīng)用技術(shù)規(guī)范-天津市
- DB12-T1291-2023-玉米秸稈黃貯制作技術(shù)規(guī)范-天津市
- 2025年的建筑工程勞務(wù)分包合同范本及補(bǔ)充協(xié)議格式
- 第一冊復(fù)習(xí)計劃
- 推動汽車消費(fèi)全鏈條升級方案
- 老舊房屋與配套設(shè)施升級改造可行性分析
- 電商產(chǎn)業(yè)園發(fā)展前景分析報告
- 畢業(yè)論文(設(shè)計)多功能臺燈設(shè)計
- 三級動火安全技術(shù)措施方案
- 化工基礎(chǔ)知識題庫
- 前程無憂國企招聘筆試題庫
- 2024年廣東省汕尾市陸豐市第13屆“玉燕杯”小學(xué)數(shù)學(xué)六年級競賽試卷
- 名人-魏源-人物介紹
- “小小科學(xué)家”廣東省少年兒童科學(xué)教育體驗活動+生物試題4
- 小學(xué)語文《習(xí)作一形形色色的人》說課稿附板書課件
- 《面點基本功》課件-冠頂餃
- 2024年江蘇蘇州風(fēng)景園林投資發(fā)展集團(tuán)有限公司招聘筆試參考題庫含答案解析
- 產(chǎn)學(xué)研協(xié)同創(chuàng)新機(jī)制
評論
0/150
提交評論