CƠ SỞ LÝ THUYẾT
Tổng quan về Laravel
Laravel là một trong những framework PHP phổ biến nhất theo mô hình MVC (Model-View-Controller) Là một framework mã nguồn mở và miễn phí, Laravel giúp bạn phát triển sản phẩm chất lượng cao với mã nguồn tối ưu, tiết kiệm thời gian và công sức cho quá trình phát triển.
Sử dụng các tính năng mới nhất của PHP
Laravel là một framework PHP nổi bật nhờ vào việc tận dụng tất cả các tính năng mới nhất của PHP, điều mà các framework khác không làm được Khi sử dụng Laravel 5, bạn sẽ được trải nghiệm những tính năng tiên tiến như Namespaces, Interfaces, Overloading, Anonymous functions và cú pháp mảng ngắn gọn Nhiều hệ thống quản lý nội dung (CMS) nổi bật, từ đơn giản đến phức tạp, đã được phát triển trên nền tảng Laravel, bao gồm cả mã nguồn mở và thương mại.
Tài liệu của Laravel rất dễ sử dụng cho các nhà phát triển, với mỗi phiên bản được phát hành kèm theo tài liệu chi tiết Bạn sẽ tìm thấy những giải thích rõ ràng về phong cách lập trình, các phương thức và lớp trong Laravel.
Tích hợp với dịch vụ mail
Các ứng dụng web cần thông báo cho người dùng về các ưu đãi và khuyến mãi mới, đồng thời việc đăng ký người dùng mới cũng rất quan trọng để thông báo cho họ ngay khi hoàn tất đăng ký Framework này được trang bị API sạch thông qua thư viện SwiftMailer, với các driver hỗ trợ cho SMTP, Mailgun, SparkPost, Mandrill, chức năng "mail" của PHP, Amazon SES và "sendmail", giúp gửi email qua các dịch vụ đám mây hoặc dịch vụ local.
Hỗ trợ cache backend phổ biến
Laravel framework hỗ trợ các cache backend như Memcached và Redis out-of- the-box Bạn cũng có thể tùy chỉnh nhiều cấu hình cache.
Công cụ tích hợp cho dòng lệnh - Artisan
Các nhà phát triển thường cảm thấy nhàm chán với các nhiệm vụ lập trình lặp đi lặp lại do tính tốn thời gian của chúng Công cụ dòng lệnh Artisan hỗ trợ họ trong việc tạo khung code và quản lý hệ thống cơ sở dữ liệu một cách hiệu quả Artisan không chỉ giúp tạo ra các tệp MVC cơ bản mà còn quản lý tài sản và các cấu hình tương ứng của chúng.
Gói và nguồn lực sẵn có
TIEU LUAN MOI download : skknchat@gmail.com
Kết hợp npm package và bower package với Gulp và Elixir sẽ mang lại nhiều lợi ích cho việc sửa đổi tài nguyên, đồng thời giải quyết các phụ thuộc một cách hiệu quả Sự tích hợp này trở thành nguồn đáng tin cậy nhất trong thế giới PHP.
Giảm chu kỳ phát triển sản phẩm
Sử dụng framework giúp bạn rút ngắn đáng kể chu kỳ phát triển sản phẩm nhờ vào khả năng tích hợp nhanh chóng và sự hỗ trợ mạnh mẽ từ cộng đồng, đặc biệt là từ Laracasts.
Không hỗ trợ tính năng thanh toán
Nếu bạn không tự quản lý các khoản thanh toán, bạn sẽ phải tuân thủ các quy tắc PCI, nhưng việc sử dụng các dịch vụ như Stripe và Paypal có thể giúp bạn giải quyết vấn đề này Bạn cũng có thể khám phá các trang web thương mại điện tử và xây dựng ứng dụng của mình từ các mẫu có sẵn, hoặc tận dụng các thư viện của Framework để tích hợp các phương thức thanh toán Tuy nhiên, hầu hết các nhà giao dịch điện tử nên sử dụng bộ xử lý thanh toán của bên thứ ba để thuận tiện hơn.
Thiếu sự liên tục giữa các phiên bản
Không có chuyển đổi liền mạch từ Laravel 4 sang 5 Nếu cố cập nhật code, bạn có thể sẽ phá vỡ ứng dụng.
Một số thành phần trong framework không được thiết kế tốt Ví dụ, dependency injection đôi khi trở nên phức tạp không cần thiết Các tài liệu khá nặng.
Bạn phải học hỏi nhiều trước khi bắt đầu xây dựng các ứng dụng.
Do đó, đây không phải là một lựa chọn tốt cho các nhà phát triển nghiệp dư
Tuy nhiên, framework vẫn đang được cải thiện rất nhiều Phiên bản 5 đã tốt hơn nhiều với số lượng sai sót cũng ít hơn.
Khi nâng cấp ứng dụng di động hoặc website, các nhà phát triển cần lưu ý rằng một số nâng cấp có thể gặp vấn đề Đây không chỉ là thách thức riêng của Laravel mà còn là vấn đề chung của các framework PHP Do đó, việc thực hiện các biện pháp phòng ngừa trước khi tiến hành nâng cấp là rất quan trọng.
Thường không cung cấp sự phong phú cho ứng dụng di động
Tải lại toàn trang trên các ứng dụng di động thường nặng nề hơn so với các website Do đó, các nhà phát triển web thường lựa chọn sử dụng framework như backend JSON API để tối ưu hóa hiệu suất.
HTML
HTML là chữ viết tắt của cụm từ HyperText Markup Language (dịch là Ngôn
Tài liệu HTML là thành phần cơ bản để tạo ra một trang web, với mỗi trang được biểu diễn bằng một tập tin HTML, bao gồm các phần tử HTML được quy định bởi các cặp thẻ nằm trong dấu ngoặc nhọn (ví dụ: ) Mỗi phần tử thường có thẻ mở và thẻ đóng, như đây là chữ in đậm, tuy nhiên, một số thẻ đặc biệt như không có thẻ đóng và chứa dữ liệu trong các thuộc tính của chúng.
Một tập tin HTML sẽ bao gồm các phần tử HTML và được lưu lại dưới đuôi mở rộng là html hoặc htm.
HTML là ngôn ngữ đánh dấu siêu văn bản, có vai trò quan trọng trong việc xây dựng cấu trúc siêu văn bản cho website và khai báo các tập tin kỹ thuật số như hình ảnh, video và nhạc Tuy nhiên, HTML không phải là công cụ duy nhất để tạo ra website, mà chỉ đóng vai trò hình thành cấu trúc cho nó.
HTML – Xây dựng cấu trúc và định dạng các siêu văn bản.
CSS – Định dạng các siêu văn bản dạng thô tạo ra từ HTML thành một bố cục website, có màu sắc, ảnh nền…
Javascript – Tạo ra các sự kiện tương tác với hành vi của người dùng (ví dụ nhấp vào ảnh trên nó sẽ có hiệu ứng phóng to).
HTML được xem như bộ xương của một website, đóng vai trò là khung sườn cấu trúc cho toàn bộ nội dung.
Dù website sử dụng ngôn ngữ lập trình nào để xử lý dữ liệu, HTML vẫn là yếu tố cần thiết để hiển thị nội dung cho người truy cập.
TIEU LUAN MOI download : skknchat@gmail.com
CSS
CSS, viết tắt của Cascading Style Sheets, là một loại tệp văn bản có phần mở rộng css, trong đó chứa các câu lệnh CSS để định dạng và thiết kế giao diện web.
Mỗi một lệnh của CSS sẽ định dạng một phần nhất định của HTML ví dụ như: font của chữ, đường viền, màu nền, căn chỉnh hình ảnh…
Trước khi CSS ra đời, thiết kế web phải kết hợp giữa nội dung và phần trình bày, gây khó khăn trong việc quản lý mã nguồn Sự xuất hiện của CSS đã cho phép tách biệt hoàn toàn hai yếu tố này, giúp mã nguồn trang web trở nên gọn gàng và dễ dàng chỉnh sửa hơn.
CSS, được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996, ra đời nhằm khắc phục hạn chế của HTML trong việc định dạng trang web HTML không được thiết kế để gắn thẻ giúp tạo kiểu cho nội dung, do đó CSS trở thành công cụ quan trọng để cải thiện giao diện và trải nghiệm người dùng trên các trang web.
Bạn chỉ có thể dùng nó để “đánh dấu” lên site.
Tag được giới thiệu trong HTML 3.2 đã gây khó khăn cho lập trình viên do sự đa dạng về font chữ, màu nền và phong cách trên các website Việc chỉnh sửa mã nguồn cho trang web trở thành một quá trình dài và vất vả.
CSS được tạo bởi W3C là để giải quyết vấn đề này.
HTML và CSS có mối quan hệ chặt chẽ, trong đó HTML là ngôn ngữ đánh dấu cơ bản cho cấu trúc của website, còn CSS đảm nhận vai trò định hình phong cách và giao diện Sự kết hợp của hai ngôn ngữ này là điều không thể thiếu trong việc phát triển một trang web hoàn chỉnh.
CSS về lý thuyết không có cũng được, nhưng khi đó website sẽ chỉ là một trang chứa văn bản mà không có gì khác.
CSS cho phép thiết lập quy tắc về cách hiển thị nội dung của các phần tử Ví dụ, bạn có thể định nghĩa nền trang là màu kem, các đoạn văn sử dụng màu xám với kiểu chữ Arial, hoặc tất cả các tiêu đề cấp một có màu xanh lam, in nghiêng, với kiểu chữ Times.
“Html&Css” [6] của John Ducket).
Sự khác biệt giữa site có CSS và không có CSS rất dễ nhận biết.
Trước khi áp dụng CSS, tất cả các phong cách CSS phải được tích hợp vào mã HTML Điều này có nghĩa là bạn cần phân tách để xác định các yếu tố như nền, màu chữ và căn chỉnh.
CSS cho phép bạn định dạng mọi yếu tố trong một tệp riêng biệt, giúp tạo phong cách trước và sau đó tích hợp tệp CSS vào phần đầu của tệp HTML Điều này làm cho mã HTML trở nên rõ ràng và dễ quản lý hơn.
CSS giúp bạn tránh việc lặp lại mô tả cho từng thành phần, tiết kiệm thời gian và làm cho mã code trở nên ngắn gọn hơn, từ đó dễ dàng kiểm soát lỗi.
TIEU LUAN MOI download : skknchat@gmail.com
JavaScript
JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua.
Nó cũng là một trong số 3 ngôn ngữ chính của lập trình web:
HTML: Giúp bạn thêm nội dung cho trang web.
CSS: Định dạng thiết kế, bố cục, phong cách, canh lề của trang web.
JavaScript: Cải thiện cách hoạt động của trang web.
JavaScript nổi bật với nhiều ưu điểm vượt trội so với các ngôn ngữ lập trình khác, đặc biệt trong các ứng dụng thực tế Một trong những lợi thế lớn của nó là không cần sử dụng compiler, vì trình duyệt web có khả năng biên dịch mã JavaScript trực tiếp thông qua HTML.
- Dễ học hơn các ngôn ngữ lập trình khác.
- Lỗi dễ phát hiện hơn và vì vậy dễ sửa hơn.
- Có thể được gắn trên một số element của trang web hoặc event của trang web như là thông qua click chuột hoặc di chuột tới.
JS hoạt động trên nhiều trình duyệt, nền tảng…
Bạn có thể sử dụng JavaScript để kiểm tra input và giảm thiểu việc kiểm tra thủ công khi truy xuất qua cơ sở dữ liệu.
Nó giúp website tương tác tốt hơn với khách truy cập.
Nó nhanh hơn và nhẹ hơn các ngôn ngữ lập trình khác.
Tất cả các ngôn ngữ lập trình đều tồn tại những khuyết điểm, đặc biệt là JavaScript, khi nó phát triển đến một mức độ phổ biến cao Điều này thu hút nhiều hacker, scammer và những người có ý đồ xấu tìm kiếm lỗ hổng và lỗi bảo mật để khai thác Một trong những khuyết điểm chính của ngôn ngữ này là dễ bị khai thác.
Có thể được dùng để thực thi mã độc trên máy tính của người dùng.
Nhiều khi không được hỗ trợ trên mọi trình duyệt.
Có thể bị triển khai khác nhau tùy từng thiết bị dẫn đến việc không đồng nhất.
Bootstrap
Bootstrap is a framework that includes HTML, CSS, and JavaScript templates for developing responsive websites It streamlines the web design process, making it faster and easier by utilizing essential components such as typography, forms, buttons, tables, grids, navigation, and image carousels.
TIEU LUAN MOI download : skknchat@gmail.com
Bootstrap là bộ công cụ mã nguồn mở miễn phí giúp tạo mẫu website hoàn chỉnh Với các thuộc tính giao diện như kích thước, màu sắc và độ cao, Bootstrap cho phép designer sáng tạo sản phẩm mới một cách nhanh chóng và hiệu quả, tiết kiệm thời gian trong quá trình thiết kế giao diện.
Bootstrap rất phổ biến và là một lựa chọn tối ưu trong thiết kế web.
Giữa muôn vàn ứng dụng thiết kế website hiện nay, Bootstrap vẫn có khả năng cạnh tranh cao là nhờ những đặc điểm nổi bật sau:
Bootstrap hoạt động dựa trên mã nguồn mở HTML, CSS và Javascript, vì vậy người dùng cần nắm vững kiến thức cơ bản về ba ngôn ngữ này để sử dụng Bootstrap hiệu quả Ngoài ra, các mã nguồn này cũng cho phép người dùng dễ dàng thay đổi và chỉnh sửa theo nhu cầu của mình.
Bootstrap là một framework mã nguồn mở giúp các designer linh hoạt hơn trong việc lựa chọn các thuộc tính và phần tử phù hợp với dự án của họ Việc sử dụng CDN Bootstrap không chỉ tối ưu hóa quy trình thiết kế mà còn tiết kiệm dung lượng lưu trữ, vì bạn không cần phải tải mã nguồn về máy.
Chất lượng sản phẩm đầu ra hoàn hảo.
Bootstrap là một framework mạnh mẽ được phát triển bởi các lập trình viên tài năng trên toàn cầu, đã trải qua nhiều nghiên cứu và thử nghiệm để đảm bảo chất lượng tốt nhất cho người dùng Điểm nổi bật của Bootstrap là khả năng tương thích cao với mọi trình duyệt và nền tảng, điều này rất quan trọng cho trải nghiệm người dùng Với hệ thống lưới (Grid System) và hỗ trợ từ hai bộ tiền xử lý Less và Sass, Bootstrap mặc định hỗ trợ thiết kế Responsive, ưu tiên cho giao diện trên thiết bị di động Nó có khả năng tự động điều chỉnh kích thước trang web để phù hợp với màn hình của máy tính để bàn, tablet và laptop.
2.6.3 Cấu trúc và tính năng của Bootstrap
Cấu trúc gọn nhẹ khiến chức năng của Bootstrap trở nên linh hoạt.
TIEU LUAN MOI download : skknchat@gmail.com
Bootstrap là một bộ công cụ phát triển web bao gồm các tập tin JavaScript, CSS và font chữ đã được biên dịch và nén Với thiết kế mô-đun, Bootstrap dễ dàng tích hợp với nhiều hệ thống mã nguồn mở như WordPress, Joomla, và Magento.
Trong đó, Bootstrap mang đến nhiều chức năng nổi bật.
Bootstrap cung cấp cho người dùng một thư viện phong phú các thành phần cần thiết để xây dựng giao diện hoàn chỉnh cho website, bao gồm font chữ, typography, form, bảng và hệ thống lưới.
Bootstrap cho phép bạn tùy chỉnh framework của website trước khi tải xuống và sử dụng nó tại trang web của khung.
Tái sử dụng các thành phần lặp đi lặp lại trên trang web.
Bootstrap tích hợp jQuery, giúp bạn dễ dàng khai báo các tính năng cần thiết trong lập trình web Việc định nghĩa glyphicons không chỉ giảm thiểu việc sử dụng hình ảnh làm biểu tượng mà còn tăng tốc độ tải trang hiệu quả.
Tổng quan về cơ sở dữ liệu
Cơ sở dữ liệu (Database) là tập hợp dữ liệu được tổ chức có cấu trúc liên quan với nhau và được lưu trữ trong máy tính.
Cơ sở dữ liệu được thiết kế, xây dựng cho phép người dùng lưu trữ dữ liệu, truy xuất thông tin hoặc cập nhật dữ liệu.
Hệ quản trị cơ sở dữ liệu (CSDL) là phần mềm thiết yếu cho việc tạo lập và quản lý các cơ sở dữ liệu, cung cấp các cơ chế lưu trữ và truy cập dữ liệu theo nhiều mô hình khác nhau Một ví dụ tiêu biểu về hệ quản trị CSDL là SQL Server của Microsoft.
Access, Oracle là các hệ quản trị CSDL điển hình.
2.7.1 Cơ sở dữ liệu MySQL
MySQL is an open-source relational database management system (RDBMS) that operates on a client-server model The computer that installs and runs the RDBMS software is referred to as the client.
(máy khách) Mỗi khi chúng cần truy cập dữ liệu, chúng kết nối tới máy chủ (server)
RDBMS, hay Hệ quản trị cơ sở dữ liệu quan hệ, hoạt động theo mô hình "client-server" Đây là phần mềm hoặc dịch vụ được sử dụng để tạo và quản lý cơ sở dữ liệu, đồng thời quản lý các mối quan hệ giữa các dữ liệu trong hệ thống.
MySQL là một hệ quản trị cơ sở dữ liệu được phát triển và hỗ trợ bởi Oracle Corporation Tên gọi MySQL được đặt theo tên của con gái của Monty Widenius, một trong những người sáng lập Ban đầu, MySQL được phát triển bởi công ty Thụy Điển MySQL AB vào năm
1994 Tiếp đến năm 2008, MySQL bị mua lại bởi công ty công nghệ Mỹ Sun
TIEU LUAN MOI download : skknchat@gmail.com
MySQL có thể được cài đặt trên nhiều nền tảng hệ điều hành khác nhau như
Windows, Linux và Mac OS Ngoài MySQL ra, còn một số DBMS khác như Oracle,
PostgreSQL, SQLite, … Cách phát âm chính thức là: MY-ES-KYOO-EL Các ứng dụng website lớn nhất như Facebook, Twitter, YouTube, Google, và Yahoo! đều dùng
MySQL cho mục đích lưu trữ dữ liệu.
2.7.2 Phương thức hoạt động của MySQL
Trong một mạng máy tính, máy client giao tiếp với máy server để gửi yêu cầu từ giao diện người dùng, và server sẽ trả về kết quả mong muốn Đối với MySQL, hệ quản trị cơ sở dữ liệu này cung cấp nhiều câu lệnh phong phú cho phép kết nối, yêu cầu và truy xuất dữ liệu cho trang web, bao gồm chỉnh sửa hàng trong quan hệ, thêm, xóa và sửa đổi các đối tượng trong cơ sở dữ liệu, cũng như kiểm soát việc truy cập dữ liệu và các đối tượng liên quan.
Client gửi yêu cầu SQL qua lệnh đặc biệt trên MySQL, và ứng dụng trên server sẽ phản hồi thông tin, trả về kết quả cho máy client.
2.7.3 Ưu nhược điểm của MySQL Ưu điểm
- Linh hoạt và dễ dùng Quá trình cài đặt tương đối đơn giản
MySQL mang lại hiệu năng cao, đáp ứng nhanh chóng và mượt mà cho dù dữ liệu của bạn có lớn đến đâu Điều này đặc biệt hữu ích cho các trang thương mại điện tử và những hoạt động kinh doanh nặng nề trong lĩnh vực công nghệ thông tin, kể cả khi xử lý big data.
Với tư cách là một tiêu chuẩn trong ngành, MySQL đã trở thành công cụ không thể thiếu đối với bất kỳ ai đã dấn thân vào lĩnh vực công nghệ và dữ liệu Việc sử dụng MySQL cho phép người dùng triển khai dự án nhanh chóng và dễ dàng thuê các chuyên gia dữ liệu có kinh nghiệm.
- An toàn Vấn đề an toàn luôn là vấn đề cực kì quan trọng trong ngành dữ liệu và MySQL đảm bảo được tiêu chuẩn bảo mật rất cao
Bên cạnh những ưu điểm nổi bật thì MySQL vẫn tồn tại những thiếu sót như
MySQL có thể bị khai thác để chiếm quyền điều khiển, và mặc dù nó có khả năng quản lý dữ liệu lớn, nhưng không đủ mạnh để tích hợp quản lý dữ liệu quy mô lớn và hệ thống phức tạp như hệ thống siêu thị toàn quốc, ngân hàng, và quản lý thông tin dân số quốc gia.
TIEU LUAN MOI download : skknchat@gmail.com
Tầm quan trọng của MySQL
- Là cơ sở dữ liệu tốc độ cao, ổn định nhất hiện nay trên thị trường.
- Độ bảo mật thông tin cao
- MySQL mặc dù có những tính năng cao nhưng sử dụng lại đơn giản, ít phức tạp
- Hoàn toàn miễn phí vì đây là một mã nguồn mở Tuy nhiên,trong trường hợp bạn cần được hỗ trợ từ MySQL, bạn vẫn phải trả phí.
- Được hỗ trợ từ công đồng vì rất nhiều thành viên
- Hoạt động trên nhiều hệ điều hành
TIEU LUAN MOI download : skknchat@gmail.com
PHÂN TÍCH VÀ THIẾT KẾ
Đặt vấn đề
Giáo dục đóng vai trò thiết yếu trong việc phát triển một quốc gia thịnh vượng, tập trung vào việc nâng cao tri thức và kỹ năng sống cho từng cá nhân.
Cuộc cách mạng 4.0 đã làm thay đổi toàn diện thị trường lao động, đặc biệt là về trình độ chuyên môn Do đó, giáo dục cần phải nâng cao chất lượng đào tạo để cung cấp nguồn nhân lực có khả năng thích ứng với môi trường kỹ thuật mới.
Yêu cầu đổi mới trong giáo dục đã chuyển từ việc chỉ truyền đạt kiến thức hàn lâm sang việc cung cấp cho người học những kỹ năng thiết yếu như kỹ năng thực hành, làm việc nhóm, tư duy sáng tạo và phản biện Cách mạng 4.0 trong giáo dục cũng thúc đẩy người học chủ động hơn trong quá trình học tập của mình.
Giáo dục hiện đại không chỉ giới hạn trong các trường học và đại học mà còn mở rộng qua hình thức giáo dục online Sự bùng nổ của các cơ sở giáo dục đòi hỏi các trường học và trung tâm cần có những cách tiếp cận hiệu quả để thu hút học viên và phụ huynh Để nổi bật giữa các đối thủ và đáp ứng tốt nhất nhu cầu thông tin của người dùng, việc xây dựng website khóa học trở thành giải pháp hàng đầu.
Yêu cầu hệ thống
Website khóa học bao gồm:
Trang web phục vụ hai nhóm đối tượng chính: học viên tham gia các khóa học thi kiểm nghiệm và quản trị viên quản lý nội dung website Giao diện dành cho quản trị viên được thiết kế để hỗ trợ hiệu quả trong việc quản lý và điều hành trang web.
- Chức năng quản lý các khóa học tại trung tâm và các khóa học online.
- Quản lý các bài học online.
- Chức năng quản lý các đào tạo.
- Chức năng quản lý thông tin học viên.
- Chức năng quản lý nhân viên.
- Chức năng quản lý bài kiểm tra.
- Chức năng thống kê Ở giao diện học viên:
- Xem các khóa học tại trung tâm.
TIEU LUAN MOI download : skknchat@gmail.com
- Tiến hành đăng ký các khóa học tại trung tâm.
- Xem các khóa học online.
- Tiến hành thanh toán để sở hữu khóa học online
- Bình luận các khóa học đã sở hữu
- Tham khảo và làm các bài kiểm tra.
- Đăng ký, đăng nhập và quên mật khẩu.
Website giới thiệu khóa học được chia làm 2 phần:
Phần 1 dành cho học viên, học viên khi vào web giới thiệu khóa học có thể coi được thông tin các khóa học có đào tạo tại trung tâm đào tạo, bao gồm các thông tin :
Tên khóa học, lịch khai giảng dự kiến, thời lượng học của khoá học, mục tiêu giảng dạy
Tất cả học viên muốn đăng ký khóa học tại trung tâm đều cần đăng nhập tài khoản hoặc đăng ký tài khoản mới với thông tin cá nhân như họ tên, số điện thoại, email, địa chỉ, tên tài khoản và mật khẩu Thông tin khóa học trên website được sắp xếp theo lịch khai giảng gần nhất, các khóa học hết hạn đăng ký sẽ không hiển thị để tránh nhầm lẫn Học viên có thể tìm kiếm khóa học bằng từ khóa tên khóa học Trung tâm cũng cung cấp các khóa học online, bao gồm cả miễn phí và có phí; học viên có thể học ngay với khóa miễn phí hoặc thanh toán qua VNPAY để sở hữu khóa có phí Ngoài ra, trung tâm cung cấp bài kiểm tra và khảo sát kiến thức giúp học viên lựa chọn khóa học phù hợp.
Phần 2 dành cho quản lý (admin), người quản lý web có thể thực hiện các chức năng thêm sửa xóa đối với mục đào tạo, khóa học tại trung tâm, khóa học online, bài học và bài kiểm tra.Danh sách câu hỏi được nhập từ file Excel Ngoài ra, người quản lý chính có thể tạo tài khoản và phân quyền cho người dùng, xem thông tin các học viên đăng ký khoá học tại trung tâm, học viên mua khóa học online, thống kê doanh thu, khóa học và học viên,
Cả 2 phần quản lý và học viên đều có chức năng đổi mật khẩu.
TIEU LUAN MOI download : skknchat@gmail.com
Mô hình nghiệp vụ của hệ thống
Sơ đồ phân rã chức năng
Quản lý website khóa học
Quản lý khóa học online
Quản lý bài học online
Quản lý bài kiểm Quản lý danh sách Quản lý khóa học tra câu hỏi tại trung tâm
Quản lý user Quản lý học viên
Danh sách học viên tại trung tâm
Danh sách học viên online
Hình 3 1: Sơ đồ phân rã chức năng trang quản lý Website khóa học
Website khóa học Đăng nhập Khóa học online Bài học online Bài kiểm tra
Khóa học tại trung tâm cho phép người dùng đăng nhập bằng tài khoản để xem các khóa học online, bài học và bài kiểm tra Người học có thể tìm kiếm khóa học, bình luận về bài học và thực hiện thanh toán dễ dàng.
Facebook học online Làm bài kiểm tra Đăng ký khóa học
Quên mật khẩu Kiểm tra kết quả
Hình 3 2: Sơ đồ phân rã chức năng trang chủ Website khóa học
Với việc phân tích kiến trúc hệ thống và các quy trình của hoạt động của
Website học lập trình trực tuyến, chúng ta có được các sơ đồ phân rã chức năng như hình 3.1 và
3.2 Đây là các chức năng chính mà hệ thống cần có
TIEU LUAN MOI download : skknchat@gmail.com
3.3.1 Mô hình thực thể kết hợp ERD:
Hình 3 3: Sơ đồ ERD web khóa học SHTP
TIEU LUAN MOI download : skknchat@gmail.com
3.3.2 Đặc tả các quy trình nghiệp vụ:
- Học viên chọn khóa học mong muốn.
- Hệ thống hiển thị chi tiết khóa học.
- Học viên chọn bài học.
- Hệ thống chuẩn bị nội dung bài học.
Hình 3 4: Quy trình nghiệp vụ chọn khóa học.
TIEU LUAN MOI download : skknchat@gmail.com
- Admin chọn thêm khóa học mới.
- Hệ thống hiển thị form thêm khóa học.
- Admin nhập thông tin khóa học mới sau đó nhấn nút đăng khóa học.
- Hệ thống kiểm tra tính hợp lệ của các thông tin về khóa học.
- Hệ thống hiển thị kết quả thêm khóa học.
Hình 3 5: Quy trình nghiệp vụ thêm khóa học mới.
TIEU LUAN MOI download : skknchat@gmail.com
- Admin chọn khóa học mong muốn.
- Hệ thống hiển thị danh mục các bài học của khóa học.
- Admin chọn thêm bài học mới.
- Hệ thống hiển thị form thêm bài học mới.
- Admin nhập thông tin cho bài học mới.
- Hệ thống hiển thị kết quả thêm bài học.
Hình 3 6: Quy trình nghiệp vụ thêm bài học mới
TIEU LUAN MOI download : skknchat@gmail.com
- Học viên chọn bài test.
- Học viên làm bài test.
- Hệ thống chấm điểm học viên.
- Hệ thống thông báo kết quả test.
Hình 3 7: Quy trình nghiệp vụ làm bài test.
TIEU LUAN MOI download : skknchat@gmail.com
- Admin chọn thêm bài test.
- Hệ thống hiển thị form thêm bài test.
- Admin nhập nội dung bài test và nhấn nút thêm bài test.
- Hệ thống phản hồi kết quả thêm bài test.
Hình 3 8: Quy trình nghiệp vụ thêm bài test mới.
TIEU LUAN MOI download : skknchat@gmail.com
3.3.3 Mô hình hóa các lớp nghiệp vụ
Xác định các lớp nghiệp vụ
Hệ thống bao gồm các lớp nghiệp vụ sau:
- Lớp User biểu diễn các đối tượng người dùng trong hệ thống Người dùng trong hệ thống có thể là học viên, giáo viên hoặc admin.
Các thuộc tính của lớp User bao gồm những thông tin quan trọng mà hệ thống cần để quản lý người dùng hiệu quả Dưới đây là bảng trình bày các thuộc tính của User mà hệ thống cần quan tâm.
Bảng 3 1: Mô hình hóa lớp User.
Tên thuộc tính Mô tả
User name Tên đăng nhập của người dùng
Password Mật khẩu của người dùng sẽ được sử dụng để hệ thống xác nhận khi người dùng đăng nhập vào hệ thống
Hoten Họ và tên của người dùng
Diachi Địa chỉ của người dùng
Email Địa chỉ email của người dùng, khi có các thông báo, tin tức mới hệ thống sẽ gửi đến người dùng thông qua địa chỉ email này
- Lớp khóa học mô tả đối tượng các khóa học của hệ thống.
- Các thuộc tính của lớp khóa học được thể hiện ở bảng dưới đây:
Bảng 3 2: Mô hình hóa lớp khóa học.
Tên thuộc tính Mô tả
Mota Mô tả, giới thiệu về khóa học
TIEU LUAN MOI download : skknchat@gmail.com
- Lớp bài học mô tả các đối tượng bài học.
Bảng 3 3: Mô hình hóa lớp bài học.
Tên thuộc tính Mô tả
Lythuyet Phần lý thuyết của bài học
- Lớp bài test thể hiện các bài test
- Các thuộc tính của bài test được thể hiện ở bảng dưới đây:
Bảng 3 4: Mô hình hóa lớp bài test.
Tên thuộc tính Mô tả
Makh Mã khóa học chứa bài test
Noidung Nội dung bài test
DapAn Đáp án cho các câu hỏi của bài test
Lưu trữ dữ liệu trong MySql
3.4.1 Các thuộc tính dữ liệu bảng khoahoc
Bảng 3 5: Các thuộc tính dữ liệu bảng khóa học.
STT Tên trường Kiểu dữ liệu Chức năng
TIEU LUAN MOI download : skknchat@gmail.com
3.4.2 Các thuộc tính dữ liệu bảng đào tạo
Bảng 3 6: Các thuộc tính dữ liệu bảng đào tạo.
STT Tên trường Kiểu dữ liệu Chức năng
3.4.3 Các thuộc tính dữ liệu bảng bài test
Bảng 3 7: Các thuộc tính dữ liệu bảng bài test.
STT Tên trường Kiểu dữ liệu Chức năng
1 id_test INT PRIMARY KEY
3.4.4 Các thuộc tính dữ liệu bảng danh sách câu hỏi
Bảng 3 8: Các thuộc tính dữ liệu bảng danh sách câu hỏi.
STT Tên trường Kiểu dữ liệu Chức năng
1 id_cauhoi INT PRIMARY KEY
8 id_baitest INT FOREIGN KEY
TIEU LUAN MOI download : skknchat@gmail.com
3.4.5 Các thuộc tính dữ liệu bảng khóa học online
Bảng 3 9: Các thuộc tính dữ liệu bảng khóa học online.
STT Tên trường Kiểu dữ liệu Chức năng
1 makh_onl INT PRIMARY KEY
3.4.6 Các thuộc tính dữ liệu bảng bài học online
Bảng 3 10: Các thuộc tính dữ liệu bảng bài học online.
STT Tên trường Kiểu dữ liệu Chức năng
5 makh_onl VARCHAR(255) FOREIGN KEY
TIEU LUAN MOI download : skknchat@gmail.com
3.4.7 Các thuộc tính dữ liệu bảng học viên
Bảng 3 11: Các thuộc tính dữ liệu bảng học viên.
STT Tên trường Kiểu dữ liệu Chức năng
3.4.8 Các thuộc tính dữ liệu bảng bình luận
Bảng 3 12: Các thuộc tính dữ liệu bảng bình luận.
STT Tên trường Kiểu dữ liệu Chức năng
1 com_id INT PRIMARY KEY
3.4.2 Các thuộc tính dữ liệu bảng thanh toán
Bảng 3 13: Các thuộc tính dữ liệu bảng thanh toán.
STT Tên trường Kiểu dữ liệu Chức năng
2 user_id INT PRIMARY KEY
3 makh_onl INT PRIMARY KEY
TIEU LUAN MOI download : skknchat@gmail.com
3.4.10 Các thuộc tính dữ liệu bảng đăng ký
Bảng 3 14: Các thuộc tính dữ liệu bảng đăng ký.
STT Tên trường Kiểu dữ liệu Chức năng
3.4.11 Các thuộc tính dữ liệu bảng tài khoản học viên
Bảng 3 15: Các thuộc tính dữ liệu bảng tài khoản học viên.
STT Tên trường Kiểu dữ liệu Chức năng
3.4.12 Các thuộc tính dữ liệu bảng tài khoản quản lý
Bảng 3 16: Các thuộc tính dữ liệu bảng tài khoản quản lý
STT Tên trường Kiểu dữ liệu Chức năng
3.4.13 Các thuộc tính dữ liệu bảng chi tiết quyền
Bảng 3 17: Các thuộc tính dữ liệu bảng chi tiết quyền
STT Tên trường Kiểu dữ liệu Chức năng
TIEU LUAN MOI download : skknchat@gmail.com
3.4.14 Các thuộc tính dữ liệu bảng quyền
Bảng 3 18: Các thuộc tính dữ liệu bảng quyền
STT Tên trường Kiểu dữ liệu Chức năng
Database Diagram
Hình 3 9: Sơ đồ database diagram.
TIEU LUAN MOI download : skknchat@gmail.com