軟件工程課程設計--圖書借閱管理系統(tǒng)解析_第1頁
軟件工程課程設計--圖書借閱管理系統(tǒng)解析_第2頁
軟件工程課程設計--圖書借閱管理系統(tǒng)解析_第3頁
軟件工程課程設計--圖書借閱管理系統(tǒng)解析_第4頁
軟件工程課程設計--圖書借閱管理系統(tǒng)解析_第5頁
已閱讀5頁,還剩26頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程課程設計報告書項目名稱: 圖書借閱管理系統(tǒng) 指導老師: 學生姓名: 專 業(yè): 班 級: 日 期: 信息科學與工程系目錄一、項目計劃1(一)項目開發(fā)背景及內(nèi)容1(二) 開發(fā)環(huán)境1(三) 進度安排1二、結構化分析設計2(一)數(shù)據(jù)流圖2(二) 數(shù)據(jù)字典3(三)加工說明(可用結構化語言描述、判定表、判定樹)8(四)結構圖9(五) 流程圖9三、面向?qū)ο蠓治鲈O計11(一)用例圖11(二) 對象行為模型12(三)系統(tǒng)包圖13(四)類圖14(五)配置圖15四、系統(tǒng)實現(xiàn)15(一)程序代碼15(二)功能演示(界面)25五、測試27六、 軟件發(fā)布28七、參考文獻28八、總結體會29一、項目計劃(一)項目開發(fā)

2、背景及內(nèi)容隨著計算機技術的不斷發(fā)展,計算機作為知識經(jīng)濟時代的產(chǎn)物,已被廣泛應用于社會各個行業(yè)和領域。目前,我國的科技水平高速發(fā)展,計算機作為今天使用最廣的現(xiàn)代化工具已深入到各個領域,并且正在成為未來社會信息社會的重要支柱。在這樣的大背景下,現(xiàn)代圖書館的管理方式,資源建設等方面都發(fā)生了重大變化,這種變化表現(xiàn)在圖書館工作,管理和服務平臺發(fā)生的變化,圖書館不再是傳統(tǒng)的手工操作,人工管理,而是全面實行計算機管理。 圖書館的正常運營中總是面對大量的讀者信息,圖書信息以及兩者相互作用產(chǎn)生的借書信息,因此要對讀者資源,圖書資源,借書信息進行管理。本系統(tǒng)的開發(fā)就是在于提高圖書借閱管理的工作效率,加強圖書館的管

3、理,全面實行計算機管理。(2) 開發(fā)環(huán)境開發(fā)環(huán)境:Win 7 旗艦版開發(fā)工具:Visualbasic6.0 ACCESS 作圖軟件:Microsoft Visio 2010(3) 進度安排 該軟件應用Microsoft Visio 2010和Visualbasic6.0 ,ACCESS進行編程作圖,歷時大概兩周,最終完成了這個小型圖書借閱管理系統(tǒng)。由于時間倉促,該小型圖書借閱管理系統(tǒng)并不完善。我用了兩天時間查找相關資料,兩天時間編寫代碼和連接數(shù)據(jù)庫。其余三天開始用Microsoft Visio 2010畫數(shù)據(jù)流圖、結構圖、流程圖、用例圖和包圖類圖。整個過程系我們?nèi)朔止と送瓿伞6?、結構化分析設

4、計(一)數(shù)據(jù)流圖圖2.2.1 系統(tǒng)的數(shù)據(jù)流圖圖2.2.2 1層數(shù)據(jù)流圖(2) 數(shù)據(jù)字典在定義的圖書借閱管理系統(tǒng)數(shù)據(jù)字典中,主要對數(shù)據(jù)流圖中的數(shù)據(jù)項、數(shù)據(jù)流、數(shù)據(jù)存儲和處理過程進行說明。(1)數(shù)據(jù)項描述 1)數(shù)據(jù)項名稱:借書證號 含義說明:惟一標識一個借書證 類型:字符型 長度:50 邏輯關系:不允許為空 2)數(shù)據(jù)項名稱:用戶名 含義說明:讀者的名稱 類型:字符型 長度:20 邏輯關系:不允許為空 3)數(shù)據(jù)項名稱:密碼 含義說明:對用戶名和操作員管理員進行加密 類型;字符型 長度:10 邏輯關系:允許為空 4)數(shù)據(jù)項名稱:性別 類型:字符型 長度:10 邏輯關系:允許為空 5)數(shù)據(jù)項名稱:所在系

