圖書租借管理系統(tǒng)_第1頁
圖書租借管理系統(tǒng)_第2頁
圖書租借管理系統(tǒng)_第3頁
圖書租借管理系統(tǒng)_第4頁
圖書租借管理系統(tǒng)_第5頁
已閱讀5頁,還剩29頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、計算機(jī)科學(xué)與通信工程系數(shù)據(jù)庫系統(tǒng)課程設(shè)計報告題目: 書刊租借管理信息系統(tǒng) 課程代號: 06888116 課程名稱:數(shù)據(jù)庫系統(tǒng)課程設(shè)計學(xué)號: 姓名: 班級:2010級計算機(jī)1班 指導(dǎo)教師:劉里 完成日期:2013年5月第一章 引言31.1 設(shè)計的目的31.2 所設(shè)計應(yīng)用系統(tǒng)的任務(wù)及目標(biāo)31.2.1 所設(shè)計應(yīng)用系統(tǒng)的任務(wù)31.2.2 所設(shè)計應(yīng)用系統(tǒng)的目標(biāo)41.3 設(shè)計開發(fā)及運(yùn)行的軟硬件環(huán)境4第二章 系統(tǒng)分析與設(shè)計52.1 系統(tǒng)需求分析52.1.1系統(tǒng)需求分析52.1.2功能需求分析62.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計82.3 數(shù)據(jù)庫創(chuàng)建9第三章 系統(tǒng)開發(fā)及實現(xiàn)103.1 論述設(shè)計開發(fā)采用的技術(shù)及設(shè)計效果1

2、03.1.1圖書的租借103.1.2圖書歸還103.1.3 其他功能11第四章 總結(jié)11附錄(附效果圖及部分源代碼)13第一章 引言1.1 設(shè)計的目的 書店從事出租圖書、需實現(xiàn)圖書的輸入、查詢、顯示,書(碟)借、還等管理,歸還時計算租金,并支付租金,書店用戶分為會員用戶和會員用戶和一般用戶包含姓名、電話等信息,圖書也包含許多的基本信息,對于每次的租賃都要記錄租賃物的信息以及借書人等情況,非常麻煩,書店租賃管理系統(tǒng)就是為了解決這些問題而被開發(fā)出來的,書店租賃管理系統(tǒng)完全能夠滿足書店的功能需求,并能方便的管理好書店的信息。1.2 所設(shè)計應(yīng)用系統(tǒng)的任務(wù)及目標(biāo)1.2.1 所設(shè)計應(yīng)用系統(tǒng)的任務(wù)主要功能:

3、對圖書信息的查詢、增加圖書信息、對信息的修改、進(jìn)行圖書借出和歸還功能需求:面向會員:對圖書信息的查詢、對個人信息的修改面向操作員:對會員信息的修改,對圖書信息的修改、圖書的借出和歸還性能要求: 會員能在操作員增加完圖書信息后看見操作員增加的圖書,對其進(jìn)行查詢,同時操作員可以進(jìn)行圖書的出租,和計算應(yīng)付的金額。1.2.2 所設(shè)計應(yīng)用系統(tǒng)的目標(biāo)提供一個可以管理會員信息,可查詢書籍和對書籍的出租進(jìn)行管理的小系統(tǒng)1.3 設(shè)計開發(fā)及運(yùn)行的軟硬件環(huán)境1)C#語言C#是一種安全的、穩(wěn)定的、簡單的、優(yōu)雅的,由C和C+衍生出來的面向?qū)ο蟮木幊陶Z言。它在繼承C和C+強(qiáng)大功能的同時去掉了一些它們的復(fù)雜特性(例如沒有宏

4、和模版,不允許多重繼承)。C#綜合了VB簡單的可視化操作和C+的高運(yùn)行效率,以其強(qiáng)大的操作能力、優(yōu)雅的語法風(fēng)格、創(chuàng)新的語言特性和便捷的面向組件編程的支持成為.NET開發(fā)的首選語言。2)SQL Sever 2005介紹SQL Sever 2005是一個全面的、集成的、端到端的數(shù)據(jù)解決方案,他為企業(yè)中的用戶提供了一個安全、可靠和高效的平臺,用于企業(yè)數(shù)據(jù)管理和商業(yè)智能應(yīng)用。SQL Sever 2005為信息工作者帶來了強(qiáng)大的、熟悉的工具,同時減少了再從移動設(shè)備到企業(yè)數(shù)據(jù)系統(tǒng)的多平臺上創(chuàng)建、部署、管理及使用企業(yè)數(shù)據(jù)和分析應(yīng)用程序的復(fù)雜度。通過全面的功能集和現(xiàn)有系統(tǒng)的集成性,以及對日常任務(wù)的自動化管理能

