1. Trang chủ
  2. » Luận Văn - Báo Cáo

WEBSITE QUẢN LÝ XE DỊCH VỤ - Full 10 điểm

72 1 0

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

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Website Quản Lý Xe Dịch Vụ
Tác giả Nguyễn Phú Hiển
Người hướng dẫn ThS. Hồ Hữu Linh
Trường học Trường Đại Học Quảng Nam
Chuyên ngành Công Nghệ Thông Tin
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2017
Thành phố Quảng Nam
Định dạng
Số trang 72
Dung lượng 1,79 MB

Cấu trúc

  • PHẦN 1. MỞ ĐẦU (12)
    • 1.1. Lý do chọn đề tài (12)
    • 1.2. Mục tiêu của đề tài (13)
    • 1.3. Đối tượng và phạm vi nghiên cứu (13)
    • 1.4. Phương pháp nghiên cứu (13)
    • 1.5. Đóng góp của đề tài (13)
    • 1.6. Cấu trúc đề tài (14)
  • PHẦN 2. NỘI DUNG (15)
  • CHƯƠNG 1: CƠ SỞ LÝ THUYẾT (15)
    • 1.1. Ngôn ngữ lập trình ASP.net (15)
    • 1.2. Hệ quản trị cơ sở dữ liệu SQL server (19)
    • 1.3. Ngôn ngữ lập trình PHP (20)
    • 1.4. Công cụ notepad++ (25)
    • 1.5. Công cụ XamPP (26)
    • 1.6. Ngôn ngữ HTML (26)
    • 1.7. Ngôn ngữ CSS (27)
    • 1.8. Ngôn ngữ Javascrip (28)
    • 1.9. Giới thiệu về MySQL (28)
    • 1.10. Mô hình đa tầng (30)
    • 1.11. Kết chương (35)
  • CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG (36)
    • 2.1. Khảo sát hiện trạng và xác lập dự án (36)
      • 2.1.1. Khảo sát hiện trạng (36)
        • 2.1.1.1. Nhiệm vụ chung của hệ thống quản lý xe (36)
        • 2.1.1.2. Cơ cấu tổ chức xe dịch vụ Tam Kỳ (36)
        • 2.1.1.3. Quy trình xử lý (36)
      • 2.1.2. Xác lập dự án (37)
        • 2.1.2.1. Hạn chế của hệ thống hiện tại (37)
        • 2.1.2.2. Yêu cầu (mục tiêu) của hệ thống mới (37)
        • 2.1.2.3 Các giải pháp và tính khả thi (38)
    • 2.2. Xây dựng chức năng của hệ thống (38)
      • 2.2.1. Các tác nhân của hệ thống (38)
      • 2.2.2. Các quy tắc của hệ thống (38)
      • 2.2.3. Xác định các UC (39)
      • 2.2.4. Định nghĩa bài toán (40)
      • 2.2.5. Các Actor trong bài toán quản lý xe dịch vụ công ty dịch vụ du lịch (40)
      • 2.2.6. Các Usercase (41)
      • 2.2.7. Mô tả các UC (41)
    • 2.3. Biểu đồ UC (42)
      • 2.3.1. UC hệ thống (42)
      • 2.3.2. UC đặt xe (43)
      • 2.3.3. UC đăng nhập (43)
      • 2.3.4. UC quản lý nhân viên (44)
      • 2.3.5. UC quản lý xe (44)
      • 2.3.6. UC quản lý tuyến đường (45)
      • 2.3.7. UC quản lý giá (45)
      • 2.3.8. UC quản lý đặt xe (46)
      • 2.3.9. UC Thống kê (46)
    • 2.4. Biểu đồ tuần tự (47)
      • 2.4.1. Biểu đồ tuần tự chức năng đặt xe (47)
      • 2.4.2. Biểu đồ tuần tự chức năng đăng nhập (47)
      • 2.4.3. Biểu đồ tuần tự chức năng quản lý đặt xe (48)
      • 2.4.4. Biểu đồ tuần tự chức năng thống kê (48)
    • 2.5. Biểu đồ lớp (49)
    • 2.6. Cơ sở dữ liệu (50)
      • 2.6.1. Bảng đăng nhập (50)
      • 2.6.2. Bảng nhân viên (50)
      • 2.6.3. Bảng xe (50)
      • 2.6.4. Bảng tuyến đường (51)
      • 2.6.5. Bảng giá (51)
      • 2.6.6. Bảng chi tiết đặt xe (51)
      • 2.6.7. Bảng thông tin đặt xe (52)
      • 2.6.8. Bảng chi tiết đặt xe (52)
  • CHƯƠNG 3: XÂY DỰNG HỆ THỐNG (53)
    • 3.1. Giao diện trang chủ (53)
    • 3.2. Giao diện trang đặt xe (54)
    • 3.3. Giao diện trang thông tin về công ty (55)
    • 3.4. Giao diện trang quản lý nhân viên (56)
    • 3.5. Giao diện trang quản lý xe (56)
    • 3.6. Giao diện trang quản lý tuyến đường (57)
    • 3.7. Giao diện trang quản lý giá (57)
    • 3.8. Giao diện trang quản lý đặt xe (58)
    • 3.9. Giao diện trang thống kê (58)
    • 3.10. Giao diện hợp đồng (59)
    • 3.11. Giao diện hóa đơn thanh toán (60)
  • PHẦN 3. PHẦN KẾT LUẬN VÀ KIẾN NGHỊ (61)
    • 1. Đánh giá kết quả đã thực hiện (61)
    • 2. Hạn chế (61)
    • 3. Hướng phát triển của đề tài (61)
  • PHẦN 4. TÀI LIỆU THAM KHẢO (62)
  • PHỤ LỤC (63)
    • 1. Đặt xe (Phần này giành cho khách hàng) (0)

Nội dung

