ỨNG DỤNG WINDOWS FORM C# NET XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN KARAOKE VIP TAM KỲ - Full 10 điểm

65 0 0
ỨNG DỤNG WINDOWS FORM C# NET XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN KARAOKE VIP TAM KỲ - Full 10 điểm

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

UBND T Ỉ NH QU Ả NG NAM TRƢỜNG ĐẠ I H Ọ C QU Ả NG NAM KHOA: CÔNG NGH Ệ THÔNG TIN -----  ----- PH Ạ M THANH TH Ị NH Ứ NG D Ụ NG WINDOWS FORM C# NET XÂY D Ự NG PH Ầ N M Ề M QU Ả N LÝ QUÁN KARAOKE VIP TAM K Ỳ KHÓA LU Ậ N T Ố T NGHI ỆP ĐẠ I H Ọ C Qu ảng Nam, tháng 05 năm 2019 UBND T Ỉ NH QU Ả NG NAM TRƢỜNG ĐẠ I H Ọ C QU Ả NG NAM KHOA CÔNG NGH Ệ THÔNG TIN -----  ----- KHÓA LU Ậ N T Ố T NGHI ỆP ĐẠ I H Ọ C Ứ NG D Ụ NG WINDOWS FORM C# NET XÂY D Ự NG PH Ầ N M Ề M QU Ả N LÝ QUÁN KARAOKE VIP TAM K Ỳ Sinh viên th ự c hi ệ n PH Ạ M THANH TH Ị NH MSSV: 2115011038 CHUYÊN NGÀNH: CÔNG NGH Ệ THÔNG TIN KHÓA 2015 - 2019 Cán b ộ hƣớ ng d ẫ n ThS LÊ PHƢỚ C THÀNH MSCB: ……… Qu ảng Nam, tháng 04 năm 2019 1 L Ờ I C ẢM ƠN Đƣợ c s ự phân công c ủ a khoa Công Ngh ệ Thông Tin Trƣờng Đạ i H ọ c Qu ả ng Nam và s ự đồ ng ý c ủ a th ầ y giáo hƣớ ng d ẫ n Lê Phƣớ c Thành em đã th ự c hi ện đề tài khóa lu ậ n t ố t nghi ệ p: “Ứ ng d ụ ng Windows Form C# NET xây d ự ng ph ầ n m ề m qu ả n lý quán Karaoke VIP Tam K ỳ” Để hoàn thành đề tài khóa lu ậ n t ố t nghi ệ p này Em xin trân tr ọ ng g ử i l ờ i c ả m ơn đế n các th ầ y/cô giáo khoa Công Ngh ệ Thông Tin cũng nhƣ các thầ y/cô giáo trƣờng Đạ i H ọ c Qu ả ng Nam đã tận tình hƣớ ng d ẫ n, gi ả ng d ạ y trong su ố t quá trình h ọ c t ậ p, nghiên c ứ u và rèn luy ệ n ở trƣờng Đạ i H ọ c Qu ả ng Nam Xin chân thành c ảm ơn thầy giáo Lê Phƣớ c Thành đã tậ n tình giúp đỡ em trong quá trình th ự c hi ện đề tài khóa lu ậ n t ố t nghi ệ p này M ặ c dù em đã tìm hiể u và nghiên c ứ u r ấ t nhi ề u trong quá trình làm đề tài khóa lu ậ n t ố t nghi ệ p, đề tài không tránh kh ỏ i nh ữ ng thi ế u sót nh ất đị nh Em r ấ t mong s ự góp ý c ủ a quý th ầy/cô giáo để đề tài khóa lu ậ n t ố t nghi ệp đƣợ c hoàn thi ệ n hơn 2 M Ụ C L Ụ C L Ờ I C ẢM ƠN 1 M Ụ C L Ụ C 2 PH Ầ N 1 M Ở ĐẦ U 3 1 1 Lý do ch ọn đề tài 3 1 2 M ụ c tiêu c ủa đề tài 4 1 3 Đối tƣợ ng và ph ạ m vi nghiên c ứ u 4 1 4 Phƣơng pháp nghiên cứ u 4 1 5 L ị ch s ử nghiên c ứ u 5 1 6 Đóng góp của đề tài 5 1 7 C ấu trúc đề tài 5 PH Ầ N 2 N Ộ I DUNG NGHIÊN C Ứ U 6 CHƢƠNG 1 CƠ SỞ LÝ THUY Ế T 6 1 1 Gi ớ i thi ệ u v ề Windows Form C# NET 6 1 2 Gi ớ i thi ệ u v ề h ệ qu ả n tr ị cơ sở d ữ li ệ u Sql Server và ADO NET 8 1 3 Gi ớ i thi ệ u mô hình 3 l ớ p 12 1 4 Gi ớ i thi ệ u Bunifu Framework và Metro Framework 15 CHƢƠNG 2 KHẢ O SÁT HI Ệ N TR Ạ NG VÀ XÁC L Ậ P D Ự ÁN 18 2 1 Kh ả o sát hi ệ n tr ạ ng 18 2 2 Xác l ậ p d ự án 19 CHƢƠNG 3 PHÂN TÍCH VÀ THIẾ T K Ế H Ệ TH Ố NG 21 3 1 Phân tích và thi ế t k ế ch ức năng hệ th ố ng 21 3 2 Phân tích và thi ế t k ế d ữ li ệ u h ệ th ố ng 28 3 3 Phân tích và thi ế t k ế giao di ệ n h ệ th ố ng 34 CHƢƠNG 4 CHƢƠNG TRÌNH DEMO 56 4 1 Cài đặ t h ệ th ố ng 56 4 2 Ch ức năng chính củ a h ệ th ố ng 56 4 3 M ộ t s ố giao di ệ n c ủ a h ệ th ố ng 56 PH Ầ N 3 K Ế T LU Ậ N VÀ KI Ế N NGH Ị 61 3 1 K ế t lu ậ n 61 3 2 Ki ế n ngh ị 61 PH Ầ N 4 TÀI LI Ệ U THAM KH Ả O 62 NH Ậ N XÉT C Ủ A CÁN B Ộ HƢỚ NG D Ẫ N 63 3 PH Ầ N 1 M Ở ĐẦ U 1 1 Lý do ch ọn đề tài Trong nh ững năm gần đây, sự phát tri ể n nhanh chóng c ủ a công ngh ệ thông tin đã và đang từng bƣớc làm thay đổi đờ i s ố ng kinh t ế , xã h ộ i, giáo d ụ c, v v M ọ i ngành ngh ề , m ọi lĩnh vự c d ầ n d ần đƣợ c tin h ọ c hóa làm cho công vi ệ c tr ở nên d ễ dàng, nhanh chóng và chính xác hơn Đố i v ớ i công tác qu ả n lý c ủ a các công ty/doanh nghi ệ p, ph ả i chuy ể n t ừ phƣơng pháp thủ công sang t ự độ ng; vì v ậ y vi ệ c xây d ự ng m ộ t ứ ng d ụ ng qu ả n lý giúp các công ty/doanh nghi ệ p gi ả i quy ế t công vi ệ c t ự độ ng, công vi ệc đƣợ c th ự c hi ệ n chính xác và nhanh chóng s ẽ ti ế t ki ệ m r ấ t l ớ n v ề chi phí Ở Vi ệ t Nam, h ầ u h ế t m ọi ngƣời đề u s ử d ụ ng máy tính cài đặ t h ệ điề u hành Microsoft Windows c ủ a Microsoft vì tính ph ổ bi ế n và d ễ s ử d ụ ng, r ấ t nhi ề u ph ầ n m ề m ứ ng d ụ ng ch ạ y trên h ệ điề u hành c ủ a hãng này , đặ c bi ệ t là ứ ng d ụ ng qu ả n lý Windows Form là m ộ t công ngh ệ c ủa Microsoft, đƣợ c s ử d ụng để phát tri ể n r ấ t nhi ề u ứ ng d ụ ng v ề qu ả n lý, k ế toán, th ố ng kê, v v, s ử d ụ ng công ngh ệ Windows Form chúng ta có th ể t ạ o ra các ứ ng d ụ ng có giao di ện đẹ p và hi ện đạ i Windows Form xây d ự ng ứ ng d ụ ng theo cách ti ế p c ận hƣớng đối tƣợ ng: Giao di ệ n kéo, th ả d ễ s ử d ụ ng; g ắ n các event cho các control ch ỉ c ầ n double click và h ỗ tr ợ nhi ề u event nhƣ click , hover, v v Vi ết code cũng vô cùng trự c quan: T ừ vi ệ c l ấ y text t ừ TextBox cho t ớ i show thông tin b ằ ng MessageBox, ho ặc dùng DataGrid để k ế t n ố i cơ sở d ữ li ệ u Sau g ần 4 năm họ c t ậ p và tr ả i nghi ệ m th ự c t ế trên đị a bàn thành ph ố Tam K ỳ , b ả n thân nh ậ n th ấ y các doanh nghi ệ p ho ạt độ ng trong lĩnh vự c gi ải trí nhƣ Karaoke ở trên địa bàn đề u ở d ạ ng v ừ a và nh ỏ , r ấ t ít nh ững cơ sở quy mô l ớ n, ph ầ n l ớ n trong s ố nh ữ ng doanh nghi ệ p v ừ a và nh ỏ đó v ẫn dùng phƣơng pháp th ủ công để v ậ n hành làm t ố n kém ngu ồ n l ự c và chi phí Vì v ậ y b ả n thân r ấ t mu ố n xây d ự ng m ộ t s ả n ph ẩ m th ự c t ế có th ể áp d ụ ng cho các doanh nghi ệ p này S ả n ph ẩ m có th ể đƣợ c nhân r ộ ng ho ặ c m ở r ộng để phù h ợ p v ớ i t ừ ng mô hình doanh nghi ệp Và đây cũng là hƣớng đi tố t cho b ản thân để phát tri ể n s ự nghi ệ p sau này Xu ấ t phát t ừ tính ƣu việ t c ủ a công ngh ệ và s ự c ấ p bách c ủ a xã h ộ i, nên b ả n thân th ự c hi ện đề tài khóa lu ậ n t ố t nghi ệ p : “Ứ ng d ụ ng Windows Form C# NET xây d ự ng ph ầ n m ề m qu ả n lý quán Karaoke VIP Tam K ỳ” 4 1 2 M ụ c tiêu c ủa đề tài Xây d ự ng ph ầ n m ề m qu ả n lý Karaoke VIP Tam K ỳ 1 3 Đối tƣợ ng và ph ạ m vi nghiên c ứ u Ngôn ng ữ l ậ p trình C# N ề n t ả ng NET Framework Công ngh ệ Windows Form Mô hình 3 l ớ p (3 layers) H ệ qu ả n tr ị cơ sở d ữ li ệ u SQL Server & ADO NET Bunifu Framework & Metro Framework 1 4 Phƣơng pháp nghiên cứ u Nghiên c ứ u tài li ệ u: Bao g ồ m nh ữ ng tài li ệ u v ề cơ sở d ữ li ệ u, tài li ệ u v ề h ệ qu ả n tr ị cơ sở d ữ li ệ u SQL Server; tìm hi ể u tài li ệ u v ề cách l ậ p trình ứ ng d ụ ng Windows Form v ớ i ngôn ng ữ C#; tìm hi ể u tài li ệ u v ề cách phân tích, thi ế t k ế h ệ th ố ng theo hƣớ ng c ấ u trúc Nghiên c ứ u h ệ th ố ng qu ả n lý t ạ i Karaoke VIP Tam K ỳ : Ứ ng d ụ ng phƣơng pháp phát tri ể n ph ầ n m ềm theo mô hình thác nƣớ c v ớ i chu ỗ i quy trình: Kh ả o sát hi ệ n tr ạ ng - Phân tích - Thi ế t k ế - Cài đặ t - Ki ể m th ử - B ả o trì Trong phân tích h ệ th ống, đề tài s ử d ụ ng mô hình Th ự c th ể - M ố i quan h ệ và cơ sở d ữ li ệ u quan h ệ 5 1 5 L ị ch s ử nghiên c ứ u B ả ng 1 Ti ến độ công vi ệ c Th ờ i gian th ự c hi ệ n Công vi ệ c Sinh viên th ự c hi ệ n Ti ế n đ ộ 01/03/2019 - 08/03/2019 Kh ả o sát hi ệ n tr ạ ng và xác l ậ p d ự án Ph ạ m Thanh Th ị nh Hoàn thành 09/03/2019 - 16/03/2019 Phân tích ch ứ c năng h ệ th ố ng Ph ạ m Thanh Th ị nh Hoàn thành 17/03/2019 - 22/03/2019 Phân tích d ữ li ệ u và thi ế t k ế h ệ th ố ng Ph ạ m Thanh Th ị nh Hoàn thành 23/03/2019 - 30/04 /2019 L ậ p trình và ch ạ y th ử h ệ th ố ng Ph ạ m Thanh Th ị nh Hoàn thành 1 6 Đóng góp của đề tài Ph ầ n m ề m có giá tr ị ứ ng d ụ ng th ự c t ế , áp d ụ ng v ớ i mô hình quán Karaoke v ừ a & nh ỏ v ớ i các khâu nghi ệ p v ụ c ầ n thi ết để qu ả n lý m ộ t quán Karaoke bao g ồ m: Qu ả n lý bán hàng, th ống kê hóa đơn, quả n lý món, qu ả n lý danh m ụ c món, qu ả n lý phòng hát, qu ả n lý tài kho ả n Khi ph ầ n m ềm đƣợ c tri ể n khai s ẽ có hi ệ u qu ả v ề kinh t ế, trong đó có sự ti ế t ki ệ m v ề nhân l ự c và th ờ i gian 1 7 C ấu trúc đề tài Đề tài g ồ m 4 chƣơng, bao gồ m: Chƣơng 1: C ơ sở lý thuy ế t Chƣơng 2: Kh ả o sát hi ệ n tr ạ ng và xác l ậ p d ự án Chƣơng 3: Phân tích và thi ế t k ế h ệ th ố ng Chƣơng 4: C hƣơng trình demo 6 PH Ầ N 2 N Ộ I DUNG NGHIÊN C Ứ U CHƢƠNG 1 CƠ SỞ LÝ THUY Ế T 1 1 Gi ớ i thi ệ u v ề Windows Form C# NET 1 1 1 Gi ớ i thi ệ u v ề NET Framework Hình 1 1 Bi ểu tƣợ ng Microsoft NET Framework NET Framework là n ề n t ả ng l ập trình và cũng là nề n t ả ng th ự c thi ứ ng d ụ ng trên h ệ điề u hành Microsoft Windows đƣợ c phát tri ể n b ở i Microsoft Nhi ề u công c ụ đã đƣợ c t ạo ra để h ỗ tr ợ xây d ự ng ứ ng d ụ ng trên n ề n t ả ng NET Framework Trong đó Microsoft Visual Studio là IDE (Integrated Development Environment) đƣợ c phát tri ể n và h ỗ tr ợ b ở i Microsoft  Ki ế n trúc c ủ a NET Framework Ki ế n trúc c ủ a NET Framework g ồ m 2 ph ầ n: - CLR (Common Language Runtime - B ộ th ự c thi ngôn ng ữ chung): Ch ị u trách nhi ệ m th ự c thi mã l ệ nh và qu ả n lý các tác v ụ liên quan: Biên d ị ch, qu ả n lý b ộ nh ớ , b ả o m ậ t, v v - FCL (Framework Class Library - Thƣ việ n các l ớp cơ sở ): T hƣ việ n ch ứ a các l ớp cơ sở Thƣờng đƣợ c s ử d ụng để xây d ự ng các l ớp cao hơn 1 1 2 Gi ớ i thi ệ u v ề ngôn ng ữ C# C# là ngôn ng ữ l ập trình đơn giả n, hi ện đạ i, m ục đích tổng quát, hƣớng đố i tƣợng đƣợ c phát tri ể n b ởi Microsoft và đƣợ c phê chu ẩ n b ở i European Computer Manufacturers Association (ECMA) và International Standards Organization (ISO) C # đƣợ c phát tri ể n b ở i Anders Hejlsberg và team c ủ a ông trong khi phát tri ể n NET 7 Framework Phiên b ản C# đầu tiên đƣợ c phát hành là C# 1 0, đƣợ c phát hành vào tháng 1 năm 2002 , s ử d ụ ng n ề n t ả ng NET Framework phiên b ả n 1 0 trên Microsoft Visual Studio 2002 Dƣới đây là các lý do C# trở thành ngôn ng ữ l ậ p trình chuyên nghi ệp đƣợ c s ử d ụ ng r ộ ng rãi: C# là ngôn ng ữ l ậ p trình hi ện đạ i C# là ngôn ng ữ hƣớng đối tƣợ ng C# là ngôn ng ữ d ễ h ọ c C# là m ộ t ph ầ n c ủ a Net Framework 1 1 3 Gi ớ i thi ệ u công ngh ệ Windows Form Windows Form hay WinForm là công ngh ệ c ủ a Microsoft, cho phép l ậ p trình các ứ ng d ụ ng WinForm Nh ờ tính ti ệ n ích, d ễ code, giao di ệ n design kéo th ả đơn gi ả n, v v WinForm đã đƣợ c s ử d ụng để phát tri ể n r ấ t nhi ề u ứ ng d ụ ng v ề qu ả n lý, tính ti ề n, th ố ng kê, v v WinForm có giao di ệ n kéo, th ả d ễ s ử d ụ ng; g ắ n các event cho các control ch ỉ c ầ n double click và h ỗ tr ợ nhi ều event nhƣ click , hover, v v Vi ệ c vi ết code cũng vô cùng tr ự c quan: T ừ vi ệ c l ấ y text t ừ TextBox cho t ớ i show d ữ li ệ u b ằ ng MessageBox, ho ặ c dùng DataGridView để k ế t n ối cơ sở d ữ li ệ u SQL Server 1 1 4 Gi ớ i thi ệ u IDE Visual Studio Microsoft Visual Studio là m ộ t môi trƣờ ng phát tri ể n ứ ng d ụ ng, tích h ợp đầ y đủ các tính năng cho Android, iOS, Windows , web và cloud Microsoft Visual Studio l à IDE đƣợ c phát tri ể n b ở i Microsoft Microsoft Visual Studio bao g ồ m các thành ph ầ n chính: - Trình so ạ n th ả o - Trình biên d ị ch - Trình g ỡ l ỗ i  Các phiên b ả n c ủ a Microsoft Visual Studio 8 Visual Studio Community: Mi ễ n phí cho sinh viên, mã ngu ồ n m ở , phù h ợ p cho cá nhân s ử d ụ ng Visual Studio Professional: Chuyên nghi ệ p, phù h ợ p cho nhóm quy mô nh ỏ s ử d ụ ng Visual Studio Enterprise: M ở r ộng hơn phiên bả n Visual Studio Professional, phù h ợ p cho m ọi độ i nhóm s ử d ụ ng Đề tài s ử d ụ ng Visual Studio 2017 Community, vì tính ổn đị nh và s ử d ụ ng mi ễ n phí Hình 1 2 Bi ểu tƣợ ng Visual Studio 2017 1 2 Gi ớ i thi ệ u v ề h ệ qu ả n tr ị cơ sở d ữ li ệ u Sql Server và ADO NET 1 2 1 Gi ớ i thi ệ u v ề h ệ qu ả n tr ị cơ sở d ữ li ệ u Sql Server  Các khái ni ệ m Cơ sở d ữ li ệ u là m ộ t t ậ p h ợ p các d ữ li ệ u có t ổ ch ức, thƣờng đƣợ c t ổ ch ứ c thành b ả ng d ữ li ệ u H ệ qu ả n tr ị cơ sở d ữ li ệ u - DBMS (Database Management System) là h ệ th ố ng ph ầ n m ềm giúp tƣơng tác với cơ sở d ữ li ệ u SQL (Structured Query Language) là ngôn ng ữ truy v ấ n có c ấ u trúc , đƣợ c s ử d ụ ng trong h ệ qu ả n tr ị cơ sở d ữ li ệ u  Các phiên b ả n SQL Server Hình 1 3 Bi ểu tƣợ ng SQL Server 2014 9 SQL Server 2014 Express là m ộ t h ệ qu ả n tr ị cơ sở d ữ li ệ u quan h ệ (Relational Database Management System - RDBMS) s ử d ụ ng câu l ệ nh SQL (Transact - SQL) để trao đổ i d ữ li ệ u gi ữ a máy tính Client và máy tính cài SQL Server M ộ t RDBMS bao g ồ m databases, database engine và các ứ ng d ụng dùng để qu ả n lý d ữ li ệ u và các b ộ ph ậ n khác nhau trong RDBMS SQL Server 2014 Express đƣợ c t ối ƣu để có th ể ch ạy trên môi trƣờng cơ sở d ữ li ệ u r ấ t l ớn (Very Large Database Environment) lên đế n Tera-Byte và có th ể ph ụ c v ụ cùng lúc cho hàng ngàn User SQL Server có th ể k ế t h ợp “ăn ý” vớ i các S erver khác nhƣ Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server, v v Các phiên b ả n SQL Server khác: Enterprise: Ch ứ a t ấ t c ả các đặc điể m n ổ i b ậ t c ủ a SQL Server, bao g ồ m nhân c ủ a b ộ máy cơ sở d ữ li ệ u và các d ị ch v ụ đi kèm cùng vớ i các công c ụ cho phép t ạ o và qu ả n lý phân c ụ m SQL Server Nó có th ể qu ả n lý các cơ sở d ữ li ệ u l ớ n t ớ i 524 Petabyte và h ỗ tr ợ t ớ i 640 b ộ vi x ử lý (các Core c ủ a CPU) Standard: R ấ t thích h ợ p cho các công ty v ừ a và nh ỏ vì giá thành r ẻ hơn nhiề u so v ới Enterprise Edition, nhƣng lạ i b ị gi ớ i h ạ n m ộ t s ố ch ức năng cao cấ p (advanced features) khác, edition này có th ể ch ạ y t ố t trên h ệ th ống lên đế n 4 CPU và 2 GB RAM Developer: C ó đầy đủ các tính năng của Enterprise Edition nhƣng đƣợ c ch ế t ạo đặ c bi ệt nhƣ giớ i h ạ n s ố lƣợng ngƣờ i k ế t n ố i vào Server cùng m ộ t lúc, v v Ðây là phiên b ả n s ử d ụ ng cho phát tri ể n và ki ể m tra ứ ng d ụ ng Phiên b ả n này phù h ợ p cho các cá nhân, t ổ ch ứ c xây d ự ng và ki ể m tra ứ ng d ụ ng Workgroup: Phiên b ả n SQL Server Workgroup bao g ồ m ch ức năng chính , đủ dùng nhƣng không có các dị ch v ụ đi kèm Lƣu ý r ằ ng phiên b ả n này không còn t ồ n t ạ i ở SQL Server 2012 Express: SQL Server Express d ễ s ử d ụ ng và đơn giả n trong qu ả n tr ị cơ sở d ữ li ệ u Đƣợ c tích h ợ p Microsoft Visual Studio d ễ dàng để phát tri ể n các ứ ng d ụ ng SQL Server Express là phiên b ả n mi ễ n phí, không gi ớ i h ạ n v ề cơ sở d ữ li ệ u ho ặ c ngƣờ i s ử d ụng, nhƣng chỉ dùng cho 1 b ộ vi x ử lý v ớ i 1 GB b ộ nh ớ và 10 GB file cơ sở d ữ li ệ u SQL Server Express là l ự a ch ọ n t ố t cho nh ữ ng ngƣờ i dùng ch ỉ c ầ n 10 m ộ t phiên b ả n SQL Server nh ỏ g ọ n, dùng trên máy ch ủ có c ấ u hình th ấ p, nh ữ ng nhà phát tri ể n ứ ng d ụ ng không chuyên hay nh ững ngƣờ i yêu thích xây d ự ng các ứ ng d ụ ng nh ỏ 1 2 2 Gi ớ i thi ệ u v ề ADO NET UserInterface DataReader DataAdapter Command Connection DataProvider DataTable DataSet DataView XML Database Hình 1 4 Các đối tƣợ ng c ủ a ADO NET ADO NET là m ộ t t ậ p h ợp hƣớng đối tƣợng các thƣ viện cho phép tƣơng tác v ớ i ngu ồ n d ữ li ệ u (Data Sources) Thƣờ ng ngu ồ n d ữ li ệ u là m ộ t cơ sở d ữ li ệ u (Database), nhƣng có thể là m ộ t file text, b ả ng tính Excel ho ặ c m ộ t t ậ p tin XML  Data Providers Ứ ng v ớ i m ỗ i cơ sở d ữ li ệ u khác nhau thì ADO NET cho phép tƣơng tác cũng khác nhau M ột Data Providers đƣợ c s ử d ụng để k ế t n ối đế n cơ sở d ữ li ệ u , đọ c d ữ li ệ u, nh ậ n d ữ li ệ u, c ậ p nh ậ t d ữ li ệ u, v v trong DataSet và trong cơ sở d ữ li ệ u Tuy nhiên do có khá nhi ề u ngu ồ n d ữ li ệ u nên n ả y sinh nhi ề u giao th ứ c khác nhau; vì th ế để giao ti ếp đƣợ c v ớ i cơ sở d ữ li ệ u chúng ta ph ả i s ử d ụ ng giao th ứ c phù h ợ p v ớ i ngu ồ n d ữ li ệu đó Có các giao th ức nhƣ ODBC, OleDb hay các giao thứ c thông qua thƣ việ n NET c ủ a l ớ p ADO NET B ảng sau đây liệ t kê m ộ t s ố giao th ức thƣờ ng dùng 11 B ả ng 2 M ộ t s ố giao th ức thƣờ ng dùng Provider Name Tiền tố API Data Source ODBC Data Provider Odbc Dùng cho cơ sở dữ liệu cũ OleDb Data Provider OleDb Dùng cho cơ sở dữ liệu nhƣ Access, Excel Oracle Data Provider Oracle Dùng cho cơ sở dữ liệu Oracle SQL Data Provider Sql Dùng cho cơ sở dữ liệu SQL Server Borland Data Provider Bdp Dùng cho cơ sở dữ liệu Interbase, SQL Server, IBM DB2, Oracle  ADO NET Objects ADO NET bao g ồ m nhi ều đối tƣợ ng giúp chúng ta làm vi ệ c v ớ i d ữ li ệ u Ph ầ n này s ẽ gi ớ i thi ệu các đối tƣợng chính thƣờ ng s ử d ụ ng M ộ t s ố đối tƣợng đó là: SqlConnection Object: L à đối tƣợ ng k ế t n ố i cơ sở d ữ li ệ u nh ằm xác đị nh máy ch ủ (DatabaseServer), tên cơ sở d ữ li ệ u (Database Name), tên ngƣờ i dùng (UserName), m ậ t kh ẩ u (Password) và các thông s ố khác đƣợ c yêu c ầu để k ế t n ố i v ớ i cơ sở d ữ li ệ u B ảng sau đây hiể n th ị nh ững phƣơng thứ c hay s ử d ụ ng nh ấ t c ủ a m ột đối tƣợ ng k ế t n ố i B ả ng 3 Nh ững phƣơng thứ c hay s ử d ụ ng c ủ a m ột đối tƣợ ng k ế t n ố i Tên Mô tả ConnectionString Cung cấp thông tin nhƣ D ata S ource, tên cơ sở dữ liệu; đƣợc sử dụng để thiết lập kết nối với một cơ s ở d ữ li ệ u Open() Mở một kết nố i tới D ata S ource đƣợc khai báo tại ConnectionString Close() Đƣ ợc s ử dụng để đóng kết nối với Data S ource State Đƣợc sử dụng để kiểm tra trạng thái của một kết nối 0: K ết nối đang đóng, 1: K ết nối đang mở 12 SqlCommand Object: L à đối tƣợ ng th ự c thi các câu truy v ấ n SQL, Store Procedure, ho ặ c đƣợ c s ử d ụng để tham chi ếu đế n m ột đối tƣợ ng SqlDataAdapter SqlDataReader Object: Đối tƣợ ng DataReader cho phép l ấ y k ế t qu ả c ủ a m ộ t câu l ệ nh Select t ừ m ột đối tƣợ ng command DataSet Object: Ch ứ a nhi ều đối tƣợ ng DataTable, bên trong DataTable có nhi ề u column và row, gi ố ng các b ả ng cơ sở d ữ li ệ u (Database Table) thông thƣờ ng DataSet giúp qu ả n lý d ữ li ệ u trong b ộ nh ớ và h ỗ tr ợ các thao tác không c ầ n k ế t n ố i trên d ữ li ệu DataSet là đối tƣợng đƣợ c dùng b ở i t ấ t c ả DataProvider SqlDataAdapter: DataAdapter giúp qu ả n lý d ữ li ệ u trong ch ế độ ng ắ t k ế t n ố i (Disconnect) khi d ữ li ệ u chúng ta làm vi ệ c là read-only, khi chúng ta ít khi thay đổ i d ữ li ệ u ngu ồ n, khi c ần lƣu trữ t ạ m d ữ li ệ u trong b ộ nh ớ để h ạ n ch ế truy xu ất đế n cơ s ở d ữ li ệ u DataAdapter s ẽ đẩ y d ữ li ệu vào DataSet khi đọ c d ữ li ệ u và th ự c hi ệ n thay đổ i t ấ t c ả d ữ li ệ u vào Database khi có k ế t n ố i Ngoài ra DataAdapter ch ứa đố i tƣợ ng command cho nh ữ ng thao tác Select, Insert, Update và Delete DataSet DataAdapter DataSource Hình 1 5 M ố i liên h ệ DataSet & DataAdapter & DataSource 1 3 Gi ớ i thi ệ u mô hình 3 l ớ p Mô hình 3 l ớ p (ki ế n trúc 3 l ớ p) - 3 layers: Là mô hình chia ứ ng d ụ ng thành 3 ph ầ n riêng bi ệ t, m ỗ i ph ầ n có nh ữ ng ch ức năng khác nhau Chia ứ ng d ụ ng ra 3 ph ầ n giúp mã ngu ồ n ứ ng d ụng đƣợc rõ ràng hơn, việ c ch ỉ nh s ử a hay nâng c ấ p ứ ng d ụ ng s ẽ đơn giản hơn Khác v ớ i mô hình 3 t ầ ng - 3 tiers, mô hình 3 layers là mô hình logic, còn 3 tiers là mô hình v ậ t lý s ử d ụ ng cho h ệ th ố ng nhi ều máy tính liên quan đế n các thi ế t b ị m ạng, nhƣng về cơ bản 2 mô hình cũng có nhiều điể m gi ố ng nhau Mô hình 3 l ớ p là m ộ t Design Pattern - m ẫ u thi ế t k ế có s ẵ n, dùng gi ả i quy ế t m ộ t v ấn đề Áp d ụ ng m ẫ u thi ế t k ế này s ẽ làm code d ễ b ả o trì, d ễ m ở r ộ ng hơn 13 Lƣu ý rằ ng n ế u áp d ụ ng mô hình 3 l ớp không đúng cách có thể làm cho m ộ t project tr ở nên ph ứ c t ạ p, r ố i r ắ m  Ki ế n trúc mô hình 3 l ớ p (3 layers) USER BLL GUI DAL DTO DATABASE Dataset Hình 1 6 Ki ế n trúc mô hình 3 l ớ p (3 layers) Ứ ng d ụ ng chia làm 3 l ớ p, m ỗ i l ớ p có ch ứ c năng khác nhau:  Presentation Layer (GUI) Là giao di ệ n c ủ a m ộ t ứ ng d ụ ng Windows Form Ch ức năng chính củ a l ớ p là trình bày d ữ li ệ u và nh ậ p li ệ u L ớ p giao di ệ n là ph ầ n User có th ể nhìn th ấ y  Business Logic Layer (BLL) (chung vào l ớ p GUI) L ớ p khai báo các phƣơng thứ c x ử lý - Business Logic Layer Ch ức năng củ a l ớ p này là ki ể m tra các yêu c ầ u nghi ệ p v ụ trƣớ c khi c ậ p nh ậ t d ữ li ệ u, qu ả n lý các transaction, v v  Data Access Layer (DAL) L ớ p x ử lý d ữ li ệ u - Data Access Layer Ch ức năng củ a DAL là k ế t n ố i cơ sở d ữ li ệ u, tìm ki ế m, thêm, xóa, s ửa, v v trên cơ sở d ữ li ệ u L ớ p DAL có th ể s ử d ụ ng ADO NET , Entity Framework để x ử lý 14  Data Transfer Object (DTO) Đối tƣợng trao đổ i d ữ li ệ u - Data Transfer Object đóng vai trò là bả ng cơ sở d ữ li ệ u c ủ a ứ ng d ụ ng Windows Form Có nhi ề u cách t ổ ch ứ c project theo mô hình 3 l ớ p, l ậ p trình viên có th ể tùy theo thói quen, tùy theo yêu c ầ u m ở r ộ ng h ệ th ố ng, v v mà có th ể t ổ ch ứ c m ộ t project h ợ p lý Sau đây là m ộ t project t ổ ch ứ c theo mô hình 3 l ớ p Hình 1 7 C ấ u trúc c ủ a m ộ t project Folder DAO hay DAL là l ớ p x ử lý d ữ li ệ u Folder DTO là đối tƣợng trao đổ i d ữ li ệ u, ch ứ a các b ả ng cơ sở d ữ li ệ u c ủ a ứ ng d ụ ng Folder Forms và folder UserControls đóng vai trò là l ớ p GUI c ủ a ứ ng d ụ ng L ớ p BLL (l ớp khai báo các phƣơng thứ c x ử lý) n ằ m chung trong l ớ p GUI 15 1 4 Gi ớ i thi ệ u Bunifu Framework và Metro Framework Bunifu Framework và Metro Framework là 2 framework giúp ứ ng d ụ ng Windows Form có giao di ệ n đẹ p và hi ện đạ i 1 4 1 Gi ớ i thi ệ u Metro Framework Metro Framework mang l ạ i giao di ệ n gi ố ng Windows 8 cho các ứ ng d ụ ng Windows Form  H ỗ tr ợ h ệ điề u hành Windows XP SP1/SP2/SP3 Windows Vista Windows 7 Windows 8 Windows 10  Trang web truy c ậ p https://www nuget org/packages/MetroModernUI/  Cách cài đặ t Vào Visual Studio m ở Package Manager Console theo đƣờ ng d ẫ n: Tools/Nuget Package Manager/Package Manager Console Sau đó gõ lệ nh sau vào Package Manager Console: Install-Package MetroModernUI -Version 1 4 0 và nh ấ n Enter Hình 1 8 C ử a s ổ Package Manager Console 16 1 4 2 Gi ớ i thi ệ u Bunifu Framework Mang l ạ i giao di ệ n cong m ề m m ạ i cho ứ ng d ụ ng  N ề n t ảng đƣợ c h ỗ tr ợ Visual Studio Windows Form C# NET Visual Studio VB NET  Trang web truy c ậ p https://bunifuframework com/  Cách cài đặ t Trong m ụ c Solution c ủ a Visual Studio, kích chu ộ t ph ả i vào References ch ọ n Add References, m ở h ộ p tho ạ i References Manager, ch ọ n Browse , sau đó Add t ấ t c ả thƣ việ n c ủa Bunifu Framework có đuôi file là dll vào Hình 1 9 H ộ p tho ạ i Reference Manager 17 Hình 1 10 Danh sách thƣ việ n c ủ a Bunifu Framework Hình 1 11 K ế t qu ả add references 18 CHƢƠNG 2 KH Ả O SÁT HI Ệ N TR Ạ NG VÀ XÁC L Ậ P D Ự ÁN 2 1 Kh ả o sát hi ệ n tr ạ ng 2 1 1 Quy trình bán hàng c ủ a h ệ th ống cũ Bƣớ c 1: T ạ i qu ầ y thu ngân nhân viên thu ngân giúp khách hàng đặ t phòng hát và nhân viên thu ngân đặ t món mà khách yêu c ầ u ho ặ c nhân viên ph ụ c v ụ mang vào phòng hát nh ữ ng món/đồ u ố ng quán mu ố n có s ẵ n ở các phòng hát để khác hàng ti ệ n s ử d ụ ng Nhân viên thu ngân b ắt đầ u tính th ờ i gian b ắt đầ u s ử d ụ ng d ị ch v ụ Bƣớ c 2: Khách hàng s ử d ụ ng xong d ị ch v ụ phòng karaoke và g ọ i nhân viên ph ụ c v ụ để thanh toán Nhân viên ph ụ c v ụ báo cho nhân viên thu ngân để nhân viên thu ngân ki ể m tra th ờ i gian k ế t thúc d ị ch v ụ t ừ đó bi ết đƣợ c khách hàng đã dùng phòng hát h ế t bao nhiêu th ờ i gian; nhân viên ph ụ c v ụ ki ể m tra k hách hàng đã dùng h ết bao nhiêu món, sau đó trừ ra đƣợ c s ố lƣợ ng mà khách hàng s ử d ụ ng trên th ự c t ế và báo l ạ i nhân viên thu ngân Nhân viên ph ụ c v ụ báo s ố lƣợng món khách hàng đã s ử d ụ ng và th ờ i gian s ử d ụ ng d ị ch v ụ cho nhân viên thu ngân để nhân viên thu ngân tính ti ề n d ị ch v ụ Bƣớ c 3: Thu ngân tính ti ề n d ị ch v ụ bao g ồ m ti ề n món và ti ề n hát Ti ề n hát đƣợ c tính d ự a trên th ờ i gian hát và lo ại phòng hát đã sử d ụ ng Ti ền món đƣợ c tính theo đơn gi á món, món đƣợ c bán l ẻ , không tính giá s ỉ Bƣớ c 4: Thu ngân in hóa đơn và giao hóa đơn cho khách hàng Bƣớ c 5: Khách hàng ki ểm tra hóa đơn, n ế u không có sai sót thì tr ả ti ề n s ử d ụ ng d ị ch v ụ và ra v ề  Các trƣờ ng h ợ p phát sinh Th1: Khách hàng g ọ i thêm món Th2: Khách hàng chuy ể n phòng  Cơ cấ u t ổ ch ứ c quán karaoke Nhân viên qu ả n lý Nhân viên thu ngân và nhân viên ph ụ c v ụ 19 Hóa đơn thanh toán S ố hóa đơn: ……… …………… Phòng hát: …………………………………………………………………… Lo ạ i phòng: ……………………… ………………………………………… Gi ờ vào: ……………………………… …………………………………… Gi ờ ra: ……… ……………………………………………………………… STT Tên d ị ch v ụ Đơn giá S ố lƣ ợ ng Thành ti ề n Ti ền hát: ………………… … ……………………………………………… Ti ề n d ị ch v ụ: ……………… ………………………………………………… T ổ ng ti ền thanh toán: ………………………………………………………… Ngƣờ i bán ……………………………… 2 1 2 Các lo ạ i bi ể u m ẫ u Hình 2 1 Hóa đơn thanh toán 2 2 Xác l ậ p d ự án 2 2 1 H ạ n ch ế c ủ a h ệ th ố ng cũ  An toàn d ữ li ệ u C ác thông tin kinh doanh đƣợc lƣu trữ trên gi ấ y, s ổ Lƣu trữ không t ậ p trung m ộ t ch ỗ (nhi ề u lo ạ i s ổ , nhi ề u lo ạ i gi ấ y t ờ ) d ễ gây m ấ t mát d ữ li ệ u  Nhân l ự c C ầ n nhi ề u nhân l ực để v ậ n hành h ệ th ố ng 20 2 2 2 Yêu c ầ u chi ti ế t c ủ a h ệ th ố ng m ớ i  H ệ th ố ng ph ầ n m ề m bao g ồ m nh ữ ng ch ức năng Qu ả n lý bán hàng: G ọ i món, chuy ển bàn, thanh toán, in hóa đơn Qu ả n lý th ố ng kê hóa đơn: T h ống kê hóa đơn đã thanh toán, lậ p báo cáo Qu ả n lý món: Thêm, xóa, s ử a, xem, tìm ki ế m món Qu ả n lý danh m ụ c món: Thêm, xóa, s ử a, xem danh m ụ c món Qu ả n lý phòng hát: Thêm, xóa, s ử a, xem phòng hát Qu ả n lý tài kho ả n: Thêm, xóa, s ử a, xem tài kho ản, đặ t l ạ i m ậ t kh ẩ u m ặ c đị nh , đổ i m ậ t kh ẩ u 2 2 3 Nh ữ ng yêu c ầ u chung v ề ch ức năng c ủ a h ệ th ố ng m ớ i  Phân quy ền ngƣờ i dùng Nhân viên ch ỉ có quy ề n truy c ậ p vào ch ức năng quả n lý bán hàng c ủ a h ệ ph ầ n m ề m Qu ả n lý có quy ề n truy c ậ p vào t ấ t c ả ch ứ c năng củ a h ệ th ố ng bao g ồ m: Qu ả n lý bán hàng, th ố ng kê hóa đơn , qu ả n lý món, qu ả n lý danh m ụ c món, qu ả n lý phòng hát, qu ả n lý tài kho ả n  An toàn d ữ li ệ u Các thông tin kinh doanh đƣợc lƣu trữ trên m ộ t máy tính duy nh ấ t và độ c l ậ p D ữ li ệ u đƣợ c s ố hóa và có th ể xu ấ t ra b ả n gi ấ y khi c ầ n thi ế t  Nhân l ự c H ệ th ố ng m ớ i c ầ n ít nhân l ực hơn hệ th ống cũ 21 CHƢƠNG 3 PHÂN TÍCH VÀ THI Ế T K Ế H Ệ TH Ố NG 3 1 Phân tích và thi ế t k ế ch ức năng h ệ th ố ng 3 1 1 Bi ểu đồ phân c ấ p ch ức năng FDD c ủ a h ệ th ố ng 0 Hệ thống phần mềm quản lý quán karaoke 1 Quản lý bán hàng 1 1 Đặt phòng 1 2 Thêm món 1 3 Chuyển phòng 1 4 Thanh toán 1 5 In hóa đơn 2 Thống kê hóa đơn 2 1 Xem thống kê 2 2 Tạo báo cáo 3 Quản lý món 3 1 Thêm món 3 2 Xóa món 4 Quản lý danh mục món 4 1 Thêm danh mục món 4 2 Xóa danh mục món 3 3 Sửa món 5 Quản lý phòng hát 6 Quản lý tài khoản 3 4 Xem món 3 5 Tìm món 4 3 Sửa danh mục món 4 4 Xem danh mục món 5 1 Thêm phòng hát 5 2 Xóa phòng hát 5 3 Sửa phòng hát 5 4 Xem phòng hát 6 1 Thêm tài khoản 6 2 Xóa tài khoản 6 3 Sửa tài khoản 6 4 Xem tài khoản 6 5 Đặt lại mật khẩu mặc định 6 6 Đổi mật khẩu Hình 3 1 Bi ểu đồ phân c ấ p ch ức nă ng FDD ph ầ n m ề m qu ả n lý quán karaoke 22 3 1 2 Bi ểu đồ lu ồ ng d ữ li ệ u DFD m ứ c ng ữ c ả nh 0 Hệ thống phần mềm quản lý quán Karaoke Thông tin trả về Yêu cầu thông tin Quản lý Thu ngân Hình 3 2 Bi ểu đồ DFD m ứ c ng ữ c ả nh 23 3 1 3 Bi ểu đồ lu ồ ng d ữ li ệ u DFD m ức đỉ nh 1 Quản lý bán hàng 2 Thống kê hóa đơn 3 Quản lý món 4 Quản lý danh mục món 5 Quản lý phòng hát 6 Quản lý tài khoản Quản lý Thu ngân Phòng Món Hóa đơn Bán hàng Chi tiết hóa đơn Danh mục món Hóa đơn Món Danh mục món Thông tin trả về Yêu cầu tùy chỉnh phòng hát Thông tin trả về Phòng Tài khoản Yêu cầu tùy chỉnh tài khoản Thông tin trả về Bán hàng Yêu cầu xem thống kế hóa đơn Danh sách hóa đơn đã thanh toán Yêu cầu tùy chỉnh món Yêu cầu tùy chỉnh danh mục món Thông tin trả về Thông tin bán hàng Thông tin bán hàng Hình 3 3 Bi ểu đồ DFD m ức đỉ nh 24 3 1 4 Bi ểu đồ lu ồ ng d ữ li ệ u DFD m ức dưới đỉ nh  DFD di ễ n t ả ch ức năng 1 - Qu ả n lý bán hàng Quản lý Thu ngân 1 2 Gọi món Thêm/ bớt món Danh sách món Danh sách món Thêm/ bớt món 1 3 Chuyển phòng Hóa đơn Món 1 4 Thanh toán Thực hiện chuyển phòng Xác nhận chuyển phòng Thực hiện chuyển phòng Xác nhận chuyển phòng Thực hiện thanh toán Thực hiện thanh toán Xác nhận thanh toán Xác nhận thanh toán 1 5 In hóa đơn 1 1 Đặt phòng Xác nhận đặt phòng Xác nhận đặt phòng Thực hiện đặt phòng Thực hiện đặt phòng Trả về hóa đơn Trả về hóa đơn Thực hiện in hóa đơn Thực hiện in hóa đơn Hình 3 4 DFD di ễ n t ả ch ức năng q u ả n lý bán hàng  DFD di ễ n t ả ch ức năng 2 – Th ống kê hóa đơn Quản lý 2 1 Xem thống kê Danh sách hóa đơn Yêu cầu xem thống kê Hóa đơn 2 2 Tạo báo cáo Yêu cầu tạo báo cáo Báo cáo Hình 3 5 DFD di ễ n t ả ch ức năng th ố ng kê hóa đơn 25  DFD di ễ n t ả ch ức năng 3 - Qu ả n lý món 3 1 Thêm món 3 2 Sửa món 3 3 Xóa món 3 4 Xem món 3 5 Tìm kiếm món Hóa đơn Quản lý Thông tin trả về Yêu cầu Yêu cầu Thông tin trả về Thông tin trả về Yêu cầu Danh sách món tương ứng Nhập từ khóa Yêu cầu Danh sách món Hình 3 6 DFD di ễ n t ả ch ức năng Qu ả n lý món  DFD di ễ n t ả ch ức năng 4 - Qu ả n lý danh m ụ c món 4 1 Thêm danh mục món 4 2 Sửa danh mục món 4 3 Xóa danh mục món 4 4 Xem danh mục món Danh mục món Quản lý Thông tin trả về Yêu cầu Yêu cầu Thông tin trả về Thông tin trả về Yêu cầu Danh sách danh mục món Yêu cầu 26 Hình 3 7 DFD di ễ n t ả ch ức năng Quả n lý danh m ụ c món  DFD di ễ n t ả ch ức năng 5 - Qu ả n lý phòng hát 5 1 Thêm phòng 5 2 Sửa phòng 5 3 Xóa phòng 5 4 Xem phòng Phòng hát Quản lý Thông tin trả về Yêu cầu Yêu cầu Thông tin trả về Thông tin trả về Yêu cầu Danh sách phòng Yêu cầu Hình 3 8 DFD di ễ n t ả ch ức năng q u ả n lý phòng hát 27  DFD di ễ n t ả ch ức năng 6 - Qu ả n lý tài kho ả n 6 1 Thêm tài khoản 6 2 Sửa tài khoản 6 3 Xóa tài khoản 6 4 Xem tài khoản Tài khoản Quản lý Thông tin trả về Yêu cầu Yêu cầu Thông tin trả về Thông tin trả về Yêu cầu Danh sách tài khoản Yêu cầu 6 5 Đặt lại mật khẩu mặc định Yêu cầu Thông tin trả về 6 6 Đổi mật khẩu Yêu cầu đổi Xác nhận đổi mật khẩu Hình 3 9 DFD di ễ n t ả ch ức năng Quả n lý tài kho ả n 28 3 2 Phân tích và thi ế t k ế d ữ li ệ u h ệ th ố ng 3 2 1 Bi ểu đồ th ự c th ể - m ố i quan h ệ (ER) a) Bi ểu đồ ER Hình 3 10 Bi ểu đồ ER 29 b) Đặ c t ả các th ự c th ể TaiKhoan(TenDangNhap, TenHienThi, MatKhau, MaLoaiTaiKhoan) LoaiTaiKhoan(MaLoaiTaiKhoan, TenLoaiTaiKhoan) HoaDon(MaHoaDon, ThoiGianVao, TrangThai, MaPhongHat, TongTien) ChiTietHoaDon(MaChiTietHoaDon, MaHoaDon, MaMon, SoLuongMon) PhongHat(MaPhongHat, TenPhongHat, TrangThai, MaLoaiPhong, GiaPhong) LoaiPhong(MaLoaiPhong, TenLoaiPhong) Mon(MaMon, TenMon, MaDanhMucMon, Gia) DanhMucMon(MaDanhMucMon, TenDanhMucMon) 3 2 2 Chuy ể n v ề mô hình R và chu ẩ n hóa R a) Mô hình R Hình 3 11 Mô hình R 30 b) Chu ẩ n hóa R TaiKhoan(TenDangNhap, TenHienThi, MatKhau, MaLoaiTaiKhoan) LoaiTaiKhoan(MaLoaiTaiKhoan, TenLoaiTaiKhoan) HoaDon(MaHoaDon, ThoiGianVao, TrangThai, MaPhongHat, TongTien) ChiTietHoaDon(MaChiTietHoaDon, MaHoaDon, MaMon, SoLuongMon) PhongHat(MaPhongHat, TenPhongHat, TrangThai, MaLoaiPhong, GiaPhong) LoaiPhong(MaLoaiPhong, TenLoaiPhong) Mon(MaMon, TenMon, MaDanhMucMon, Gia) DanhMucMon(MaDanhMucMon, TenDanhMucMon) 3 2 3 Thi ế t k ế các b ả ng d ữ li ệ u B ả ng 4 B ả ng chi ti ết hóa đơn (ChiTietHoaDon) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaChiTietHoaDon int PK Mã chi ti ế t hoán đơn MaHoaDon int FK Mã h óa đơn MaMon int FK Mã món SoLuongMon int not null S ố lƣ ợ ng món B ả ng 5 B ả ng danh m ụ c món (DanhMucMon) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaDanhMucMon int PK Mã danh m ụ c món TenDanhMucMon nvarchar(100) not null Tên danh m ụ c món 31 B ả ng 6 B ảng hóa đơn (HoaDon) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaHoaDon int PK Mã hóa đơn ThoiGian Vao date not null Th ờ i gian vào TrangThai int not null Tr ạ ng thái MaPhongHat int FK Mã phòng hát TongTien int not null T ổ ng ti ề n B ả ng 7 B ả ng lo ạ i phòng (LoaiPhong) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaLoaiPhong int PK Mã lo ạ i phòng TenLoaiPhong nvarchar(100) not null Tên lo ạ i phòng B ả ng 8 B ả ng lo ạ i tài kho ả n (LoaiTaiKhoan) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaLoaiTaiKhoan int PK Mã lo ạ i tài kho ả n TenLoaiTaiKhoan nvarchar(100) not null Tên lo ạ i tài kho ả n B ả ng 9 B ả ng món (Mon) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaMon int PK Mã món TenMon nvarchar(100) not null Tên món 32 MaDanhMucMon int FK Mã danh m ụ c món Gia f loat not null Giá B ả ng 10 B ả ng phòng hát (PhongHat) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả MaPhongHat int PK Mã phòng hát TenPhongHat nvarchar(100) not null Tên phòng hát TrangThai int FK Tr ạ ng thái MaLoaiPhong f loat not null Mã lo ạ i phòng GiaPhong int FK Giá phòng B ả ng 11 B ả ng tài kho ả n (TaiKhoan) Tên trƣ ờ ng Ki ể u d ữ li ệ u Ràng bu ộ c Mô t ả TenDangNhap nvarchar(100) PK Tên đăng nh ậ p TenHienThi nvarchar(100) null Tên hi ể n th ị MatKhau nvarchar(1000) not null M ậ t kh ẩ u MaLoaiTaiKhoan int FK S ố lƣ ợ ng món 33 3 2 4 Mô hình quan h ệ m ứ c v ậ t lý Hình 3 12 Mô hình quan h ệ m ứ c v ậ t lý 34 3 3 Phân tích và thi ế t k ế giao di ệ n h ệ th ố ng 3 3 1 Ch ức năng đăng nhậ p Hình 3 13 Ch ức năng đăng nhậ p Mô t ả ch ức năng đăng nhậ p: Trƣớ c khi vào s ử d ụng các tính năng và nghiệ p v ụ c ủ a ph ầ n m ề m c ầ n thông qua bƣớc đăng nhập Để đăng nhậ p ph ả i nh ập 2 thông tin: Tên đăng nhậ p và m ậ t kh ẩ u, sau đó nhấn vào nút “đăng nhập” để đăng nhậ p vào ph ầ n m ề m Tài kho ản đăng nhậ p có 2 lo ạ i: Tài kho ả n qu ả n lý (truy c ập đƣợ c t ấ t c ả các tính năng nghiệ p v ụ ) và tài kho ả n nhân viên (ch ỉ truy c ập đƣợ c nghi ệ p v ụ bán hàng) B ả ng 12 Ch ức năng đăng nhậ p Màn hình Đăng nh ậ p Mô t ả Màn hình đăng nh ậ p h ệ th ố ng ph ầ n m ề m qu ả n lý quán karaoke Cách truy c ậ p Ngƣ ờ i dùng kích đúp vào bi ể u tƣ ợ ng ph ầ n m ề m trên màn hình Desktop N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Tên đăng nh ậ p Label Nhãn “Tên đăng nh ậ p” 35 Tên đăng nh ậ p TextBox String Nh ậ p vào tên đăng nh ậ p M ậ t kh ẩ u Label Nhãn “M ậ t kh ẩ u” M ậ t kh ẩ u Label String Nh ậ p vào m ậ t kh ẩ u Đăng nh ậ p Button Nh ấ n vào nút “đăng nh ậ p” đ ể đăng nh ậ p Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Đăng nh ậ p Ngƣ ờ i dùng nh ấ n vào nút “đăng nh ậ p” Đăng nh ậ p vào h ệ th ố ng ph ầ n m ề m qu ả n lý đ ể th ự c hi ệ n các ch ứ c năng nhi ệ m v ụ H ệ th ố ng báo l ỗ i: “Sai tên đăng nh ậ p ho ặ c m ậ t kh ẩ u” 3 3 2 Ch ức năng quả n lý bán hàng Hình 3 14 Ch ức năng quả n lý bán hàng Mô t ả ch ức năng qu ả n lý bán hàng:  Th ực đơn phòng hát 36 Th ực đơn phòng hát chứ a nh ững món mà ngƣờ i dùng mu ố n có s ẵ n trong t ấ t c ả các phòng karaoke Th ực đơn này có thể là: H ạt dƣa, hƣớng dƣơng, bim bim, v v Những đồ u ố ng có s ẵ n trong phòng mà khách hàng có th ể l ấy để dùng  Sơ đồ phòng hát Sơ đồ phòng s ẽ hi ể n th ị tr ạng thái các phòng đã có khách hay chƣa có khách Phòng đã có khách sẽ hi ể n th ị “có ngƣời”, phòng chƣa có khách sẽ hi ể n th ị “trống” Ngoài ra, sơ đồ phòng s ẽ hi ể n th ị phòng thƣờ ng hay phòng vip, giá c ủ a 2 lo ạ i phòng s ẽ khác nhau  Thu ti ề n khách hàng Nh ấ p chu ột vào nút “thanh toán” để xác nh ận thanh toán và in hóa đơn  Đổ i phòng cho khách hàng Ngƣờ i dùng nh ấ p chu ộ t vào phòng c ầ n chuy ển, sau đó chọ n phòng s ẽ đổ i cho khách hàng và nh ấn vào nút “chuyển phòng”, hệ th ố ng s ẽ th ự c hi ệ n nghi ệ p v ụ chuy ể n phòng cho khách hàng, h ệ th ố ng s ẽ chuy ể n toàn b ộ th ực đơn và thờ i gian b ắt đầ u s ử d ụ ng t ừ phòng cũ sang phòng mớ i B ả ng 13 Ch ức năng quả n lý bán hàng Màn hình Qu ả n lý bán hàng Mô t ả Các ch ứ c năng nghi ệ p v ụ bán hàng, bao g ồ m: Th ự c đơn phòng hát, sơ đ ồ phòng hát, thu ti ề n khách hàng, đ ổ i phòng hát Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “bán hàng” đ ể vào ch ứ c năng qu ả n lý bán hàng N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Món Combobox String Danh sách món Danh m ụ c món Combobox String Danh sách danh m ụ c món 37 Thêm món Button Nh ấ n vào nút “thêm món” đ ể đ ặ t món S ố lƣ ợ ng món NumericUpDo wn Int S ố lƣ ợ ng món Sơ đ ồ phòng Button Sơ đ ồ phòng hi ể n th ị tr ạ ng thái phòng Danh sách món ListView String, int, float Danh sách món đã đ ặ t Chuy ể n phòng Button Nút “chuy ể n phòng” Danh sách phòng Combobox String Danh sách phòng Thanh toán Button Nút “thanh toán” T ổ ng ti ề n Textbox Float T ổ ng ti ề n c ầ n thanh toán Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Thêm món Ngƣ ờ i dùng nh ấ n vào nút “thêm món” Món đƣ ợ c thêm s ẽ hi ể n th ị trong danh sách món Món đƣ ợ c thêm s ẽ không hi ể n th ị trong danh sách món Chuy ể n phòng Ngƣ ờ i dùng nh ấ n vào nút “chuy ể n phòng” Thông tin v ề hóa đơn chƣa đƣ ợ c thanh toán s ẽ chuy ể n t ừ phòng cũ sang phòng m ớ i Thông tin v ề hóa đơn chƣa đƣ ợ c thanh toán s ẽ không chuy ể n t ừ phòng cũ sang phòng m ớ i Thanh toán Ngƣ ờ i dùng nh ấ n vào nút “thanh toán” H ệ th ố ng xu ấ t thông báo: “B ạ n xác nh ậ n thanh toán hóa đơn?” H ệ th ố ng không xu ấ t thông báo: “B ạ n xác nh ậ n thanh toán hóa đơn?” 38 3 3 3 Ch ức năng thống kê hóa đơn Hình 3 15 Ch ức năng quả n lý th ố ng kê Mô t ả ch ức năng qu ả n lý th ố ng kê: Th ố ng kê t ấ t c ả nh ững hóa đơn củ a khách hàng t ừ trƣớ c t ớ i nay M ặc đị nh s ẽ hi ể n th ị hóa đơn củ a tháng hi ệ n t ại, ngƣờ i dùng có th ể tùy ch ỉnh để xem hóa đơn c ủ a nh ữ ng tháng khác, ho ặc hóa đơn trong ngày Nghiệ p v ụ th ống kê hóa đơn chỉ th ố ng kê nh ững hóa đơn đã thanh toán B ả ng 14 Ch ức năng quả n lý th ố ng kê Màn hình Qu ả n lý th ố ng kê hóa đơn Mô t ả Danh sách hóa đơn đã thanh toán Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “qu ả n lý” sau đó kích vào nút “th ố ng kê hóa đơn” đ ể vào ch ứ c năng qu ả n lý t h ố ng kê hóa đơn N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Ngày b ắ t đ ầ u DateTimePicker Datetime Ngày b ắ t đ ầ u th ố ng kê 39 Ngày k ế t thúc DateTimePicker Datetime Ngày k ế t thúc th ố ng kê Th ố ng kê Button Nút “th ố ng kê” Danh sách hóa đơn DataGridView String, int, datetime Danh sách hóa đơn đã thanh toán Trang đ ầ u Button Nút “trang đ ầ u” Trang trƣ ớ c đó Button Nút “trang trƣ ớ c đó” Trang k ế ti ế p Button Nút “trang k ế ti ế p” Trang cu ố i Button Nút “trang cu ố i” S ố trang TextBox Hi ể n th ị s ố trang Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Th ố ng kê Ngƣ ờ i dùng nh ấ n vào nút “th ố ng kê” Hi ể n th ị danh sách hóa đơn đã thanh toán vào “danh sách hóa đơn” Danh sách hóa đơn s ẽ không đƣ ợ c hi ể n th ị vào “danh sách hóa đơn” Trang đ ầ u Ngƣ ờ i dùng nh ấ n vào nút “trang đ ầ u” Hi ể n th ị danh sách 10 hóa đơn đ ầ u tiên Không hi ể n th ị danh sách 10 hóa đơn đ ầ u tiên Trang trƣ ớ c đó Ngƣ ờ i dùng nh ấ n vào nút “trang trƣ ớ c đó” Hi ể n th ị danh sách 10 hóa đơn trƣ ớ c đó Không hi ể n th ị danh sách 10 hóa đơn trƣ ớ c đó Trang sau đó Ngƣ ờ i dùng nh ấ n vào nút “trang sau đó” Hi ể n th ị danh sách 10 hóa đơn sau đó Không hi ể n th ị danh sách 10 hóa đơn sau đó 40 Trang cu ố i Ngƣ ờ i dùng nh ấ n vào nút “trang cu ố i” Hi ể n th ị danh sách 10 hóa đơn cu ố i cùng Không hi ể n th ị danh sách 10 hóa đơn cu ố i cùng 3 3 4 Ch ức năng quả n lý món Hình 3 16 Ch ức năng quả n lý món Mô t ả ch ức năng qu ả n lý món: Bên trên màn hình là danh sách món, bao g ồ m: Mã món, tên món, mã danh m ụ c món, tên danh m ụ c món, giá Bên dƣớ i màn hình là thông tin chính c ầ n qu ả n lý, bao g ồ m: Mã món, tên món, danh m ụ c món, giá; các thông tin c ầ n qu ản lý đƣợ c binding v ớ i danh sách món  Thêm món Để thêm món, ngƣời dùng thêm thông tin vào bên dƣới màn hình Sau đó nh ấn vào nút “thêm món” Nếu món đƣợ c thêm s ẽ hi ể n th ị t hông báo: “Đã thêm món”, nếu món chƣa đƣợ c thêm s ẽ hi ể n th ị thông báo: “Xả y ra l ỗi khi thêm món” M ỗ i l ần thêm đƣợ c m ột món, không thêm đƣợ c cùng lúc nhi ề u món  Xóa món 41 Để xóa món, ngƣờ i dùng ch ọ n món c ầ n xóa trong danh sách bên trên màn hình Sau đó nhấ n vào nút “xóa món” Nếu món đƣợ c xóa hi ể n th ị thông báo: “Đã xóa món”, nếu món chƣa đƣợ c xóa s ẽ hi ể n th ị thông báo: “Xả y ra l ỗi khi xóa món” M ỗ i l ần xóa đƣợ c m ột món, không xóa đƣợ c cùng lúc nhi ề u món  S ử a món Để s ửa món, ngƣờ i dùng s ử a thông tin vào bên ph ải màn hình Sau đó nhấ n vào nút “sửa món” Nếu món đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Đ ã s ửa món”, nế u món chƣa đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi s ửa món” M ỗ i l ầ n s ửa đƣợ c m ộ t món, không s ửa đƣợ c cùng lúc nhi ề u món  Xem món Để xem món, ngƣờ i dùng kích chu ột vào nút “xem món” Danh sách món sẽ t ả i l ạ i lên DataGridView  Tìm món Để tìm món, ngƣờ i dùng nh ậ p t ừ khóa c ầ n tìm vào ô tìm ki ếm Sau đó nhấ n vào nút “tìm món” Hệ th ố ng s ẽ t ải danh sách món tƣơng ứ ng v ớ i t ừ khóa tìm ki ế m vào DataGridView B ả ng 15 Ch ức năng quả n lý món Màn hình Qu ả n lý món Mô t ả Giúp ngƣ ờ i dùng qu ả n lý b ả ng d ữ li ệ u món Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “qu ả n lý” sau đó kích vào nút “món” đ ể vào ch ứ c năng qu ả n lý món N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Thêm món Button Nút “thêm món” Xóa món Button Nút “xóa món” S ử a món Button Nút “s ử a món” 42 Xem món Button Nút “xem món” Tìm món Button Nút “tìm món” Tìm món Textbox String Nh ậ p t ừ khóa c ầ n tìm vào ô tìm món Danh sách món DataGridView Int, string, float Danh sách món trong b ả ng d ữ li ệ u “món” Mã món Label Nhãn “mã món” Mã món TextBox Int Ô ch ứ a mã món Tên món Label Nhãn “tên món” Tên món TextBox String Ô ch ứ a tên món Danh m ụ c món Label Nhãn “danh m ụ c món” Danh m ụ c món Combobox String Danh sách danh m ụ c món Giá NumericUpDown Float Đơn giá m ộ t món Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Thêm món Ngƣ ờ i dùng nh ấ n vào nút “thêm món” H ệ th ố ng thông báo: “Đã thêm món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi thêm món” Xóa món Ngƣ ờ i dùng nh ấ n vào nút “xóa món” H ệ th ố ng thông báo: “Đã xóa món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi xóa món” S ử a món Ngƣ ờ i dùng nh ấ n vào nút “s ử a món” H ệ th ố ng thông báo: “Đã s ử a món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi s ử a món” 43 Xem món Ngƣ ờ i dùng nh ấ n vào nút “xem món” H ệ th ố ng t ả i danh sách món lên DataGridView H ệ th ố ng không t ả i danh sách món lên DataGridView Tìm món Ngƣ ờ i dùng nh ấ n vào nút “tìm món” H ệ th ố ng t ả i l ạ i danh sách món tƣơng ứ ng v ớ i t ừ khóa H ệ th ố ng không t ả i l ạ i danh sách món tƣơng ứ ng v ớ i t ừ khóa 3 3 5 Ch ức năng quả n lý danh m ụ c món Hình 3 17 Ch ức năng quả n lý danh m ụ c món Mô t ả ch ức năng qu ả n lý danh m ụ c món: Bên ph ả i màn hình là danh sách danh m ụ c món, bao g ồ m: Mã danh m ụ c món, tên danh m ụ c món Bên trái màn hình là thông tin chính c ầ n qu ả n lý, bao g ồ m: Mã danh m ụ c và tên danh m ụ c; các thông tin chính c ầ n qu ản lý đƣợ c binding v ớ i danh sách danh m ụ c món  Thêm danh m ụ c món Để thêm danh m ục món, ngƣờ i dùng thêm thông tin vào bên trái màn hình Sau đó nhấn vào nút “thêm danh mục món” Nế u danh m ục món đƣợ c thêm s ẽ hi ể n 44 th ị thông báo: “Đã thêm danh mụ c món”, danh m ục món chƣa đƣợ c thêm s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi thêm danh m ục món” M ỗ i l ần thêm đƣợ c m ộ t danh m ụ c món, không thêm cùng lúc nhi ề u danh m ụ c món  Xóa danh m ụ c món Để xóa danh m ục món, ngƣờ i dùng ch ọ n vào danh m ụ c món c ầ n xóa trong danh sách bên ph ải màn hình Sau đó nhấn vào nút “xóa danh mục món” Nế u danh m ục món đƣợ c xóa s ẽ hi ể n th ị thông báo: “Đã xóa danh mụ c món ”, nế u danh m ụ c món chƣa đƣợ c xóa s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi xóa danh m ục món” M ỗ i l ầ n xóa m ộ t danh m ụ c món, không xóa cùng lúc nhi ề u danh m ụ c món  S ử a danh m ụ c món Để s ử a danh m ục món, ngƣờ i dùng s ử a thông tin vào bên ph ả i màn hình Sau đó nhấn vào nút “sử a danh m ục món” Nế u danh m ục món đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Đã sử a danh m ục món”, nế u danh m ục món chƣa đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi s ử a danh m ục món” M ỗ i l ầ n s ửa đƣợ c m ộ t danh m ụ c món, không s ửa đƣợ c cùng lúc nhi ề u danh m ụ c món  Xem danh m ụ c món Để xem danh m ục món, ngƣờ i dùng kích chu ột vào nút “xem danh mụ c món” Danh sách danh mụ c món s ẽ t ả i l ạ i lên DataGridView B ả ng 16 Ch ức năng quả n lý danh m ụ c món Màn hình Qu ả n lý danh m ụ c món Mô t ả Giúp ngƣ ờ i dùng qu ả n lý b ả ng d ữ li ệ u danh m ụ c món Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “qu ả n lý” sau đó kích vào nút “danh m ụ c món” đ ể vào ch ứ c năng qu ả n lý danh m ụ c món N ộ i dung màn hình 45 M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Thêm danh m ụ c món Button Nút “thêm danh m ụ c món” Xóa danh m ụ c món Button Nút “xóa danh m ụ c món” S ử a danh m ụ c món Button Nút “s ử a danh m ụ c món” Xem danh m ụ c món Button Nút “xem danh m ụ c món” Danh sách danh m ụ c món DataGridView String Danh sách danh m ụ c món trong b ả ng d ữ li ệ u “danh m ụ c món” Mã danh m ụ c món Label Nhãn “mã danh m ụ c món” Mã danh m ụ c món TextBox Int Ô ch ứ a mã danh m ụ c món Tên danh m ụ c món Label Nhãn “tên danh m ụ c món” Tên danh m ụ c món TextBox String Ô ch ứ a tên danh m ụ c món Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Thêm danh m ụ c món Ngƣ ờ i dùng nh ấ n vào nút “thêm danh m ụ c món” H ệ th ố ng thông báo: “Đã thêm danh m ụ c món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi thêm danh m ụ c món” 46 Xóa danh m ụ c món Ngƣ ờ i dùng nh ấ n vào nút “xóa danh m ụ c món” H ệ th ố ng thông báo: “Đã xóa danh m ụ c món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi xóa danh m ụ c món” S ử a danh m ụ c món Ngƣ ờ i dùng nh ấ n vào nút “s ử a danh m ụ c món” H ệ th ố ng thông báo: “Đã s ử a danh m ụ c món” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi s ử a danh m ụ c món” Xem danh m ụ c món Ngƣ ờ i dùng nh ấ n vào nút “xem danh m ụ c món” H ệ th ố ng t ả i l ạ i danh sách danh m ụ c món lên DataGridView H ệ th ố ng không t ả i l ạ i danh sách danh m ụ c món lên DataGridView 3 3 6 Ch ức năng quả n lý phòng Hình 3 18 Ch ức năng quả n lý phòng Mô t ả ch ức năng quả n lý phòng: Bên trên màn hình là danh sách phòng hát, bao g ồ m: Mã phòng hát, tên phòng hát, tr ạ ng thái, mã lo ạ i phòng, tên lo ạ i phòng, giá phòng 47 Bên dƣớ i màn hình là thông tin chính c ầ n qu ả n lý, bao g ồ m: Mã phòng, tên phòng, tr ạ ng thái, lo ạ i phòng, giá; các thông tin chính c ầ n qu ản lý đƣợ c binding v ớ i danh sách phòng hát  Thêm phòng Để thêm phòng, ngƣờ i dùng nh ập thông tin vào bên dƣới màn hình Sau đó nh ấn vào nút “thêm phòng” Nếu phòng đƣợ c thêm s ẽ hi ể n th ị th ông báo: “Đã thêm phòng”, nếu phòng chƣa đƣợ c thêm s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi thêm phòng” M ỗ i l ần thêm đƣợ c m ột phòng, không thêm đƣợ c cùng lúc nhi ề u phòng  Xóa phòng Để xóa phòng, ngƣờ i dùng ch ọ n vào phòng c ầ n xóa trong danh sách phòng Sau đ ó nh ấn vào nút “xóa phòng” Nếu phòng đƣợ c xóa s ẽ hi ể n th ị thông báo: “Đã xóa phòng”, nếu phòng chƣa đƣợ c xóa s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi xóa phòng” M ỗ i l ần xóa đƣợ c m ột phòng, không xóa đƣợ c cùng lúc nhi ề u phòng  S ử a phòng Để s ửa phòng, ngƣờ i dùng s ử a thông tin ở m ụ c thông tin qu ả n lý bên ph ả i màn hình Sau đó nhấn vào nút “sửa phòng” Nếu phòng đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Đã sửa phòng”, nếu phòng chƣa đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi s ửa phòng” M ỗ i l ầ n s ửa đƣợ c m ộ t phòng, không s ửa đƣợ c cùng lúc nhi ề u phòng  Xem phòng Để xem phòng, ngƣờ i dùng kích chu ột vào nút “xem phòng” Danh sách phòng s ẽ t ả i l ạ i lên DataGridView 48 B ả ng 17 Ch ức năng quả n lý phòng Màn hình Qu ả n lý phòng Mô t ả Giúp ngƣ ờ i dùng qu ả n lý b ả ng d ữ li ệ u phòng Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “qu ả n lý” sau đó kích vào nút “phòng hát” đ ể vào ch ứ c năng qu ả n lý phòng N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Thêm phòng Button Nút “thêm phòng” Xóa phòng Button Nút “xóa phòng” S ử a phòng Button Nút “s ử a phòng” Xem phòng Button Nút “xem phòng” Danh sách phòng DataGridView String Danh sách phòng trong b ả ng d ữ li ệ u “phòng hát” Mã phòng Label Nhãn “mã phòng” Mã phòng TextBox Int Ô ch ứ a mã phòng Tên phòng Label Nhãn “tên phòng” Tên phòng TextBox String Ô ch ứ a tên phòng Tr ạ ng thái Label Nhãn “tr ạ ng thái” Tr ạ ng thái TextBox Ô ch ứ a tr ạ ng thái phòng Lo ạ i phòng Label Nhãn “lo ạ i phòng” Lo ạ i phòng Combobox String Ch ứ a danh sách lo ạ i phòng Giá NumericUpDown Float Giá phòng Mô t ả hành đ ộ ng 49 Tên hành đ ộ ng Mô t ả Thành công Không thành công Thêm phòng Ngƣ ờ i dùng nh ấ n vào nút “thêm phòng” H ệ th ố ng thông báo: “Đã thêm phòng” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi thêm phòng” Xóa phòng Ngƣ ờ i dùng nh ấ n vào nút “xóa phòng” H ệ th ố ng thông báo: “Đã xóa phòng” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi xóa phòng” S ử a phòng Ngƣ ờ i dùng nh ấ n vào nút “s ử a phòng” H ệ th ố ng thông báo: “Đã s ử a phòng” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi s ử a phòng” Xem phòng Ngƣ ờ i dùng nh ấ n v ào nút “xem phòng” H ệ th ố ng t ả i l ạ i danh sách phòng lên DataGridView H ệ th ố ng không t ả i l ạ i danh sách phòng lên DataGridView g) Ch ức năng quả n lý tài kho ả n Hình 3 19 Ch ức năng quả n lý tài kho ả n 50 Mô t ả ch ức năng quả n lý tài kho ả n: Bên trên màn hình là danh sách tài kho ả n, bao g ồm các thông tin: Tên đăng nh ậ p, tên hi ể n th ị , mã lo ạ i tài kho ả n, tên lo ạ i tài kho ả n Bên dƣớ i màn hình là thông tin chính c ầ n qu ả n lý, bao g ồm: Tên đăng nhậ p, tên hi ể n th ị , lo ạ i tài kho ả n; các thông tin chính c ầ n qu ản lý đƣợ c binding v ớ i danh sách tài kho ả n  Xóa tài kho ả n Để xóa tài kho ản, ngƣờ i dùng ch ọ n vào tài kho ả n c ầ n xóa trong danh sách tài kho ản Sau đó nhấn vào nút “xóa tài khoản” Nế u tài kho ản đƣợ c xóa s ẽ hi ể n th ị thông báo: “Đã xóa tài khoản”, nế u tài kho ản chƣa đƣợ c xóa s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi xóa tài kho ản” M ỗ i l ần xóa đƣợ c m ộ t tài kho ả n, tài kho ản xóa đƣợ c cùng lúc nhi ề u phòng  S ử a tài kho ả n Để s ử a tài kho ản, ngƣờ i dùng s ử a thông tin ở m ụ c thông tin qu ả n lý bên ph ả i màn hình Sau đó nhấn vào nút “sử a tài kho ản” Nế u tài kho ản đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Đã sử a tài kho ản”, nế u tài kho ản chƣa đƣợ c s ử a s ẽ hi ể n th ị thông báo: “Xả y ra l ỗ i khi s ử a tài kho ản” M ỗ i l ầ n s ửa đƣợ c m ộ t tài kho ả n, không s ửa đƣợ c cùng lúc nhi ề u tài kho ả n  Xem tài kho ả n Để xem tài kho ản, ngƣờ i dùng kích chu ột vào nút “xem tài khoản” Danh sách tài kho ả n s ẽ t ả i l ạ i lên DataGridView B ả ng 18 Ch ức năng quả n lý tài kho ả n Màn hình Qu ả n lý tài kho ả n Mô t ả Giúp ngƣ ờ i dùng qu ả n lý b ả ng d ữ li ệ u tài kho ả n Cách truy c ậ p Sau khi đăng nh ậ p ngƣ ờ i dùng kích vào nút “qu ả n lý” sau đó kích vào nút “ tài kho ả n ” đ ể vào ch ứ c năng qu ả n lý tài kho ả n 51 N ộ i dung màn hình M ụ c Ki ể u control Ki ể u d ữ li ệ u Mô t ả Thêm tài kho ả n Button Nút “thêm tài kho ả n” Xóa tài kho ả n Button Nút “xóa tài kho ả n” S ử a tài kho ả n Button Nút “s ử a tài kho ả n” Xem tài kho ả n Button Nút “xem tài kho ả n” Danh sách tài kho ả n DataGridView String, int Danh sách tài kho ả n trong b ả ng d ữ li ệ u “ tài kho ả n ” Tên đăng nh ậ p Label Nhãn “tên đăng nh ậ p” Tên đăng nh ậ p TextBox String Ô ch ứ a tên đăng nh ậ p Tên hi ể n th ị Label Nhãn “tên hi ể n th ị ” Tên hi ể n th ị TextBox String Ô ch ứ a tên hi ể n th ị Lo ạ i tài kho ả n Label Nhãn “tr ạ ng thái” Lo ạ i tài kho ả n Combobox String Danh sách lo ạ i tài kho ả n Đ ặ t l ạ i m ậ t kh ẩ u Button Nút “đ ặ t l ạ i m ậ t kh ẩ u” Mô t ả hành đ ộ ng Tên hành đ ộ ng Mô t ả Thành công Không thành công Thêm tài kho ả n Ngƣ ờ i dùng nh ấ n vào nút “thêm tài kho ả n ” đ ể đ ế n form thêm tài kho ả n H ệ th ố ng s ẽ hi ể n th ị form “thêm tài kho ả n” H ệ th ố ng s ẽ không hi ể n th ị form “thêm tài kho ả n” 52 Xóa tài kho ả n Ngƣ ờ i dùng nh ấ n vào nút “xóa tài kho ả n ” H ệ th ố ng thông báo: “Đã xóa tài kho ả n ” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi xóa tài kho ả n ” S ử a tài kho ả n Ngƣ ờ i dùng nh ấ n vào nút “s ử a tài kho ả n ” H ệ th ố ng thông báo: “Đã s ử a tài kho ả n ” H ệ th ố ng thông báo: “Đã x ả y ra l ỗ i khi s ử a tài kho ả n ” Xem tài kho ả n Ngƣ ờ i dùng nh ấ n vào nút “xem tài kho ả n ” H ệ th ố ng t ả i l ạ i danh sách tài kho ả n lên DataGridView H ệ th ố ng không t ả i l ạ i danh sách tài kho ả n lên DataGridView Đ ặ t l ạ i m ậ t kh ẩ u Ngƣ ờ i dùng nh ấ n vào nút “đ ặ t l ạ i m ậ t kh ẩ u” H ệ th ố ng s ẽ đ ặ t l ạ i m ậ t kh ẩ u tài kho ả n v ề

UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN - - PHẠM THANH THỊNH ỨNG DỤNG WINDOWS FORM C#.NET XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN KARAOKE VIP TAM KỲ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 05 năm 2019 UBND TỈNH QUẢNG NAM TRƢỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN - - KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC ỨNG DỤNG WINDOWS FORM C#.NET XÂY DỰNG PHẦN MỀM QUẢN LÝ QUÁN KARAOKE VIP TAM KỲ Sinh viên thực PHẠM THANH THỊNH MSSV: 2115011038 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2015 - 2019 Cán hƣớng dẫn ThS.LÊ PHƢỚC THÀNH MSCB: ……… Quảng Nam, tháng 04 năm 2019 LỜI CẢM ƠN Đƣợc phân công khoa Công Nghệ Thông Tin Trƣờng Đại Học Quảng Nam đồng ý thầy giáo hƣớng dẫn Lê Phƣớc Thành em thực đề tài khóa luận tốt nghiệp: “Ứng dụng Windows Form C#.NET xây dựng phần mềm quản lý quán Karaoke VIP Tam Kỳ” Để hoàn thành đề tài khóa luận tốt nghiệp Em xin trân trọng gửi lời cảm ơn đến thầy/cô giáo khoa Công Nghệ Thông Tin nhƣ thầy/cô giáo trƣờng Đại Học Quảng Nam tận tình hƣớng dẫn, giảng dạy suốt trình học tập, nghiên cứu rèn luyện trƣờng Đại Học Quảng Nam Xin chân thành cảm ơn thầy giáo Lê Phƣớc Thành tận tình giúp đỡ em trình thực đề tài khóa luận tốt nghiệp Mặc dù em tìm hiểu nghiên cứu nhiều q trình làm đề tài khóa luận tốt nghiệp, đề tài khơng tránh khỏi thiếu sót định Em mong góp ý q thầy/cơ giáo để đề tài khóa luận tốt nghiệp đƣợc hồn thiện MỤC LỤC LỜI CẢM ƠN .1 MỤC LỤC PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài .4 1.3 Đối tƣợng phạm vi nghiên cứu 1.4 Phƣơng pháp nghiên cứu 1.5 Lịch sử nghiên cứu .5 1.6 Đóng góp đề tài 1.7 Cấu trúc đề tài PHẦN NỘI DUNG NGHIÊN CỨU .6 CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu Windows Form C#.NET 1.2 Giới thiệu hệ quản trị sở liệu Sql Server ADO.NET 1.3 Giới thiệu mơ hình lớp 12 1.4 Giới thiệu Bunifu Framework Metro Framework 15 CHƢƠNG KHẢO SÁT HIỆN TRẠNG VÀ XÁC LẬP DỰ ÁN 18 2.1 Khảo sát trạng 18 2.2 Xác lập dự án 19 CHƢƠNG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 21 3.1 Phân tích thiết kế chức hệ thống 21 3.2 Phân tích thiết kế liệu hệ thống 28 3.3 Phân tích thiết kế giao diện hệ thống 34 CHƢƠNG CHƢƠNG TRÌNH DEMO 56 4.1 Cài đặt hệ thống 56 4.2 Chức hệ thống 56 4.3 Một số giao diện hệ thống 56 PHẦN KẾT LUẬN VÀ KIẾN NGHỊ 61 3.1 Kết luận 61 3.2 Kiến nghị 61 PHẦN TÀI LIỆU THAM KHẢO .62 NHẬN XÉT CỦA CÁN BỘ HƢỚNG DẪN 63 PHẦN MỞ ĐẦU 1.1 Lý chọn đề tài Trong năm gần đây, phát triển nhanh chóng công nghệ thông tin bƣớc làm thay đổi đời sống kinh tế, xã hội, giáo dục, v.v Mọi ngành nghề, lĩnh vực đƣợc tin học hóa làm cho cơng việc trở nên dễ dàng, nhanh chóng xác Đối với công tác quản lý công ty/doanh nghiệp, phải chuyển từ phƣơng pháp thủ cơng sang tự động; việc xây dựng ứng dụng quản lý giúp công ty/doanh nghiệp giải công việc tự động, cơng việc đƣợc thực xác nhanh chóng tiết kiệm lớn chi phí Ở Việt Nam, hầu hết ngƣời sử dụng máy tính cài đặt hệ điều hành Microsoft Windows Microsoft tính phổ biến dễ sử dụng, nhiều phần mềm ứng dụng chạy hệ điều hành hãng này, đặc biệt ứng dụng quản lý Windows Form công nghệ Microsoft, đƣợc sử dụng để phát triển nhiều ứng dụng quản lý, kế tốn, thống kê, v.v, sử dụng cơng nghệ Windows Form tạo ứng dụng có giao diện đẹp đại Windows Form xây dựng ứng dụng theo cách tiếp cận hƣớng đối tƣợng: Giao diện kéo, thả dễ sử dụng; gắn event cho control cần double click hỗ trợ nhiều event nhƣ click, hover, v.v Viết code vô trực quan: Từ việc lấy text từ TextBox show thông tin MessageBox, dùng DataGrid để kết nối sở liệu Sau gần năm học tập trải nghiệm thực tế địa bàn thành phố Tam Kỳ, thân nhận thấy doanh nghiệp hoạt động lĩnh vực giải trí nhƣ Karaoke địa bàn dạng vừa nhỏ, sở quy mơ lớn, phần lớn số doanh nghiệp vừa nhỏ dùng phƣơng pháp thủ cơng để vận hành làm tốn nguồn lực chi phí Vì thân muốn xây dựng sản phẩm thực tế áp dụng cho doanh nghiệp Sản phẩm đƣợc nhân rộng mở rộng để phù hợp với mơ hình doanh nghiệp Và hƣớng tốt cho thân để phát triển nghiệp sau Xuất phát từ tính ƣu việt cơng nghệ cấp bách xã hội, nên thân thực đề tài khóa luận tốt nghiệp: “Ứng dụng Windows Form C#.NET xây dựng phần mềm quản lý quán Karaoke VIP Tam Kỳ” 1.2 Mục tiêu đề tài Xây dựng phần mềm quản lý Karaoke VIP Tam Kỳ 1.3 Đối tƣợng phạm vi nghiên cứu Ngơn ngữ lập trình C# Nền tảng NET Framework Công nghệ Windows Form Mô hình lớp (3 layers) Hệ quản trị sở liệu SQL Server & ADO.NET Bunifu Framework & Metro Framework 1.4 Phƣơng pháp nghiên cứu Nghiên cứu tài liệu: Bao gồm tài liệu sở liệu, tài liệu hệ quản trị sở liệu SQL Server; tìm hiểu tài liệu cách lập trình ứng dụng Windows Form với ngơn ngữ C#; tìm hiểu tài liệu cách phân tích, thiết kế hệ thống theo hƣớng cấu trúc Nghiên cứu hệ thống quản lý Karaoke VIP Tam Kỳ: Ứng dụng phƣơng pháp phát triển phần mềm theo mơ hình thác nƣớc với chuỗi quy trình: Khảo sát trạng - Phân tích - Thiết kế - Cài đặt - Kiểm thử - Bảo trì Trong phân tích hệ thống, đề tài sử dụng mơ hình Thực thể - Mối quan hệ sở liệu quan hệ 1.5 Lịch sử nghiên cứu Bảng Tiến độ công việc Thời gian thực Công việc Sinh viên thực Tiến độ 01/03/2019-08/03/2019 Khảo sát trạng Phạm Thanh Thịnh Hoàn thành 09/03/2019-16/03/2019 xác lập dự án Phạm Thanh Thịnh Hồn thành 17/03/2019-22/03/2019 Phân tích chức Phạm Thanh Thịnh Hoàn thành hệ thống Phân tích liệu thiết kế hệ thống Lập trình chạy Phạm Thanh Thịnh Hồn thành 23/03/2019-30/04/2019 thử hệ thống 1.6 Đóng góp đề tài Phần mềm có giá trị ứng dụng thực tế, áp dụng với mơ hình qn Karaoke vừa & nhỏ với khâu nghiệp vụ cần thiết để quản lý quán Karaoke bao gồm: Quản lý bán hàng, thống kê hóa đơn, quản lý món, quản lý danh mục món, quản lý phịng hát, quản lý tài khoản Khi phần mềm đƣợc triển khai có hiệu kinh tế, có tiết kiệm nhân lực thời gian 1.7 Cấu trúc đề tài Đề tài gồm chƣơng, bao gồm: Chƣơng 1: Cơ sở lý thuyết Chƣơng 2: Khảo sát trạng xác lập dự án Chƣơng 3: Phân tích thiết kế hệ thống Chƣơng 4: Chƣơng trình demo PHẦN NỘI DUNG NGHIÊN CỨU CHƢƠNG CƠ SỞ LÝ THUYẾT 1.1 Giới thiệu Windows Form C#.NET 1.1.1 Giới thiệu NET Framework Hình 1.1 Biểu tƣợng Microsoft NET Framework NET Framework tảng lập trình tảng thực thi ứng dụng hệ điều hành Microsoft Windows đƣợc phát triển Microsoft Nhiều công cụ đƣợc tạo để hỗ trợ xây dựng ứng dụng tảng NET Framework Trong Microsoft Visual Studio IDE (Integrated Development Environment) đƣợc phát triển hỗ trợ Microsoft  Kiến trúc NET Framework Kiến trúc NET Framework gồm phần: - CLR (Common Language Runtime - Bộ thực thi ngôn ngữ chung): Chịu trách nhiệm thực thi mã lệnh quản lý tác vụ liên quan: Biên dịch, quản lý nhớ, bảo mật, v.v - FCL (Framework Class Library - Thƣ viện lớp sở): Thƣ viện chứa lớp sở Thƣờng đƣợc sử dụng để xây dựng lớp cao 1.1.2 Giới thiệu ngôn ngữ C# C# ngơn ngữ lập trình đơn giản, đại, mục đích tổng quát, hƣớng đối tƣợng đƣợc phát triển Microsoft đƣợc phê chuẩn European Computer Manufacturers Association (ECMA) International Standards Organization (ISO) C# đƣợc phát triển Anders Hejlsberg team ông phát triển NET Framework Phiên C# đƣợc phát hành C# 1.0, đƣợc phát hành vào tháng năm 2002, sử dụng tảng NET Framework phiên 1.0 Microsoft Visual Studio 2002 Dƣới lý C# trở thành ngôn ngữ lập trình chuyên nghiệp đƣợc sử dụng rộng rãi: C# ngơn ngữ lập trình đại C# ngôn ngữ hƣớng đối tƣợng C# ngôn ngữ dễ học C# phần Net Framework 1.1.3 Giới thiệu công nghệ Windows Form Windows Form hay WinForm cơng nghệ Microsoft, cho phép lập trình ứng dụng WinForm Nhờ tính tiện ích, dễ code, giao diện design kéo thả đơn giản, v.v WinForm đƣợc sử dụng để phát triển nhiều ứng dụng quản lý, tính tiền, thống kê, v.v WinForm có giao diện kéo, thả dễ sử dụng; gắn event cho control cần double click hỗ trợ nhiều event nhƣ click, hover, v.v Việc viết code vô trực quan: Từ việc lấy text từ TextBox show liệu MessageBox, dùng DataGridView để kết nối sở liệu SQL Server 1.1.4 Giới thiệu IDE Visual Studio Microsoft Visual Studio mơi trƣờng phát triển ứng dụng, tích hợp đầy đủ tính cho Android, iOS, Windows, web cloud Microsoft Visual Studio IDE đƣợc phát triển Microsoft Microsoft Visual Studio bao gồm thành phần chính: - Trình soạn thảo - Trình biên dịch - Trình gỡ lỗi  Các phiên Microsoft Visual Studio Visual Studio Community: Miễn phí cho sinh viên, mã nguồn mở, phù hợp cho cá nhân sử dụng Visual Studio Professional: Chuyên nghiệp, phù hợp cho nhóm quy mô nhỏ sử dụng Visual Studio Enterprise: Mở rộng phiên Visual Studio Professional, phù hợp cho đội nhóm sử dụng Đề tài sử dụng Visual Studio 2017 Community, tính ổn định sử dụng miễn phí Hình 1.2 Biểu tƣợng Visual Studio 2017 1.2 Giới thiệu hệ quản trị sở liệu Sql Server ADO.NET 1.2.1 Giới thiệu hệ quản trị sở liệu Sql Server  Các khái niệm Cơ sở liệu tập hợp liệu có tổ chức, thƣờng đƣợc tổ chức thành bảng liệu Hệ quản trị sở liệu - DBMS (Database Management System) hệ thống phần mềm giúp tƣơng tác với sở liệu SQL (Structured Query Language) ngơn ngữ truy vấn có cấu trúc, đƣợc sử dụng hệ quản trị sở liệu  Các phiên SQL Server Hình 1.3 Biểu tƣợng SQL Server 2014

Ngày đăng: 27/02/2024, 14:40

Tài liệu cùng người dùng

Tài liệu liên quan