歌曲信息管理系統(tǒng)設(shè)計(jì)(Java版)_第1頁(yè)
歌曲信息管理系統(tǒng)設(shè)計(jì)(Java版)_第2頁(yè)
歌曲信息管理系統(tǒng)設(shè)計(jì)(Java版)_第3頁(yè)
歌曲信息管理系統(tǒng)設(shè)計(jì)(Java版)_第4頁(yè)
歌曲信息管理系統(tǒng)設(shè)計(jì)(Java版)_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上歌曲信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)目錄摘要第1章 系統(tǒng)開發(fā)技術(shù)介紹1.1 JAVA技術(shù)1.2 JDBC定義1.3 MVC技術(shù)1.4 MY SQL 概述1.5 SQL 介紹1.6 運(yùn)行環(huán)境第2章 系統(tǒng)需求分析2.1系統(tǒng)功能設(shè)計(jì)2.2數(shù)據(jù)需求第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)系統(tǒng) 3.2數(shù)據(jù)處理流程 3.2.1系統(tǒng)登陸流程3.2.2.主流程3.2.3添加歌曲流程3.2.4修改歌曲流程3.2.5查詢歌曲流程3.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 E-R圖3.3.2 數(shù)據(jù)庫(kù)表第 4 章 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)功能圖4.1.1系統(tǒng)管理模塊實(shí)現(xiàn)4.1.2添加歌曲模塊實(shí)現(xiàn)4.2系統(tǒng)主要類說(shuō)明4.3 系

2、統(tǒng)主要功能實(shí)現(xiàn)4.3.1. 顯示操作主頁(yè)面功能實(shí)現(xiàn)4.3.2. 添加歌曲功能實(shí)現(xiàn)4.3.3. 刪除功能實(shí)現(xiàn)(代碼省略)4.3.4 修改功能實(shí)現(xiàn)(代碼略)4.3.5 查詢功能實(shí)現(xiàn)(代碼略)4.3.6 連接功能實(shí)現(xiàn)(代碼略)摘 要   科學(xué)技術(shù)日新月異的進(jìn)步,讓人類生活發(fā)生了巨大的變化,計(jì)算機(jī)技術(shù)的飛速發(fā)展,使各行各業(yè)在計(jì)算機(jī)技術(shù)應(yīng)用方面得到了廣泛的普及和使用。信息化時(shí)代的到來(lái)成為不可抗拒的潮流,人類文明正在進(jìn)入一個(gè)嶄新的時(shí)代。因此,KTV歌曲資源管理系統(tǒng)也以方便、快捷、費(fèi)用低的優(yōu)點(diǎn)正慢慢改變著對(duì)歌曲信息的管理,將傳統(tǒng)的手工管理方式徹底的解脫出來(lái),提高效率,減輕管理員以往繁忙的

3、工作,減小出錯(cuò)的概率,使使用者歌曲可以更好的獲取信息、了解信息、掌握信息。開發(fā)一個(gè)界面友好易于操作的歌曲資源管理系統(tǒng)進(jìn)行自動(dòng)化處理變得十分重要,這正是本系統(tǒng)開發(fā)的目的和意義。  歌曲信息管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺(tái)數(shù)據(jù)庫(kù)的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個(gè)方面。對(duì)于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫(kù)。而對(duì)于后者則要求應(yīng)用程序功能完備,易使用等特點(diǎn)。因此本人結(jié)合要求,對(duì)MY SQL數(shù)據(jù)庫(kù)管理系統(tǒng)、數(shù)據(jù)庫(kù)組件、SQL語(yǔ)言原理、JAVA應(yīng)用程序設(shè)計(jì),對(duì)數(shù)據(jù)庫(kù)技術(shù)進(jìn)行了較深入的學(xué)習(xí)和應(yīng)用,主要完成對(duì)管理系統(tǒng)的需求分析、功能模塊劃分、數(shù)據(jù)庫(kù)模式分析,并由

