課程設計書店零售管理系統(tǒng)_第1頁
課程設計書店零售管理系統(tǒng)_第2頁
課程設計書店零售管理系統(tǒng)_第3頁
課程設計書店零售管理系統(tǒng)_第4頁
課程設計書店零售管理系統(tǒng)_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設計報告課程名稱:c#.net 程序設計實用教程設計題目:書店零售管理系統(tǒng)學生班級:09計科3班學生姓名: 指導教師: 完成日期:2011-1-5數(shù)學與計算機科學系 課程設計項目研究報告目錄第 一 章 項目簡介01.1 項目名稱0書店零售管理系統(tǒng)01.2 開發(fā)人員01.3 指導教師0第二章 需求分析11.1 課題背景11.2需要完成的功能11.3 運行環(huán)境1第三章 概要設計21.1 系統(tǒng)功能分析21.2 系統(tǒng)功能模塊設計3第 四章 詳細設計41.1概念模型設計41.2 數(shù)據(jù)庫邏輯模型設計41.3物理數(shù)據(jù)庫設計61.4功能模塊關鍵代碼7第 五章 結(jié)論15第 六章參考文獻16第 一 章 項目

2、簡介1.1 項目名稱書店零售管理系統(tǒng)1.2 開發(fā)人員09計科3班 孫紅文1.3 指導教師肖鐘捷第二章 需求分析1.1課題背景書店零售管理系統(tǒng)開發(fā):售書從古至今都是有的,但傳統(tǒng)的售書既費時又費錢,讀者去書店瀏覽圖書,借閱購買自己喜愛的書籍,但如何能更方便、有效、快捷地實現(xiàn)店主、營業(yè)員、讀者各自的功能,及相互之間的聯(lián)系呢?針對這一問題,我們開發(fā)了書店零售管理系統(tǒng),該系統(tǒng)主要有四大模塊:書店收銀模塊,圖書信息管理模塊,會員信息管理模塊和圖書零售信息(統(tǒng)計查詢)管理模塊,各模塊提供了數(shù)據(jù)的查詢、插入、刪除等功能,從而滿足了用戶的需求。1.2 需完成的功能l 會員管理:包括會員號、姓名、性別、出生日期、

3、學歷、通訊地址、email地址、積分、級別;在該模塊中設置了新增會員,并且對會員信息有查詢、修改的功能。l 圖書管理:有關圖書信息的輸入,包括圖書編號、isbn、圖書名稱、作者、出版社、出版日期、價格、頁數(shù)、條碼、是否有cd、庫存量;在該模塊中可以分別按圖書編號、圖書名稱、作者實現(xiàn)數(shù)據(jù)的查詢、錄入功能,同時可以通過條形碼進行定位。l 書店收銀:包括會員號、圖書條碼、數(shù)量;在該模塊中可以根據(jù)會員圖書條形碼和數(shù)量生成購買記錄,并依據(jù)會員等級進行打折,同時可以生成打印小票。l 統(tǒng)計查詢:包括圖書銷售信息統(tǒng)計、出版社圖書銷量信息統(tǒng)計、會員消費信息統(tǒng)計;在該模塊中可以通過全部、當年、當月或指定時間段進行

4、查詢查詢。1.3 運行環(huán)境(1)操作系統(tǒng): microsoft w7/windows xp (2)數(shù) 據(jù) 庫: sql server2008數(shù)據(jù)庫(3)編程環(huán)境:visual studio 2010第三章 概要設計1.1系統(tǒng)功能分析圖書銷售管理系統(tǒng)分為四大模塊:一會員管理:會員信息包括會員號、姓名、性別、出生日期、學歷、通訊地址、email地址、積分、級別。在該系統(tǒng)中,可以實現(xiàn)會員的添加、查詢和修改。二圖書信息管理:圖書的基本信息是對圖書自身的介紹,所以圖書信息應包括圖書編號、圖書名稱、作者、出版社、價格、出版日期等基本信息。該模塊中可以對圖書信息進行查詢、錄入操作。三書店收銀:書店收銀是為了

