MỞ ĐẦU Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển như vũ bão trên mọi lĩnh vực hoạt động ở khắp nơi trên thế giới, điều xảy ra trong vòng vài năm vừa qua ở Việt Nam là sự đầu tư ồ ạt vào công nghệ. Tin học đã và đang là một trong những vấn đề không thể thiếu đối với bất kỳ một tổ chức, công ty nào. Đặc biệt tin học ngày càng có vai trò quan trọng trong vấn đề quản lý tại các cơ quan, tổ chức nhất là trong lĩnh vực thu thập thông tin. Đối với Việt Nam, tuy công nghệ thông tin mới chỉ phát triển trong vòng vài năm trở lại đây và đang đi từng bước phát triển nhưng những bước phát triển đó đã cho thấy Việt Nam là nước có tiềm năng về lĩnh vực công nghệ thông tin, trong đó phát triển hệ thống thông tin đang là thế mạnh của đất nước.
Với sự phát triển mạnh mẽ như vậy, nhu cầu truy cập và cập nhật dữ liệu từ xa cũng tăng lên trong việc quản lý dữ liệu. Điều này đặt ra một thách thức lớn cho các nhà phát triển để đảm bảo dữ liệu trên các máy được đồng bộ hóa một cách an toàn và hiệu quả. Từ nhu cầu thực tiễn, chúng em đã lựa chọn và xây dựng một phần mềm đồng bộ CSDL giữa các máy trong mạng để đáp ứng nhu cầu quản lý dữ liệu một cách tối ưu, thống nhất, nhanh chóng, chính xác và đạt hiệu quả cao. Nhóm chúng em xin gửi lời cảm ơn đến thầy Nguyễn Tấn Khôi – Giảng viên khoa Công nghệ thông tin, trường Đại học Bách Khoa – Đại học Đà Nẵng trong quá trình thực hiện đồ án “Đồng bộ CSDL giữa các máy trong mạng” đã luôn giúp đỡ, chỉ dạy cho chúng em rất nhiệt tình.
Tuy nhiên, do còn hạn chế về mặt kiến thức và tư duy, nên trong đồ án không tránh khỏi những sơ sót, nhóm chúng em rất mong nhận được ý kiến đóng góp của các giảng viên cũng như các bạn đề có thể hoàn thiện phần mềm một cách chỉnh chu nhất. Quá trình triển khai Ngày Nội dung công việc Sản phẩm 05/04/2023 Chọn đề tài và thiết kế yêu cầu phần Trello, Tên đề tài mềm 07/04/2023 Thiết kế và triển khai cơ sở dữ liệu Database và file Query 10/04/2023 Thiết kế giao diện sơ bộ Form Home 12/04/2023 Khởi tạo và triển khai phân quyền Phân quyền và Repository trên Github trên Github 14/04/2023 Cài đặt giao diện đăng nhập và lấy Giao diện đăng nhập và lại mật khẩu lấy lại mật khẩu 17/04/2023 Tạo các class đối tượng cần quản lý Thư mục DTO 21/04/2023 Tạo các chức năng trong giao diện - fMainAdmin, - fStaff 22/04/2023 Phân quyền Admin và Staff Giao diện Admin và Staff 28/04/2023 Tạo chức năng quản lí nhân viên fStaffManager.cs 28/04/2023 Cài đặt chức năng quản lí thông tin fOrder.cs order 04/05/2023 Cài đặt chức năng quản lí thông tin fAccountManager.cs tài khoản cá nhân 11/05/2023 Cài đặt chức năng của hóa đơn như hiển thị thông tin hóa đơn, thanh toán 14/05/2023 Cài đặt chức năng của bàn fTableManager.cs 15/05/2023 Cài đặt chức năng quản lí ca của fCa.cs, nhân viên fViewShift.cs 18/05/2023 Cài đặt chức năng quản lí thông tin fBillManager.cs hóa đơn bán ra 18/05/2023 Cài đặt chức năng quản lí danh sách fDrinkMenu.cs, đồ uống fDetailDrink.cs 24/05/2023 Kiểm thử phần mềm Sản phẩm hoàn thiện 26/05/2023 Chỉnh sửa những phần chưa hoàn thiện 28/05/2023 Viết báo cáo Báo cáo Bảng 1. Quá trình triển khai 1. Danh sách phân công nhiệm vụ Họ tên Nhiệm vụ Lê Thị Huệ - Thiết kế cơ sở dữ liệu - Thiết kế giao diện phần mềm - Chức năng Quản lý bàn - Chức năng Quản lý đồ uống - Chức năng Quản lý hóa đơn - Chức năng Quản lí order - Chức năng Quản lí ca làm Nguyễn Thị Thanh - Thiết kế cơ sở dữ liệu Thảo - Chức năng Quản lý nhân viên - Chức năng Quản lí thông tin tài khoản cá nhân - Chức năng đổi mật khẩu, reset mật khẩu - Viết báo cáo 1.
Quản lý dự án - Công cụ làm việc của các thành viên trong nhóm: laptop cá nhân. - Các phần mềm công cụ: Apache NetBeans IDE 19 Microsoft SQL server 18 1. Quá trình triển khai dự án - Khởi tạo dự án: Xác định yêu cầu của dự án, mức độ ưu tiên của dự án, phân tích các yêu cầu, phân công trách nhiệm. - Lập kế hoạch dự án: Thiết lập phạm vi công viêc của dự án, điều chỉnh lại mục tiêu và xác định đường đi tới mục tiêu đó.
- Triển khai: Hoàn thành các công việc được xác định trong phần lập kế hoạch để đảm bảo các yêu cầu của dự án. - Giám sát và kiểm soát: Theo dõi, rà soát và điều chỉnh lại tiến độ và khả năng thực hiện của dự án. Theo dõi các rủi ro, thay đổi, phát sinh trong quá trình thực hiện và có những đề xuất điều chỉnh kịp thời. - Kết thúc: Kết thúc tất cả các hoạt động của dự án để chính thức đóng lại dự án.
Tổng quan về mô hình Client-Server a.Khái niệm - Client server là mô hình mạng máy tính gồm có 2 thành phần chính đó là máy khách và máy chủ. Server chính là nơi giúp lưu trữ tài nguyên cũng như cài đặt các chương trình dịch vụ theo đúng như yêu cầu của client. Ngược lại, Client bao gồm máy tính cũng như các loại thiết bị điện tử nói chung sẽ tiến hành gửi yêu cầu đến server. - Mô hình mạng Client Server sẽ cho phép mạng tập trung các ứng dụng có cùng chức năng tại một hoặc nhiều dịch vụ file chuyên dụng.
Chúng sẽ trở thành trung tâm của hệ thống. Hệ điều hành của mô hình Client server sẽ cho phép người dùng chia sẻ đồng thời cùng một loại tài nguyên mà không giới hạn vị trí địa lý b. Nguyên tắc hoạt động - Client: Client chính là khách hàng sử dụng dịch vụ. Nó có thể là một tổ chức hay cá nhân cụ thể nào đó.
Trong Client Server thì Client chính là một máy tính (Host). Chúng có khả năng nhận thông tin từ nhà cung cấp và sử dụng dịch vụ cụ thể (Server). - Server: Server là từ dùng để nói về một máy chủ hoặc một phương tiện được sử dụng để phục vụ các dịch vụ nào đó. Khi khái niệm này được sử dụng trong lĩnh vực công nghệ thì Server là một máy tính từ xa.
Chúng có chức năng là cung cấp các thông tin (dữ liệu) cho một dịch vụ cụ thể nào đó hoặc quyền truy cập đối với dịch vụ. Ưu điểm Giúp làm việc trên bất kì một máy tính nào có hỗ trợ giao thức truyền thông. Giao thức chuẩn này cũng giúp các nhà sản xuất tích hợp lên nhiều sản phẩm khác nhau mà không gặp phải khó khăn gì. Có thể có nhiều server cùng làm một dịch vụ, chúng có thể nằm trên nhiều máy tính hoặc một máy tính.
Chỉ mang đặc điểm của phần mềm mà không hề liên quan đến phần cứng, ngoài yêu cầu duy nhất là server phải có cấu hình cao hơn các client. Hỗ trợ người dùng nhiều dịch vụ đa dạng và sự tiện dụng bởi khả năng truy cập từ xa. Cung cấp một nền tảng lý tưởng, cho phép cung cấp tích hợp các kỹ thuật hiện đại như mô hình thiết kế hướng đối tượng, hệ chuyên gia, hệ thông tin địa lý (GIS). Nhược điểm Vấn đề bảo mật dữ liệu thông tin chưa được an toàn do trao đổi dữ liệu giữa 2 máy tính khác nhau ở 2 khu vực địa lý cách xa nhau.
Tổng quan về Socket a. Khái niệm - Socket là điểm cuối end-point trong liên kết truyền thông hai chiều (two-way communication) biểu diễn kết nối giữa Client – Server. Các lớp Socket được ràng buộc với một cổng port (thể hiện là một con số cụ thể) để các tầng TCP (TCP Layer) có thể định danh ứng dụng mà dữ liệu sẽ được gửi tới. Cơ chế hoạt động - Thông qua TCP/IP và UDP, socket sẽ tiến hành truyền và nhận dữ liệu Internet.
Từ đó tạo nên một cầu nối giữa client và server. Điều kiện để hoạt động này diễn ra là có đủ thông tin về thông số IP và giữ liệu cổng của 2 process muốn kết nối với nhau. - 2 ứng dụng muốn liên kết có thể nằm cùng trên 1 máy hoặc 2 máy khác nhau đều được. Tuy nhiên, nếu 2 process cùng nằm trên một máy, các số liệu bắt buộc phải khác nhau hoàn toàn.
Đây là điều kiện cần thiết để socket io có thể tiến hành hoạt động. Giao thức TCP/IP a.Khái niệm TCP/IP hay TCP TP là gì? TCP/IP là viết tắt của Transmission Control Protocol/ Internet Protocol, tức là giao thức điều khiển để truyền nhận liên mạng. Đây là một bộ giao thức có chức năng truyền và kết nối các thông tin giữa các thiết bị trong một mạng lưới internet. Cách hoạt động TCP/IP bao gồm hai phần chính: 1.
Transmission Control Protocol (TCP): Là một giao thức truyền tải đáng tin cậy được sử dụng để chia nhỏ và lắp ráp các gói dữ liệu trước khi chúng được gửi qua mạng. TCP đảm bảo rằng các gói dữ liệu được gửi đi sẽ đến đích một cách chính xác và đúng thứ tự. Nó xác định các kết nối, đồng bộ hóa truyền tải và quản lý lưu lượng dữ liệu. Internet Protocol (IP): Là một giao thức định tuyến và chuyển tiếp dữ liệu trong mạng.
IP định danh và địa chỉ hóa các thiết bị trong mạng, đồng thời quản lý việc định tuyến (routing) các gói dữ liệu qua mạng. Giao thức này đảm bảo gói dữ liệu được gửi đến đúng đích và định vị các thiết bị trong mạng. Trong quá trình truyền nhận thông tin, nếu giao thức TCP phát hiện ra thông tin bị lỗi, giao thức này sẽ yêu cầu hệ thống gửi thêm các gói tin khác CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG 1.
Tổng quan về đề tài 1. Thiết kế hệ thống Hệ thống sẽ gồm có 2 chương trình với 1 chương trình là Client và 1 chương trình là Server. Ở phần server sẽ cung cấp các chức năng: quản lý user, quản lý client kết nối, quản lý log nhật ký.Ở phần Client kết nối đến Server và Server sẽ gửi dữ liệu cho các client, thực hiện CRUD. Phân tích chức năng a.Trên Server - Tạo cổng kết nối và sẵn sàng đón nhận các kết nối từ Client.
- Xử lý yêu cầu đăng nhập từ Client. Nếu nickname chưa có trong danh sách các Client trong cơ sở dữ liệu thì không đăng nhập được. Nếu nickname có trong danh sách các Client trong cơ sở dữ liệu thì cho phép đăng nhập. - Trả về danh sách các client online cho client có yêu cầu.