《軟件工程》圖書管理系統課程設計_第1頁
《軟件工程》圖書管理系統課程設計_第2頁
《軟件工程》圖書管理系統課程設計_第3頁
《軟件工程》圖書管理系統課程設計_第4頁
《軟件工程》圖書管理系統課程設計_第5頁
已閱讀5頁,還剩18頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1

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

可行性研究告在軟件的開發過程中這一步是十分必要的如果在定義階段及早發現將來可能在開發過程中的問題及早做出決斷可以防止大量的人力財力和時間上的浪費。1.

技術可行性:本組開發成員都具有一定的電腦知識,學習過多種程序開發語言。特別是在工程確定后C#和SQLServer數據庫的強化學習,使本系統成功開發成為可能。2.

經濟可行性:本系統有其生存空間,成功后有其市場。并且本小組開發人員基于一種愛好去研究他的,我們有自己的電腦,可以說本錢開支極其有限。3.

現階段各種各樣的圖書館越來越多,圖書館的書也越來越多,圖書的管理工作也越來越復雜。本系統就是為了減輕圖書管理人員的工作而設計的。4.

法律可行性:本系統為我五人開發小組獨立完成,不關他人,開發成功后其所有權歸我們五人所有,用戶購置后其使用權一同買斷,我們將頁腳下載后可刪除,如有侵權請告知刪除!

提供技術支持。5.

基于水平和時間有限,我們的系統還不是十分完善。可擴展的地方很多,現列舉如:建立圖書預約機制建立過期催還機制

建立讀者反應機制建立條碼掃描機制等。3

以現有的人力和時間來衡量,我們只有放棄。經過以上可行性論證,本系統可以按任務書要求開發。工程開發方書開發階段制定開發方案需求分析概要設計詳細設計系統實現系統測試編寫課程設計報告

時間進度兩天一周一周兩周三周一周兩周4

系統需求規說明書該過程是個不斷認識不斷細化的過程里所要完成的工作是深入描述軟件的功能和性能確定軟件的設計限制和軟件同其他系統元素的接口細節從而奠定軟件的開發根底。1.性能需求:該系統中,各個模塊只有管理人員才能對其進展操作,系統管理人員要進展身分驗證才能進入界面操作。2.功能需求:我們設計的系統要完成的功能模塊如下:登陸模塊

管理員管理模塊

借閱卡管理模塊

書籍管理模塊查詢管理模塊。3.環境需求:電腦需要安裝.net架,安裝SQL2021據庫,硬件要求酷睿i3雙核以上處理器,100G硬盤空間,以上內存,系統應有WindowsXP,Windows7,或Windows8操作系統。頁腳下載后可刪除,如有侵權請告知刪除!

4.界面需求:本軟件是面向群眾,界面友好,操作簡單靈活,根據界面上的提示便可完成一系列動作。5

概要設計說書系統計程(一)(二)

建庫;建立數據庫;設計相應的操作界面;功能塊造設一、軟件設計過程對程序構造數據構造過程細節和接口細節逐步細化評審和編寫文檔的過程。從技術角度上,軟件設計分成體系構造設計、數據設計、過程設計、接口設計4個方面的工作從管理角度上講軟件設計分為概要設計和詳細設計兩個階段。二、軟件設計目標設計必須實現分析模型中描述的所有顯示需求須滿足用戶希望的所有隱式需求設計必須是可讀可理解的使得將來易于編程易于測試易于維護;設計應從實現角度出發,給出數據、功能、行為相關的軟件全貌。三、根本原理和相關概念⑴抽象化:常用的抽象化手段有過程抽象、數據抽象和控制抽象●過程抽象:任何一個完成明確動能的操作都可被使用者當做單位的實體對待,盡管這個操作時機上可能由一系列更低級的操作來完成。●數據抽象:與過程抽象一樣,允許設計人員在不同層次上描述數據對象的細節。●與過程抽象和數據抽象一樣,控制抽象可以包含一個程序控制機制而無須規定其內部細節。⑵自頂向下逐步細化將軟件的體系構造按自頂向下方式對各個層次的過程細節和數據細節逐層細化知道用程序設計語言的語句能夠實現為止從而最后確立整個的體系構造。頁腳下載后可刪除,如有侵權請告知刪除!

