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