5、圖書售出時生成記錄打印小票。輸入會員號和圖書條碼、數(shù)量,系統(tǒng)可以根據(jù)會員圖書條形碼和數(shù)量生成購買記錄,并依據(jù)會員等級進行打折,顯示應付金額,同時可以生成打印小票。四 零售信息統(tǒng)計:圖書銷售信息是對所售圖書情況的描述,所以圖書銷售信息包括圖書編號、類別編號、價格和出售日期。并且可以通過圖書銷售表可以直觀地了解售了哪些書,什么樣的書,從而記錄所賣圖書的信息。通過該模塊管理可以實現(xiàn)對圖書銷售情況的錄入、查詢、操作。2.2 系統(tǒng)功能模塊通過系統(tǒng)功能層次圖可以直觀地理解系統(tǒng)的功能,并且有助于實現(xiàn)模塊與模塊以及各模塊內(nèi)的密切聯(lián)系。系統(tǒng)功能層次圖如下:登陸界面圖書零售管理系統(tǒng)統(tǒng)計查詢圖書管理書店收銀會員管理

6、添加 會員購書信息錄入重置購買信息打印購買信息查詢圖書信息修改圖書信息顯示圖書信息圖書銷售信息出版社銷售信息會員信息修改會員信息查詢會員購買信息圖1 系統(tǒng)功能層次圖第四章 詳細設計1.1 概念模型設計概念數(shù)據(jù)模型是一種面向問題的數(shù)據(jù)模型,是按照用戶的觀點對數(shù)據(jù)建立的模型,所以使用e-r圖來建立數(shù)據(jù)模型,直觀地反映了各實體的屬性及實體間相互聯(lián)系。所以開發(fā)者必須收集一些基本數(shù)據(jù)、數(shù)據(jù)結(jié)構以及數(shù)據(jù)處理的流程,組成一份詳盡的數(shù)據(jù)字典。根據(jù)這些基本信息設計出功能齊全、使用方便的系統(tǒng)。系統(tǒng)所處理的數(shù)據(jù)表關系圖如下:圖2 系統(tǒng)數(shù)據(jù)表關系圖1.2數(shù)據(jù)庫邏輯設計 邏輯結(jié)構設計階段的主要任務是把概念結(jié)構設計好的數(shù)

7、據(jù)表關系圖轉(zhuǎn)換為與dbms產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯,即將實體型、實體的屬性和實體型之間的聯(lián)系轉(zhuǎn)換為關系模式,為此建立了四個數(shù)據(jù)表和一個視圖:(1)圖書信息表:包括的數(shù)據(jù)項有:圖書編號、isbn、圖書名稱、作者、出版社、價格、出版日期、頁數(shù)、條形碼;其中圖書編號是主屬性(2)購書信息表:包括的數(shù)據(jù)項有:id編號、sell id、書號、數(shù)量、價格;其中id編號是主屬性。(3)顧客信息表:會員號、姓名、性別、出生日期、學歷、通訊地址、email地址、積分、級別;其中會員號是主屬性。(4)零售信息表:包括的數(shù)據(jù)項有:圖書編號、會員號、價格和出售日期;其中圖書編號和會員號是主屬性。表1 圖書信息

8、表表2 顧客信息表表3 圖書銷售信息表1表4 圖書銷售記錄表21.3物理數(shù)據(jù)庫設計數(shù)據(jù)庫的物理設計主要是根據(jù)上述關系模式選擇索引存取,在經(jīng)常出現(xiàn)在查詢條件的屬性上建立索引,并從時間效率、空間效率、維護代價等方面考慮數(shù)據(jù)的存儲結(jié)構,使設計出的程序可讀性強,通用性廣,簡易性高。1.4功能模塊關鍵代碼1.1會員管理板塊查詢按鈕代碼 private void btnquery_click(object sender, eventargs e) if (cmbcustomerid.text = ) return; cmd.commandtext = select * from customer wher

9、e id= + cmbcustomerid.text; sqldatareader reader1 = null; try reader1 = cmd.executereader(); if (reader1.read() tbname.text = reader1name.tostring(); nudlevels.value = (short)reader1levels; if (bool)reader1gender) rabman.checked = true; else rabwoman.checked = true; dtpbirthday.value = (datetime)rea