⑶模塊化:將一個待開發的軟件分解成假設干個小的簡單的局部——模塊,每個模塊可獨立地開發試組裝成完整的程序是一種復雜問題的“分而治之〞的原那么。模塊化的目的是使程序構造清晰,容易閱讀,容易理解,容易測試,容易修改。⑷控制層次:說明了程序構件〔模塊〕的組織情況。控制層次往往用程序的層次構造〔樹形或網型〕來表示。●深度:程序構造的層次數,可以反映程序機構的規模和復雜程度。●寬度:同一層模塊的最大模塊個數●模塊的扇出:一個模塊調用〔或控制〕的其他模塊數●模塊的扇入:調用〔或控制〕一個給定模塊的模塊個數⑸信息屏蔽將每個程序的成分隱蔽或封裝在一個單一的設計模塊中定義每一個模塊時盡可能少的顯露其內部的處理可以提高軟件的可修改性可測試性和可移植性。⑹模塊獨立每個模塊完成一個相對特定獨立的子功能并且與其他模塊之間的聯系簡單衡量度量標準有兩個模塊間的耦合和模塊的內聚模塊獨立性強必須做到高內聚低耦合。●耦合:模塊之間聯系的嚴密程度,耦合度越高模塊的獨立性越差。耦合度從低到高的次序為非直接耦合數據耦合標記耦合控制耦合外部耦合、公共耦合、內容耦合。●內聚是指內部各元素之間聯系的嚴密程度,內聚度越低模塊的獨立性越差。內聚度從低到高依次是:偶然內聚、邏輯內聚、瞬時內聚、過程內聚、通信內聚、順序內聚、功能內聚。構造化設計方法采用類似于構造化分析的“由大到小〞“自頂向下逐層分解〞的根本思想描述〔分解〕系統。構造化設計方法,首先以數據流圖為根底導出系統模塊〔功能〕構造圖。在導出系統模塊〔功能〕構造圖的過程中,以獨立性、低耦合性、高內聚性、公共模塊作為模塊劃分的原那么。先將系統數據流圖中的加工轉換成模塊再將各大模塊繼續劃分為較小的模塊直到每一模塊都是功能單一的模塊。根據系統功能分析和圖書館管理的特點過模塊化的分析得到如下圖的圖頁腳下載后可刪除,如有侵權請告知刪除!

書館管理系統功能模塊構造圖。圖書管理系統管理員管理

借書卡管理

書籍管理

查詢管理

借閱管理管理員維護

增加管理員

增加借書卡

借書卡維護

新增書籍管理

書籍信息維護

書籍信息查詢

超期圖書查詢

借書管理

還書管理E-R管理員圖編號

用戶名

密碼學生圖編號圖書圖

管理員借閱卡姓名

有效期始時間有效期束時間班級頁腳下載后可刪除,如有侵權請告知刪除!

編號

書名

作者借閱圖書名借書間歸還間系統整體E-R圖

圖書借書息

出版社出版日期標識編號學生號圖書號頁腳下載后可刪除,如有侵權請告知刪除!

N

N

N

N

1

NN1

1

1

6

詳細設計說書6.1數據庫計根據設計好的各實體E-R圖創立數據庫的邏輯構造,本系統采用了送了SQLServer2021據庫,數據庫名稱為.數據庫包含以下6個表:圖書信息book、圖書管理員admin、圖書類別type、借書卡信息表card、圖書借閱表lend。表的具體構造如下:1〕管理員表:用于保存管理員信息,構造如下頁腳下載后可刪除,如有侵權請告知刪除!

