Tải bản đầy đủ (.pdf) (68 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.73 MB, 68 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

UBND TỈNH QUẢNG NAM

<b>TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THÔNG TIN </b>

------

<b>ĐẶNG THỊ HOA </b>

<b>XÂY DỰNG PHẦN MỀM QUẢN LÍ DỊCH VỤ CHO TH SÂN CỎ NHÂN TẠO </b>

<b>THEO MƠ HÌNH ĐA TẦNG </b>

<i><b>KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC </b></i>

<i><b>Quảng Nam, tháng 4 năm 2018 </b></i>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

UBND TỈNH QUẢNG NAM

<b>TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA CÔNG NGHỆ THƠNG TIN </b>

------

<b>KHĨA LUẬN TỐT NGHIỆP ĐẠI HỌC </b>

<i><b>Tên đề tài: </b></i>

<i><b>XÂY DỰNG PHẦN MỀM QUẢN LÍ DỊCH VỤ CHO THUÊ SÂN CỎ NHÂN TẠO </b></i>

<i><b>THEO MÔ HÌNH ĐA TẦNG </b></i>

Sinh viên thực hiện

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<b>LỜI CẢM ƠN </b>

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 hồn thiện đề tài này.

<i>Tan Kỳ, tháng 4 năm 2018 Sinh viên thực hiện Đặng Thị Hoa </i>

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

<b>MỤC LỤC HÌNH ẢNH </b>

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 Tố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 Tố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

</div><span class="text_page_counter">Trang 5</span><div class="page_container" data-page="5">

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

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>DANH MỤC BẢNG BIỂU </b>

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

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>MỤC LỤC</b>

<b>LỜI CẢM ƠN ... 1 </b>

<b>Phần 1. MỞ ĐẦU ... 1 </b>

<b>1.1. Lí do chọn đề tài ... 1 </b>

<b>1.2. Mục tiêu của đề tài ... 1 </b>

<b>1.3. Đối tượng và phạm vi nghiên cứu ... 1 </b>

<b>1.4. Phương pháp nghiên cứu ... 1 </b>

<b>1.5. Lịch sử nghiên cứu ... 2 </b>

<b>1.6. Đóng góp của đề tài ... 2 </b>

<b>1.7. Cấu trúc đề tài ... 2 </b>

<b>Phần 2. NỘI DUNG NGHIÊN CỨU ... 3 </b>

<b>Chương 1: CƠ SỞ LÍ THUYẾT ... 3 </b>

<b>1.1. Tổng quan về ngơn ngữ lập trình java ... 3 </b>

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

<b>1.2. Mô hình 3 lớp (mvc) đơn giản ... 6 </b>

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

<b>1.3. Lợi thế của mơ hình 3 lớp ... 8 </b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

<b>2.3. Yêu cầu chức năng ... 10 </b>

<b>Chương 3: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ... 16 </b>

<b>3.1. Các actor và use-case trong hệ thống ... 16 </b>

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

<b>3.2. Sơ đồ use case ... 17 </b>

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

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

3.2.3.9. Chức năng quản lí thống kê ... 34

<b>3.3. Xác định object, class, mối quan hệ giữa các class; vẽ sơ đồ class ... 35 </b>

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

<b>3.4. Biểu đồ tuần tự ... 36 </b>

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

<b>3.5. Biểu đồ hoạt động ... 41 </b>

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

<b>3.6. Biểu đồ trạng thái ... 45 </b>

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

<b>3.7. Đặc tả dữ liệu ... 47 </b>

3.7.1. Sơ lược về cơ sở dữ liệu ... 47

3.7.2. Bảng thuộc tính ... 47

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

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

<b>Chương 4: CÀI ĐẶT HỆ THỐNG ... 51 </b>

<b>4.1. Công cụ sử dụng ... 51 </b>

<b>4.2. Các giao diện chính ... 51 </b>

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

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b>Phần 1. MỞ ĐẦU 1.1. Lí do chọn đề tài </b>

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. Ngồ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 ngun, việc tính tố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 tố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.

<i><b>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”. </b></i>

<b>1.2. Mục tiêu của đề tài </b>

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

<b>hiệu quả cao nhất. </b>

<b>1.3. Đối tượng và phạm vi nghiên cứu </b>

Đố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.

<b>1.4. Phương pháp nghiên cứu </b>

- 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

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

- Sử dụng phương pháp tổng hợp để thiết kế và xây dựng hệ thống

<b>1.5. Lịch sử nghiên cứu </b>

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ờ.

<b>1.6. Đóng góp của đề tài </b>

Đề 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 chun 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ý.

<b>1.7. Cấu trúc đề tài </b>

Đề 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.

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

<b>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 </b>

<b>1.1.1. Ngôn ngữ Java </b>

<i>1.1.1.1. Sơ lược về java </i>

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.

<i>1.1.1.2. Khả năng của java </i>

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).…

