Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 88 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
88
Dung lượng
4,5 MB
Nội dung
LOGO 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 – layer, layer, 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 phương thức – Sử dụng thuộc tính để cài đặt mối quan hệ cần thiết – Xác định kiểu liệu tham số đầu vào kiểu liệu trả phương thức • Kết đạt được: Sơ đồ lớp tầng với đầy đủ phương thức thuộc tính, kiểu 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 tầng (1 layer) Giao diện + xử lý nghiệp vụ + xử lý truy xuất liệu Cơ sở liệu – Kiến trúc tầng (2 layer) Giao diện & xử lý nghiệp vụ Truy cập 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 tầng (3 layer) Tầng giao diện Giao diện & xử lý giao diện Xử lý nghiệp vụ – Trả lời tương tác – người dùng – – Trình bày hiển thị đối tượng nghiệp vụ – Xử lý hiệu ứng giao diện Xử lý nghiệp vụ Chuyển yêu cầu từ truy xuất liệu từ tầng giao diện xuống tầng truy cập liệu Truy cập liệu – Truy xuất liệu (đọc, ghi, cập nhật) Dữ liệu Thiết kế sơ đồ lớp chi tiết • Hoạt động mơ hình 3layer: – Khi có u cầu xử lý từ lớp giao diện Yêu cầu gửi xuống lớp nghiệp vụ cách gọi phương thức lớp nghiệp vụ – Nếu yêu cầu truy xuất liệu gọi tới phương thức lớp truy cập liệu phương thức thực truy xuất liệu CSDL VD1: Xét phương thức liên quan đến việc thêm học sinh Phương thức lớp giao TẦNG GIAO DIỆN diện Function MHThemHocSinh::btnThemHS_Click() Gọi phương thức Khoi tao () Begin lớp nghiệp vụ hs: HocSinh hs Khoi_tao(txtMaHS.Text, txtHoTen.Text, …) Gọi phương thức Kiem tra ton if HocSinh::Kiem_tra_ton_tai(txtMaHS.Text) = false then Begin tai () lớp nghiệp vụ if HocSinh::Them_hoc_sinh(hs) == TRUE then Gọi phương thức Begin Them hoc sinh () mh: MHThongBao mh.Cap_nhat_thong_bao (“Đã thêm thành công”) lớp nghiệp vụ 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 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 b = FALSE else b = TRUE return b End Function HocSinh::Them hoc sinh (h: HocSinh) Begin if len (h.getTenHS()) > 32 then return FALSE HocSinhDB::Them(h); End Thực số kiểm tra nghiệp vụ Phương thức lớp nghiệp vụ Gọi phương thức DocThongTin () lớp truy cập liệu Phương thức lớp nghiệp vụ Gọi phương thức Them () lớp truy cập liệu VD1: Xét phương thức liên quan đến việc thêm học sinh TẦNG TRUY CẬP DỮ LIỆU Phương thức lớp truy cập 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 trả return h; Phương thức lớp nghiệp End vụ 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 trả return h; End VD2: Xét phương thức liên quan việc TẦNG GIAO DIỆN hiển thị 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 Gọi phương thức tầng nghiệp vụ Gọi phương thức tầng truy cập liệu VD2: Xét phương thức liên quan việc hiển thị 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 trả 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 trả return ds; End Thiết kế chức – Sequence Diagram • Ví dụ: Sơ đồ Use case Thêm học sinh Thiết kế chức – Sequence Diagram • Thơng điệp từ đối tượng A đối tượng B: – Thơng điệp bình thường lời gọi phương thức Đối tượng lớp MH XYZ gọi phương thức doActionX đối tượng lớp ABC Thiết kế chức – Sequence Diagram • Thơng điệp đối tượng đến Đối tượng lớp ABC gọi phương thức doActionY Thiết kế chức – Sequence Diagram • Thơng điệp kết trả • Đánh số thứ tự thơng điệp Thiết kế chức – Collaboration Diagram • Ví dụ: Sơ đồ cộng tác Use case Thêm học sinh Thiết kế chức – Lưu ý • Có thể gộp lớp truy cập liệu: DB1 DB2 DB • Có thể bổ sung thêm lớp truy cập liệu để hỗ trợ truy xuất liệu: • Có thể tách lớp nghiệp vụ thành nhiều lớp khác nhau: lớp cấu trúc lớp xử lý Thiết kế chức – Lưu ý • Có thể tách lớp nghiệp vụ thành nhiều lớp khác nhau: lớp cấu trúc lớp xử lý • Khi thiết kế chức bổ sung thêm phương thức lớp *Sequence diagram+ Thiết kế chức – Lưu ý • Có thể bổ sung lớp điều khiển (Controller) nghiệp vụ phối hợp nhiều lớp nghiệp vụ: – Bổ sung: ThemHocSinhController Thiết kế chức – Input Output • Đầu vào: – Sơ đồ lớp phân tích – Mơ hình liệu quan hệ – Thiết kế lớp chi tiết – Prototype giao diện – Đặc tả UC • Kết quả: – VOPC diagram – Sequence diagram ACTIVITY 1: Thiết kế chức cho UC Phân công đề án Input ACTIVITY 1: Thiết kế chức cho UC Phân công đề án Input 84 ACTIVITY 1: Thiết kế chức cho UC Phân công đề án Input Tên UC Phân công đề án Mô tả UC cho phép thực chọn nhân viên tham gia vào đề án Sự kiện kích hoạt Khi người dùng chọn menu Phân công đề án hệ thống menu chức Tác nhân liên quan NV quản lý đề án Tiền điều kiện NV phải đăng nhập vào hệ thống Hậu điều kiện Thông tin phân công lưu vào CSDL Các quy định phải thoả mãn Dịng kiện Hệ thống hiển thị hình Phân cơng đề án (Hiển thị danh sách đề án combobox, danh sách nhân viên tồn cơng ty, danh sách nhân viên tham gia vào đề án) Người dùng nhập chọn nhân viên danh sách nhân viên, nhập thời gian tham gia chọn nút Thêm Hệ thống kiểm tra quy định “Nhân viên tham gia tối đa 50 giờ” Nếu hợp lệ, Hệ thống lưu thông tin phân cơng hiển thị lại hình Phân cơng đề án Kết thúc 85 ACTIVITY 1: Thiết kế chức cho UC Phân cơng đề án Input Dịng kiện phụ A Trường hợp nhân viên vượt quy định Hệ thống hiển thị hình thơng báo lỗi “Vượt q 50 !!!!” Hệ thống hiển thị hình Phân cơng đề án Quay lại bước dịng kiện Dịng kiện phụ B Trường hợp người dùng chọn nhân viên danh sách tham gia chọn nút Xoá Hệ thống xố thơng tin phân cơng tham gia đề án nhân viên Quay lại bước dịng kiện 86 ACTIVITY 2: Thiết kế chức cho UC Xem danh sách đề án thực • Chức năng: Xem danh sách đề án thực – Xem danh sách đề án thực xem thông tin nhân viên tham gia đề án thực – Vì số lượng đề án nhiều nên phải có chức xếp, tìm kiếm đề án • Yêu cầu: – Thiết kế giao diện tiện dụng – Hãy thiết kế sơ đồ VOPC cho chức *Chỉ hiển thị phương thức sử dụng+ – Hãy thiết kế sơ đồ cho chức LOGO Q&A