/******Object:Table[dbo].[Users]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Users]([Name][nvarchar]50)NULL,[Password][nvarchar]50)NULL,[Type][int]NULL)ON[PRIMARY]GO2〕圖書信息表/******Object:Table[dbo].[Book]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Book]([Num][nvarchar]50NOTNULL,[Name][nvarchar]50)NULL,[Author][nvarchar](50NULL,[Type][int]NULL,[ISBN][nvarchar]50)NULL,[CBS][nvarchar]50NULL,[CBRQ][datetime]NULL,[Status][nvarchar](50NULL,CONSTRAINT[PK_Book]KEYCLUSTERED([Num]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]頁腳下載后可刪除,如有侵權請告知刪除!

GO3〕借書卡信息表/******Object:Table[dbo].[Card]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Card]([Num][nvarchar]50NOTNULL,[Name][nvarchar]50)NULL,[Class][nvarchar](50)NULL,[StartTime][datetime]NULL,[EndTime][datetime]NULL,CONSTRAINT[PK_Card]KEYCLUSTERED([Num]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]GO4〕圖書借閱表/******Object:Table[dbo].[Lend]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Lend](頁腳下載后可刪除,如有侵權請告知刪除!

[CardNum][nvarchar](50)NULL,[BookNum][nvarchar](50)NULL,[Time][datetime]NULL,[Status][nvarchar](50NULL)ON[PRIMARY]GO5〕圖書類型表/******Object:Table[dbo].[Type]ScriptDate:04/26/202115:56:26******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[Type]([ID][int]IDENTITY11)NOTNULL,[Name][nvarchar]50)NULL,CONSTRAINT[PK_Type]KEYCLUSTERED([ID]ASC)WITH(PAD_INDEX=OFF,STATISTICS_NORECOMPUTE=OFF,IGNORE_DUP_KEY=,ALLOW_ROW_LOCKS=ON,ALLOW_PAGE_LOCKSONON[PRIMARY])ON[PRIMARY]GO6.2系統界設計登陸界面頁腳下載后可刪除,如有侵權請告知刪除!

//驗證用戶privatevoidokButton_Click(objectsender,System.EventArgse){if(tB_Name.Text==""){MessageBox.Show("請輸入用戶名!,"提示);return;}if(cB_Type.SelectedIndex<0){MessageBox.Show("請選擇登陸身份!"示);return;}stringstrCommand;strCommand="selectPasswordfromUserswhereName='"+tB_Name.Text+"'";SqlCommandcommand=newSqlCommand(strCommand,DBHelper.Conn);SqlDataReaderreader;reader=command.ExecuteReader();if(reader.Read()){stringpassword=reader["Password"http://驗證用戶if(password==tB_Password.Text){//MainForm.m_strName=tB_Name.Text;this=DialogResult.OK;this}else{MessageBox"戶或口令信息不正確!,"提);}}elseMessageBox.Show("用戶不存在!,"提示);reader.Close();}主界面頁腳下載后可刪除,如有侵權請告知刪除!

privatevoid圖書管理oolStripMenuItem_Click(objectsender,EventArgse){Bookdlg=newBook();dlg.MdiParent=this;dlg.Show();}privatevoid借書卡管理oolStripMenuItem_Click(objectsender,EventArgse){Carddlg=newCard();dlg.MdiParent=this;dlg.Show();}圖書管理頁腳下載后可刪除,如有侵權請告知刪除!

privatevoidBook_Load(sender,EventArgse){stringsql=string@"select[Num]編號Book.[Name]書名[Author]作者,Type.Name類別[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出狀態fromBookleftjoinTypeonBook.Type=Type.ID");dataGridView1.DataSource=DBHelper.GetDataSet(sql);}privatevoidbtnAdd_Click(sender,EventArgse){BookAdddlg=newBookAdd("");dlg.ShowDialog();stringsql=string@"select[Num]編號Book.[Name]書名[Author]作者,Type.Name類別[ISBN],[CBS]出版社,[CBRQ]出版日期,[Status]出狀態fromBookleftjoinTypeonBook.Type=Type.ID");dataGridView1.DataSource=DBHelper.GetDataSet(sql);}借書卡管理頁腳下載后可刪除,如有侵權請告知刪除!

privatevoidCard_Load(sender,EventArgse){dataGridView1.DataSource=DBHelper.GetDataSet(@"select[Num]編號,[Name]姓名,[Class]班級,[StartTime]開場時間[EndTime]完畢時間[Card]");}privatevoidbutton1_Click(sender,EventArgse){CardAdddlg=newCardAdd("");dlg.ShowDialog();dataGridView1.DataSource=DBHelper.GetDataSet(@"select[Num]編號,[Name]姓名,[Class]班級,[StartTime]開場時間[EndTime]完畢時間[Card]");}借書界面頁腳下載后可刪除,如有侵權請告知刪除!

privatevoidLend_Load(sender,EventArgse){CardNum.DataSource=DBHelper.GetDataSet("select*fromCard");CardNum.DisplayMember="Num"CardNum.ValueMember="Name";CardName.Text="";BookNum.DataSource=DBHelper.GetDataSet("select*fromBook");BookNum.DisplayMember="Num"BookNum.ValueMember="Name";BookName.Text="";}privatevoidbutton1_Click(sender,EventArgse){string=.Format("insertintolendvalues('{0}','{1}','{2}',')"CardNum.Text,BookNum.Text,DateTime.Now);DBHelper.GetCommand(sql);sql=stringBooksetStatus='已借出whereNum='{0}'",BookNum.Text);DBHelper.GetCommand(sql);MessageBox"閱成功!");this.Close();}還書界面頁腳下載后可刪除,如有侵權請告知刪除!

privatevoidBack_Load(sender,EventArgse){CardNum.DataSource=DBHelper.GetDataSet("select*fromCard");CardNum.DisplayMember="Num"CardNum.ValueMember="Name";CardName.Text="";}privatevoidbutton1_Click(sender,EventArgse){stringsql=string.Format("updateLendsetStatus='還'whereBookNum='{0}'andCardNum='{1}'"BookNum.Text,CardNum.Text);DBHelper.GetCommand(sql);sql=stringBooksetStatus='未借出whereNum='{0}'",BookNum.Text);DBHelper.GetCommand(sql);MessageBox"還成功!");this.Close();}圖書查詢界面頁腳下載后可刪除,如有侵權請告知刪除!

privatevoidbutton1_Click(sender,EventArgse){stringsql=string@"select[Num]編號[Name]書名,[Author]作者,[Type]類別,[ISBN],[CBS]出版社[CBRQ]出版日期[Status]出借狀態fromBookwhereNumlike'%{0}%'orNamelike'%{0}%'orAuthorlike'%{0}%'orISBNlike'%{0}%'orCBSlike'%{0}%'"textBox1.Text);dataGridView1.DataSource=DBHelper.GetDataSet(sql);}超期未還圖書界面privatevoidBackTimeout_Load(sender,EventArgse){stringsql=string@"selectC.Num借書卡,C.Name姓,C.Class班級,B.Num書號B.Name書名,L.Time借閱時間LendLleftjoinBookBon頁腳下載后可刪除,如有侵權請告知刪除!

L.BookNum=B.NumleftjoinCardConL.CardNum=C.NumwhereL.Status='借andL.Time<'{0}'"DateTimedataGridView1.DataSource=DBHelper.GetDataSet(sql);}用戶管理界面//初始化privatevoidForm_ManagUser_Load(sender,System.EventArgse){stringstrSql="selectName,PasswordfromUsers";m_dsUser=newDataSetm_adapterUser=newSqlDataAdapter(strSql,DBHelper.Conn);m_adapterUser.Fill(m_dsUser,"users");dG_User.DataSource=m_dsUser;dG_User.DataMember="users"}//添加用戶privatevoidbutton_Add_Click(objectsender,System.EventArgse){string=.Format(INTOPassword,Type)VALUES('{0}','{1}',{2})"tB_Name.Text,tB_Password.Text,cB_Type.SelectedIndex);S

溫馨提示

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

評論

0/150

提交評論