C-S圖書銷售管理系統(tǒng)畢業(yè)設計與實現(xiàn)_第1頁
C-S圖書銷售管理系統(tǒng)畢業(yè)設計與實現(xiàn)_第2頁
C-S圖書銷售管理系統(tǒng)畢業(yè)設計與實現(xiàn)_第3頁
C-S圖書銷售管理系統(tǒng)畢業(yè)設計與實現(xiàn)_第4頁
C-S圖書銷售管理系統(tǒng)畢業(yè)設計與實現(xiàn)_第5頁
已閱讀5頁,還剩61頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、北京郵電大學畢業(yè)設計 北京郵電大學畢業(yè)設計(論文)任務書畢業(yè)設計(論文)題目:C-S圖書銷售管理系統(tǒng)畢業(yè)設計(論文)要求及原始數(shù)據(jù)(資料):1綜述編寫目的程序的緣由及其所帶來的方便性;2實地了解大中型書店在日常營業(yè)中對圖書的銷售、管理等方式;3精確分析系統(tǒng)流程,同時構建程序框架;4熟練掌握C/S程序的編寫技術,訓練利用Java編寫客戶端程序的能力;5. 熟練掌握GUI等技術,完成客戶端程序與數(shù)據(jù)庫之間信息的傳遞;6. 訓練數(shù)據(jù)封裝能力,減少程序中的冗余代碼;7深入了解測試程序所用的黑盒法以及白盒法;8訓練檢索文獻資料和利用文獻資料的能力;9訓練撰寫技術文檔與學位論文的能力。畢業(yè)設計(論文)主要

2、內(nèi)容:1綜述圖書銷售管理系統(tǒng)在大中型書店應用的前景;2了解編寫C/S程序需要的相關技術;3熟練運用編寫C/S程序的開發(fā)環(huán)境; 4精確掌握程序開發(fā)需求并設計系統(tǒng)流程圖;5. 深入分析系統(tǒng)流程,完成程序概要設計及劃分程序模塊;6熟練運用多種Java技術實現(xiàn)程序中的各個模塊并將其整合;7熟練掌握測試用例的編寫,完成測試,生成測試報告。學生應交出的設計文件(論文):1內(nèi)容完整、層次清晰、敘述流暢、排版規(guī)范的畢業(yè)設計論文;2包括畢業(yè)設計論文、源程序等內(nèi)容在內(nèi)的畢業(yè)設計電子文檔及其它相關材料。主要參考文獻(資料):1 葛欣,孟凡榮. 使用cU/GUI開發(fā)圖形用戶界面J. 計算機工程與設計, 20052 陳

3、一明. SQL Server數(shù)據(jù)庫應用技巧探討J.科學技術與工程, 20083 張軍峰.如何使軟件測試更有效J.電腦知識與技術, 20054 王世峰. MVC設計模式的研究與應用D.中國海洋大學,20065 趙淑菊. Java GUI事件處理機制之探究J. 濟南職業(yè)學院學報, 2010 6 呂校春,李玲莉基于Swing的Java GUI組件開發(fā)J機械工程師,2008.7 潘紅改,李國貞.Java GUI布局管理方法探討J. 漯河職業(yè)學院學報, 2010.8 Crosby, Philip B. Quality is Free. New York: New American Library, Me

4、ntor Books, 1979.9 Chelf, Ben and Raoul Jetley. “Diagnosing Medical Device Software Defects Using Static Analysis.” Coverity Technical Report. San Francisco: 2008.10 W.Clay,Richardson,Donald,“Avondolio.The Java high class weaves a distance:JDK 5”, Scientific & Technology Book Review,No.3,2006.11 And

5、rea Adamoli,Dmtrijs Zaparanuks,Milan Jovic,Matthias Hauswirth.AutomatedGUI performace testing. Software Quality Journal,2011專業(yè)班級軟件1007班學生于健要求設計(論文)工作起止日期2014年3月17日2014年6月27日指導教師簽字日期2014年3月17日教研室主任審查簽字日期系主任批準簽字日期C-S圖書銷售管理系統(tǒng)摘要隨著時代的進步,科技的發(fā)展,計算機不但逐漸步入尋常百姓家庭,成為人們?nèi)粘I钪胁豢苫蛉钡囊徊糠郑以诠I(yè)、農(nóng)業(yè)、商業(yè)等多領域起著巨大作用。計算機的廣泛

6、應用對提高經(jīng)濟效益、生活效率、實現(xiàn)管理現(xiàn)代化、科學化、智能化等方面起到了舉足輕重的作用,并且取得了顯著效果?;贑/S的圖書銷售管理系統(tǒng)是專為圖書銷售單位而設計,它取代了過去會計、出納的“賬本式”記錄與管理,在給工作人員帶來方便快捷的同時也大大提高了他們的工作效率,加快了管理步伐,避免了賬目混亂,任務繁重等問題,符合現(xiàn)代辦公的需求。本系統(tǒng)主要使用Java中的GUI(圖形用戶界面)和AWT編程,開發(fā)環(huán)境為Eclipse,數(shù)據(jù)庫采用MySQL5.0。整體框架采用三層架構模式,即顯示層、業(yè)務層、數(shù)據(jù)層,大大降低了程序的耦合性。系統(tǒng)的主要功能包括:銷售管理、庫存管理、書本管理、種類管理、出版社管理五大

