Bài giảng Phát triển ứng dụng cơ sở dữ liệu 1 - Chương 4: Thiết kế sơ đồ lớp chi tiết - Hoàng Anh Tú

THIẾT KẾ SƠ ĐỒ LỚP  
CHI TiẾT  
GV: Hoàng Anh Tú  
Thiết kế sơ đồ lớp chi tiết  
• Bước 1: Lựa chọn kiến trúc cài đặt  
– 1 layer, 2 layer, 3 layer, MVC ?  
• Bước 2: Thiết kế sơ đồ lớp chi tiết theo kiến trúc đã  
chọn:  
– Lớp đầy đủ thuộc tính và phương thức  
– Sử dụng các thuộc tính để cài đặt các mối quan hệ nếu cần  
thiết  
– Xác định kiểu dữ liệu của các tham số đầu vào và kiểu dữ  
liệu trả về của các phương thức  
• Kết quả đạt được: Sơ đồ lớp của các tầng với đầy đủ  
phương thức và thuộc tính, kiểu dữ liệu  
Thiết kế sơ đồ lớp chi tiết  
• Các kiểu kiến trúc cài đặt:  
– Kiến trúc 1 tầng (1 layer)  
Giao diện + xử lý nghiệp vụ +  
xử lý truy xuất dữ liệu  
Cơ sở dữ liệu  
– Kiến trúc 2 tầng (2 layer)  
Giao diện & xử lý nghiệp vụ  
Truy cập dữ liệu  
Dữ liệu  
Thiết kế sơ đồ lớp chi tiết  
• Các kiểu kiến trúc cài đặt:  
– Kiến trúc 3 tầng (3 layer)  
Tầng giao diện  
Giao diện & xử lý ập dữ liệu  
Dữ liệu  
– Trả lời tương tác  
– Xử lý nghiệp vụ – Truy xuất dữ liệu  
(đọc, ghi, cập nhật)  
người dùng  
– Chuyển yêu cầu  
– Trình bày hiển thị các từ truy xuất dữ  
đối tượng nghiệp vụ liệu từ tầng  
giao diện xuống  
tầng truy cập  
dữ liệu  
– Xử lý các hiệu ứng  
giao diện  
Thiết kế sơ đồ lớp chi tiết  
• Hoạt động của mô hình 3-  
layer:  
– Khi có yêu cầu xử lý từ lớp  
giao diện. Yêu cầu này được  
gửi xuống lớp nghiệp vụ  
bằng cách gọi phương thức  
của lớp nghiệp vụ  
– Nếu yêu cầu là truy xuất dữ  
liệu thì sẽ gọi tới phương  
thức của lớp truy cập dữ  
liệu và phương thức này sẽ  
thực hiện truy xuất dữ liệu  
trên CSDL  
VD1: Xét các phương thức liên quan đến việc  
thêm học sinh  
Phương thức của lớp giao  
diện  
TẦNG GIAO DIỆN  
Function MHThemHocSinh::btnThemHS_Click()  
Gọi phương thức Khoi tao ()  
của lớp nghiệp vụ  
Begin  
hs: HocSinh  
hs .Khoi_tao(txtMaHS.Text, txtHoTen.Text, …)  
if HocSinh::Kiem_tra_ton_tai(txtMaHS.Text) = false th
Begin  
Gọi phương thức Kiem tra ton  
tai () của lớp nghiệp vụ  
if HocSinh::Them_hoc_sinh(hs) == TRUE then  
Begin  
Gọi phương thức  
Them hoc sinh () của  
lớp nghiệp vụ  
mh: MHThongBao  
mh.Cap_nhat_thong_bao (“Đã thêm thành công”)  
mh.Hien_thi()  
End  
End  
End  
TẦNG NGHIỆP VỤ  
Function HocSinh::Khoi tao(m: String, ht: String, …)  
Begin  
MaHS = m  
HoTen = ht  
…
End  
VD1: Xét các phương thức liên quan đến việc  
thêm học sinh  
Phương thức của lớp nghiệp  
vụ  
TẦNG NGHIỆP VỤ  
Function HocSinh::Kiem tra ton tai(mhs: String)  
Begin  
Gọi phương thức  
DocThongTin () của lớp truy  
cập dữ liệu  
b: boolean  
h: HocSinh  
h = HocSinhDB::DocThongTin (mhs)  
if h = NULL then  
b = FALSE  
else  
b = TRUE  
return b  
Phương thức của lớp nghiệp  
vụ  
End  
Function HocSinh::Them hoc sinh (h: HocSinh)  
Begin  
Gọi phương thức Them () của  
lớp truy cập dữ liệu  
if len (h.getTenHS()) > 32 then  
return FALSE  
HocSinhDB::Them(h);  
End  
Thực hiện một số kiểm tra  
nghiệp vụ  
VD1: Xét các phương thức liên quan đến việc  
thêm học sinh  
Phương thức của lớp truy cập  
dữ liệu  
TẦNG TRUY CẬP DỮ LIỆU  
Function HocSinhDB:: DocThongTin(mhs: String): HocSinh  
Begin  
s: String  
h: HocSinh  
s = “SELECT * FROM HOC_SINH WHERE MaHS=‘” +  
mhs + “’”  
Mở kết nối CSDL, thực thi câu SQL, tạo kết quả trả về  
return h;  
Phương thức của lớp nghiệp  
vụ  
End  
Function HocSinhDB:: Them (h: HocSinh)  
Begin  
s: String  
h: HocSinh  
s = “INSERT INTO HOC_SINH … “  
Mở kết nối CSDL, thực thi câu SQL, tạo kết quả trả về  
return h;  
End  
VD2: Xét các phương thức liên quan việc  
TẦNG GIAO DIỆN  
hiển thị màn hình thêm học sinh  
Function MHThemHocSinh::HienThi()  
Begin  
Gọi phương thức của tầng  
nghiệp vụ  
dsLop: Lop[]  
dsLop = Lop::LayDanhSachLop();  
cbbLop.DataSource = dsLop;  
dsHS: HocSinh[]  
dsHS = HocSinh::LayDanhSachHocSinh()  
griddsHS.DataSource = dsHS  
End  
TẦNG NGHIỆP VỤ  
Gọi phương thức của tầng truy  
cập dữ liệu  
Function Lop:: LayDanhSachLop()  
Begin  
dsLop: Lop[]  
dsLop = LopDB::LayDanhSach();  
return dsLop;  
End  
Function HocSinh:: LayDanhSachHocSinh()  
Begin  
dsHS: HocSinh[]  
dsHS = HocSinhDB::LayDanhSach();  
return dsHS;  
End  
VD2: Xét các phương thức liên quan việc  
hiển thị màn hình thêm học sinh  
TẦNG TRUY CẬP DỮ LIỆU  
Function HocSinhDB:: LayDanhSach(): HocSinh []  
Begin  
sql: String  
ds: HocSinh[]  
sql = “SELECT * FROM HOC_SINH”  
Mở kết nối CSDL, thực thi câu SQL, tạo kết quả trả về  
return ds;  
End  
Function LopDB:: LayDanhSach(): Lop[]  
Begin  
sql : String  
ds: Lop[]  
sql = “SELECT * FROM HOC LOP_HOC”  
Mở kết nối CSDL, thực thi câu SQL, tạo kết quả trả về  
return ds;  
End  
Thiết kế sơ đồ lớp chi tiết  
• Kết quả:  
Tầng giao diện  
Tầng nghiệp vụ  
Tầng truy cập dữ liệu  
Thiết kế TẦNG NGHIỆP VỤ  
• Các bước thực hiện:  
– Tinh chế sơ đồ lớp ở mức phân tích thành sơ đồ lớp tầng  
nghiệp vụ  
• Tinh chế thuộc tính (kiểu dữ liệu, phạm vi, các thuộc tính cài đặt  
mối kết hợp)  
• Bổ sung các phương thức  
– Các phương thức đặc trưng: tạo, hủy, chuyển đổi, sao chép, truy  
xuất và cập nhật các thuộc tính, đọc, xuất, …  
– CÁC PHƯƠNG THỨC NGHIỆP VỤ  
• Tinh chế phương thức và bổ sung phương thức mới  
– Tạo những lớp điều khiển (Controller) để phối hợp hoạt  
động  
Thiết kế TẦNG NGHIỆP VỤ  
• VD tầng nghiệp vụ của ứng dụng quản lý học sinh:  
– Input  
Sơ đồ lớp mức phân tích  
Các quy định  
Sơ đồ UC cho phần mềm quản lý học sinh  
Thiết kế TẦNG NGHIỆP VỤ  
1. Bổ sung kiểu dữ liệu cho các  
thuộc tính:  
Kết quả:  
Ma HS: String  
2. Bổ sung thuộc tính cài đặt:  
Ma lop: Integer  
Siso: Integer  
GVCN: Giao vien  
3. Duyệt qua từng UC, xem xét  
và bổ sung các phương thức  
nghiệp vụ cần thiết để cài đặt  
các UC & tham số  
Them hoc sinh (…)  
Chuyen lop (…)  
…  
4. Phân tích hoạt động các  
phương thức nghiệp vụ để  
bổ sung các phương thức  
khác  
Kiem tra ton tai ()  
Tinh si so ()  
5. Các phương thức đặc trưng  
Sơ đồ lớp tầng nghiệp vụ  
Thiết kế PROTOTYPE giao diện  
• Thiết kế giao diện:  
– Duyệt qua các UC, với mỗi UC phác thảo các giao diện của  
UC sử dụng một công cụ thiết kế giao diện nào đó.  
Các tiêu chí để đánh giá giao  
diện:  
Các yếu tố liên quan đến việc thiết  
kế giao diện:  
Tính tiện dụng  
Mục đích của giao diện  
Hỗ trợ tốt nghiệp vụ  
Quen thuộc với người dùng  
Nhất quán  
Thông tin  
Quy trình nghiệp vụ thực tế  
Tối thiểu hóa sự bất ngờ  
Có khả năng khôi phục  
Hướng dẫn người dùng  
Tính thẩm mỹ  
Tần suất thực hiện  
Thói quen của người dùng  
Thiết kế PROTOTYPE giao diện  
• VD: Giao diện quản lý bán cà phê  
Thiết kế PROTOTYPE giao diện  
• Công cụ để thiết kế giao diện:  
Microsoft Visual Studio .NET  
Microsoft Visio  
Thiết kế PROTOTYPE giao diện  
• Ví dụ:  
Thiết kế lớp TẦNG GIAO DIỆN  
• Các bước thực hiện:  
– Duyệt qua các UC, với mỗi UC phác thảo các giao diện của  
UC. Với mỗi giao diện tạo một lớp tương ứng  
– Các thuộc tính là những control nhập / xuất dữ liệu quan  
trọng. Sử dụng các kiểu dữ liệu đối tượng giao diện cụ thể  
của từng công nghệ lập trình:  
• txtHoTen: TextBox  
• btnThemHocSinh: Button  
• cbbMaLop: ComboBox  
• dsLop: GridView, …  
– Các phương thức là những khởi tạo giao diện, hàm xử lý  
sự kiện tương ứng hoặc những hàm cần thiết phục vụ  
kiểm tra dữ liệu, …  
• btnThemHocSinh_Click()  
Thiết kế lớp TẦNGGIAODIỆN
• VD: Tầng giao diện của ứng dụng Quản lý học sinh  
Tải về để xem bản đầy đủ
pdf 88 trang myanh 28760 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển ứng dụng cơ sở dữ liệu 1 - Chương 4: Thiết kế sơ đồ lớp chi tiết - Hoàng Anh Tú", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_phat_trien_ung_dung_co_so_du_lieu_1_chuong_4_thiet.pdf