5、力,SQL Sever 2005為不同規(guī)模的企業(yè)提供了一個完整的數(shù)據(jù)解決方案。3)Microsoft Visual Studio 2010介紹Visual Studio是微軟公司推出的開發(fā)環(huán)境,是目前最流行的Windows平臺應(yīng)用程序開發(fā)環(huán)境,Visual Studio可以用來創(chuàng)建Windows平臺下的Windows應(yīng)用程序和網(wǎng)絡(luò)應(yīng)用程序,也可以用來創(chuàng)建網(wǎng)絡(luò)服務(wù)、智能設(shè)備應(yīng)用程序和Office插件。第二章 系統(tǒng)分析與設(shè)計2.1 系統(tǒng)需求分析2.1.1系統(tǒng)需求分析圖書租借業(yè)務(wù)流程:(1)讀者在目錄廳查閱索引卡;(2)讀者寫出圖書租借的圖書編號、圖書書名交給圖書租借管理員,并出示借書證;(3)管理

6、者輸入讀者借書證號。系統(tǒng)首先檢查借書證是否有效,若有效,對于第一次借書的讀者,在借書證上建立檔案。否則,查閱借書文件,檢查該讀者所借圖書是否超過會員權(quán)限,若已達(dá)權(quán)限,拒借,未達(dá)權(quán)限,辦理借書(檢查庫存,修改庫存目錄并將讀者借書情況錄入借書文件。) (4)圖書管理員根據(jù)圖書租借的圖書編號、圖書書名到書庫找書;(5)圖書管理者確認(rèn)被租借圖書及圖書租借者的相關(guān)信息;(6)確認(rèn)無誤后將圖書交給讀者。(7)還書時,從借書文件中讀出與讀者有關(guān)的記錄,查閱所借日期,如超期(根據(jù)讀者會員權(quán)限的規(guī)定)作罰款處理。否則,修改庫存目錄與借書文件。 對圖書管理者可查看及更改圖書館圖書租借情況和讀者的相關(guān)信息,讀者只能

7、夠憑借個人相關(guān)證件到圖書館經(jīng)圖書管理員同意方可查詢和修改個人信息。圖書租借管理系統(tǒng)的信息量大,數(shù)據(jù)安全性和保密性要求高。本功能實現(xiàn)圖書租借信息、讀者信息、總體借閱情況信息的管理。圖書管理員可以瀏覽、查詢、添加、修改圖書租借的基本信息;瀏覽、查詢、添加、刪除和修改圖書租借讀者的基本信息;瀏覽、查詢圖書租借的借閱信息;能添加、刪除和修改借閱信息。2.1.2功能需求分析整個系統(tǒng)共分六個模塊:租賃物信息的輸入、查詢、顯示所有租賃物的信息、借出、歸還、租金。租賃物信息的輸入:輸入商店中所有圖書和影碟的信息,并把租賃物的借出時間和歸還時間都賦值為零,借出時間為零表示該租賃物還在店內(nèi)。查詢:查詢該租賃物的狀

8、態(tài),共有三種狀態(tài),即:在店內(nèi),被借出,不存在。顯示所有租賃物的信息:顯示所有圖書和影碟的信息。借出:輸入借出信息,并進(jìn)行相關(guān)的操作。歸還:輸入歸還信息,并進(jìn)行相關(guān)的操作。租金:計算租金。2.1.3數(shù)據(jù)流圖圖1 系統(tǒng)圖圖2.會員圖3 操作員2.1.3數(shù)據(jù)字典1)用戶表 User表1用戶表名稱字段名稱類別主鍵非空用戶名NamevarcharNoYes密碼PwdvarcharNoYes身份號identityvarcharYesYes余額余額IntNoYes(2)操作員表表2操作員表名稱字段名稱類別主鍵非空標(biāo)識PidVarcharYesYes密碼PwdVarcharNoYes用戶名UserVarcha

9、rNoYes(3)圖書表表3圖書表名稱字段名稱類別主鍵非空ISBN號ISBNVarcharYesYes書名PwdVarcharNoNo類別ClassVarcharNoNo數(shù)量QuantityVarcharNoYes作者AuthorVarcharNoYes租金租金IntNoYes已借出已借出IntNoYes(2)租借記錄表表4租借記錄名稱字段名稱類別主鍵非空身份證identityVarcharYesYesISBNISBNVarcharYesYes租借日期StartdaydatetimeNoYes操作員編號ManergeridVarcharNoYes2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計操作員圖書信息會員出借