7、功能模塊,方便快捷地幫助書店管理人員實現(xiàn)了對圖書進、存、銷三方面的管理。關鍵詞:圖書;銷售管理系統(tǒng);C/S結構Book sales & management system based on C/SAbstractWith the rapid development of science and technology,the computer not only gradually into the ordinary people family, become an indispensable part of Peoples Daily life, and in many fields such

8、as industry, agriculture, business plays a big role. Computer is widely used to improve the economic benefit, the life of efficiency, realize modernization management, scientific, intelligent, etc has played a pivotal role, and achieved significant effect.Book sales & management system based on C/S

9、is specially designed for book sales unit, it has replaced the past record of accountant and cashier books and the management, the staff to bring convenient at the same time also greatly improve their work efficiency, quicken the steps of the management, to avoid the chaos accounts, the problem such

10、 as onerous, meeting the needs of the modern office.This system is mainly used in Java GUI (graphical user interface) and AWT programming, development environment for Eclipse, using MySQL5.0 database. Overall framework USES the three-tier architecture model, namely the display layer, business layer,

11、 data layer, greatly reduces the coupling of the program. Systems main features include: sales management, inventory management, books management, category management, press five big function module, convenient and quick to help bookstore managers realize the books into management, save and pin.Keyw

12、ords: Book;Sales & Management;C / S structure59目 錄摘要iAbstractii1 緒論11.1 課題背景11.2 目的和意義11.3 開發(fā)工具及技術1開發(fā)工具1開發(fā)語言2開發(fā)結構及模式31.4 軟硬件需求3硬件需求3軟件需求32 需求分析42.1 可行性分析4技術可行性4經(jīng)濟可行性4操作可行性4法律可行性42.2 系統(tǒng)流程圖42.3 系統(tǒng)用戶用例圖52.4 功能模塊需求分析52.5 設計的基本思路62.6 性能需求6系統(tǒng)的易操作性6數(shù)據(jù)的正確性和完整性72.6.3 數(shù)據(jù)的安全性72.7 界面需求73 系統(tǒng)分析與設計83.1 數(shù)據(jù)庫的分析與設計8數(shù)

13、據(jù)庫的需求分析8數(shù)據(jù)庫的概念結構設計8數(shù)據(jù)庫的邏輯結構設計113.2 連接數(shù)據(jù)庫的前期準備工作14編寫配置讀取類14編寫JDBC操作類16創(chuàng)建數(shù)據(jù)轉(zhuǎn)換工具類174 系統(tǒng)功能的實現(xiàn)194.1 創(chuàng)建數(shù)據(jù)庫對象194.2 管理員登陸頁面204.3 設計父類214.4 出版社管理模塊234.5 書本管理模塊284.6 銷售管理模塊355 系統(tǒng)測試435.1 系統(tǒng)測試目的與意義435.2 測試過程43登錄模塊測試43銷售管理模塊測試44庫存管理模塊測試44書本管理模塊測試44結 論46參考文獻47致 謝48英文文獻原文49中文譯文551 緒論1.1 課題背景改革開放以來,我國經(jīng)濟迅速發(fā)展,科技日益更新,

14、計算機以迅雷不及掩耳之勢覆蓋全球,大量實用軟件更是伴隨計算機語言產(chǎn)生而受到眾多領域的青睞。好的管理軟件能夠把大量的工作人員從繁重的手工工作中解脫出來,提高工作效率并減少錯誤的發(fā)生。調(diào)查發(fā)現(xiàn),目前我國中小型書店仍采用手工方式對圖書進行管理記錄,不僅工作量大、效率低,而且還容易出現(xiàn)數(shù)量不清、賬目混亂等問題,與現(xiàn)代辦公要求格格不入。中小型書店最繁重的工作就是圖書進、存、銷三方面的工作,因此只需要設計一款簡單而實用的軟件,幫助書店工作人員輕松實現(xiàn)這三方面的工作?;靵y的界面,繁瑣的操作不僅難以達到輕松管理的目的,還容易使工作人員情緒暴躁,影響書店效益。因此,我的目標是做一款界面清晰,操作方便的簡單管理軟

15、件。1.2 目的和意義圖書銷售管理系統(tǒng)開發(fā)的目的是為圖書銷售單位提供圖書信息管理和提高圖書銷售管理工作的效率。圖書銷售管理系統(tǒng)是一個圖書銷售單位不可缺少的部分,它的內(nèi)容對于圖書銷售單位的決策者和管理者來說都至關重要,所以圖書銷售管理系統(tǒng)應該能夠為用戶提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理數(shù)據(jù)信息,這種管理方式存在著許多缺點,如:效率低、工作量大,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護都帶來了不少的困難。作為計算機應用的一部分,使用計算機對圖書銷售信息進行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、壽命長、

