Bài giảng Phát triển ứng dụng cơ sở dữ liệu 1 - Chương: Thiết kế chức năng phần mềm

THIẾT KẾ CHỨC NĂNG  
PHẦN MỀM  
Thiết kế sơ đồ 3 lớp  
• Các kiểu kiến trúc cài đặt:  
– Kiến trúc 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  
ỨNG DỤNG QUẢN LÝ HỌC SINH  
• Ứng dụng quản lý học sinh  
HOC_SINH (MAHS, HOTEN, DIACHI, MALOP)  
LOP_HOC (MALOP, TENLOP)  
:
B1. Hệ thống hiện thị DS cá c lớp (lớp và thành viên lớp)  
B2. Người dùng cung cấp thô ng tin học sinh cần thêm  
( Mã học sinh, học tên, địa chỉ, lớp )  
B3. Hệ thống kiểm tra ràng buộc nghiệp vụ về mã học  
sinh (khô ng tồn tại hai học sinh có cùng mã )  
B4. Hệ thống kiểm tra ràng buộc nghiệp vụ về mặt sỉ số  
lớp (Sỉ số 1 lớp quá 30 học sinh)  
B5. Hệ thống kiểm tra ràng buộc nghiệp vụ về mặt tên học  
sinh (Tên học sinh khô ng quá 32 ký tự)  
Cá c ràng buộc nghiệp vụ “thêm học sinh”  
- Sỉ số 1 lớp quá 32 học sinh  
- Khô ng tồn tại hai học sinh có cùng mã  
- Tên học sinh khô ng quá 32 ký tự  
B6. Người dùng xá c nhận thêm học sinh  
B7. Hệ thống thô ng bá o “ Thêm HS thành cô ng”  
Thiết kế sơ đồ 3 lớp  
Sự kiện chí nh:  
B1. Hệ thống hiện thị DS cá c lớp (lớp và thành viên lớp)  
B2. Người dùng cung cấp thô ng tin học sinh cần thêm  
( Mã học sinh, học tên, địa chỉ, lớp )  
B3. Hệ thống kiểm tra ràng buộc nghiệp vụ về mã học sinh (khô ng tồn tại  
hai học sinh có cùng mã )  
B4. Hệ thống kiểm tra ràng buộc nghiệp vụ về mặt sỉ số lớp (Sỉ số 1 lớp  
quá 30 học sinh)  
B5. Hệ thống kiểm tra ràng buộc nghiệp vụ về mặt tên học sinh (Tên học  
sinh khô ng quá 32 ký tự)  
B6. Người dùng xá c nhận thêm học sinh  
B7. Hệ thống thô ng bá o “ Thêm HS thành cô ng”  
Xé t cá c phương thức liên quan đến việc  
thêm học sinh  
TẦNG GIAO DIỆN  
Function MHThemHocSinh::btnThemHS_Click()  
Begin  
hs: HocSinh  
hs .Khoi_tao(txtMaHS.Text, txtHoTen.Text, …)  
if HocSinh::Kiem_tra_ton_tai(txtMaHS.Text) = false and Lop::Kiem_tra_si so  
(ComMaLop.Text) = true then  
Begin  
if HocSinh::Them_hoc_sinh(hs) == TRUE then  
Begin  
mh: MHThongBao  
mh.Cap_nhat_thong_bao (“Đã thêm thành công”)  
mh.Hien_thi()  
End  
End  
TẦNG NGHIỆP VỤ  
Function HocSinh::Khoi tao(m: String, ht: String, …)  
Begin  
MaHS = m  
HoTen = ht  
…
End  
Xé t cá c phương thức liên quan đến việc  
thêm học sinh  
TẦNG NGHIỆP VỤ  
Function HocSinh::Kiem tra ton tai(mhs:  
String)  
Begin  
b: boolean  
h: HocSinh  
h = HocSinhDB::DocThongTin (mhs)  
if h = NULL then  
Function Lop::Kiem tra si so (l: Lop)  
Begin  
h = LopDB::TinhSiSo (l)  
if h >30 then  
b = FALSE  
else  
b = FALSE  
else  
b = TRUE  
return b  
b = TRUE  
return b  
End  
Function HocSinh::Them hoc sinh (h: HocSinh)  
Begin  
End  
if len (h.getTenHS()) > 32 then  
return FALSE  
HocSinhDB::Them(h);  
End  
Xé t cá c phương thức liên quan đến việc  
thêm học sinh  
TẦNG TRUY CẬP DỮ LIỆU  
Function HocSinhDB:: DocThongTin(mhs: String): HocSinh  
Begin  
s: String  
h: HocSinh  
Function LopDB:: TinhSiSo  
(malop: Interger): Interger  
Begin  
…….  
End  
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;  
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  
Xé t cá c phương thức liên quan việc hiển thị  
TẦNG GIAO DIỆN  
màn hì nh thêm học sinh  
Function MHThemHocSinh::HienThi()  
Begin  
dsLop: Lop[]  
dsLop = Lop::LayDanhSachLop();  
cbbLop.DataSource = dsLop;  
dsHS: HocSinh[]  
dsHS = HocSinh::LayDanhSachHocSinh()  
griddsHS.DataSource = dsHS  
End  
TẦNG NGHIỆP VỤ  
Function Lop:: LayDanhSachLop()  
Begin  
dsLop: Lop[]  
dsLop = LopDB::LayDanhSach();  
return dsLop;  
End  
Function HocSinh:: LayDanhSachHocSinh()  
Begin  
dsHS: HocSinh[]  
dsHS = HocSinhDB::LayDanhSach();  
return dsHS;  
End  
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ế TẦNG NGHIỆP VỤ  
Kết quả:  
1. Bổ sung kiểu dữ liệu cho cá c  
thuộc tí nh:  
❖ 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 phương thức của  
lớp giao diện, 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ố  
Sơ đồ lớp tầng nghiệp vụ  
Thiết kế lớp TẦNG DỮ LIỆU  
• Bước 1: Tạo các lớp quản lý truy xuất dữ liệu  
– Mỗi lớp phụ trách truy xuất dữ liệu trên một hay một số  
nguồn dữ liệu (bảng)  
• Bước 2: Bổ sung các phương thức  
– Phân tích hoạt động truy xuất dữ liệu của các phương  
thức của tầng nghiệp vụ để bổ sung các phương thức vào  
các lớp tương ứng  
Tạo các lớp quản lý truy xuất dữ liệu  
• Với mỗi bảng dữ liệu(hoặc một vài bảng), tạo một  
lớp truy xuất dữ liệu để quản lý việc truy xuất dữ liệu  
ở các bảng này.  
– Ví dụ: HocSinhDB, GiaoVienDB, LopDB  
• Bổ sung các phương thức cơ bản: CRUD (Thêm, Đọc,  
Cập nhật, Xóa)  
Bổ sung các phương thức  
• Bổ sung phương thức bằng cách Phân tích hoạt động  
truy xuất dữ liệu của các phương thức của tầng  
nghiệp vụ  
• Ví dụ:  
– Xét phương thức HocSinh::Them hoc sinh (hs: HocSinh)  
• Nội dung phương thức này sẽ gọi phương thức của lớp quản lý  
truy cập dữ liệu để thực hiện thêm học sinh → bổ sung phương  
thức HocSinhDB::Them (hs: HocSinh)  
– Xét phương thức HocSinh::Kiem tra ton tai(mahs: String)  
• Nội dung phương thức này sẽ gọi phương thức của lớp quản lý  
truy cập dữ liệu để đọc thông tin học sinh dựa vào mã → Bổ sung  
phương thức: HocSinhDB::DocThongTin (mahs: String)  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
• 1. Có thể tạo thêm lớp ở tầng nghiệp vụ khi cần  
– a. Lớp nghiệp vụ hỗ trợ xử lý tính toán và các yêu cầu đặc  
biệt (giao tiếp phần cứng, thiết bị, …)  
– b. Lớp nghiệp vụ hỗ trợ phối hợp các lớp nghiệp vụ  
• 2. Có thể tạo thêm lớp ở tầng truy cập dữ liệu khi  
cần  
– Lớp phụ trách quản lý cấu hình, giao tiếp với CSDL, tập  
tin,…  
• 3. Có thể tách ở tầng nghiệp vụ thành lớp cấu trúc và  
lớp xử lý  
• 4. Có thể tách / gộp để tối ưu hoá xử lý nghiệp vụ  
– Tăng tính độc lập và tính tái sử dụng  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
• 1. Có thể tạo thêm lớp ở tầng nghiệp vụ khi cần  
– a. Lớp nghiệp vụ hỗ trợ xử lý tính toán và các yêu cầu đặc  
biệt (giao tiếp phần cứng, thiết bị, …)  
– b. Lớp nghiệp vụ hỗ trợ phối hợp các lớp nghiệp vụ  
• 2. Có thể tạo thêm lớp ở tầng truy cập dữ liệu khi  
cần  
– Lớp phụ trách quản lý cấu hình, giao tiếp với CSDL, tập  
tin,…  
• 3. Có thể tách ở tầng nghiệp vụ thành lớp cấu trúc và  
lớp xử lý  
• 4. Có thể tách / gộp để tối ưu hoá xử lý nghiệp vụ  
– Tăng tính độc lập và tính tái sử dụng  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
Có thể bổ sung lớp nghiệp vụ hỗ trợ phối  
hợp các lớp nghiệp vụ  
- Khi lớp giao diện  
tương tác với nhiều lớp  
nghiệp vụ  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
Bổ sung lớp nghiệp vụ hỗ trợ xử lý tính  
toán và các yêu cầu đặc biệt (giao tiếp  
phần cứng, thiết bị, …)  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
Bổ sung lớp ở tầng truy cập dữ liệu để  
phụ trách quản lý cấu hình, giao tiếp với  
CSDL, tập tin,…  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
Có thể tách gộp/tách nhiều lớp ở tầng  
truy cập dữ liệu  
DB2  
DB  
DB1  
Thiết kế sơ đồ lớp chi tiết: Một số lưu ý  
Có thể tách ở tầng nghiệp vụ thành lớp  
cấu trúc và lớp xử lý  
Tải về để xem bản đầy đủ
pptx 22 trang myanh 29120 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: Thiết kế chức năng phần mềm", để 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:

  • pptxbai_giang_thiet_ke_chuc_nang_phan_mem.pptx