Nội dung trình bày Hướng tiếp cận phân tầng trong phần mềm Vai trò của hướng tiếp cận trong phần mềm Một số hướng tiếp cận phân tầng thông dụng Mô hình hai tầng đơn giản De
Trang 1MÔ HÌNH HAI TẦNG ĐƠN GIẢN
Trang 2Nội dung trình bày
Hướng tiếp cận phân tầng trong phần mềm
Vai trò của hướng tiếp cận trong phần mềm
Một số hướng tiếp cận phân tầng thông dụng
Mô hình hai tầng đơn giản
Demo
Trang 3Hướng tiếp cận phân tầng
Chia phần mềm thành các tầng (Layer)
Khi thiết kế cần lưu ý:
– Mỗi tầng chịu trách nhiệm riêng
– Dữ liệu đầu vào và đầu ra của mỗi tầng nên rõ ràng
và dễ sử dụng
– Khi một tầng bị thay đổi thì khả năng ảnh hưởng của
nó đến các tầng khác thấp nhất nhất có thể có
Trang 4Vai trò của hướng tiếp cận phân tầng
Trang 5Một số mô hình phân tầng
2 Layer / 2 Tier
3 Layer / 3 Tier
N Layer / N Tier
Trang 6Mô hình 2 tầng đơn giản
Cơ sở dữ liệu quan hệ
Tầng dữ liệu
Tầng giao diện Đối tượng trao đổi
(POJO)
Trang 7Đối tượng trao đổi dữ liệu (POJO) đơn giản
Mỗi lớp POJO đại diện cho bảng trong cơ sở dữ liệu
Mỗi lớp POJO gồm những thành phần sau
– Các thuộc tính tương ứng với các cột trong bảng
– Tối thiểu một phương thức khởi tạo mặc định
• Nên viết thêm phương thức khởi tạo đầy đủ tham
số
– Các phương thức cung cấp và cập nhật thông tin cho từng thuộc tính (get/set)
Trang 8Đối tượng trao đổi dữ liệu (POJO) đơn giản
Trang 9Đối tượng trao đổi dữ liệu (POJO) đơn giản
PhongBan
NhanVien
Trang 10private int maPhongBan;
private String tenPhongBan;
//Các phương thức khởi tạo
public PhongBanPOJO() {
}
public PhongBanPOJO(int maPhongBan, String tenPhongBan) {
}
// Các phương thức get/set
.
}
Trang 11private String maNhanVien;
private String tenNhanVien;
private Date ngaySinh;
private String diachi;
private String email;
private String dienThoai;
private int maPhongBan;
//Các phương thức khởi tạo
Trang 12
Tầng dữ liệu (DAO) đơn giản
Mỗi DAO đại diện cho một bảng bên dưới cơ sở dữ liệu
Mỗi DAO thông thường chứa các phương thức như
– Thêm, xóa, sửa
– Rút trích dữ liệu
Mỗi phương thức trong DAO có các tham số đầu vào và các kết quả trả ra là:
– POJO, mảng POJO (ArrayList<POJO>)
– Kiểu dữ liệu đơn giản như: boolean,int, String, float, …
Trang 13Tầng dữ liệu (DAO) đơn giản
XXXTable
JDBC POJO
POJO
Trang 14public class PhongBanDAO {
public static ArrayList<PhongBan> layDanhSachPhongBan() { ArrayList<PhongBan> ds = new ArrayList<PhongBan>(); try {
String sql = "SELECT * FROM PHONGBAN";
MySQLDataAccessHelper helper = new
MySQLDataAccessHelper(); helper.open();
Trang 18TENPHONGBAN='%s' WHERE MAPHONGBAN=%d", pb.getTenPhongBan(), pb.getMaPhongBan());
Trang 19NhanVienDAO ?
Lấy danh sách nhân viên
Lấy thông tin chi tiết của nhân viên dựa trên mã nhân viên
Kiểm tra xem nhân viên đã tồn tại chưa
Thêm sinh viên
Xóa sinh viên
Cập nhật sinh viên
Trang 20Tầng giao diện (GUI)
Giao diện Web
Giao diện Window
Giao diện Mobile
Trang 21Tầng giao diện (GUI)
Trang 22MÔ HÌNH HAI TẦNG ĐƠN GIẢN
(2 LAYER)
Trang 23Tài liệu tham khảo
Nguyễn Hoàng Anh, Tập bài giảng và video môn chuyên đề Java, 2010
Trang 24HỎI VÀ ĐÁP