<b>1.1.2. Java Swing trên cơng cụ hỗ trợ NetBeans </b>

<i>1.1.2.1. Java Swing </i>

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.

<i>1.1.2.2. Java Swing chạy trên NetBeans </i>

<b>NetBeans IDE là một công cụ hỗ trợ lập trình viết mã code miễn phí được cho </b>

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

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

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

<i>khác nhau như Linux, Windows, MacOS,... là một mã nguồn mở cung cấp các tính </i>

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

<b>giống như Eclipse vậy, NetBeans IDE hỗ trợ rất nhiều những ngôn ngữ lập trình </b>

<i><b>như Python, Ruby, JavaScript, Groovy, C / C + +, và PHP. </b></i>

<b>Để 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ề </b>

từng phần, tiết kiệm dung lượng, tùy theo nhu cầu của mình.

<b>Giống với Notepad++, NetBean IDE có gợi ý cú pháp khá tốt, và cịn nhiều tính </b>

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.

<b>1.1.3. Sơ lƣợc hệ quản trị cơ sớ dữ liệu SQL Server </b>

<i>1.1.3.1. Hệ thống ngôn ngữ SQL </i>

<i>SQL, viết tắt của Structured Query Language (ngôn ngữ truy vấn có cấu trúc), </i>

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ệ.

<i>1.1.3.2. Hệ thống quản lí cơ sở dữ liệu SQL Server </i>

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….

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

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.

<b>Database Engine </b>

– 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.

<b>Replication </b>

– 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).

<b>Integration Services (DTS) </b>

– 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.

<b>Analysis Services </b>

– 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”.

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

<b>Notification Services </b>

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.

<b>Reporting Services </b>

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.

<b>Full Text Search Service </b>

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 tốn tử LIKE trong SQL với trường hợp tìm văn bản.

<b>Service Broker </b>

Đượ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.

<b>1.2. Mơ hình 3 lớp (mvc) đơn giản </b>

<b>1.2.1. Mơ hình MVC </b>

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

<b>vụ (Business)). </b>

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

<b>Hình 1: Mơ hình MVC 1.2.2. Định nghĩa các thành phần trong mơ hình MVC </b>

<b>Lớp View (Khung nhìn) </b>

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...

<b>Lớp Model (Mơ hình) </b>

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 tốn, kết nối CSDL…). + Trả về các giá trị tính tố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.

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

<b>Lớp Controller </b>

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 u cầu.

<b>1.3. Lợi thế của mơ hình 3 lớp </b>

<b>1.3.1. Ƣu điểm </b>

<small></small> 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.

<small></small> Phân cơng tốt hơn, tính chun 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).

<small></small> 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.

<b>1.3.2. Hạn chế </b>

<small></small> 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.

<small></small> Khơng phù hợp với trang web có quy mơ nhỏ.

<small></small> Chạy chậm hơn mơ hình 1 lớp.

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b>Chương 2: KHẢO SÁT HIỆN TRẠNG VÀ MÔ TẢ TỔNG THỂ HỆ THỐNG </b>

<b>2.1. Khảo sát hiện trạng thực tế </b>

<b>2.1.1. Bài tốn đặt ra </b>

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ế tố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.

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

<b>2.1.2. Ý nghĩa của ứng dụng </b>

+ 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 th q 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.

<b>2.2. Mơi trường hệ thống </b>

<b>Hình 2: Môi trường hệ thống </b>

<b>2.3. Yêu cầu chức năng </b>

<b>Bảng 1: Yêu cầu chức năng </b>

<i><b>R1 </b></i>

<i><b>Quản lí đăng nhập </b></i>

<i>R1.1 <b>Đăng nhập vào hệ thống </b></i> Hiện

<i>R1.2 </i> Đăng xuất khỏi hệ thống Hiện

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

<i><b>hoạt động của sân </b></i>

<i>R2.3 </i> Khai báo thuộc tính cho sân Hiện

<i>R2.4 </i> Bắt đầu hoạt động cho sân Hiện

<i>R2.11 Tính tiền giờ của sân </i> Ẩn

