Bài giảng Công nghệ phần mềm - Thiết kế và tổ chức dữ liệu

pptx 28 trang Gia Huy 16/05/2022 3741
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Công nghệ phần mềm - Thiết kế và tổ chức dữ liệu", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptxbai_giang_cong_nghe_phan_mem_thiet_ke_va_to_chuc_du_lieu.pptx

Nội dung text: Bài giảng Công nghệ phần mềm - Thiết kế và tổ chức dữ liệu

  1. NỘI DUNG 1. Tổng quan 2. Kết quả thiết kế 3. Quá trình thiết kế 4. Phương pháp thiết kế dữ liệu Jens Martensson 2
  2. 4.1. Tổng quan ❑Mục tiêu chính của thiết kế dữ liệu là mô tả cách thức tổ chức lưu trữ các dữ liệu của phần mềm. Có hai dạng lưu trữ chính: ❖Dạng tập tin: Chỉ thích hợp với các phần mềm đặc thù (từ điển, trò chơi ) chỉ chú trọng nhiều vào xử lý, hình thức giao diện, không chú trọng nhiều đến việc lưu trữ dữ liệu. Trong quá trình sử dụng phần mềm, dữ liệu được tiếp nhận và xử lý ngay. ❖Dạng cơ sở dữ liệu: dữ liệu được lưu trữ trong các hệ quản trị CSDL, theo cấu trúc logic, giúp người dùng có thể quản trị và truy xuất thông tin. Jens Martensson 3
  3. 4.2. Kết quả của thiết kế ❑Dữ liệu phần mềm được lưu trữ dưới 2 dạng: ❖Tổng quát: Cung cấp góc nhìn tổng quan về các thành phần lưu trữ: – Danh sách bảng dữ liệu: liên quan đến việc lưu trữ các bảng dữ liệu cụ thể. – Danh sách liên kết: hiện thực các mối liên kết dữ liệu gữa các bảng dữ liệu. ❖Thông tin chi tiết: – Danh sách các thuộc tính của từng thành phần: các thông tin cần lưu trữ của thành phần – Miền giá trị toàn vẹn : liên quan đến các quy định về tính hợp lệ của các thông tin được lưu trữ Jens Martensson 4
  4. 4.2. Kết quả của thiết kế ❑Sơ đồ luận lý biểu diễn thông tin tổng quát ❖Bảng thuộc tính và miền giá trị mô tả chi tiết các thành phần trong sơ đồ, được thể hiện bởi hệ thống các bảng dữ liệu và mối liên kết giữa chúng ❖Các ký hiệu: – Mũi tên từ A đến B: 1 phần tử A xác định duy nhất 1 phần tử B, ngược lại, 1 phần tử B có thể tương ứng với nhiều phần tử A. Jens Martensson 5
  5. 4.2. Kết quả của thiết kế ❑Ví dụ: Với phần mềm quản lý thư viện sơ đồ luận lý: ❖Theo sơ đồ được tổ chức 3 bảng (DOCGIA, MUONSACH, SACH): Jens Martensson 6
  6. 4.2. Kết quả của thiết kế ❑Bảng thuộc tính: mô tả chi tiết các thành phần trong sơ đồ luận lý theo mẫu: Jens Martensson 7
  7. 4.2. Kết quả của thiết kế ❑Bảng miền giá trị: mô tả các phạm vi giá trị giữa các thuộc tính cùng một thành phần hay nhiều thành phần khác nhau Jens Martensson 8
  8. 4.2. Kết quả của thiết kế ❑Ghi chú: Bảng thuộc tính mô tả chi tiết thành phần cần lưu trữ, được dùng trong báo cáo về thiết kế dữ liệu của phần mềm. ❑Mô hình dữ liệu được biểu diễn bằng lược đồ quan hệ, mỗi quan hệ được biểu diễn theo định dạng: Tên bảng(danh sách cá thuộc tính) Ví dụ: DOCGIA(MDG,HoTen,LoaiDG,NgaySinh, NgayLapThe, DiaChi) SACH(MSACH,TenSach,TheLoai,NgayNhap,TacGia,NhaXuatBan,NamXuatBan) MUON(MDG, MSACH, NgayMuon, NgayTra) Jens Martensson 9
  9. 4.2. Kết quả của thiết kế Jens Martensson 10
  10. 4.3. Quá trình thiết kế ❑Có 2 cách tiếp cận để thiết kế dữ liệu: ❑Phương pháp trực tiếp: Từ các yêu cầu, tạo trực tiếp sơ đồ luận lý gồm các bảng thuộc tính và bảng miền giá trị. ❑Phương pháp gián tiếp: Từ các yêu cầu, tạo mô hình quan niệm, sau đó tạo sơ đồ luận lý, bảng thuộc tính, bảng miền giá trị. Jens Martensson 11
  11. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu gồm 3 bước: ❖Thiết kế đảm bảo tính đúng đắn: Đảm bảo đầy đủ và chính xác về mặt ngữ nghĩa các thông tin liên quan đến các công việc trong yêu cầu. ❖Thiết kế đảm bảo yêu cầu chất lượng: Đảm bảo tính đúng đắn nhưng thỏa mãn thêm các yêu cầu chất lượng (tiến hóa, tốc độ nhanh, lưu trữ tối ưu) và bảo đảm tính đúng đắn khi cải tiến sơ đồ luận lý. ❖Thiết kế đảm bảo yêu cầu hệ thống: Đảm bảo tính đúng đắn và các yêu cầu chất lượng khác nhưng thỏa mãn thêm các yêu cầu hệ thống (phân quyền, cấu hình phần cứng, môi trường phần mềm ) Jens Martensson 12
  12. 4.3. Quá trình thiết kế ❑Ví dụ: thiết kế dữ liệu cho phần mềm Quản lý thư viện, bằng phương pháp trực tiếp: ❑Các bảng thuộc tính DOCGIA(MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai) SACH(MSACH, MTG, MNXB, MLSACH, MNN, TenSach, NgayMua, SoTrang) PHIEU_MUON(MPHM, NgayMuon) CHI_TIET_MUON(MPHM, MSACH, NgayTra) Jens Martensson 13
  13. 4.3. Quá trình thiết kế ❑Ví dụ: thiết kế dữ liệu cho phần mềm Quản lý thư viện, bằng phương pháp trực tiếp: ❑Các bảng thuộc tính LOAI_SACH(MLSACH, TenLS, GhiChu) LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu) NHA_XUAT_BAN(MNXB, TenNhaXuatBan, GhiChu) TAC_GIA(MTG, Ten, GhiChu) NGON_NGU(MNN, Ten, GhiChu) Jens Martensson 14
  14. 4.3. Quá trình thiết kế Jens Martensson 15
  15. 4.3. Quá trình thiết kế ❑Bằng phương pháp gián tiếp, ngoài kết quả cuối cùng tương tự phương pháp trực tiếp, còn kết quả trung gian là mô hình quan niệm dữ liệu như sau: ❑Sơ đồ lớp đối tượng với 2 đối tượng: Sách, Độc giả và 1 quan hệ mượn giữa 2 lớp đối tượng trên. Jens Martensson 16
  16. 4.3. Quá trình thiết kế ❑Ví dụ 2: Xét phần mềm với 4 yêu cầu: Lập thẻ độc giả, Nhận sách, Cho mượn sách, Trả sách ❑Thiết kế dữ liệu với tính đúng đắn: ❖Sơ đồ luận lý ❖Chi tiết các bảng: DOC_GIA(MDG,MLDG,HoTen, NgaySinh, DiaChi,DienThoai) SACH(MSACH,MTG,MNXB,MLSACH,MNN, TenSach, NgayMua, SoTrang) MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat) Jens Martensson 17
  17. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu với tính tiến hóa ❖Sơ đồ luận lý ❖Chi tiết các bảng: DOC_GIA (MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai, NgayHetHan) SACH (MSACH, Tensach, MTL, NgayNhap, TacGgia, NamXuatBan, NhaXuatBan) MUON_SACH (MDG, MSACH, NgayMuon, NgayTra, TienPhat) THE_LOAI (MTL, TenTheLoai, GhiChu) LOAI_DG (MLDG, TenLoaiDocGia, GhiChu) Jens Martensson 18
  18. 4.3. Quá trình thiết kế ❑Thiết kế với tính hiệu quả (truy xuất nhanh) ❖Sơ đồ luận lý ❖Bảng thuộc tính DOC_GIA(MDG,MLDG, HoTen, NgaySinh, DiaChi, DienThoai, NgayHetHan, SoSachMuon, TinhTrangTra) SACH (MSACH,TenSach,MTL,NgayNhap,TacGia,NamXuatBan, NhaXuatBan, TinhTrangMuon) MUON_SACH (MDG, MSACH, NgayMuon, NgayTra, TienPhat) THE_LOAI (MTL, TenTheLoai, GhiChu) LOAI_DOC_GIA(MLDG, TenLDG, GhiChu) Jens Martensson 19
  19. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu với tính hiệu quả (lưu trữ tối ưu) ❖Sơ đồ luận lý ❖Chi tiết các bảng thuộc tính DOC_GIA(MDG, MLDG, HoTen, NgaySinh, DiaChi, DienThoai, NgayHetHan, SoSachMuon, TinhTrangTra) SACH(MSACH, Tensach, MTL,NgayNhap, TacGia,NamXuatBan, NhaXuanBan, TinhTrangMuon) Jens Martensson 20
  20. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu với tính hiệu quả (lưu trữ tối ưu) ❖Sơ đồ luận lý ❖Chi tiết các bảng thuộc tính MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat) CHI_TIET_MUON(MMUON, MSACH, NgayTra, TienPhat) THE_LOAI(MTL, TenTheLoai, GhiChu) LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu) Jens Martensson 21
  21. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu với yêu cầu phân quyền hệ thống ❖Sơ đồ luận lý ❖Chi tiết các bảng DOC_GIA(MDG, MLDG, HoTen, NgaySinh, NgayHetHan, DiaChi, DienThoaiNguoiLapThe, SoSachMuon, TinhTrangTra) SACH(MSACH, Tensach, MTL, NgayNhap, TacGia,NamXuatBan, NhaXuanBan, TinhTrangMuon) MUON_SACH(MDG, MSACH, NgayMuon, NgayTra, TienPhat) Jens Martensson 22
  22. 4.3. Quá trình thiết kế ❑Thiết kế dữ liệu với yêu cầu phân quyền hệ thống ❖CHI_TIET_MUON(MMUON, MSACH, NgayTra, TienPhat) ❖THE_LOAI(MTL, TenTheLoai, GhiChu) ❖LOAI_DOC_GIA(MLDG, TenLoaiDocGia, GhiChu) ❖NGUOI_DUNG(MND, HoTen, Ghichu) ❖CHUC_NANG(MCN, Ten_ChucNang, GhiChu ❖QUYEN_HAN(MND, MCN) Jens Martensson 23
  23. 4.4. Phương pháp thiết kế dữ liệu ❑Phương pháp trực tiếp ❑Phương pháp gián tiếp Jens Martensson 24
  24. 4.4.1. Phương pháp trực tiếp ❑Bước 1 ❖Lập sơ đồ với 1 thành phần duy nhất, ❖Đánh giá tính đúng đắn so với yêu cầu, chuyển sang bước 2 nếu cần. ❑Bước 2 ❖Tách 1 số thuộc tính để tạo ra các thành phần mới, ❖Xác định liên kết giữa các thành phần, ❖Đánh giá tính đúng đắn so với yêu cầu, lặp lại bước 2 nếu cần. Jens Martensson 25
  25. 4.4.1. Phương pháp trực tiếp ❑Cách 1: ❑Dùng thành phần SACH MSach,Ten,TheLoai, NgayMua, TacGia, NhaXuatBan, NamXuatBan HoTenDocGia, LoaiDocGia, NgayLamThe, NgayMuon, NgayTra ❑Cách 2: Dùng thành phần SACH, DOC_GIA ❑Cách 2.1: Chỉ lưu trữ lần mượn sách cuối cùng ❑SACH(MSACH, MADG, Ten, TheLoai, NgayMua, TacGia, NhaXuatBan, NamXuatBan, NgayMuon, NgayTra) ❑DOC_GIA(MDG, HoTen, LoaiDocGia, NgayLamThe) Jens Martensson 26
  26. 4.4.1. Phương pháp trực tiếp Jens Martensson 27
  27. Jens Martensson 28