




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
圖書管理系統課程設計報告
1.設計目的
隨著計算機技術的不斷發展,計算機作為學問經濟時代的產物,已被廣泛應
用于社會各個行業和領域。目前,我國的科技水平高速發展,計算機作為今日運
用最廣的現代化工具已深化到各個領域,并且正在成為將來社會一一信息社會的
重要支柱。在這樣的大背景下,現代圖書館的管理方式,資源建設等方面都發生
了重大改變,這種改變表現在圖書館工作,管理和服務平臺發生的改變,圖書館
不再是傳統的手工操作,人工管理,而是全面實行計算機管理。
圖書館的正常運營中總是面對大量的讀者信息,圖書信息以及兩者相互作用
產生的借書信息,因此要對讀者資源,圖書資源,借書信息進行管埋。本系統的
開發就是在于提高圖書管理的工作效率,加強圖書館的管理,全面實行計算機管
理。
2.可行性探討報告
在軟件的開發過程中,這一步是特別必要的。假如在定義階段及早發覺將來
可能在開發過程中的問題,及早做出決斷,可以避開大量的人力,財力和時間上
的奢侈。
1.技術可行性:本組開發成員都具有肯定的電腦學問,學習過多種程
序開發語言。特殊是在項目確定后對C#和SQLServer數據庫的強化學習,
使本系統勝利開發成為可能。
2.經濟可行性:本系統有其生存空間,勝利后有其市場。并且本小組
開發人員基于一種愛好去探討他的,我們有自己的電腦,可以說成本開支
極其有限。
3.現階段各種各樣的圖書館越來越多,圖書館的書也越來越多,國書
的管理工作也越來越困難。本系統就是為了減輕圖書管理人員的工作而設
計的。
4.法律可行性:本系統為我五人開發小組獨立完成,不關他人,開發
勝利后其全部權歸我們五人全部,用戶購買后其運用權一同買斷,我們將
供應技術支持。
5.基于水平和時間有限,我們的系統還不是特別完善??蓴U展的地方
許多,現列舉如:
建立圖書預約機制建立讀者反饋機制
建立過期催還機制建立條碼掃描機制等。
以現有的人力和時間來衡量,我們只有放棄,
經過以上可行性論證,本系統可以按任務書要求開發。
3.項目開發支配書
開發階段時間進度
制定開發支配兩天
需求分析一周
概要設計一周
具體設計兩周
系統實現三周
系統測試一周
編寫課程設計報告兩周
4.系統需求規格說明書
該過程是個不斷相識不斷細化的過程。這里所要完成的工作是深化描述軟件
的功能和性能,確定軟件的設計限制和軟件同其他系統元素的接口細微環節,從
而奠定軟件的開發基礎。
1.性能需求:該系統中,各個模塊只有管理人員才能對其進行操作,系統管理
人員要進行身分驗證才能進入界面操作.
2.功能需求:我們設計的系統要完成的功能模塊如下:
登陸模塊管理員管理模塊借閱卡管理模塊書籍管理模塊
查詢管理模塊。
3.環境需求:電腦須要安裝.net框架3.5,安裝SQLServer2008數據庫,硬
件要求酷睿i3雙核以上處理器,100G硬盤空間,1G以上內存,系統應有
WindowsXP,Windows?,或Windows8操作系統。
4.界面需求:本軟件是面對大眾,界面友好,操作簡潔敏捷,依據界面上的提
示便可完成一系列動作。
5.概要設計說明書
5.1系統設計流程
(—)建庫;
建立數據庫;
(二)設計相應的操作界面;
5.2功能模塊結構圖設計
一、軟件設計過程
對程序結構、數據結構、過程細微環節和接口細微環節逐步細化、評審和編
寫文檔的過程。從技術角度上,軟件設計分成體系結構設計、數據設計、過程設
計、接口設計4個方面的工作。從管理角度上講,軟件設計分為概要設計和具體
設計兩個階段。
二、軟件設計目標
設計必需實現分析模型中描述的全部顯示需求,必需滿意用戶希望的全部隱
式需求;設計必需是可讀、可理解的,使得將來易于編程、易于測試、易于維護;
設計應從實現角度動身,給出數據、功能、行為相關的軟件全貌。
三、基本原理和相關概念
⑴抽象化:常用的抽象化手段有過程抽象、數據抽象和限制抽象
?過程抽象:任何一個完成明確動能的操作都可被運用者當做單位的實體
看待,盡管這個操作時機上可能由一系列更低級的操作來完成。
?數據抽象:與過程抽象一樣,允許設計人員在不同層次上描述數據,對象
的細微環節。
?與過程抽象和數據抽象一樣,限制抽象可以包含一個程序限制機制而無
須規定其內部細微環節。
(2)自頂向下,逐步細化:將軟件的體系結構按自頂向下方式,對各個層次的
過程細微環節和數據細微環節逐層細化,知道用程序設計語言的語句能夠實現為
止,從而最終確立完全的體系結構。
⑶模塊化:將一個待開發的軟件分解成若干個小的簡潔的部分一一模塊,每
個模塊可獨立地開發、測試,最終組裝成完整的程序。這是一種困難問題的“分
而治之”的原則。模塊化的目的是使程序結構清楚,簡潔閱讀,簡潔理解,簡潔
測試,簡潔修改。
(4)限制層次:表明白程序構件(模塊)的組織狀況。限制層次往往用程序的
層次結構(樹形或網型)來表示。
?深度:程序結陶的層次數,可以反映程序機構的規模和困難程度。
?寬度:同一層模塊的最大模塊個數
?模塊的扇出:一個模塊調用(或限制)的其他模塊數
?模塊的扇入:調用(或限制)一個給定模塊的模塊個數
⑸信息屏蔽:將每個程序的成分隱微或封裝在一個單一的設計模塊中,定義
每一個模塊時盡可能少的顯露其內部的處理,可以提高軟件的可修改性,可測試
性和可移植性。
⑹模塊獨立:每個模塊完成一個相對特定獨立的子功能,并且與其他模塊之
間的聯系簡潔。衡量度量標準有兩個:模塊間的耦合和模塊的內聚。模塊獨立性
強必需做到高內聚低耦合。
?耦合:模塊之間聯系的緊密程度,耦合度越高模塊的獨立性越差。耦合
度從低到高的次序為:非干脆耦合、數據耦合、標記耦合、限制耦合、外部耦合、
公共耦合、內容耦合。
?內聚是指內部各元素之間聯系的緊密程度,內聚度越低模塊的獨立性越
差。內聚度從低到高依次是:偶然內聚、邏輯內聚、瞬時內聚、過程內聚、通信
內聚、依次內聚、功能內聚。
結構化設計方法,采納類似于結構化分析的“由大到小”、“自頂向下,逐
層分解”的基本思想描述(分解)系統。結構化設計方法,首先以數據流圖為基
礎導出系統模塊(功能)結構圖。在導出系統模塊(功能)結構圖的過程中,以
獨立性、低耦合性、高內聚性、公共模塊作為模塊劃分的原則。先將系統數據流
圖中的加工轉換成模塊,再將各大模塊接著劃分為較小的模塊,直到每一模塊都
是功能單一的模塊。
依據系統功能分析和圖書館管理的特點,經過模塊化的分析得到如圖所示的
圖書館管理系統功能模塊結構圖。
黑
加
加
露
書籍
書籍
增
增
新
超期
還書
借書
信
理
書
信息
息
管
借
圖
書
書
理
管
理
護
護
管
查
加
小
查
員
卡
維護
詢
詢
管n
E
5.3E-R圖
管理員E-R圖
管理員
學生E-R圖
圖書E-R圖
借閱E-R圖
系統整體E-R圖
6.具體設計說明書
6.1數據庫設計
依據設計好的各實體E-R圖創建數據庫的邏輯結構,本系統采納了送了
SQLServer2008數據庫,數據庫名稱為BookMgr.數據庫BookMgr包含以下
6個表:圖書信息表book、圖書管理員表admin、圖書類別表type、借書卡信息
表card、圖書借閱表lendo
表的具體結構如下:
1)管理員表:用于保存管理員信息,結構如下
列名數據類型允許值
N□ull
>逾int
□
8Namevarchar(10)
團
passwordvarchar(10)
口
/******Object:Table[dbo].[Users]ScriptDato:04/26/201515:56:26
******/
SETANSI_NULLSON
GO
SETQUOTEDIDENTIFIERON
GO
CREATETABLE[dbo].[Users](
[NameJ[nvarchar](50)NULL,
[Password][nvarchar]150NL-l.L,
[Type][int]NULL
)ON[PRIMARY]
GO
2)圖書信息表
數據類型允許值
到冬N□ull
W]NumInvarchar(50)
團
Namenvarchar(50)M
Authornvarchar(50)
回
Typeint0
ISBNnvarchar(50)0
CBSnvarchar(50)0
CBRQdatetime⑦
Statusnvarchar(50)
口
/******Object:Table[dbo].[Book]ScriptDate:04/26/201515:56:26
******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo].[Book](
[Num][nvarchar](50)NOTNULL,
[Name][nvarchar](50)NULL,
[Author][nvarchar](50)NULL,
[Type][int]NULL,
[ISBN][nvarchar](50)NULL,
[CBS][nvarchar](50MLL,
[CBRQ][datetime]NULL,
[StatusJ[nvarchar](50)NLLL,
CONSTRAINT[PK_Book]PRIMARYKEYCLUSTERED
[Num]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DLP_KEY=OFF,
ALL0W_R0W_L0CKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
3)借書卡信息表
列名數據類型允許Null值
>8:Num;
nvarchar(50)E一
Namenvarchar(50)
Classnvarchar(50)
StartTimedatetime[oz
EndTimedatetime
[z
一
/******Object:Table[dbo].[Card]ScriptDate:04/26/201515:56:26
******/
SETANSI_NULLSON
GO
SETQUOTEDJDENTIFIERON
GO
CREATETABLE[dbo].[Card](
[Num][nvarchar](50)NOTNULL,
[Name]nvarchar]50\lLL,
[Class][nvarchar](5①NULL,
[StartTime][datetime]NULL,
[EndTime][datetime]NULL,
CONSTRAINT[PKCard]PRIMARYKEYCLUSTERED
(
[Num]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DLP_KEY=OFF,
ALLOW_ROW_LOCKS=ON,ALLOW_PAGEJXK:KS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
4)圖書借閱表
列名數據類型允許Ndl值
7
>!CardNumInvarchar(50)回
BookNumnvarchar(50)團
Timedatetime回
Statusnvarchar(50)國
□
/******Object:Tabic[dbo].[Lend]ScriptDate:04/26/201515:56:26
******/
SETANSI_NULLSON
GO
SETQUOTEDJDENTIFIERON
GO
CREATETABLE[dbo].[Lend](
[CardNum][nvarchar](50)NULL,
[BookNum][nvarchar](50)NULL,
[Time][datetime]NULL,
[Status][nvarchar](50)NULL
)ON[PRIMARY]
GO
5)圖書類型表
列名數據類型允許Null值
IDIint0
Namenvarchar(50)叵]
/******Object:Table[dbo].[Type]ScriptDate:04/26/201515:56:26
******/
SETANSI_NULLSON
GO
SETQUOTED_IDENTIFIERON
GO
CREATETABLE[dbo],[Type](
[ID][int]IDENTITY(1,1)NOTNULL,
[Name][nvarcharl507LL,
CONSTRAINT[PKType]PRIMARYKEYCLUSTERED
(
[ID]ASC
)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE-OFF,IGNORE_DL'P_KEY=OFF,
ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKS=ON)ON[PRIMARY]
)ON[PRIMARY]
GO
6.2系統界面設計
登陸界面
//驗證用戶
privatevoidokButton_Click(objectsender,System.EventArgse)
(
if(tB_Namc.Text=="")
(
MessageBox.Show("請輸入用戶名!","提云");
return;
)
if(cB_Type.SelectedIndex<0)
(
MessageBox.Show("請選擇登陸身份!","顯示");
return;
)
stringstrCommand;
strCommand="selectPasswordfromUserswhereName='"+tBName.Text+
SqlCommandcoimiand=newSq1Command(strCommand,DBHelper.Conn):
SqlDataReaderreader:
reader=comnand.ExecuteReader();
if(reader.Read())
(
stringpassword=reader["Password"].ToStringO;
//驗證用戶
if(password==tB_Password.Text)
{
//MainForm.m_strNamc=tB_Name.Text;
this.DialogResult=DialogResult.OK;
this.CloscO;
)
else
(
MessageBox.Show("用戶或口令信息不正確!","提示");
)
)
else
MessageBox.Show("用戶不存在!","提示""
reader.CloseO;
主界而
privatevoid圖T5管理ToolStripMenuItem_Click(objectsender,EventArgse)
(
Bookdig=newBook():
dig.MdiParent=this:
dig.Show();
}
privatevoid借書卡管理ToolStripMenuItemClick(objectsender,EventArgse)
Carddig=newCard();
dig.MdiParent=this;
dig.Show();
圖書管理
privatevoidBook_Load(objectsender,HvcntArgse)
(
stringsql=string.Format(礦select[Num]編號,Book.[Name]書名,[Author]作者
,Type.Name類別,[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出借狀態fromBookleft
joinTypeonBook.Type=Type.TD^);
dataGridViewl.DataSource=DBHelper.GetDataSet(sql);
)
privatevoidbtnAdd_Click(objectsender,KvcntArgse)
(
BookAdddig=newBookAdd(;
dig.ShowDialogO;
stringsql=string.Formal(@*selecl[Num]編號,Book.[Name]書名,[Author]作者
,Type.Name類別,[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出借狀態fromBookleft
joinTypeonBook.Type=Type.ID");
dataGridViewl.DataSource=DBHelper.GetDataSet(sql);
)
借書卡管理
privatevoidCard_Load(objectsender,LvcntArgsc)
dataGridViowl.DataSource=DBUelper.GetDataSet(?^select[Num.編號
,[Name]姓名,[Class]班級,[StartTime]起先時間,[EndTime]結束時間FROM[Card]*);
)
privatevoidbuttc?il_Click(objectsender,EventArgse)
(
CardAdddig=newCardAdcl(w/,):
dig.ShowDialogO;
dataGridViowl.DataSource=DEiHclper.GetDataSet(^"select[Num'編號
,[Name]姓名,[Class]班級,[StartTime]起先時間,[EndTime]結束時間FROM[Card]");
借書界面
□,借書笞理?o?回
r借閱
privatevoidLend_Load(objectsender,HventArgsc)
(
CardNum.DataSource=DBIIelper.GetDataSet(^select*fromCard");
CardNum.DisplayMember="Num";
CardNum.ValueMember="Name";
CardName.Text=
BookNum.DataSource=DBUelper.GetDataSet(*select*fromBook");
BookNum.DisplayMember="Num";
BookNum.ValueMember="Name";
BookNamc.Text="?;
)
privatevoidbutt(.)nl_Click(objectsender,Event.Argse)
(
stringsql=string.Format("insertintolendvaluesC{0}','{1}','{2}','在借'
CardNum.Text,BookNum.Text,DatcTimc.Now);
DBHelper.GetCanmand(sql);
sql=string.Format(""updateBooksetSlatus='已借出‘whereNum='1.0}'”,
BookNum.Text);
DBIle1per.GetC(.xiimand(sql);
MessageBox.Show("借閱勝利!“);
this.CloseO;
)
還書界面
日圖書歸還w31
privatevoidBack_Load(objectsender,LventArgsc)
(
CardNum.DataSource=DBIIelper.GetDataSet(^select*fromCard");
CardNum.DisplayMember="Num";
CardNum.ValueMember="Name";
CardName.Text=
)
privatevoidbuttonl_Click(objectsender,EventArgse)
(
stringsql=string.Format("updateLendsetSlatus='歸還'whereEtookNum-'{0}'and
CardNum=,{1}1*,
BookNum.Text,CardNum.Text);
DBHelper.GetCommand(sql);
sql=string.Format(""updateBooksetStatus='未借出'whereNum='
BookNum.Text);
DBHelper.GetCommand(sql);
McssagcBox.Show("歸還勝利!");
this.Close();
圖書查詢界面
privatevoidbuttonl_Click(objectsender,EvcntArgse)
stringsql=string.Format^*select[Num]編號,[Name]書名,[Author]作者
,[Type]類別,[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出借狀態fromBook
whereNumlike'orNamelike'orAuthorlike,orISBNlike'orCBS
like'*,textBoxl.Text);
dataGridViewl.DataSource=DBHelper.GetDataSet(sql);
}
超期未還圖書界面
privatevoidBackTimcout_Load(objectsender,EventArgsc)
stringsql=string.Format^*selectC.Num借書卡號,C.Name姓名,
C.Class班級,B.Num書號,B.Name書名,LTime借閱時間fromLendLleftjoinBookBon
L.BookNum=B.Num
leftjoinCardConL.CardNum=C.NumwhereL.Status='在借'andL.Time<*{0}
DateTime.Now.AddMonths(-l));
dataGridV'iewl.DataSource=DBHclper.GetDa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 護理導管安全管理體系
- 醫護人員職業素質課件
- 企業內部買車位協議書
- 集體土地聯營協議書
- 餐廳責任經營協議書
- 車間物品保管協議書
- 門樓制作合同協議書
- 高空吊機轉讓協議書
- 鄰居違約建房協議書
- 貸款簽訂產權協議書
- 多彩的非洲文化 - 人教版課件
- 2025年年中考物理綜合復習(壓軸特訓100題55大考點)(原卷版+解析)
- -《經濟法學》1234形考任務答案-國開2024年秋
- TCGIA0012017石墨烯材料的術語定義及代號
- 2025年江蘇省南通市海門市海門中學高三最后一卷生物試卷含解析
- 鋼結構與焊接作業指導書
- 吉林省長春市2025屆高三下學期4月三模試題 英語 含解析
- 醫院退休返聘協議書10篇
- 第五單元:含長方形和正方形的不規則或組合圖形的面積專項練習-2023-2024學年三年級數學下冊典型例題系列(解析版)人教版
- 殘疾人健康管理
- 崗位就業協議書范本
評論
0/150
提交評論