CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. KIẾN TRÚC TỔNG THỂ VÀ CÔNG NGHỆ SỬ DỤNG 1. Thiết kế kiến trúc 1. Lựa chọn kiến trúc phần mềm [1] Cấu trúc của hệ thống tuân thủ tuyệt đối theo mô hình MVC (Model - View - Controller).
Một trong những mục tiêu chính của kiến trúc này là tách biệt việc hiển thị thông tin trực quan khỏi các quy tắc nghiệp vụ và quản lý dữ liệu cơ bản. Điều này đúng với việc duy trì tính linh hoạt trong việc xem dữ liệu. Sau đây em sẽ nói qua về mô hình trên. MVC viết tắt của Model – View – Controller, là một phương pháp luận hoặc mẫu kiến trúc được sử dụng rộng rãi mới mục đính chính để liên kết hiệu quả giao diện người dùng với các mô hình dữ liệu cơ bản và tổ chức để liên kết tới đoạn mã ứng dụng.
MVC chủ yếu được sử dụng để tách một ứng dụng thành ba thành phần chính: Model, View và Controller. − Model: 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 (MSSQL), nó sẽ bao gồm các hàm/lớp 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à nơi chứa những giao diện như một nút bấm, khung nhập, menu, hình ảnh…nó đảm nhiệm nhiệm vụ hiển thị dữ liệu và giúp người dùng tương tác với hệ thống. − Controller: là nơi tiếp nhận những yêu cầu xử lý được gửi từ người dùng, nó sẽ bao gồm những class/function xử lý nhiều nghiệp vụ logic giúp lấy đúng dữ liệu, thông tin cần thiết nhờ các nghiệp vụ lớp Model cung cấp và hiển thị dữ liệu đó ra cho người dùng nhờ lớp View. View không giao tiếp trực tiếp với Model.
Sự tương tác giữa View và Model sẽ chỉ được xử lý thông qua Controller. Dưới đây là sơ đồ kiến trúc mô hình MVC: 10 THƯ VIỆN ĐẠI HỌC THĂNG LONG Hình 1. Mô hình MVC 1. Mô hình cấu trúc Mô-đun 1.1 Định nghĩa mô-đun Hệ thống được chia ra làm nhiều mô-đun, mỗi mô-đun đảm nhiệm một chức năng riêng biệt.
Nhờ việc mở rộng số lượng các mô-đun mà phần mềm có thể thêm các chức năng mới, tùy chỉnh các chức năng hiện có, thay đổi giao diện người dùng, xử lý dữ liệu, quản lý tài nguyên,. Mỗi mô-đun có một tên duy nhất và chứa các tệp và thư mục cần thiết để thực hiện các chức năng của nó. Các lập trình viên có thể sử dụng Java, XML và các ngôn ngữ lập trình khác để phát triển. Sau đây là cấu trúc chi tiết một mô-đun trong dự án: THƯ VIỆN ĐẠI HỌC THĂNG LONG Hình 1.
Cấu trúc chi tiết 1.2 Diễn giải chi tiết mô hình cấu trúc mô-đun Tất cả các thư mục đều có một số mục đích lưu trữ tệp duy nhất, xác định. − models : Thư mục này chứa các lớp model được định nghĩa bằng java, mô tả cấu trúc của các đối tượng, ví dụ như ứng viên, nhân viên,. − controllers : Thư mục này chứa các tệp java mô tả hành vi của mô-đun, bao gồm các xử lý HTTP request, HTTP routes, xử lý thông báo,. − security : Thư mục này chứa các tệp java mô tả quyền truy cập cho các nhóm người dùng, nhóm quyền,.
− Pom: File này chứa thông tin về các phụ thuộc, cấu hình và plugin của dự án − Test: Thư mục này chứa các tệp nội dung dữ liệu thử nghiệm. Tuy nhiên, nó sẽ chỉ kích hoạt khi chạy kiểm tra dữ liệu thử nghiệm trong khi tạo cơ sở dữ liệu. Các tệp thử nghiệm luôn tải tại thời điểm cài đặt mô-đun. − Config: Thư mục này chứa các tệp java làm nhiệm vụ config các cài đặt của hệ thống − Service: Thư mục này chứa các tệp java làm nhiệm vụ xử lý các logic của hệ thống − Utils: Thư mục này chứa các tệp java tiện ích dùng chung cho cả hệ thống.
− Static: Chứa ảnh, web assets, js, css,. Đây gần như là giao diện của hệ thống. − Template: Chứa các file html tạo ra giao diện của hệ thống. − Properties: Thư mục này chứa các file .properties trong dự án là tệp cấu hình dùng để lưu trữ thông tin cấu hình của ứng dụng 12 THƯ VIỆN ĐẠI HỌC THĂNG LONG − Repository: Thư mục này chứa các file java dùng để giao tiếp với database.
Thiết kế tổng quan Mô tả sơ lược về hệ thống: − Hệ thống là một cấu trúc bao gồm các thư mục controllers, models, static, views. − Quan hệ giữa gói controllers và những gói khác: Dữ liệu khi từ người dùng gửi lên sẽ được kiểm tra bởi các hàm đã được khởi tạo và xử lý trong các controllers. Sau đó các models tương ứng được gọi và sẽ được khởi tạo. − Việc hiển thị ra các widget ở giao diện người dùng và các hiệu ứng đi kèm được trợ giúp thông qua việc gọi các đoạn mã HTML, CSS và Javascript được lấy từ gói static.
Giao diện được trả ra cho người dùng gắn với hàm được gọi đến ở phần khai báo của từng mô-đun. Thư viện và công cụ sử dụng lập trình 1. Phần mền IntelliJ IDEA IntelliJ IDEA, phần mềm IDE (Integrated Development Environment) được phát triển bởi JetBrains, là một trong những công cụ phát triển phần mềm hàng đầu trên thị trường hiện nay. Với sự kết hợp giữa tính năng mạnh mẽ và giao diện người dùng thân thiện, IntelliJ IDEA đã trở thành lựa chọn ưa thích của nhiều nhà phát triển trên toàn thế giới.
Một trong những ưu điểm nổi bật của IntelliJ IDEA là khả năng tích hợp tốt với nhiều ngôn ngữ lập trình khác nhau. IDE này không chỉ hỗ trợ Java mà còn có thể làm việc với nhiều ngôn ngữ lập trình phổ biến khác như Kotlin, Scala, Groovy, JavaScript, HTML, CSS và nhiều ngôn ngữ khác. Điều này giúp cho các nhà phát triển có thể làm việc hiệu quả trên các dự án đa nền tảng và đa ngôn ngữ một cách thuận tiện. 13 THƯ VIỆN ĐẠI HỌC THĂNG LONG IntelliJ IDEA cung cấp một loạt các tính năng hỗ trợ mạnh mẽ giúp tăng hiệu suất làm việc của nhà phát triển.
Các tính năng như code completion (hoàn thành mã), code refactoring (tái cấu trúc mã), debugging (gỡ lỗi), version control inte- gration (tích hợp quản lý phiên bản), và unit testing (kiểm thử đơn vị) giúp giảm thiểu thời gian và công sức trong quá trình phát triển phần mềm. Ngoài ra, IntelliJ IDEA còn có một loạt các plugin mở rộng mạnh mẽ, cho phép người dùng tùy chỉnh và mở rộng các tính năng của IDE theo nhu cầu của mình. Tích hợp với các công cụ như Maven, Gradle và Ant cũng giúp việc quản lý dự án trở nên dễ dàng hơn. Không chỉ là một công cụ phát triển mã nguồn mở, IntelliJ IDEA còn cung cấp phiên bản Ultimate với các tính năng mở rộng và hỗ trợ cao cấp hơn cho các dự án doanh nghiệp và các nhà phát triển chuyên nghiệp.
Tóm lại, IntelliJ IDEA không chỉ là một IDE thông thường mà còn là một công cụ mạnh mẽ và linh hoạt, giúp cho việc phát triển phần mềm trở nên dễ dàng và hiệu quả hơn. Với sự kết hợp giữa tính năng mạnh mẽ, tích hợp đa ngôn ngữ và giao diện người dùng thân thiện, IntelliJ IDEA tiếp tục là lựa chọn hàng đầu của nhiều nhà phát triển trên toàn thế giới. Link tham khảo: [2] 1. Framework Springboot Spring Boot, một trong những framework phát triển ứng dụng phổ biến nhất trong cộng đồng phần mềm ngày nay, đã thay đổi cách mà chúng ta xây dựng và triển khai các ứng dụng Java.
Với sự linh hoạt, tiện ích và hiệu suất cao, Spring Boot đã trở thành công cụ không thể thiếu đối với các nhà phát triển phần mềm. Spring Boot được xây dựng trên cơ sở của Spring Framework, một trong những framework Java phổ biến nhất cho việc phát triển ứng dụng doanh nghiệp. Tuy nhiên, 14 THƯ VIỆN ĐẠI HỌC THĂNG LONG điểm mạnh của Spring Boot là khả năng tự cấu hình và tự triển khai, giúp giảm thiểu sự phức tạp trong việc cấu hình và triển khai ứng dụng. Một trong những ưu điểm lớn nhất của Spring Boot là khả năng tích hợp tốt với các công nghệ khác nhau.
Spring Boot cung cấp các cơ chế linh hoạt để kết nối với các cơ sở dữ liệu phổ biến như MySQL, PostgreSQL, MongoDB và nhiều hơn nữa. Nó cũng hỗ trợ tích hợp với các dịch vụ cloud như AWS, Azure và Google Cloud Platform, giúp cho việc phát triển và triển khai ứng dụng trở nên dễ dàng hơn. Ngoài ra, Spring Boot cũng cung cấp một loạt các tính năng như xử lý RESTful, thực thi giao diện người dùng, quản lý phiên bản, và nhiều hơn nữa. Điều này giúp cho việc xây dựng các ứng dụng phức tạp trở nên dễ dàng hơn và tăng tính linh hoạt cho các nhà phát triển.
Một trong những điểm mạnh khác của Spring Boot là cộng đồng sôi nổi và hỗ trợ mạnh mẽ từ cộng đồng phần mềm nguồn mở. Với một loạt các tài liệu, hướng dẫn và ví dụ, người dùng Spring Boot có thể dễ dàng tìm thấy sự giúp đỡ và hỗ trợ khi cần thiết. Tóm lại, Spring Boot không chỉ là một framework phát triển ứng dụng, mà còn là một cộng đồng và hệ sinh thái đầy đủ và mạnh mẽ. Với sức mạnh của mình, Spring Boot đã và đang làm thay đổi cách chúng ta xây dựng và triển khai các ứng dụng Java, từ các dự án nhỏ đến các hệ thống quy mô lớn.
Link tham khảo: [3] 1. Ngôn ngữ lập trình Java Java, một trong những ngôn ngữ lập trình quan trọng và phổ biến nhất trên thế giới, đã trở thành cột mốc quan trọng trong lịch sử của ngành công nghiệp phần mềm. Với việc ra đời vào cuối những năm 1990, Java đã mang lại một sự đột phá lớn trong việc phát triển phần mềm bằng cách đưa ra một nền tảng linh hoạt và đa nền tảng. Một trong những yếu tố quan trọng nhất làm nên sức hút của Java là tính chất đa nền tảng của nó.
Java có thể chạy trên một loạt các hệ điều hành khác nhau, từ Windows, 15 THƯ VIỆN ĐẠI HỌC THĂNG LONG macOS, Linux đến các hệ điều hành dựa trên Unix, mà không cần thay đổi mã nguồn. Điều này là nhờ vào việc sử dụng máy ảo Java (JVM), là một phần mềm giúp dịch và thực thi mã nguồn Java trên các nền tảng khác nhau một cách đồng nhất. Khả năng bảo mật của Java cũng là một điểm nổi bật khác. Với hệ thống quản lý bộ nhớ tự động (garbage collection) và cơ chế kiểm soát quyền truy cập, Java giúp ngăn chặn nhiều lỗ hổng bảo mật phổ biến, như tràn bộ nhớ và các vấn đề liên quan đến quản lý tài nguyên.