UBND TỈNH QUẢNG NAM TRƯỜNG ĐẠI HỌC QUẢNG NAM KHOA: CÔNG NGHỆ THÔNG TIN ---------- NGUYỄN PHÚ HIỂN WEBSITE QUẢN LÝ XE DỊCH VỤ KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC Quảng Nam, tháng 04 năm 2017 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 Tên đề tài: WEBSITE QUẢN LÝ XE DỊCH VỤ Sinh viên thực hiện: NGUYỄN PHÚ HIỂN MSSV: 2113021011 CHUYÊN NGÀNH CÔNG NGHỆ THÔNG TIN KHÓA: 2013 – 2017 Cán bộ hướng dẫn ThS. HỒ HỮU LINH Quảng Nam, ngày 14 tháng 04 năm 2017 LỜI MỞ ĐẦU Ngày nay, công nghệ thông tin nói chung, tin học nói riêng đã đóng góp một vai trò quan trọng trong đời sống con người. Các thành tựu về công nghệ thông tin đã, đang và sẽ được ứng dụng, phát triển trong tất cả các lĩnh vực trong xã hội. Nếu như trước đây, máy tính chỉ được sử dụng cho nghiên cứu khoa học - kỹ thuật, thì ngày nay nó đã ứng dụng cho nhiều mục đích khác nhau như: Quản lý, lưu trữ dữ liệu, giải trí, điều khiển tự động, tham gia trực tuyến. Như vậy, công nghệ thông tin đã trở thành một công cụ quản lý cho toàn bộ hệ thống xã hội. Những năm gần đây, ở nước ta tin học đã ứng dụng rộng rãi trong lĩnh vực kinh tế. Việc ứng dụng phần mềm quản lý trong các hệ thống thông tin đã trợ giúp rất nhiều cho các nhà quản lý. Hệ thống thông tin quản lý cho thuê “xe dịch vụ du lịch” đã giúp ích cho khâu quản lý, khâu tìm kiếm và cập nhật thông tin, đảm bảo khoa học chính xác và nhanh chóng. Khoá luận giới thiệu về phương pháp phân tích thiết kế hướng đối tượng đồng thời tìm hiểu hiện trạng, nghiên cứu hệ thống quản lý cho thuê xe dịch vụ du lịch của công ty TNHH MTV Dịch vụ Du lịch Tam Kỳ. Tìm hiểu việc xây dựng ứng dụng quản lý bằng mô hình đa tầng và áp dụng phương pháp phân tích thiết kế hướng đối tượng để giải quyết bài toán này. Xin chân thành cảm ơn thầy giáo Hồ Hữu Linh đã tận tình hướng dẫn tôi trong quá trình hướng dẫn thực tập cũng như hoàn thành khóa luận tốt nghiệp! MỤC LỤC LỜI MỞ ĐẦU ...................................................................................................... 1 MỤC LỤC ............................................................................................................ 4 DANH MỤC CÁC HÌNH ẢNH ......................................................................... 8 DANH MỤC CÁC BẢNG ................................................................................ 10 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 ................................................................................... 2 1.3. Đối tượng và phạm vi nghiên cứu .......................................................... 2 1.4. Phương pháp nghiên cứu ........................................................................ 2 1.5. Đóng góp của đề tài.................................................................................. 2 1.6. Cấu trúc đề tài .......................................................................................... 3 PHẦN 2. NỘI DUNG .......................................................................................... 4 CHƯƠNG 1: CƠ SỞ LÝ THUYẾT .................................................................. 4 1.1. Ngôn ngữ lập trình ASP.net ..................................................................... 4 1.2. Hệ quản trị cơ sở dữ liệu SQL server ..................................................... 8 1.3. Ngôn ngữ lập trình PHP ........................................................................... 9 1.4. Công cụ notepad++ ................................................................................. 14 1.5. Công cụ XamPP ...................................................................................... 15 1.6. Ngôn ngữ HTML .................................................................................... 15 1.7. Ngôn ngữ CSS ......................................................................................... 16 1.8. Ngôn ngữ Javascrip ................................................................................ 17 1.9. Giới thiệu về MySQL.............................................................................. 17 1.10. Mô hình đa tầng .................................................................................... 19 1.11. Kết chương ............................................................................................ 24 CHƯƠNG 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG ............................ 25 2.1. Khảo sát hiện trạng và xác lập dự án ................................................... 25 2.1.1. Khảo sát hiện trạng ........................................................................... 25 2.1.1.1. Nhiệm vụ chung của hệ thống quản lý xe ........................................... 25 2.1.1.2. Cơ cấu tổ chức xe dịch vụ Tam Kỳ ....................................................... 25 2.1.1.3. Quy trình xử lý ...................................................................................... 25 2.1.2. Xác lập dự án ..................................................................................... 26 2.1.2.1. Hạn chế của hệ thống hiện tại ............................................................. 26 2.1.2.2. Yêu cầu (mục tiêu) của hệ thống mới .................................................. 26 2.1.2.3 Các giải pháp và tính khả thi ................................................................. 27 2.2. Xây dựng chức năng của hệ thống ........................................................ 27 2.2.1. Các tác nhân của hệ thống ............................................................... 27 2.2.2. Các quy tắc của hệ thống .................................................................. 27 2.2.3. Xác định các UC ................................................................................ 28 2.2.4. Định nghĩa bài toán .......................................................................... 29 2.2.5. Các Actor trong bài toán quản lý xe dịch vụ công ty dịch vụ du lị ch Tam Kỳ ......................................................................................................... 29 2.2.6. Các Usercase ...................................................................................... 30 2.2.7. Mô tả các UC ..................................................................................... 30 2.3. Biểu đồ UC ............................................................................................... 31 2.3.1. UC hệ thống ....................................................................................... 31 2.3.2. UC đặt xe............................................................................................ 32 2.3.3. UC đăng nhập .................................................................................... 32 2.3.4. UC quản lý nhân viên ....................................................................... 33 2.3.5. UC quản lý xe .................................................................................... 33 2.3.6. UC quản lý tuyến đường ................................................................... 34 2.3.7. UC quản lý giá ................................................................................... 34 2.3.8. UC quản lý đặt xe .............................................................................. 35 2.3.9. UC Thống kê ...................................................................................... 35 2.4. Biểu đồ tuần tự ........................................................................................ 36 2.4.1. Biểu đồ tuần tự chức năng đặt xe .................................................... 36 2.4.2. Biểu đồ tuần tự chức năng đăng nhập............................................. 36 2.4.3. Biểu đồ tuần tự chức năng quản lý đặt xe ....................................... 37 2.4.4. Biểu đồ tuần tự chức năng thống kê ................................................ 37 2.5. Biểu đồ lớp ............................................................................................... 38 2.6. Cơ sở dữ liệu ............................................................................................ 39 2.6.1. Bảng đăng nhập ................................................................................ 39 2.6.2. Bảng nhân viên.................................................................................. 39 2.6.3. Bảng xe .............................................................................................. 39 2.6.4. Bảng tuyến đường ............................................................................. 40 2.6.5. Bảng giá ............................................................................................. 40 2.6.6. Bảng chi tiết đặt xe ............................................................................ 40 2.6.7. Bảng thông tin đặt xe ........................................................................ 41 2.6.8. Bảng chi tiết đặt xe ............................................................................ 41 CHƯƠNG 3: XÂY DỰNG HỆ THỐNG......................................................... 42 3.1. Giao diện trang chủ ................................................................................ 42 3.2. Giao diện trang đặt xe ............................................................................ 43 3.3. Giao diện trang thông tin về công ty ..................................................... 44 3.4. Giao diện trang quản lý nhân viên ........................................................ 45 3.5. Giao diện trang quản lý xe ..................................................................... 45 3.6. Giao diện trang quản lý tuyến đường ................................................... 46 3.7. Giao diện trang quản lý giá.................................................................... 46 3.8. Giao diện trang quản lý đặt xe .............................................................. 47 3.9. Giao diện trang thống kê ........................................................................... 47 3.10. Giao diện hợp đồng ............................................................................... 48 3.11. Giao diện hóa đơn thanh toán ............................................................. 49 PHẦN 3. PHẦN KẾT LUẬN VÀ KIẾN NGHỊ ............................................. 50 1. Đánh giá kết quả đã thực hiện .............................................................. 50 2. Hạn chế .................................................................................................... 50 3. Hướng phát triển của đề tài .................................................................. 50 PHẦN 4. TÀI LIỆU THAM KHẢO ................................................................ 51 Tài liệu............................................................................................................. 51 Website ............................................................................................................ 51 PHỤ LỤC ........................................................................................................... 52 1. Đặt xe (Phần này giành cho khách hàng) ............................................ 52 2. Xác nhận đặt xe (Phần này dành cho người quản lý) ........................ 55 3. Thống kê (Phần này dành cho người quản lý) .................................... 59 DANH MỤC CÁC HÌNH ẢNH Hình 1: Giới thiệu về ngôn ngữ ASP.net ............................................................... 5 Hình 2: Giới thiệu PHP Framework CodeIgniter ................................................ 6 Hình 3: Cú pháp của ngôn ngữ PHP .................................................................... 9 Hình 4: Mô hình MVC ......................................................................................... 20 Hình 5: Quy trình hoạt động của một dự án website .......................................... 21 Hình 6: Mô hình MVC trong một dự ác website ................................................. 22 Hình 7:Cơ cấu tổ chức hệ thống quản lý xe........................................................ 25 Hı̀nh 8: Uc hệ thống ............................................................................................ 31 Hình 9: UC đặt xe ............................................................................................... 32 Hình 10: UC đăng nhập ...................................................................................... 32 Hình 11: UC quản lý nhân viên .......................................................................... 33 Hình 12: UC quản lý xe....................................................................................... 33 Hình 13: UC quản lý tuyến đường ...................................................................... 34 Hình 14: UC quản lý giá ..................................................................................... 34 Hình 15: UC quản lý đặt xe ................................................................................ 35 Hình 16: UC thống kê ......................................................................................... 35 Hình 17: Biểu đồ tuần tự chức năng đặt xe ........................................................ 36 Hình 18: Biểu đồ tuần tự chức năng đăng nhập ................................................. 36 Hình 19: Biểu đồ tuần tự chức năng quản lý đặt xe ........................................... 37 Hình 20: Biểu đồ tuần tự chức năng thống kê .................................................... 37 Hình 21: Biểu đồ lớp hệ thống ............................................................................ 38 Hình 22: Giao diện trang chủ ............................................................................. 42 Hình 23: Giao diện trang đặt xe ......................................................................... 43 Hình 24: Giao diện trang thông tin công ty ........................................................ 44 Hình 25: Giao diện trang quản lý nhân viên ...................................................... 45 Hình 26: Giao diện trang quản lý xe .................................................................. 45 Hình 27: Giao diện trang quản lý tuyến đường .................................................. 46 Hình 28: Giao diện trang quản lý giá ................................................................. 46 Hình 29: Giao diện trang quản lý đặt xe ............................................................ 47 Hình 30: Giao diện trang thống kê ..................................................................... 47 Hình 31: Giao diện trang hợp đồng .................................................................... 48 Hình 32: Giao diện hóa đơn ............................................................................... 49 DANH MỤC CÁC BẢNG Bảng 1: Bảng chức năng đặt xe trực tuyến của khách hàng .............................. 27 Bảng 2: Bảng chức năng đăng nhập ................................................................... 28 Bảng 3: Bảng chức năng quản lý ........................................................................ 28 Bảng 4: Bảng chức năng Thống kê ..................................................................... 28 Bảng 5: Bảng xác định các UC ........................................................................... 28 Bảng 6: Bảng đăng nhập..................................................................................... 39 Bảng 7: Bảng nhân viên ...................................................................................... 39 Bảng 8: Bảng xe .................................................................................................. 39 Bảng 9: Bảng tuyến đường.................................................................................. 40 Bảng 10: Bảng giá .............................................................................................. 40 Bảng 12: Bảng chi tiết đặt xe .............................................................................. 40 Bảng 11: Bảng thông tin đặt xe .......................................................................... 41 Bảng 12: Bảng chi tiết đặt xe .............................................................................. 41 DANH MỤC CÁC TỪ VIẾT TẮT STT TỪ VIẾT TẮT DIỄN GIẢI 01 CSDL Cơ sở dữ liệu 02 HQTCSDL Hệ quản trị cơ sở dữ liệu 03 PHP PHP Hypertext Preprocessor 04 HTML Hyper Text Markup Language 05 CSS Cascading Style Sheets 06 UC Use case 07 ASP Active Server Page 08 SQL Structured Query Language 1 PHẦN 1. MỞ ĐẦU 1.1. Lý do chọn đề tài Quá trình phát triển đô thị ở nước ta đang diễn ra mạnh mẽ trên mọi lĩnh vực kinh tế xã hội và đời sống nhân dân được nâng cao, và trong đó nhu cầu đi lại của người dân bằng xe dịch vụ tăng lên nhanh chóng dẫn đến sự thành lập các công ty xe dịch vụ ngày càng nhiều. Tuy nhiên, trong cách quản lý của một số công ty xe dịch vụ hiện nay vẫn là ghi chép bằng sổ sách rất bất tiện, khó quản lý, tốn nhiều thời gian, đôi lúc thiếu sự chính xác và khó khăn trong việc thống kê. Dựa vào thực tế đó, ta thấy rằng để quản lý các quy trình làm việc, đặt biệt là vấn đề đặt xe và chăm sóc khách hàng rất cần thiết phải thay đổi theo một cách mới mẻ, khoa học hơn. Từ đó, việc đưa thông tin đáp ứng nhu cầu của khách hàng và hỗ trợ cho việc đặt xe là không thể thiếu. Thay vì trước đây khi muốn đi đâu đó, khách hàng dù ở xa hay gần cũng phải đến tận nơi làm việc của công ty dịch vụ xe mới có thể đặt xe. Việc khách hàng có thể ở nhà mà vẫn liên hệ đặt xe được tại công ty này hoặc công ty khác trong không gian ảo đã trở thành hiện thực. Ngày nay, bất cứ công việc nào, bạn cũng có thể thao tác thông qua mạng Internet và vấn đề chủ yếu tôi muốn nói ở đây là ta làm sao có thể xây dựng được một website quản lý được việc đặt xe trực tuyến để phục vụ cho các công việc của khách hàng như công tác, tham quan, dã ngoại, cưới hỏi… Như vậy, xây dựng “Website Quản lý xe dịch vụ” là một vấn đề thực tế, ứng dụng được và có tiềm năng phát triển trong tương lai. Sự ra đời của ngôn ngữ lập trình cho phép chúng ta có thể thiết kế và xây dựng các ứng dụng giao dịch điện tử dưới nhiều hình thức khác nhau. Với sự hỗ trợ của các loại cơ sở dữ liệu quan hệ, ta có thể kết hợp chúng trên trình chủ như PHP, ASP, JSP, để có thể xây dựng và triển khai ứng dụng với nhiều mục đích khác nhau. ASP và SQL Server kết hợp với việc nghiên cứu thêm về ngôn ngữ lập trình PHP, công cụ Notepad++ và công cụ XamPP không nằm ngoài mục đích dùng để xây dựng ứng dụng giao dịch điện tử. Với lí do đó, được sự hướng dẫn tận tình của thầy giáo ThS. Hồ Hữu Linh, tôi đã chọn đề tài “Mô hình đa tầng và áp dụng vào 2 xây dựng hệ thống quản lý xe dịch vụ” sử dụng công nghệ Framework Codeigniter với ngôn ngữ lập trình ASP, hệ quản trị cơ sở dữ liệu SQL Server sau đó nghiên cứu thêm ngôn ngữ PHP, công cụ Notepad++ và công cụ XamPP để hoàn thành đề tài khóa luận tốt nghiệp của mình. 1.2. Mục tiêu của đề tài  Tìm hiểu về ngôn ngữ C#, hệ quản trị cơ sở dữ liệu SQL server.  Tìm hiểu về mô hình MVC và ngôn ngữ lập trình ASP.net.  Tìm hiểu thêm về ngôn ngữ PHP.net, công cụ notepad++, công cụ XamPP.  Tìm hiểu ngôn ngữ HTML, CSS, Javascrip.  Giới thiệu về MySQL. 1.3. Đối tượng và phạm vi nghiên cứu  Đối tượng nghiên cứu: - Mô hình đa tầng và ngôn ngữ lập trình ASP.net, PHP.net và nghiên cứu thêm về công cụ Notepad++, công cụ XamPP.  Phạm vi nghiên cứu: - Nghiên cứu các vấn đề xoay quanh việc lập trình ứng dụng bằng ngôn ngữ PHP.net và mô hình đa tầng. - Xây dựng hệ thống quản lý dịch vụ xe du lịch. 1.4. Phương pháp nghiên cứu  Thu thập thông tin, nghiên cứu tài liệu liên quan đến đề tài.  Tham khảo sách, báo và từ Internet.  Khảo sát thực tế hiện trạng làm việc của công ty xe dịch vụ Tam Kỳ 1.5. Đóng góp của đề tài  Cung cấp kiến thức về ngôn ngữ lập trình ASP.net, PHP.net, mô hình đang tầng, hệ quản trị cơ sở dữ liệu SQL server, công cụ Notepad++, công cụ XamPP, ngôn ngữ HTML, ngôn ngữ CSS, ngôn ngữ Javascrip.  Cung cấp một nền tảng ứng dụng xây dựng hệ thống quản lý dịch vụ xe. Có thể nói đây là một ứng dụng mang tính thiết thực, rất cần thiết vào áp dụng 3 thực tế, giúp người dùng có thể thao tác nhanh chóng, chính xác, tiết kiệm thời gian làm việc.  Với đề tài này tôi mong muốn cung cấp một tài liệu tham khảo cho các bạn sinh viên trong khoa khi tiếp cận và tìm hiểu về lĩnh vực thiết kế một hệ thống quản lý trên website và nhất là lĩnh vực mà tôi đang nghiên cứu.  Mô hình hóa được bài toán lập trình dưới mô hình đa tầng để xây dựng phần mềm quản lý “dịch vụ xe du lịch” trên nền website và được ứng dụng thực tế. 1.6. Cấu trúc đề tài  Cấu trúc phần nội dung khóa luận gồm ba chương:  Chương 1: Tổng quan về ngôn ngữ lập trình ASP.net, PHP.net, mô hình đa tầng, hệ quản trị cơ sở dữ liệu SQL server, công cụ Notepad++, công cụ XamPP, chương này giới thiệu sơ lược ngôn ngữ lập trình ASP, PHP, công cụ Notepad++, áp dụng mô hình đa tầng để thiêt kế hệ thống và cài đặt SQL server 2008 hoặc công cụ XamPP để quản trị cơ sở dữ liệu, ngôn ngữ HTML, ngôn ngữ CSS, ngôn ngữ Javascrip.  Chương 2: Phân tích và thiết kế hệ thống quản lý dịch vụ xe cho một công ty dịch vụ xe du lịch, nội dung chủ yếu của chương này là phân tích và xây dựng các chức năng của việc cho phép khách hàng đặt xe trực tuyến, quản lý nhân viên, quản lý xe, quản lý thông tin đặt xe, in hợp đồng, in hóa đơn, thống kê báo cáo.  Chương 3: Xây dựng hệ thống hoàn chỉnh. 4 PHẦN 2. NỘI DUNG CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1.1. Ngôn ngữ lập trình ASP.net Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows. ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript. Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài. Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code. Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code. Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện. Quá trình xử lý Postback khó khăn, … ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft .Net Framework. Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets). Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client. Client nhận kết quả trả về từ Server và hiển thị lên màn hình. ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server. Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client. Tất cả các 5 xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó gọi là kỹ thuật lập trình ở phía server. * Những ưu điểm nổi bật của ASP.NET - ASP.Net cho phép người lập trình lựa chọn một trong các ngôn ngữ lập trình mà họ yêu thích: Visual Basic.Net, J#, C#,… - Trang ASP.Net được biên dịch trước. Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả. Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP. Hình 1: Giới thiệu về ngôn ngữ ASP.net - ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của .Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, … - ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng. - ASP.Net sử dụng phong cách lập trình mới: Code behide. Tách code riêng, giao diện riêng do vậy dễ đọc, dễ quản lý và bảo trì. - Kiến trúc lập trình giống ứng dụng trên Windows. - Hỗ trợ quản lý trạng thái của các control. - Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser. - Hỗ trợ nhiều cơ chế cache. - Triển khai cài đặt. 6 - Không cần lock, không cần đăng ký. - Cho phép nhiều hình thức cấu hình ứng dụng. - Hỗ trợ quản lý ứng dụng ở mức toàn cục. - Global.aspx có nhiều sự kiện hơn. - Quản lý session trên nhiều Server, không cần Cookies. * Framework Codeigniter CodeIgniter là nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ PHP bởi Rick Ellis. Phiên bản đầu tiên được phát hành vào ngày 28/02/2006. Hiện tại CodeIgniter đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc. Hình 2: Giới thiệu PHP Framework CodeIgniter * Những điểm nổi bật - Được thiết kế theo mô hình MVC (Model-View-Controller): Mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành các phần độc lập, từ đó giúp cho việc thiết kế web, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm. CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng xử lý và bảo trì. - Nhỏ gọn : Gói cài đặt chỉ 404KB, kích thước CodeIgniter giúp giảm thiểu đáng kể không gian lưu trữ. 7 - Tốc độ nhanh : CodeIgniter được đánh giá là PHP Framework có tốc độ nhanh nhất hiện nay. Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hoá tốc độ tải trang. - Miễn phí : CodeIgniter được phát hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn. - Hỗ trợ Search Engine Optimization : Cấu trúc URL của CodeIgniter rất thân thiện với các Robot tìm kiếm. - Hệ thống thư viện phong phú: CodeIgniter cung cấp những thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quả lý session, xử lý ảnh,… đến những chức năng nâng cao như XML-RPC, mã hoá, bảo mật,… - Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống. * Những điểm hạn chế - Chưa hỗ trợ Object-Relational Mapping (ORM) : ORM là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong lập trình. Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu (Create Read UpdateDelete – CRUD) dễ dàng, mã nguồn ngắn gọn hơn. - Chưa hỗ trợ AJAX (Asynchronous Javascrip and XML): AJAX đã trở thành một phần không thể thiếu trong bất kỳ ứng dụng web 2.0 nào. AJAX giúp nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử dụng desktop vì các thao tác đều diễn ra tức thời. Hiện tại, CodeIgniter vẫn chưa có thư viện dựng sẵn nào hỗ trợ xây dựng ứng dụng AJAX. Lập trình viên phải sử dụng các thư viện bên ngoài, như JQuery, Script.aculo.us, Prototype, hay Mootools,… - Chưa hỗ trợ một số module thông dụng: So với các framework khác, CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá 8 trình xây dựng ứng dụng web như chứng thực người dùng (User Authorization), trình phân tích RSS (RSS Parser) hay trình xử lý PDF,… - Chưa hỗ trợ Event Driver Programming - EDP: EDP là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phím,… Đây không phải là một khuyết điểm lớn của CodeIgniter vì hiện tại chỉ có một số ít Framework hỗ trợ EDP bao gồm Prado, QPHP, Yii. 1.2. Hệ quản trị cơ sở dữ liệu SQL server - Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System - DBMS): Là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính. - Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL). Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL sv, DB2, Infomix, ... Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows. - Ưu điểm của HQTCSDL: + Quản lý được dữ liệu dư thừa. + Đảm bảo tính nhất quán cho dữ liệu. + Tạo khả năng chia sẻ dữ liệu nhiều hơn. + Cải tiến tính toàn vẹn cho dữ liệu. - Nhược điểm: + HQTCSDL tốt thì khá phức tạp. + HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ. + Giá cả khác nhau tùy theo môi trường và chức năng. 9 + HQTCSDL được viết tổng quát cho nhiều người dùng thì thường chậm. 1.3. Ngôn ngữ lập trình PHP PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát, rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML. Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới. Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào: 2. 1 3. 2 4. 3 Mã mẫu 5. 4 6. 5 7. 6 10. 9 11. 10 Hình 3: Cú pháp của ngôn ngữ PHP Thẻ sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng. Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP. Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của 10 PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp. PHP được phát triển từ một sản phẩm có tên là PHP/FI. PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng. Ông đã đặt tên cho bộ mã kịch bản này là ''''Personal Home Page Tools''''. Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản. Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn. PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay. Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng. Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán. Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet. Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người. PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta. Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0. PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay. Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó. Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện 11 tử mà họ đang xúc tiến trong một dự án của trường đại học. Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0. Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó. Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới. Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0. Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác. Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc. Nó đã được đặt tên ngắn gọn là ''''PHP'''', một kiểu viết tắt hồi quy của "PHP: Hypertext Preprocessor". Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó. Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet. PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm. Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP. Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP. Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả. 12 Một động cơ mới, có tên ''''Zend Engine'''' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999. PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời. Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới. Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet. Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP. Sự thành công hết sức to lớn của PHP 4.0 đã không làm cho nhóm phát triển PHP tự mãn. Cộng đồng PHP đã nhanh chóng giúp họ nhận ra những yếu kém của PHP 4 đặc biệt với khả năng hỗ trợ lập trình hướng đối tượng (OOP), xử lý XML, không hỗ trợ giao thức máy khách mới của MySQL 4.1 và 5.0, hỗ trợ dịch vụ web yếu. Những điểm này chính là mục đích để Zeev và Andi viết Zend Engine 2.0, lõi của PHP 5.0. Một thảo luận trên Slashdot đã cho thấy việc phát triển PHP 5.0 có thể đã bắt đầu vào thời điểm tháng 12 năm 2002 nhưng những bài phỏng vấn Zeev liên quan đến phiên bản này thì đã có mặt trên mạng Internet vào khoảng tháng 7 năm 2002. Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã chính thức được công bố để cộng đồng kiểm nghiệm. Đó cũng là phiên bản đầu tiên của Zend Engine 2.0. Phiên bản Beta 2 sau đó đã ra mắt vào tháng 10 năm 2003 với sự xuất hiện của hai tính năng rất được chờ đợi: Iterators, Reflection nhưng namespaces một tính năng gây tranh cãi khác đã bị loại khỏi mã nguồn. Ngày 21 tháng 12 năm 2003: PHP 5 Beta 3 đã được công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả 13 năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới. PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm 2004 sau một chuỗi khá dài các bản kiểm tra thử bao gồm Beta 4, RC 1, RC2, RC3. Mặc dù coi đây là phiên bản sản xuất đầu tiên nhưng PHP 5.0 vẫn còn một số lỗi trong đó đáng kể là lỗi xác thực HTTP. Zend Platform là một bộ sản phẩm giúp quản lý hệ thống ứng dụng PHP, nâng cao hiệu suất, tăng tốc độ của ứng dụng PHP. Zend Framework là một tập hợp các lớp, các thư viện lập trình viết bằng PHP (PHP 5) nhằm cung cấp một giao diện lập trình chuẩn cho các nhà phát triển ứng dụng. Ngoài ra, một số frame