16、成本低等。這些優(yōu)點能夠極大地提高圖書銷售管理工作的效率,也是企業(yè)的科學化、正規(guī)化管理,與世界接軌的重要條件。1.3 開發(fā)工具及技術本系統(tǒng)基于C/S結構設計,采用三層架構體系,編寫系統(tǒng)主要用到Java中的GUI(圖形用戶界面)和AWT編程,開發(fā)環(huán)境為Eclipse,數(shù)據(jù)庫采用MySQL5.0并以Navicat for MySQL作為輔助工具。下面分別對C/S模型、三層架構模式、GUI、AWT編程、Eclipse、MySQL 5.0數(shù)據(jù)庫和Navicat for MySQL進行簡要介紹。 開發(fā)工具(1) EclipseEclipse是著名的跨平臺的自由集成開發(fā)環(huán)境(IDE)。最初主要用來Java語

17、言開發(fā),通過安裝不同的插件Eclipse可以支持不同的計算機語言,比如C+和Python等開發(fā)工具。Eclipse的本身只是一個框架平臺,但是眾多插件的支持使得Eclipse擁有其他功能相對固定的IDE軟件很難具有的靈活性。許多軟件開發(fā)商以Eclipse為框架開發(fā)自己的IDE.Eclipse 最初由OTI和IBM兩家公司的IDE產(chǎn)品開發(fā)組創(chuàng)建,起始于1999年4月。IBM提供了最初的Eclipse代碼基礎,包括Platform、JDT 和PDE。Eclipse項目IBM發(fā)起,圍繞著Eclipse項目已經(jīng)發(fā)展成為了一個龐大的Eclipse聯(lián)盟,有150多家軟件公司參與到Eclipse項目中,其中

18、包括Borland、Rational Software、Red Hat及Sybase等。Eclipse是一個開放源碼項目,它其實是Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其開放源碼,任何人都可以免費得到,并可以在此基礎上開發(fā)各自的插件,因此越來越受人們關注。隨后還有包括Oracle在內(nèi)的許多大公司也紛紛加入了該項目,Eclipse的目標是成為可進行任何語言開發(fā)的IDE集成者,使用者只需下載各種語言的插件即可。(2) MySQL 5.0MySQL 5.0是一個關系型數(shù)據(jù)庫管理系統(tǒng),由瑞典MySQL AB公司開發(fā),目前屬于O

19、racle公司。Mysql是最流行的關系型數(shù)據(jù)庫管理系統(tǒng),在WEB應用方面MySQL是最好的RDBMS(Relational Database Management System:關系數(shù)據(jù)庫管理系統(tǒng))應用軟件之一。MySQL是一種關聯(lián)數(shù)據(jù)庫管理系統(tǒng),關聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個大倉庫內(nèi),這樣就增加了速度并提高了靈活性。MySQL所使用的SQL語言是用于訪問數(shù)據(jù)庫的最常用標準化語言。MySQL軟件采用了雙授權政策(本詞條“授權政策”),它分為社區(qū)版和商業(yè)版,由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網(wǎng)站的開發(fā)都選擇MySQL作為網(wǎng)站數(shù)據(jù)

20、庫。由于其社區(qū)版的性能卓越,搭配PHP和Apache可組成良好的開發(fā)環(huán)境。(3) Navicat for MySQLNavicat for MySQL是一款強大的 MySQL 數(shù)據(jù)庫管理和開發(fā)工具,它為專業(yè)開發(fā)者提供了一套強大的足夠尖端的工具,但對于新用戶仍然易于學習。Navicat for MySQL 基于Windows平臺,為 MySQL 量身訂作,提供類似于 MySQL 的用管理界面工具。此解決方案的出現(xiàn),將解放 PHP、J2EE 等程序員以及數(shù)據(jù)庫設計者、管理者的大腦,降低開發(fā)成本,為用戶帶來更高的開發(fā)效率。 開發(fā)語言主要使用Java語言中的GUI(圖形用戶界面)和AWT(抽象窗口工具

21、包)編程。(1) GUI圖形用戶界面(Graphical User Interface,簡稱 GUI,又稱圖形用戶接口),即人機交互圖形化用戶界面設計,是指采用圖形方式顯示的計算機操作用戶界面。與早期計算機使用的命令行界面相比,圖形界面對于用戶來說在視覺上更易于接受。(2) AWT抽象窗口工具包(Abstract Windowing Toolkit,縮寫為AWT)是Java的平臺獨立的窗口系統(tǒng)圖形和用戶界面器件工具包。AWT 是Java基礎類 (JFC)的一部分,為Java程序提供圖形用戶界面(GUI)的標準API。 AWT提供了JavaApplet和Java Application中可用的用

22、戶圖形界面GUI中的基本組件(components)。由于Java是一種獨立于平臺的程序設計語言,但GUI卻往往是依賴于特定平臺的,Java采用了相應的技術使得AWT能提供給應用程序獨立于機器平臺的接口,這保證了同一程序的GUI在不同機器上運行具有類似的外觀。 開發(fā)結構及模式(1) C/S結構C/S 結構,即大家熟知的客戶機和服務器結構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,We

