#3:Công dụng nổi bật nhất của máy tính là giải quyết vấn đề một cách nhanh chóng và chính xác.
Giải pháp được áp dụng để giải quyết vấn đề được cung cấp dưới dạng một chuỗi các hướng dẫn hoặc thông số kỹ thuật của hoạt động cho phép người dùng đạt được kết quả mong muốn.
Giải pháp để giải quyết một vấn đề trong lĩnh vực công nghệ thông tin đạt được bằng cách phát triển các ứng dụng phần mềm.
Một ứng dụng phần mềm có thể được định nghĩa là một tập hợp các chương trình được viết bằng ngôn ngữ lập trình cấp cao để giải quyết một vấn đề cụ thể.
#4:Kiến thức về miền:
🞛 Đóng vai trò quan trọng trong khi phát triển các ứng dụng phần mềm
🞛 Có thể được định nghĩa là lĩnh vực kinh doanh hoặc công nghệ mà vấn đề thuộc về
🞛 Hình minh họa sự phát triển của ứng dụng phần mềm như một giải pháp để quản lý các hoạt động khác nhau trong một miền ngân hàng.
#5:Ngôn ngữ lập trình:
🞛 Phát triển ứng dụng phần mềm được thực hiện bằng ngôn ngữ lập trình.
🞛 Ngôn ngữ lập trình được sử dụng như một phương tiện để truyền đạt hướng dẫn đến máy tính.
🞛 Ngôn ngữ lập trình áp dụng một phong cách lập trình cụ thể được gọi là mô hình lập trình.
🞛 Hai loại mô hình lập trình:
#6:Trong mô hình lập trình có cấu trúc, quá trình phát triển ứng dụng được phân chia thành một hệ thống phân cấp các chương trình con.
Các chương trình con được gọi là các thủ tục, hàm hoặc mô-đun trong các ngôn ngữ lập trình có cấu trúc khác nhau.
Mỗi chương trình con được xác định để thực hiện một nhiệm vụ cụ thể.
Một số ngôn ngữ lập trình có cấu trúc là C, Pascal và Cobol.
#7:Nhược điểm chính của ngôn ngữ lập trình có cấu trúc như sau:
🞛 Dữ liệu được chia sẻ toàn cầu giữa các chương trình con.
🞛 Nỗ lực được dành cho việc hoàn thành giải pháp thay vì tập trung vào phạm vi vấn đề.
Điều này thường dẫn đến khủng hoảng phần mềm vì chi phí bảo trì các ứng dụng phức tạp trở nên cao và tính khả dụng của phần mềm đáng tin cậy bị giảm.
#8:Sự phức tạp ngày càng tăng của phần mềm đòi hỏi phải thay đổi phong cách lập trình.
Một số tính năng được nhắm đến là:
🞛 Phát triển phần mềm đáng tin cậy với chi phí thấp hơn.
🞛 Giảm chi phí bảo trì.
🞛 Phát triển các thành phần phần mềm có thể tái sử dụng.
🞛 Hoàn thành phát triển phần mềm trong khoảng thời gian đã chỉ định.
Những tính năng này dẫn đến sự phát triển của mô hình lập trình hướng đối tượng.
Các ứng dụng phần mềm được phát triển bằng mô hình lập trình hướng đối tượng là:
🞛 Được thiết kế xung quanh dữ liệu, thay vì chỉ tập trung vào chức năng.
Hình minh họa các hoạt động khác nhau liên quan đến phát triển phần mềm hướng đối tượng:
#9:Giai đoạn Phân tích hướng đối tượng (OOA) xác định chức năng của hệ thống.
Giai đoạn Thiết kế hướng đối tượng (OOD) xác định quy trình lập kế hoạch cho một hệ thống trong đó các đối tượng tương tác với nhau để giải quyết vấn đề phần mềm.
Lập trình hướng đối tượng (OOP) xử lý việc triển khai thực tế của ứng dụng.
Ngôn ngữ mô hình hóa thống nhất (UML) giúp tạo ra các mô hình trực quan trong hệ thống.
Việc triển khai thực tế các mô hình trực quan này được thực hiện bằng ngôn ngữ OOP.
#10:- Biểu diễn một thực thể sở hữu một số tính năng và hành vi nhất định.
- Là một mẫu được sử dụng để tạo các đối tượng của lớp đó.
- Là một kỹ thuật thiết kế chỉ tập trung vào các tính năng thiết yếu của một thực thể cho một miền vấn đề cụ thể.
- Là một cơ chế kết hợp dữ liệu và chi tiết triển khai thành một đơn vị duy nhất được gọi là lớp.
- Cho phép nhà phát triển mở rộng và tái sử dụng các tính năng của các lớp hiện có và tạo các lớp mới. Các lớp mới được gọi là lớp dẫn xuất.
- Là khả năng của một đối tượng để phản hồi cùng một thông báo theo những cách khác nhau.
#11:Một đối tượng đại diện cho một thực thể trong thế giới thực.
Bất kỳ thực thể hữu hình hoặc có thể chạm vào nào trong thế giới thực đều có thể được mô tả là một đối tượng.
Hình minh họa một số thực thể trong thế giới thực:
Mỗi đối tượng có:
🞛 Đặc điểm – Được định nghĩa là các thuộc tính, tính chất hoặc đặc điểm mô tả đối tượng.
🞛 Hành động – Được định nghĩa là các hoạt động hoặc thao tác do đối tượng thực hiện.
Ví dụ về một đối tượng, Chó.
🞛 Thuộc tính – Giống, Màu sắc và Độ tuổi
🞛 Hành động – Sủa, Ăn và Chạy
Khái niệm về các đối tượng trong thế giới thực có thể được mở rộng sang thế giới lập trình, nơi có thể định nghĩa 'đối tượng' phần mềm.
#12:Một đối tượng phần mềm có trạng thái và hành vi.
‘Trạng thái’ đề cập đến các đặc điểm hoặc thuộc tính của đối tượng.
‘Hành vi’ của đối tượng phần mềm bao gồm các hành động của nó.
Hình sau đây cho thấy một đối tượng phần mềm, một chiếc xe với trạng thái và hành vi của nó:
#13:Trong thế giới thực, một số đối tượng:
🞛 Có trạng thái và hành vi chung.
🞛 Có thể được nhóm lại thành một lớp duy nhất.
🞛 Ví dụ: Tất cả các đối tượng ô tô đều có các thuộc tính, chẳng hạn như màu sắc, nhãn hiệu hoặc kiểu máy.
Lớp:
🞛 Có thể định nghĩa rằng một lớp là một mẫu hoặc bản thiết kế xác định trạng thái và hành vi cho tất cả các đối tượng thuộc về lớp đó.
🞛 Hình sau đây cho thấy một chiếc ô tô là một mẫu và một chiếc ô tô Toyota là một đối tượng hoặc thể hiện của lớp:
#14:Lớp bao gồm các trường và phương thức, được gọi chung là thành viên.
🞛 Trường – Là các biến mô tả trạng thái của các đối tượng.
🞛 Phương thức – Là các hàm mô tả hành vi của các đối tượng.
#15:Đây là một trong những ngôn ngữ OOP phổ biến nhất.
Nó giúp các lập trình viên phát triển nhiều loại ứng dụng có thể chạy trên nhiều phần cứng và Hệ điều hành (OS) khác nhau.
Đây cũng là một nền tảng tạo ra môi trường để thực thi ứng dụng Java.
Nó đáp ứng các vấn đề từ quy mô nhỏ đến quy mô lớn trên Internet.
Các ứng dụng Java được xây dựng trên nhiều nền tảng khác nhau, từ:
🞛 Thiết bị nhúng đến ứng dụng máy tính để bàn
🞛 Ứng dụng web đến điện thoại di động
🞛 Ứng dụng doanh nghiệp lớn đến siêu máy tính
#20:Tính năng Chia sẻ dữ liệu lớp (CDS) giúp giảm thời gian khởi động và dung lượng bộ nhớ giữa nhiều JVM.
Khi bạn sử dụng trình cài đặt để cài đặt Oracle JRE, trình cài đặt sẽ tải một tập hợp các lớp mặc định từ tệp Lưu trữ Java (JAR) của hệ thống vào một biểu diễn nội bộ riêng tư.
Bộ nhớ cho các ứng dụng bao gồm hai thành phần, cụ thể là ngăn xếp và đống. Ngăn xếp là một vùng trong bộ nhớ lưu trữ các tham chiếu đối tượng và thông tin phương thức. Vùng đống của bộ nhớ xử lý các phân bổ bộ nhớ động.
Một phần của kho lưu trữ được chia sẻ trên cùng một máy chủ được ánh xạ thành chỉ đọc và được chia sẻ giữa nhiều quy trình JVM.
Chia sẻ dữ liệu lớp ứng dụng
🞛 Cho phép các lớp ứng dụng được đặt trong một ổ đĩa được chia sẻ.
🞛 Siêu dữ liệu lớp chung được chia sẻ trên các quy trình Java khác nhau.
🞛 AppCDS cho phép trình tải lớp hệ thống tích hợp, trình tải lớp nền tảng tích hợp và trình tải lớp tùy chỉnh tải các lớp đã lưu trữ.