<i>R2.12 Đổi màu icon khi sân hoạt động </i> Ẩn

<i>R2.13 </i> Tự động khuyến mãi khi khách hàng đá đủ 10

<i>R3.6 </i> Tìm kiếm lịch đặt theo ngày đặt lịch Hiện

<i>R3.7 </i> Tìm kiếm lịch đặt theo tên khách hàng. Hiện

<i>R4.5 </i> Xem thông tin dịch vụ Hiện

<i>R4.6 </i> Chuyển dịch vụ vào từng gói dịch vụ Hiện

<i>R4.7 </i> Xóa dịch vụ ra khỏi gói dịch vụ Hiện

<i>R4.11 Cập nhật gói dịch vụ </i> Hiện

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<i>R4.12 Xem thơng tin gói dịch vụ </i> Hiện

<i>R4.13 </i> Tự động tính số sản phẩm có trong kho khi nhập

<i>R5.2 </i> Tính lương nhân viên Hiện

<i>R5.3 </i> Ứng lương nhân viên Hiện

<i>R5.5 </i> Sửa thông tin nhân viên Hiện

<i>R5.6 </i> Cập nhật thông tin nhân viên Hiện

<i>R5.9 </i> Xem danh sách nhân viên có trong sân Hiện

<i>R5.10 Xem công và lương của nhân viên </i> Hiện

<i>R5.11 </i> Khơng thể xóa nhân viên khi nhân viên đang làm

<i>R6.1 </i> Thêm thông tin khách hàng Hiện

<i>R6.2 </i> Sửa thông tin khách hàng Hiện

<i>R6.3 </i> Xóa thơng tin khách hàng Hiện

<i>R6.4 </i> Cập nhật thông tin khách hàng Hiện

<i>R6.5 </i> Xem thông tin khách hàng Hiện

<i>R6.6 </i> Xem số lượt đá của khách hàng Hiện

<i>R6.7 </i> Khơng thể xóa thơng tin khách hàng đang hoạt

<i>R7.2 </i> Sửa thông tin người Hiện

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

<b>2.4. Đặc tính người dùng </b>

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 tồ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:

<b>2.4.1. Quản lí hoạt động của sân bóng </b>

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, ngồ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 tố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.

<i>R7.3 </i> Xóa thơng tin người dùng Hiện

<i>R7.4 </i> Khơng thể xóa người dùng khi đăng nhập Ẩn

<i>R7.5 </i> Người dùng khơng có trong danh sách thì khơng

<i>R8.1 </i> Xem lịch sử hóa đơn Hiện

<i>R8.2 </i> Xem lịch sử chi tiết của từng hóa đơn HIện

<i><b>R9 </b></i>

<i><b>Quản lí thống kê </b></i>

<i>R9.1 </i> Thống kê doanh thu theo tháng Hiện

<i>R9.2 </i> Thống kê doanh thu theo năm Hiện

<i>R9.3 </i> Thống kê chi tiết của tháng của năm cần thống kê Hiện

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

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 đó.

<b>2.4.2. Quản lí tình trạng đặt lịch </b>

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í. Ngồi ra, người quản lí có thể xóa, sửa và tìm kiếm lịch đặt sân.

<b>2.4.3. Quản lí dịch vụ </b>

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ụ).

<b>2.4.4. Quản lí nhân viên </b>

<b>Quản lí tất cả thơng tin về nhân sự của sân bóng: </b>

- 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 đó.

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

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

<i>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ẽ </i>

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 đó.

<b>2.4.5. Quản lí khách hàng </b>

<b>- Quản lí thơng tin khách hàng gồm: mã khách hàng, tên khách hàng,… </b>

- 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.

Ngồi ra, người quản lí có thể xóa, sửa, tìm kiếm khách hàng.

<b>2.4.6. Quản lí Users: </b>

- Đố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.

- Ngồ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.

<b>2.4.7. Quản lí hóa đơn </b>

<b>- Quản lí thơng tin lịch sử của hóa đơn. </b>

- Quản lí thơng tin chi tiết của từng hóa đơn.

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

<b>Chươ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 </b>

<b>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 </b>

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í)

<b>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 </b>

Đă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 tốn Thanh tố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.

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

<b>3.2. Sơ đồ use case </b>

<b>3.2.1. Sơ đồ Use Case tổng quát (sơ đồ UC giữa Actor và UC) </b>

<b>Hình 3: Sơ đồ Use Case tổng quát 3.2.2. Mối quan hệ giữa UC và UC </b>