5、別 類型;字符型 長度:10 邏輯關系:允許為空 6)數(shù)據(jù)項名稱:所在班級 類型:字符型 長度:10 邏輯關系:允許為空 7)數(shù)據(jù)項名稱:操作員名稱 類型:字符型 長度:30 邏輯關系:不允許為空 8)數(shù)據(jù)項名稱:操作員簡稱 含義說明:惟一標識一個操作員 類型:字符型 長度:10 邏輯關系:不允許為空 9)數(shù)據(jù)項名稱:操作員級別 含義說明:對操作員和管理員進行區(qū)分 類型:字符型 長度:10 邏輯關系:不允許為空 10)數(shù)據(jù)項名稱:圖書編號 含義說明:惟一標識一個圖書 類型:字符型 長度:10 邏輯關系:不允許為空 11)數(shù)據(jù)項名稱:圖書名稱 類型:字符型 長度:50 邏輯關系:不允許為空 12

6、)數(shù)據(jù)項名稱:作者 類型:字符型 長度:50 邏輯關系:不允許為空 13)數(shù)據(jù)項名稱:出版社 類型:字符型 長度:50 邏輯關系:不允許為空 14)數(shù)據(jù)項名稱:出版時間 類型:日期時間型 長度:8 邏輯關系:不允許為空 15)數(shù)據(jù)項名稱:價格 類型:整型 長度:4 邏輯關系:不允許為空 16)數(shù)據(jù)項名稱:備注 類型:字符型 長度:200 邏輯關系:允許為空 17)數(shù)據(jù)項名稱:借書日期 類型:日期時間 長度:8 邏輯關系:不允許為空 18)數(shù)據(jù)項名稱:還書日期 類型:日期時間 長度:8 邏輯關系:不允許為(2)數(shù)據(jù)結構描述 1)數(shù)據(jù)流名稱:用戶情況 含義說明:定義了一個讀者的有關信息組成結構:用

7、戶情況=用戶名+借書證號+密碼+性別+所在系別+所在班級 2)數(shù)據(jù)流名稱:操作員情況 含義說明:定義了一個操作員的有關信息 組成結構:操作員情況=操作員名稱+操作員簡稱+操作員級別+操作員密碼3) 數(shù)據(jù)流名稱:圖書情況 含義說明:定義了一個圖書的有關信息 組成結構:圖書情況=圖書編號+圖書名稱+作者+出版社+出版時間+價格+備注(3) 數(shù)據(jù)流描述 1)數(shù)據(jù)流名稱:借書 含義:讀者借書時的記錄 來源:讀者 去向:審核借書 數(shù)據(jù)流量:>50份/天 組成:借書單=借書證號+圖書編號+借書日期 2)數(shù)據(jù)流名稱:還書 含義:讀者還書時要填寫的記錄 來源:讀者 去向:審核還書 數(shù)據(jù)流量:>25

8、份/天 組成:還書單=圖書編號+還書日期(4) 數(shù)據(jù)存儲說明1) 數(shù)據(jù)存儲名稱:圖書數(shù)據(jù)表 含義說明:存放圖書的有關信息 組成結構:圖書編號+圖書名稱+作者+出版社+出版時間+價格+備注 說明;書號具有惟一性和非空性 2) 數(shù)據(jù)存儲名稱:用戶信息表 含義說明:存放讀者的注冊信息 組成結構:用戶名+借書證號+密碼+性別+所在系別+所在班級 說明:證號具有惟一性和非空性,性別只能是男和女 3) 數(shù)據(jù)存儲名稱:借書記錄 含義說明:存放讀者的借書,還書信息 組成結構:借書證號+圖書編號+借書日期+還書日期 說明:要求能夠立即查詢(5) 處理過程說明 1)處理過程名稱:圖書管理 輸入:圖書情況, 輸出:

9、圖書記錄 處理說明:對館內(nèi)所有圖書按圖書編號進行管理,將圖書數(shù)據(jù)數(shù)據(jù)化,存儲圖書數(shù)據(jù)表中。 2)處理過程名稱:讀者管理 輸入:讀者情況, 輸出:讀者記錄 處理說明:建立讀者信息表,對讀者進行統(tǒng)一編號,實現(xiàn)讀者記錄表的增刪改維護功能。 3)處理過程名稱:查看數(shù)目 輸入:借書請求,讀者 輸出:借書記錄,圖書信息 處理說明:實現(xiàn)根據(jù)圖書編號等查詢圖書。 4)處理過程名稱:借書處理 輸入:圖書情況,讀者,借書記錄 輸出:借書記錄 處理說明:確認讀者符合借書條件,辦理借書手續(xù)。 5)處理過程名稱:還書處理 輸入:圖書情況, 輸出:借書記錄 處理說明:對照相應的圖書編號可辦理還書手續(xù)。 6)處理過程名稱:

10、安全管理 輸入:操作員情況,用戶情況 輸出:操作員級別,操作員記錄,用戶記錄 處理說明:通過用戶名和口令,確認用戶身份,保證系統(tǒng)的安全型。(三)加工說明(可用結構化語言描述、判定表、判定樹)圖2.3.1 借閱管理系統(tǒng)的判定樹(四)結構圖圖2.4.1 系統(tǒng)的結構圖(5) 流程圖圖2.5.1系統(tǒng)登錄流程圖圖2.5.2 系統(tǒng)的借書流程圖圖2.5.3 系統(tǒng)的還書流程圖三、面向?qū)ο蠓治鲈O計(一)用例圖 用例圖在需求分析階段有重要作用,它是作為參與者的外部用戶所能觀察到的系統(tǒng)功能模型圖。整個開發(fā)過程都是圍繞需求階段用例進行的。圖3.1.1 系統(tǒng)的用例圖(2) 對象行為模型圖3.2.1 系統(tǒng)狀態(tài)圖圖3.1.

11、2 系統(tǒng)活動圖(三)系統(tǒng)包圖圖3.3.1 系統(tǒng)的包圖數(shù)據(jù)庫包:包含數(shù)據(jù)庫中所有的數(shù)據(jù)信息用戶包:包含要使用系統(tǒng)的用戶及其屬性管理員包:包含要使用系統(tǒng)的管理員及其屬性接口包:表示系統(tǒng)和數(shù)據(jù)庫的借口系統(tǒng)包:表示圖書借閱管理系統(tǒng)(四)類圖 類是面對對象系統(tǒng)組成的核心。類是對一組相同屬性、操作、關系和語義的對象的描述。這些對象包括了對現(xiàn)實世界中的物理實體、商業(yè)事務、邏輯事務、應用事務和行為事務等,甚至也包括了純粹概念性的事務,它們都是類的實例。圖3.4.1 系統(tǒng)的類圖(五)配置圖圖3.5.1 系統(tǒng)配置圖四、系統(tǒng)實現(xiàn)(一)程序代碼圖書借閱管理:Public SchCnd As StringPrivate

12、 Sub Cmd_Add_Click() '初始化FrmBorrowEdit信息 '設置借閱編號為當前編號最大值+1 Dim JYNo As String '取表中的最大借閱編號 JYNo = "00" + Trim(Str(Val(MyBorrow.GetMaxNo() + 1) FrmBorrowEdit.txtBorrowNo = "JY" + JYNo FrmBorrowEdit.txtBorrowDate = Date FrmBorrowEdit.txtReturnDate = "" FrmBorro

13、wEdit.txtBCount = 0 FrmBorrowEdit.txtCardNo = "" FrmBorrowEdit.txtName = "" FrmBorrowEdit.txtCardType = "" FrmBorrowEdit.txtMaxCount = 0 FrmBorrowEdit.txtMaxDays = 0 FrmBorrowEdit.txtBookNo = "" FrmBorrowEdit.txtBookName = "" FrmBorrowEdit.txtBookTyp

14、e = "" FrmBorrowEdit.txtLCount = 0 FrmBorrowEdit.txtTotal = 0 '設置添加圖書按鈕不能用 FrmBorrowEdit.Cmd_Add.Enabled = False FrmBorrowEdit.Cmd_Del = False FrmBorrowEdit.Cmd_Ok.Enabled = False '設置圖書信息不能用 FrmBorrowEdit.Frame2.Enabled = False '啟動編輯窗體 FrmBorrowEdit.Show 1 '刷新DataGrid表格的內(nèi)容

15、GridRefreshEnd Sub'單擊“返回”按鈕Private Sub Cmd_Back_Click() Unload MeEnd SubPrivate Sub Cmd_Push_Click()'列出離應歸還日期小于等于5天的圖書 FrmPush.Show 1End SubPrivate Sub Cmd_Return_Click() '歸還調(diào)用FrmReturnEdit窗體,需要輸入借閱證號,提取該證借閱信息 FrmReturnEdit.Show 1 GridRefreshEnd SubPrivate Sub ComboFlag_click() GridRefre

16、shEnd Sub'啟動窗體Private Sub Form_Load() '設置借閱狀態(tài)為"借閱" ComboFlag.ListIndex = 0 '刷新DataGrid表格的內(nèi)容 GridRefreshEnd SubPrivate Sub GridRefresh() If ComboFlag.ListIndex > 0 Then SchCnd = " AND l.Status='" + Trim(ComboFlag.Text) + "'" Else SchCnd = "&qu

17、ot; End If '設置ADO控件的連接字符串 Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ + App.Path + "Books.mdb;Persist Security Info=False" '刷新DataGrid記錄 '設置數(shù)據(jù)源 Adodc1.RecordSource = "SELECT l.BookNo AS 圖書編號,i.BookName AS 圖書名稱, " _ + "l.B