NỘI DUNG

1.1 Ngôn ngữ lập trình ASP.net

Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài

Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện Quá trình xử lý Postback khó khăn, … ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft Net Framework

Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets) Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client Client nhận kết quả trả về từ Server và hiển thị lên màn hình

ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client Tất cả các

CƠ SỞ LÝ THUYẾT

Ngôn ngữ lập trình ASP.net

Từ khoảng cuối thập niên 90, ASP (Active Server Page) đã được nhiều lập trình viên lựa chọn để xây dựng và phát triển ứng dụng web động trên máy chủ sử dụng hệ điều hành Windows ASP đã thể hiện được những ưu điểm của mình với mô hình lập trình thủ tục đơn giản, sử dụng hiệu quả các đối tượng COM: ADO (ActiveX Data Object) - xử lý dữ liệu, FSO (File System Object) - làm việc với hệ thống tập tin…, đồng thời, ASP cũng hỗ trợ nhiều ngôn ngữ: VBScript, JavaScript Chính những ưu điểm đó, ASP đã được yêu thích trong một thời gian dài

Tuy nhiên, ASP vẫn còn tồn đọng một số khó khăn như Code ASP và HTML lẫn lộn, điều này làm cho quá trình viết code khó khăn, thể hiện và trình bày code không trong sáng, hạn chế khả năng sử dụng lại code Bên cạnh đó, khi triển khai cài đặt, do không được biên dịch trước nên dễ bị mất source code Thêm vào đó, ASP không có hỗ trợ cache, không được biên dịch trước nên phần nào hạn chế về mặt tốc độ thực hiện Quá trình xử lý Postback khó khăn, … ASP.Net là kỹ thuật lập trình và phát triển ứng dụng web ở phía Server (Server-side) dựa trên nền tảng của Microsoft Net Framework