4、此設(shè)計(jì)了數(shù)據(jù)庫(kù)結(jié)構(gòu)和應(yīng)用程序。系統(tǒng)運(yùn)行結(jié)果證明,本文所設(shè)計(jì)的歌曲信息管理系統(tǒng)可以滿足用戶的需要。實(shí)現(xiàn)了數(shù)據(jù)庫(kù)表的查詢、添加、刪除和修改,實(shí)現(xiàn)了多種條件查詢等。設(shè)計(jì)充分利用JAVA、MY SQL數(shù)據(jù)庫(kù)技術(shù)的強(qiáng)大力量,提高了編程效率和可靠性?!娟P(guān)鍵詞:】   JAVA;SQL語(yǔ)言; MY SQL; 數(shù)據(jù)庫(kù);歌曲管理系統(tǒng) 專心-專注-專業(yè)第1章 系統(tǒng)開發(fā)技術(shù)介紹1.1 JAVA技術(shù)Java平臺(tái)由Java虛擬機(jī)(Java Virtual Machine)和Java 應(yīng)用編程接口(Application Programming Interface、簡(jiǎn)稱A

5、PI)構(gòu)成。Java 應(yīng)用接口為Java應(yīng)用提供了一個(gè)獨(dú)立于的標(biāo)準(zhǔn)接口,可分為基本部分和擴(kuò)展部分。在硬件或操作系統(tǒng)平臺(tái)上安裝一個(gè)Java平臺(tái)之后,Java應(yīng)用程序就可運(yùn)行。目前常用的Java平臺(tái)基于Java1.5,最近版本為Java1.7。1.2 JDBC定義JDBC(Java Data Base Connectivity,java數(shù)據(jù)庫(kù)連接)是一種用于執(zhí)行SQL語(yǔ)句的Java API,可以為多種關(guān)系數(shù)據(jù)庫(kù)提供統(tǒng)一訪問,它由一組用Java語(yǔ)言編寫的類和接口組成。JDBC為工具/數(shù)據(jù)庫(kù)開發(fā)人員提供了一個(gè)標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級(jí)的工具和接口,使數(shù)據(jù)庫(kù)開發(fā)人員能夠用純 Java API 編寫

6、數(shù)據(jù)庫(kù)應(yīng)用程序,JDBC 擴(kuò)展了 Java 的功能。1.3 MVC技術(shù)MVC三層架構(gòu)也稱MVC模式,主要是將程序開發(fā)分為MODEL層(數(shù)據(jù)持久層)、VIEW(界面表示層)、CONTROL層(控制層)這三個(gè)層面,并將這三個(gè)層面分開來(lái),形成了一個(gè)立體的架構(gòu)。三個(gè)層次之間的主要交互如下所示:1.3.1 MVC設(shè)計(jì)模式的實(shí)現(xiàn) (1)視圖是模型的表示,它提供用戶交互界面。(2)為了能夠控制和協(xié)調(diào)每個(gè)用戶跨越多個(gè)請(qǐng)求的處理,控制機(jī)制以集中的方式進(jìn)行管理。(3)MVC系統(tǒng)中的模型從概念上可以分為兩類:系統(tǒng)的內(nèi)部狀態(tài)和改變系統(tǒng)狀態(tài)的動(dòng)作。1.4 MY SQL 概述My SQL是一個(gè)精巧的SQL數(shù)據(jù)庫(kù)管理系統(tǒng)。

7、My SQL是一個(gè)真正的多用戶、多線程SQL數(shù)據(jù)庫(kù)服務(wù)器。My SQL是以一個(gè)客戶機(jī)/服務(wù)器結(jié)構(gòu)的實(shí)現(xiàn),由一個(gè)服務(wù)器守護(hù)程序my sqld和很多不同的客戶程序和庫(kù)組成。My SQL 主要目標(biāo)是快速、健壯和易用。1.5 SQL 介紹SQL(Structured Query Language,結(jié)構(gòu)查詢語(yǔ)言)是一個(gè)功能強(qiáng)大的數(shù)據(jù)庫(kù)語(yǔ)言。SQL通常使用于數(shù)據(jù)庫(kù)的通訊。SQL為許多任務(wù)提供了命令,其中包括:(1) 查詢數(shù)據(jù)(2)在表中插入、修改和刪除記錄(3)建立修改和刪除數(shù)據(jù)對(duì)象(4)控制對(duì)數(shù)據(jù)和數(shù)據(jù)對(duì)象的存?。?)保證數(shù)據(jù)庫(kù)一致性和完整性1.6 運(yùn)行環(huán)境硬件平臺(tái):q CPU:Inter Core2

8、T5500 1.66GHz;q 內(nèi)存:2G。軟件平臺(tái):q 操作系統(tǒng):Windows XP;q 數(shù)據(jù)庫(kù):MySQL 5.0;q 開發(fā)工具包:JDK Version1.5;q 開發(fā)工具:MyEclipse5.5.1;q 瀏覽器:IE7.0;q 分辨率:最佳效果1024*768像素。第2章 系統(tǒng)需求分析2.1系統(tǒng)功能設(shè)計(jì)a.功能劃分,該軟件具有如下主要功能:查詢功能;插入功能;修改功能;刪除功能;b.功能描述查詢功能:按照歌曲相應(yīng)屬性查詢;插入功能:增加一個(gè)歌曲記錄;修改功能:修改某一已存在的記錄內(nèi)容;刪除功能:刪除一個(gè)記錄;2.2數(shù)據(jù)需求歌曲:歌曲編號(hào),歌曲名稱,歌曲類型,歌手名稱,歌手性別,歌手