10、記錄圖4 E-R圖2.3 數(shù)據(jù)庫創(chuàng)建圖5 數(shù)據(jù)庫關(guān)系第三章 系統(tǒng)開發(fā)及實現(xiàn) 3.1 論述設(shè)計開發(fā)采用的技術(shù)及設(shè)計效果3.1.1圖書的租借(1)功能:查詢想要借的租賃物的當(dāng)前狀態(tài),當(dāng)圖書在店內(nèi)是執(zhí)行借書操作并輸入借出時間以及借書人的信息。 圖6 借出功能3.1.2圖書歸還(1)功能:查詢想要還的租賃物的當(dāng)前狀態(tài),當(dāng)租賃物被借出時執(zhí)行還書操作,并輸入歸還時間。3.1.3 其他功能學(xué)生 :已借書 對已經(jīng)借到的圖書進(jìn)行查詢 信息修改 對個人信息進(jìn)行修改 搜索 對圖書進(jìn)行條件搜索操作員:增加用戶 增加會員用戶刪除用戶 刪除會員用戶借書 會員借書還書 會員進(jìn)行還書借書信息 所有的出借記錄書本查看 圖書信息

11、的查看用戶資料 進(jìn)行用戶信息的修改書本增加 圖書的錄入充費(fèi)用戶的充費(fèi)第四章 總結(jié)時間飛逝,一轉(zhuǎn)眼數(shù)據(jù)庫課程設(shè)計已接近尾聲了。 面對著這一個個月來的實戰(zhàn)演練,不僅給我們提供了一個絕好的鍛煉機(jī)會,而且在面對困難的過程中還鍛煉了我虛心學(xué)習(xí)、不畏艱難的奮斗精神。通過這幾個月的設(shè)計,使我學(xué)會了不少知識。從最初的理論學(xué)習(xí),到現(xiàn)在的自己動手實踐,真可以說是先學(xué)后用。通過這么一個學(xué)習(xí)的機(jī)會,使我熟悉了Visual Studio 2008環(huán)境,學(xué)會了C#編程語言。在編程設(shè)計的每一天中,通過自己一行行代碼的編寫和調(diào)試,慢慢去實現(xiàn)系統(tǒng)中的每一個模塊的功能,可以說這個編碼過程真是有喜有悲。有時為了實現(xiàn)一個小小的功能,

12、就需要不斷的調(diào)試代碼。有時調(diào)試成功了,感覺很有成就感。有時代碼很多,調(diào)試也會出現(xiàn)錯誤,為了找到那么一個小小的錯誤也花費(fèi)了不少時間,有時還找不到頭緒。所以也請教了不少老師和同學(xué)??吹搅艘粋€個問題的解決,真的很開心。真的很感謝他們!學(xué)習(xí)是一個漫長的過程。世界在發(fā)展,社會在進(jìn)步,我們就必須要跟得上技術(shù)的潮流去發(fā)展。因此這就需要我們自己不斷的去學(xué)習(xí)和探索?;藥讉€月的時間,系統(tǒng)功能也基本的完成了。我覺得做畢業(yè)設(shè)計是一次很好的檢驗自己大學(xué)所學(xué)專業(yè)知識的機(jī)會,通過這次機(jī)會,我更加的認(rèn)識到自己的專業(yè)水平達(dá)到了什么高度,自己的弱點(diǎn)在哪。諸如此類的問題,畢業(yè)設(shè)計給了我更多的思考??傊趯W(xué)習(xí)的道路上,只要我們樹

13、立了遠(yuǎn)大目標(biāo),下定決心,付出行動,鍥而不舍,不管遇到什么困難,相信都會解決的。信心也是至關(guān)重要的!附錄(附效果圖及部分源代碼)一、效果圖1.登陸界面2.根據(jù)不同選擇進(jìn)入不同的界面3.學(xué)生可以進(jìn)行對已經(jīng)借閱的圖書進(jìn)行查詢4.學(xué)生可以對圖書進(jìn)行條件查詢5.學(xué)生對個人信息進(jìn)行修改6.操作員進(jìn)行會員增加提示操作成功7.操作員進(jìn)行會員刪除8.操作員進(jìn)行圖書的出借9.操作員進(jìn)行還書操作提示應(yīng)該付款38元10.所有已經(jīng)借出的圖書查詢11.操作員對會員資料的查看和修改12.圖書的增加二、部分實驗代碼1、app.config<?xml version="1.0" encoding=&q

