畢業(yè)設(shè)計項目KTV管理系統(tǒng)的評析思考
時間:2022-07-13 09:05:52
導語:畢業(yè)設(shè)計項目KTV管理系統(tǒng)的評析思考一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要:為了提高畢業(yè)設(shè)計質(zhì)量,進一步提升學生的職業(yè)崗位能力,有必要對畢業(yè)設(shè)計項目進行評析和反思。本文對學生的畢業(yè)設(shè)計項目ktv管理系統(tǒng)所用的開發(fā)軟件、功能設(shè)計、開發(fā)的重點和難點等方面存在的問題進行分析和評價,并反思在指導過程中存在的一些不足。通過評析和反思,可以發(fā)現(xiàn)軟件開發(fā)畢業(yè)設(shè)計中存在的問題和解決方法,有利于促進畢業(yè)設(shè)計質(zhì)量的提升。
關(guān)鍵詞:評析畢業(yè)設(shè)計;KTV管理系統(tǒng);反思
1引言
當前,許多學校軟件技術(shù)專業(yè)的畢業(yè)設(shè)計質(zhì)量低下,有學生不重視敷衍了事的原因,有學校安排不合理的原因,也有學校對畢業(yè)設(shè)計的評析只關(guān)注結(jié)果呈現(xiàn)的原因。軟件項目開發(fā)有自身的流程,評析軟件項目需要圍繞軟件開發(fā)流程進行。KTV管理系統(tǒng)是學生完成的畢業(yè)設(shè)計軟件項目。本文通過對KTV管理系統(tǒng)的開發(fā)軟件、需求分析、功能設(shè)計及實現(xiàn)的重點等的分析,詳細指出存在的問題。這對改進指導過程、提高畢業(yè)設(shè)計質(zhì)量至關(guān)重要[1]。
2項目開發(fā)的軟件和架構(gòu)
項目開發(fā)采用什么軟件,是畢業(yè)設(shè)計首要確定的任務。軟件技術(shù)專業(yè)人才培養(yǎng)方案的目標是培養(yǎng)學生基于.NET方向的開發(fā)能力。C#是微軟推出一種基于.NET框架的面向?qū)ο蟮木幊陶Z言,有強大的編程功能。因此項目組學生選擇C#作為項目的開發(fā)軟件既符合軟件技術(shù)專業(yè)的培養(yǎng)目標,也可以使學生完成從知識學習到知識遷移的過程,促進學生掌握.NET方向的整體開發(fā)流程及設(shè)計能力[2]。項目開發(fā)按系統(tǒng)架構(gòu)分為B/S和C/S。它們是當今系統(tǒng)架構(gòu)的兩大主流技術(shù)。B/S結(jié)構(gòu)即瀏覽器/服務器結(jié)構(gòu),用戶界面完全通過瀏覽器實現(xiàn)。C/S架構(gòu)即客戶端/服務器結(jié)構(gòu),需要安裝客戶端才能進行管理操作。對于某個KTV店鋪的管理系統(tǒng)而言,這種兩種架構(gòu)方式都可以實現(xiàn)。通過調(diào)研和參考市場已有的商品化KTV管理系統(tǒng),既有B/S架構(gòu),也有C/S架構(gòu)。項目組學生采用C/S模式的架構(gòu)。采用混合模式架構(gòu)更佳,可使項目組學生在.NET方向的編程能力上得到全方位的鍛煉,既鍛煉學生在Web方向的編程能力,也可以提高學生Windows應用程序的開發(fā)能力[3]。
3項目需求分析
整個項目開發(fā)前,需要完成以下工作:了解、分析KTV歌廳的管理流程;顧客在KTV歌廳中除了唱歌,還有其他消費的情況;顧客在KTV唱歌時,點歌的一些常規(guī)方法;歌廳的管理者通常在歌廳中要做的事情,如顧客進來消費時基本的開房、結(jié)賬,還要了解整個歌廳的營收情況等。通過市場調(diào)研,KTV管理系統(tǒng)分為三類用戶:管理員、超級管理員和普通用戶。系統(tǒng)應具備有以下功能:(1)管理員對食品、房間、歌曲、歌手、用戶進行增、刪、改、查的操作。(2)超級管理員可以統(tǒng)計和查看每天、每月及每年營業(yè)情況等。(3)用戶可以實現(xiàn)點歌和查歌功能,按歌手查歌、按拼音首字母查歌、按熱門的歌曲查歌等。(4)系統(tǒng)應提供點餐、結(jié)賬功能。系統(tǒng)功能的設(shè)計比較全面。這些功能需求基本符合KTV管理系統(tǒng)的功能。這表明學生對項目進行了一定研究。當然也存在缺陷,如系統(tǒng)沒有預定功能、沒有記錄服務員的服務情況等。
4項目系統(tǒng)功能設(shè)計
項目組通過需求分析,設(shè)計了系統(tǒng)的前臺功能模塊和后臺管理模塊。后臺管理員分為超級管理員和普通管理員。超級管理員可以對普通管理員進行管理,也可以對普通管理員設(shè)置相關(guān)的操作權(quán)限和查看營業(yè)情況。營業(yè)情況不僅有每日賬單和每月賬單及賬單的詳細信息,還可以查看每年營業(yè)額折線圖等。普通管理員可以對商品、歌曲、歌手、房間等進行編輯操作。從這里可以看出,學生對KTV管理系統(tǒng)的管理員功能梳理得比較清晰,初步理解了軟件的概要設(shè)計。KTV管理系統(tǒng)的前臺功能是:用戶通過登錄操作后選擇空房間并進入主操作頁面,可以進行點歌、點餐、結(jié)賬操作及打印消費單等。從這里可以看出,學生對用戶功能和管理員功能相互混淆,與需求分析相互矛盾。用戶能做的只有點餐和點歌,而開房、結(jié)賬和打印消費單等應由管理員來操作。
5數(shù)據(jù)庫設(shè)計
通過功能分析,采用SQLServer構(gòu)建數(shù)據(jù)庫。SQLServer數(shù)據(jù)庫技術(shù)也是軟件技術(shù)專業(yè)的核心課程。選用SQLServer可以實現(xiàn)對職業(yè)能力的鍛煉。系統(tǒng)需要以下數(shù)據(jù)表保存信息:用戶表、用戶等級表、管理員表、會員等級表、歌手信息表、歌曲信息表、歌手國籍表、房間信息表、房間類型表、房間狀態(tài)表、商品信息表、商品類型表、開房信息表、消費信息表、訂單表、訂單詳情表。
6重點難點分析與實現(xiàn)
在KTV系統(tǒng)的實現(xiàn)中,點歌功能的實現(xiàn)、分頁顯示歌曲、歌手等信息是系統(tǒng)的重點和難點。
(1)點歌模塊的實現(xiàn)。點歌模塊的實現(xiàn),在專業(yè)課的教學中一般不涉及。這就需要學生通過自我學習完成代碼設(shè)計。點歌模塊分為點歌、歌曲控制兩部分。點歌部分主要實現(xiàn):將選中的歌曲保存到指定的數(shù)組中及設(shè)置多種點歌界面。歌曲控制部分是控制歌曲的播放,可以實現(xiàn)上一首、下一首、音量設(shè)置等操作。歌曲控制采用WindowsMediaPlayer媒體播放器,并設(shè)計winplay窗體類實現(xiàn)播放控制。在winplay窗體類中設(shè)置三個計時器,分別用來控制正在播放歌曲、未播放的歌曲和窗體的隱藏。點歌完成后,播放器獲取存放歌曲的數(shù)組、自動開始從點歌列表的第一首歌曲開始播放,并顯示當前正在播放的歌曲名稱。winplay窗體還具備拉伸和收縮等一些動態(tài)效果。點歌界面如圖1所示。在設(shè)計點歌模塊時,設(shè)計了一個歌曲類Song。它有三大屬性:分別用于保存歌曲名稱、歌曲存放的路徑位置url及歌曲的播放狀態(tài)。歌曲的播放狀態(tài)設(shè)置為全局的枚舉類型,共有三種狀態(tài):Playing、Played和UnPlay,分別表示正在播的、已經(jīng)播過的和還沒有播的狀態(tài)。同時,還設(shè)計了一個公共播放類playlist。它包含一些關(guān)于播放需要的重要方法:將歌曲保存到指定數(shù)組、播放下一首和上一首的方法、獲得當前的、上一首及下一首的歌曲名稱的方法及獲得播放列表的歌曲數(shù)等。學生定義的playlist類中添加歌曲方法代碼如下:publicstaticSong[]songs=newSong[1000];//Song是歌曲類publicstaticvoidAdd(Songsong){for(inti=0;i<songs.Length;i++){if(songs[i]==null){songs[i]=song;break;}}}從運行效果看,功能確實是實現(xiàn)了,但不代表設(shè)計方法的正確。首先,學生采用數(shù)組songs存放用戶點的歌曲,定義最大容量是1000,且將新的歌曲添加到播放列表中時,需要遍歷數(shù)組后才能存儲。這樣定義既浪費存儲空間,又不盡合理。數(shù)組的優(yōu)點是存儲在連續(xù)內(nèi)存上、數(shù)據(jù)類型相同、通過下標訪問元素。它的缺點是必須指定其長度,元素插入也不方便,過長浪費內(nèi)存,超出下標會產(chǎn)生溢出錯誤。而用戶在點歌時,要點多少首歌曲是一個不確定的數(shù),應該采用List泛型數(shù)組來保存和實現(xiàn)更合適,泛型數(shù)組適用于元素數(shù)量不固定的情況,而且兩端存取非常方便。上述代碼可以優(yōu)化為:publicstaticList<Song>songs=newList<Song>();publicstaticvoidAdd(Songsong){songs.Add(song);}
(2)分頁功能的實現(xiàn)。在實現(xiàn)信息顯示時,由于歌手、歌曲等信息都保存在數(shù)據(jù)表中,因此界面呈現(xiàn)的信息必須動態(tài)生成。為了使界面美觀且能加載更多數(shù)據(jù),在設(shè)計顯示數(shù)據(jù)信息時需要分頁。分頁功能的實現(xiàn)有許多方法。學生采用的分頁方法是通過子查詢實現(xiàn)。這里以顯示每頁8條數(shù)據(jù)即pagesize=8為例進行說明。代碼在實現(xiàn)使用兩個變量currentpage、pcount。currentpage用來記錄當前頁號,第一頁的頁號為0;pcount=currentpage*pagesize記錄查詢某頁數(shù)據(jù)時,需要排除的某頁之前的記錄數(shù)。具體數(shù)據(jù)查詢代碼如下:"selecttop8*fromv_singerwhereSingerIDnotin(selecttop"+pcount+"SingerIDfromv_singer)"即首頁顯示時,相應的查詢語句是:selecttop8*fromv_singerwhereSingerIDnotin(selecttop0SingerIDfromv_singer)表示查詢數(shù)據(jù)中的第1條~第8條記錄。以此實現(xiàn)分頁查詢。由于分頁功能在項目中多次使用,應該采用自定義分頁控件的方法來實現(xiàn)更合理,可以增加程序的通用性、可移植性。這也說明學生對分頁的知識學習沒有提升。此外,項目的點歌模塊還存在缺陷:如在點歌后,無法查看點歌列表,沒有實現(xiàn)點歌列表中歌曲的刪除操作等。
7畢業(yè)設(shè)計指導工作反思
畢業(yè)設(shè)計的質(zhì)量與指導工作密不可分。通過跟蹤KTV管理系統(tǒng)的畢業(yè)設(shè)計過程,發(fā)現(xiàn)在畢業(yè)設(shè)計指導中還存在一些需要解決的問題:(1)引導學生重視畢業(yè)設(shè)計的工作做得不夠充分。畢業(yè)設(shè)計通常歷時幾個月的時間,需要學生投入大量的時間和精力來完成。有些學生不夠重視,對項目研究不夠,許多細節(jié)考慮不夠周全[4]。(2)培養(yǎng)學生自主學習的意識和方法還有欠缺。畢業(yè)設(shè)計中,學生會遇到?jīng)]有學過的知識。作為指導教師,要糾正學生的依賴性,引導學生查閱文獻、資料進行自我學習,完成新知識的積累。(3)畢業(yè)設(shè)計過程有待進一步精細化。在跟蹤指導學生畢業(yè)設(shè)計時,指導教師不僅要指導學生選題、把關(guān)學生對系統(tǒng)的功能分析、審查學生的數(shù)據(jù)庫設(shè)計等,還要關(guān)注項目的重點模塊的實現(xiàn),既要關(guān)注運行的結(jié)果,也要查看算法、設(shè)計方法等細節(jié)。只有這樣才能提高畢業(yè)設(shè)計的質(zhì)量[5]。
作者:馬海珠 單位:無錫城市職業(yè)技術(shù)學院
- 上一篇:談自媒體下地域文化和思政課融合育人
- 下一篇:經(jīng)濟視角德法課程教學研究