Chương 1 CƠ SỞ LÝ THUYẾT 1. Hệ quản trị cơ sở dữ liệu MYSQL 1. Khái niệm MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở hoạt động theo mô hình Client – Server được sắp xếp rõ ràng, phân lớp ngăn nắp. Nó cho phép người dùng truy cập dữ liệu một cách thuận lợi và nhanh chóng nhất.
Vì sự hỗ trợ đa số các ngôn ngữ lập trình nên MySQL chính 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.1: Hệ quản trị cơ sở dữ liệu MySQL 1. Đặc điểm • MySQL là phần mềm quản lý dữ liệu thông qua cơ sở dữ liệu và mỗi một cơ sở dữ liệu đều có bảng quan hệ chứa dữ liệu riêng biệt. • MySQL có cơ chế phân quyền người sử dụng riêng, mỗi người dùng có thể được quản lý một hoặc nhiều CSDL khác nhau, đặc biệt có thể xử lý được rất nhiều dữ liệu và hơn thế nữa nó có thể được mở rộng nếu cần thiết. • MySQL tương thích tốt với môi trường PHP, giúp hệ thống hoạt động mạnh mẽ.
SVTH: Võ Văn Thành 3 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng • MySQL hỗ trợ rất nhiều chức năng SQL được mong chờ từ một hệ quản trị cơ sở dữ liệu quan hệ cả trực tiếp lẫn gián tiếp rất thích hợp cho các ứng dụng có truy cập CSDL trên Internet khi sở hữu nhiều tính năng bảo mật. Ngôn ngữ lập trình PHP 1. Khái niệm • Ngôn ngữ lập trình PHP (viết tắt của từ Hypertext Preprocessor) là ngôn ngữ kịch bản với mã nguồn mở, chạy bên server và được sử dụng để phát triển các ứng dụng phần mềm thông qua lập trình web. • PHP chạy trên môi trường Webserver và lưu trữ dữ liệu thông qua hệ quản trị cơ sở dữ liệu nên PHP thường đi kèm với Apache, MySQL và hệ điều hành Linux.
• Do được tối ưu hóa cho các ứng dụng web, tốc độ nhanh, nhỏ gọn, cú pháp dễ học và thời gian xây dựng sản phẩm tương đối ngắn so với các ngôn ngữ khác nên PHP đã nhanh chóng trở thành ngôn ngữ lập trình phổ biến nhất thế giới.2: Ngôn ngữ lập trình PHP 1. Đặc điểm • Có thể kết nối cơ sở dữ liệu hiệu quả và giúp quá trình tải ứng dụng nhanh hơn. • Có khả năng tích hợp linh hoạt với các ngôn ngữ lập trình khác. • Sở hữu tốc độ xử lý mọi hoạt động trong công việc khá nhanh chóng, mang đến hiệu quả tối ưu cao.
• Ngôn ngữ quen thuộc hơn đối với các nhà phát triển và phù hợp cho người mới bắt đầu. SVTH: Võ Văn Thành 4 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng • Do là mã nguồn mở và được sự hỗ trợ từ cộng đồng lập trình nền PHP khá an toàn khi sử sụng. Khi kết hợp với kỹ thuật bảo mật ở các hạ tầng khác nhau thì ngôn ngữ lập trình sẽ trở nên chắc chắn và đảm bảo hoạt động website. Khái niệm • Laravel là một PHP Framework mã nguồn mở miễn phí được phát triển bởi Taylor Otwell với phiên bản đầu tiên được ra mắt vào tháng 06 năm 2011.
• Laravel ra đời nhằm mục đích hỗ trợ phát triển các ứng dụng web, dựa trên mô hình MVC (Model – View - Controller). • Một số tính năng chính của Laravel như là sử dụng hệ thống đóng gói module, quản lý package (Composer), hỗ trợ nhiều hệ quản trị CSDL quan hệ (MySQL, MariaDB, PostgeSQL,.), các tiện ích hỗ trợ triển khai và bảo trì ứng dụng.3: Laravel framework phiên bản 8 1. Mô hình MVC • MVC là chữ viết tắt của View – Model – Controller, đây là mô hình giúp cho việc phát triển phần mềm được trở nên gọn gàng và dễ dàng hơn. Mô hình này được dùng khá rộng rãi và đặc biệt là trong các ngôn ngữ lập trình web.
Trong PHP hiện tại có khá nhiều Framework, trong đó Laravel Framework được xây dựng dựa trên mô hình MVC. • View: là thành phần chịu trách nhiệm hiển thị dữ liệu đã được truy xuất từ model theo một format nào đó theo ý đồ của lập trình viên và là nơi bạn viết code HTML, CSS, Javascript và hiện dữ liệu. SVTH: Võ Văn Thành 5 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng • Model: là thành phần chịu trách nhiệm quản lý dữ liệu, nó lưu trữ và truy xuất thông tin từ cơ sở dữ liệu, từ hệ thống file, từ các website khác (API, Web service)… đồng thời chứa các logic được thực thi bởi ứng dụng. • Controller: là thành phần làm nhiệm vụ xử lý nghiệp vụ, nó nhận request từ client và lập trình viên gọi các hàm trong model có dữ liệu và đưa dữ liệu đó cho các View để hiện dữ liệu.4: Mô hình MVC 1.
Bootstrap và responsive • Boostrap là một framework bao gồm các HTML, CSS và Javascript dùng để phát triển website chuẩn responsive. • Boostrap là một bộ sưu tập miễn phí của các mã nguồn mở và công cụ dùng để tạo ra một mẫu website hoàn chỉnh. • Boostrap cho phép quá trình thiết kế website diễn ra nhanh chóng và dễ dàng hơn dựa trên những thành cơ bản sẵn có forms, button, table, grid, navigation, … SVTH: Võ Văn Thành 6 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng Hình 1.5: Boostrap Framework SVTH: Võ Văn Thành 7 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng Chương 2 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Đặc tả yêu cầu phần mềm (Software Requirements) 2.
Khách vãng lai 2. Tìm kiếm ➔ hỗ trợ tính năng “Lọc” nếu trên giao diện có tính năng lọc (sẽ trở thành quan hệ <<extend>>). Xem bản tin tuyển dụng. Người tìm việc Kế thừa các use-case “Đăng ký”, “Xem bản tin tuyển dụng”, “Tìm kiếm”, “Lọc”, từ Khách vãng lai.
Cập nhập thông tin tài khoản 2. Tạo hồ sơ ứng tuyển. Cập nhập hồ sơ ứng tuyển. ➔ khi cập nhập hồ sơ ứng tuyển bắt buộc phải tạo hồ sơ (sẽ trở thành quan hệ <<include>>).
Nộp hồ sơ ứng tuyển. ➔ khi nộp hồ sơ ứng tuyển bắt buộc phải xem tin tuyển dụng (sẽ trở thành quan hệ <<include>>). Xem lịch sử ứng tuyển. ➔ khi xem lịch sử ứng tuyển bắt buộc phải ứng tuyển trước (sẽ trở thành quan hệ <<include>>).
Theo dõi bản tin tuyển dụng. Nhà tuyển dụng Kế thừa các use-case “Đăng ký”, “Xem bản tin tuyển dụng”, “Tìm kiếm”, “Lọc”, từ Khách vãng lai. SVTH: Võ Văn Thành 8 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng 2. Cập nhật thông tin tài khoản nhà tuyển dụng.
Đăng tin tuyển dụng. Cập nhập tin tuyển dụng ➔ khi cập nhập tin tuyển dụng phải tạo tin tuyển dụng (sẽ trở thành quan hệ <<include>>). Xem danh sách ứng tuyển. Duyệt hồ sơ ứng tuyển ➔ khi duyệt hồ sơ ứng tuyển phải xem danh sách ứng tuyển (sẽ trở thành quan hệ <<include>>).
Export file excel danh sách các ứng viên ➔ khi export file excel danh sách các ứng viên bắt buộc phải xem danh sách ứng tuyển (sẽ trở thành quan hệ <<include>>). SVTH: Võ Văn Thành 9 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng 2. Quản trị viên 2. Quản lý tài khoản người dùng 2.
Duyệt tài khoản nhà tuyển dụng 2. Sơ đồ Use-case Hình 2.1: Sơ đồ use-case SVTH: Võ Văn Thành 10 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng 2. Kịch bản cho Use-case 2. Actor Khách vãng lai 2.
Use-case Tìm kiếm Bảng 2.1: Kịch bản cho use-case Tìm kiếm Tên use-case Tìm kiếm Mô tả Khách vãng lai muốn tìm kiếm thông tin việc làm Actor Khách vãng lai Đầu vào Khách vãng lai nhập thông tin về từ khóa muốn tìm kiếm Đầu ra Hệ thống sẽ hiển thị thông tin việc làm Các bước thực 1. Vào website hiện 2. Nhập thông tin về từ khóa muốn tìm kiếm 3. Hệ thống hiển thị thông tin cần tìm kiếm Các bước phát Không có sinh Các trường 4.
Thông báo “Không tìm thấy kết quả” => Quay lại bước hợp ngoại lệ 2. Use-case Xem bản tin tuyển dụng Bảng 2.2: Kịch bản cho use-case Xem bản tin tuyển dụng Tên use-case Xem bản tin tuyển dụng Mô tả Khách vãng lai muốn xem bản tin tuyển dụng Actor Khách vãng lai Đầu vào Khách hàng vãng lai chọn bản tin tuyển dụng cần xem Đầu ra Hệ thống sẽ hiển thị thông tin chi tiết của tin tuyển dụng Các bước thực 1. Vào website hiện 2. Bấm vào tiêu đề của bản tin cần xem 3.
Hệ thống hiển thị thông tin chi tiết bản tin tuyển dụng Các bước phát Không có sinh Các trường Không có hợp ngoại lệ SVTH: Võ Văn Thành 11 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng 2. Chọn Use-case Đăng ký làm người tìm việc Bảng 2.3: Kịch bản cho use-case Đăng ký làm người tìm việc Tên use-case Đăng ký làm người tìm việc Mô tả Khách vãng lai muốn đăng ký tài khoản làm người tìm việc Actor Khách vãng lai Đầu vào Khách vãng lai truy cập vào mục Đăng ký Đầu ra Đăng ký tài khoản thành công. Vào website hiện 2. Chọn đăng nhập chuyển tới trang đăng nhập 3.
Chọn mục đăng ký 4. Hệ thống yêu cầu người dùng nhập các thông tin cần thiết 5. Người dùng nhập đầy đủ thông tin 6. Hệ thống thông báo đã đăng ký thành công Các bước phát Không có sinh Các trường 6.
Hệ thống thông thông báo lỗi: hợp ngoại lệ 6. “Địa chỉ email đã tồn tại” hoặc “Vui lòng nhập đầy đủ thông tin” => Quay về bước 5 2. Use-case Đăng ký làm nhà tuyển dụng Bảng 2.4: Kịch bản cho use-case Đăng ký làm nhà tuyển dụng Tên use-case Đăng ký làm nhà tuyển dụng Mô tả Khách vãng lai muốn đăng ký tài khoản làm nhà tuyển dụng Actor Khách vãng lai Đầu vào Khách vãng lai truy cập vào mục Nhà tuyển dụng Chọn đăng ký Đầu ra Đăng ký tài khoản thành công. Vào website hiện 2.
Chọn “Nhà tuyển dụng” chuyển tới trang nhà tuyển dụng 3. Chọn mục đăng ký 4. Hệ thống yêu cầu người dùng nhập các thông tin cần thiết 5. Người dùng nhập đầy đủ thông tin 6.
Hệ thống thông báo đã đăng ký thành công SVTH: Võ Văn Thành 12 Xây dựng website tìm kiếm việc làm công nghệ thông tin tại thành phố Đà Nẵng Các bước phát Không có sinh Các trường 6. Hệ thống thông thông báo lỗi: hợp ngoại lệ 6.