23、b和Client/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。(2) 三層架構模式三層架構模式即顯示層、業(yè)務邏輯層、數(shù)據(jù)層。其工作模式:顯示層往往面向操作者,主要用來接受數(shù)據(jù)、傳遞數(shù)據(jù)和顯示數(shù)據(jù);業(yè)務邏輯層主要是用來處理顯示層接收到的數(shù)據(jù)和數(shù)據(jù)庫中的數(shù)據(jù);數(shù)據(jù)層主要用來對數(shù)據(jù)庫進行操作,其中包括常見的增、刪、改、查等操作。采用三層架構模式可以大大降低了程序的耦合性,符合現(xiàn)代軟件的標準。1.4 軟硬件需求1.4.1 硬件需求電腦:筆記

24、本電腦或臺式電腦CPU:Pentium以上內(nèi)存: 512M以上1.4.2 軟件需求操作系統(tǒng)版本:Windows XP /vista/Win7開發(fā)工具:Eclipse開發(fā)語言:Java2 需求分析2.1 可行性分析可行性研究主要內(nèi)容是要求以全面、系統(tǒng)的分析為主要方法,經(jīng)濟效益為核心,圍繞影響項目的各種因素,運用大量的數(shù)據(jù)資料論證擬建項目是否可行。對整個可行性研究提出綜合分析評價,指出優(yōu)缺點和建議以確定該項目是否可行。2.1.1 技術可行性本系統(tǒng)開發(fā)工具是Eclipse和MySQL數(shù)據(jù)庫,開發(fā)語言是Java,java是一種面向?qū)ο缶幊陶Z言,簡單易學而且靈活方便。數(shù)據(jù)庫的設計和操作是本系統(tǒng)設計的核心

25、,但在Navicat for MySQL的幫助下能夠輕松便捷的對數(shù)據(jù)庫進行操作。此外,大學期間學習過數(shù)據(jù)庫操作語言,軟件測試,UML統(tǒng)一建模語言等課程使系統(tǒng)分析、設計和測試不再成為難題。因此,完成系統(tǒng)實現(xiàn)在技術上完全具有可行性。2.1.2 經(jīng)濟可行性開發(fā)此項目用到的軟件都是開源的,為開發(fā)軟件節(jié)省了大量的金錢,達到了低成本的目的。另外,本系統(tǒng)對計算機配置的要求不高,幾乎每個家庭中可使用的電腦都能滿足。因此,開發(fā)該系統(tǒng)在經(jīng)濟上是完全可行的。2.1.3 操作可行性該系統(tǒng)是本著界面簡潔、操作方便的目的進行開發(fā),主要目的是幫助圖書銷售商對圖書進行進、存、銷三方面管理。因此該系統(tǒng)在操作上具有功能簡單,操作

26、簡潔的優(yōu)勢,完全可行。2.1.4 法律可行性由于在開發(fā)過程中所使用的軟件都是開源軟件,不存在侵權問題。此外,開發(fā)該系統(tǒng)的目的僅僅是作為一款管理軟件應用于圖書銷售單位,不存在與國家法律不符的目的綜上所述,該系統(tǒng)的開發(fā)在法律方面也是可行的。2.2 系統(tǒng)流程圖圖2.1 系統(tǒng)流程圖如圖2.1所示,由于系統(tǒng)是C/S模式,所以無需注冊等操作,只需要在編程時將用戶名和密碼設定,如客戶對用戶名和密碼有特殊要求,由編程人員將客戶要求的用戶名和密碼事先輸入程序當中,如本系統(tǒng)的用戶名和密碼都為yujian,該數(shù)據(jù)已經(jīng)在數(shù)據(jù)庫的T_USER表事先存好。如果客戶輸入錯誤,則要重新回到登錄頁面輸入正確的賬號密碼。如果輸入

27、正確,則可以進入用戶操作頁面進行相應的操作。在進一系列的操作之后然后點擊關閉按鈕,即可退出系統(tǒng)。2.3 系統(tǒng)用戶用例圖系統(tǒng)只涉及圖書的進、存、銷三方面的功能,其所對應的功能模塊分別是圖書管理模塊、庫存管理模塊、銷售管理模塊。此外,為方便用戶在這三方面的操作更加簡潔增加了出版社管理模塊,種類管理模塊,這樣做一方面能夠使用戶界面簡單易用,另一方面能夠使用戶在主要使用的三個重要界面有更多的選擇而不是去輸入,減少了錯誤發(fā)生的概率。管理員即能夠正確輸入用戶名和密碼的操作人員,且其享有全部權限。因此管理員用例圖十分清晰明了,如圖2.2。圖2.2 管理員用例圖圖2.2清晰明了的告訴我們用戶登錄是前提,只有用

