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 đủ
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:
bai_giang_phat_trien_ung_dung_co_so_du_lieu_1_chuong_4_thiet.pdf

