Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công Nghệ Thông Tin, it, phầm mềm, website, web, mobile app, trí tuệ nhân tạo, blockchain, AI, machine learning - Công nghệ thông tin UBND TỈNH QUẢNG NAM TRỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN ---------- ĐẶNG THỊ HOA XÂY DỰNG PHẦN MỀM QUẢN LÍ DỊCH VỤ CHO THUÊ SÂN CỎ NHÂN TẠO THEO MÔ HÌNH ĐA TẦNG KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 4 năm 2018 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 Tên đề tài: XÂY DỰNG PHẦN MỀM QUẢN LÍ DỊCH VỤ CHO THUÊ SÂN CỎ NHÂN TẠO THEO MÔ HÌNH ĐA TẦNG Sinh viên thực hiện ĐẶNG THỊ HOA MSSV: 2114011016 CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN KHÓA 2014 – 2018 Cán bộ hướng dẫn ThS. DƠNG PHƠNG HÙNG MSCB: ……… Quảng Nam, tháng 4 năm 2018 LỜI CẢM ƠN Sau chặng đường 4 năm học tập và rèn luyện dưới mái trường Đại học Quảng Nam, được sự chỉ bảo tận tình của các thầy cô, và sự giúp đỡ từ bạn bè, cùng những nỗ lực của bản thân, em thấy mình đã dần nâng cao được những kiến thức, kĩ năng, những kinh nghiệm sống cho bản thân. Em sẽ tiếp tục cố gắng phấn đấu dùng những điều đã được dạy và tích lũy vận dụng vào thực tế để trở thành một người có ích cho xã hội. Em xin gửi lời cảm ơn đến ban lãnh đạo trường Đại Học Quảng Nam, các giảng viên khoa Công nghệ thông tin, các cô chú nhân viên đã tạo điều kiện thuận lợi và động viên em trong suốt thời gian ngồi trên ghế nhà trường để em học tập và làm việc thật tốt. Với lòng kính trọng và biết ơn sâu sắc, em xin được bày tỏ lời cảm ơn chân thành nhất đến thầy Dương Phương Hùng đã tận tình hướng dẫn và truyền đạt những kinh nghiệm quý báu cho em trong suốt quá trình thực hiện đề tài này. Cuối cùng, em xin gửi lời cảm ơn tới gia đình, bạn bè, những người đã quan tâm giúp đỡ và động viên, khuyến khích em trong thời gian qua để em hoàn thiện đề tài này. Tan Kỳ, tháng 4 năm 2018 Sinh viên thực hiện Đặng Thị Hoa MỤC LỤC HÌNH ẢNH Hình 1: Mô hình MVC ................................................................................................... 7 Hình 2: Môi trường hệ thống ....................................................................................... 10 Hình 3: Sơ đồ Use Case tổng quát ............................................................................... 17 Hình 4: Sơ đồ mối quan hệ Use Case quản li hóa đơn................................................. 17 Hình 5: Sơ đồ mối quan hệ Use Case đặt lịch.............................................................. 18 Hình 6: Sơ đồ mối quan hệ Use Case dịch vụ.............................................................. 18 Hình 7: Sơ đồ mối quan hệ Use Case nhân viên .......................................................... 19 Hình 8: Sơ đồ mối quan hệ Use Case khách hàng ....................................................... 19 Hình 9: Sơ đồ mối quan hệ Use Case Users ................................................................ 20 Hình 10: Sơ đồ mối quan hệ Use Case hóa đơn........................................................... 20 Hình 11: Sơ đồ mối quan hệ Use Case thống kê.......................................................... 20 Hình 12: Sơ đồ xác định Object và class ..................................................................... 35 Hình 13: Sơ đồ Class và mối quan hệ giữa các Class .................................................. 36 Hình 14: Lược đồ tuần tự Use-case Đăng nhập ........................................................... 36 Hình 15: Lược đồ tuần tự Use-case Thêm sân ............................................................. 37 Hình 16: Lược đồ tuần tự Use-case Đổi sân ................................................................ 37 Hình 17: Lược đồ tuần tự Use-case Thanh Toán ......................................................... 38 Hình 18: Lược đồ tuần tự Use-case Đặt lịch ................................................................ 38 Hình 19: Lược đồ tuần tự Use-case Thêm dịch vụ ...................................................... 39 Hình 20: Lược đồ tuần tự Use-case Thêm nhân viên .................................................. 39 Hình 21: Lược đồ tuần tự Use-case Thêm khách hàng ................................................ 40 Hình 22: Lược đồ tuần tự Use-case Thống kê ............................................................. 40 Hình 23: Lược đồ hoạt động Use-case Đăng nhập ...................................................... 41 Hình 24: Lược đồ hoạt động Use-case Thêm sân ........................................................ 41 Hình 25: Lược đồ hoạt động Use-case Thanh Toán .................................................... 42 Hình 26: Lược đồ hoạt động Use-case Đặt lịch ........................................................... 42 Hình 27: Hình Lược đồ hoạt động Use-case Thêm dịch vụ ........................................ 43 Hình 28: Lược đồ hoạt động Use-case Thêm gói dịch vụ ........................................... 43 Hình 29: Lược đồ hoạt động Use-case Thêm nhân viên .............................................. 44 Hình 30: Lược đồ hoạt động Use-case Thêm khách hàng ........................................... 44 Hình 31: Lược đồ hoạt động Use-case Thống kê ........................................................ 45 Hình 32: Biểu đồ trạng thái của lớp nhân viên ............................................................ 45 Hình 33: Biểu đồ trạng thái của lớp khách hàng .......................................................... 45 Hình 34: Biểu đồ trạng thái của lớp sân bóng .............................................................. 46 Hình 35: Biểu đồ trạng thái của lớp dịch vụ ................................................................ 46 Hình 36: Biểu đồ trạng thái của lớp hóa đơn ............................................................... 46 Hình 37: Thuộc tính của bảng Sân Bóng ..................................................................... 47 Hình 38: Thuộc tính của bảng Đặt Lịch ....................................................................... 47 Hình 39: Thuộc tính của bảng Khách Hàng ................................................................. 48 Hình 40: Thuộc tính của bảng Nhân Viên ................................................................... 48 Hình 41: Thuộc tính của bảng Lương .......................................................................... 48 Hình 42: Thuộc tính của bảng Dịch Vụ ....................................................................... 49 Hình 43: Thuộc tính của bảng Gói Dịch Vụ ................................................................ 49 Hình 44: Thuộc tính của bảng Gói Dịch Vụ - Dịch Vụ ............................................... 49 Hình 45: Thuộc tính của bảng Hóa Đơn ...................................................................... 49 Hình 46: Thuộc tính của bảng Hóa Đơn – Hoạt Động ................................................ 49 Hình 47: Cơ sở dữ liệu bảng dịch vụ ........................................................................... 50 Hình 48: Giao diện Form Đăng nhập ........................................................................... 51 Hình 49: Giao diện form quản lí .................................................................................. 52 Hình 50: Giao diện form đặt lịch ................................................................................. 53 Hình 51: Giao diện form dịch vụ ................................................................................. 53 Hình 52: Giao diện form nhân viên ............................................................................. 54 Hình 53: Giao diện form khách hàng ........................................................................... 55 Hình 54: Giao diện form users ..................................................................................... 55 Hình 55: Giao diện form thống kê ............................................................................... 56 Hình 56: Giao diện form hóa đơn ................................................................................ 56 DANH MỤC BẢNG BIỂU Bảng 1: Yêu cầu chức năng ......................................................................................... 10 Bảng 2: Các Actor và Use - Case trong hệ thống ........................................................ 16 Bảng 3: Các Use Case và vai trò Use Case trong hệ thống ........................................ 16 Bảng 4: Đặc tả Use Case đăng nhập ........................................................................... 21 Bảng 5: Use Case thêm sân .......................................................................................... 22 Bảng 6: Use Case đổi tên sân ...................................................................................... 23 Bảng 7: Use Case bắt đầu hoạt động cho sân ............................................................. 23 Bảng 8: Use Case đổi sân ............................................................................................ 24 Bảng 9: Use Case thanh toán ..................................................................................... 25 Bảng 10: Use Case thêm đặt lịch ............................................................................... 26 Bảng 11: Use Case thêm dịch vụ ............................................................................... 27 Bảng 12: Use Case thêm số lượng dịch vụ ................................................................. 29 Bảng 13: Use Case thêm gói dịch vụ .......................................................................... 29 Bảng 14: Use Case thêm nhân viên ............................................................................ 30 Bảng 15: Use Case thêm khách hàng .......................................................................... 31 Bảng 16: Use Case đăng kí người dùng ...................................................................... 33 Bảng 17: Use xem hóa đơn ......................................................................................... 34 Bảng 18: Use Case thống kê ....................................................................................... 35 MỤC LỤC LỜI CẢM ƠN ............................................................................................................1 Phần 1. MỞ ĐẦU ......................................................................................................1 1.1. Lí do chọn đề tài ................................................................................................1 1.2. Mục tiêu của đề tài .............................................................................................1 1.3. Đối tƣợng và phạm vi nghiên cứu .....................................................................1 1.4. Phƣơng pháp nghiên cứu ...................................................................................1 1.5. Lịch sử nghiên cứu .............................................................................................2 1.6. Đóng góp của đề tài ............................................................................................2 1.7. Cấu trúc đề tài ....................................................................................................2 Phần 2. NỘI DUNG NGHIÊN CỨU ......................................................................3 Chƣơng 1: CƠ SỞ LÍ THUYẾT ..............................................................................3 1.1. Tổng quan về ngôn ngữ lập trình java .............................................................3 1.1.1. Ngôn ngữ Java ............................................................................................3 1.1.1.1. Sơ lược về java ........................................................................................3 1.1.1.2. Khả năng của java ...................................................................................3 1.1.2. Java Swing trên công cụ hỗ trợ NetBeans .....................................................3 1.1.2.1. Java Swing ...............................................................................................3 1.1.2.2. Java Swing chạy trên NetBeans ..............................................................3 1.1.3. Sơ lược hệ quản trị cơ sớ dữ liệu SQL Server ...............................................4 1.1.3.1. Hệ thống ngôn ngữ SQL .........................................................................4 1.1.3.2. Hệ thống quản lí cơ sở dữ liệu SQL Server ............................................4 1.2. Mô hình 3 lớp (mvc) đơn giản ...........................................................................6 1.2.1. Mô hình MVC ................................................................................................6 1.2.2. Định nghĩa các thành phần trong mô hình MVC...........................................7 1.3. Lợi thế của mô hình 3 lớp ..................................................................................8 1.3.1. Ưu điểm .........................................................................................................8 1.3.2. Hạn chế ..........................................................................................................8 Chƣơng 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ TẢ TỔNG THỂ HỆ THỐNG9 2.1. Khảo sát hiện trạng thực tế ...............................................................................9 2.1.1. Bài toán đặt ra ................................................................................................9 2.1.2. Ý nghĩa của ứng dụng ..................................................................................10 2.2. Môi trƣờng hệ thống ........................................................................................10 2.3. Yêu cầu chức năng ...........................................................................................10 2.4. Đặc tính ngƣời dùng.........................................................................................13 2.4.1. Quản lí hoạt động của sân bóng ...................................................................13 2.4.2. Quản lí tình trạng đặt lịch ............................................................................14 2.4.3. Quản lí dịch vụ.............................................................................................14 2.4.4. Quản lí nhân viên .........................................................................................14 2.4.5. Quản lí khách hàng ......................................................................................15 2.4.6. Quản lí Users: ..............................................................................................15 2.4.7. Quản lí hóa đơn ............................................................................................15 2.4.8. Quản lí thống kê...........................................................................................15 Chƣơng 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG .......................................16 3.1. Các actor và use-case trong hệ thống .............................................................16 3.1.1. Các Actor và vai trò Actor trong hệ thống ..................................................16 3.1.2. Các Use Case và vai trò Use Case trong hệ thống.......................................16 3.2. Sơ đồ use case ...................................................................................................17 3.2.1. Sơ đồ Use Case tổng quát (sơ đồ UC giữa Actor và UC) ...........................17 3.2.2. Mối quan hệ giữa UC và UC .......................................................................17 3.2.2.1. Phân rã 1 sơ đồ UCQuanLiHoatDongSan ...........................................17 3.2.2.2. Phân rã 2 sơ đồ UCDatLich ................................................................18 3.2.2.3. Phân rã 3 sơ đồ UCDichVu .................................................................18 3.2.2.4. Phân rã 4 sơ đồ UCNhanVien .............................................................19 3.2.2.5. Phân rã 5 sơ đồ UCKhachHang ..........................................................19 3.2.2.6. Phân rã sơ đồ UCUsers........................................................................20 3.2.2.7. Phân rã sơ đồ UCHoaDon ...................................................................20 3.2.2.8. Phân rã sơ đồ UCThongKe .................................................................20 3.2.3. Đặc tả Use Case ...........................................................................................21 3.2.3.1. Đặt tả UCQuản lí đăng nhập ...............................................................21 3.2.3.2. Chức năng quản lí hoạt động của sân ....................................................22 3.2.3.3. Chức năng quản lí đặt lịch (đặt lịch đá banh) .......................................26 3.2.3.4. Chức năng quản lí dịch vụ .....................................................................27 3.2.3.5. Chức năng quản lí khách hàng ..............................................................31 3.2.3.7. Chức năng quản lí User .........................................................................32 3.2.3.8. Chức năng quản lí hóa đơn ....................................................................34 3.2.3.9. Chức năng quản lí thống kê ...................................................................34 3.3. Xác định object, class, mối quan hệ giữa các class; vẽ sơ đồ class ..............35 3.3.1. Xác định Object và class..............................................................................35 3.3.2. Sơ đồ Class và mối quan hệ giữa các Class .................................................36 3.4. Biểu đồ tuần tự .................................................................................................36 3.4.1. Lược đồ tuần tự Use-case Đăng nhập ..........................................................36 3.4.2. Lược đồ tuần tự Use-case Thêm sân............................................................37 3.4.3. Lược đồ tuần tự Use-case Đổi sân ...............................................................37 3.4.4. Lược đồ tuần tự Use-case Thanh Toán ........................................................38 3.4.5. Lược đồ tuần tự Use-case Đặt lịch ..............................................................38 3.4.6. Lược đồ tuần tự Use-case Thêm dịch vụ .....................................................39 3.4.7. Lược đồ tuần tự Use-case Thêm nhân viên .................................................39 3.4.8. Lược đồ tuần tự Use-case Thêm khách hàng ..............................................40 3.4.9. Lược đồ tuần tự Use-case Thống kê ............................................................40 3.5. Biểu đồ hoạt động .............................................................................................41 3.5.1. Lược đồ hoạt động Use-case Đăng nhập .....................................................41 3.5.2. Lược đồ hoạt động Use-case Thêm sân .......................................................41 3.5.3. Lược đồ hoạt động Use-case Thanh Toán ...................................................42 3.5.4. Lược đồ hoạt động Use-case Đặt lịch ..........................................................42 3.5.5. Lược đồ hoạt động Use-case Thêm dịch vụ ................................................43 3.5.6. Lược đồ hoạt động Use-case Thêm gói dịch vụ ..........................................43 3.5.7. Lược đồ hoạt động Use-case Thêm nhân viên ............................................44 3.5.8. Lược đồ hoạt động Use-case Thêm khách hàng ..........................................44 3.5.9. Lược đồ hoạt động Use-case Thống kê .......................................................45 3.6. Biểu đồ trạng thái .............................................................................................45 3.6.1. Biểu đồ trạng thái của lớp Nhân viên ..........................................................45 3.6.2. Biểu đồ trạng thái của lớp Khách hàng .......................................................45 3.6.3. Biểu đồ trạng thái của lớp Sân bóng ............................................................46 3.6.4. Biểu đồ trạng thái của lớp Dịch vụ ..............................................................46 3.6.5. Biểu đồ trạng thái của lớp Hóa đơn .............................................................46 3.7. Đặc tả dữ liệu ....................................................................................................47 3.7.1. Sơ lược về cơ sở dữ liệu ..............................................................................47 3.7.2. Bảng thuộc tính ............................................................................................47 3.7.2.1. Thuộc tính của bảng Sân Bóng .............................................................47 3.7.2.2. Thuộc tính của bảng Đặt Lịch ...............................................................47 3.7.2.3. Thuộc tính của bảng Khách Hàng .........................................................48 3.7.2.4. Thuộc tính của bảng Nhân Viên ............................................................48 3.7.2.5. Thuộc tính của bảng Lương ..................................................................48 3.7.2.6. Thuộc tính của bảng Dịch Vụ ...............................................................49 3.7.2.7. Thuộc tính của bảng Gói Dịch Vụ ........................................................49 3.7.2.8. Thuộc tính của bảng Gói Dịch Vụ - Dịch Vụ .......................................49 3.7.2.9. Thuộc tính của bảng Hóa Đơn ..............................................................49 3.7.2.10. Thuộc tính của bảng Hóa Đơn – Hoạt Động .......................................49 3.7.3. Thể hiện cơ sở dữ liệu..................................................................................50 Chƣơng 4: CÀI ĐẶT HỆ THỐNG ........................................................................51 4.1. Công cụ sử dụng ............................................................................................51 4.2. Các giao diện chính ......................................................................................51 4.2.1. Giao diện Form Đăng nhập ......................................................................51 4.2.2. Giao diện Form Quản lí ............................................................................52 4.2.3. Giao diện Form Đặt lịch ...........................................................................53 4.2.4. Giao diện Form Dịch vụ ...........................................................................53 4.2.5. Giao diện Form Nhân viên .......................................................................54 4.2.6. Giao diện Form Khách hàng ....................................................................55 4.2.7. Giao diện Form Users...............................................................................55 4.2.8. Giao diện Form Thống kê ........................................................................56 4.2.9. Giao diện Form Hóa đơn ..........................................................................56 Phần 3. KẾT LUẬN VÀ KIẾN NGHỊ ..................................................................57 1. KẾT LUẬN .......................................................................................................57 1.1. Những vấn đề đạt được ...............................................................................57 1.2. Những vấn đề còn hạn chế ..........................................................................57 2. KIẾN NGHỊ......................................................................................................57 Phần 4. TÀI LIỆU THAM KHẢO ........................................................................58 1 Phần 1. MỞ ĐẦU 1.1. Lí do chọn đề tài Hiện nay, do nhu cầu giao lưu thể thao, tinh thần giải trí cao, các sân cỏ nhân tạo theo đó cũng được mở ra nhiều nhằm đáp ứng nhu cầu của một lượng lớn khách hàng, đặc biệt là giới trẻ. Mặt khác, các sân cỏ nhân tạo có số lượng thực đơn gồm các danh mục đồ ăn, đồ uống,… trong một ngày là mà số lượng khách hàng đến quán ngày một nhiều. Ngoài ra, công việc quản lí nhân viên, dịch vụ,…đều được lưu trữ trên giấy tờ, sổ sách nên rất mất thời gian, tốn kém nhân lực và tài nguyên, việc tính toán, thống kê thủ công dễ xảy ra sai sót, nhầm lẫn. Bên cạnh đó, khi có nhiều khách hàng cùng đặt sân, về phía nhà quản lí cần có tính toán , xếp lịch sao cho thời gian phục vụ là nhiều nhất để thu về lợi nhuận cao nhất. Do đó, việc ứng dụng thuật toán tối ưu để xây dựng một hệ thống quản lí nhằm xóa bỏ những phương thức lạc hậu, lỗi thời gây tốn kém về nhiều mặt nhưng phải mang lại hiệu quả cao hơn cho sân là việc làm cần thiết. Vì những lí do trên, tôi chọn đề tài “Xây dựng phần mềm quản lí dịch vụ cho thuê sân cỏ nhân tạo theo mô hình đa tầng”. 1.2. Mục tiêu của đề tài Xây dựng một chương trình quản lí dịch vụ cho thuê sân cỏ nhân tạo cho việc quản lí , tìm kiếm, thống kê, tại một sân cỏ một cách nhanh chóng, chính xác đạt hiệu quả cao nhất. 1.3. Đối tƣợng và phạm vi nghiên cứu Đối tượng nghiên cứu sử dụng công nghệ lập trình Netbean 8.2, SQL server 2014. Hệ thống thông tin quản lí sân cỏ nhân tạo hiện nay, phạm vi chỉ quản lí quá trình hoạt động sân với 20 sân, phân quyền truy nhập cho nhân viên, quản lí khách hàng. 1.4. Phƣơng pháp nghiên cứu - Sử dụng phương pháp điều tra để thu thập thông tin - Sử dụng phương pháp phân tích để trích lọc thông tin cần thiết 2 - Sử dụng phương pháp tổng hợp để thiết kế và xây dựng hệ thống 1.5. Lịch sử nghiên cứu Trong hệ thống sân cỏ hiện nay tại Tam Kỳ, chưa nhận thấy có phần mềm quản lý sân. Tất cả còn làm thủ công trên giấy tờ. 1.6. Đóng góp của đề tài Đề tài sẽ làm cho công tác quản lý trở nên đơn giản, hiệu quả hơn; nhờ đó tiết kiệm được nhân lực trong công tác quản lý sân. Tạo ra tính chuyên nghiệp trong quản lý, có thể mở rộng quy mô sân mà không phải thêm người quản lý. 1.7. Cấu trúc đề tài Đề tài chia làm 4 chương. Chương 1 nêu cơ sở lý thuyết của đề tài. Chương 2 khảo sát hiện trạng hệ thống thông tin quản lý sân cỏ nhân tạo và mô tả tổng thể hệ thống. Chương 3 phân tích, thiết kế chức năng và dữ liệu. Chương 4 cài đặt hệ thống. 3 Phần 2. NỘI DUNG NGHIÊN CỨU Chƣơng 1: CƠ SỞ LÍ THUYẾT 1.1. Tổng quan về ngôn ngữ lập trình java 1.1.1. Ngôn ngữ Java 1.1.1.1. Sơ lược về java Java là một ngôn ngữ lập trình hướng đối tượng và dựa trên các lớp. Khác vớ i phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi khởi động, Java được thiết kế để biên dị ch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi. 1.1.1.2. Khả năng của java Ngôn ngữ bậc cao. - Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số, xử lí văn bản, tạo ra trò chơi,... - Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, … - Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, … - Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC - Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket) cũng như truy xuất Web hay nhúng vào trong trang Web (Applet). - Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng có thể được xử lí phân tán trên các máy tính khác nhau. - Lập trình trên thiết bị cầm tay (J2ME). - Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE).… 1.1.2. Java Swing trên công cụ hỗ trợ NetBeans 1.1.2.1. Java Swing Swing là một bộ công cụ tiện ích, là một phần của ngôn ngữ lập trình Java tổ ng thể. Widget là một yếu tố cá nhân của bất kỳ giao diện người dùng đồ họa, hoặ c giao diện. Swing hỗ trợ cho người dùng tạo ra các cửa sổ window, các layout cho phần mềm, tạo ra các control cho phép người dùng tương tác với phần mềm. 1.1.2.2. Java Swing chạy trên NetBeans NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy 4 nhiên phần mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM, CPU tương đối cao để vận hành. NetBeans IDE là môi trường phát triển tích hợp và cực kỳ cần thiết cho các lập trình viên, công cụ này có thể hoạt động tốt với rất nhiều nền tảng hệ điều hành khác nhau như Linux, Windows, MacOS,... là một mã nguồn mở cung cấp các tính năng cần thiết nhất nhằm tạo ra các ứng dụng web, thiết bị di động, desktop. Cũng giống như Eclipse vậy, NetBeans IDE hỗ trợ rất nhiều những ngôn ngữ lập trình như Python, Ruby, JavaScript, Groovy, C C + +, và PHP. Để có thể cài đặt được NetBeans IDE phải cài đặt và cấu hình sẵn JDK trong máy. NetBean IDE được chia thành nhiều gói khác nhau để người dùng có thể tải về từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình. Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và còn nhiều tính năng khá thú vị như tự động căn chỉnh mã nguồn, Remote FTP, SVN …. Chính vì thế, nó được xem là môi trường phát triển không thể bỏ qua cho các lập trình viên. Nếu ai đang sử dụng NetBeans IDE có thể download thêm Notepad++ để tạo nên bộ đôi soạn thảo văn bản lập trình cực kỳ hiệu quả và thông minh. 1.1.3. Sơ lƣợc hệ quản trị cơ sớ dữ liệu SQL Server 1.1.3.1. Hệ thống ngôn ngữ SQL SQL, viết tắt của Structured Query Language (ngôn ngữ truy vấn có cấ u trúc), công cụ sử dụng để tổ chức, quản lí và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu. SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ. 1.1.3.2. Hệ thống quản lí cơ sở dữ liệu SQL Server SQL Server: SQL Server là một hệ thống quản lí cơ sở dữ liệ u (Relational DatabaseManagement System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Clientcomputer và SQL Server computer. Một RDBMS bao gồ m có databases 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. Đây là một hệ quản trị cơ sở dữ liệu rất phổ biến. Nó là một hệ quản trị CSDL SQL mạnh và đầy đủ các tính năng, có thể chạy trên môi trường cơ sở dữ liệu rất lớn. SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service…. 5 Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng. Database Engine – Cái lõi của SQL Server Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC). Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off. Replication – Cơ chế tạo bản sao Report server cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized). Integration Services (DTS) – Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu. Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Chắc chắn sẽ có nhu cầu di chuyển data giữa các server này và không chỉ di chuyển bạn còn muốn định dạng nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng. Analysis Services – Một dịch vụ phân tích dữ liệu rất hay của Microsoft Dữ liệu chứa trong database không có ý nghĩa gì không thể lấy được những thông tin hữu ích từ đó. Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều và kỹ thuật “khai phá dữ liệu”. 6 Notification Services Dịch vụ thông báo là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo. Notification Services có thể gửi thông báo đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau. Reporting Services Reporting Services bao gồm các thành phần server và client cho việc tạo, quả n lí và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triể n và xây dựng các ứng dụng báo cáo. Full Text Search Service Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các CSDL SQL Server. Đánh chỉ mục với Full Text Search có thể được tạo trên bất kỳ cột nào dựa trên dữ liệu văn bản. Sẽ rất hiệu quả cho việc tìm cách sử dụng toán tử LIKE trong SQL với trường hợp tìm văn bản. Service Broker Được sử dụng bên trong mỗi Instance, là môi trường lập trình cho việc các ứng dụng nhảy qua các Instance. Service Broker giao tiếp qua giao thức TCPIP và cho phép các khác nhau có thể được đồng bộ cùng nhau theo hướng trao đổi các. Service Broker chạy như một phần của bộ máy cơ sở dữ liệu, cung cấp một nền tảng truyền tin cậy và theo hàng đợi cho các ứng dụng SQL Server. 1.2. Mô hình 3 lớp (mvc) đơn giản 1.2.1. Mô hình MVC Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục tiêu chia tách phần Giao diện và Code để dễ quản lí, phát triển và bảo trì. MVC chia ứng dụng phần mềm ra làm 3 phần có tương tác với nhau là Model (Dữ liệu), View (Giao diện), Controller ( Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ (Business)). 7 Hình 1: Mô hình MVC 1.2.2. Định nghĩa các thành phần trong mô hình MVC Lớp View (Khung nhìn) Bao gồm các file viết bằng HTML, CSS, Javascript, JSP, thiết kế giao diện,... Chức năng là hiển thị giao diện người dùng và hiển thị kết quả trả về từ Model... Lớp Model (Mô hình) Mô hình các lớp java có nhiệm vụ + Nhận các yêu cầu từ View. + Thực thi các yêu cầu đó ( tính toán, kết nối CSDL…). + Trả về các giá trị tính toán cho View. Đồng bộ hóa giữa Khung nhìn (View) và Mô hình (Model). Tức là Controller sẽ xác định với một trang JSP này thì sẽ tương ứng với lớp java nào đó trong Model để xử lí nó và ngược lại, kết quả sẽ trả về trang jsp. 8 Lớp Controller Gồm file được viết bằng java “đặc biệt” có tên là Servlet. File java “đặc biệt” này có thể tiếp nhận các yêu cầu trực tiếp. Chức năng: Tiếp nhận yêu cầu và điều phối yêu cầu. 1.3. Lợi thế của mô hình 3 lớp 1.3.1. u điểm Bảo mật tốt hơn: che dấu được mã nguồn, yêu cầu giao tiếp với lớp điều khiển. Phân công tốt hơn, tính chuyên môn hóa cao: người đảm nhiệm thiết kế website sẽ thiết kế lớp Views (font-end) và web developer sẽ thiết kế lớp models, control (back-end). Dễ nâng cấp và chỉnh sửa: Muốn sửa chữa giao diện thì sửa ở lớp view, muốn sửa chữa các chức năng thì sửa lớp model. 1.3.2. Hạn chế Khó cài đặt hơn mô hình 1 lớp do mô hình 3 lớp phức tạp hơn mô hình 1 lớp rất nhiều. Không phù hợp với trang web có quy mô nhỏ. Chạy chậm hơn mô hình 1 lớp. 9 Chƣơng 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ TẢ TỔNG THỂ HỆ THỐNG 2.1. Khảo sát hiện trạng thực tế 2.1.1. Bài toán đặt ra Tại các sân bóng ở Tam Kỳ hiện nay thì loại hình kinh doanh dịch vụ cho thuê sân cỏ nhân tạo chưa được phổ biến mà lượng khách đến sân ngày càng tăng, để phục vụ đông đảo khách trong cùng một lúc được tốt hơn, chính xác hơn và nhanh chóng hơn thì sân bóng phải từng bước đưa tin học hóa vào các khâu quản lí. Đặc biệt là trong quản lí sân đang đá hay sân trống, công tác kế toán và quản lí dịch vụ. Bởi vì với công tác thủ công mà sân bóng đang thực hiện đã bộc lộ nhiều hạn chế sau: + Tra cứu thông tin về sân bóng, hàng hóa, nhân viên và khách hàng mất nhiều thời gian và nhiều khi không chính xác. + Lưu trữ thông tin về nhập xuất hàng hóa, nhân viên hay khách hàng đến sân về thu chi, lương nhân viên cần nhiều loại giấy tờ nên cồng kềnh và không đạt hiệu quả. + Cập nhật thông tin hàng ngày tốn nhiều thời gian và khó khăn trong việc thực hiện báo cáo thống kê, nhất là khi có sự việc đột xuất. Trước tình hình đó vấn đề đặt ra là xây dựng một hệ thống thông tin đáp ứng nhu cầu cơ bản sau: + Giảm khối lượng ghi chép nhằm lưu trữ thông tin. + Cập nhật dữ liệu nhanh chóng, chính xác và kịp thời. + Thống kê được số lượng sân đang đá hay sân trống, hàng hóa nhập xuất, thu chi và tình hình doanh thu của sân bóng. + Tự động in hóa đơn, in thống kê,... + Có khả năng lưu trữ thông tin lâu dài, đảm bảo truy vấn nhanh khi cần thiết. Xuất phát từ thực tiễn, với tâm huyết muốn đem lại sự tiện lợi và hiệu quả cao nhất trong việc quản lí, tôi xin giới thiệu một phần mềm quản lí sân cỏ nhân và nâng cao kết quả trong kinh doanh. 10 2.1.2. Ý nghĩa của ứng dụng + Theo dõi quá trình kinh doanh, hoạt động của sân một cách tổng quan, chi tiết,… + Nắm bắt mọi hoạt động của sân thông qua những ...
NỘI DUNG NGHIÊN CỨU
Java là một ngôn ngữ lập trình hướng đối tượng và dựa trên các lớp Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi khởi động, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi
- Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số, xử lí văn bản, tạo ra trò chơi,
- Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …
- Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …
- Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC
- Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket) cũng như truy xuất Web hay nhúng vào trong trang Web (Applet)
- Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng có thể được xử lí phân tán trên các máy tính khác nhau
- Lập trình trên thiết bị cầm tay (J2ME)
- Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE).…
1.1.2 Java Swing trên công cụ hỗ trợ NetBeans
Swing là một bộ công cụ tiện ích, là một phần của ngôn ngữ lập trình Java tổng thể Widget là một yếu tố cá nhân của bất kỳ giao diện người dùng đồ họa, hoặc giao diện Swing hỗ trợ cho người dùng tạo ra các cửa sổ window, các layout cho phần mềm, tạo ra các control cho phép người dùng tương tác với phần mềm
1.1.2.2 Java Swing chạy trên NetBeans
NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy
CƠ SỞ LÍ THUYẾT
Tổng quan về ngôn ngữ lập trình java
Java là một ngôn ngữ lập trình hướng đối tượng và dựa trên các lớp Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi khởi động, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi
- Có thể được dùng để tạo ra các loại ứng dụng để giải quyết các vấn đề về số, xử lí văn bản, tạo ra trò chơi,
- Có các thư viện hàm hỗ trợ xây dựng giao diện (GUI) như AWT, Swing, …
- Có các môi trường lập trình đồ họa như JBuilder, NetBeans, Eclipse, …
- Có khả năng truy cập dữ liệu từ xa thông qua cầu nối JDBC
- Hỗ trợ các lớp hữu ích, tiện lợi trong lập trình các ứng dụng mạng (Socket) cũng như truy xuất Web hay nhúng vào trong trang Web (Applet)
- Hỗ trợ lập trình phân tán (Remote Method Invocation) cho phép một ứng dụng có thể được xử lí phân tán trên các máy tính khác nhau
- Lập trình trên thiết bị cầm tay (J2ME)
- Xây dựng các ứng dụng trong môi trường xí nghiệp (J2EE).…
1.1.2 Java Swing trên công cụ hỗ trợ NetBeans
Swing là một bộ công cụ tiện ích, là một phần của ngôn ngữ lập trình Java tổng thể Widget là một yếu tố cá nhân của bất kỳ giao diện người dùng đồ họa, hoặc giao diện Swing hỗ trợ cho người dùng tạo ra các cửa sổ window, các layout cho phần mềm, tạo ra các control cho phép người dùng tương tác với phần mềm
1.1.2.2 Java Swing chạy trên NetBeans
NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho là tốt nhất hiện nay, được sử dụng chủ yếu cho các lập trình viên phát triển Java tuy
4 nhiên phần mềm có dung lượng khá là nặng dành cho các máy cấu hình có RAM, CPU tương đối cao để vận hành
NetBeans IDE là môi trường phát triển tích hợp và cực kỳ cần thiết cho các lập trình viên, công cụ này có thể hoạt động tốt với rất nhiều nền tảng hệ điều hành khác nhau như Linux, Windows, MacOS, là một mã nguồn mở cung cấp các tính năng cần thiết nhất nhằm tạo ra các ứng dụng web, thiết bị di động, desktop Cũng giống như Eclipse vậy, NetBeans IDE hỗ trợ rất nhiều những ngôn ngữ lập trình như Python, Ruby, JavaScript, Groovy, C / C + +, và PHP Để có thể cài đặt được NetBeans IDE phải cài đặt và cấu hình sẵn JDK trong máy NetBean IDE được chia thành nhiều gói khác nhau để người dùng có thể tải về từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình
Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và còn nhiều tính năng khá thú vị như tự động căn chỉnh mã nguồn, Remote FTP, SVN … Chính vì thế, nó được xem là môi trường phát triển không thể bỏ qua cho các lập trình viên Nếu ai đang sử dụng NetBeans IDE có thể download thêm Notepad++ để tạo nên bộ đôi soạn thảo văn bản lập trình cực kỳ hiệu quả và thông minh
1.1.3 Sơ lƣợc hệ quản trị cơ sớ dữ liệu SQL Server
1.1.3.1 Hệ thống ngôn ngữ SQL
SQL, viết tắt của Structured Query Language (ngôn ngữ truy vấn có cấu trúc), công cụ sử dụng để tổ chức, quản lí và truy xuất dữ liệu đuợc lưu trữ trong các cơ sở dữ liệu SQL là một hệ thống ngôn ngữ bao gồm tập các câu lệnh sử dụng để tương tác với cơ sở dữ liệu quan hệ
1.1.3.2 Hệ thống quản lí cơ sở dữ liệu SQL Server
SQL Server: SQL Server là một hệ thống quản lí cơ sở dữ liệu (Relational DatabaseManagement System (RDBMS) ) sử dụng Transact-SQL để trao đổi dữ liệu giữa Clientcomputer và SQL Server computer Một RDBMS bao gồm có databases 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 Đây là một hệ quản trị cơ sở dữ liệu rất phổ biến Nó là một hệ quản trị CSDL SQL mạnh và đầy đủ các tính năng, có thể chạy trên môi trường cơ sở dữ liệu rất lớn
SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service…
Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng
– Cái lõi của SQL Server Ðây là một engine có khả năng chứa data ở các quy mô khác nhau dưới dạng table và support tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như: ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC)
Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off
– Cơ chế tạo bản sao
Report server cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized)
– Integration Services là một tập hợp các công cụ đồ họa và các đối tượng lập trình cho việc di chuyển, sao chép và chuyển đổi dữ liệu
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Chắc chắn sẽ có nhu cầu di chuyển data giữa các server này và không chỉ di chuyển bạn còn muốn định dạng nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng
– Một dịch vụ phân tích dữ liệu rất hay của Microsoft
Dữ liệu chứa trong database không có ý nghĩa gì không thể lấy được những thông tin hữu ích từ đó Do đó Microsoft cung cấp cho bạn một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều và kỹ thuật “khai phá dữ liệu”
Dịch vụ thông báo là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo Notification Services có thể gửi thông báo đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau
Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lí và triển khai các báo cáo Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo
Mô hình 3 lớp (mvc) đơn giản
Model – View – Controller (MVC) là một mẫu thiết kế nhằm mục tiêu chia tách phần Giao diện và Code để dễ quản lí, phát triển và bảo trì MVC chia ứng dụng phần mềm ra làm 3 phần có tương tác với nhau là Model (Dữ liệu), View (Giao diện), Controller ( Code điều khiển tương tác giữa Model và View cũng như nghiệp vụ (Business))
Hình 1: Mô hình MVC 1.2.2 Định nghĩa các thành phần trong mô hình MVC
Bao gồm các file viết bằng HTML, CSS, Javascript, JSP, thiết kế giao diện, Chức năng là hiển thị giao diện người dùng và hiển thị kết quả trả về từ Model
Mô hình các lớp java có nhiệm vụ
+ Nhận các yêu cầu từ View
+ Thực thi các yêu cầu đó ( tính toán, kết nối CSDL…)
+ Trả về các giá trị tính toán cho View Đồng bộ hóa giữa Khung nhìn (View) và Mô hình (Model) Tức là Controller sẽ xác định với một trang JSP này thì sẽ tương ứng với lớp java nào đó trong Model để xử lí nó và ngược lại, kết quả sẽ trả về trang jsp
Gồm file được viết bằng java “đặc biệt” có tên là Servlet File java “đặc biệt” này có thể tiếp nhận các yêu cầu trực tiếp
Chức năng: Tiếp nhận yêu cầu và điều phối yêu cầu.
Lợi thế của mô hình 3 lớp
Bảo mật tốt hơn: che dấu được mã nguồn, yêu cầu giao tiếp với lớp điều khiển
Phân công tốt hơn, tính chuyên môn hóa cao: người đảm nhiệm thiết kế website sẽ thiết kế lớp Views (font-end) và web developer sẽ thiết kế lớp models, control (back-end)
Dễ nâng cấp và chỉnh sửa: Muốn sửa chữa giao diện thì sửa ở lớp view, muốn sửa chữa các chức năng thì sửa lớp model
Khó cài đặt hơn mô hình 1 lớp do mô hình 3 lớp phức tạp hơn mô hình 1 lớp rất nhiều
Không phù hợp với trang web có quy mô nhỏ
Chạy chậm hơn mô hình 1 lớp
KHẢO SÁT HIỆN TRẠNG VÀ MÔ TẢ TỔNG THỂ HỆ THỐNG9 2.1 Khảo sát hiện trạng thực tế
Bài toán đặt ra
Tại các sân bóng ở Tam Kỳ hiện nay thì loại hình kinh doanh dịch vụ cho thuê sân cỏ nhân tạo chưa được phổ biến mà lượng khách đến sân ngày càng tăng, để phục vụ đông đảo khách trong cùng một lúc được tốt hơn, chính xác hơn và nhanh chóng hơn thì sân bóng phải từng bước đưa tin học hóa vào các khâu quản lí Đặc biệt là trong quản lí sân đang đá hay sân trống, công tác kế toán và quản lí dịch vụ Bởi vì với công tác thủ công mà sân bóng đang thực hiện đã bộc lộ nhiều hạn chế sau:
+ Tra cứu thông tin về sân bóng, hàng hóa, nhân viên và khách hàng mất nhiều thời gian và nhiều khi không chính xác
+ Lưu trữ thông tin về nhập xuất hàng hóa, nhân viên hay khách hàng đến sân về thu chi, lương nhân viên cần nhiều loại giấy tờ nên cồng kềnh và không đạt hiệu quả
+ Cập nhật thông tin hàng ngày tốn nhiều thời gian và khó khăn trong việc thực hiện báo cáo thống kê, nhất là khi có sự việc đột xuất
Trước tình hình đó vấn đề đặt ra là xây dựng một hệ thống thông tin đáp ứng nhu cầu cơ bản sau:
+ Giảm khối lượng ghi chép nhằm lưu trữ thông tin
+ Cập nhật dữ liệu nhanh chóng, chính xác và kịp thời
+ Thống kê được số lượng sân đang đá hay sân trống, hàng hóa nhập xuất, thu chi và tình hình doanh thu của sân bóng
+ Tự động in hóa đơn, in thống kê,
+ Có khả năng lưu trữ thông tin lâu dài, đảm bảo truy vấn nhanh khi cần thiết Xuất phát từ thực tiễn, với tâm huyết muốn đem lại sự tiện lợi và hiệu quả cao nhất trong việc quản lí, tôi xin giới thiệu một phần mềm quản lí sân cỏ nhân và nâng cao kết quả trong kinh doanh
Ý nghĩa của ứng dụng
+ Theo dõi quá trình kinh doanh, hoạt động của sân một cách tổng quan, chi tiết,…
+ Nắm bắt mọi hoạt động của sân thông qua những báo cáo thống kê trung thực cuối tuần, tháng Giảm thiểu thời gian, chi phí tiền bạc vì không phải thuê quá nhiều nhân công cho việc quản lí
+ Lợi nhuận rất cao khi sự chuyên nghiệp được đặt lên hàng đầu.
Môi trường hệ thống
Hình 2: Môi trường hệ thống
Yêu cầu chức năng
Bảng 1: Yêu cầu chức năng
Ri Chức năng Các chức năng cụ thể Loại
R1.1 Đăng nhập vào hệ thống Hiện
R1.2 Đăng xuất khỏi hệ thống Hiện
R2 Quản lí R2.1 Thêm sân Hiện
R2.3 Khai báo thuộc tính cho sân Hiện
R2.4 Bắt đầu hoạt động cho sân Hiện
R2.7 Thanh toán hóa đơn Hiện
R2.8 Tính tiền dịch vụ Ẩn
R2.11 Tính tiền giờ của sân Ẩn
R2.12 Đổi màu icon khi sân hoạt động Ẩn
R2.13 Tự động khuyến mãi khi khách hàng đá đủ 10 trận Ẩn
R2.14 Thêm hoặc bớt số lượng dịch vụ Hiện
R3.5 Cập nhật danh sách đặt lịch Hiện
R3.6 Tìm kiếm lịch đặt theo ngày đặt lịch Hiện
R3.7 Tìm kiếm lịch đặt theo tên khách hàng Hiện
R4.5 Xem thông tin dịch vụ Hiện
R4.6 Chuyển dịch vụ vào từng gói dịch vụ Hiện
R4.7 Xóa dịch vụ ra khỏi gói dịch vụ Hiện
R4.8 Thêm gói dịch vụ Hiện
R4.9 Sửa gói dịch vụ Hiện
R4.10 Xóa gói dịch vụ Hiện
R4.11 Cập nhật gói dịch vụ Hiện
R4.12 Xem thông tin gói dịch vụ Hiện
R4.13 Tự động tính số sản phẩm có trong kho khi nhập hàng, xuất hàng Ẩn
R4.14 Không xóa sửa gói dịch vụ khi khách hàng đang sử dụng Ẩn
R5.1 Ghi công nhân viên Hiện
R5.2 Tính lương nhân viên Hiện
R5.3 Ứng lương nhân viên Hiện
R5.5 Sửa thông tin nhân viên Hiện
R5.6 Cập nhật thông tin nhân viên Hiện
R5.9 Xem danh sách nhân viên có trong sân Hiện
R5.10 Xem công và lương của nhân viên Hiện
R5.11 Không thể xóa nhân viên khi nhân viên đang làm việc Ẩn
R5.12 Tự động trừ tiền ứng khi thanh toán lương cho nhân viên Ẩn
R6.1 Thêm thông tin khách hàng Hiện
R6.2 Sửa thông tin khách hàng Hiện
R6.3 Xóa thông tin khách hàng Hiện
R6.4 Cập nhật thông tin khách hàng Hiện
R6.5 Xem thông tin khách hàng Hiện
R6.6 Xem số lượt đá của khách hàng Hiện
R6.7 Không thể xóa thông tin khách hàng đang hoạt đông Hiện
R6.8 Liệt kê lịch sử hoạt động của khách hàng khi tới sân đá Hiện
R7.1 Đăng kí người dùng Hiện
R7.2 Sửa thông tin người Hiện
Đặc tính người dùng
Người dùng hệ thống (hay người quản lí) được phép sử dụng các chức năng công cụ của toàn hệ thống, liên hệ nâng cấp sever, yêu cầu chỉnh sửa phần mền khi bị lỗi chương trình cụ thể như sau:
2.4.1 Quản lí hoạt động của sân bóng
Quản lí tất cả thông tin về sân bóng nhằm trợ giúp và cung cấp thông tin
- Quản lí thông tin của sân: mã sân, tên sân, kiểu sân,…
- Quản lí tình trạng của sân đang đá hay còn trống, ngoài ra còn quản lí đổi sân khi khách yêu cầu
- Quản lí dịch vụ của sân khi khách gọi trong đó có thông tin của gói dịch vụ để dễ dàng quản lí
- Quản lí thanh toán hóa đơn khi kết thúc trận đá
Người quản lí có thể thêm sân, xóa, cập nhật sân hiện có và xem tình trạng hoạt động của sân
Khi thêm một sân thì hệ thống sẽ cung cấp cho sân mới một mã tự động tăng Sau khi thao tác thì sân sẽ lưu lại, phần mền sẽ kiểm tra tên sân, nếu trùng tên sân thì phần mềm sẽ báo lỗi Nếu tất cả hợp lệ thì phần mềm sẽ cập nhật thêm một sân mới
R7.3 Xóa thông tin người dùng Hiện
R7.4 Không thể xóa người dùng khi đăng nhập Ẩn
R7.5 Người dùng không có trong danh sách thì không đăng nhập Ẩn
R7.6 Cập nhật lịch sử đăng nhập và đăng xuất của người dùng Hiện
R8.1 Xem lịch sử hóa đơn Hiện
R8.2 Xem lịch sử chi tiết của từng hóa đơn HIện
R9.1 Thống kê doanh thu theo tháng Hiện
R9.2 Thống kê doanh thu theo năm Hiện
R9.3 Thống kê chi tiết của tháng của năm cần thống kê Hiện
Khi người quản lí tra cứu sân thì phần mềm sẽ hiển thị các sân cần tra cứu và người quản lí có thể thao tác (thêm, xóa, sửa, làm tươi, đổi sân, đổi tên) trực tiếp trên sân đó
2.4.2 Quản lí tình trạng đặt lịch
Quản lí chi tiết lịch đặt sân của khách hàng
Khi khách hàng đến sân muốn đặt giờ đá thì người quản lí sẽ cung cấp thông tin sân đang hoạt động hay sân trống để khách hàng dễ dàng đặt lịch đá
Khi thêm khách hàng đặt giờ thì hệ thống sẽ cung cấp cho khách hàng một mã đặt lịch tự động Sau khi thao tác thì ngày, giờ được sẽ được lưu lại, phần mềm kiểm tra xem và báo lỗi Nếu hợp lệ thì phần mềm sẽ cập nhật giờ đá
Người quản lí có thể tra cứu danh sách đặt lịch đá bóng của sân thì phần mềm hiển thị cho người quản lí Ngoài ra, người quản lí có thể xóa, sửa và tìm kiếm lịch đặt sân
Quản lí thông tin của dịch vụ và gói dịch vụ (chuyển dịch vụ qua thành gói dịch): mã dịch vụ, mã gói dịch vụ, tên dịch vụ, tên gói dịch vụ, đơn giá, loại, Khi thêm 1 dịch vụ (gói dịch vụ) mới thì hệ thống sẽ cung cấp một mã dịch vụ (mã gói dịch vụ) tự động tăng Khi nhập hàng thì hệ thống sẽ tự kiểm tra mã hàng còn thì cộng thêm vào còn nếu chưa có thì thêm mới vào kho hàng Ngược lại, nếu người quản lí xuất hàng thì hệ thống sẽ tự động trừ đi số lượng đã dùng
Khi người quản lí tra cứu dịch vụ (gói dịch vụ) thì phần mềm sẽ hiển thị các dịch vụ (gói dịch vụ) cần tra cứu người quản lí có thể thao tác ( xóa dịch vụ -gói dịch vụ, sửa dịch vụ- sửa gói dịch vụ)
Quản lí tất cả thông tin về nhân sự của sân bóng:
- Quản lí thông tin nhân viên: mã nhân viên, tên nhân viên, giới tính
- Quản lí sơ yếu lí lịch
- Quản lí công làm việc của nhân viên: Hệ thống cho phép người quản lí chấm công nhân viên như chấm công trên excel
- Quản lí lương của nhân viên: Khi nhân viên ứng tiền thì lúc tính lương hệ thống sẽ tự động cập nhật trừ lương của nhân viên đó
Người quản lí có thể thêm nhân viên, xóa nhân viên, tra cứu nhân viên, cập nhật nhân viên và xem danh sách nhân viên trình trạng làm việc cảu nhân viên Khi thêm một nhân viên thì hệ thống sẽ cung cấp cho nhân viên một mã nhân viên tự động
Sau khi thao tác nhân viên sẽ lưu lại, phần mềm sẽ kiểm tra tên nhân viên, nếu rỗng sẽ báo lỗi ngay, CMND phải đầy đủ 9 số,… Nếu tất cả hợp lệ thì phần mềm sẽ cập nhật một nhân viên
Khi người quản lí tra cứu nhân viên thì phần mềm sẽ hiển thị các nhân viên cần tra cứu, người quản lí thao tác (thêm, xóa, sửa, cập nhật) trực tiếp trên đó
- Quản lí thông tin khách hàng gồm: mã khách hàng, tên khách hàng,…
- Quản lí sơ yếu lí lịch của khách hàng
Hệ thống sẽ cung cấp cho khách hàng một mã khách hàng tự động tăng khi khách đến sân đá banh Sau khi thao tác khách hàng sẽ được hệ thống lưu lại, phần mềm kiểm tra Nếu tất cả hợp lệ thì phần mềm sẽ cập nhật một khách hàng
Ngoài ra, người quản lí có thể xóa, sửa, tìm kiếm khách hàng
- Đối với quản lí User thì có các chức năng cơ bản như: thêm, sửa, xóa
- Ngoài ra, người quản lí User còn có quyền cho người dùng đăng ký User đăng nhập trên hệ thống
- Quản lí thông tin lịch sử của hóa đơn
- Quản lí thông tin chi tiết của từng hóa đơn
- Báo cáo chi tiết về tổng sân, nhân viên, use, dịch vụ, gói dịch vụ, số khách hàng… có trong hệ thống
- Thống kê doanh thu theo tháng và năm của sân
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Các actor và use-case trong hệ thống
3.1.1 Các Actor và vai trò Actor trong hệ thống
Bảng 2: Các Actor và Use - Case trong hệ thống
Admin Quản lí hệ thống
Người dùng Người dùng của hệ thống (người quản lí)
3.1.2 Các Use Case và vai trò Use Case trong hệ thống
Bảng 3: Các Use Case và vai trò Use Case trong hệ thống
Use-case Vai trò Đăng nhập Người dùng đăng nhập
Thêm sân Thêm 1 sân mới Đổi tên sân Đổi tên sân cho hợp lí Đổi sân Đổi sân khi có yêu cầu của khách hàng
Thanh toán Thanh toán hóa đơn khi sân kết thúc trận đấu Thêm đặt lịch Thêm 1 lịch đặt sân mới khi có khách yêu cầu Cập nhật danh sách đặt lịch Cập nhật 1 danh sách đặt lịch
Thêm gói dịch vụ Thêm thông tin 1 gói dịch vụ mới
Thêm nhân viên Thêm 1 nhân viên mới
Thêm khách hàng Thêm 1 khách hàng mới
Thống kê doanh thu theo năm Thống kê doanh thu theo năm Đăng ký người dùng Đăng ký 1 người dùng mới
Sơ đồ use case
3.2.1 Sơ đồ Use Case tổng quát (sơ đồ UC giữa Actor và UC)
Hình 3: Sơ đồ Use Case tổng quát 3.2.2 Mối quan hệ giữa UC và UC
3.2.2.1 Phân rã 1 sơ đồ UC_QuanLiHoatDongSan
Hình 4: Sơ đồ mối quan hệ Use Case quản li hóa đơn
3.2.2.2 Phân rã 2 sơ đồ UC_DatLich
Hình 5: Sơ đồ mối quan hệ Use Case đặt lịch
3.2.2.3 Phân rã 3 sơ đồ UC_DichVu
Hình 6: Sơ đồ mối quan hệ Use Case dịch vụ
3.2.2.4 Phân rã 4 sơ đồ UC_NhanVien
Hình 7: Sơ đồ mối quan hệ Use Case nhân viên
3.2.2.5 Phân rã 5 sơ đồ UC_KhachHang
Hình 8: Sơ đồ mối quan hệ Use Case khách hàng
3.2.2.6 Phân rã sơ đồ UC_Users
Hình 9: Sơ đồ mối quan hệ Use Case Users
3.2.2.7 Phân rã sơ đồ UC_HoaDon
Hình 10: Sơ đồ mối quan hệ Use Case hóa đơn
3.2.2.8 Phân rã sơ đồ UC_ThongKe
Hình 11: Sơ đồ mối quan hệ Use Case thống kê
3.2.3.1 Đặt tả UC_Quản lí đăng nhập
Đặc tả Use Case đăng nhập
- Mục đích: Đảm bảo và an toàn bảo mật hệ thống
- Mô tả: Người dùng khi muốn thao tác với hệ thống như đặt sân, quản lí nhân viên, quản lí dịch vụ,…phải đăng nhập vào hệ thống
- Tiền điều kiện: Người dùng đăng nhập vào hệ thống
- Hậu điều kiện: Thông báo đăng nhập thành công/thất bài
- Trình tự thực hiện: Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 4: Đặc tả Use Case đăng nhập
B1 -S: Hệ thống hiển thị Form đăng nhập
B3 - A: Người dùng nhập mật khẩu
B4.1 A: Không nhập tên, Không nhập mật khẩu
S: Xuất thông báo lỗi: Yêu cầu nhập tên và mật khẩu B4.2 A: Không nhập tên, nhập mật khẩu
S: Xuất thông báo lỗi: Yêu cầu nhập tên đăng nhập
B4.3 A: Nhập tên sai, nhập mật khẩu đúng
S: Xuất thông báo lỗi: Yêu cầu nhập lại tên đăng nhập B4.4 A: Nhập tên, không nhập mật khẩu
S: Xuất thông báo: Yêu cầu nhập nhập mật khẩu B4.5 A: Nhập tên đúng, nhập mật khẩu sai
S: Xuất thông báo: Yêu cầu nhập lại mật khẩu B4.6 A: Nhập tên đúng, nhập mật khẩu đúng
S: Hệ thống thông báo đăng nhập thành công
3.2.3.2 Chức năng quản lí hoạt động của sân
- Mục đích: Thêm sân mới vào hệ thống
- Mô tả: Người dùng thêm sân vào hệ thống
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Người dùng thêm sân thành công khi sử dụng hệ thống Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 5: Use Case thêm sân
B1 A: Người dùng di chuyển chuột tới thanh menu, chọn quản lí sân
B2 S: Hệ thống hiển thị Form quản lí sân
B3 A: Người dùng nhấn chuột phải (menu chuột phải) chọn thêm sân
B4 S: Hệ thống hiện ra một sân mới
B5 A: Người dùng thao tác với sân
B6 S: Danh sách sân được cập nhật lại màn hình
Use Case đổi tên sân
- Mục đích: Muốn đổi tên sân
- Mô tả: Mô tả người dùng đổi tên sân
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Đổi tên sân thành công Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 6: Use Case đổi tên sân
B1 A: Người dùng di chuyển chuột tới thanh menu, chọn quản lí sân
B2 S: Hệ thống hiển thị Form quản lí sân và số sân trong hệ thống
B3 A: Người dùng nhấn nút đổi tên(hoặc menu chuột phải)
B4 S: Hệ thống xử lí và để chuột nhấp nháy
B5 A: Người dùng đặt lại tên cho sân
B6 S: Danh sách sân được cập nhật lại màn hình
Use Case bắt đầu hoạt động cho sân (Đặt sân)
- Mục đích: Biết được sân đang hoạt động
- Mô tả: Người dùng bắt đầu một trận đá khi khách hàng yêu cầu
- Tiền điều kiện: Người dùng phải đăng nhập vào hệ thống
- Hậu điều kiện: Khai báo thành công hoạt động cho sân Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 7: Use Case bắt đầu hoạt động cho sân
B1 A: Người dùng chọn chức năng quản lí từ thanh menu
B2 S: Hệ thống cập nhật danh sách có trong hệ thống
A: Người dùng chọn sân cần bắt đầu(sân có icon hình màu xanh), sau đó bấm chuột phải (từ menu chuột phải) chọn nút “bắt đầu”
S: - Hệ thống kiểm tra nếu sân chưa khai báo thuộc tính thì xuất thông báo: Vui lòng khai báo thuộc thính cho sân
- Còn sân đã khai báo thì chuyển qua bước 4
- Form Đặt sân hiện ra(hệ thống tự cập nhật tên sân, giờ bắt đầu lấy giờ hiện tại) Người dùng bấm nút OK
B4.1 A: Không chọn thời gian đá, không nhân viên phục vụ, tên khách hàng(có thể ko chọn - khách vãng lai) , gói dịch vụ(có thể không chọn)
S: Xuất thông báo: Vui lòng chọn nhân viên phục vụ sân( thời gian đá mặc định ít nhất 30 phút)
B4.2 A: Chọn thời gian đá, chọn nhân viên phục vụ, tên khách hàng(có thể ko chọn - khách vãng lai) , gói dịch vụ(có thể không chọn) S: Sân đã chuyển sang trạng thái đang đá (icon có hình màu cam)
B5 S: Danh sách sân được cập nhật lại màn hình
- Mục đích: Đổi sân khi khách cảm thấy mặt sân bị bóc hay…
- Mô tả: Đổi sân khi khách yêu cầu
- Tiền điều kiện: Đăng nhập thành công vào hệ thống
- Hậu điều kiện: Đổi sân thành công Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 8: Use Case đổi sân
B1 A: Người dùng nhấn chuột phải (menu hiện ra) chọn nút đổi sân
B2 S: Hệ thống xuất hiện Form đổi sân
B3 A: Người dùng chọn cùng kiểu sân
B4 S: Form cùng kiểu sân được cập nhật
B5 A: Người dùng chọn cùng đơn giá
B6 S: Form cùng đơn giá được cập nhật
A: Chưa chọn sân cần thay đổi S: Hệ thống xuất thông báo: Vui lòng chọn sân cần đổi
A: Chọn sân S: Sân được chuyển thành công
B8 S: Danh sách sân được cập nhật lại màn hình
- Mục đích: Thanh toán hóa đơn sau khi kết thúc hoạt động
- Mô tả: Cho phép khách hàng thanh toán hóa đơn
- Tiền điều kiện: Đăng nhập thành công vào hệ thống
- Hậu điều kiện: Thanh toán hóa đơn thành công
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 9: Use Case thanh toán
B1 A: Chọn nút thanh toán từ Form quản lí (hoặc từ menu chuột phải)
B2 S: Form thanh toán xuất hiện, hệ thống hiển thị bảng chi tiết hóa đơn mà khách sử dụng
B3 A: Kiểm tra lại hóa đơn của khách, bấm biểu tượng lưu hoặc chuyển sang bước 7
B4 S: Hiển thị Form lưu hóa đơn
B5 A: Chọn kiểu lưu hóa đơn(xls, pdf, docx,…)
B6 S: Hệ thống lưu thành công
B7 A: Kiểm tra lại hóa đơn của khách, bấm biểu tượng in
3.2.3.3 Chức năng quản lí đặt lịch (đặt lịch đá banh)
Use Case thêm đặt lịch
- Mục đích: Đặt lịch trước khi tới đá giúp khách không tốn thời gian chờ đợi
- Mô tả: Mô tả việc đặt lịch sân cho khách sử dụng
- Tiền điều kiện: Đăng nhập thành công vào hệ thống
- Hậu điều kiện: Đặt lịch thành công Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 10: Use Case thêm đặt lịch
B1 A: Chọn quản lí đặt lịch từ thanh menu dọc bên trái màn hình
B2 S: Hiển thị Form đặt lịch
B3 A: Người dùng chọn nút “thêm đặt lịch”
B4 S: Bảng thêm đặt lịch sẽ hoạt động
B10 S: Hệ thống xuất ra các kiểu sân
B12 S: Hệ thống xuất ra danh sách tên sân từ kiểu sân
B14 S: Hệ thống xuất ra các thời gian
B16 S: Hệ thống xuất ra danh sách khách hàng
S: Xuất thông báo: Vui lòng nhập đầy đủ thông tin
B17.2 A: Chọn ngày các mục khác bỏ trống
S: Xuất thông báo: Vui lòng chọn giờ
B17.3 A: Chọn ngày, chọn giờ, mục khác bỏ trống
S: Xuất thông báo: Vui lòng chọn kiểu sân B17.4 A: Chọn ngày, chọn giờ, chọn kiểu, mục khác bỏ trống
S: Xuất thông báo: Vui lòng chọn nhân viên(giờ đá mặc định 30 phút nếu không chọn thời gian đá bao nhiêu phút)
B17.5 A: Chọn ngày, chọn giờ, chọn kiểu sân, chọn sân, chọn thời gian đá, chọn nhân viên
B18 S: Danh sách đặt lịch được cập nhật lại màn hình
3.2.3.4 Chức năng quản lí dịch vụ
Use Case thêm dịch vụ
- Mục đích: Thêm dịch vụ cho kho hàng
- Mô tả: Mô tả người dùng thêm dịch vụ
- Tiền điều kiện: Đăng nhập vào hệ thống
- Hậu điều kiện: Thêm dịch vụ thành công Ngược lại trạng thái của hệ thống không đổi
- Trình tự thực hiện: Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 11: Use Case thêm dịch vụ
B1 A: Từ thanh menu chính người dùng chọn chức năng quản lí dịch vụ
B2 S: Hệ thống hiển thị Form dịch vụ
B6 S: Xuất ra danh sách loại nước giải khát
B8 S: Xuất ra danh sách đơn vị tính
A: Người dùng bấm nút thêm
A: Không nhập tên dịch vụ, không nhập đơn giá, không chọn loại dịch vụ, không chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập đầy đủ thông tin
A: Nhập tên dịch vụ, không nhập đơn giá, không chọn loại, không chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập đơn giá, chọn loại, chọn đơn vị tính
A: Không nhập tên dịch vụ, nhập đơn giá, không chọn loại dịch vụ, không chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập tên dịch vụ, chọn loại dịch vụ, chọn đơn vị tính
A: Không nhập tên dịch vụ, không nhập đơn giá, chọn loại dịch vụ, không chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập tên dịch vụ, nhập đơn giá, chọn đơn vị tính
A: Không nhập tên dịch vụ, không nhập đơn giá, không chọn loại dịch vụ, chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập tên dịch vụ, nhập đơn giá, chọn loại dịch vụ
A: Không nhập tên dịch vụ, không nhập đơn giá, chọn loại dịch vụ, chọn đơn vị tính
S: Xuất thông báo: Vui lòng nhập tên dịch vụ, nhập đơn giá
A: Nhập tên dịch vụ, nhập đơn giá, chọn loại dịch vụ, không chọn đơn vị tính
S: Xuất thông báo: Vui lòng chọn đơn vị tính
A: Nhập tên dịch vụ, nhập đơn giá, chọn loại dịch vụ, chọn đơn vị tính
B10 S: Danh sách dịch vụ được cập nhật lại màn hình
Use Case thêm số lƣợng dịch vụ
- Mục đích: Thêm số lượng cho kho
- Mô tả: Mô tả người dùng thêm số lượng
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Thêm số lượng sản phẩm thành công Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 12: Use Case thêm số lƣợng dịch vụ
B1 A: Chọn dịch vụ để thêm số lượng khi sản phẩm trong kho sắp hết hoặc hết, sau đó bấm nút thêm số lượng
B2 S: Hệ thống hiển thị bảng nhập số lượng
B3 A: Nhập số lượng sản phẩm vào kho (thống kê số lượng có còn trong kho) Bấm nút lưu
B4 S: Hệ thống tự cộng số lượng mới và cũ thành số lượng có trong kho
Use Case thêm gói dịch vụ
- Mục đích: Thêm gói dịch vụ giúp người dùng dễ quản lí
- Mô tả: Người dùng thêm gói dịch vụ mới
- Tiền điều kiện: Đăng nhập thành công vào hệ thống
- Hậu điều kiện: Thêm gói dịch vụ thành công Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 13: Use Case thêm gói dịch vụ
B1 A: Người dùng bấm nút thêm gói dịch vụ Sau đó điền tên gói dịch vụ rồi bấm nút lưu
B2 S: Hệ thống kiểm tra nếu trùm tên thì người dùng phải nhập tên khác, ngược lại lưu thành công vào hệ thống
B3 A: Người dùng chuyển dịch vụ từ dịch vụ của sân sang gói dịch vụ
B4 S: Hệ thống ghi nhận lại gói dịch vụ tạm thời
3.2.3.5 Chức năng quản lí nhân viên
Use Case thêm nhân viên
- Mục đích: Thêm nhân viên vào hệ thống
- Mô tả: Mô tả người dùng thêm nhân viên vào hệ thống
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Người dùng thêm nhân viên thành công khi sử dụng hệ thống Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 14: Use Case thêm nhân viên
B1 A: Người dùng bấm nút thêm nhân viên
B2 S: Hệ thống hiển thị bảng thông tin nhân viên
B3 A: Người dùng nhập đầy đủ thông tin vào bảng thông tin nhân viên
S: Hệ thống kiểm tra nếu bạn để trống chỗ nhập dữ liệu thì hệ thống xuất thông báo : Vui lòng nhập “dữ liệu vào chỗ trống đó”(nhập tên nhân viên, nhập đia chỉ, chọn ngày tháng năm sinh, chọn giới tính, nhập số điện thoại, nhập số CMND, nhập lương, chọn ca làm việc, chọn chức vụ làm việc)
B4 A: Người dùng chọn nút thêm trong bảng thông tin nhân viên
B5 S: Danh sách nhân viên được cập nhật lại màn hình
3.2.3.5 Chức năng quản lí khách hàng
Use Case thêm khách hàng
- Mục đích: : Thêm khách hàng vào hệ thống để dễ dàng quản lí khuyến mãi cho khách
- Mô tả: Mô tả người dùng thêm khách hàng vào hệ thống
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Người dùng thêm khách hàng thành công khi sử dụng hệ thống Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 15: Use Case thêm khách hàng
B1 A: Người dùng chọn chức năng quản lí khách hàng từ menu chính
B2 S: Hiển thị Form khách hàng
B5 S: Bảng thêm khách hàng hoạt động
B10.1 A: Không nhập tên khách hàng, không nhập địa chỉ, không nhập số điện thoại, không nhập CMND
S: Xuất thông báo: Vui lòng nhập đầy đủ thông tin B10.2 A: Nhập tên khách hàng, không nhập địa chỉ, không nhập số điện thoại, không nhập CMND
S: Xuất thông báo: Vui lòng nhập địa chỉ, nhập số điện thoại, nhập CMND
B10.3 A: Nhập tên khách hàng, nhập địa chỉ, không nhập số điện
S: Xuất thông báo: Vui lòng nhập số điện thoại, nhập CMND
B10.4 A: Nhập tên khách hàng, nhập địa chỉ, nhập số điện thoại, không nhập CMND
S: Xuất thông báo: Vui lòng nhập CMND B10.5 A: Không nhập tên khách hàng, nhập địa chỉ, nhập số điện thoại, nhập CMND S: Xuất thông báo: Vui lòng nhập tên khách hàng B10.6 A: Không nhập tên khách hàng, không nhập địa chỉ, nhập số điện thoại, nhập CMND
S: Xuất thông báo: Vui lòng nhập tên khách hàng, nhập địa chỉ
B10.7 A: Không nhập tên khách hàng, không nhập địa chỉ, không nhập số điện thoại, nhập CMND
S: Xuất thông báo: Vui lòng nhập tên khách hàng nhập địa chỉ, nhập số điện thoại
B12 S: Hệ thống lưu thông tin vào bảng quản lí khách hàng
3.2.3.7 Chức năng quản lí User
Use Case đăng kí người dùng
- Mục đích: Thêm người dùng vào hệ thống
- Mô tả: Use case này bắt đầu khi Admin thêm một người dùng vào hệ thống
- Tiền điều kiện: Use case này buộc phải đăng nhập vào hệ thống
- Hậu điều kiện: Nếu Use case này thành công thì người dùng sẽ được đăng kí thành công vào hệ thống Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 16: Use Case đăng kí người dùng
B1 A: Người dùng chọn chức năng quản lí Use từ thanh menu
B2 S: Hệ thống hiện thị danh sách các người dùng
A: Nhập tài khoản (góc phải màn hình)
S: Hệ thống kiểm tra đúng thì chuyển sang bước 4(tài khoản ít nhất phải
S: Hệ thống kiểm tra đúng điều kiện sang bước 5
S: Hệ thống kiểm tra đúng thì chuyển sang bước 6
B6 A: Nhập tên, nhập số điện thoại, nhập gmail
B7.1 A: Không nhập tên, không nhập số điện thoại, không nhập gmail
S: Xuất thông báo: Vui lòng nhập tên, số điện thoại, gmail B7.2 A: Không nhập tên, không nhập số điện thoại, nhập gmail
S: Xuất thông báo: Vui lòng nhập tên, số điện thoại
B7.3 A: Không nhập tên, nhập số điện thoại, nhập gmail
S: Xuất thông báo: Vui lòng nhập tên
B7.4 A: Nhập tên, không nhập số điện thoại, không nhập gmail
S: Xuất thông báo: Vui lòng nhập số điện thoại, gmail B7.5 A: Nhập tên, nhập số điện thoại, không nhập gmail
S: Xuất thông báo: Vui lòng nhập gmail B7.6 A: Nhập tên, không nhập số điện thoại, nhập gmail
S: Xuất thông báo: Vui lòng nhập số điện thoại
B7.7 A: Nhập tên, nhập số điện thoại, nhập gmail
S: Xuất thông báo: Bạn đã đăng kí tài khoản thành công
B8 S: Danh sách người dùng được cập nhật lại màn hình
3.2.3.8 Chức năng quản lí hóa đơn
- Mục đích: Xem lịch sử hóa đơn và chi tiết từng dịch vụ của từng hóa đơn
- Mô tả: Mô tả người dùng có thể xem lịch sử hóa đơn và chi tiết từng dịch vụ của từng hóa đơn
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Xem được lịch sử của hóa đơn Ngược lại trạng thái của hệ thống không đổi
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 17: Use xem hóa đơn
B1 A: Người dùng chọn chức năng quản lí hóa đơn từ thanh menu
B2 S: Hiển thị Form lịch sử hóa đơn
B3 A: Người dùng chọn từng hóa đơn
B4 S: Hiển thị chi tiết dịch vụ của từng hóa đơn
3.2.3.9 Chức năng quản lí thống kê
- Mục đích: Nắm rõ tình trạng doanh thu của sân để có kế hoạch điều chỉnh cho phù hợp
- Mô tả: Liệt kê doanh thu của quán theo từng tháng, từng năm Ngoài ra còn thống kê tổng sân, tổng nhân viên, tổng dịch vụ, tổng hóa đơn, tổng khách hàng, tổng use, tổng gói dịch vụ
- Tiền điều kiện: Người dùng đăng nhập thành công vào hệ thống
- Hậu điều kiện: Hiển thị danh sách thống kê
Chú giải: A: Actor(tác nhân); S: System(hệ thống)
Bảng 18: Use Case thống kê
B1 A: Người dùng chọn chức năng quản lí thống kê từ thanh menu
B2 S: Hiển thị Form thống kê
A: Người dùng chọn thống kê theo tiêu chí
S: Hiện biểu đồ thống kê theo tháng
S: Hiển thị biểu đồ theo năm
B4 UC thống kê kết thúc.
Xác định object, class, mối quan hệ giữa các class; vẽ sơ đồ class
3.3.1 Xác định Object và class
Phần mềm có các lớp: Sân bóng, Dịch vụ, Đặt lịch, Hóa đơn, Khách hàng, Nhân Viên, Lương, Gói dịch vụ
Hình 12: Sơ đồ xác định Object và class
3.3.2 Sơ đồ Class và mối quan hệ giữa các Class
Biểu đồ tuần tự
3.4.1 Lƣợc đồ tuần tự Use-case Đăng nhập
Hình 14: Lƣợc đồ tuần tự Use-case Đăng nhập
3.4.2 Lƣợc đồ tuần tự Use-case Thêm sân
Hình 15: Lƣợc đồ tuần tự Use-case Thêm sân 3.4.3 Lƣợc đồ tuần tự Use-case Đổi sân
Hình 16: Lƣợc đồ tuần tự Use-case Đổi sân
3.4.4 Lƣợc đồ tuần tự Use-case Thanh Toán
Hình 17: Lƣợc đồ tuần tự Use-case Thanh Toán 3.4.5 Lƣợc đồ tuần tự Use-case Đặt lịch
Hình 18: Lƣợc đồ tuần tự Use-case Đặt lịch
3.4.6 Lƣợc đồ tuần tự Use-case Thêm dịch vụ
Hình 19: Lƣợc đồ tuần tự Use-case Thêm dịch vụ 3.4.7 Lƣợc đồ tuần tự Use-case Thêm nhân viên
Hình 20: Lƣợc đồ tuần tự Use-case Thêm nhân viên
3.4.8 Lƣợc đồ tuần tự Use-case Thêm khách hàng
Hình 21: Lƣợc đồ tuần tự Use-case Thêm khách hàng 3.4.9 Lƣợc đồ tuần tự Use-case Thống kê
Hình 22: Lƣợc đồ tuần tự Use-case Thống kê
Biểu đồ hoạt động
3.5.1 Lƣợc đồ hoạt động Use-case Đăng nhập
Hình 23: Lƣợc đồ hoạt động Use-case Đăng nhập 3.5.2 Lƣợc đồ hoạt động Use-case Thêm sân
Hình 24: Lƣợc đồ hoạt động Use-case Thêm sân
3.5.3 Lƣợc đồ hoạt động Use-case Thanh Toán
Hình 25: Lƣợc đồ hoạt động Use-case Thanh Toán 3.5.4 Lƣợc đồ hoạt động Use-case Đặt lịch
Hình 26: Lƣợc đồ hoạt động Use-case Đặt lịch
3.5.5 Lƣợc đồ hoạt động Use-case Thêm dịch vụ
Hình 27: Hình Lƣợc đồ hoạt động Use-case Thêm dịch vụ
3.5.6 Lƣợc đồ hoạt động Use-case Thêm gói dịch vụ
Hình 28: Lƣợc đồ hoạt động Use-case Thêm gói dịch vụ
3.5.7 Lƣợc đồ hoạt động Use-case Thêm nhân viên
Hình 29: Lƣợc đồ hoạt động Use-case Thêm nhân viên 3.5.8 Lƣợc đồ hoạt động Use-case Thêm khách hàng
Hình 30: Lƣợc đồ hoạt động Use-case Thêm khách hàng
3.5.9 Lƣợc đồ hoạt động Use-case Thống kê
Biểu đồ trạng thái
3.6.1 Biểu đồ trạng thái của lớp Nhân viên
Hình 32: Biểu đồ trạng thái của lớp nhân viên 3.6.2 Biểu đồ trạng thái của lớp Khách hàng
Hình 33: Biểu đồ trạng thái của lớp khách hàng
3.6.3 Biểu đồ trạng thái của lớp Sân bóng
Hình 34: Biểu đồ trạng thái của lớp sân bóng 3.6.4 Biểu đồ trạng thái của lớp Dịch vụ
Hình 35: Biểu đồ trạng thái của lớp dịch vụ 3.6.5 Biểu đồ trạng thái của lớp Hóa đơn
Hình 36: Biểu đồ trạng thái của lớp hóa đơn
Đặc tả dữ liệu
3.7.1 Sơ lƣợc về cơ sở dữ liệu
SanBong(MaSan, TenSan, KieuSan, DonGia, TinhTrang)
DatLich(MaDatLich, MaSan, MaKhachHang, Ngay, GioVao,
KhachHang(MaKhachHang, TenKhachHang, NgayDangKi, SDT, CMND, SoLanDa, DiaChi, TinhTrang)
NhanVien(MaNhanVien, HoVaTen, DiaChi, NgaySinh, GioiTinh, CMND, SDT, LuongCoBan, TienUng, Ca, ChucVu, NgayDangKi, TinhTrang)
Luong(MaNhanVien, Ngay, Chieu, Toi, TinhTrang)
DichVu(MaDichVu, TenDichVu, DonGia, DVT, Loai, SoLuongCon)
GoiDichVu_DichVu(MaGoiDichVu, MaDichVu, SoLuong)
HoaDon(MaHoaDon, MaSan, MaKhachHang, MaNhanVien, GioBatDau, TongThoiGian, TongTien, MucKhuyenMai, DatThanhToan)
HoaDon_HoatDong(MaHoaDon, MaDichVu, SoLuong)
3.7.2.1 Thuộc tính của bảng Sân Bóng
Hình 37: Thuộc tính của bảng Sân Bóng
3.7.2.2 Thuộc tính của bảng Đặt Lịch
Hình 38: Thuộc tính của bảng Đặt Lịch
3.7.2.3 Thuộc tính của bảng Khách Hàng
Hình 39: Thuộc tính của bảng Khách Hàng
3.7.2.4 Thuộc tính của bảng Nhân Viên
Hình 40: Thuộc tính của bảng Nhân Viên
3.7.2.5 Thuộc tính của bảng Lương
Hình 41: Thuộc tính của bảng Lương
3.7.2.6 Thuộc tính của bảng Dịch Vụ
Hình 42: Thuộc tính của bảng Dịch Vụ
3.7.2.7 Thuộc tính của bảng Gói Dịch Vụ
Hình 43: Thuộc tính của bảng Gói Dịch Vụ
3.7.2.8 Thuộc tính của bảng Gói Dịch Vụ - Dịch Vụ
Hình 44: Thuộc tính của bảng Gói Dịch Vụ - Dịch Vụ
3.7.2.9 Thuộc tính của bảng Hóa Đơn
Hình 45: Thuộc tính của bảng Hóa Đơn
3.7.2.10 Thuộc tính của bảng Hóa Đơn – Hoạt Động
Hình 46: Thuộc tính của bảng Hóa Đơn – Hoạt Động
3.7.3 Thể hiện cơ sở dữ liệu
Hình 47: Cơ sở dữ liệu bảng dịch vụ
CÀI ĐẶT HỆ THỐNG
Công cụ sử dụng
Để lập trình Java cần đến:
JDK (Java Development KIT): bao gồm JRE (Java Runtime Enviroment) và thư viện để phát triển
IDE (Integrated Development Environment): là ứng dụng giúp lập trình viên phát triển dễ dàng và nhanh chóng hơn Có thể sử dụng Netbeans IDE 8.2 để phát triển
Hệ quản trị cơ sở dữ liệu SQL Server 2014
Bộ gõ tiếng việt hỗ trợ Unicode: Unikey
Bộ công cụ vẽ Paint.
Các giao diện chính
4.2.1 Giao diện Form Đăng nhập
Sau khi chạy chương trình, sẽ hiện ra Form đăng nhập người dùng đăng nhập vào hệ thống với tài khoản và mật khẩu Khi người dùng đăng nhập vào hệ thống thì các chức năng của chương trình sẽ hiển thị.
Hình 48: Giao diện Form Đăng nhập
- Tài khoản: tài khoản đăng nhập vào hệ thống
- Mật khẩu: mỗi người sử dụng có một mật khẩu truy cập riêng
- Bấm Đăng nhập: để thực hiện kết nối
- Bấm Thoát: dừng kết nối và thoát khỏi chương trình
4.2.2 Giao diện Form Quản lí
- Sau khi đăng nhập thành công thì form quản lí hiện ra, cũng chính là form quản lí hoạt động của sân bóng
Hình 49: Giao diện form quản lí
- Hệ thống cập nhật số sân và dịch vụ có trong sân
- Sau khi bấm chuột phải bấm nút bắt đầu hoạt động cho sân, sân sẽ chuyển màu.Nếu chuyển sang màu cam thì sân đang hoạt động, còn sắp hết giờ thì sân sẽ có màu tím để dễ quan sát sân nào sắp hết thời gian, bấm thanh toán cho sân đã sử dụng Ngoài ra có chức năng thêm sân, xóa sân, đổi tên sân, làm tươi sân, khai báo thuộc tính cho sân,
- Bấm nút thanh toán: thanh toán dịch vụ cho sân
- Hủy hóa đơn: hủy hóa đơn khi cần
4.2.3 Giao diện Form Đặt lịch
Hình 50: Giao diện form đặt lịch
- Chọn ngày hoặc chọn tên khách hàng để tìm kiếm lịch đặt cho sân
- Bấm nút thêm đặt lịch: thêm lịch đặt cho sân
- Chọn ngày, nhập giờ, chọn kiểu sân, chọn sân, chọn thời gian đá, tên khách hàng Bấm nút lưu hệ thống sẽ lưu lại việc lịch đặt
4.2.4 Giao diện Form Dịch vụ
Hình 51: Giao diện form dịch vụ
- Hệ thống cập nhật dịch vụ và gói dịch vụ sân có
- Bấm nút xóa: xóa dịch vụ và gói dịch vụ có trong hệ thống
- Bấm nút thêm: thêm dịch vụ mới cho sân Nhập tên dịch vụ, đơn giá, loại và đơn vị tính
- Bấm nút sửa: sửa dịch vụ nếu cần
- Bấm nút thêm số lượng: hiển thị bảng số lượng để nhập số lượng mới
- Bấm nút thêm gói: thêm gói dịch vụ cho sân Nhập tên gói dịch vụ
4.2.5 Giao diện Form Nhân viên
Hình 52: Giao diện form nhân viên
- Hệ thống cập nhật danh sách nhân viên
- Tìm kiếm nhân viên theo tên
- Bấm nút ghi công: ghi công nhân viên
- Bấm nút sửa: sửa thông tin nhân viên
- Bấm nút thêm: thêm nhân viên
- Bấm nút tạm ứng: tạo điều kiện ứng tiền lương cho nhân viên khi cần
- Bấm nút lưu: lưu thông tin nhân viên, lưu công và lưu số tiền ứng của nhân viên
- Bấm nút hủy: hủy tiền ứng và việc ghi công cho nhân viên
- Bấm nút reset: làm mới thông tin bảng nhân viên
4.2.6 Giao diện Form Khách hàng
Hình 53: Giao diện form khách hàng
- Form này có các chức năng tìm kiếm, thêm sửa xóa thông tin khách hàng
Hình 54: Giao diện form users
- Hệ thống hiển thị các users đang có
- Form này có các chức năng tìm kiếm, thêm sửa xóa thông tin users
- Bấm nút đăng ký: đăng ký tài khoản mới cho người dùng
4.2.8 Giao diện Form Thống kê
Hình 55: Giao diện form thống kê 4.2.9 Giao diện Form Hóa đơn
Hình 56: Giao diện form hóa đơn