GIỚI THIỆU VỀ HỆ THỐNG
Đặt vấn đề
Trong 150 năm qua, sự tiến bộ trong công nghệ truyền thông đã thay đổi cách chúng ta gửi và nhận thông tin Nếu như trước đây, việc gửi một bức thư từ London đến California mất từ 2 đến 3 tuần, thì ngày nay, email chỉ mất một phần nhỏ giây để chuyển tải thông điệp Sự cải thiện này đã thúc đẩy nền kinh tế toàn cầu, giúp thế giới hoạt động với tốc độ ánh sáng nhờ vào cáp quang Chúng ta có thể dễ dàng xem video trên YouTube, đọc bài viết trên Wikipedia, mua sắm trực tuyến, trò chuyện video và lướt Facebook chỉ với vài cú nhấp chuột Rõ ràng, khả năng giao tiếp qua mạng viễn thông đã thay đổi thế giới mãi mãi.
Trước năm 1970, hầu hết các máy tính hoạt động độc lập và không có sự kết nối với mạng Tuy nhiên, hiện nay, máy tính lớn đã trở nên phổ biến và thiết bị giá rẻ xuất hiện trên bàn làm việc của mọi người, dẫn đến việc chia sẻ dữ liệu và tài nguyên ngày càng trở nên cần thiết Điều này đã thúc đẩy sự ra đời của các mạng máy tính đầu tiên.
Hệ thống mạng máy tính tiềm ẩn nhiều rủi ro về lỗi, khác với máy tính hoạt động độc lập Các lỗi thường gặp trên máy tính và laptop, đặc biệt là lỗi mạng, có nhiều nguyên nhân phức tạp và không dễ dàng xác định Do đó, việc khắc phục các lỗi mạng trên máy tính và laptop trở nên ngày càng quan trọng và cần thiết.
Vì vậy, dựa trên tình hình thực tế, việc xây dựng một hệ thống điều khiển và dò tìm lỗi trở nên ngày càng thiết thực hơn.
Mục tiêu
Mục tiêu xây dựng hệ thống là giúp người dùng nhanh chóng và hiệu quả trong việc điều khiển, tìm kiếm lỗi trên mạng máy tính Hệ thống này không chỉ kiểm soát lỗi mà còn đề xuất giải pháp phù hợp cho từng sự cố Đặc biệt, hệ thống được thiết kế dễ dàng cài đặt và sử dụng, đồng thời đảm bảo ổn định khi cập nhật tính năng mới, bảo mật thông tin người dùng.
Xác định yêu cầu
Dữ liệu được trình bày hợp lý, dễ hiểu, cụ thể, cung cấp đầy đủ dữ liệu cho người dùng.
Cho phép duyệt thông tin nhanh và đơn giản tuỳ thuộc vào từng loại đối tượng người dùng.
Chức năng tìm kiếm thông tin cần được thiết kế đơn giản và dễ sử dụng, phù hợp với từng nhóm đối tượng người dùng Hệ thống tìm kiếm phải đảm bảo khả năng tìm kiếm chính xác hoặc tương đối chính xác, giúp người dùng dễ dàng lựa chọn thông tin cần thiết.
Cung cấp một giao diện truy cập theo chuẩn để bảo đảm khả năng kết nối với hệ thống.
Lưu lại các thông số dữ liệu khi người quản lý kiểm tra và dò tìm lỗi
Hệ thống phân quyền sử dụng giữa người quản lý và người dùng để đảm bảo vấn đề bảo mật thông tin.
Cài đặt và sử dụng dễ dàng, hệ thống này mang lại sự linh hoạt và sức chứa lớn, đồng thời đảm bảo độ tin cậy cao Nó còn có khả năng bảo trì và phục hồi dữ liệu sau bảo trì, giúp duy trì khả năng sử dụng và tương tác hiệu quả với hệ thống.
PHÂN TÍCH HỆ THỐNG
Mô tả
Hệ thống được thiết kế để hỗ trợ người dùng xác định nguyên nhân lỗi thông qua quản trị viên Quản trị viên sẽ đảm nhận trách nhiệm trực tiếp trong việc quản lý và điều hành hệ thống.
Trước tiên, để có thể sử dụng hệ thống, người dùng cần đăng nhập vào hệ thống.
Hệ thống gồm 2 đối tượng truy cập là admin và user, người dùng lựa chọn đối tượng phù hợp để tiến hành đăng nhập vào hệ thống.
Khi người dùng chọn đối tượng admin, họ sẽ được cấp quyền quản lý hệ thống và có trách nhiệm xác định các user gặp sự cố mạng Admin cần tìm hiểu nguyên nhân gây ra lỗi để hỗ trợ user tìm ra biện pháp khắc phục phù hợp với từng tình huống cụ thể.
Khi user đăng nhập vào hệ thống, hệ thống sẽ thay đổi trạng thái của user từ online chuyển sang offline.
User nếu chưa có tài khoản có thể đăng kí tài khoản để truy cập vào hệ thống.
Đối tượng, chức năng, đặc quyền từng đối tượng
Sơ đồ 1 - Sơ đồ đối tượng của hệ thống điều khiển và dò tìm lỗi mạng máy tính
❖ Các đối tượng trong hệ thống thực hiện từng chức năng và đặc quyền như sau:
Hệ thống cung cấp chức năng cho phép người dùng chọn đối tượng đăng nhập phù hợp, với tùy chọn cho admin và user Người dùng admin cần chọn "admin" để tiếp tục đăng nhập, trong khi người dùng thông thường chọn "user" Ngoài ra, thông qua chức năng quản lý, người dùng có thể dễ dàng đăng xuất khỏi hệ thống khi cần thiết.
➢ Admin: kiểm soát, quản lý và duy trì hệ thống
■ Quản lý trạng thái của user, chuyển đổi trang thái của user từ on sang off và ngược lại
Dò tìm và sửa lỗi của hệ thống là quá trình quan trọng nhằm xác định những người dùng gặp phải vấn đề về mạng Việc tìm ra nguyên nhân lỗi không chỉ giúp người dùng hiểu rõ tình hình mà còn hướng dẫn họ tìm ra biện pháp khắc phục hiệu quả.
Công việc của admin bao gồm việc thay đổi kết nối của người dùng, thực hiện ping để kiểm tra trạng thái, theo dõi các người dùng đang trực tuyến hoặc ngoại tuyến, và xác định các lỗi mạng của người dùng.
Người dùng là những cá nhân sử dụng hệ thống, có thể gặp phải các vấn đề lỗi Họ có quyền đăng ký và đăng nhập vào tài khoản của mình Sau khi đăng nhập, tình trạng hoạt động của người dùng sẽ được quản lý bởi quản trị viên.
Quy trình nghiệp vụ
❖ Sơ đồ quy trình nghiệp vụ:
❖ Quy trình ra vào đăng nhập vào hệ thống:
Thông qua quản lý, người dùng sẽ được chọn đối tượng phù hợp với bản thân để đăng nhập vào hệ thống.
Người dùng chọn đối tượng trên bảng chức năng để đăng nhập vào hệ thống Sau khi đăng nhập thành công, trạng thái của người dùng sẽ chuyển từ off sang on, cho phép tiếp tục sử dụng Nếu đăng nhập thất bại, hệ thống sẽ thông báo và người dùng có thể chọn lại chức năng.
Nếu bạn chưa có tài khoản, hãy đăng ký để có quyền truy cập vào hệ thống Chọn mục đăng ký người dùng và sau khi hoàn tất, bạn có thể đăng nhập giống như những người đã có tài khoản.
➢ Với admin, đăng nhập tương tự như user, sau khi đăng nhập admin được cấp quyền quản lí hệ thống với các chức năng:
■ Tắt user: Chuyển trạng thái của user từ online sang offline.
■ Bật user: Chuyển trạng thái của user từ offline sang online.
■ Xem danh sách user on/off: admin sẽ được quyền xem trang thái của các user trong hệ thống.
■ Dò lỗi: Thông qua danh sách user, dò tìm lỗi của những user không đăng nhập được vào hệ thống, đưa ra nguyên nhân lỗi.
■ Quay trở lại: Thoát ra khỏi chế độ admin.
Báo cáo thống kê
❖ Danh sách User ON/OFF:
UserName Trạng thái Ping(ms)
❖ Dò tìm lỗi mạng máy tính:
Nguyên nhân UserName Trạng thái Ping(ms)
THIẾT KẾ HỆ THỐNG
Ý tưởng thiết kế
Hệ thống điều khiển và dò tìm lỗi trên mạng máy tính sử dụng ngôn ngữ lập trìnhC++ theo phương pháp lập trình hướng đối tượng.
Hệ thống cho phép admin quản lý và giám sát người dùng đăng nhập Admin có khả năng xác định người dùng đang offline, phát hiện lỗi và cung cấp nguyên nhân để giúp người dùng khắc phục sự cố hiệu quả.
Giới thiệu ngôn ngữ, phương pháp lập trình sử dụng
3.2.1 Phương pháp lập trình hướng đối tượng
Lập trình hướng đối tượng (Object Oriented Programming - OOP) là phương pháp lập trình lấy đối tượng làm nền tảng để xây dựng thuật giải, xây dựng chương trình
Phương pháp OOP là thiết kế chương trình xoay quanh dữ liệu của hệ thống OOP không cho phép dữ liệu chuyển động tự do trong hệ thống.
Lập trình hướng đối tượng (OOP) đã ra đời nhằm khắc phục hầu hết những điểm yếu của các phương pháp lập trình trước đó Ngoài sự sáng tạo, OOP còn kế thừa những ưu điểm nổi bật của các phương pháp trước, mang lại khả năng lập trình ưu việt và hiệu quả hơn.
Người dùng có thể quản lý mã nguồn một cách dễ dàng khi có sự thay đổi trong chương trình Thay vì phải chỉnh sửa toàn bộ mã nguồn của đối tượng, lập trình viên chỉ cần thay đổi một số hàm thành phần.
Dễ đàng mở rộng dự án.
Giúp lập trình viên tiết kiệm đáng kể tài nguyên cho hệ thống.
OOP có tính bảo mật cao và có khả năng tái sử dụng cao.
OOP là phương pháp lập trình phù hợp cho việc phát triển các phần mềm phức tạp và quy mô lớn Nó được đánh giá cao nhờ tính dễ học, năng suất làm việc cao, thao tác đơn giản và khả năng bảo trì dễ dàng.
Phương pháp lập trình đối tượng (OOP) có nhược điểm là có thể làm cho dữ liệu được xử lý tách rời, dẫn đến việc thuật toán phải thay đổi khi cấu trúc dữ liệu thay đổi Hơn nữa, OOP không tự động khởi tạo và giải phóng dữ liệu động, cũng như không thể mô tả đầy đủ và trung thực hệ thống trong thực tế.
➢ Trừu tượng hóa dữ liệu và bao gói thông tin
Trừu tượng hóa là phương pháp thể hiện các đặc điểm chính trong khi loại bỏ chi tiết không cần thiết Bao gói thông tin liên quan đến việc tổ chức dữ liệu và các phương thức thành một đơn vị cấu trúc lớp, nhằm ngăn chặn sự truy cập từ bên ngoài Điều này giúp bảo vệ dữ liệu của đối tượng, với các phương thức của lớp hoạt động như giao diện giữa dữ liệu và phần còn lại của chương trình Nguyên tắc này, được gọi là sự che giấu thông tin, ngăn cản truy cập trực tiếp vào dữ liệu trong lập trình.
Kế thừa là quá trình mà các đối tượng của lớp này được quyền sử dụng, định nghĩa một số tính chất của các đối tượng lớp khác.
Kế thừa trong lập trình định nghĩa một lớp mới dựa trên các lớp đã có, cho phép lớp mới không chỉ kế thừa các thành phần từ lớp cha mà còn bổ sung thêm thuộc tính và hàm mới Nguyên lý này hỗ trợ việc xây dựng cấu trúc phân cấp giữa các lớp, tạo ra sự tổ chức và quản lý mã nguồn hiệu quả hơn.
➢ Tính đa hình (tính tương ứng bội)
Tương ứng bội là khả năng của một khái niệm có thể sử dụng với nhiều chức năng khác nhau.
Tương ứng bội là yếu tố quan trọng trong việc phát triển các đối tượng với cấu trúc nội bộ đa dạng, nhưng vẫn giữ chung một giao diện bên ngoài.
Chính vì những đặc điểm ưu việt trên, phương pháp lập trình hướng đối tượng là phương pháp thích hợp nhất để lập trình hệ thống…
Ngôn ngữ lập trình C++ được Bjarne Stroustrup phát triển vào năm 1979 tại Bell Labs, New Jersey Đây là một phiên bản nâng cao của ngôn ngữ C, ban đầu có tên gọi "C với các Lớp" trước khi được đổi tên thành C++ vào năm 1983.
C++ is utilized for system software development, game programming, desktop applications, mobile applications, and web applications Notable applications developed using C++ include Firefox, Google Chrome, Photoshop, Winamp, Adobe products, Microsoft Windows, and FDPReader.
Ngôn ngữ lập trình C++ có nhiều ưu nhược điểm Sau đây là một số ưu nhược điểm nổi bật.
C++ nổi bật với tính phổ biến vượt trội, là nền tảng học tập của hầu hết các lập trình viên trước khi chuyển sang các ngôn ngữ khác Mặc dù có nhiều ngôn ngữ lập trình hiện nay, C++ vẫn giữ vị trí hàng đầu trong sự lựa chọn của nhiều công ty công nghệ Thêm vào đó, C++ là ngôn ngữ được giảng dạy phổ biến nhất trong chương trình giáo dục tại Việt Nam.
C++ là một ngôn ngữ lập trình dễ hiểu và dễ sử dụng, cho phép người dùng khai báo mảng bằng cú pháp tên mảng [kích thước] Ngôn ngữ này cung cấp khả năng truy cập nhanh chóng đến các phần tử trong mảng, cho phép người dùng chỉ định số để truy cập bất kỳ phần tử nào.
C++ có tính di động cao, cho phép đoạn code dễ dàng chuyển đổi và chạy trên các hệ điều hành như Mac OS, Windows và Linux Nhờ vào tính năng này, lập trình viên có thể sử dụng cùng một chương trình trên nhiều nền tảng khác nhau mà không cần phải viết lại mã nguồn.
Ngôn ngữ lập trình C++ sở hữu nhiều thư viện phong phú, được coi là các phần mở rộng và tương tự như các plugin Sự đa dạng của các thư viện này cho phép lập trình viên phát triển nhiều tính năng khác nhau, nâng cao khả năng lập trình và sáng tạo trong các dự án.
Ngoài ra, C++ cũng có tính đa hình (Multi-paradigm) Nghĩa là, C++ cho phép lập trình viên có thể lập trình C++ bằng nhiều cách khác nhau.
Có nhiều công cụ, phần mềm và IDE hỗ trợ C++ giúp bạn đơn giản hóa công việc
Kích thước mảng phải cố định: Khi cấp phát mảng tĩnh, mảng cần được khai báo với kích thước xác định trước khi chạy chương trình.
Các byte trong bộ nhớ được cấp phát cho mảng cần phải được sắp xếp liên tục Khi bộ nhớ của chương trình bị phân mảnh, chương trình sẽ gặp lỗi bộ nhớ và yêu cầu lập trình viên khai báo lại với kích thước lớn hơn.
Mặc dù C++ có một số hạn chế, nhưng nhờ vào những ưu điểm nổi bật như tính gần gũi và khả năng chuyển đổi đa nền tảng, nhóm chúng tôi đã quyết định chọn C++ làm ngôn ngữ chính để lập trình phần mềm điều khiển và dò lỗi cho hệ thống mạng máy tính.
Giới thiệu, mô tả lớp
Hệ thống điều khiển và dò tìm lỗi trên mạng máy tính bao gồm các lớp Admin và User là lớp cơ sở, trong khi lớp Manager là lớp dẫn xuất kế thừa các thuộc tính từ lớp Admin và User, phục vụ cho từng đối tượng trong hệ thống Thông tin chi tiết về từng lớp sẽ được mô tả cụ thể.
Lớp Admin là cơ sở cho lớp Manager, với hai thuộc tính cơ bản là Tên người dùng (Username) và Mật khẩu (Password) Lớp Admin có quyền kiểm tra tài khoản người dùng và thông báo lỗi khi cần thiết.
Là lớp cơ sở cho lớp Manager Lớp User gồm 4 các thuộc tính cơ bản là Username, Password, Ping, Trạng Thái Chứa thông tin của người dùng.
Lớp Manager kế thừa các thuộc tính của lớp User và Admin, chứa danh sách các user và tình trạng tương ứng của các user trong hệ thống.
Các hàm được sử dụng trong chương trình
Hàm TatUser() có tác dụng chuyển trạng thái của user từ on về off.
3.4.2 Hàm lấy kiểm tra ID (BatUser())
Hàm BatUser() có tác dụng chuyển trạng thái của user từ on về off.
3.4.3 Hàm đăng nhập cho admin(AdminLogin() )
Hàm AdminLogin (string userName, string passWord), để admin đăng nhập vào hệ thống, phải nhập 2 thông tin cơ bản là tên đăng nhập admin và mật khẩu.
3.4.4 Hàm đăng ký cho user(AddNewUser() )
Hàm AddNewUser() giúp user chưa có tài khoản, tạo một tài khoản mới để có thể đăng nhập vào hệ thống.
3.4.5 Hàm hiển thị chức năng (ChucNang())
Hàm ChucNang() có tác dụng hiển thị ra các chức năng danh cho người dùng. Trong hàm này, quy định:
0 Thoát chương trình Chức năng được hiển thị trên màn hình giúp người dùng dễ dàng chọn lựa.
Hàm ChucNangAdmin() hiển thị danh sách chức năng của Admin Trong hàm quy định:
3 Xem danh sách User on/off
3.4.7 Hàm in danh sách vào ra (HienThiUserLoiMang())
Hàm HienThiUser LoiMang() hiển thị danh sách người dùng gặp lỗi mạng, bao gồm nguyên nhân gây ra lỗi, tên người dùng, trạng thái hiện tại của họ và thông số Ping liên quan.
CÀI ĐẶT VÀ THỬ NGHIỆM
Mô tả cách thức và quy trình hoạt động hệ thống
Khi chạy chương trình, trên màn hình của hệ thống sẽ xuất hiện như sau:
Hệ thống hiển thị ra các chức năng giúp người dùng dễ dàng lựa chọn, bao gồm: 1.ADMIN DANG NHAP, 2 USER DANG KY, 3 USER DANG NHAP, 0 THOAT CHUONGTRINH.
Sau khi chọn mục “ 1 ADMIN DANG NHAP ” , tiếp tục đăng nhập admin bằng cách nhập:
Sau khi nhập danh sách chức năng admin sẽ được hiện thị lên trên màn hình “DANH SACH CHUC NANG ADMIN” bao gồm:
- Tắt user: đưa user trở về trang thái OFF
- Bật user: để đưa user trở về trạng thái ON
- Xem danh sách user ON/OFF: xem danh sách tất cả các user mà admin quản lí.
- Dò lỗi: tìm các dựa trên ping
- Quay trở lại: đưa về giao diện DANH SACH CHUC NANG
Thực hiện việc tắt user minh.
Sau khi thực hiện thành công tắt user, chương trình sẽ đưa ra thông báo “DA TAT USER THANH CONG” tới admin.
Nếu user không tồn tại trong danh sách, chương trình sẽ đưa ra thông báo “ KHONG THETIM THAY USER CO USERNAME = ? !”
Chương trình XEM DANH SÁCH USER ON/OFF cho phép hiển thị toàn bộ danh sách người dùng, bao gồm tên và thông số ping mà quản trị viên đang quản lý trên hệ thống.
BAT USER - Chuyển đổi tình trạng của user từ OFF sang ON.
Sau khi bật user bật lại user minh, thông báo “DA BAT USER THANH CONG!” đươc hiển thị lên trên hệ thống
Trong trường hợp, bật user không tồn tại trong danh sách quản lí của admin sẽ hiện thị thông báo “KHONG THE TIM THAY USER CO USERNAME = ? !”
Sau khi bật user thành công, trở lại xem danh sách và thấy user đã được bật trong trạng thái ON.
Sau khi hoàn tất quá trình dò lỗi, danh sách người dùng gặp sự cố cùng với nguyên nhân lỗi sẽ được hiển thị trên màn hình, giúp quản trị viên xác định chính xác vấn đề của từng người dùng.
➔ nếu ping