Hầu hết, những người mới đến với lập trình web đều bắt đầu tìm hiểu những kỹ thuật ở phía Client (Client-side) như: HTML, Java Script, CSS (Cascading Style Sheets) Khi Web browser yêu cầu một trang web (trang web sử dụng kỹ thuật client-side), Web server tìm trang web mà Client yêu cầu, sau đó gởi về cho Client Client nhận kết quả trả về từ Server và hiển thị lên màn hình

ASP.Net sử dụng kỹ thuật lập trình ở phía server thì hoàn toàn khác, mã lệnh ở phía server (ví dụ: mã lệnh trong trang ASP) sẽ được biên dịch và thi hành tại Web Server Sau khi được Server đọc, biên dịch và thi hành, kết quả tự động được chuyển sang HTML/JavaScript/CSS và trả về cho Client Tất cả các xử lý lệnh ASP.Net đều được thực hiện tại Server và do đó gọi là kỹ thuật lập trình ở phía server

* Những ưu điểm nổi bật của ASP.NET

- ASP.Net cho phép người lập trình lựa chọn một trong các ngôn ngữ lập trình mà họ yêu thích: Visual Basic.Net, J#, C#,…

- Trang ASP.Net được biên dịch trước Thay vì phải đọc và thông dịch mỗi khi trang web được yêu cầu, ASP.Net biên dịch những trang web động thành những tập tin DLL mà Server có thể thi hành nhanh chóng và hiệu quả Yếu tố này là một bước nhảy vọt đáng kể so với kỹ thuật thông dịch của ASP

Hình 1: Giới thiệu về ngôn ngữ ASP.net

- ASP.Net hỗ trợ mạnh mẽ bộ thư viện phong phú và đa dạng của Net Framework, làm việc với XML, Web Service, truy cập cơ sở dữ liệu qua ADO.Net, …

- ASPX và ASP có thể cùng hoạt động trong 1 ứng dụng

- ASP.Net sử dụng phong cách lập trình mới: Code behide Tách code riêng, giao diện riêng do vậy dễ đọc, dễ quản lý và bảo trì

- Kiến trúc lập trình giống ứng dụng trên Windows

- Hỗ trợ quản lý trạng thái của các control

- Tự động phát sinh mã HTML cho các Server control tương ứng với từng loại Browser

- Hỗ trợ nhiều cơ chế cache

- Không cần lock, không cần đăng ký

- Cho phép nhiều hình thức cấu hình ứng dụng

- Hỗ trợ quản lý ứng dụng ở mức toàn cục

- Global.aspx có nhiều sự kiện hơn

- Quản lý session trên nhiều Server, không cần Cookies

CodeIgniter là nền tảng ứng dụng web nguồn mở được viết bằng ngôn ngữ PHP bởi Rick Ellis Phiên bản đầu tiên được phát hành vào ngày 28/02/2006 Hiện tại CodeIgniter đang được phát triển bởi ExpressionEngine Development Team thuộc EllisLab, Inc

Hình 2: Giới thiệu PHP Framework CodeIgniter

- Được thiết kế theo mô hình MVC (Model-View-Controller): Mô hình MVC giúp tách thành phần hiển thị giao diện (presentation) và xử lý (business logic) của một phần mềm thành các phần độc lập, từ đó giúp cho việc thiết kế web, xử lý và bảo trì mã nguồn dễ dàng, đồng thời tăng khả năng mở rộng của phần mềm CodeIgniter vận dụng mô hình này trong thiết kế, giúp tách biệt các tập tin giao diện với các tập tin xử lý dữ liệu, nâng cao khả năng xử lý và bảo trì

- Nhỏ gọn: Gói cài đặt chỉ 404KB, kích thước CodeIgniter giúp giảm thiểu đáng kể không gian lưu trữ

- Tốc độ nhanh: CodeIgniter được đánh giá là PHP Framework có tốc độ nhanh nhất hiện nay Bằng cơ chế lưu nội dung vào bộ đệm (cache), kiểm tra bộ đệm trước khi tiến hành thực hiện yêu cầu, CodeIgniter giảm số lần truy cập và xử lý dữ liệu, từ đó tối ưu hoá tốc độ tải trang

- Miễn phí: CodeIgniter được phát hành dưới giấy phép Apache/BSD mở rộng, cho phép người dùng tự do thay đổi, phát triển và phân phối mã nguồn

- Hỗ trợ Search Engine Optimization: Cấu trúc URL của CodeIgniter rất thân thiện với các Robot tìm kiếm

- Hệ thống thư viện phong phú: CodeIgniter cung cấp những thư viện phục vụ cho những tác vụ thường gặp nhất trong lập trình web, chẳng hạn như truy cập cơ sở dữ liệu, gửi email, kiểm tra dữ liệu, quả lý session, xử lý ảnh,… đến những chức năng nâng cao như XML-RPC, mã hoá, bảo mật,…

- Bảo mật hệ thống: Cơ chế kiểm tra dữ liệu chặt chẽ, ngăn ngừa XSS và SQL Injection của CodeIgniter giúp giảm thiểu các nguy cơ bảo mật cho hệ thống

- Chưa hỗ trợ Object-Relational Mapping (ORM): ORM là một kỹ thuật lập trình, trong đó các bảng của cơ sở dữ liệu được ánh xạ thành các đối tượng trong lập trình Kỹ thuật này giúp cho việc thực hiện các thao tác trong cơ sở dữ liệu (Create Read UpdateDelete – CRUD) dễ dàng, mã nguồn ngắn gọn hơn

- Chưa hỗ trợ AJAX (Asynchronous Javascrip and XML): AJAX đã trở thành một phần không thể thiếu trong bất kỳ ứng dụng web 2.0 nào AJAX giúp nâng cao tính tương tác giữa người dùng và hệ thống, giúp cho người dùng có cảm giác như đang sử dụng desktop vì các thao tác đều diễn ra tức thời Hiện tại, CodeIgniter vẫn chưa có thư viện dựng sẵn nào hỗ trợ xây dựng ứng dụng AJAX Lập trình viên phải sử dụng các thư viện bên ngoài, như JQuery, Script.aculo.us, Prototype, hay Mootools,…

- Chưa hỗ trợ một số module thông dụng: So với các framework khác, CodeIgniter không có các module thực thi một số tác vụ thường gặp trong quá trình xây dựng ứng dụng web như chứng thực người dùng (User Authorization), trình phân tích RSS (RSS Parser) hay trình xử lý PDF,…

- Chưa hỗ trợ Event Driver Programming - EDP: EDP là một nguyên lý lập trình, trong đó các luồng xử lý của hệ thống sẽ dựa vào các sự kiện, chẳng hạn như click chuột, gõ bàn phím,… Đây không phải là một khuyết điểm lớn của CodeIgniter vì hiện tại chỉ có một số ít Framework hỗ trợ EDP bao gồm Prado, QPHP, Yii.

Hệ quản trị cơ sở dữ liệu SQL server

- Hệ quản trị cơ sở dữ liệu (tiếng Anh: Database Management System - DBMS): Là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu

Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL) Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính

- Tuy nhiên, đa số hệ quản trị CSDL trên thị trường đều có một đặc điểm chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi là Structured Query Language (SQL) Các hệ quản trị CSDL phổ biến được nhiều người biết đến là MySQL, Oracle, PostgreSQL, SQL sv, DB2, Infomix, Phần lớn các hệ quản trị CSDL kể trên hoạt động tốt trên nhiều hệ điều hành khác nhau như Linux, Unix và MacOS ngoại trừ SQL Server của Microsoft chỉ chạy trên hệ điều hành Windows

+ Quản lý được dữ liệu dư thừa

+ Đảm bảo tính nhất quán cho dữ liệu

+ Tạo khả năng chia sẻ dữ liệu nhiều hơn

+ Cải tiến tính toàn vẹn cho dữ liệu

+ HQTCSDL tốt thì khá phức tạp

+ HQTCSDL tốt thường rất lớn chiếm nhiều dung lượng bộ nhớ

+ Giá cả khác nhau tùy theo môi trường và chức năng

+ HQTCSDL được viết tổng quát cho nhiều người dùng thì thường chậm.

Ngôn ngữ lập trình PHP

