CHƯƠNG 1: CÁC CÔNG NGHỆ ĐƯỢC SỬ DỤNG TRONG BÀI TOÁN 1. World Wide Web và HTML 1. World Wide Web a. Khái niệm World Wide Web (WWW) hay còn được gọi là web, là một tập hợp các website hoặc trang web được lưu trữ trong những web server và được kết nối với các máy tính cục bộ thông qua Internet.
Các trang web này chứa những trang văn bản, hình ảnh, âm thanh, video… Người dùng có thể truy cập nội dung của các trang này từ bất kỳ nơi nào trên thế giới qua Internet bằng các thiết bị như máy tính, laptop, điện thoại di động … Thông qua các website mà người dung có thể tiếp cận thông tin một cách nhanh chóng và giảm thiểu chi phí. Cách tạo trang web Có nhiều cách để tạo ra một trang web, có thể tạo trang web trên bất kỳ chương trình xử lý văn bản nào: - Tạo web bằng cách viết mã nguồn bởi một trình soạn thảo văn bản như: Notepad, WordPad… là những chương trình soạn thảo sẵn có trong Window. - Thiết kế bằng cách dùng web Wizard và công cụ Word 97, Word 2000 - Thiết kế web bằng các phần mềm chuyên nghiệp: WordPress, Wix, Joomla, SiteSpinner… c. Trình duyệt Web (Web Client hay Web Brower) Trình duyệt web là một công cụ giúp người dùng truy cập các trang web trên Internet.
Nhiệm vụ của Web Brower là nhận các yêu cầu của người dung, gửi các yêu cầu đó qua mạng tới các Web Server và nhận các dữ liệu cần thiết từ Server để hiển thị kết quả cho người dung. Để sử dụng dịch vụ WWW, 13 Client cần một chương trình duyệt web, kết nối vào Internet thông qua một ISP – nhà cung cấp Internet. Các trình duyệt thông dụng hiện nay là Safari, Microsoft Edge, Cốc Cốc, Brave… d. Webserver Webserver là máy chủ cài đặt các chương trình phục vụ các ứng dụng web.
Webserver có khả năng tiếp cận các yêu cầu từ các trình duyệt web và gửi phản hồi đến client thông qua giao thức HTTP hoặc các giao thức khác. Có nhiều Webserver khác nhau như: Apache, Nginx, Microsoft-IIS, LiteSpeed. Webserver cũng là nơi lưu trữ cơ sở dữ liệu, là phần mềm đảm nhiện vai trò server cung cấp dịch vụ web Bất cứ khi nào bạn xem một trang web trên internet, có nghĩa là bạn đang yêu cầu trang đó từ một webserver Hình 1. Mô hình hoạt động của webserver [4] Khi bạn nhập URL trên trình duyệt của mình (ví dụ: ctt.vn) nó sẽ tiến hành các bước sau để gửi lại phản hồi cho bạn: - Tiến trình phân giải tên miền thành địa chỉ IP - Webserver gửi lại client trang được yêu cầu 14 - Trình duyệt hiển thị trang web 1.
Khái niệm Trang web là sự kết hợp giữa văn bản và các thẻ HTML HTML (viết tắt của từ Hyper Text Markup Language, hay còn gọi 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ế để tạo nên các trang web trên World Wide Web và được hội đồng World Wide Web Consortium (W3C) quy định. Một tập tin HTML chẳng qua là một tập tin bình thường có đuôi là. HTML giúp định dạng văn bản trong trang web nhờ các thẻ. Hơn nữa các thẻ HTML có thể liên kết t hoặc một cụm t với các tài liệu khác trên Internet.
Đa số các thẻ HTML có dạng thẻ đóng mở. Thẻ đóng dung chung 1 lệnh giống như thẻ mở, nhưng thiếu dấu (/). Cấu trúc chung của một trang HTML Hình 2. Cấu trúc chung của một trang HTML - Thẻ <head> …</head>: tạo đầu mục trang - Thẻ <title> … </title>: tạo tiêu đề trang trên thanh tiêu đề, đây là thẻ bắt buộc.
- Thẻ <body> … </body>: tất cả các thông tin khai báo trong thẻ <body> đều có thể xuất hiện trên trang web. Những thông tin này người dùng có thể nhìn thấy trên trang web. - Thẻ <p>…</p>: tạo một đoạn mới 15 1. Ngôn ngữ JavaScript, MongoDB và Express js 1.
Ngôn ngữ JavaScript a. Khái niệm JavaScript là ngôn ngữ lập trình được nhà phát triển sử dụng để tạo trang web tương tác. Từ làm mới bảng tin trên mạng xã hội đến hiển thị hình ảnh động và bản đồ tương tác, các chức năng của JavaScript có thể cải thiện trải nghiệm người dùng của trang web. Là ngôn ngữ kịch bản phía máy khách, JavaScript là một trong những công nghệ cốt lõi của World Wide Web.
Lý do nên thiết kế Website bằng JavaScript. JavaScript sử dụng trong thiết kế website có thể giúp tiết kiệm băng thông máy chủ vô cùng tốt bởi chúng được chạy trực tiếp trên máy của người dùng. JavaScript có thể chạy được trên hầu hết các trình duyệt phổ biến hiện nay như Cốc Cốc, Chrome, Firefox, Microsoft, Safari,… Không những thế, hầu hết các trình duyệt Web đều có tích hợp sẵn trình thông dịch ngôn ngữ JavaScript, đảm bảo người dùng có thể sử dụng ngay mà không mất công tải về trình duyệt. Javascript sử hữu cấu trúc dễ đọc với các nguyên tắc rõ ràng nên việc xác định và gỡ lỗi, xử lý các vấn đề cũng đơn giản hơn rất nhiều.
Ưu điểm nổi bật của JavaScript khiến nhiều người yêu thích là khả năng tạo ra các hiệu ứng linh động, hấp dẫn cùng các tính năng mở rộng, có thể điều chỉnh nhiều thứ đáp ứng nhu cầu thiết kế website. Cách thức hoạt động của JavaScript Thông thường, các lập trình viên thường tạo tệp tin rồi chèn thẳng chúng vào file HTML hoặc gọi chúng từ HMTL của website. Khi truy cập, trình duyệt sẽ tự động tìm kiếm tập tin JS được gọi thông qua đoạn mã nhúng thẳng trong HTML của website. Các đoạn mã sẽ được thực thi ngay trên trình duyệt của người dùng.
Khái niệm MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở. MongoDB là một database hướng tài liệu (document), một dạng NoSQL database, các dữ liệu được lưu trữ trong document kiểu JSON thay vì dạng bảng như CSDL quan hệ nên truy vấn sẽ rất nhanh. MongoDB lần đầu ra đời bởi MongoDB Inc. Nó là một phần của sản phẩm PaaS (Platform as a Service) tương tự như Windows Azure và Google App Engine.
Sau đó được chuyển thành nguồn mở từ năm 2009. Với CSDL quan hệ chúng ta có khái niệm bảng, các cơ sở dữ liệu quan hệ như (MySQL hay SQL Server…) sử dụng các bảng để lưu dữ liệu thì với MongoDB chúng ta sẽ dùng khái niệm collection thay vì bảng. Ưu điểm của MongoDB - Do MongoDB sử dụng lưu trữ dữ liệu dưới dạng Document JSON nên mỗi một collection sẽ có các kích cỡ và các document khác nhau, linh hoạt trong việc lưu trữ dữ liệu. - Dữ liệu trong MongoDB không có sự ràng buộc lẫn nhau, không mất thời gian kiểm tra xem có thỏa mãn các ràng buộc dữ liệu khi thêm, xóa, sửa dữ liệu.
- Trường dữ liệu “_id” luôn được tự động đánh index để tốc độ truy vấn thông tin đạt hiệu suất cao nhất. - Hiệu năng cao c. Một số câu lệnh cơ bản trên MongoDB CSDL MongoDB Tạo CSDL Use test; Tạo bảng db.createCollection(‘student’) Tạo bảng ghi db.insert({name: ‘thanh’, gender: ‘male’}); 17 Cập nhật db.update({_id: 1}, {$set: {name: ‘anh’}}); Xóa bản ghi db.remove({_id: 1}); Tìm kiếm all db.find({}); Tìm kiếm db. Câu lệnh cơ bản trên MongoDB 1.
Khái niệm Expressjs được thành lập bởi TJ Holowaychuk và được phát hành đầu tiên năm 2010 với phiên bản 0.12 theo kho lưu trữ GitHub. Tháng 1 năm 2016, Expressjs được Nodejs Fonundation quản lý. Expressjs là một framework được xây dựng trên nền tảng của Nodejs. Nó cung cấp các tính năng mạnh mẽ để phát triển web hoặc mobile.
Expressjs hỗ trợ các method HTTP và middleware tạo ra API vô cùng mạnh mẽ và dễ sử dụng. Cấu trúc của Expressjs Hình 3. Cấu trúc của Expressjs [6] - Root - App.js chứa những thông tin về cấu hình, khai báo, định nghĩa,… - Package.json có thể chứa các package cho ứng dụng chạy. 18 - Folder routes chứa những route có trong các ứng dụng.
- Folder view chứa các view/template cho ứng dụng. - Folder public chứa các file css, js, image,…cho các ứng dụng. Một số chức năng chính của Expressjs - Hỗ trợ middleware để trả về các HTTP request. - Định nghĩa route dựa trên các action của HTTP.
- Cho phép trả về các trang HTML sử dụng các template engine 19 CHƯƠNG 2: KHẢO SÁT VÀ PHÂN TÍCH THIẾT KẾ HỆ THỐNG 2. Khảo sát và giới thiệu chung về hệ thống. Hiện trạng hiện nay của nhiều công ty nhỏ Hiện nay, các hệ thống quản lý đã trở thành một phần không thể thiếu đối với các công ty, tổ chức hay cá nhân. Cùng với đó các doanh nghiệp đã nhận thức về tầm quan trọng của việc quản lý nhân viên làm sao cho hiệu quả để tối ưu hóa nguồn nhân lực, nâng cao hiệu suất làm việc và tạo điều kiện thuận lợi cho sự phát triển mà doanh nghiệp hướng tới.
Sau đây là một số phân tích về hiện trạng quản lý nhân viên của một số doanh nghiệp nhỏ: Quản lý giấy tờ: • Nhiều doanh nghiệp vẫn còn đang sử dụng các phương pháp quản lý thủ công trên giấy tờ, làm tốn thời gian và độ chính không cao cùng với đó tốn nhiều nguồn nhân lực vào việc quản lý nhân viên. • Các thông tin nhân viên, bảng lương hay chấm công hay nhiều hoạt động khác thường được ghi chép bằng tay hoặc sử dụng Excel, có thể dẫn đến sai xót và khó khăn trong việc theo dõi, quản lý thông tin khi cần. Thiếu tích hợp và liên kết dữ liệu: • Một số doanh nghiệp sử dựng nhiều hệ thống không liên kết với nhau để quản lý, ví dụ như sử dụng hệ thống chấm công và hệ thống tính lương riêng lẻ. • Thông tin của nhân viên không được đồng bộ trên nhiều hệ thống.
Làm ảnh hưởng tới quá trình quản lý nhân viên và gây ra khó khăn trong việc truy xuất thông tin một cách đầy đủ và chính xác. Bảo mật thông tin • Bảo mật thông tin là một trong những thách thức lớn đối với hệ thống quản lý nhân viên hiện nay 20 • Thông tin nhân viên là cực kỳ quan trọng nhưng vẫn chưa được bảo mật một cách đúng mức 2. Mục tiêu của hệ thống Xây dựng hệ thống quản lý nhân viên cần: - Giúp cho việc quản lý trở nên dễ dàng thực hiện hơn, tiện lợi hơn trong việc quản lý các thông tin về phòng ban, nhân viên, công lương một cách nhanh chóng, chính xác và theo dõi tiến độ công việc, báo cáo thống kê để điều chỉnh. - Nhân viên có thể đăng nhập vào hệ thống để chấm công, nhận công việc và báo cáo tiến độ công việc của mình.
Lợi ích khi sử dụng hệ thống a.