9、年齡,歌手圖片等。用戶:用戶名,密碼;第3章 數(shù)據(jù)庫(kù)設(shè)計(jì)3.1數(shù)據(jù)庫(kù)系統(tǒng) 3.1.1數(shù)據(jù)庫(kù)采用My SQL數(shù)據(jù)庫(kù)。3.1.2數(shù)據(jù)采集數(shù)據(jù)采集采用鍵盤輸入。3.2數(shù)據(jù)處理流程 3.2.1系統(tǒng)登陸流程要求用戶輸入用戶名及密碼。建立與數(shù)據(jù)庫(kù)的連接。根據(jù)操作權(quán)限顯示主對(duì)話框(即主界面),進(jìn)入主流程。3.2.2.主流程1如為添加歌曲,進(jìn)入添加歌曲流程(顯示添加歌曲對(duì)話框)。2如為修改歌曲:進(jìn)入修改歌曲流程(顯示修改歌曲對(duì)話框)。3如為查詢歌曲: 進(jìn)入查詢歌曲流程(顯示查詢歌曲對(duì)話框)。4如為刪除歌曲: 進(jìn)入刪除歌曲流程(顯示刪除歌曲對(duì)話框)。5如為退出:檢查所有子窗口,關(guān)閉對(duì)話框,斷開與數(shù)據(jù)庫(kù)的連接,結(jié)

10、束主流程。3.2.3添加歌曲流程要求用戶輸入新增歌曲的各種信息。確認(rèn)后提交添加歌曲請(qǐng)求,更新信息,把添加信息寫入數(shù)據(jù)庫(kù),顯示添加歌曲操作結(jié)果。如為完成添加歌曲操作:結(jié)束添加歌曲流程。3.2.4修改歌曲流程要求用戶輸入修改歌曲的各種信息。確認(rèn)后提交修改歌曲請(qǐng)求,更新信息,把修改信息寫入數(shù)據(jù)庫(kù),顯示修改歌曲操作結(jié)果。如為完成修改歌曲操作:結(jié)束修改歌曲流程。3.2.5查詢歌曲流程要求用戶輸入要查詢歌曲的任一種信息。確認(rèn)后提交查詢歌曲請(qǐng)求,更新信息,顯示查詢歌曲操作結(jié)果。如為完成查詢歌曲操作:結(jié)束查詢歌曲流程。3.3系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)3.3.1 E-R圖3.3.2 數(shù)據(jù)庫(kù)表用戶表:Users字段數(shù)據(jù)類型備

11、注Uidint會(huì)員號(hào)Unamevarchar(20)姓名Upasswordvarchar(20)密碼歌曲表:Songs字段數(shù)據(jù)類型備注Songidint歌曲編號(hào)Songnamevarchar(20)歌曲名稱Songtypevarchar(20)歌曲類型Songernamevarchar(20)歌手名稱Songersexvarchar(20)歌手性別SongerageInt歌手年齡Songerpictuervarchar(20)歌手圖片第 4 章 系統(tǒng)實(shí)現(xiàn)4.1 系統(tǒng)功能圖4.1.1系統(tǒng)管理模塊實(shí)現(xiàn)功能:運(yùn)行主界面建立與數(shù)據(jù)庫(kù)連接根據(jù)輸入調(diào)用子模塊退出系統(tǒng)時(shí)斷開與數(shù)據(jù)庫(kù)的連接歌曲信息管理結(jié)構(gòu)圖:

12、添加新的歌曲信息刪除指定歌曲的信息查詢指定歌曲的信息修改指定歌曲的信息歌曲信息管理歌曲信息管理流程圖:初始化歌曲刪除界面主界面歌曲添加界面連接數(shù)據(jù)庫(kù)歌曲修改界面按鍵選擇,是否退出否歌曲查詢界面關(guān)于幫助界面退出主界面是4.1.2添加歌曲模塊實(shí)現(xiàn)功能:運(yùn)行添加歌曲界面輸入添加歌曲信息添加成功是顯示添加后界面退出時(shí)返回主界面添加歌曲結(jié)構(gòu)圖:添加歌曲歌歌曲編號(hào)暗歌曲名稱歌手姓名歌手性別歌手圖片歌曲類型歌手年齡添加歌曲流程圖:添加歌曲界面輸入添加歌曲的信息正確保存向數(shù)據(jù)庫(kù)添加信息記錄錯(cuò)誤顯示添加成功界面退出4.2系統(tǒng)主要類說(shuō)明1 實(shí)體封裝類歌曲類(Song),封裝歌曲的一系列信息(songname、si

13、nger、type等),對(duì)歌曲的添加、修改、刪除等數(shù)據(jù)臨時(shí)存儲(chǔ)于傳遞,對(duì)歌曲的信息進(jìn)行維護(hù)管理。2 持久化類·數(shù)據(jù)庫(kù)連接工具類(JDBCUtil),主要作用為數(shù)據(jù)持久化操作提供連接,并通過靜態(tài)化方式實(shí)現(xiàn)單例模式,有效防止了重復(fù)連接,優(yōu)化了數(shù)據(jù)庫(kù)訪問效率。·數(shù)據(jù)持久化類(OperateDao),主要業(yè)務(wù)邏輯控制類,主要方法有添加歌曲,根據(jù)ID刪除歌曲,查找所有歌曲,根據(jù)條件查找歌曲,修改歌曲等方法,分別控制歌曲添加、刪除、查找、修改等業(yè)務(wù)邏輯。3 主要視圖與業(yè)務(wù)邏輯類·登陸業(yè)務(wù)邏輯控制類(Login),顯示登錄窗體。主要控制為,判斷用戶輸入是否合法(是否為空等),根

14、據(jù)用戶的輸入的數(shù)據(jù),調(diào)用數(shù)據(jù)庫(kù)持久化類,查詢數(shù)據(jù)庫(kù)數(shù)據(jù),然后進(jìn)行對(duì)比判斷,根據(jù)判斷結(jié)果,顯示主界面或者提示用戶重新輸入等操作。·歌曲管理操作主界面(MainView),顯示歌曲添加、刪除、修改、查詢等操作,可以動(dòng)態(tài)顯示不同操作的視圖(如背景圖片,操作信息等)。根據(jù)相應(yīng)的操作按鈕監(jiān)聽,創(chuàng)建不同操作的組件,然后調(diào)用持久化類與數(shù)據(jù)庫(kù)交互,獲得相應(yīng)的數(shù)據(jù),然后通過本類的主Panel組件,添加刪除相應(yīng)業(yè)務(wù)組件,從而實(shí)現(xiàn)不同操作的動(dòng)態(tài)顯示4.3 系統(tǒng)主要功能實(shí)現(xiàn)4.3.1. 顯示操作主頁(yè)面功能實(shí)現(xiàn) (界面代碼如下略)package ktv.ui;import java.awt.BorderLay

15、out;public class ktvFrame extends JFrame /主窗體的寬度private int frame_width = 800;/主窗體的高度private int frame_height = 600;/主窗體的標(biāo)題private String frame_title = ktvConfig.MAINFRAME_TITLE;/主窗體的背景顏色private Color frame_bgcolor = Color.DARK_GRAY;/主窗體的圖標(biāo)private ImageIcon icon = new ImageIcon(ktvConfig.MAINFRAME_I

16、CO);/* ktvFrame類的構(gòu)造函數(shù),初始化ktv系統(tǒng)主窗體 */public ktvFrame() super();if(this.initMainFrame(this)System.out.println("initialization of the main frame is successful"); else System.out.println("initialization of the main frame is fault");System.exit(1);public JDesktopPane getJDesktopPane()

17、return this.jdeskpane;/* * 初始化ktv系統(tǒng)主窗體 */Public boolean initMainFrame(ktvFrame frame)if(frame = null) System.out.println ("ktvFrame's object is null");System.exit (1); try Jdeskpane = new JDesktopPane ();frame.setIconImage (frame_ico);jdeskpane.setBackground (this.frame_bgcolor);frame.

18、setSize (this.frame_width, this.frame_height);frame.setTitle (frame_title); frame.setLocation (Toolkit.getDefaultToolkit().getScreenSize().width - this.frame_width)/ 2, (Toolkit.getDefaultToolkit ().getScreenSize().height - this.frame_height) / 2); frame.setDefaultCloseOperation (EXIT_ON_CLOSE);/設(shè)置窗