PHP (viết tắt hồi quy "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản hay một loại mã lệnh chủ yếu được dùng để phát triển các ứng dụng viết cho máy chủ, mã nguồn mở, dùng cho mục đích tổng quát, rất thích hợp với web và có thể dễ dàng nhúng vào trang HTML Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp giống C và Java, dễ học và thời gian xây dựng sản phẩm tương đối ngắn hơn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành một ngôn ngữ lập trình web phổ biến nhất thế giới Đoạn mã sau minh họa giúp cách viết PHP lồng vào các trang HTML dễ dàng như thế nào:

8 7 echo "Chào thế giới PHP!";

Hình 3: Cú pháp của ngôn ngữ PHP

Thẻ sẽ đánh đấu sự bắt đầu và sự kết thúc của phần mã PHP qua đó máy chủ biết để xử lý và dịch mã cho đúng Đây là một điểm khá tiện lợi của PHP giúp cho việc viết mã PHP trở nên khá trực quan và dễ dàng trong việc xây dựng phần giao diện ứng dụng HTTP

Ngôn ngữ, các thư viện, tài liệu gốc của PHP được xây dựng bởi cộng đồng và có sự đóng góp rất lớn của Zend Inc., công ty do các nhà phát triển cốt lõi của

PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp

PHP được phát triển từ một sản phẩm có tên là PHP/FI PHP/FI do Rasmus Lerdorf tạo ra năm 1994, ban đầu được xem như là một tập con đơn giản của các mã kịch bản Perl để theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Ông đã đặt tên cho bộ mã kịch bản này là 'Personal Home Page Tools' Khi cần đến các chức năng rộng hơn, Rasmus đã viết ra một bộ thực thi bằng C lớn hơn để có thể truy vấn tới các cơ sở dữ liệu và giúp cho người sử dụng phát triển các ứng dụng web đơn giản Rasmus đã quyết định công bố mã nguồn của PHP/FI cho mọi người xem, sử dụng cũng như sửa các lỗi có trong nó đồng thời cải tiến mã nguồn

PHP/FI, viết tắt từ "Personal Home Page/Forms Interpreter", bao gồm một số các chức năng cơ bản cho PHP như ta đã biết đến chúng ngày nay Nó có các biến kiểu như Perl, thông dịch tự động các biến của form và cú pháp HTML nhúng Cú pháp này giống như của Perl, mặc dù hạn chế hơn nhiều, đơn giản và có phần thiếu nhất quán

Vào năm 1997, PHP/FI 2.0, lần viết lại thứ hai của phiên bản C, đã thu hút được hàng ngàn người sử dụng trên toàn thế giới với xấp xỉ 50.000 tên miền đã được ghi nhận là có cài đặt nó, chiếm khoảng 1% số tên miền có trên mạng Internet Tuy đã có tới hàng nghìn người tham gia đóng góp vào việc tu chỉnh mã nguồn của dự án này thì vào thời đó nó vẫn chủ yếu chỉ là dự án của một người

PHP/FI 2.0 được chính thức công bố vào tháng 11 năm 1997, sau một thời gian khá dài chỉ được công bố dưới dạng các bản beta Nhưng không lâu sau đó, nó đã được thay thế bởi các bản alpha đầu tiên của PHP 3.0

PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta được biết ngày nay Nó đã được Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó Lý do chính mà họ đã tạo ra phiên bản này là do họ nhận thấy PHP/FI 2.0 hết sức yếu kém trong việc phát triển các ứng dụng thương mại điện tử mà họ đang xúc tiến trong một dự án của trường đại học Trong một nỗ lực hợp tác và bắt đầu xây dựng dựa trên cơ sở người dùng đã có của PHP/FI, Andi, Rasmus và Zeev đã quyết định hợp tác và công bố PHP 3.0 như là phiên bản thế hệ kế tiếp của PHP/FI 2.0, và chấm dứt phát triển PHP/FI 2.0

Một trong những sức mạnh lớn nhất của PHP 3.0 là các tính năng mở rộng mạnh mẽ của nó Ngoài khả năng cung cấp cho người dùng cuối một cơ sở hạ tầng chặt chẽ dùng cho nhiều cơ sở dữ liệu, giao thức và API khác nhau, các tính năng mở rộng của PHP 3.0 đã thu hút rất nhiều nhà phát triển tham gia và đề xuất các mô đun mở rộng mới Hoàn toàn có thể kết luận được rằng đây chính là điểm mấu chốt dẫn đến thành công vang dội của PHP 3.0 Các tính năng khác được giới thiệu trong PHP 3.0 gồm có hỗ trợ cú pháp hướng đối tượng và nhiều cú pháp ngôn ngữ nhất quán khác

Ngôn ngữ hoàn toàn mới đã được công bố dưới một cái tên mới, xóa bỏ mối liên hệ với việc sử dụng vào mục đích cá nhân hạn hẹp mà cái tên PHP/FI 2.0 gợi nhắc Nó đã được đặt tên ngắn gọn là 'PHP', một kiểu viết tắt hồi quy của

Vào cuối năm 1998, PHP đã phát triển được con số cài đặt lên tới hàng chục ngàn người sử dụng và hàng chục ngàn Web site báo cáo là đã cài nó Vào thời kì đỉnh cao, PHP 3.0 đã được cài đặt cho xấp xỉ 10% số máy chủ Web có trên mạng Internet

PHP 3.0 đã chính thức được công bố vào tháng 6 năm 1998, sau thời gian 9 tháng được cộng đồng kiểm nghiệm

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức được công bố, Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP Mục đích thiết kế là nhằm cải tiến tốc độ xử lý các ứng dụng phức tạp, và cải tiến tính mô đun của cơ sở mã PHP Những ứng dụng như vậy đã chạy được trên PHP 3.0 dựa trên các tính năng mới và sự hỗ trợ khá nhiều các cơ sở dữ liệu và API của bên thứ ba, nhưng PHP 3.0 đã không được thiết kế để xử lý các ứng dụng phức tạp như thế này một cách có hiệu quả

Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và Andi), đã đáp ứng được các nhu cầu thiết kế này một cách thành công, và lần đầu tiên được giới thiệu vào giữa năm 1999 PHP 4.0, dựa trên động cơ này, và đi kèm với hàng loạt các tính năng mới bổ sung, đã chính thức được công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời Ngoài tốc độ xử lý được cải thiện rất nhiều, PHP 4.0 đem đến các tính năng chủ yếu khác gồm có sự hỗ trợ nhiều máy chủ Web hơn, hỗ trợ phiên làm việc HTTP, tạo bộ đệm thông tin đầu ra, nhiều cách xử lý thông tin người sử dụng nhập vào bảo mật hơn và cung cấp một vài các cấu trúc ngôn ngữ mới

Với PHP 4, số nhà phát triển dùng PHP đã lên đến hàng trăm nghìn và hàng triệu site đã công bố cài đặt PHP, chiếm khoảng 20% số tên miền trên mạng Internet

Nhóm phát triển PHP cũng đã lên tới con số hàng nghìn người và nhiều nghìn người khác tham gia vào các dự án có liên quan đến PHP như PEAR, PECL và tài liệu kĩ thuật cho PHP

Công cụ notepad++

Notepad++ hay còn gọi là Notepad Plus là bộ công cụ soạn thảo ngôn ngữ lập trình miễn phí, hỗ trợ nhiều ngôn ngữ lập trình khác nhau như: ASP, PHP, Java, C#, Python, Jsp Bộ công cụ soạn thảo Notepad++ này có ưu điểm là gọn nhẹ, đơn giản và là công cụ không thể thiếu mà tất cả các lập trình viên đều nên sử dụng

Notepad++ là phiên bản nâng cấp với nhiều tính năng tuyệt vời hơn so với Notepad của Windows Nhờ Notepad++ mà giờ đây việc soạn thảo mã nguồn và chèn một đoạn code diễn ra nhanh chóng và gọn nhẹ hơn bao giờ hết, giúp tiết kiệm thời gian cũng như công sức cho lập trình viên

Ngoài ra, Notepad Plus cũng được tích hợp một số phím nóng nhằm giúp người dùng có thể dể dàng làm việc mà không cần dùng chuột Notepad++ cũng có chức năng kết nối với máy in để in văn bản dễ dàng

Tính năng chính của Notepad++

 Hỗ trợ hầu hết ngôn ngữ lập trình phổ biến như: ASP, PHP, Java, C#, Python, Jsp trong đó bao gồm cả tới việc thiết kế CSS từ Notepad++

 Tích hợp nhiều chức năng của công cụ soạn thảo đơn giản

 Tô sáng đánh dấu các cú pháp lệnh

 Tìm kiếm và thay thế rất dễ dàng khiến việc chỉnh sửa code trở nên nhanh chóng hơn

 Tùy biến hoàn toàn giao diện người dùng GUI: giao diện tối giản (không theme, không plugin, không update), đóng nhanh chóng 1 tab hoặc nhiều tab, nhiều dòng tab

 Bản đồ hóa các file

 Tự động hoàn thành: tự động hoàn thành đóng các dấu ngay khi nhắn mở Dấu ở đây bao gồm: {} [] "" ''

 Mở cùng lúc được nhiều file (giao diện Tab)

 Phóng to và thu nhỏ

 Hỗ trợ môi trường đa ngôn ngữ.

Công cụ XamPP

Xampp là một công cụ tích hợp đầy đủ các thành bao gồm Apache, Mysql, PHP, Perl Giúp chúng ta tạo ra môi trường web server trên máy tính của mình, để có thể chạy được kịch bản PHP

1 Apache Là một chương trình máy chủ, dùng để giao tiếp với các giao thức HTTP Apache chạy tốt trên mọi hệ điều hành

2 Mysql Là hệ quản trị cơ sở dữ liệu, được dùng để lưu trữ thông tin của một website Mỗi website có thể sử dụng một hoặc nhiều cơ sở dữ liệu

3 PHP Là ngôn ngữ kịch bản trên phía Server, dùng để xử lý các thao tác của người dùng và làm việc trực tiếp với cơ sở dữ liệu (Database)

4 Perl Là một tầng cao hơn, một ngôn ngữ lập trình năng động hơn Sử dụng rộng rãi trong lập trình mạng và quản trị hệ thống Ít phổ biến cho mục đích phát triển web, Perl thích hợp với rất nhiều ứng dụng.

Ngôn ngữ HTML

HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là "Ngôn ngữ đánh dấu siêu văn bản") là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web

HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999) Sau đó, các nhà phát triển đã thay thế nó bằng XHTML Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho Web Một tài liệu html gồm 3 phần cơ bản:

 Phần html: Mọi tài liệu html phải bắt đầu bằng thẻ mở html và kết thúc bằng thẻ đóng html Thẻ html báo cho trình duyệt biết nội dung giữa hai thẻ này là một tài liệu html

 Phần tiêu đề: Phần tiêu đề bắt đầu bằng thẻ và kết thúc bởi thẻ

Phần này chứa tiêu đề mà được hiển thị trên thanh điều hướng của trang Web Tiêu đề nằm trong thẻ title, bắt đầu bằng thẻ và kết thúc là thẻ .Tiêu đề là phần khá quan trọng Khi người dùng tìm kiếm thông tin, tiêu đề của trang Web cung cấp từ khóa chính yếu cho việc tìm kiếm

 Phần thân: Phần này nằm sau phần tiêu đề, phầ̀n thân bao gồm văn bản, hình ảnh và các liên kết mà bạn muốn hiển thị trên trang web của mình Phần thân bắt đầu bằng thẻ và kết thúc bằng thẻ .