28、戶經(jīng)過正確的身份驗證才可以操作本系統(tǒng)幾個最重要的操作頁面。2.4 功能模塊需求分析本系統(tǒng)本著界面簡潔大方,操作簡單的原則實現(xiàn)以下功能:1.系統(tǒng)界面清晰分明、簡單易用,管理人員能夠在短時間內(nèi)熟練操作。2.管理員享有銷售管理、庫存管理、圖書管理、出版社管理、種類管理五大權限。3.盡可能的讓用戶去選擇,而不是輸入,減少錯誤發(fā)生的概率。4.增加主要功能的快捷鍵,增加操作的簡易性。系統(tǒng)的功能結構圖,如圖2.3。圖2.3 系統(tǒng)功能模塊圖從圖2.3中可以看到,系統(tǒng)分為六個模塊,分別是管理人員登錄模塊,銷售管理模塊,入庫管理模塊,圖書管理模塊,種類管理模塊和出版社管理模塊,其中登錄模塊并不與其它模塊相平行,登

29、錄模塊只是決定操作人員是否有權限去操作其它五大模塊。2.5 設計的基本思路設計思路遵循以下幾點:1. 考慮到圖書銷售單位只是簡單的對圖書進行管理、記錄,因此軟件采用C/S結構,C/S結構的優(yōu)點是客戶端響應速度快,能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。2. 采用三層架構模式。一方面能夠使開發(fā)人員的邏輯思維清晰,提高軟件開發(fā)效率,另一方面降低了程序的耦合性,例如本程序如果要開發(fā)成為B/S結構只需要改動業(yè)務邏輯層即可。3. 模塊化設計。模塊化設計要求將整個系統(tǒng)劃分成基于小的模塊,有利于代碼的重載,簡化設計和實現(xiàn)過程。4. 效率第一。設計該系統(tǒng)的目的是讓大量工作人員

30、從繁瑣的工作中解脫出來,因此本系統(tǒng)必須達到提高工作效率的目的。5.界面清晰明了,操作簡單。方便用戶使用,讓用戶能夠在最短時間輕松方便的適應系統(tǒng)的操作。7系統(tǒng)設計不僅要功能完善還要突出重點。要符合設計需求,在有可能改進的地方進行擴充,使系統(tǒng)更適應用戶的需要。2.6 性能需求2.6.1 系統(tǒng)的易操作性為使工作人員能夠輕松操作該系統(tǒng),需做到以下要求:1.操作界面不涉及跳轉(zhuǎn),要操作的界面覆蓋已顯示的界面。2.主要功能界面盡可能的讓用戶去選擇,而不是輸入。3.部分系統(tǒng)設計加入自動計算功能,且不可更改。4.在操作發(fā)生錯誤時出現(xiàn)友好提示。2.6.2 數(shù)據(jù)的正確性和完整性1.數(shù)據(jù)庫設計過程中明確哪些數(shù)據(jù)可以為

31、空,哪些數(shù)據(jù)不能為空。2.關系表中的相關數(shù)據(jù)必須明確統(tǒng)一。3.具有自動判斷功能,如銷售數(shù)量大于庫存數(shù)量時應給出友好的錯誤提示。4.具有自動加、減、乘功能,保證單價、總量等數(shù)據(jù)的正確性。5.交易日期根據(jù)系統(tǒng)時間而顯示、記錄,且不可更改。2.6.3 數(shù)據(jù)的安全性只有被授權的管理人員,即知道賬戶和密碼的人才可進入系統(tǒng)。2.7 界面需求界面設計是整個設計很重要的一部分,好的界面不僅方便管理人員操作,還可以使操作人員有一個陽光的心情,提高工作人員工作效率,因此界面的設計必須滿足以下幾點要求:1.簡易性界面的簡潔是讓用戶便于了解,便于使用,并能減少用戶發(fā)生錯誤選擇的可能性。2.用戶語言界面中要使用能反應用

32、戶本身的語言,而不是程序員的語言。3.記憶負擔最小化人腦不是電腦,在設計界面時必須要考慮大腦處理信息的限度。人類的短期記憶極不穩(wěn)定,且有限,24小時內(nèi)存在25%的遺忘率。所以對用戶來說,瀏覽信息要比記憶更加重要。4.一致性一致性是每個優(yōu)秀界面都具備的特點。界面的結構必須清晰且一致,與客戶的需求一致。5.清楚視覺上便于理解與使用。6.用戶熟悉程度用戶可通過已掌握的知識來使用界面,但不應超出一般常識。7.人性化高效率和用戶滿意度是人性化的體現(xiàn)。想用戶所想,做用戶所做,用戶總是按照他們自己的方法理解和使用。8.安全性用戶做出危險的選擇使有信息介入系統(tǒng)的提示。3 系統(tǒng)分析與設計3.1 數(shù)據(jù)庫的分析與設

