




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、SQL Server數據庫 課程設計題目:圖書借閱管理系統的設計與實現院、 系: 計算機信息與技術系 學科專業: 軟件工程 學 號: B10060XXX _學生姓名: XXXX 指導教師: XX ××2012年06月目錄引 言1第一章 需求分析2一、功能需求2二、數據需求2第二章 概要設計3一、系統設計目標3二、系統功能設計3三、開發工具的選擇4第三章 詳細設計5一. 實體E-R圖5二. 表的設計6三界面設計7第四章 軟件實現21一、登錄實現21二、圖書管理21三、圖書借閱21四、圖書查詢21五、圖書增加21第五章 軟件測試22一、測試方案22二、測試項目22三、測試項目及
2、測試內容22四、測試用例23五、評價23第六章 課程設計總結24參考文獻25引 言隨著社會的發展,人們對知識的需求也不斷地增長。在這種形勢下,書籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們的生活中占據了一定的位置,如何科學地管理圖書館不但關系到讀者求知的方便程度,也關系到圖書館的發展,因此,開發一套完善的圖書館管理系統就勢在必行。圖書館在正常運營中總是面對大量的讀者信息、書籍信息以及兩者相互作用產生的借書信息、還書信息。本軟件針對圖書館的業務范圍及工作特點,設計了圖書查詢、新增圖書、圖書借閱書以及圖書歸還等5個子系統,這5個子系統包括了圖書館的主要業務,可以全面實現對
3、圖書館采購、編目、檢索、統計和流通等業務的計算機管理,使圖書館管理水平和業務水平躍上一個新的臺階。應用本系統可以在計算機上靈活、方便地管理圖書,從而大大的提高了處理速率,使管理更加現代化。本系統是根據實際情況和具體內容,按照一定的要求,科學、合理的進行系統分析、設計,具體包括畫面設計、數據輸入、查詢、新增、刪除等設計。從而使本系統完全能滿足經濟性、靈活性、系統性及可靠性的要求。本系統的實現的主要功能有:圖書館圖書的查詢、新書的入庫、圖書的借閱和歸還等等功能,是一個基本可以滿足借閱者和圖書館管理人員的需要的數據庫。第一章 需求分析一、功能需求根據出版社圖書的規模日益擴增,圖書類別的日益繁瑣,經銷
4、商與出版社頻繁交易,行業競爭日益激烈。面對諸多問題時:一款優秀的出版社圖書管理軟件是每一個從事出版社圖書銷售與管理的必備的工具。出版社圖書出版管理是一個龐大的任務,傳統方式的圖書管理將會造成巨大的人力和物力的浪費,因此我們需要設計一個可以使工作人員實現使用計算機管理的系統。減輕工作量,實現圖書出版管理的高效化。通過本系統,讀者可以隨時查詢圖書的信息并對對圖書信息進行增加,刪除,查詢。圖書借閱管理系統旨在實現圖書管理的現代化,能夠很好的利用計算機幫助讀者查詢各種書籍,也能很好的幫助管理者對書籍的信息有一個及時的了解,極大程度上方便了我們的生活及學習。二、數據需求學生基本信息:學號,姓名。書籍基本
5、信息:圖書編號,圖書名,作者,出版社,數量。第二章 概要設計一系統設計目標本系統為學校的圖書館信息而設計,實現信息處理的自動化、規范化,主要用于處理圖書日常借閱和還書、圖書入庫、各種查詢操作,系統具有以下功能。(1) 完成新書入庫、借閱、還書等處理功能(2) 具有借閱者增加、刪除等功能(3) 具有各種查詢功能二系統功能設計要求系統實現圖書館日常管理事務最主要的功能,包括圖書的借出于還回,圖書信息的錄入、修改和查詢,讀者信息的錄入、修改和查詢,員工信息的錄入、修改和查詢。實現這些基本功能,組建了圖書管理系統的基本框架,根據功能的關聯關系和集中分組的原則,將系統細化如圖2-1所示的結構圖。圖書館圖
6、書借閱系統歸還圖書借閱圖書圖書借閱圖書信息管理系統設置新書入庫查詢圖書信息刪除圖書信息用戶密碼修改登錄處理圖2-1 系統功能結構圖三開發工具的選擇本系統采用 Microsoft SQL Server 2008創建后臺數據庫,前臺開發工具采用的Microsoft SQL Server Management Studio,編程語言為C#。如圖2-2所示。圖2-2第三章 詳細設計一. 實體E-R圖數據庫設計使系統開發中非常重要的一個環節,數據庫結構設計的好壞將直接影響系統的效率。在設計數據庫之前,要了解用戶需求,從而確定數據庫結構。否則,如果在代碼實現過程中再修改數據庫的結構,將會浪費人力和物力。同
7、時,在數據庫設計中,表的數量不能太多,否則系統的升級和維護將很困難。由概要設計中系統結構可以得出實體及他們之間的聯系。實體具體的描述及其聯系E-R圖,如圖3-1所示:讀者信息電話讀者編號讀者姓名密碼圖書編號圖書信息出版社名稱數量作者 借 閱管理員信息電話管理員編號管理員姓名密碼新書添加圖3-1 E-R圖二. 表的設計2.1圖書信息圖書信表:表名為:“圖書查詢”,用于保存所以圖書信息,其結夠如圖3-2所示。圖3-2 book表的結構2.2讀者信息讀者信息表:表名為:“圖書借閱”,用于保存可以在本館借書的所有讀者信息,其結果如圖3-3所示。圖3-3 reader表的結構三界面設計 3.1登錄窗體設
8、計登錄窗體作為系統的啟動窗體,用于核對用戶和密碼,只有圖書館工作管理人員才能登錄到本系統進行操作。登錄窗體的設計比較靈活,只要能實現用戶和密碼的驗證即可,本系統將其設計成為一個小窗體。登錄窗體文件名設計為“Form1.cs”3.1.1界面設計在該窗體上添加3個Label、2個TextBox、2個Button控件。登錄窗體及其主要控件的屬性設置如圖3-4界面設計 圖3-4 登錄窗體3.1.2代碼設計:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using S
9、ystem.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;/添加命名空間using System.Data.SqlClient;namespace feng public partial class Form1 : Form public Form1() InitializeComponent(); private void textBox3_TextChanged(object sender, EventArgs e) private void button1_Click(object sende
10、r, EventArgs e) string strcon = "Data Source=.;Initial Catalog=圖書館借閱系統;Integrated Security=True" SqlConnection sqlCon = new SqlConnection(strcon); sqlCon.Open(); string sql = "select * from 登錄 where username=form1name and password=password" SqlCommand cmd = new SqlCommand(sql, sq
11、lCon); cmd.Parameters.Add("form1name", SqlDbType.NChar, 20); cmd.Parameters.Add("password", SqlDbType.NChar, 20); cmd.Parameters"form1name".Value = username.Text; cmd.Parameters"password".Value = password.Text; /創建 SqlDataReader,必須調用 SqlCommand 對象的 ExecuteRead
12、er 方法,而不要直接使用構造函數。 SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() dr.Close(); Formmain formmain = new Formmain(); formmain.Show(); this.Hide(); Else MessageBox.Show("密碼錯誤,請重新輸入!"); /name.Clear(); password.Clear(); sqlCon.Close(); private void textBox1_TextChanged(object sender, Even
13、tArgs e) private void textBox2_TextChanged(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e) Application.Exit(); 3.2 圖書管理模塊設計圖書管理窗體作為系統的功能窗體,用于有以下功能圖書查詢、圖書借閱、圖書增加、和退出到登錄窗體。登錄窗體文件名設計為“Formmain.cs”.3.2.1界面設計在該窗體上添加5個Button控件,其中圖書管理窗體及其主要控件的屬性設置如圖3-5所示。他分別連接到圖書查詢、圖書借閱、圖
14、書新增、圖書歸還和登錄窗體。圖3-5 圖書管理3.2.2代碼設計: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;namespace fengpublic partial class Formmain : Form public Formmain() InitializeComponent();
15、 private void button1_Click(object sender, EventArgs e) Selectbook selectbook = new Selectbook(); selectbook.Show(); private void button3_Click(object sender, EventArgs e) Addbook addbook = new Addbook(); addbook.Show(); private void button6_Click(object sender, EventArgs e) Application.Exit(); priv
16、ate void button2_Click(object sender, EventArgs e) Borrowbook borrowbook = new Borrowbook(); borrowbook.Show(); private void button4_Click(object sender, EventArgs e) Returnbook returnbook = new Returnbook(); returnbook.Show(); 3.3圖書借閱窗體設計圖書借閱窗體作為系統的啟動窗體,用于借出和還入,其運行界面如圖1-13所示。登錄窗體文件名設計為“Form4.cs”。3.
17、3.1界面設計在該窗體上添加2個Label、2個TextBox、2個Button控件,其中圖書借閱窗體及其主要控件的屬性設置如圖3-6所示。圖3-6 圖書借閱3.3.2代碼設計:(關鍵代碼)namespace fengpublic partial class Borrowbook : Form public Borrowbook() InitializeComponent(); private void label3_Click(object sender, EventArgs e) private void button2_Click(object sender, EventArgs e)
18、Formmain formmain = new Formmain(); formmain.Show(); this.Hide(); private void button1_Click(object sender, EventArgs e) string strcon = "Data Source=BXAIT-PC;Initial Catalog=圖書館借閱系統;Integrated Security=True" SqlConnection sqlCon = new SqlConnection(strcon); sqlCon.Open(); string sql = &qu
19、ot;select * from dbo.借閱信息 where sno=sno or bookid=bookid" SqlCommand cmd = new SqlCommand(sql, sqlCon); cmd.Parameters.Add("sno", SqlDbType.NChar, 10); cmd.Parameters.Add("bookid", SqlDbType.NChar, 10); cmd.Parameters"sno".Value = textBox1.Text; cmd.Parameters"
20、;bookid".Value = textBox2.Text; SqlDataReader dr = cmd.ExecuteReader(); if (dr.Read() dr.Close(); string lend = "insert into dbo.借閱信息 values(sno,bookid)" SqlCommand cmd2 = new SqlCommand(lend, sqlCon); cmd2.Parameters.Add("sno", SqlDbType.NChar, 10); cmd2.Parameters.Add(&quo
21、t;bookid", SqlDbType.NChar, 10); cmd2.Parameters"sno".Value = textBox1.Text; cmd2.Parameters"bookid".Value = textBox2.Text; cmd2.ExecuteNonQuery(); MessageBox.Show("借書成功!"); else MessageBox.Show("圖書館沒有這本書,請重新輸入!"); textBox1.Clear(); textBox2.Clear(); sqlC
22、on.Close(); 3.4圖書查詢窗體設計圖書查詢窗體通過輸入圖書名稱查詢出作者,出版社,數量。圖書查詢窗體文件名設計為“Form2.cs”.3.4.1界面設計在該窗體上添加5個Label、5個TextBox、3個Button控件,其中圖書查詢窗體及其主要控件的屬性設置如表3-7所示。圖3-7 圖書查詢3.4.2代碼設計:(關鍵代碼)namespace fengpublic partial class Selectbook : Form public Selectbook() InitializeComponent(); private void button1_Click(object
23、sender, EventArgs e) private void button2_Click(object sender, EventArgs e) Formmain formmain = new Formmain(); formmain.Show(); this.Hide(); private void button1_Click_1(object sender, EventArgs e) Borrowbook borrowbook = new Borrowbook(); borrowbook.Show(); Private void dataGridView1_CellContentCl
24、ick(object sender, DataGridViewCellEventArgs e) private void button3_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection("Data Source=.;Initial Catalog=圖書館借閱系統;Integrated Security=True"); sqlcon.Open(); string str = "select * from 查詢 where bookid=bookid or bookn
25、ame=bookname or bookauthor=bookauthor or bookpub=bookpub or bookstate=bookstate" SqlCommand cmd = new SqlCommand(str, sqlcon); cmd.Parameters.Add("bookid", SqlDbType.NChar, 10); cmd.Parameters.Add("bookname", SqlDbType.VarChar, 50); cmd.Parameters.Add("bookauthor",
26、 SqlDbType.VarChar, 50); cmd.Parameters.Add("bookpub", SqlDbType.VarChar, 50); cmd.Parameters.Add("bookstate", SqlDbType.VarChar, 50); cmd.Parameters"bookid".Value = this.textBox1.Text; cmd.Parameters"bookname".Value = this.textBox2.Text; cmd.Parameters"b
27、ookauthor".Value = this.textBox3.Text; cmd.Parameters"bookpub".Value = this.textBox4.Text; cmd.Parameters"bookstate".Value = this.textBox5.Text; this.textBox1.Text = "NULL" this.textBox2.Text = "NULL" this.textBox3.Text = "NULL" this.textBox4.Te
28、xt = "NULL" this.textBox5.Text = "NULL" SqlDataReader dr = cmd.ExecuteReader(); while (dr.Read() this.textBox1.Text = dr"bookid".ToString().Trim(); this.textBox2.Text = dr"bookname".ToString().Trim(); this.textBox3.Text = dr"bookauthor".ToString().Tr
29、im(); this.textBox4.Text = dr"bookpub".ToString().Trim(); this.textBox5.Text = dr"bookstate".ToString().Trim(); 3.5圖書新增窗體設計圖書新增窗體作為系統的啟動窗體,用于對新書入庫,其運行界面如圖1-13所示。登錄窗體文件名設計為“Form3.cs”.3.5.1界面設計在該窗體上添加4個Label、4個TextBox、2個Button控件,其中圖書增加窗體及其主要控件的屬性設置如表3-8所示。圖3-8 圖書新增3.5.2代碼設計:(關鍵代碼)n
30、amespace feng public partial class Addbook : Form public Addbook() InitializeComponent(); private void button1_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection("data source=.;Initial Catalog=圖書館借閱系統;Integrated Security=True"); String str = "insert into dbo.新增
31、 values(bookid,bookname,bookauthor,bookpub)" sqlcon.Open(); / SqlCommand cmd = new SqlCommand("insert into 新增(bnum,bname,bauthor,bpub,) values('" + textBox1.Text + "','" + textBox2.Text + "','" + textBox3.Text + "','" + textBox
32、4.Text + "')", sqlcon); SqlCommand cmd = new SqlCommand(str, sqlcon); cmd.Parameters.Add("bookid", SqlDbType.NChar, 10); cmd.Parameters.Add("bookname", SqlDbType.VarChar, 50); cmd.Parameters.Add("bookauthor", SqlDbType.VarChar, 50); cmd.Parameters.Add(&quo
33、t;bookpub", SqlDbType.VarChar,50); cmd.Parameters"bookid".Value = textBox1.Text; cmd.Parameters"bookname".Value = textBox2.Text; cmd.Parameters"bookauthor".Value = textBox3.Text; cmd.Parameters"bookpub".Value = textBox4.Text; cmd.ExecuteNonQuery(); sqlcon
34、.Close(); MessageBox.Show("添加成功!"); this.textBox1.Clear(); this.textBox2.Clear(); this.textBox3.Clear(); this.textBox4.Clear(); private void button2_Click(object sender, EventArgs e) Formmain formmain = new Formmain(); formmain.Show(); this.Hide(); 3.6圖書歸還窗體設計圖書歸還窗體作為系統的啟動窗體,用于對新書歸還,其運行界面如
35、圖1-13所示。登錄窗體文件名設計為“Form5.cs”.3.6.1界面設計在該窗體上添加2個Label、2個TextBox、2個Button控件,其中圖書增加窗體及其主要控件的屬性設置如表3-9所示。 圖3-9 圖書歸還3.6.2代碼設計:(關鍵代碼)namespace feng public partial class Returnbook : Form public Returnbook() InitializeComponent(); private void button2_Click(object sender, EventArgs e) Formmain formmain = n
36、ew Formmain(); formmain.Show(); this.Hide(); private void button1_Click(object sender, EventArgs e) SqlConnection sqlcon = new SqlConnection("data source=localhost;Initial catalog=圖書館借閱系統;Integrated security=sspi;"); string str = "delete from dbo.借閱信息 where sno=sno and bookid=bookid&q
37、uot; sqlcon.Open(); SqlCommand cmd = new SqlCommand(str, sqlcon); cmd.Parameters.Add("sno", SqlDbType.NChar, 10); cmd.Parameters.Add("bookid", SqlDbType.NChar, 10); cmd.Parameters"sno".Value = textBox1.Text; cmd.Parameters"bookid".Value = textBox2.Text; cmd.Ex
38、ecuteNonQuery(); sqlcon.Close(); MessageBox.Show("還書成功!"); this.textBox1.Clear(); this.textBox2.Clear(); 第四章 軟件實現首先用SQL Server 2008建立數據庫的兩個表,將圖書信息,讀者用戶名和密碼建立。然后用Microsoft Visual Studio 2010建立五個窗體。用代碼實現窗體與數據庫的連接和窗體與窗體之間的連接。第一個窗體為登錄界面,分別設有登錄按鈕。通過登錄按鈕進入第二個窗體進行圖書管理,再進入第三個圖書借閱,再進入第四個圖書查詢,最后可以對新
39、入庫的圖書做增加,進入第五個窗體。一、登錄實現(見圖3-4)二、圖書管理(見圖3-5)三、圖書借閱(見圖3-6)四、圖書查詢(見圖3-7)五、圖書新增(見圖3-8)六、圖書歸還(見圖3-9)第五章 軟件測試一、測試方案采用黑盒測試方法。對功能進行逐一測試,在輸入合理及不合理的數據后測試系統的正常運作情況。二、測試項目1. 讀者登陸測試2. 讀者進行信息查詢測試3. 圖書信息管理測試三、測試項目及測試內容測試1:名稱:讀者登陸測試目的:測試系統操作界面內容:用戶名密碼輸入、合理性檢查、合法性檢查,系統操作界面顯示控制。測試2:名稱:圖書信息查詢測試目的:測試系統信息查詢功能內容:輸入關鍵字,進行圖書信息查詢。 測試3:名稱:圖書信息管理測試目的:測試系統信息增加、刪除、修改、查詢功能。內容:輸入有效信息,進行圖書信息增加、刪除、修改、查
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大學化學重要概念與定義解析試題及答案
- 提高物理解題速度的練習試題及答案
- 市場分析2025年商務英語考試試題及答案
- 勞動防護安全試題及答案
- 水壩模擬測試題及答案
- 水滸傳每回試題及答案
- 教師教育教學反思與創新教學方法的有效結合試題及答案
- 掌握客戶體驗的商務英語試題及答案
- 動物拋棄測試題及答案
- 建筑施工安全工作的重要性與意義試題及答案
- 工程款抵房協議合同模板
- 初中數學問題解決策略 特殊化教案2024-2025學年北師大版(2024)七年級數學下冊
- 2024-2025學年人教版數學八年級下冊期中押題重難點檢測卷(含答案)
- 基建科室面試題及答案
- 儒林外史名著試題及答案
- 2024年汽車維修案例分析方法試題及答案
- 18 井岡翠竹 課件
- 地質災害地震課件
- 脊柱損傷的臨床表現與急救處理
- 金蝶固定資產管理系統
- LY/T 2457-2015西南樺培育技術規程
評論
0/150
提交評論