PROJECT DESCRIPTION
Xây dựng một web ứng dụng để giới thiệu người giúp việc cho các gia đình có nhu cầu tại thành phố ĐN
Nâng cao niềm tin của người giúp việc và người tìm
Minh bạch thông tin của hai bên và thuận tiện trong việc liên
Giờ đây nhiều hộ gia đình muốn thuê người giúp việc không cần phải đi đến trung tâm giúp việc mà có thể tìm qua ứng dụng
Ngoài ra giúp cho người giúp việc dễ dàng tìm việc làm hơn, không phải khó khăn nữa.
Thuê người giúp việc theo giờ, theo ngày hoặc thuê người giúp việc lâu dài một cách dễ dàng và thuận tiện hơn.
1.3 Cấu trúc phân chia công việc:
Nghiên cứu yêu cầu: 2 -3 ngày
Viết tài liệu chi tiết: 4ngày
Tạo các test case và thử nghiệm: 8ngày
Kiểm tra sản phẩm: 3 ngày
1.4 Truy xuất yêu cầu phần mềm (cùng các liên kết gữa các mục yêu cầu):
Cập nhập,bổ sung Module:
Bảo trì thông tin khách hàng
Bảo trì vào các ngày nghỉ
Lịch hoạt động của dự án
Bảo trì hoạt động của dự án
Việc sử dụng tài nguyên
Database: MS SQL server ,My SQL sever
IDE: Eclipse/netbean/visual studio
SOFTWARE REQUIREMENTS SPECIFICATION
Ngày tháng Phiên bản Nội dung sửa đổi Ghi chú
03/04/2021 V1.1 Cập nhật nội dung cơ bản của tài liệu
THUẬT NGỮ VÀ VIẾT TẮT
STT Thuật ngữ/Viết tắt Ý nghĩa
Tên tài liệu Nguồn Ghi chú
1 Đặc Tả SRS https://www.academia.edu/32888061/%C4%90%C
Project Management https://trello.com/c/QV0QEo5n/109-t%C3%A0i-li
Xây dựng một web ứng dụng để giới thiệu người giúp việc cho các gia đình có nhu cầu tại thành phố ĐN
Nâng cao niềm tin của người giúp việc và người tìm
Minh bạch thông tin của hai bên và thuận tiện trong việc liên
Giờ đây nhiều hộ gia đình muốn thuê người giúp việc không cần phải đi đến tru ng tâm giúp việc mà có thể tìm qua ứng dụng
Ngoài ra giúp cho người giúp việc dễ dàng tìm việc làm hơn, không phải khó khăn nữa
Thuê người giúp việc theo giờ , theo ngày hoặc thuê người giúp việc lâu dài một các dễ dàng và thuận tiện hơn
Trong địa bàn thành phố Đà nẵng
+Khách Hàng: Người tìm kiếm người giúp việc
+Nhân Viên : Người sử dụng hệ thống
2.4 YÊU CẦU CHỨC NĂNG CỦA HỆ THỐNG:
STT Chức năng Mô tả
1 Đăng Nhập Để đảm bảo tính bảo mật và an toàn cho hệ thống
Khách Hàng Phải Nhập Đầy đủ Chính Xác thông Tin Trước Khi Thực Hiện Các chức Năng Khác
Danh Sách N gười Làm có sẵn
Hệ Thống sẽ hiển thị ra
1 list danh sách các người giúp việc với các tiêu chí khác nhau cho khách hàng xem và lựa chọn
Khách Hàng cũng có thể đăng tin tuyển dụng theo yêu cầu và chờ đợi có người phù hợp thì hệ thống sẽ thông báo tới xác nhận
5 Hỗ trợ tìm vi ệc
Khi khách hàng không có thời gian để lựa chọn hoặc yêu cầu chưa có sẵn, nhân viên hệ thống sẽ tự động tìm kiếm những người phù hợp nhất cho họ.
6 Xác Nhận Th ông Tin
Nhân viên hệ thống sẽ xác nhận nếu khách hàng muốn Thuê Sau đó sẽ tiến hành thanh toán
7 In Hóa Đơn Sau khi hoàn tất các bước trên hệ thống sẽ tiến hành in hóa đơn chi tiết các cho khách hàng
Đăng Nhập: o Mục đích: Đảm bảo an toàn cho hệ thống và khách hàng o Mô tả chức năng:
Trước khi tiến hành đăng Nhập Khách hàng phải đăng ký tài khoả n qua hệ thống
Người dung nhập thông tin tài khoản và mật khẩu sau đó hệ thống
Sẽ tiến hành kiểm tra trong cơ sở dữ o Kết quả: Đăng Nhập vào hệ thống nếu đúng tài khoản,ngược lại thì thôn g báo sai tài khoản
Nhập Thông Tin Khách Hàng: o Mục đích: Tăng Độ tin cậy cho Cả 2 bên và Tính an toàn cho người giúp việc o Mô tả chức năng:
Phải có tài khoản đăng nhập trước khi thực hiện tác vụ này
Sau khi đăng nhập vào hệ thống, nếu chưa có thông tin, một biểu mẫu sẽ tự động hiển thị để người dùng nhập dữ liệu Trong trường hợp đã có thông tin, khách hàng có thể dễ dàng chỉnh sửa khi phát hiện sai sót.
Hệ thống yêu cầu người dùng nhập đầy đủ thông tin mà không được để trống Kết quả là thông tin khách hàng sẽ được lưu trữ trong cơ sở dữ liệu liên kết với tài khoản, cho phép hiệu chỉnh và bổ sung khi cần thiết.
Xem Danh Sách Người Làm có sẵn: o Mục đích: Chọn nhanh người giúp việc trong list có sẵn phù hợp với yêu cầu o Mô tả chức năng:
Phải có tài khoản đăng nhập trước khi thực hiện tác vụ này
hiện lên Form nhập Danh sách Người làm có cho phép tìm kiếm t heo tiêu chí khác nhau như:
+Mức Lương +Loại Giúp Việc
Sau đó nếu khách thấy phù hợp có thể nhấn Thuê và chờ đợi nhân viên xác nhận o Kết quả: Tìm được người giúp việc nếu có
2.5 YÊU CẦU PHI CHỨC NĂNG:
1 Yêu cầu về công nghệ và nền tảng cơ sở dữ liệu
Hệ thống ứng dụng được chạy trên Internet,app mobile cho phép các đơn vị thự c hiện các hoạt động tác nghiệp một cách tập trung
Hệ thống được bảo mật cao, phân cấp, phân quyền khai thác và sử dụng theo đú ng các quy định
Quản lý dữ liệu tập trung giúp giảm chi phí và bảo trì, đồng thời tối ưu hóa việc khai thác từ kho dữ liệu tổng thể Điều này tự động hóa các quy trình nghiệp vụ và tạo điều kiện thuận lợi cho việc truy cập và sử dụng dữ liệu từ nhiều địa điểm khác nhau.
2 Yêu cầu về bảo mật và an toàn dữ liệu
Hệ thống có module quản lý riêng về việc phân cấp, phân quyền quản lý chi tiết đến từng chức năn g công việc
Hệ thống phần mềm đa lớp được thiết kế với tính năng mã hóa dữ liệu trên đường truyền, đảm bảo bảo mật cao và nhiều cấp độ Đặc biệt, hệ thống này cung cấp sự an toàn tối ưu cho các giao dịch từ xa qua internet.
Hệ thống cho phép đảm bảo tính toàn vẹn dữ liệu, an toàn dữ liệu ở mức ứng dụ ng và mức CSDL
Xây dựng hệ thống sao lưu dữ liệu và dự phòng
3 Yêu cầu về giao diện
Giao diện của chương trình được thiết kế thân thiện, giúp người dùng dễ dàng tìm kiếm các chức năng trên menu Bố trí các màn hình nhập liệu và tra cứu hợp lý, tiện dụng với phím tắt và khả năng tương tác tốt.
4 Yêu cầu về quản trị và sử dụng
Quản trị hệ thống trở nên dễ dàng hơn với các công cụ hỗ trợ như quản lý người dùng, sao lưu và khôi phục dữ liệu Hệ thống cho phép phân quyền theo module và từng chức năng, giúp tối ưu hóa quy trình quản lý.
5 Yêu cầu về tốc độ xử lý
Đảm bảo tốc độ xử lý của hệ thống, màn hình, báo cáo, các chương trình xử lý s ố liệu cần được tối ưu hóa
Thiết kế thêm CSDL bổ sung để lưu trữ các số liệu tính toán định kỳ để lên báo cáo nhanh
6 Yêu cầu về môi trường phát triển và ngôn ngữ lập trình
Môi trường phát triển phổ biến, tiện dụng, dễ lập trình và triển khai ứng dụng n hư c#,java,sql server
ARCHITECTURE DESIGN DOCUMENT
Giới thiệu chức năng
Tài liệu này cung cấp cái nhìn tổng quan về kiến trúc website hệ thống giới thiệu người giúp việc tại Đà Nẵng, nhằm nắm bắt và truyền đạt các quyết định kiến trúc quan trọng Nó đóng vai trò cầu nối giữa yêu cầu phần mềm và thiết kế chi tiết của hệ thống.
DaNangMotelManagement hỗ trợ các kiến trúc sư phần mềm trong việc đảm bảo rằng hệ thống được phát triển sẽ đáp ứng đầy đủ nhu cầu của người dùng về chức năng, bao gồm chế độ xe m ca sử dụng đã chọn, cũng như về nền tảng và công nghệ, như chế độ xem logic và triển khai.
Trong dự án phát triển phần mềm “Quản lý tìm kiếm người giúp việc và dịch vụ đi kèm”.
3.1.3 Các định nghĩa, những từ viết tắt và viết tắt của từ:
1 XML Extensible Mark-up Language
3 JSTL Java Standard Tag Library
Java 2 Enterprise Edition (J2EE) is a collection of standards designed for developing scalable and reliable enterprise solutions using reusable components, which are equipped with services that manage application behavior.
7 DAO Data Access Object, this object is responsible for attaching to a system, extracting some information, based on specific requirements, and creating a value object
8 STRUTS An open-source framework from the Jakarta Project
Struts is designed for building web applications with the Java Servlet API and JSP technology The Struts package supplies an integrated set of reusable components They include a controller servlet,
JSP custom tag libraries, and utility classes These components for building user interfaces can be applied to any web-based Java application
9 SPRING Spring is a light weight framework to support the IoC dependency injection concept
It is becoming a widely adopted framework and has many books, articles and coding examples online
Spring simplifies J2EE usage and encourages good programming practices by facilitating a POJO (Plain Old Java Object)-based programming model suitable for diverse environments.
Hibernate is a powerful object/relational persistence and query service that enables developers to create persistent classes using object-oriented principles such as association, inheritance, polymorphism, composition, and collections It supports querying through its own portable SQL extension (HQL), native SQL, and an object-oriented Criteria and Example API, making it a versatile tool for data management.
Mô tả kiến trúc
Biểu đồ dưới đây minh họa các tầng chính trong kiến trúc 3-Layer được đề xuất, thể hiện rõ ràng sự liên kết giữa các lớp trong kiến trúc này.
Bộ phận này chịu trách nhiệm lưu trữ toàn bộ dữ liệu của ứng dụng, đồng thời đóng vai trò cầu nối giữa hai phần quan trọng là View và Controller.
Mô hình có thể được thể hiện dưới dạng cơ sở dữ liệu hoặc đơn giản là một tệp XML Mô hình này cho phép thực hiện các thao tác với cơ sở dữ liệu, bao gồm việc xem, truy xuất và xử lý dữ liệu một cách hiệu quả.
Đây là giao diện (theme) dành cho người sử dụng, cho phép người dùng truy cập thông tin dữ liệu của MVC thông qua các thao tác truy vấn như tìm kiếm hoặc sử dụng trên các website.
Thông thường, các ứng dụng web sử dụng MVCView trong hệ thống để tạo ra các thành phần HTML Bên cạnh đó, View cũng đảm nhiệm chức năng ghi nhận hoạt động của người dùng nhằm cải thiện trải nghiệm tương tác.
View không có mối quan hệ trực tiếp với Controller và không lấy dữ liệu từ Controller Thay vào đó, View chỉ hiển thị yêu cầu để chuyển đến Controller.
- Bộ phận có nhiệm vụ xử lý các yêu cầu người dùng đưa đến thông qua view.
Từ đó, Controller đưa ra dữ liệu phù hợp với người dùng Bên cạnh đó, Controller còn có chức năng kết nối với mode
DETAILED DESIGN DOCUMENT
Giới thiệu chức năng
Tài liệu này xác định các phương pháp mã hóa và tích hợp mã kế thừa, đồng thời nêu rõ cài đặt đóng gói cùng các yêu cầu kỹ thuật cho dự án của Khách hàng.
- Tài liệu này sẽ được sử dụng làm Tiêu chí chấp nhận của Người dùng với Khách hàng
- Tài liệu này sẽ được sử dụng làm tài liệu hướng dẫn / theo dõi cho Nhà phát triển, Người kiểm tra, PM và khách hàng.
Tài liệu phần mềm này được áp dụng cho các tính năng được mô tả trong tài liệu đặc tả yêu cầu.
Các sơ đồ
Màn hình
4.3.1 Quản lý đăng tin tìm kiếm người giúp việc
Screen Đăng tin tìm kiếm người giúp việc
Description Hiển thị form điền các thông tin bài đăng(sđt, thông tin, nơi ở giớitính, )
Screen Access Người dùng nhấn chuột vào nút Post bên góc trái để đăng bài
3 Quy tắc xác thực, ánh xạ dữ liệu
Tiêu đề Text field Dòng này là bắt buộc
Bài viết này cung cấp thông tin chi tiết về người giúp việc, bao gồm mô tả cụ thể về kỹ năng và kinh nghiệm của họ Thời gian làm việc cũng được nêu rõ, đảm bảo rằng người đọc có đầy đủ thông tin cần thiết để đưa ra quyết định Dòng mô tả này là bắt buộc để đảm bảo tính chính xác và đầy đủ trong việc tìm kiếm người giúp việc phù hợp.
Lựa chọn làm việc theo ngày hoặc tháng
Tuổi Text field Tuổi của người giúp việc
Kinh Nghiệm làm việc Text field Thông tin về kinh nghiệm làm việc
Số điện thoại Text field Số điện thoại của người giúp việc
Địa chỉ cụ thể Text field Dòng này là bắt buộc
Hiển thị địa chỉ chính xác của người giúp việc
Hình ảnh Image Các hình ảnh đính kèm của người giúp việc
Thông tin liên hệ Text field Dòng này là bắt buộc
Thông tin liên hệ của người giúp việc (Số điện thoại,, email,
…) Đăng tin ngay Button Đăng tin lên website
4.3.2 Tìm kiếm người giúp việc
Screen Tìm kiếm người giúp việc
Description Lọc thông tin theo tiêu chí
Screen Access Truy cập vào trang chủ website
3 Quy tắc xác thực, ánh xạ dữ liệu
Họ tên Text Field Họ tên người giúp việc
Thời gian làm việc DropDownMenu Lựa chọn ngày hay tuần hay tháng
Năm sinh Text Field Năm sinh của người giúp việc
Mức lương đề xuất Text Đề xuất mức lương người dùng mong muốn
Tìm kiếm Button Lọc thông tin người giúp việc theo tiêu chí đã ch ọn
4.3.3 Xem danh sách bài đăng
Screen Xem danh sách bài đăng
Description Hiển thị danh sách bài đăng
Screen Access Người dung cần đăng nhập vào hệ thống, chọn vào mục Quản lý bài đăng
3 Quy tắc xác thực, ánh xạ dữ liệu
Mã bài đăng Text Mã bài đăng
Tên người dùng Text Tên tài khoản đăng bài
Tiêu đề Text Tiêu đề bài đăng Đề xuất công việc Text Công việc ưa thích
Mức lương đề xuất Mức lương mong muốn
Tình trạng công công việc Text Tình trạng công việc có kinh nghiệm như thế nào
Tình trạng bài đăng Text Tình trạng bài đăng đã được phê duyệt hay chưa
Chi tiết Button Xem thông tin chi tiết về bài đăng
Screen Danh sách bài đăng
Description Hiển thị danh sách bài đăng
Access Người dung cần đăng nhập vào hệ thống, vào trang chủ chọn mục Danh sách c ác bài đăng
3 Quy tắc xác thực, ánh xạ dữ liệu
Tiêu đề Text field Thông tin tiêu đề bài đăng
Nội dung chi tiết Trình soạn th ảo Mô tả chi tiết về người giúp việc Mức lương theo ngày hoặc th áng Text field Dòng này bắt buộc
Mức lương làm việc theo ngày hoặc tháng
Thời gian Text field Dòng này là bắt buộc
Thời gian theo ngày hoặc tháng Thông tin liên hệ Text field Dòng này là bắt buộc
Sđt liên hệ hoặc email
Tên Text Dòng này là bắt buộc
Tên người dùng Địa chỉ cụ thể Text field Dòng này là bắt buộc
Hiển thị địa chỉ chính xác của người giúp việ c
Hình ảnh Image Các hình ảnh đính kèm của người giúp việc
Cập nhật Button Cập nhật bài đăng
4.3.5 Xem chi tiết bài đăng
Screen Xem chi tiết bài đăng
Description Hiển thị chi tiết nội dung của bài đăng
Screen Access Người dung cần vào danh sách bài đăng, chọn nút xem chi tiết
3 Quy tắc xác thực, ánh xạ dữ liệu
Tiêu đề Text field Thông tin tiêu đề bài đăng
Họ Và Tên Trình soạn thả o Tên người giúp việc
Quê quán Text field Dòng này là bắt buộc
Quê quán của người giúp việc Mức lương đề xuất DropDownMe nu Dòng này là bắt buộc
Hiển thị mức lương người giúp việc mong muốn
Kinh nghiệm làm việc Text Field Dòng này là bắt buộc
Kinh nghiệm làm việc nhà, nấu ăn, Địa chỉ cụ thể Text field Dòng này là bắt buộc
Hiển thị địa chỉ nơi ở cụ thể của người giúp việc Hình ảnh Image Các hình ảnh đính kèm về cá nhân người giúp việc
Thông tin liên hệ Text field Dòng này là bắt buộc
Thông tin của người giúp việc (Số điện thoại, email, địa chỉ cụ thể)
Phê duyệt Button Phê duyệt bài đăng
Hủy Button Bài đăng không được phê duyệt
Screen Quản lý tài khoản
Tất cả thông tin tài khoản người dùng được truy xuất từ cơ sở dữ liệu và hiển thị trên màn hình Quản trị viên có quyền xem danh sách tài khoản, thêm, xóa và cập nhật thông tin tài khoản hiện có.
Access Người dùng nhấn vào mục Setting, chọn Quản lý tài khoản
3 Quy tắc xắc thực ánh xạ
Tên tài khoả n Label – String(45) Tên tài khoản người dùng
Email Label – String(45) Email của người dùng
Mật khẩu Label – String(45) Mật khẩu của tài khoản người dùng
Trạng thái Label – String(45) Trạng thái của người dùng
Thêm Button Nút này sử dụng khi quản trị viên muốn thêm tài khoản người dùng
Sửa Button Dùng cho quản trị viên khi muốn sửa đổi thông tin của người d ùng
Xóa Button Nút này dùng cho quản trị viên khi họ muốn xóa 1 tài k hoản của người dùng
Thoát Button Cho quản trị viên đang đăng nhập, nút này sẽ đóng cử a sổ Quản lý tài khoản và trở về màn hình chính
COMMON DEFECT CHECKLIST
Lỗi hằng số(Hard-code constants)
Trong các hệ thống lớn, việc sử dụng một lớp để khai báo các hằng số cần thiết là rất quan trọng Điều này giúp dễ dàng thay đổi giá trị ở một nơi duy nhất mà không cần sửa đổi nhiều vị trí khác nhau trong mã nguồn.
Và khi sử dụng thay vì gán giá trị cứng(hard-code) thì ta sẽ gán các constant kia:
Khi thử build 2 class trên rồi decompile lại class Main.class thì trình biên dịch của Java đã thay đổi mất source ban đầu
STATUS.INACTIVE đã bị đổi thành giá trị 0, DAY.MON cũng bị đổi thành
Trong quá trình phát triển phần mềm, việc duy trì sản phẩm đã tồn tại lâu năm với nhiều lập trình viên khác nhau có thể gây ra những khó khăn trong việc kiểm soát mã nguồn Khi khởi tạo biến bằng constant final trong Java, giá trị của constant sẽ được sử dụng để khởi tạo biến khi biên dịch Nhiều dự án lớn thường gặp phải tình trạng không rõ ràng về mã nguồn, do các lập trình viên sửa đổi các phần khác nhau mà không có công cụ quản lý nguồn hiệu quả như SVN hay Git Điều này dẫn đến việc triển khai mã nguồn không đồng nhất, khi mà chỉ một số lớp (class) được cập nhật mà không kiểm soát toàn bộ mã nguồn, gây ra lỗi logic khó phát hiện Để giảm thiểu rủi ro này, các nhóm phát triển nên sử dụng các công cụ quản lý nguồn tốt hơn và triển khai toàn bộ gói thay vì chỉ cập nhật từng lớp riêng lẻ.
Lỗi về string khi cộng chuỗi trong vòng lặp
Nếu làm việc với một số lượng lớn chuỗi hoặc một chuỗi lớn, có thể lãng phí rất nhiều bộ nhớ trong quá trình nối.
Trong ví dụ trên, chúng ta đang tạo một vài đối tượng stringbuilder và string Chính xác là 10.000.000 stringbuilder và 10.000.001 string.
Khi sử dụng phép toán cộng (+) để nối chuỗi, chúng ta đang tạo ra một đối tượng trung gian để lưu trữ kết quả của phép nối trước khi gán giá trị này cho đối tượng đích.
Trong ví dụ trên, chúng ta đã tạo tổng cộng 3 đối tượng: 2 cho chữ và
1 cho phép nối Đó là bảng sao của kết quả chuỗi đầu tiên cộng với “world” Điều này xảy ra bởi vì chuỗi là bất biến.
Trình biên dịch có khả năng thông minh để chuyển đổi mã, tuy nhiên, điều này không áp dụng cho Java 9 trở lên do việc sử dụng StringContactFactory, mặc dù kết quả vẫn khá tương đồng.
Việc tối ưu hóa loại bỏ đối tượng trung gian và giảm bộ nhớ chiếm dụng bởi hai chuỗi ký tự StringBuilder và String, giúp giảm số lượng đối tượng Chuỗi từ O(n²) xuống O(n) Trình biên dịch tối ưu mã hóa theo cách này, mang lại hiệu quả cao hơn.
Trình biên dịch chỉ tối ưu hóa kết nối bên trong, dẫn đến việc tạo ra nhiều đối tượng StringBuilder và String không cần thiết Cách nối chuỗi hiệu quả nhất là sử dụng một StringBuilder và một String duy nhất.
NullPointerException
Lỗi NullPointerException xảy ra khi chương trình cố gắng truy cập một đối tượng không tồn tại trong bộ nhớ, tức là đối tượng đó có giá trị null.
Gọi một phương thức với tham chiếu null hoặc cố gắng truy cập một trường với tham chiếu null là nguyên nhân phổ biến dẫn đến lỗi NullPointerException trong Java.
Ngoài ra, một số trường hợp có thể gây ra lỗi NullPointerException như sau:
Gọi một phương thức từ một đối tượng null
Truy cập hoặc sửa đổi một thuộc tính null của object
Lấy chiều dài của mảng nhưng mảng đó bị null
Truy cập hoặc sửa đổi các vị trí của đối tượng null, ví dụ mảng, list,…
Ném ra một null như nó là một giá trị Throwable
Để khắc phục lỗi NullPointerException trong Java, bạn nên luôn kiểm tra giá trị null trước khi sử dụng đối tượng Ngoài ra, cần kiểm tra chuỗi có giá trị null sau khi thực hiện lệnh trim() để đảm bảo không xảy ra lỗi.
+ Khởi tạo giá trị trước khi sử dụng
+ Sử dụng try-catch để bắt lỗi NullPointerException
Không sử dụng equals()
Nếu sử dụng == thay vì lệnh equals(), kết quả bất ngờ sẽ khiến chúng ta thay đổi thói quen sử dụng chúng.
Khi so sánh hai chuỗi (string) và hầu hết các đối tượng trong lập trình, bạn không nên sử dụng toán tử == Toán tử này chỉ so sánh tham chiếu của hai toán hạng, tức là so sánh địa chỉ bộ nhớ thay vì nội dung thực sự của chúng.
Trong ví dụ trên, chuỗi y không có lợi cho chuỗi Interning: địa chỉ bộ nhớ của nó khác với địa chỉ của x.
Trả về giá trị null
Vấn đề khi trả về null là người gọi phải kiểm tra giá trị null của kết quả Thay vào đó, người gọi nên nhận được một danh sách trống nếu không có mục nào được tìm thấy.
Chúng ta thường muốn trả về một ngoại lệ hoặc một đối tượng đặc biệt, chẳng hạn như danh sách trống, để đảm bảo rằng ứng dụng không bị ảnh hưởng bởi mã lỗi.
Lỗi "ArrayIndexOutOfBoundsException" là một thông điệp lỗi biên dịch xuất hiện khi mã cố gắng truy cập vào chỉ mục của mảng không hợp lệ Dưới đây là đoạn mã sẽ kích hoạt ngoại lệ này.
Chỉ mục của mảng bắt đầu từ 0 và kết thúc ở một giá trị nhỏ hơn độ dài của mảng Khi xác định giới hạn của chỉ số mảng, thường sử dụng phép so sánh “