<i>3.2.2.1. Phân rã 1 sơ đồ UC_QuanLiHoatDongSan </i>

<b>Hình 4: Sơ đồ mối quan hệ Use Case quản li hóa đơn </b>

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

<i>3.2.2.2. Phân rã 2 sơ đồ UC_DatLich </i>

<b>Hình 5: Sơ đồ mối quan hệ Use Case đặt lịch </b>

<i>3.2.2.3. Phân rã 3 sơ đồ UC_DichVu </i>

<b>Hình 6: Sơ đồ mối quan hệ Use Case dịch vụ </b>

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

<i>3.2.2.4. Phân rã 4 sơ đồ UC_NhanVien </i>

<b>Hình 7: Sơ đồ mối quan hệ Use Case nhân viên </b>

<i>3.2.2.5. Phân rã 5 sơ đồ UC_KhachHang </i>

<b>Hình 8: Sơ đồ mối quan hệ Use Case khách hàng </b>

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

<i>3.2.2.6. Phân rã sơ đồ UC_Users </i>

<b>Hình 9: Sơ đồ mối quan hệ Use Case Users </b>

<i>3.2.2.7. Phân rã sơ đồ UC_HoaDon </i>

<b>Hình 10: Sơ đồ mối quan hệ Use Case hóa đơn </b>

<i>3.2.2.8. Phân rã sơ đồ UC_ThongKe </i>

<b>Hình 11: Sơ đồ mối quan hệ Use Case thống kê </b>

</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31">

<b>3.2.3. Đặc tả Use Case </b>

<i>3.2.3.1. Đặt tả UC_Quản lí đăng nhập </i>

<b> Đặc tả Use Case đăng nhập </b>

- 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>Bảng 4: Đặc tả Use Case đăng nhập </b>

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

</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32">

<i>3.2.3.2. Chức năng quản lí hoạt động của sân </i>

<b> Use Case thêm sân </b>

- 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>Bảng 5: Use Case thêm sân </b>

<b>B1 </b> A: Người dùng di chuyển chuột tới thanh menu, chọn quản lí sân

<b>B2 </b> S: Hệ thống hiển thị Form quản lí sân

<b>B3 </b> A: Người dùng nhấn chuột phải (menu chuột phải) chọn thêm sân

<b>B4 </b> S: Hệ thống hiện ra một sân mới

<b>B5 </b> A: Người dùng thao tác với sân.

<b>B6 </b> S: Danh sách sân được cập nhật lại màn hình.

<b>B7 </b> UC kết thúc.

<b> Use Case đổi tên sân </b>

- 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

</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33">

<b>Bảng 6: Use Case đổi tên sân </b>

<b>B1 </b> A: Người dùng di chuyển chuột tới thanh menu, chọn quản lí sân

<b>B2 </b> S: Hệ thống hiển thị Form quản lí sân và số sân trong hệ thống.

<b>B3 </b> A: Người dùng nhấn nút đổi tên(hoặc menu chuột phải).

<b>B4 </b> S: Hệ thống xử lí và để chuột nhấp nháy

<b>B5 </b> A: Người dùng đặt lại tên cho sân.

<b>B6 </b> S: Danh sách sân được cập nhật lại màn hình.

<b>B7 </b> UC kết thúc.

<b> Use Case bắt đầu hoạt động cho sân (Đặt sân) </b>

- 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>Bảng 7: Use Case bắt đầu hoạt động cho sân </b>

<b>B1 </b> A: Người dùng chọn chức năng quản lí từ thanh menu

<b>B2 </b> S: Hệ thống cập nhật danh sách có trong hệ thống

<b>B3 </b>

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

<b>B4 </b>

- 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

</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34">

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)

<b>B5 </b> S: Danh sách sân được cập nhật lại màn hình.

<b>B6 </b> UC kết thúc.

<b> Use Case đổi sân </b>

- 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>Bảng 8: Use Case đổi sân </b>

<b>B1 </b> A: Người dùng nhấn chuột phải (menu hiện ra) chọn nút đổi sân

<b>B2 </b> S: Hệ thống xuất hiện Form đổi sân.

<b>B3 </b> A: Người dùng chọn cùng kiểu sân

<b>B4 </b> S: Form cùng kiểu sân được cập nhật

<b>B5 </b> A: Người dùng chọn cùng đơn giá

<b>B6 </b> S: Form cùng đơn giá được cập nhật

<b>B7 </b>

- 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

</div>

×