14、uot;utf-8" ?><configuration> <configSections> </configSections> <connectionStrings> <add name="RENTApplication3.Properties.Settings.RentdatabaseConnectionString" connectionString="Data Source=ZWY-PC;Initial Catalog=Rentdatabase;Integrated Security=Tr

15、ue" providerName="System.Data.SqlClient" /> </connectionStrings></configuration>2.Form1.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;usi

16、ng System.IO;namespace RENTApplication3 public partial class Form1 : Form RadioButton managerbtn = null; Form win = null; public Form1() InitializeComponent(); Init(); private void Init() managerbtn = radioButton1; private void button1_Click(object sender, EventArgs e) String name = textBox1.Text.Tr

17、im(); String pwd = textBox2.Text.Trim(); if (name.Trim().Equals("") | pwd.Trim().Equals("") MessageBox.Show("帳號密碼不能為空?"); else DataClasses1DataContext dc = new DataClasses1DataContext(); if (managerbtn.Checked = true) var query = from p in dc.Manager where p.user.Trim()

18、.Equals(name) select new p.user, p.pwd ; foreach (var a in query) /MessageBox.Show(a.ToString(); if (a.pwd.Trim().Equals(pwd) if (win = null) var p = new winManager(); p.NowManager = dc.Manager.First(c => c.user.Trim().Equals(name); win = p; break; else var query = from p in dc.User where .

19、Trim().Equals(name) select new , p.pwd ; foreach (var a in query) if(a.pwd.Trim().Equals(pwd) if (win = null) var p = new Winuser(); p.NowUser = dc.User.First(c => .Trim().Equals(); win = p; break; if (win != null) this.Hide(); win.ShowDialog(); this.Dispose(); else MessageBox.S

20、how("帳號密碼不正確!"); private void button2_Click(object sender, EventArgs e) this.Dispose(); 3.Form2.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace RENTAp

21、plication3 public partial class Form2 : Form public TextBox txt1 = null; public TextBox txt2 = null; public Form2() InitializeComponent(); txt1 = textBox1; txt2 = textBox2; private void button1_Click(object sender, EventArgs e) if (txt1.Text.Trim().Equals("") MessageBox.Show(string.Format(

22、"0不?能¨¹為a空?", label1.Text); else if (txt2.Visible = true && txt2.Text.Trim().Equals("") MessageBox.Show(string.Format("0不?能¨¹為a空?", label2.Text); else this.Hide(); this.DialogResult = DialogResult.OK; public void setLabel(String text1, String

23、 text2) label1.Text = text1; label2.Text = text2; private void button2_Click(object sender, EventArgs e) this.Dispose(); 4.winManager.csusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Wi

24、ndows.Forms;using System.Data.SqlClient;namespace RENTApplication3 public partial class winManager : Form static DataClasses1DataContext dc; Manager nowManager = null; static string conString = "Data Source=ZWY-PC;Initial Catalog=Rentdatabase;Integrated Security=True" public Manager NowMan

25、ager get return nowManager; set nowManager = value; public winManager() InitializeComponent(); InitializeDataGridView(); dc = new DataClasses1DataContext(); /充?費(fèi)¤? private void button5_Click(object sender, EventArgs e) Form2 inWin = new Form2(); inWin.setLabel("用®?戶¡ì名?"

26、;, "金e額?"); DialogResult result = inWin.ShowDialog(); if (result = DialogResult.OK) / MessageBox.Show(string.Format("0 ok",result); var query = from q in dc.User where .Trim().Equals(inWin.txt1.Text.Trim() select q; if (query.Count() = 0) MessageBox.Show("用®?戶

27、1;ì不?存ä?在¨²"); else try User user = dc.User.First(c => .Trim().Equals(inWin.txt1.Text.Trim(); user.余®¨¤額? += Convert.ToInt32(inWin.txt2.Text); dc.User.GetModifiedMembers(user); dc.SubmitChanges(); catch (Exception exec) MessageBox.Show("操¨&#

28、180;作Á¡Â失º¡ì敗㨹"); else /MessageBox.Show(string.Format("0 error", result); /借¨¨書º¨¦ private void button3_Click(object sender, EventArgs e) Form2 win = new Form2(); win.setLabel("用®?戶¡ì名?",

29、"ISBN"); DialogResult result = win.ShowDialog(); if (result = DialogResult.OK) String user = win.txt1.Text; String isbn = win.txt2.Text; Book book = dc.Book.First(c => c.ISBN.ToString().Trim().Equals(isbn); Rent rent = new Rent(); rent.ISBN = isbn; rent.identity = user; rent.Manergerid

30、= nowManager.user; rent.Startday = DateTime.Now; if (book.已°?借¨¨出? < book.quantity) /借¨¨書º¨¦ try book.已°?借¨¨出? += 1; dc.Book.GetModifiedMembers(book); dc.Rent.InsertOnSubmit(rent); dc.SubmitChanges(); MessageBox.Show("借¨¨書º

31、;¨¦成¨¦功|"); catch (Exception excp ) else /沒?有®D書º¨¦本À?了¢? MessageBox.Show("書º¨¦本À?已°?經(jīng)-沒?有®D庫a存ä?了¢?"); /增?加¨®用®?戶¡ì private void button1_Click(object sender, EventArgs e

32、) Form2 inWin = new Form2(); inWin.setLabel("用®?戶¡ì名?", "密¨¹碼?"); DialogResult result = inWin.ShowDialog(); if (result = DialogResult.OK) / MessageBox.Show(string.Format("0 ok",result); var query = from q in dc.User where .Trim().Equals(in

33、Win.txt1.Text.Trim() select new ; if (query.Count() = 0) MessageBox.Show("插?入¨?成¨¦功|"); User user = new User(); = inWin.txt1.Text; user.pwd = inWin.txt2.Text; user.identity = inWin.txt1.Text; dc.User.InsertOnSubmit(user); dc.SubmitChanges(); else MessageBox.S

34、how("用®?戶¡ì名?已°?經(jīng)-存ä?在¨²"); else /MessageBox.Show(string.Format("0 error", result); inWin.Dispose(); /用®?戶¡ì刪¦?除y private void button2_Click(object sender, EventArgs e) Form2 inWin = new Form2(); inWin.setLabel("用®?

35、戶¡ì名?",""); inWin.txt2.Visible = false; DialogResult result = inWin.ShowDialog(); if (result = DialogResult.OK) / MessageBox.Show(string.Format("0 ok",result); var query = from q in dc.User where .Equals(inWin.txt1.Text.Trim() select q; if (query.Count() = 0)

36、 MessageBox.Show("用®?戶¡ì不?存ä?在¨²"); else try User user = dc.User.First(c => .Trim().Equals(inWin.txt1.Text.Trim(); dc.User.DeleteOnSubmit(user); dc.SubmitChanges(); MessageBox.Show("刪¦?除y成¨¦功|"); catch (Exception exec) Message

37、Box.Show("操¨´作Á¡Â失º¡ì敗㨹"); else /MessageBox.Show(string.Format("0 error", result); /查¨¦看¡ä所¨´有®D的Ì?借¨¨書º¨¦記?錄? private void button6_Click(object sender, Event

38、Args e) var query = from q in dc.User join b in dc.Rent on q.identity equals b.identity join c in dc.Book on b.ISBN equals c.ISBN select new ,q.identity, q.余®¨¤額?, c.bookname , b.ISBN ; dataGridView1.DataSource = query; /* DateTime time = DateTime.Now; DateTime time2 = Convert.T

39、oDateTime("2013-5-9"); TimeSpan ts = time.Subtract(time2); MessageBox.Show(time.ToString(); MessageBox.Show(string.Format("0", time.ToOADate(); MessageBox.Show(string.Format("0", ts.Days.ToString(); */ private void button4_Click(object sender, EventArgs e) Form2 inWin =

40、 new Form2(); inWin.setLabel("用®?戶¡ì名?", "ISBN"); DialogResult result = inWin.ShowDialog(); String identity = inWin.txt1.Text.Trim(); String bookIsbn = inWin.txt2.Text.Trim(); if (result = DialogResult.OK) / MessageBox.Show(string.Format("0 ok",result); R

41、ent rent = dc.Rent.First(c => c.identity.ToString().Trim().Equals(identity) && c.ISBN.ToString().Trim().Equals(bookIsbn); if (rent != null) Book book = dc.Book.First(c => c.ISBN.ToString().Trim().Equals(bookIsbn); User user = dc.User.First(c => c.identity.ToString().Trim().Equals(id

42、entity); book.已°?借¨¨出? -= 1; DateTime now = DateTime.Now; DateTime time2 = Convert.ToDateTime(rent.Startday); TimeSpan ts = now.Subtract(time2); int money = (int)(ts.Days) * Convert.ToInt16(book.租Áa金e); MessageBox.Show(string.Format("應(yīng)®|該?支¡ì付?0",money); u

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論