Ngôn ngữ CSS

Trong tin học, các tập tin định kiểu theo tầng – dịch từ tiếng Anh là Cascading Style Sheets (CSS) – được dùng để miêu tả cách trình bày các tài liệu viết bằng ngôn ngữ HTML và XHTML Ngoài ra ngôn ngữ định kiểu theo tầng cũng có thể dùng cho XML, SVG, XUL Các đặc điểm kỹ thuật của CSS được duy trì bởi World Wide Web Consortium (W3C) Thay vì đặt các thẻ quy định kiểu dáng cho văn bản HTML (hoặc XHTML) ngay trong nội dung của nó, bạn nên sử dụng CSS

- Hạn chế tối thiểu việc làm rối mã HTML của trang Web bằng các thẻ quy định kiểu dáng (chữ đậm, chữ in nghiêng, chữ có gạch chân, chữ màu), khiến mã nguồn của trang Web được gọn gàng hơn, tách nội dung của trang Web và định dạng hiển thị, dễ dàng cho việc cập nhật nội dung

- Tạo ra các kiểu dáng có thể áp dụng cho nhiều trang Web, giúp tránh phải lặp lại việc định dạng cho các trang Web giống nhau.

Ngôn ngữ Javascrip

JavaScript là ngôn ngữ dưới dạng script có thể gắn với các file HTML Ngôn ngữ này không được biên dịch mà được trình duyệt diễn dịch Không giống Java phải chuyển thành các mã dễ biên dịch, trình duyệt đọc JavaScript dưới dạng mã nguồn Chính vì vậy bạn có thể dễ dàng học JavaScript qua ví dụ bởi vì bạn có thể thấy cách sử dụng JavaScript trên các trang Web

- JavaScript có thể đáp ứng các sự kiện như tải hay loại bỏ các form Khả năng này cho phép JavaScript trở thành một ngôn ngữ script động

- Giống với HTML và Java, JavaScript được thiết kế độc lập với hệ điều hành Javascrip có thể chạy trên bất kỳ hệ điều hành nào có trình duyệt hỗ trợ JavaScript Ngoài ra JavaScript giống Java ở khía cạnh an ninh: JavaScript không thể đọc và viết vào file của người dùng

- Các câu lệnh JavaScript được nhúng trong một trang HTML có thể trả lời cho các sự kiện của người sử dụng như kích chuột, nhập vào một form và điều hướng trang Ví dụ bạn có thể kiểm tra các giá trị thông tin mà người sử dụng đưa vào mà không cần đến bất cứ một quá trình truyền trên mạng nào Trang HTML với JavaScript được nhúng sẽ kiểm tra các giá trị được đưa vào và sẽ thông báo với người sử dụng khi giá trị đưa vào là không hợp lệ.

Giới thiệu về MySQL

MySQL là hệ quản trị cơ sở dữ liệu tự do nguồn mở phổ biến nhất thế giới và được các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng Vì MySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rất mạnh Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng có truy cập CSDL trên internet MySQL miễn phí hoàn toàn cho nên bạn có thể tải về MySQL từ trang chủ Nó có nhiều phiên bản cho các hệ điều hành khác nhau: phiên bản Win32 cho các hệ điều hành dòng Windows, Linux, MacOSX, Unix, FreeBSD, NetBSD, NovellNetWare, SGI Irix, Solaris, SunOS,

PHP được nhiều người sử dụng và đáng tin cậy, ngay cả Yahoo, Google, Nokia, Youtube,… cũng sử dụng MySQL để tiết kiệm thời gian và chi phí đối với các website có dung lượng lớn

 Ưu điểm nổi bật của MySQL

- Các chuyên gia cơ sở dữ liệu có thể cấu hình máy chủ cơ sở dữ liệu MySQL đặc trưng cho các ứng dụng đặc thù thông qua kiến trúc storage-engine MySQL có thể đáp ứng khả năng xử lý những yêu cầu khắt khe nhất của từng hệ thống

- Các tiêu chuẩn đảm bảo của MySQL giúp cho người dùng vững tin và chọn sử dụng ngay, MySQL đưa ra nhiều tùy chọn và các giải pháp để người sử dụng dùng ngay cho server cơ sở dữ liệu MySQL

- MySQL hỗ trợ giao dịch mạnh 1 cách tự động, thống nhất, độc lập và bền vững, ngoài ra khả năng giao dịch cũng được phân loại và hỗ trợ giao dịch đa dạng mà người viết không gây trở ngại cho người đọc và ngược lại

 Nơi tin cậy để lưu trữ web và dữ liệu

- Do MySQL có engine xử lý tốc độ cao và khả năng chèn dữ liệu nhanh, hỗ trợ tốt cho các chức năng chuyên dùng cho web,…nên MySQL là lựa chọn tốt nhất cho các ứng dụng web và các ứng dụng web doanh nghiệp

- Đơn vị, doanh nghiệp nào cũng cần tính năng bảo mật dữ liệu tuyệt đối vì đó chính là lợi ích quan trọng hàng đầu, và đó cũng là lý do mà các chuyên gia về cơ sở dữ liệu chọn dùng MySQL MySQL có các kỹ thuật mạnh trong việc xác nhận truy cập cơ sở dữ liệu và chỉ có người dùng đã được xác nhận mới có thể truy cập vào server cơ sở dữ liệu

 Phát triển ứng dụng hỗn hợp

- MySQL cung cấp hỗ trợ hỗn hợp cho bất kỳ sự phát triển ứng dụng nào nên MySQL được xem là cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới

- Quá trình cài đặt MySQL diễn ra khá nhanh chóng trên Microsoft Windows, Linux, Macintosh hoặc Unix Sau khi cài đặt, các tính năng tự động mở rộng không gian, tự khởi động lại và cấu hình động được thiết lập sẵn sàng cho người quản trị cơ sở dữ liệu làm việc

- Đối với các dự án phát triển mới, nếu các doanh nghiệp sử dụng MySQL thì đó là 1 chọn lựa đúng đắn vừa tiết kiệm chi phí vừa đáng tin cậy.

Mô hình đa tầng

Trong quá trình xây dựng - phát triển - vận hành và bảo trì một hệ thống hay một ứng dụng - phần mềm các chuyên gia sẽ sử dụng những mô hình nghiệp vụ dành riêng, chúng được tạo nên từ nhiều thành phần độc lập nhau nhưng sẽ có sự tương tác nhau Những mô hình này, sẽ giúp người sử dụng (manager, user , sponsor, deverloper and so more) có một cái nhìn tổng quan nhất về chức năng và các luồng xử lý có trong dự án, từ đó họ có một điểm chung để trao đổi đưa ra các yêu cầu, dễ dàng tiếp cận – tìm hiểu các chức năng nghiệp vụ đang có và tiến hành xây dựng và phát triển dự án một cách nhanh chóng và hiệu quả nhất Một mô hình có thể phi chuẩn hoặc hợp chuẩn sẽ có những đặc thù riêng và chỉ áp dụng cho những loại dự án cụ thể, từ đó các chuyên gia sẽ lựa chọn mô hình nào phù hợp; những mô hình chuẩn được ưa thích sử dụng rộng rãi và phổ biến

Hiện nay, trong các dự án website các chuyên gia (manager + deverloper

…) thường áp dụng mô hình chuẩn Model - View - Controller (hay MVC) trong quá trình xây dựng - phát triển, mô hình này đã khá quen thuộc và phổ biến với dân lập trình Vậy mô hình MVC là gì? Mô hình này gồm những thành phần nào? Áp dụng của mô hình MVC như thế nào cho hiệu quả và chính xác nhất? Trong bài viết này, chúng ta sẽ đi tìm hiểu tất cả các vấn đề đó để có thể hiểu được một khái niệm quan trọng trong lập trình

Mô hình MVC là một chuẩn mô hình và đóng vai trò quan trọng trong quá trình xây dựng - phát triển - vận hành và bảo trì một hệ thống hay một ứng dụng

- phần mềm MVC tạo ra một mô hình 3 lớp Model - View - Controller tách biệt và tương tác nhau, giúp các chuyên gia có thể dễ dàng dựa vào mô hình để trao đổi và xử lý những nghiệp vụ một cách nhanh chóng Đây là một mô hình đã xuất hiện từ những năm 70 của thế kỷ 20 tại phòng thí nghiệm Xerox PARC ở Palo Alto, mô hình này không phụ thuộc vào môi trường, nền tảng xây dựng hay ngôn ngữ phát triển Chúng ta có thể áp dụng mô hình MVC vào các dự án trong môi trường Windows, Linux… và sử dụng bất kỳ ngôn ngữ nào như PHP, ASP, JSP…

 Model : là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql… ); phần này bao gồm các class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm - xóa - sửa dữ liệu…

 View : là nới chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh… , phần này đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống

 Controller : là nới tiếp nhận những yêu cầu xử lý được gửi từ người dùng, phần này gồm những class/ function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View

Sự tương tác giữa các lớp trong mô hình MVC

Controller – View sẽ lấy những hình ảnh, nút bấm…hoặc hiển thị dữ liệu được trả ra từ Controller để người dùng có thể quan sát và thao tác Trong sự tương tác này cũng có thể không có dữ liệu được lấy từ Model và khi đó chỉ chịu trách nhiệm hiển thị đơn thuần như hình ảnh, nút bấm…

Controller – Model là luồng xử lý khi controller tiếp nhận yêu cầu và các tham số đầu vào từ người dùng, controller sẽ sử dụng các lớp/hàm trong Model cần thiết để lấy ra những dữ liệu chính xác

View – Model có thể tương tác với nhau mà không qua Controller, chỉ đảm nhận hiển thị dữ liệu chứ không phải qua bất kỳ xử lý nghiệp vụ logics nào, giống như các vùng dữ liệu hiển thị tĩnh trên các website như block slidebar…

Mô hình MVC có thể áp dụng cho nhiều loại dự án khác nhau: dự án website, dự án ứng dụng – phần mềm,… nhưng trong phạm vi bài viết chúng ta sẽ chỉ đi tìm hiểu mô hình này được áp dụng như nào trong các dự án xây dựng và phát triển website

Quy trình hoạt động của một dự án website:

Hình 5: Quy trình hoạt động của một dự án website

Mô hình trên là thể hiện mô hình MVC trong các dự án website và sẽ hoạt động theo quy trình sau:

Người dùng sử dụng một BROWSER trình duyệt web bất kỳ (Firefox, Chrome, IE,…) để có thể gửi những yêu cầu (HTTP Request) có thể kèm theo những dữ liệu nhập tới những CONTROLLER xử lý tương ứng Việc xác định Controllerr xử lý sẽ dựa vào một bộ Routing điều hướng