33、計數(shù)據(jù)庫是整個系統(tǒng)的各個部分能否緊密地結合在一起以及如何結合的關鍵所在,因此數(shù)據(jù)庫是系統(tǒng)的核心和基礎。的計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新、加工、統(tǒng)計和傳播等操作。數(shù)據(jù)庫設計的好壞直接影響到整個系統(tǒng)的質(zhì)量和效率。數(shù)據(jù)庫的設計一般經(jīng)過需求分析、概念設計、邏輯設計、物理設計4個步驟。3.1.1 數(shù)據(jù)庫的需求分析首先可以確定需要一個用戶表,其中儲存的數(shù)據(jù)有用戶名和密碼,以作驗證之用。其次,系統(tǒng)相關的表,從最基礎開始,有出版社表、書的類型表、書表、入庫記錄表和銷售記錄表,其中,一條入庫記錄中涉及多本書,一條銷售記錄也涉及多本書,因此還需要書的

34、入庫記錄表和書的銷售記錄表,一條書的入庫記錄對應一本書,該條書的入庫記錄屬于某一條入庫記錄,可以理解成這是書與入庫記錄的關系表,同樣地,書的銷售記錄與書的入庫記錄一樣。3.1.2 數(shù)據(jù)庫的概念結構設計概念設計是指在數(shù)據(jù)分析的基礎上自底向上的建立整個系統(tǒng)的數(shù)據(jù)庫概念結構,從用戶的角度進行視圖設計,然后將視圖集成,最后對集成的結構分析優(yōu)化得到最后結果。數(shù)據(jù)庫的概念結構設計采用實體聯(lián)系(E-R)模型設計方法。E-R模型用E-R圖表示,E-R模型法的組成元素有:實體、屬性、聯(lián)系。下面簡單介紹這三種組成元素:1.實體(Entity):客觀存在并可相互區(qū)別的事物稱為實體。實體可以是具體的人、事、物,例如一

35、名學生,一門課程等;也可以是抽象的概念或聯(lián)系,例如一次選課,一場競賽等。2.屬性(Attribute):每個實體都有自己的一組特征或性質(zhì),這種用來描述實體的特征或性質(zhì)稱為實體的屬性。例如,學生實體具有學號、姓名、性別等屬性。不同實體的屬性是不同的。實體屬性的某一組特定的取值(稱為屬性值)確定了一個特定的實體。例如,學號是0611001、姓名是王冬、性別是女等等,這些屬性值綜合起來就確定了“王冬”這名同學。屬性的可能取值范圍稱為屬性域,也稱為屬性的值域。例如,學號的域為8位整數(shù),姓名的域為字符串集合,性別的域為(男,女)。實體的屬性值是數(shù)據(jù)庫中存儲的主要數(shù)據(jù)。3.聯(lián)系(Relation):現(xiàn)實世

36、界中,事物內(nèi)部以及事物之間不是孤立的,是有聯(lián)系的,這些聯(lián)系反映在信息世界中表現(xiàn)為實體內(nèi)部的聯(lián)系和實體之間的聯(lián)系。概念設計的目標是產(chǎn)生反映企業(yè)組織信息要求的數(shù)據(jù)庫概念結構,即概念模式。概念模式獨立于數(shù)據(jù)庫邏輯結構,獨立于數(shù)據(jù)庫的DBMS,不依賴于計算機系統(tǒng)的,根據(jù)以上對數(shù)據(jù)庫的需求分析,并結合系統(tǒng)概念模型的特點及建立方法,建立E-R模型圖,其中用矩形表示實體,橢圓形表示屬性,棱形表示實體間關系。本系統(tǒng)概念設計圖有:圖3.1 管理員實體E-R圖圖3.1所示為管理員信息的E-R圖,其中包括的信息有ID、用戶名和密碼,ID是隱藏列,作為主鍵。用戶名和密碼作為是否有權操作系統(tǒng)的驗證信息儲存在數(shù)據(jù)庫當中。

37、圖3.2 出版社實體E-R圖圖3.2是出版社信息的E-R圖,主要包括出版社名稱、聯(lián)系人、聯(lián)系電話、簡介四方面,存儲這些信息的主要目的是方便圖書管理人員聯(lián)系出版社以進行進退貨的協(xié)商。圖3.3 書本信息實體E-R圖圖3.3為書本信息的E-R圖,主要包括的信息有書名、作者、單價、縮略圖和庫存數(shù)量。書名、單價和作者是由操作人員輸入并儲存在數(shù)據(jù)庫當中的。庫存數(shù)量是當前書本的數(shù)目,當數(shù)目發(fā)生改變時,數(shù)據(jù)會自動更新。 圖3.4 種類信息實體E-R圖圖3.4是種類信息的E-R圖,主要包括種類名稱、簡介兩部分信息。由于種類管理頁面是作為圖書管理頁面的輔助頁面設計的,其數(shù)據(jù)庫中的信息也是為圖書管理信息設計的。圖3

38、.5 入庫信息實體E-R圖圖3.5是入庫信息的E-R圖,因為庫存管理頁面有個按日期查詢?nèi)霂煨畔⒌墓δ?,為此,需要設計一個記錄入庫日期的數(shù)據(jù)庫。圖3.6 交易信息實體E-R圖圖3.6是交易信息的E-R圖,設計這樣一個數(shù)據(jù)的目的同設計入庫信息的目的是一樣的,都是為了方面管理人員進行查詢。 圖3.7 書的入庫信息實體E-R圖如圖3.7,書的入庫信息不同于入庫信息,書的入庫信息包括入庫書本的名稱、入庫數(shù)量和相關的入庫記錄三方面的信息。入庫管理信息頁面中按日期查詢?nèi)霂煊涗浰樵兊降膬?nèi)容正是此數(shù)據(jù)中記錄的相關信息。圖3.8 銷售信息實體E-R圖圖3.8是銷售信息的E-R圖,與圖3.7相似,這個數(shù)據(jù)庫的設計