18、Count AS 借閱數(shù)量,b.BorrowNo AS 借閱編號,b.CardNo AS 借閱證編號,c.Name AS 姓名," _ + "BorrowDate AS 借閱日期 " _ + " FROM Borrow b,BorrowList l,Cards c,BookInfo i " _ + " WHERE l.BNo=b.BorrowNo AND b.CardNo=c.CardNo AND l.BookNo =i.BookNo" + SchCnd _ + " ORDER BY l.BookNo,b.Borr

19、owDate DESC"' MsgBox (Adodc1.RecordSource) Adodc1.Refresh DataGrid1.Columns(0).Width = 1200 DataGrid1.Columns(1).Width = 1600 DataGrid1.Columns(2).Width = 1200 DataGrid1.Columns(3).Width = 1400 DataGrid1.Columns(4).Width = 1400 DataGrid1.Columns(5).Width = 1200 DataGrid1.Columns(6).Width =

20、1400End Sub編輯用戶信息:Public Modify As BooleanPublic OriUser As StringPrivate Sub Cmd_Cancel_Click() Unload MeEnd SubPrivate Sub Cmd_OK_Click() If Trim(txtUserName) = "" Then MsgBox "請輸入用戶名" txtUserName.SetFocus Exit Sub End If If Len(txtPass) < 6 Then MsgBox "密碼長度不能小于6"

21、 txtPass.SetFocus txtPass.SelStart = 0 txtPass.SelLength = Len(txtPass2) Exit Sub End If If txtPass <> txtPass2 Then MsgBox "密碼和確認密碼不相同,請重新確認" txtPass2.SetFocus txtPass2.SelStart = 0 txtPass2.SelLength = Len(txtPass2) Exit Sub End If With MyUser If Modify = False Or OriUser <>

22、Trim(txtUserName) Then If .In_DB(MakeStr(txtUserName) = True Then MsgBox "用戶名已經(jīng)存在,請重新輸入" txtUserName.SetFocus txtUserName.SelStart = 0 txtUserName.SelLength = Len(txtUserName) Exit Sub End If End If .UserName = MakeStr(txtUserName) .Pwd = MakeStr(txtPass) If Modify = False Then .Insert Msg

23、Box "添加完成" Else .Update (OriUser) MsgBox "修改完成" '如果修改自身用戶名,則更新CurUser對象 If OriUser = CurUser.UserName And Trim(txtUserName) <> OriUser Then CurUser.UserName = Trim(txtUserName) CurUser.GetInfo (CurUser.UserName) End If End If End With Unload MeEnd SubPrivate Sub Form_Lo

24、ad()End SubPrivate Sub txtPass_Change()End Sub用戶管理:Private Sub Cmd_Add_Click() With FrmUserEdit .txtUserName = "" .txtPass = "" .txtPass2 = "" .Modify = False .Show 1 End With AdoUserList.Refresh DataList1_ClickEnd SubPrivate Sub Cmd_Back_Click() Unload MeEnd SubPrivate

25、 Sub Cmd_Del_Click() If DataList1.Text = "" Then MsgBox "請選擇要刪除的用戶" Exit Sub End If If MyUser.UserName = "Admin" Then MsgBox "此用戶不能刪除" Exit Sub End If '確認刪除 If MsgBox("是否刪除當前用戶", vbYesNo, "請確認") = vbYes Then MyUser.Delete (DataList1.Tex

26、t) MsgBox "成功刪除" AdoUserList.Refresh DataList1_Click End IfEnd SubPrivate Sub Cmd_Modi_Click() If DataList1.Text = "" Then MsgBox "請選擇要修改的用戶" Exit Sub End If With FrmUserEdit .OriUser = MyUser.Overcame .txtUserName = MyUser.UserName .txtPass = MyUser.Pwd .txtPass2 = MyU

27、ser.Pwd If Trim(MyUser.UserName) = "Admin" Then .txtUserName.Enabled = False End If .Modify = True .Show 1 End With AdoUserList.Refresh DataList1_ClickEnd SubPrivate Sub DataList1_Click() If DataList1.Text = "" Then Exit Sub End If '讀取用戶數(shù)據(jù) MyUser.GetInfo (DataList1.Text) lblU

28、serName = MyUser.UserName If Trim(MyUser.UserName) = "Admin" Then lblUserType = "系統(tǒng)管理員" Else lblUserType = "普通用戶" End IfEnd SubPrivate Sub Form_Load() lblUserType = "" lblUserName = "" '設置ADO控件的連接字符串 AdoUserList.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _ + App.Path + "Books.mdb;Persist Security Info=False&qu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論