Đang tải... (xem toàn văn)
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 ...
Trang 1UBND 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
Trang 2UBND 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
Trang 3LỜ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
Trang 4MỤ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
Trang 5Hì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
Trang 6DANH 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
Trang 7MỤ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
Trang 82.3 Yêu cầu chức năng 10
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ơ đồ UC_QuanLiHoatDongSan 17
3.2.2.2 Phân rã 2 sơ đồ UC_DatLich 18
3.2.2.3 Phân rã 3 sơ đồ UC_DichVu 18
3.2.2.4 Phân rã 4 sơ đồ UC_NhanVien 19
3.2.2.5 Phân rã 5 sơ đồ UC_KhachHang 19
3.2.2.6 Phân rã sơ đồ UC_Users 20
3.2.2.7 Phân rã sơ đồ UC_HoaDon 20
3.2.2.8 Phân rã sơ đồ UC_ThongKe 20
3.2.3 Đặc tả Use Case 21
3.2.3.1 Đặt tả UC_Quả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
Trang 93.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
Trang 103.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
Trang 11Phầ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
Trang 12- 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
Trang 13Phầ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
Trang 14nhiê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…
Trang 15Cá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”
Trang 16Notification 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 TCP/IP 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))
Trang 17Hì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
Trang 18Lớ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
Trang 19Chươ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
Trang 202.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 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
2.2 Môi trường hệ thống
Hình 2: Môi trường hệ thống
2.3 Yêu cầu chức năng
Bảng 1: Yêu cầu chức năng
R1 Quản lí đăng nhập
R1.1 Đăng nhập vào hệ thống Hiện
R1.2 Đăng xuất khỏi hệ thống Hiện
Trang 21hoạt động của sâ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.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
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.11 Cập nhật gói dịch vụ Hiện
Trang 22R4.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
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
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
R7.2 Sửa thông tin người Hiện
Trang 232.4 Đặ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
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 Quản lí thống kê
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
Trang 24Khi 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
2.4.3 Quản lí dịch vụ
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ụ)
2.4.4 Quản lí nhân viên
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 đó
Trang 25Ngườ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 đó
2.4.5 Quản lí khách hàng
- 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
2.4.6 Quản lí Users:
- Đố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
2.4.7 Quản lí hóa đơn
- 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
Trang 26Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3.1 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
Đă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
Trang 273.2 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
Trang 283.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ụ
Trang 293.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
Trang 303.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ê
Trang 313.2.3 Đặc tả Use Case
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 - Ri: R1.1, R1.2
- 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
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
Trang 323.2.3.2 Chức năng quản lí hoạt động của sân
Use Case thêm 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
- Ri: R2.1
- Trình tự thực hiện:
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
B7 UC kết thúc
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
Trang 33Bả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
B7 UC kết thúc
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
- Ri: 2.5
- Trình tự thực hiện:
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
B3
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
B4
- 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
Trang 34B4.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
B6 UC kết thúc
Use Case đổi sân
- 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
- Ri: R2.6
- Trình tự thực hiện:
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
B7
- Bấm nút thay đổi
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