39、主要是保存銷售的書本、數(shù)量和當天的銷售記錄信息,其主要目的一方面是記錄,另一方面是方便管路人員查詢。 數(shù)據(jù)庫的邏輯結構設計由于數(shù)據(jù)庫概念模型獨立于任何特定的數(shù)據(jù)庫管理系統(tǒng),因此,需要根據(jù)具體使用的數(shù)據(jù)庫管理系統(tǒng)的特點進行轉(zhuǎn)換。即轉(zhuǎn)化為按計算機觀點處理的邏輯關系模型,E-R模型向關系數(shù)據(jù)庫模型轉(zhuǎn)換應遵循下列原則:1.每一個實體要轉(zhuǎn)換成一個關系2.所有的主鍵必須定義非空(NOT NULL)3.對于二元聯(lián)系應按照一對多、弱對實、一對一、多對多等聯(lián)系來定義外鍵。根據(jù)E-R模型,圖書管理系統(tǒng)建立了以下邏輯數(shù)據(jù)結構,下面是各數(shù)據(jù)表的詳細說明:1.管理員信息表只記錄賬戶與密碼,以便登錄用。表結構如表3.1所

40、示。表3.1 管理員信息表(t_user)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是主鍵USER_NAMEvarchar20是否用戶名USER_PASSWORDvarchar20是否密碼2.種類信息表主要是記錄了書的種類的基本信息,表結構如表3.2所示。表3.2 書的種類信息表(t_book_type)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是主鍵TYPE_NAMEvarchar50是否類別名稱TYPE_INTROvarchar200否否種類簡介3.出版社信息表主要是記錄了出版社的相關信息,表結構如圖3.3所示。表3.3 出版社信息表(t_publisher)列名數(shù)據(jù)類型長

41、度允許空是否主鍵說明IDInt自增否是主鍵PUB_NAMEvarchar50是否出版社名稱PUB_TELvarchar50是否聯(lián)系電話PUB_LINK_MANvarchar50是否聯(lián)系人PUB_INTROvarchar200是否 簡介4.書本信息表主要記錄了與書相關的所有內(nèi)容,表結構如表3.4示。表3.4 書本信息表(t_book)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是編號BOOK_NAMEvarchar50是否書名BOOK_INTROvarchar50是否簡介BOOK_PRICEdouble50是否單價TYPE_ID_FKint100否否種類外鍵PUB_ID_FKint100否

42、否出版社外鍵IMAGE_URLvarchar200是否縮略圖URLAUTHORvarchar200是否作者REPERTORY_SIZEbigint10是否庫存數(shù)量5.交易記錄表, 一個交易記錄包括多個書的銷售記錄, 一次交易可能有多本書,表結構如表3.5示。表3.5 書本交易信息表(t_sale_record)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是編號RECORD_DATEdatetime是否交易日期6.書的銷售記錄, 一條記錄對應一本書,表結構如表3.6示。表3.6 書本信息表(t_book_sale_record)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是編號BOO

43、K_ID_FKint100是否交易日期T_SALE_RECORD_ID_FKint100是否銷售記錄所對應的交易記錄TRADE_SUMint10是否銷售數(shù)量7.入庫記錄表, 一次入庫會入多本書,表結構如表3.7所示。表3.7 入庫記錄表表(t_book_sale_record)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自增否是編號RECORD_DATEdatetime是否交易日期8.書的入庫記錄表, 其中包括入庫的書、對應的入庫記錄、入庫數(shù)量等信息,表結構如表3.8所示。表3.8 入庫記錄表表(t_book_in_record)列名數(shù)據(jù)類型長度允許空是否主鍵說明IDint自動增長否是主鍵BO

44、OK_ID_FKint100是否入庫的書T_SALE_RECORD_ID_FKint100是否對應的入庫記錄TRADE_SUMint10是否銷售數(shù)量3.2 連接數(shù)據(jù)庫的前期準備工作數(shù)據(jù)庫中的表已經(jīng)建好,在系統(tǒng)功能實現(xiàn)時只需要建立每個表相對應的類即可,要使客戶對書本的管理信息存入數(shù)據(jù)庫就必須將數(shù)據(jù)庫與程序聯(lián)系起來。為此,需要做一些工作將數(shù)據(jù)庫“嵌入”系統(tǒng)之中。 編寫配置讀取類連接數(shù)據(jù)庫就要先做數(shù)據(jù)庫相關的一些配置,例如對應數(shù)據(jù)庫的相關驅(qū)動、數(shù)據(jù)庫地址、用戶名和密碼,然后可以放到配置文件中,如果需要更換數(shù)據(jù)庫或者地址,只需要修改這份配置文件即可。建立配置文件perties,內(nèi)容如下