10、der1birthday; cmbdegree.text = reader1degree.tostring(); tbaddress.text = reader1address.tostring(); tbtelephone.text = reader1telephone.tostring(); tbemail.text = reader1email.tostring(); nudscore.value = (int)reader1score; else messagebox.show(沒?有d符?合?條?件t的?記?錄?, 提示?, messageboxbuttons.ok, message

11、boxicon.asterisk); catch (exception exp) messagebox.show(數(shù)y據(jù)y訪?問錯誤: + exp.message + exp.stacktrace, 錯誤, messageboxbuttons.ok, messageboxicon.error); finally if (reader1 != null & !reader1.isclosed) reader1.close(); 1.2保存修改代碼: private void btnsave_click(object sender, eventargs e) if (cmbcustomerid.t

12、ext = ) return; if (tbname.text = ) messagebox.show(姓?名?不?能為a空?, 提示?, messageboxbuttons.ok, messageboxicon.warning); tbname.focus(); return; if (messagebox.show(確認?保存?所進?行d的?修t改?嗎e?, 提示?, messageboxbuttons.yesno, messageboxicon.question) = dialogresult.no) return; stringbuilder sb1 = new stringbuild

13、er(update customer set name=); sb1.append(tbname.text); sb1.append(, levels=); sb1.append(nudlevels.value); sb1.append(, gender=); if(rabman.checked) sb1.append(1); else sb1.append(0); sb1.append(, birthday=); sb1.append(dtpbirthday.value.toshortdatestring(); sb1.append(, degree=); sb1.append(cmbdeg

14、ree.text); sb1.append(, address=); sb1.append(tbaddress.text); sb1.append(, telephone=); sb1.append(tbtelephone.text); sb1.append(, email=); sb1.append(tbemail.text); sb1.append(, score=); sb1.append(nudscore.value); sb1.append( where id=); sb1.append(cmbcustomerid.text); cmd.commandtext = sb1.tostr

15、ing(); try if(cmd.executenonquery() 0) messagebox.show(保存?成功|!, 提示?, messageboxbuttons.ok, messageboxicon.information); else messagebox.show(未修t改?任?何?記?錄?, 提示?, messageboxbuttons.ok, messageboxicon.asterisk); catch (exception exp) messagebox.show(數(shù)y據(jù)y訪?問錯誤: + exp.message); 1.3 圖書添加按鈕 private void bt

16、nadd_click(object sender, eventargs e) if (cmbbookbarcode.text = ) return; cmd.commandtext = string.format(select id, isbn, name, price from book where barcode=0, cmbbookbarcode.text); sqldatareader reader1 = null; try reader1 = cmd.executereader(); if (reader1.read() bookstoredataset.p_getselldetai

17、lrow row1 = bookstoredataset1.p_getselldetail.newp_getselldetailrow(); row1.bookid = (int)reader1id; row1.isbn = (string)reader1isbn; row1.name = (string)reader1name; row1.price = (decimal)reader1price; row1.number = (int)nudnumber.value; row1.discount = (double)nuddiscount.value; row1.sum = (decima

18、l)(double)row1.price * row1.number * row1.discount); bookstoredataset1.p_getselldetail.addp_getselldetailrow(row1); else messagebox.show(沒?有d符?合?條?件t的?記?錄?, 提示?, messageboxbuttons.ok, messageboxicon.asterisk); catch (exception exp) messagebox.show(數(shù)y據(jù)y訪?問錯誤: + exp.message, 錯誤, messageboxbuttons.ok,

19、messageboxicon.error); finally if (reader1 != null & !reader1.isclosed) reader1.close(); private void btnreset_click(object sender, eventargs e) bookstoredataset1.p_getselldetail.clear(); 1.4打印小票代碼: private void btnok_click(object sender, eventargs e) if (bookstoredataset1.p_getselldetail.count = 0)

20、 return; this.total = 0; for (int i = 0; i bookstoredataset1.p_getselldetail.count; i+) this.total += bookstoredataset1.p_getselldetaili.sum; string smsg = string.format(合?計?金e額?為a¥0元a。是?否?打印?小?票??, this.total); dialogresult dr1 = messagebox.show(smsg, 提示?, messageboxbuttons.yesnocancel, messageboxi

21、con.question); if (dr1 = dialogresult.cancel) return; try if(checkbox1.checked) this.savedata(int.parse(cmbcustomerid.text); else this.savedata(-1); if (dr1 = dialogresult.yes) this.printpreviewdialog1.showdialog(); catch (exception exp) messagebox.show(交?易失敗: + exp.message, 錯誤, messageboxbuttons.ok, messageboxicon.error); return; bookstoredataset1.clear(); 1.5程序測試運行結(jié)果該系統(tǒng)所選用的軟件編程環(huán)境是visual studio 2010,所以進入pb環(huán)境與sql server2008數(shù)據(jù)庫連接后,運行該

溫馨提示

  • 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

提交評論