Khi CONTROLLER nhận được yêu cầu gửi tới thì sẽ chịu trách nhiệm kiểm tra yêu cầu đó có cần dữ liệu từ MODEL hay không? Nếu có, phần này sẽ sử dụng các class/function cần thiết trong MODEL và sẽ trả ra kết quả( Resulting Arrays), khi đó CONTROLLER sẽ xử lý giá trị đó và trả ra VIEW để hiển thị CONTROLLER sẽ xác định các VIEW tương ứng để hiển thị đúng với yêu cầu

Khi nhận được dữ liệu từ CONTROLLER, VIEW sẽ chịu trách nhiệm xây dựng các thành phẩn hiển thị như hình ảnh, thông tin dữ liệu… và trả về GUI Content để CONTROLLER đưa ra kết quả lên màn hình BROWSER

BROWSER sẽ nhận giá trị trả về( HTTP Response) và sẽ hiển thị với người dùng Kết thúc một quy trình hoạt động

Hình 6: Mô hình MVC trong một dự ác website Ưu điểm và nhược điểm của mô hình MVC Ưu điểm :

 Các dự án có thể áp dụng ngay mô hình MVC mà không phụ thuộc môi trường, nền tảng xây dựng hay ngôn ngữ lập trình phát triển;

 Quy hoạch các class/ function vào các thành phần riêng biệt Controller – Model – View, khi đó sẽ dễ dàng xây dựng – phát triển – quản lý – vận hành và bảo trì một dự án, tạo sự rõ ràng, trong sáng trong quá trình phát triển dự án, kiểm soát được các luồng xử lý và tạo ra các thành phần xử lý nghiệp vụ chuyên biệt hóa

Kết chương

Tóm lại có thể nói việc áp dụng các công cụ và các ngôn ngữ trên để xây dựng lên một website quản lý xe dịch vụ theo mô hình đa tầng sẽ rất hiệu quả và dễ dàng thao tác, ngày nay với yêu cầu nghiên cứu và sử dụng thành thạo các phương tiện nói trên là cơ sở cần và đủ để xây dựng một website quản lý rất thiết thực và được áp dụng rộng rãi trên mọi thị trường Mô hình MVC là một khái niệm rất quan trọng giúp các lập trình viên xây dựng – phát triển dự án của họ Đây cũng là kiến thức cơ bản nhất giúp người sử dụng có thể trở thành một chuyên gia lập trình viên, giúp họ dễ dàng khi tiếp cận các dự án được xây dựng theo chuẩn MVC, và đặc biệt giúp những người đang tìm hiểu các bộ mã nguồn mở framework sẽ cực kỳ dễ học – tìm hiểu, kể cả Zend Framework 2 đang được xem là framework không lồ và khó với nhiều người.

PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG

Khảo sát hiện trạng và xác lập dự án

2.1.1 Kh ả o sát hi ệ n tr ạ ng Được thành lập vào năm 2013, dịch vụ cho thuê xe du lịch Tam Kỳ tên đầy đủ là công ty TNHH MTV dịch vụ du lịch Tam Kỳ, địa chỉ tại số nhà 26 đường Trương Công Hy – TP Tam Kỳ - Quảng Nam chuyên cung cấp các loại xe du lich 4,7,16,24 chỗ cho khách hàng, chuyên phục vụ du lịch, đám cưới, hỏi, tham quan, công tác… Tiêu chí của dịch vụ xe: giá cả hợp lý, lái xe an toàn, tài xế thân thiện, phục vụ 24/24 Liên hệ: 0938749899 (Điều hành: Kế toán Huỳnh Thông)

2.1.1.1 Nhi ệ m v ụ chung c ủ a h ệ th ố ng qu ả n lý xe

* Dịch vụ xe thực hiện xuyên các quá trình quản lý nhân viên, quản lý xe, quản lý tuyến đường, quản lý quá, quản lý đặt xe, quản lý điều hành, in hợp đồng thuê xe, in hóa đơn, báo cáo doanh thu

* Báo cáo thống kê và truy vấn dễ dàng theo tất cả các chỉ tiêu có trong cơ sơ dữ liệu

Hình 7:Cơ cấu tổ chức hệ thống quản lý xe 2.1.1.3 Quy trình x ử lý

Khách hàng truy cập vào hệ thống trang chủ thực hiện tao tác bấm đặt xe,

Kế toán sẽ truy cập hệ thống kiểm tra thông tin đặt xe, sau đó kế toán sẽ gọi điện thoại trực tiếp theo số điện thoại liên hệ của khách hàng có trong thông tin chi tiết đặt xe để gặp khách hàng và xác nhận thông tin đặt xe có chắc chắn hay không, nếu là thông tin giả thì kế toán sẽ hủy thông tin đặt xe đó, nếu đúng thông tin đặt xe thì kế toán sẽ xác nhận đặt xe thành công và in giấy báo có thể chuyển qua email cho khách hàng hoặc giao trực tiếp khi khách hàng đến công ty hoặc có thể chuyển hợp đồng đặt xe qua đường bưu điện để khách hàng nhận hợp đồng

* Quy trı̀nh điều hành nhân viên:

Kế toán sẽ trực tiếp truy câ ̣p chức năng điều hành xem thông tin đă ̣t xe của khách hàng và điều hành tài xế đón khách đúng giờ, đúng địa điểm

* Quy trình thanh toán và in hoá đơn:

Khi khách hàng kết thúc chuyến đi đã đặt, kế toán sẽ nhận lại hợp đồng mà khách hàng đã đặt xe, sau đó kế toán lập hoá đơn, in hoá đơn đưa cho khách hàng, khách hàng sẽ thanh toán Kế toán nhận tiền thanh toán từ khách hàng và trả lại tiền thừa cho khách hàng

* Quy trình thống kê/báo cáo:

Hằng tháng, Hằng quý và hằng năm Giám đốc sẽ trực tiếp truy cập hệ hệ thống để kiểm tra doanh thu trong chức năng báo cáo thống kê

Hiện nay, việc đă ̣t xe và các vấn đề khác chỉ ghi trong sổ sách chưa đáp ứng được nhu cầu xử lý nhanh chóng cho khách hàng và kế toán, việc lưu trữ sổ sách cồng kềnh gây khó khăn cho việc thống kê báo cáo Việc ghi chép sổ sách dễ thất lạc, tốn công và quá thủ công, tốn thời gian làm việc

Từ hạn chế trên, dịch vụ xe cần một hệ thống quản lý với các chức năng như sau:

- Cho phép khách hàng đặt xe trực tuyến

- Quản lý đặt xe, in hợp đồng, in hoá đơn

- Thống kê và in ấn

2.1.2.3 Các gi ả i pháp và tính kh ả thi

Hệ thống quản lý xe đáp ứng được các yêu cầu xử lý công việc nhanh chóng chính xác cho kế toán, giúp khách hàng và kế toán tiết kiệm nhiều thời gian và chi phí làm việc, góp phần giúp cho công ty xe dịch vụ du lịch Tam Kỳ tạo sự uy tín, phong cách làm việc chuyên nghiệp góp phần phát triển lượng khách hàng và tăng doanh thu.

Xây dựng chức năng của hệ thống

2.2.1 Các tác nhân c ủ a h ệ th ố ng

Giám đốc, Kế toán, máy in, Khách hàng

- Khách hàng: Đặt xe trực tuyến

- Giám đốc: điều hành, quản lý theo dõi mọi hoạt động của kế toán và tài xế, quản lý doanh thu

- Kế toán: Quản lý thông tin đặt xe của khách hàng, lập hợp đồng, thanh toán, lập hóa đơn, truy cập chức năng điều hành và in hoá đơn cho khách hàng

- Máy in: Được sử dụng để in hợp đồng, in hoá đơn cho khách hàng

B ả ng 1: B ả ng ch ứ c n ă ng đặ t xe tr ự c tuy ế n c ủ a khách hàng

Quy tắc# Chức năng Loa ̣i

R1.1 Truy cập vào hê ̣ thống trang chủ và tới trang đặt xe tiến hành đặt xe

B ả ng 2: B ả ng ch ứ c n ă ng đă ng nh ậ p

Quy tắc# Chức năng Loa ̣i

R2.1 Đăng nhâ ̣p vào hê ̣ thống quản lý Hiê ̣n

B ả ng 3: B ả ng ch ứ c n ă ng qu ả n lý

Qui tắc# Chức năng Loại

R3.1 Truy cập chức năng quản lý đặt xe Hiê ̣n

R3.2 Xác nhận thông tin đặt xe Hiê ̣n

R3.3 Lập hợp đồng giao cho khách hàng Hiê ̣n

R3.4 Lập hóa đơn giao cho khách hàng Hiện

B ả ng 4: B ả ng ch ứ c n ă ng Th ố ng kê

Quy tắc# Chức năng Loại

R4.1 Thống kê doanh thu theo tháng Hiê ̣n

R4.2 Thống kê doanh thu theo quý Hiê ̣n

R4.3 Thống kê doanh thu theo năm Hiê ̣n

2.2.3 Xác đị nh các UC

B ả ng 5: B ả ng xác đị nh các UC

Tác nhân Ca sử dụng

Khách hàng - Tiến hành đặt xe trực tuyến Giám đốc - Đăng nhập hệ thống

- Quản lý thông tin nhân viên

- Quản lý thông tin xe

Kế toán - Đăng nhập hệ thống

- Xác nhận thông tin đặt xe

2.2.4 Đị nh ngh ĩ a bài toán

Bài toán quản lý xe dịch của công ty xe dịch vụ du lịch Tam Kỳ là cho phép người sử dụng (Khách hàng) tiến hành đặt xe trực tuyến, cho phép người sử dụng (Giám đốc công ty) kiểm tra giám sát mọi hoạt động của công ty, thống kê doanh thu, cho phép người sử dụng (Kế toán) quản lý được thông tin đặt xe, lập hợp đồng thuê xe, lập hóa đơn thanh toán

+ Thông tin xe, thông tin tài xế, thông tin từng tuyến đường, thông tin mức giá từng loại xe, thông tin khách hàng, thông tin đặt xe

+ Thêm mới, chỉnh sửa, xóa các thông tin đầu vào

+ Báo cáo thống kê doanh thu

2.2.5 Các Actor trong bài toán qu ả n lý xe d ị ch v ụ công ty d ị ch v ụ du l ị ch Tam

K ỳ o Khách hàng o Nhân viên kế toán o Ban giám đốc o Hợp đồng thuê xe o Hóa đơn o Máy in

+ UC Quản lý nhân viên

+ UC Quản lý đặt xe

+ Mô tả: Khi muốn đặt xe khách hàng phải truy cập vào hệ thống website của công ty, bấm chọn chức năng đặt xe để tiến hành quy trình đặt xe với yêu cầu nhập đầy đủ các thông tin liên quan

+ Actor: Giám đốc, Kế toán