45、:/JDBC驅(qū)動/連接地址jdbc.url=jdbc:mysql:/localhost:3306/book_system/數(shù)據(jù)庫用戶名jdbc.user=yujian/密碼jdbc.pass=yujian建立好該文件后,再編寫類去讀取該文件,獲得所需要的值即可。用于讀取配置的PropertiesUtil類,代碼如下:public class PropertiesUtil /該記錄所對應的書的銷售數(shù)量private static Properties properties = new Properties();private static String CONFIG = /cfg/jdbc.pr

46、operties;/配置文件的路徑/讀取資源文件, 設置輸入流private staitc InputStream is =propertiesUtil.class. getResourceAsStream(CONFIG);public static String JDBC_DRIVER; /數(shù)據(jù)庫驅(qū)動public static String JDBC_URL; /jdbc連接urlpublic static String JDBC_USER; /數(shù)據(jù)庫用戶名public static String JDBC_PASS; /數(shù)據(jù)庫密碼static properties.load(is); /加

47、載輸入流/獲得配置的各個屬性JDBC_DRIVER = properties.getProperty(jdbc.driver);JDBC_URL = properties.getProperty(jdbc.url);JDBC_USER = properties.getProperty(jdbc.user);JDBC_PASS = properties.getProperty(jdbc.pass);public class PropertiesUtil /該記錄所對應的書的銷售數(shù)量private static Properties properties = new Properties();pr

48、ivate static String CONFIG = /cfg/perties;/配置文件的路徑/讀取資源文件, 設置輸入流private staitc InputStream is =propertiesUtil.class. getResourceAsStream(CONFIG);public static String JDBC_DRIVER; /數(shù)據(jù)庫驅(qū)動public static String JDBC_URL; /jdbc連接urlpublic static String JDBC_USER; /數(shù)據(jù)庫用戶名public static String JDBC_P

49、ASS; /數(shù)據(jù)庫密碼static properties.load(is); /加載輸入流/獲得配置的各個屬性JDBC_DRIVER = properties.getProperty(jdbc.driver);JDBC_URL = properties.getProperty(jdbc.url);JDBC_USER = properties.getProperty(jdbc.user);JDBC_PASS = properties.getProperty(jdbc.pass); 編寫JDBC操作類JDBC是Java Data Base Connectivity的簡稱,是Java中進行數(shù)據(jù)庫連接

50、的技術。JDBC的API提供了標準統(tǒng)一的SQL數(shù)據(jù)存取接口,可以讓程序員不需要關心如何去連接不同的數(shù)據(jù)庫,只需為不同的數(shù)據(jù)庫提供不同的驅(qū)動,就可以達到連接不同數(shù)據(jù)庫的要求。配置好了之后,開始著手編寫數(shù)據(jù)庫的操作類,首先肯定是幫我們進行數(shù)據(jù)庫連接,我們之前配置了連接的相關屬性,接著我們需要這個類幫我們提供查詢、執(zhí)行SQL等功能。確定好目標后,開始編寫。新建JDBCExecutor類,該類具有屬性如下:private static String DRIVER = PropertiesUtil.JDBC_DRIVER; /獲得驅(qū)動private static String URL = Propert

51、iesUtil.JDBC_URL; /獲得url/獲得連接數(shù)據(jù)庫的用戶名private static String USER = PropertiesUtil.JDBC_USER; /獲得連接數(shù)據(jù)庫的密碼private static String PASS = PropertiesUtil.JDBC_PASS;private Connection connection; /連接對象private static JDBCExecutor jdbcExecutor; /維護一個本類型的對象private Statement stmt; /維護一個本類型的對象private static Strin

52、g DRIVER = PropertiesUtil.JDBC_DRIVER; /獲得驅(qū)動private static String URL = PropertiesUtil.JDBC_URL; /獲得url /獲得連接數(shù)據(jù)庫的用戶名private static String USER = PropertiesUtil.JDBC_USER; /獲得連接數(shù)據(jù)庫的密碼private Connection connection; /連接對象private static String PASS = PropertiesUtil.JDBC_PASS; private static JDBCExecutor

53、 jdbcExecutor; /維護一個本類型的對象private Statement stmt; /維護一個本類型的對象注:由于創(chuàng)建一個Connection對象需要耗費很大的資源,因此使用單態(tài)模式,讓JDBCExecutor類維護一個JDBCExecutor對象,可以在構造器中創(chuàng)建Connection,由于JDBCExecutor是單態(tài)的,因此可以保證在應用中只創(chuàng)建一個Connection。然后在JDBCExecutor的構造器中創(chuàng)建各個對象,再提供一個方法返回JDBCExecutor的實例。private JDBCExecutor() /初始化JDBC驅(qū)動并讓驅(qū)動加載到jvm中Class.forName(DRIVER);/創(chuàng)建數(shù)據(jù)庫連接connecti

溫馨提示

  • 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

提交評論