CÁC CÔNG NGHỆ SỬ DỤNG
Định nghĩa
.NET Framework là môi trường thực thi được quản lý cho Windows, cung cấp nhiều dịch vụ cho các ứng dụng Nó bao gồm hai thành phần chính: Common Language Runtime (CLR) và thư viện NET Framework Class CLR là công cụ thực thi xử lý ứng dụng, trong khi thư viện cung cấp mã đã được thử nghiệm, có thể tái sử dụng cho các nhà phát triển Các dịch vụ mà NET Framework cung cấp cho ứng dụng đang chạy rất đa dạng.
Quản lý bộ nhớ là một yếu tố quan trọng trong lập trình, nơi lập trình viên phải phân bổ và giải phóng bộ nhớ cũng như xử lý tuổi thọ của đối tượng Tuy nhiên, trong các ứng dụng sử dụng NET Framework, dịch vụ này được đảm nhận bởi CLR, giúp tối ưu hóa hiệu suất và giảm bớt gánh nặng cho lập trình viên.
Hệ thống loại trong NET Framework cung cấp một cách tiếp cận đồng nhất cho các loại cơ bản, giúp giảm thiểu sự phức tạp trong khả năng tương tác giữa các ngôn ngữ lập trình Các loại này được xác định bởi hệ thống loại của NET Framework, cho phép tất cả các ngôn ngữ nhắm đến NET Framework sử dụng chung một nền tảng.
Thư viện lớp NET Framework cung cấp một nguồn tài nguyên phong phú, giúp lập trình viên dễ dàng truy cập và sử dụng các loại và thành phần mà không cần phải viết mã phức tạp cho các hoạt động lập trình cấp thấp.
.NET Framework là một khuôn khổ phát triển mạnh mẽ, cung cấp các thư viện chuyên biệt cho nhiều lĩnh vực ứng dụng ASP.NET hỗ trợ phát triển ứng dụng web, ADO.NET cho phép truy cập dữ liệu hiệu quả, Windows Communication Foundation phục vụ cho các ứng dụng định hướng dịch vụ, và Windows Presentation Foundation được thiết kế cho ứng dụng máy tính để bàn trên Windows.
Trình biên dịch ngôn ngữ của NET Framework tạo ra mã trung gian gọi là Common Intermediate Language (CIL), cho phép biên dịch tại thời gian chạy Tính năng này giúp các thói quen lập trình được viết bằng một ngôn ngữ có thể tương tác với các ngôn ngữ khác, giúp lập trình viên dễ dàng phát triển ứng dụng bằng ngôn ngữ mà họ ưa thích.
Khả năng tương thích phiên bản là yếu tố quan trọng, vì hầu hết các ứng dụng được phát triển dựa trên một phiên bản cụ thể của NET Framework có thể chạy mà không cần sửa đổi trên các phiên bản mới hơn, ngoại trừ một số trường hợp hiếm hoi.
Thực thi song song trong NET Framework cho phép nhiều phiên bản của thời gian chạy ngôn ngữ chung tồn tại trên cùng một máy tính, giúp giải quyết xung đột phiên bản Điều này có nghĩa là nhiều ứng dụng có thể đồng thời hoạt động mà không gây ra xung đột, và mỗi ứng dụng có thể chạy trên phiên bản NET Framework mà nó được phát triển Thực thi song song áp dụng cho các nhóm phiên bản như NET Framework 1.0/1.1, 2.0/3.0/3.5 và 4/4.5.x/4.6.x/4.7.x/4.8.
Bằng cách nhắm mục tiêu NET Standard, các nhà phát triển có thể tạo ra các thư viện lớp đa mục tiêu, cho phép hoạt động trên nhiều nền tảng NET Framework khác nhau Chẳng hạn, các thư viện nhắm đến NET Standard 2.0 có thể được sử dụng bởi các ứng dụng nhắm tới NET Framework 4.6.1, NET Core 2.0 và UWP 10.0.16299.
ASP.NET Web API
Microsoft đã giới thiệu nhiều công nghệ dịch vụ trong thập niên gần đây, tạo ra chuỗi công nghệ giúp dễ dàng xây dựng và hỗ trợ các dịch vụ web trên nền tảng NET.
Microsoft đã khởi đầu với XML Web Service và sau đó mở rộng qua Windows Communication Foundation, mang đến cho các nhà phát triển NET nhiều lựa chọn trong việc xây dựng dịch vụ dựa trên SOAP Chỉ cần thực hiện một số thay đổi nhỏ trong cấu hình, bạn có thể hỗ trợ đa dạng các thiết bị khác nhau.
9 thức kết nối, cơ chế xác thực, định dạng thông báo cùng các chuẩn hỗ trợ bảo mật WS-* với WCF
Khi thế giới thiết bị kết nối phát triển, nhu cầu giao tiếp đơn giản qua HTTP gia tăng, cho phép sử dụng nền tảng dịch vụ mà không cần các yếu tố phức tạp như xác thực liên đoàn hay mã hóa thông báo Điều này cũng loại bỏ yêu cầu tạo phiên giao dịch và khám phá dịch vụ dựa trên Ngôn ngữ mô tả dịch vụ (WSDL).
Giao tiếp dịch vụ di động (mobile-to-service) và ứng dụng trang đơn lẻ (Single-Page Application - SPA) cho phép các nhà phát triển tạo ra các ứng dụng trên nền tảng JavaScript với chi phí thấp, chỉ dưới 1 USD Những ứng dụng này chỉ cần sử dụng giao thức HTTP đơn giản và giao tiếp dữ liệu backend tương thích với JSON Để hỗ trợ điều này, Microsoft đã phát triển ASP.NET Web API, một nền tảng hiệu quả và dễ sử dụng với giao thức HTTP và dịch vụ web mặc định sử dụng JSON Các mô hình làm việc để xử lý và trả về dữ liệu được đóng gói qua các đối tượng đơn giản (Plain Old CLR Objects).
Các ưu điểm của ASP.NET Web API:
Khi xây dựng website với ASP.NET Web API, người dùng không cần cấu hình phức tạp; dịch vụ có thể được cài đặt và sử dụng dễ dàng Khái niệm điểm đầu cuối và contract không còn cần thiết, tạo điều kiện cho việc thiết lập dịch vụ trở nên linh hoạt hơn so với WCF Chỉ cần sử dụng URL theo chuẩn REST (Representational State Transfer) cùng các tham số đầu vào, kết quả trả về sẽ là các bản tin JSON hoặc XML.
ASP.NET Web API mặc định sử dụng kiến trúc REST, cung cấp đầy đủ các thành phần cần thiết để xây dựng dịch vụ Tính năng điều hướng URL được tích hợp sẵn trong nền tảng, giúp xác định các địa chỉ dịch vụ một cách dễ dàng và hiệu quả.
10 điều hướng RESTful ánh xạ với các phương thức của controller Vì thế cho phép sử dụng các đường dẫn theo phong cách REST rất thân thiện
Route trong ASP.NET Web API cho phép nhà phát triển tạo ra lớp trìu tượng giữa bên yêu cầu và sự thực thi ở lớp dưới, tương tự như các giao diện dịch vụ trong WCF Điều này có nghĩa là chúng ta có thể liên kết bất kỳ URL nào với bất kỳ phương thức nào của các controller Khi có sự thay đổi về phiên bản dịch vụ, việc thêm một route mới vào URL giúp duy trì song song nhiều phiên bản dịch vụ trên hệ thống mà không ảnh hưởng đến các dịch vụ hiện có.
ASP.NET Web API hỗ trợ chức năng xử lý dạng ống thông qua các bộ lọc, cho phép can thiệp trước và sau khi thực thi các action của controller Người dùng có thể gắn bộ lọc để thực hiện lọc các action dựa trên tham số request, kiểm tra vai trò (authorization) và xử lý ngoại lệ Việc sử dụng bộ lọc có thể thực hiện dễ dàng bằng cách khai báo attribute hoặc cấu hình áp dụng toàn cục cho tất cả các phương thức.
Các action HTTP như GET và POST tự động liên kết với các phương thức của controller, được gọi là các controller action, thông qua tên của chúng, giúp tăng tính thuận tiện trong việc xử lý yêu cầu.
Với ASP.NET Web API, các phương thức controller có thể trả về dữ liệu gốc mà không cần tùy biến, giúp tự động chuyển đổi sang định dạng JSON hoặc XML theo yêu cầu Điều này đơn giản hóa quy trình, chỉ cần sử dụng tiêu đề Accept hoặc Content-Type từ phía gọi tới Ngược lại, với MVC, việc trả về dữ liệu JSON hay XML yêu cầu phải tùy chỉnh kết quả ở dạng nguyên gốc.
− Hỗ trợ CORS (Cross-Origin Resource Sharing): Trong ASP.NET Web API ta có thể kích hoạt chức năng này bằng việc đặt một attribute
EnableCorsAttribute để cho phép các yêu cầu bằng JavaScript từ các domain khác có thể truy cập domain dịch vụ của nhà phát triển
Quản lý lỗi toàn cục là một cải tiến quan trọng trong phiên bản ASP.NET Web API 2.1, cho phép tất cả các exception không được bắt được ném ra và xử lý thông qua một cơ chế tập trung Nền tảng hỗ trợ ghi log ngoại lệ, giúp truy xuất thông tin về ngoại lệ và ngữ cảnh của nó một cách hiệu quả.
Giao diện IHttpActionResult: Việc thực thi giao diện này sẽ định nghĩa một HttpResponseMessage factory có thể tái sử dụng và thuận tiện khi xây dựng unit-test.
ADO.NET
.NET Framework cung cấp một tập các đối tượng cho phép truy cập vào cơ sở dữ liệu, tập các đối tượng này được gọi chung là ADO.NET
ADO.NET là một công nghệ tương tự như ADO, nhưng nổi bật với kiến trúc dữ liệu rời rạc, không kết nối Kiến trúc này cho phép dữ liệu được tải từ cơ sở dữ liệu và lưu trữ trên bộ nhớ cache của máy người dùng Người dùng có thể thao tác trên dữ liệu đã nhận và chỉ kết nối lại với cơ sở dữ liệu khi cần thay đổi hoặc yêu cầu dữ liệu mới.
Kết nối không liên tục đến cơ sở dữ liệu mang lại nhiều lợi ích, trong đó nổi bật nhất là giảm lưu lượng truy cập đồng thời, từ đó tiết kiệm đáng kể tài nguyên bộ nhớ Giải pháp này giúp giảm thiểu tình trạng hàng trăm ngàn kết nối truy cập vào cơ sở dữ liệu cùng lúc.
ADO.NET là một công nghệ kết nối cơ sở dữ liệu, cho phép lấy và cập nhật dữ liệu khi có thay đổi từ người dùng Trong hầu hết các ứng dụng, thời gian chủ yếu được sử dụng cho việc đọc và hiển thị dữ liệu Để tối ưu hóa quá trình này, ADO.NET cung cấp các đối tượng dữ liệu không kết nối, giúp người dùng có thể truy cập và hiển thị dữ liệu mà không cần duy trì kết nối liên tục với cơ sở dữ liệu.
Các đối tượng ngắt kết nối này làm việc tương tự đối với các ứng dụng Web
Năm 1982, Microsoft giới thiệu driver ODBC (Open Database Connectivity), cho phép truy xuất thông tin từ cơ sở dữ liệu quan hệ nhưng không hỗ trợ dữ liệu không quan hệ như tập tin văn bản hay email Để truy cập ODBC, người dùng cần sử dụng DSN Để có thể truy cập tất cả các loại Datastore, OLEDB provider có thể được sử dụng thông qua ODBC.
OLEDB là một giao diện lập trình hệ thống được thiết kế để quản lý dữ liệu, dễ sử dụng hơn ODBC nhưng chỉ tương thích với một số ngôn ngữ lập trình như C++ Để khắc phục hạn chế này, ADO đã ra đời OLEDB thực chất là một tập hợp các giao diện COM được đóng gói thành các dịch vụ hệ thống nhằm quản trị các cơ sở dữ liệu khác nhau.
4 đối tượng chính : Datasource, Session, Command, Rowset
ADO là một công nghệ COM, cho phép tương tác với nhiều ngôn ngữ lập trình như C++, VB, JavaScript và VBScript Mặc dù ADO không độc lập với hệ điều hành, nhưng nó độc lập với ngôn ngữ lập trình ADO là lớp bao bọc cho OLEDB và bao gồm ba đối tượng chính: Connection, Command và Recordset.
Remote Data Services ( RDS ) của Microsoft cho phép dùng ADO thông qua các giao thức HTTP, HTTPS và DCOM để truy cập dữ liệu qua Web
Microsoft Data Access Components (MDAC) là tổ hợp của ODBC, OLEDB, ADO và cả RDS
Chúng ta có thể kết nối dữ liệu bằng một trong các cách: dùng ODBC driver (DSN), dùng OLEDB thông qua ODBC hoặc OLEDB không thông qua ODBC
ADO.NET được chia ra làm hai phần chính rõ rệt:
Hình 2.1 Các thành phần của ADO.NET
DataSet là thành phần quan trọng trong kiến trúc ADO.NET, cho phép kết nối không liên tục với bất kỳ nguồn dữ liệu nào Nó bao gồm một hoặc nhiều đối tượng DataTable, được cấu thành từ các dòng và cột dữ liệu, cùng với các khóa chính, khóa ngoại, và ràng buộc liên quan DataSet được lưu trữ dưới dạng tập tin XML, giúp dễ dàng quản lý và thao tác với dữ liệu.
Thành phần chính thứ hai của ADO.NET là NET Provider Data, bao gồm các đối tượng hỗ trợ thao tác hiệu quả trên cơ sở dữ liệu như Connection, Command, DataReader và DataAdapter Đối tượng Connection cung cấp kết nối đến cơ sở dữ liệu, Command thực hiện các thao tác trên cơ sở dữ liệu, DataReader cho phép đọc dữ liệu và DataAdapter đóng vai trò là cầu nối giữa DataSet và nguồn dữ liệu.
Mô hình đối tượng ADO.NET
Mô hình đối tượng của ADO.NET rất linh hoạt, với các đối tượng được thiết kế đơn giản và dễ sử dụng Dataset là đối tượng quan trọng nhất trong mô hình ADO.NET, đóng vai trò như một kho dữ liệu.
14 hiện của cả một cơ sở dữ liệu con, lưu trữ trên vùng nhớ cache của máy người dùng mà không kết nối đến cơ sở dữ liệu
Mô hình đối tượng của Dataset:
Hình 2.2 Mô hình đối tượng Dataset
DataSet bao gồm một tập các đối tượng DataRelation cũng như tập các đối tượng DataTable Các đối tượng này đóng vai trò như các thuộc tính của DataSet
Trình cung cấp dữ liệu (.NET Data Providers)
The NET Framework offers two data providers, the SQL Server NET Data Provider and the OLE DB NET Data Provider, to facilitate database access.
Hình 2.3 Trình cung cấp dữ liệu của Net Framework
SQL Server NET Data Provider có các đặc điểm :
− Dùng nghi thức riêng để truy cập cơ sở dữ liệu
− Truy xuất dữ liệu sẽ nhanh hơn và hiệu quả hơn do không phải thông qua lớp OLE DB Provider hay ODBC
− Chỉ được dùng với hệ quản trị cơ sở dữ liệu SQL Server 7.0 trở lên
− Được Mircrosoft hỗ trợ khá hoàn chỉnh
OLE DB NET Data Provider có các đặc điểm :
− Phải thông qua 2 lớp vì thế sẽ chậm hơn
− Thực hiện được các dịch vụ “Connection Pool”
− Có thể truy cập vào mọi Datasource có hỗ trợ OLE DB Provider thích hợp.
Azure Database
Azure SQL Database là dịch vụ quản trị dữ liệu có quan hệ (RDS) chuyên dụng cho xử lý giao dịch trực tuyến OLTP, thuộc loại dịch vụ PaaS Dịch vụ này nổi bật với các tính năng như mở rộng linh hoạt (elastic scale), hiệu năng dự đoán (predictable performance), khả năng duy trì hoạt động liên tục (business continuity), gần như không cần bảo trì và hỗ trợ các ngôn ngữ phát triển phổ biến.
Azure SQL Database là dịch vụ cơ sở dữ liệu thông minh, mở rộng trên cloud, cung cấp engine SQL Server với khả năng tương thích cao nhất Dịch vụ này mang lại 212% ROI và hỗ trợ di chuyển các ứng dụng hiện tại cũng như các ứng dụng mới lên Azure, phù hợp cho các workloads SQL Server quan trọng.
Azure SQL Database đã được kích hoạt với Azure Arc, cho phép người dùng triển khai trên hạ tầng tại chỗ hoặc bất kỳ dịch vụ đám mây nào Người dùng vẫn có thể tận hưởng các lợi ích của Azure như tự động hóa, hỗ trợ không giới hạn, quản trị hợp nhất và tiết kiệm chi phí.
Các tính năng của Azure SQL Database:
− Chuyển đổi dễ dàng: Tăng tốc quá trình di chuyển SQL Server trên on- premise mà không cần thay đổi mã với Managed Instance Luôn sử dụng
SQL Server trên đám mây mang đến 16 tính năng mới nhất mà không cần phải vá lỗi hay nâng cấp Bằng cách sử dụng chính sách Azure Hybrid Benefit, người dùng có thể giảm thiểu chi phí Hơn nữa, khả năng triển khai linh hoạt được cung cấp thông qua Single Database cho các ứng dụng SQL trên đám mây hoặc Elastic Pool cho các ứng dụng đa tenant.
Tích hợp Machine Learning mang đến hiệu suất và độ ổn định tối ưu nhờ vào công nghệ AI an toàn, đáng tin cậy và đã được kiểm chứng Hãy tối đa hóa hiệu suất ứng dụng của bạn với các đề xuất tự động điều chỉnh được tùy chỉnh phù hợp.
Sử dụng Intelligent Insights để giám sát và phát hiện các sự cố làm giảm hiệu suất
Cân chỉnh ứng dụng của bạn với quy mô lớn và tính khả dụng cao lên tới 99.95% Tận dụng Hyperscale hỗ trợ đến 100TB và khôi phục nhiều cơ sở dữ liệu lớn chỉ trong vài phút Tính toán và lưu trữ tài nguyên độc lập mang lại sự linh hoạt và giảm chi phí hiệu quả Độ khả dụng cao trong Azure SQL Database đảm bảo cơ sở dữ liệu của bạn luôn hoạt động ổn định Tối ưu hóa chi phí cho cơ sở dữ liệu với mô hình sử dụng gián đoạn và tầng tính toán không cần máy chủ.
Bảo mật dữ liệu nâng cao:
Bảo vệ cơ sở dữ liệu của bạn khỏi các mối đe dọa bằng cách sử dụng kiểm soát truy cập chi tiết, công nghệ Always Encrypted và khả năng chống lại các mối đe dọa cao cấp Hãy phát hiện, theo dõi và khắc phục các lỗ hổng tiềm ẩn thông qua một bảng điều khiển duy nhất.
Azure SQL Database tuân thủ các tiêu chuẩn bảo mật nghiêm ngặt nhờ vào công nghệ kiểm tra quản lý và bảo vệ thông tin tích hợp Nó cung cấp sự bảo vệ liên tục với thông tin chuyên sâu từ Azure Security Center, cùng với bảo mật nhiều lớp được cung cấp bởi Microsoft cho các Datacenter, hạ tầng và hệ thống.
Azure WebApp Service
Azure App Service là dịch vụ lưu trữ ứng dụng web, API REST và mobile backends dựa trên HTTP Người dùng có thể phát triển ứng dụng bằng nhiều ngôn ngữ lập trình như NET, NET Core, Java, Ruby, Node.js, PHP và Python Dịch vụ này cho phép ứng dụng chạy và mở rộng dễ dàng trên cả Windows và Linux.
App Service của Microsoft Azure cung cấp nhiều tính năng mạnh mẽ cho ứng dụng, bao gồm bảo mật, cân bằng tải và quản lý tự động Nó cũng hỗ trợ các khả năng DevOps như triển khai liên tục từ Azure DevOps, GitHub và Docker Hub, cùng với hệ thống quản lý gói, môi trường dàn dựng, tên miền tùy chỉnh và chứng chỉ SSL.
Tính năng của Azure WebApp Service:
App Service cung cấp hỗ trợ đa dạng cho nhiều ngôn ngữ lập trình, bao gồm ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP và Python, đảm bảo dịch vụ chất lượng cao cho người dùng.
Tối ưu hóa DevOps với Azure giúp thiết lập quy trình tích hợp và triển khai liên tục hiệu quả thông qua các công cụ như GitHub, BitBucket, Docker Hub và Azure Container Registry Quá trình cập nhật được đẩy mạnh nhờ vào việc sử dụng môi trường thử nghiệm và dàn dựng Đồng thời, quản lý ứng dụng trong Azure App Service có thể được thực hiện dễ dàng thông qua Azure PowerShell hoặc giao diện dòng lệnh đa nền tảng (CLI).
Khả năng mở rộng quy mô toàn cầu với tính khả dụng cao cho phép nâng cấp hệ thống một cách linh hoạt, cả thủ công lẫn tự động Người dùng có thể lưu trữ ứng dụng tại bất kỳ đâu trong cơ sở hạ tầng trung tâm dữ liệu toàn cầu của Microsoft, đồng thời App Service SLA đảm bảo tính sẵn sàng cao cho dịch vụ.
Connect with SaaS platforms and on-premise data by choosing from over 50 connectors for enterprise systems like SAP, SaaS services such as Salesforce, and internet services like Facebook, enabling seamless access to on-premise data.
18 premise bằng cách sử dụng Hybrid Connection và Azure Virtual Networks
App Service ensures security and compliance by adhering to ISO, SOC, and PCI standards User authentication is facilitated through Azure Active Directory or by using social media logins such as Google, Facebook, Twitter, and Microsoft Additionally, it enables IP address restrictions and identity management services for enhanced protection.
You can freely choose from a wide range of application templates available in the Azure Marketplace, including popular options like WordPress, Joomla, and Drupal.
− Tích hợp Visual Studio: Các công cụ chuyên dụng trong Visual Studio có khả năng hợp lý hóa công việc tạo, triển khai và gỡ lỗi
API và các tính năng di động: App Service mang đến cho khách hàng giải pháp hỗ trợ CORS hoàn chỉnh cho các kịch bản RESTful API, đồng thời đơn giản hóa việc triển khai ứng dụng di động thông qua các tính năng như xác thực, đồng bộ hóa dữ liệu ngoại tuyến và thông báo đẩy.
Mã máy chủ cho phép khởi chạy các đoạn mã hoặc ngôn ngữ tùy chỉnh mà không cần quản lý cơ sở hạ tầng, giúp khách hàng chỉ phải trả tiền cho thời gian tính toán thực tế mà mã của họ sử dụng.
Bootstrap
Bootstrap là một framework giúp xây dựng và thiết kế website một cách nhanh chóng và tiết kiệm Nó cung cấp nhiều thành phần sẵn có như Typography, Forms, Buttons, Grids, Tables, Navigation và Image Carousels Với sự hỗ trợ của các ngôn ngữ lập trình cơ bản như HTML, CSS và JavaScript, Bootstrap cho phép phát triển các website một cách hiệu quả.
Bootstrap là bộ công cụ và template miễn phí từ mã nguồn mở, giúp lập trình viên xây dựng website hoàn chỉnh Nhờ vào framework này, họ có thể sáng tạo nhiều giao diện mới với các thuộc tính và thiết kế đã được định sẵn trong Bootstrap.
Hiện nay Bootstrap được tương thích với nhiều trình duyệt website nổi tiếng như Firefox, Chrome hay Opera IE …site responsive
Tính năng vượt trội của Bootstrap:
Bootstrap là một công cụ mạnh mẽ và dễ dàng vận hành, được phát triển dựa trên mã nguồn mở HTML, CSS và JavaScript Với kiến thức cơ bản về các ngôn ngữ lập trình này, người dùng có thể sử dụng Bootstrap một cách hiệu quả để tạo ra những trang web chuyên nghiệp mà không mất phí.
FrameWork Bootstrap tích hợp tính năng responsive, giúp website tự động điều chỉnh kích thước phù hợp với các thiết bị di động và trình duyệt khác nhau, đảm bảo sự tương thích tối ưu.
Bootstrap mang đến sự linh hoạt cho các lập trình viên, cho phép họ dễ dàng tùy chỉnh các thuộc tính của phần tử phù hợp với dự án hiện tại.
Bootstrap là một framework mã nguồn mở, cho phép người dùng dễ dàng truy cập và chỉnh sửa mã nguồn theo nhu cầu của dự án.
Laravel
Laravel is a free, open-source PHP framework developed by Taylor Otwell, first launched in June 2011 Built on the MVC architecture, Laravel offers a clear and expressive syntax, making it an accessible choice for developers.
MVC (Model-View-Controller) là mô hình phân chia mã nguồn thành ba phần riêng biệt, mỗi phần đảm nhiệm một nhiệm vụ độc lập.
− Model : Đây là nơi chứa những nghiệp vụ tương tác với dữ liệu hoặc hệ quản trị cơ sở dữ liệu (mysql, mssql…) Thành phần Model bao gồm các
20 class/function xử lý nhiều nghiệp vụ như kết nối database, truy vấn dữ liệu, thêm – xóa – sửa dữ liệu, …
View là thành phần chứa các giao diện như nút bấm, khung nhập, menu và hình ảnh Nó có nhiệm vụ hiển thị dữ liệu và tạo điều kiện cho người dùng tương tác với hệ thống.
Controller là thành phần tiếp nhận yêu cầu xử lý từ người dùng, bao gồm các lớp và hàm thực hiện các nghiệp vụ logic để truy xuất thông tin cần thiết Nó đảm bảo dữ liệu được lấy chính xác và hiển thị cho người dùng thông qua lớp View.
Tính năng nổi trội của Laravel:
− Nâng cấp, cài đặt, … với Composer
− Thao tác với cú pháp đẹp mắt và đơn giản với Eloquent ORM
− Hỗ trợ biến Laravel thành một web service API với Restful API
Cung cấp các lệnh cần thiết để phát triển ứng dụng với Artisan
− Hỗ trợ tạo các trường trong cơ sở dữ liệu, thêm các cột trong bảng, tạo mối quan hệ giữa các bảng, với Migrations
− Cung cấp sẵn các tính năng đăng nhập, đăng ký, quên mật khẩu, … với Authentication
− Hỗ trợ test lỗi để sửa chữa với Unit Testing
Laravel Excel harnesses the power of PHPExcel, offering features such as importing Excel and CSV files into collections, exporting models, arrays, or views to Excel, and the ability to import multiple files seamlessly.
Laravel Excel là một công cụ được phát triển để cung cấp một lớp bao bọc đơn giản và thanh lịch cho PhpSpreadsheet, nhằm mục đích tối ưu hóa quy trình xuất và nhập dữ liệu trong ứng dụng Laravel.
PhpSpreadsheet là thư viện PHP thuần túy cung cấp các lớp học để đọc và ghi nhiều định dạng tệp bảng tính, bao gồm Excel và LibreOffice Calc.
Các tính năng của Laravel - Excel:
− Dễ dàng xuất dữ liệu sang Excel
− Xuất truy vấn với chunking tự động cho hiệu suất tốt hơn
− Hàng đợi xuất dữ liệu cho hiệu suất tốt hơn
− Dễ dàng xuất dạng xem Blade sang Excel
− Dễ dàng nhập vào dữ liệu
− Đọc tệp Excel theo khối
− Xử lý chèn nhập dữ liệu theo từng phần
PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Phân tích yêu cầu
Sau khi tham khảo tài liệu liên quan đến quản lý cựu sinh viên và trao đổi với giáo viên hướng dẫn, hệ thống cần có các chức năng quan trọng như: đầu vào dữ liệu cựu sinh viên rõ ràng, thu thập khảo sát từ cựu sinh viên, hỗ trợ thông báo sự kiện hội cựu sinh viên và hội việc làm, hỗ trợ sinh viên tìm kiếm lẫn nhau, và nhận góp ý từ cựu sinh viên Những yêu cầu này dẫn đến đề xuất sơ đồ use case như hình 3.1.
1 Admin Người thực hiện việc quản lý cựu sinh viên cho nhà trường và vận hành hệ thống
2 Cựu sinh viên Là các sinh viên đã tốt nghiệp từ trường
3 Sinh viên Là sinh viên sắp ra trường
4 Người dùng Là “Cựu sinh viên” và “Sinh viên” đã được cấp tài khoản từ Admin
Bảng 3.1 Danh sách các Actor
3.1.3 Danh sách các Use case:
STT Tên Use case Mô tả Use case
Người dùng đăng nhập vào hệ thống bằng thông tin tài khoản người dùng
Người dùng đăng xuất tài khoản khỏi hệ thống
3 Quản lý thông tin người dùng
Người dùng có thể xem, chỉnh sửa, bổ sung một số thông tin tài khoản
4 Tìm kiếm Người dùng có thể tìm kiếm thông tin về các cựu sinh viên khác
Người dùng có thể xem và đăng ký tham gia các sự kiện liên quan tới sinh viên và cựu sinh v iên
6 Hiển thị thông tin việc làm
Người dùng có thể xem các thông tin việc làm tương ứng với điều kiện đăng ký: loại công việc, mức lương, vị trí địa lý
7 Thống kê Xem các thông tin thống kê về trường, việc làm, mức lương
Người dùng có thể góp ý với nhà trường về việc phát triển hệ thống, đồng thời đại diện cho công ty cung cấp thông tin việc làm và các sự kiện liên quan đến nhà trường.
9 Đăng nhập Admin đăng nhập vào hệ thống quản lý
10 Đăng xuất Admin đăng xuất khỏi hệ thống quản lý
11 Thêm sinh viên Tạo các tài khoản người dùng (loại sinh vên) cung cấp cho sinh viên sắp ra trường
12 Thêm cựu sinh viên Chuyển thông tin các tài khoản loại “sinh viên” thành loại “cựu sinh viên”
Thiết lập gửi tự động hoặc chủ động gửi các khảo sát cựu sinh viên tới các tài khoản người dùng loại “cựu sinh viên”
Hiển thị các biểu đồ thống kê về cựu sinh viên
Xuất các thống kê về cựu sinh viên theo tiêu chuẩn
15 Tìm kiếm Tìm kiếm thông tin sinh viên và cựu sinh viên
Tạo các bài thông báo sự kiện cho sinh viên và cựu sinh viên
Gửi mail thông báo bài đăng đến sinh viên và cựu sinh viên
17 Quản lý hỗ trợ việc làm
Tạo các bài thông báo về việc làm cho sinh viên và cựu sinh viên
Gửi mail thông báo việc làm tới các tài khoản phù hợp
18 Hiển thị góp ý Hiển thị các góp ý từ tài khoản người dùng
Bảng 3.2 Danh sách các Usecase
3.1.4 Đặc tả các Use case:
• Đặc tả Usecase “Người dùng đăng nhập” :
Mô tả: Người dùng đăng nhập vào hệ thống bằng thông tin tài khoản
Actor: Người dùng Điều kiện trước: Có tài khoản người dùng trong hệ thống Điều kiện sau: Đăng nhập thành công vào hệ thống
Bước Hành động người dùng Hành động hệ thống
1 Nhập thông tin username và password
2 Nhấn nút “Đăng nhập” Kiêm tra thông tin username và password
Mô tả: Đăng nhập không thành công
Actor: Người dùng Điều kiện trước: Có tài khoản người dùng trong hệ thống Điều kiện sau: Đăng nhập vào hệ thống thất bại
Bước Hành động người dùng Hành động hệ thống
1 Nhập thông tin username và password
Kiêm tra thông tin username và password
Thông báo tài khoản không tồn tại
Trả về trang đăng nhập
Bảng 3.3 Đặc tả Usecase “Người dùng đăng nhập”
• Đặc tả Usecase “Người dùng đăng xuất” :
Mô tả: Người dùng đăng xuất tài khoản khỏi hệ thống
Actor: Người dùng Điều kiện trước: Mgười dùng đã đăng nhập vào hệ thống Điều kiện sau: Người dùng thoát khỏi hệ thống
Bước Hành động người dùng Hành động hệ thống
1 Nhấn nút “Đăng xuất” Đăng xuất tài khoản người dùng khỏi hệ thống, đi đến trang đăng nhập của hệ thống
Bảng 3.4 Đặc tả Usecase “Người dùng đăng xuất”
• Đặc tả Usecase “Quản lý thông tin người dùng” :
Mô tả: Người dùng có thể xem, chỉnh sửa, bổ sung một số thông tin tài khoản
Actor: Người dùng Điều kiện trước: Người dùng đã đăng nhập vào hệ thống Điều kiện sau: Thay đổi thông tin cá nhân theo yêu cầu
Bước Hành động người dùng Hành động hệ thống
1 Click chọn chức năng xem thông tin cá nhân
Chuyển đến trang hiển thị các thông tin cá nhân người dùng
2 Click chọn chức năng cập nhật thông tin cá nhân
Cho phép người dùng chỉnh sửa các thông tin cá nhân được cho phép chỉnh sửa
3 Nhập thông tin cần chỉnh sửa
Kiểm tra thông tin hợp lệ
Cập nhật lại thông tin mới
Hiển thị lại thông tin vừa cập nhật Dòng sự kiện phụ
Mô tả: Người dùng cập nhật thông tin không hợp lệ
Actor: Người dùng Điều kiện trước: Người dùng đã đăng nhập vào hệ thống Điều kiện sau: Thông tin mới được cập nhật
Bước Hành động người dùng Hành động hệ thống
Kiểm tra thông tin không hợp lệ Báo lỗi thông tin không hợp lệ Trả về trang nhập liệu
Bảng 3.5 Đặc tả Usecase “Quản lý thông tin người dùng”
• Đặc tả Usecase “Tìm kiếm” :
Người dùng đã đăng nhập vào hệ thống có thể dễ dàng tìm kiếm thông tin về các cựu sinh viên khác, giúp họ kết nối và mở rộng mối quan hệ.
Bước Hành động người dùng Hành động hệ thống
1 Nhập thông tin về cựu sinh viên cần tìm kiếm
Hệ thống tìm kiếm và hiển thị danh sách các cựu sinh viên phù hợp yêu cầu
Bảng 3.6 Đặc tả Usecase “Tìm kiếm”
• Đặc tả Usecase “Hiển thị sự kiện” :
Mô tả: Hiển thị các bài đăng về sự kiện dành cho cựu sinh viên và đường dẫn đăng ký
Người dùng đã đăng nhập vào hệ thống có thể nhận biết và đăng ký sự kiện dành cho cựu sinh viên mà họ mong muốn.
Bước Hành động người dùng Hành động hệ thống
1 Click chọn mục “Sự kiện” Hiển thị danh sách các bài đăng sự kiện dành cho cự sinh viên
2 Chọn bài đăng sự kiện mong muốn
Hiển thị bài đăng báo gồm thông tin và đường dẫn đăng ký sự kiện
3 Click vào đường dẫn đăng ký
Tự động lấy thông tin tài khoản người dùng truy cập đăng ký sự kiện và gửi mail thông báo
Mô tả: Đăng ký sự kiện không thành công do hết hạn đăng ký
Để tham gia sự kiện dành cho cựu sinh viên, người dùng cần phải đăng nhập vào hệ thống Nếu không hoàn tất đăng ký thành công, họ sẽ không thể tham gia sự kiện mong muốn.
Bước Hành động người dùng Hành động hệ thống
Hệ thống kiểm tra thấy quá hạn đăng ký
Gửi thông báo quá hạn đăng ký về cho người dùng
Bảng 3.7 Đặc tả Usecase “Hiển thị sự kiện”
• Đặc tả Usecase “Hiển thị thông tin việc làm” :
Mô tả: Hiển thị các bài đăng về việc làm dành cho sinh viên, cựu sinh viên và thông tin, phương thức liên lạc với công ty
Người dùng đã đăng nhập vào hệ thống có thể nhận biết thông tin và phương thức liên lạc với công ty.
Bước Hành động người dùng Hành động hệ thống
1 Click chọn mục “Việc làm” Hiển thị danh sách các bài đăng sự kiện dành cho cự sinh viên
Chọn bài đăng sự kiện mong muốn
Hoặc mở thẳng bài đăng từ đường dẫn được gửi tới mail
Hiển thị bài đăng báo gồm thông tin và phương thức liên lạc phía công ty
Mô tả: Không hiển thị bài đăng do hết hạn tuyển dụng
Actor: Người dùng Điều kiện trước: Người dùng đã đăng nhập vào hệ thống Điều kiện sau: Người dùng không mở được bài đăng mong muốn
Bước Hành động người dùng Hành động hệ thống
Hệ thống kiểm tra thấy quá hạn tuyển dụng
Hiện thông báo quá hạn về cho người dùng
Bảng 3.8 Đặc tả Usecase “Hiển thị thông tin việc làm”
• Đặc tả Usecase “Thống kê” :
Mô tả: Xem các thông tin thống kê về trường, việc làm, mức lương
Người dùng đã đăng nhập vào hệ thống và yêu cầu xuất nội dung thống kê Sau khi thực hiện, hệ thống sẽ trả về kết quả thống kê một cách thành công.
Bước Hành động người dùng Hành động hệ thống
1 Click chọn mục “Thống kê” Hiển thị trang thống kê
2 Chọn chỉ tiêu cần thống kê
3 Nhấn nút “xem” Hệ thống hiển thị các thống kê tương ứng với chỉ tiêu được chọn
Bảng 3.9 Đặc tả Usecase “Thống kê”
Mô tả: Đóng góp ý kiến xây dựng hệ thống, tạo dựng sự kiện, cung cấp việc làm cho nhà trường hỗ trợ sinh viên
Actor: Người dùng Điều kiện trước: Người dùng đã đăng nhập vào hệ thống Điều kiện sau: Nhà trường nhận được các góp ý
Bước Hành động người dùng Hành động hệ thống
1 Click chọn mục “Góp ý” Hiển thị trang góp ý
Nhập nội dung muốn góp ý
Thông tin liên quan công ty
4 Nhấn nút “gửi” Chuyển thông tin cho admin
Bảng 3.10 Đặc tả Usecase “Góp ý”
• Đặc tả Usecase “Đăng nhập” :
Mô tả: Admin đăng nhập vào hệ thống bằng thông tin tài khoản
Actor: Admin Điều kiện trước: Có tài khoản Admin trong hệ thống Điều kiện sau: Đăng nhập thành công vào hệ thống
Bước Hành động người dùng Hành động hệ thống
1 Nhập thông tin username và password
2 Nhấn nút “Đăng nhập” Kiêm tra thông tin username và password
Mô tả: Đăng nhập không thành công
Actor: Admin Điều kiện trước: Có tài khoản Admin trong hệ thống Điều kiện sau: Đăng nhập vào hệ thống thất bại
Bước Hành động người dùng Hành động hệ thống
1 Nhập thông tin username và password
Kiêm tra thông tin username và password
Thông báo tài khoản không tồn tại Trả về trang đăng nhập
Bảng 3.11 Đặc tả Usecase “Đăng nhập”
• Đặc tả Usecase “Đăng xuất” :
Mô tả: Admin đăng xuất tài khoản khỏi hệ thống
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Admin thoát khỏi hệ thống
Bước Hành động người dùng Hành động hệ thống
1 Nhấn nút “Đăng xuất” Đăng xuất tài khoản Admin khỏi hệ thống, đi đến trang đăng nhập của hệ thống
Bảng 3.12 Đặc tả Usecase “Đăng xuất”
• Đặc tả Usecase “Thêm sinh viên” :
Mô tả: Tạo các tài khoản người dùng (loại sinh vên) cung cấp cho sinh viên sắp ra trường
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Danh sách các tài khoản người dùng được tạo
Bước Hành động người dùng Hành động hệ thống
1 Imput danh sách sinh viên sắp tốt nghiệp
Nhận diện file, đọc và xử lý file nhận được
Hiển thị danh sách đọc được, danh sách tài khoản người dùng sẽ được tạo tương ứng
2 Đọc và kiểm tra lại thông tin
Chỉnh sửa username và password người dùng nếu muốn
Hệ thống khởi tạo dữ liệu tài khoản người dùng tương ứng theo danh sách
Trả thông báo khởi tạo thành công cho admin
4 Nhận thông báo khởi tạo thành công
Mô tả: Có vấn đề trong việc khởi tạo tài khoản người dùng
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Danh sách tài khoản khởi tạo thất bại
Bước Hành động người dùng Hành động hệ thống
Hệ thống kiểm tra thông tin và khởi tạo tài khoản thất bại
Gửi thông báo danh sách tài khoản khởi tạo thất bại cho admin
2 Nhận danh sách tài khoản khởi tại thất bại
Bảng 3.13 Đặc tả Usecase “Thêm sinh viên”
• Đặc tả Usecase “Thêm cựu sinh viên” :
Mô tả: Chuyển thông tin các tài khoản loại “sinh viên” thành loại “cựu sinh viên”
Admin đã đăng nhập vào hệ thống và thực hiện chuyển đổi danh sách tài khoản người dùng từ loại sinh viên sang cựu sinh viên.
Bước Hành động người dùng Hành động hệ thống
1 Imput danh sách sinh viên sắp tốt nghiệp
Nhận diện file, đọc và xử lý file nhận được
Hiển thị danh sách đọc được, danh sách tài khoản người dùng sẽ được tạo tương ứng
2 Đọc và kiểm tra lại thông tin
Chỉnh sửa username và password người dùng nếu muốn
Hệ thống khởi tạo dữ liệu tài khoản người dùng tương ứng theo danh sách
Trả thông báo khởi tạo thành công cho admin
4 Nhận thông báo khởi tạo thành công
Bảng 3.14 Đặc tả Usecase “Thêm cựu sinh viên”
• Đặc tả Usecase “Gửi khảo sát” :
Mô tả: Thiết lập gửi tự động hoặc chủ động gửi các khảo sát cựu sinh viên tới các tài khoản người dùng loại “cựu sinh viên”
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Hệ thống gửi mail kèm khảo sát tới cựu sinh viên
Bước Hành động người dùng Hành động hệ thống
1 Chọn mục Gửi khảo sát Chuyển đến trang gửi khảo sát
Chọn ngày/tháng/năm muốn gửi khảo sát
Mẫu mail gửi thông báo và p link khảo sát
Hệ thống sẽ nhận diện ngày và tự động gửi mail (theo mẫu định sẵn) kèm link khảo sát đến tất cả cựu sinh viên
4 Chọn đối tượng gửi khảo sát
Nhấn nút “Gửi khảo sát”
Hệ thống lập tức gửi mail (theo mẫu) kèm link khảo sát đến các đối tượng được chọn
Bảng 3.15 Đặc tả Usecase “Gửi khảo sát”
• Đặc tả Usecase “Thống kê” :
Mô tả: Hiển thị các biểu đồ thống kê về cựu sinh viên
Xuất các thống kê về cựu sinh viên theo tiêu chuẩn
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Xuất các thống kê về cựu sinh viên theo tiêu chuẩn
Bước Hành động người dùng Hành động hệ thống
Chuyển đến trang thống kê
Trang thống kê tải và hiển thị các thống kê được thiết lập sẵn
2 Lựa chọn loại thống kê mong muốn
3 Nhấn nút “hiển thị” Hệ thống tiếp nhận và hiển thị các bảng thống kê tương ứng
4 Nhấn nút “Xuất thống kê” Hệ thống cho xuất thống kê theo tiêu chuẩn được thiết lập sẳn
Bảng 3.16 Đặc tả Usecase “Thống kê”
• Đặc tả Usecase “Quản lý sự kiện” :
Mô tả: Tạo các bài thông báo sự kiện cho sinh viên và cựu sinh viên Gửi mail thông báo bài đăng đến sinh viên và cựu sinh viên
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Tạo bài đăng sự kiện và gửi mail đến các đối tượng mong muốn
Bước Hành động người dùng Hành động hệ thống
1 Chọn mục “Sự kiện” Chuyển đến trang sự kiện
2 Chọn đối tượng muốn gửi
3 Nhập nội dung muốn đăng thông báo và link đăng ký
Hệ thống tạo bài đăng sự kiện và gửi mail thông báo đến các đối tượng mong muốn
Bảng 3.17 Đặc tả Usecase “Quản lý sự kiện”
• Đặc tả Usecase “Quản lý hỗ trợ việc làm” :
Mô tả: Tạo các bài thông báo về việc làm cho sinh viên và cựu sinh viên Gửi mail thông báo việc làm tới các tài khoản phù hợp
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Tạo bài đăng việc làm và gửi mail đến các đối tượng mong muốn
Bước Hành động người dùng Hành động hệ thống
1 Chọn mục “Việc làm” Chuyển đến trang việc làm
2 Lựa chọn loại đối tượng muốn thông báo
3 Nhập nội dung muốn đăng thông báo
Hệ thống tạo bài đăng việc làm và gửi mail thông báo đến các đối tượng mong muốn
Bảng 3.18 Đặc tả Usecase “Quản lý hỗ trợ việc làm”
• Đặc tả Usecase “Hiển thị góp ý” :
Mô tả: Hiển thị các góp ý từ tài khoản người dùng
Actor: Admin Điều kiện trước: Admin đã đăng nhập vào hệ thống Điều kiện sau: Nhìn thấ các góp ý
Bước Hành động người dùng Hành động hệ thống
1 Chọn mục “Góp ý” Chuyển đến trang góp ý
2 Hệ thổng tổng hợp và hiển thị các góp ý nhận được
Bảng 3.19 Đặc tả Usecase “Hiển thị góp ý”
Sơ đồ tuần tự
Hình 3.2 Sơ đồ tuần tự chức năng “Đăng nhập”
Bước 1: Người dùng nhập thông tin username và password sau đó nhấn nút
“login” hệ thống sẽ gửi dữ liệu và gọi xử lý
Bước 2: Dựa theo thông tin nhận được hệ thống sẽ kiểm tra xem tài khoản có hợp lệ hay không
Bước 3: Người dùng đăng nhập vào hệ thống và chuyển đến trang chính
“Home” (Đăng nhập thành công)
Bước 4: Người dùng nhập lại username và password
3.2.2 Chức năng “Quản lý thông tin người dùng”:
Hình 3.3 Sơ đồ tuần tự chức năng “Quản lý thông tin người dùng”
Bước 1: Người dùng chọn mục Account
Bước 2: Màn hình account sẽ hiển thị thông tin người dùng Người dùng có thể chỉnh sửa các thông tin cá nhân được phép
Bước 3: Sau khi chỉnh sửa xong người dùng nhấn “Update” và thông tin sẽ được gửi lên hệ thống để lưu
Hình 3.4 Sơ đồ tuần tự chức năng “Tìm kiếm”
Bước 1: Người dùng nhập thông tin về cựu sinh viên cần tìm kiếm và nhấn nút
Bước 2: Hệ thống sẽ dựa và các từ khóa và hiển thị danh sách các cựu sinh viên phù hợp
Bước 3: Người dùng click chọn một cựu sinh viên
Bước 4: Hệ thống sẽ hiển thị các thông tin cụ thể hơn về cựu sinh viên đó trong phạm vi cho phép
3.2.4 Chức năng “Hiển thị sự kiện”:
Hình 3.5 Sơ đồ tuần tự chức năng “Hiển thị sự kiện
Bước 1: Người dùng chọn mục “Sự kiện”
Bước 2: Hệ thống nhận và hiển thị danh sách các sự kiện
Bước 3: Người dùng chọn một sự kiện trong danh sách
Bước 4: Hệ thống nhận thông tin và gửi lại thông tin chi tiết về sự kiện đó đến người dùng
Bước 5: Người dùng chọn “Đăng ký sự kiện” thông tin của người dùng sẽ được gửi lên hệ thống để đăng ký
Bước 6: Hệ thống sẽ nhận và xác minh thông tin của người dùng cùng với sự kiện Sau đó, lưu trữ thông tin người dùng và danh sách tham gia sự kiện Cuối cùng, gửi email thông báo chi tiết về sự kiện đến người dùng.
3.2.5 Chức năng “Hiển thị việc làm”:
Hình 3.6 Sơ đồ tuần tự chức năng “Hiển thị việc làm”
Bước 1: Người dùng chọn mục “Job”
Hệ thống thu thập thông tin từ người dùng để xác định các cơ hội việc làm phù hợp Sau đó, nó xử lý dữ liệu và lọc ra những công việc thích hợp, từ đó hiển thị danh sách việc làm cho người dùng.
Bước 3: Người dùng chọn một công việc trong danh sách
Bước 4: Hệ thống gửi thêm các thông tin về việc làm để người dùng nắm các thông tin chi tiết và cách liên hệ
Hình 3.7 Sơ đồ tuần tự chức năng “Góp ý”
Bước 1: Người dùng chọn mục “Feedback” Nhập các thông tin feedback như loại (Feedback/event/job) và nội dung Sau đó nhấn “Send” gửi thông tin đến hệ thống
Bước 2: Hệ thống nhận thông tin và lưu trữ lại data
Hình 3.8 Sơ đồ tuần tự chức năng “Thống kê”
Bước 1: Người dùng chọn mục “statistical” Chọn mục khảo sát mong muốn GỬi thông tin từ khóa cần khảo sát về hệ thống
Bước 2: Hệ thống nhận dữ liệu từ data và xử lý hiển thị mục thống kê người dùng cần
Bước 3: Người dùng chọn nút “Export”
Bước 4: Hệ thống sẽ xuất file thống kê người dùng muốn theo mẫu được thiết lập (tiêu chuẩn)
3.2.8 Chức năng “Thêm cựu sinh viên”:
Hình 3.9 Sơ đồ tuần tự chức năng “Tìm kiếm”
Bước 1: Người dùng nhấn nút “import student” Chọn file (excel)
Bước 2: Hệ thống đọc file và hiển thị danh sách sinh viên
Bước 3: Người dùng chọn nút “Add student” Gửi dữ liệu về hệ thống
Bước 4: Hệ thống nhận và tạo dữ liệu sinh viên
Bước 5: Người dùng nhấn nút “import almumni” và chọn file
Hệ thống tiến hành đọc file và hiển thị danh sách cựu sinh viên, từ đó tìm kiếm thông tin sinh viên tương ứng đã được lưu trữ Sau khi so sánh, hệ thống sẽ thông báo về sự tồn tại của sinh viên tương ứng trong cơ sở dữ liệu.
Bước 7: Người dùng nhận được thông báo không thể thêm cựu sinh viên (Cựu sinh viên không có tài khoản loại sinh viên trước đó trong hệ thống)
Bước 8: Người dùng nhấn “Update Alumni”, gửi thông tin về hệ thống (cựu sinh viên có tài khoản loại sinh viên trước đó trong hệ thống)
Bước 9: Hệ thống nhận và cập nhật lại thông tin các tài khoản sinh viên thành cựu sinh viên và các thông tin liên quan khác
3.2.9 Chức năng “Gửi khảo sát”:
Hình 3.10 Sơ đồ tuần tự chức năng “Gửi khảo sát”
Bước 1: Tạo bảng khảo sát, ngày gửi khảo sát và gửi tới hệ thống
Bước 2: Hệ thống lưu lại dữ liệu
Bước 3: Hệ thống kiểm tra ngày có trùng với ngày gửi khảo sát
Bước 4: Hệ thống nhận danh sách cựu sinh viên và gửi bảng khảo sát tới email cựu sinh viên
Bước 5: Hệ thống nhận kết quả khảo sát từ cựu sinh viên và lưu trữ lại
Bước 6: Nhấn gửi khảo sát (quản lý muốn lập tức gửi khảo sát đến cựu sinh viên
Bước 7: Hệ thống nhận danh sách cựu sinh viên và gửi bảng khảo sát tới email cựu sinh viên
Bước 8: Hệ thống nhận kết quả khảo sát từ cựu sinh viên và lưu trữ lại.
Thiết kế cơ sở dữ liệu
Mô tả: Lưu thông tin tài khoản người dùng (SV, CSV)
1 ID numeric ID người dùng
2 Username nvarchar Tên tài khoản người dùng
3 Password nvarchar Mật khẩu tài khoản người dùng
4 CSV bit Loại tài khoản cựu sinh viên hoặc sinh viên
5 Ten nvarchar Họ tên người dùng
7 AvatarURL nvarchar Đường link hình dại diện của tài khoản
8 MSSV nvarchar Mã số sinh viên của người dùng
9 SDT nvarchar Số diện thoại người dùng
10 Email nvarchar Email người dùng
11 Khoa nvarchar Khoa của người dùng
12 NienKhoa nvarchar Năm nhập học của người dùng
13 NamTN numeric Năm tốt nghiệp của người dùng
14 Facebook nvarchar Facebook của người dùng
Bảng 3.20 Danh sách của thuộc tính đối tượng dữ liệu NGUOIDUNG
Mô tả: Khảo sát hằng năm của cựu sinh viên
1 ID numeric Id người thực hiện khảo sát
2 Day date Ngày thực hiện khảo sát
3 TinhTrang bit Tình trạng việc làm của người thực hiện khảo sát Có việc làm hay không
4 LyDo nvarchar Lý do chưa có việc làm của người làm khảo sát
5 MucLuong int Mức lương hiện tại nếu có
6 CongTy nvarchar Tên công ty người làm khảo sát đang làm việc nếu có
7 DiaChi nvarchar Địa chỉ công ty người làm khảo sát nếu có
8 ViTri nvarchar Vị trí công việc
9 PhuHop tinyint Độ phù hợp của công việc đối với kiến thức được học
10 HaiLong tinyint Độ hài lòng về công việc hiện tại
11 DanhGiaMucLuong tinyint Độ hài lòng về mức lượng đang nhận được
12 NoiTroi nvarchar Điểm nổi trội của bản thân
13 PhatTrien nvarchar Phương hướng đang phát triển bản thân (Học av, bằng mới…)
Bảng 3.21 Danh sách của thuộc tính đối tượng dữ liệu KHAOSAT
Mô tả: Thu thập ý kiến sau tốt nghiệp
1 ID numeric Id người thực hiện khảo sát
2 Day date Ngày thực hiện khảo sát
3 KienThuc numeric Độ phù hợp kiến thức đối với công việc
4 KyNang numeric Độ phù hợp về kỹ năng được giảng dạy đối với công việc
5 DoAn numeric Độ phù hợp của các đồ án được thực hiện đối với công việc
NgoaiNgu nvarchar Mức độ yêu cầu tiếng anh của trường so với yêu cầu tiếng anh trong công việc
DongGop nvarchar Khả năng hỗ trợ người dùng có thể cung cấp cho Nhà trường trong công tác đào tạo
8 Ykien nvarchar Góp ý của người dùng về Nhà trường
9 TuTuong nvarchar Tư tưởng về xu hướng CNTT
Bảng 3.22 Danh sách của thuộc tính đối tượng dữ liệu DANHGIA
Mô tả: nội dung các bài đăng thông báo
1 ID numeric Id của bài đăng thông báo
2 Loai numeric Loại (sự kiện, việc làm, góp ý) bài đăng
3 ND nvarchar Nội dung bài đăng
4 NgayTao date Ngày đăng bài
5 NgayKT date Hạn chót đăng ký của sự kiện
Bảng 3.23 Danh sách của thuộc tính đối tượng dữ liệu BAIDANG
Mô tả: Danh sách cựu sinh viên đăng ký sự kiện
1 ID numeric Id của bài đăng
2 IDUser numeric Id của người dùng đăng ký
3 NgayDK date Ngày đăng ký
Ten nvarchar Tên người dùng đăng ký
4 Email nvarchar Email của người dùng đăng ký
5 SDT nvarchar Số điện thoại của người dùng đăng ký
Bảng 3.24 Danh sách của thuộc tính đối tượng dữ liệu DANGKY
Thiết kế kiến trúc hệ thống
Hình 3.11 Sơ đồ tổng quan kiến trúc hệ thống
Hình 3.12 Sơ đồ kiến trúc hệ thống của website
Sử dụng Azure SQL DB để lưu trữ toàn bộ dữ liệu hệ thống của website, bao gồm thông tin tài khoản người dùng, nhóm các đối tượng, nhóm các sự kiện và dữ liệu do người dùng gửi lên.
Khối quản lý Cơ sở dữ liệu đảm bảo rằng dữ liệu được tổ chức và lưu trữ một cách hệ thống trong Database, đồng thời cho phép truy xuất dữ liệu một cách nhất quán và hiệu quả.
Khối Xử lý logic trong bố cục doanh nghiệp sử dụng ADO.NET để chuyển đổi dữ liệu thành các đối tượng ứng dụng Những đối tượng này sẽ thực hiện các lệnh mà hệ thống nhận từ người dùng ở tầng trên.
The Web API utilizes the connection ports of the Controller and Route, allowing the system to receive commands from the Interface Layout and execute them within the Business Layout in an independent and precise manner.
Giao diện bố trí là nơi tiếp nhận tất cả các tương tác từ người dùng, giúp nhận diện, xử lý và đóng gói các tương tác để gửi đến hệ thống xử lý.
Giao diện người dùng (UI) là phần thiết kế hiển thị toàn bộ trải nghiệm mà người dùng tương tác với website Nó bao gồm các bản thiết kế của nhà phát triển, giúp người dùng dễ dàng sử dụng các tính năng của trang web thông qua giao diện trực quan và thân thiện.
Thiết kế giao diện
3.5.1 Sơ đồ liên kết giao diện
Hình 3.13 Sơ đồ liên kết giao diện
STT Tên giao diện Mô tả giao diện
1 Đăng ký Giao diện đăng ký mới một tài khoản người dùng
2 Đăng nhập Giao diện đăng nhập vào hệ thống
Giao diện trang chủ của người dùng, hiện các thống kê tổng quan về các trường đại học
4 Thông tin Giao điện trang thông tin người dùng, người dùng có thể chỉnh sửa thông tin cá nhân tại giao diện này
5 Tìm kiếm Giao diện tìm kiếm người dùng khác thông qua các thông tin từ khóa
6 Sự kiện/Tin tức Giao diện danh mục các bài viết, tin tuyển dụng
Giao diện chi tiết nội dung bài viết cung cấp thông tin tuyển dụng, cho phép người dùng gửi thông tin cá nhân trực tiếp đến nhà tuyển dụng.
8 Góp ý Giao điện cho phép người dùng nhập các thông tin và gửi chúng về cho nhà phát triển để cập nhật, đối chiếu thông tin trực quan
Bảng 3.25 Danh sách giao diện
⚫ Giao diện trang Đăng ký
Hình 3.14 Giao diện trang “Đăng ký - 1”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Email Edit text Nhập email muốn đăng ký
2 Tiếp theo Button Nhấn vào “Tiếp theo” để di chuyển sang trang đăng ký 2
Bảng 3.26 Thành phần giao diện “Đăng ký - 1”
Hình 3.15 Giao diện trang “Đăng ký - 2”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Mật khẩu Edit text Nhập mật khẩu của tài khoản
2 Hiện mật khẩu Check box Dùng để hiển thị đầy đủ mật khẩu tài khoản vừa nhập
3 Tạo tài khoản Button Nhấn vào “Tạo tài khoản” để tạo mới tài khoản và đi đến trang Đăng nhập
Bảng 3.27 Thành phần giao diện “Đăng ký - 2”
⚫ Giao diện trang Đăng nhập
Hình 3.16 Giao diện trang “Đăng nhập - 1”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Tên đăng nhập Edit text Nhập email dùng để đăng nhập hệ thống
2 Tiếp theo Button Nhấn vào “Tiếp theo” để di chuyển sang trang đăng nhập 2
Bảng 3.28 Thành phần giao diện “Đăng nhập - 1”
Hình 3.17 Giao diện trang “Đăng nhập - 2”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Mật khẩu Edit text Nhập mật khẩu của tài khoản
2 Hiện mật khẩu Check box Dùng để hiển thị đầy đủ mật khẩu tài khoản vừa nhập
3 Đăng nhập Button Nhấn vào “Đăng nhập” để tiến hành đăng nhập vào hệ thống và di chuyển đến trang chủ Thống kê
Bảng 3.29 Thành phần giao diện “Đăng nhập - 2”
⚫ Giao diện trang chủ (Thống kê)
Hình 3.18 Giao diện trang chủ “Thống kê”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Thông tin Button Đi đến trang Thông tin người dùng
2 Thống kê Button Đi đến trang Thống kê
3 Tìm kiếm Button Đi đến trang Tìm kiếm
4 Sự kiện Button Đi đến trang Sự kiện/Tin tức
5 Góp ý Button Mở giao diện góp ý
Bảng 3.30 Thành phần giao diện Header của website
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Thiết lập Button Thiết lập tùy chọn hiển thị bảng Thống kê
2 Làm mới Button Làm mới lại bảng Thống kê
3 Xuất Excel Button Xuất thông tin bảng Thống kê ra tập tin
4 Chia sẻ Button Chia sẻ liên kết thông qua các mạng xã hội
5 Góp ý Button Mở giao diện Góp ý
6 Từ khóa Edit text Nhập từ khóa cần tìm kiếm trong bảng
7 Trang trước Button Hiển thị thông tin danh mục bảng trước đó
8 Trang kế Button Hiển thị thông tin danh mục bảng tiếp theo
9 Số trang Combo box Đi đến danh mục bảng cần hiển thị
Bảng 3.31 Thành phần giao diện “Thống kê”
⚫ Giao diện trang Thông tin
Hình 3.19 Giao diện trang chủ “Thống kê”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Trang cá nhân Hyperlink text Mở giao diện thông tin Trang cá nhân
2 Liên hệ Hyperlink text Làm mới lại thông tin Liên hệ
Button Mở giao diện thay đổi Mật khẩu
Bảng 3.32 Thành phần giao diện “Thông tin”
⚫ Giao diện trang Tìm kiếm
Hình 3.20 Giao diện trang chủ “Tìm kiếm”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Thêm Button Thêm người dùng vào danh sách (Dành cho admin)
2 Thiết lập Button Thiết lập tùy chọn hiển thị bảng Thống kê
3 Làm mới Button Làm mới lại bảng Thống kê
4 Xuất Excel Button Xuất thông tin bảng Thống kê ra tập tin
5 Chia sẻ Button Chia sẻ liên kết thông qua các mạng xã hội
6 Thẻ Button Gắn thẻ cho người dùng (Dành cho admin)
7 Xóa Button Xóa người dùng ra khỏi hệ thống (Dành cho admin)
8 Góp ý Button Mở giao diện Góp ý
9 Từ khóa Edit text Nhập từ khóa cần tìm kiếm trong bảng
10 Trang trước Button Hiển thị thông tin danh mục bảng trước đó
11 Trang kế Button Hiển thị thông tin danh mục bảng tiếp theo
12 Số trang Combo box Đi đến danh mục bảng cần hiển thị
Bảng 3.33 Thành phần giao diện “Tìm kiếm”
⚫ Giao diện trang Sự kiện/Tin tức
Hình 3.21 Giao diện trang chủ “Sự kiện/Tin tức”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
1 Tin tuyển dụng Hyperlink text Mở giao diện trang Tin tuyển dụng
2 Tin tức Hyperlink text Mở giao diện trang Tin tức
3 Chức danh, Kỹ năng, Tên công ty
Edit text Nhập từ khóa để lọc danh mục sự kiện theo từ khóa
Edit text Nhập từ khóa để lọc danh mục sự kiện theo từ khóa
5 Tất cả địa điểm Edit text Nhập từ khóa để lọc danh mục sự kiện theo từ khóa
6 Tìm kiếm Button Nhấn vào “Tìm kiếm” để lọc danh mục sự kiện
Bảng 3.34 Thành phần giao diện “Sự kiện/Tin tức”
⚫ Giao diện trang Chi tiết bài viết
Hình 3.22 Giao diện trang chủ “Chi tiết bài viết”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
Button Mở giao diện trang Ứng tuyển
Hyperlink text Mở giao diện trang Chi tiết công việc
Hyperlink text Mở giao diện trang Tổng quan công ty
Bảng 3.35 Thành phần giao diện “Chi tiết bài viết”
Hình 3.23 Giao diện trang chủ “Góp ý”
STT Tên thành phần Loại thành phần Mô tả chức năng của thành phần
Check box Chọn loại góp ý “Xây dựng hệ thống”
Check box Chọn loại góp ý “Tạo dựng sự kiện”
Check box Chọn loại góp ý “Tạo dựng việc làm”
4 Thông tin Edit text Nhập nội dung cần góp ý
5 Gửi mail Check box Chọn cho phép hệ thống gửi mail góp ý về thư điện tử người dùng
6 Gửi góp ý Button Nhấn “Gửi góp ý” để tiến hành gửi Thư về nhà phát triển
Bảng 3.36 Thành phần giao diện “Góp ý