+ Mô tả: Để làm việc trên hệ thống, nhân viên kế toán và giám đốc phải đăng nhập vào hệ thống bằng cách mở của sổ đăng nhập, nhập tên đăng nhâ ̣p và hê ̣ thống Nếu đúng thì hệ thống mở, nếu sai hệ thống yêu cầu phải nhập lại + Các tham chiếu: R2.1

+ Actor: Khách hàng, kế toán

+ Mô tả: Kế toán truy cập hệ thống, kiểm tra đơn đặt xe của khách hàng, xác nhận thông tin đặt xe, lập hợp đồng, lập hóa đơn thanh toán

[4] UC báo cáo thống kê:

+ Mô tả: Hàng tháng, hàng quý, hàng năm giám đốc sẽ vào hê ̣ thống xem báo cáo thống kê doanh thu

Biểu đồ UC

Ke toan Quan ly nhan vien

Quan ly gia Giam doc

Hı̀nh 8: Uc hê thộ ́ng

Hình 9: UC đặt xe 2.3.3 UC đă ng nh ậ p

Giam doc He thong Ke toan

2.3.4 UC qu ả n lý nhân viên

Hình 11: UC quản lý nhân viên 2.3.5 UC qu ả n lý xe

Hình 12: UC quản lý xe

2.3.6 UC qu ả n lý tuy ế n đườ ng

Hình 13: UC quản lý tuyến đường 2.3.7 UC qu ả n lý giá

Hình 14: UC quản lý giá

2.3.8 UC qu ả n lý đặ t xe

Hoa don Chi tiet dat xe

Hình 15: UC quản lý đặt xe 2.3.9 UC Th ố ng kê

Biểu đồ tuần tự

2.4.1 Bi ể u đồ tu ầ n t ự ch ứ c n ă ng đặ t xe

: Khach hang Trang dat xe Trang dat xe Co so du lieu Co so du lieu

2 Yeu cau nhap thong tin dat xe

3 Nhap cac thong tin yeu cau

4 Kiem tra thong tin nhap vao

5 Chuyen thong tin vao co so

6 Luu thong tin 7.Luu thong tin thanh cong

8 Thong bao dat xe thanh cong

Hình 17: Biểu đồ tuần tự chức năng đặt xe 2.4.2 Bi ể u đồ tu ầ n t ự ch ứ c n ă ng đă ng nh ậ p

2 Yeu cau nhap tai khoan va mat khau

3 Nhap tai khoan va mat khau

4 Kiem tra tinh hop le cua du lieu

5 Kiem tra su ton tai cua nguoi dung

7 Xac nhan thong tin dang nhap hop le

8 Cho phep vao he thong

Hình 18: Biểu đồ tuần tự chức năng đăng nhập

2.4.3 Bi ể u đồ tu ầ n t ự ch ứ c n ă ng qu ả n lý đặ t xe

Quan ly dat xe Quan ly dat xe Co so du lieu Co so du lieu

1 Kiem tra don dat xe

2 Yeu cau hien thi thong tin dat xe

3 Kiem tra trong tin dat xe

4 Hien thi thong tin dat xe

5 Cac thong tin dat xe

6 Xac nhan dat xe va yeu cau lap hop dong

7 Lap hop dong va cho phep in hop dong

8 Yeu cau lap hoa don

9 Lap hoa don va cho phep in

Hình 19: Biểu đồ tuần tự chức năng quản lý đặt xe 2.4.4 Bi ể u đồ tu ầ n t ự ch ứ c n ă ng th ố ng kê

Trang Thong ke Trang Thong ke Co so du lieu Co so du lieu

2 Yeu cau nhap thong tin can thong ke

3 Nhap thong tin can thong ke

6 Tra loi thong tin yeu cau

Hình 20: Biểu đồ tuần tự chức năng thống kê

Biểu đồ lớp

dangnhap tendangnhap matkhau dang nhap() nhanvien

ID hovaten gioitinh ngaysinh diachi soCMND sodienthoai

ID thongtindatxe_ID loaixe soluong xe

ID tenxe hangxe loaixe doixe bienso

Them moi() Sua() Xoa() tuyenduong

Them moi() sua() xoa() gia tuyenduong_ID loaixe hanhtrinh gia

Them moi() sua() xoa() thongtindatxe

ID hovaten gioitinh ngaysinh soCMND sodienthoai tuyenduong_ID nhanvien_ID xe_ID loaixe hanhtrinh thoigian diachi ngaydatxe xacnhandatxe xacnhanchay

Hop dong() Hoa don() Chi tiet dat xe()

Hình 21: Biểu đồ lớp hệ thống

Cơ sở dữ liệu

B ả ng 6: B ả ng đă ng nh ậ p

Tên Trường Kiểu dữ liệu Mô tả

Tendangnhap Text Tên đăng nhập

Matkhau Text Mật khẩu đăng nhập

Tên Trường Kiểu dữ liệu Mô tả

Hovaten Varchar(200) Họ và tên nhân viên

Gioitinh Tinyint(1) Giới tính nhân viên

Ngaysinh Date Ngày sinh nhân viên

Diachi Varchar(200) Địa chỉ nhân viên soCMND Int(15) Số chứng minh nhân dân

Sodienthoai Text Số điện thoại liên lạc của nhân viên

Tên Trường Kiểu dữ liệu Mô tả

Bienso Varchar(20) Biển kiểm soát

B ả ng 9: B ả ng tuy ế n đườ ng

Tên Trường Kiểu dữ liệu Mô tả

Tên Trường Kiểu dữ liệu Mô tả tuyenduong_ID Int(11) ID của tuyến đường

2.6.6 B ả ng chi ti ế t đặ t xe

B ả ng 12: B ả ng chi ti ế t đặ t xe

Tên Trường Kiểu dữ liệu Mô tả

ID Int(11) ID thongtindatxe_ID Int(11) ID thông tin đặt xe

2.6.7 B ả ng thông tin đặ t xe

B ả ng 11: B ả ng thông tin đặ t xe

Tên Trường Kiểu dữ liệu Mô tả

Hovaten Varchar(100) Họ và tên khách hàng

Gioitinh Tinyint(1) Giới tính khách hàng

Ngaysinh Date Ngày sinh khách hàng

Diachi Varchar(100) Địa chỉ khách hàng soCMND Int(11) Số chứng minh nhân dân khách hàng

Sodienthoai Text Số điện thoại khách hàng tuyenduong_ID Int(11) ID tuyến đường nhanvien_ID Int(11) ID nhân viên xe_ID Int(11) ID xe

Thoigian Timestamp Thời gian đi

Ngaydatxe Date Ngày đặt xe

Xacnhandatxe Tinyint(1) Xác nhận đặt xe

Xacnhanchay Tinyint(1) Xác nhận chạy

2.6.8 B ả ng chi ti ế t đặ t xe

B ả ng 12: B ả ng chi ti ế t đặ t xe

Tên Trường Kiểu dữ liệu Mô tả

ID Int(11) ID thongtindatxe_ID Int(11) ID thông tin đặt xe

XÂY DỰNG HỆ THỐNG

Giao diện trang chủ

Hình 22: Giao diện trang chủ

Giao diện trang đặt xe

Hình 23: Giao diện trang đặt xe

Giao diện trang thông tin về công ty

Đây là giao diện trang trang thông tin về công ty

Hình 24: Giao diện trang thông tin công ty

Giao diện trang quản lý nhân viên

 Trang quản lý nhân viên gồm có những chức năng: Thêm mới nhân viên, chỉnh sửa thông tin nhân viên, xóa thông tin nhân viên, tìm kiếm thông tin nhân viên

Hình 25: Giao diện trang quản lý nhân viên

Giao diện trang quản lý xe

 Trang quản lý xe gồm có những chức năng: Thêm mới xe, chỉnh sửa thông tin xe, xóa thông tin xe

Hình 26: Giao diện trang quản lý xe

Giao diện trang quản lý tuyến đường

 Trang quản lý tuyến đường gồm có những chức năng: Thêm mới tuyến đường, chỉnh sửa thông tin tuyến đường, xóa thông tin tuyến đường

Hình 27: Giao diện trang quản lý tuyến đường

Giao diện trang quản lý giá

 Trang quản lý giá gồm có những chức năng: Thêm mới giá, chỉnh sửa thông tin giá, xóa giá, tìm kiếm thông tin giá

Hình 28: Giao diện trang quản lý giá

Giao diện trang quản lý đặt xe

 Trang quản lý đặt xe gồm có những chức năng: Tìm kiếm thông tin đặt xe, xác nhận đặt xe, xuất hợp đồng, xác nhận xe đã chạy, xuất hóa đơn, hiển thị chi tiết đặt xe

Hình 29: Giao diện trang quản lý đặt xe

Giao diện trang thống kê

 Đây là giao diện trang thống kê (Giành cho người quản lý hệt thống)

Hình 30: Giao diện trang thống kê

Giao diện hợp đồng

Hình 31: Giao diện trang hợp đồng

Giao diện hóa đơn thanh toán

Hình 32: Giao diện hóa đơn

PHẦN KẾT LUẬN VÀ KIẾN NGHỊ

Đánh giá kết quả đã thực hiện

Sau thời gian quá trình học tập và tìm hiểu xây dựng hệ thống website quản lý dịch vụ xe du lịch tôi đã:

- Củng cố kiến thức và sử dụng thành thạo CSDL

- Nắm được cấu trúc và một số kỹ thuật lập trình NET cũng như sự ưu việt của ngôn ngữ này

- Nắm bắt được những kiến thức nâng cao về C#

- Nâng cao kinh nghiệm phân tích và thiết kế một hệ thống quản lý

- Hiểu thêm về sử dụng mô hình đa tầng để thiết kế hệ thống dễ dàng quản lý.

Hạn chế

Tuy đã xây dựng được một hệ thống quản lý dịch vụ xe du lịch với đầy đủ các chức năng đã đề ra, song về giao diện hệ thống vẫn còn chưa đẹp.

Hướng phát triển của đề tài

- Hệ thống hiện tại là cơ sở để xây dựng lên một hệ thống hoàn chỉnh hơn, chuyên nghiệp hơn và đáp ứng được nhu cầu của người sử dụng

- Trong thời gian tới tôi sẽ cố gắng hơn nữa để dễ dàng tiếp cận với việc lập trình mô hình đa tầng để xây dựng một hệ thống nào đó

- Một lần nữa xin chân thành cảm ơn Thầy Hồ Hữu Linh đã tận tình hướng dẫn để tôi hoàn thành xong đề tài khóa luận!

TÀI LIỆU THAM KHẢO

[1] Stephen C Perry, Code C# and NET, Prentice Hall PTR, 2005

[2] Phạm Hữu Khang, C# 2005, Tập 5 lập trình ASP.NET 2.0, quyển 4: Đối tượng ADO.NET và XML, Nhà xuất bản lao động xã hội

Website www.w3schools.com www.getbootstrap.com

Ngày đăng: 01/03/2024, 21:29

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w