19、體樣式UIManager.setLookAndFeel (UIManager.getInstalledLookAndFeels ()0.getClassName();SwingUtilities.updateComponentTreeUI (frame);/創(chuàng)建桌面面板 createDeskpane(frame);/創(chuàng)建內(nèi)部窗體 createShowAllSongsFrame(frame, "moon-ktv所有歌曲");/創(chuàng)建菜單 createMenu(frame);/創(chuàng)建工具欄 createToolbar(frame);/創(chuàng)建狀態(tài)欄 createStatusbar(fr

20、ame); catch(Exception e) e.printStackTrace();return false;return true; public ktvMenu getKtvMenu() return this.kM;public ktvToolBar getKtvToolBar() return this.kTB;public ktvStatusBar getKtvStatusBar() return this.kS;/添加菜單public void createMenu(ktvFrame frame) if(frame = null) System.out.println(&qu

21、ot;ktvFrame's object is null");System.exit(1);kM = new ktvMenu();frame.setJMenuBar(kM);/添加工具欄public void createToolbar(ktvFrame frame) if(frame = null) System.out.println("ktvFrame's object is null");System.exit(1);kTB = new ktvToolBar();frame.getContentPane().add(kTB, BorderL

22、ayout.NORTH);/添加狀態(tài)欄public void createStatusbar(ktvFrame frame) if(frame = null) System.out.println("ktvFrame's object is null");System.exit(1);kS = new ktvStatusBar();frame.getContentPane().add(kS, BorderLayout.SOUTH);/添加桌面面板public void createDeskpane(ktvFrame frame) if(frame = null) S

23、ystem.out.println("ktvFrame's object is null");System.exit(1);frame.getContentPane().add(jdeskpane); /添加內(nèi)部窗體public void createShowAllSongsFrame(ktvFrame frame, String content) if(frame = null) System.out.println("ktvFrame's object is null");System.exit(1);innerframe = new

24、 showAllSongsFrame(content);frame.getJDesktopPane().add(innerframe);4.3.2.添加歌曲功能實(shí)現(xiàn)點(diǎn)擊添加歌曲菜單后,會(huì)彈出添加歌曲框(addSongFrame),填入相應(yīng)的數(shù)據(jù),單擊保存后,數(shù)據(jù)添加進(jìn)數(shù)據(jù)庫(kù),界面顯示添加后的歌曲信息,界面代碼(略,只添加歌曲名稱的)如下,顯示結(jié)果如下圖。package ktv.ui;import java.awt.GridLayout;import ktv.listeneraction.AllListenerAction;public class addSongFrame extends JI

25、nternalFrame private JLabel lsongname = null;private GridLayout crd = null; public addSongFrame(String title) super(title, true, true, true, true);crd = new GridLayout(7, 2, 0, 10);savebutton = new JButton("保存");lsongname = new JLabel("歌曲名稱: ");lsongname.setIcon(new ImageIcon(ktv

26、Config.MAINFRAME_ICO);lsongname.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);jtsongname = new JTextField(); this.setTitle(title); this.add(lsongname); this.add(savebutton); savebutton.addActionListener(new AllListenerAction(); this.setVisible(true); 4.3.3.刪除功能實(shí)現(xiàn)(代碼省略)選擇相應(yīng)要?jiǎng)h除的歌曲(可以點(diǎn)擊任意點(diǎn),

27、如歌曲編號(hào),歌曲名稱,歌曲類型等),點(diǎn)擊后,在系統(tǒng)功能菜單中選擇刪除,該歌曲即可刪除。實(shí)現(xiàn)如下圖所示:4.3.4 修改功能實(shí)現(xiàn)(代碼略)同刪除一樣,點(diǎn)擊修改記錄,彈出修改對(duì)話框,即可進(jìn)行修改。結(jié)果如下圖所示:4.3.5 查詢功能實(shí)現(xiàn)可以實(shí)現(xiàn)五種查詢功能,既全部數(shù)據(jù),歌曲名,歌手名,歌曲類型,和歌手類別。如圖:4.3.6. (OperateDao)主要方法有添加歌曲,刪除歌曲,查找所有歌曲,根據(jù)條件查詢歌曲,修改歌曲等方法,分別控制歌曲添加、刪除、查找、修改等。代碼簡(jiǎn)略。(例)指定查詢songTable表public ArrayList<Object> selectValue(Connection conn, ArrayList<Object> list, String searchkey, String searchvalue) throws Exception Connection selectconn = ktvMysqlDAO.getMysqlConn();if(selectconn = null) System.out.println("connect DB is false. selectconn object is null.");return null;try ps = selectconn.prepareS

溫馨提示

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

評(píng)論

0/150

提交評(píng)論