Tải bản đầy đủ (.pdf) (28 trang)

Bài giảng Công nghệ phần mềm: Chương 4 - ĐH Công nghệ TP.HCM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.8 MB, 28 trang )

Insert or Drag and Drop your Image

THIẾT KẾ VÀ TỔ CHỨC DỮ LIỆU

Jens Martensson


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


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


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 qt: 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.2. Kết quả của thiết kế


Sơ đồ luận lý biểu diễn thơng tin tổng qt


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


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


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


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


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


4.2. Kết quả của thiết kế

Jens Martensson

10


4.3. Q 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 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


4.3. Q 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 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


4.3. Q 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


4.3. Q 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


4.3. Quá trình thiết kế

Jens Martensson

15


4.3. Q trình thiết kế




Bằng phương pháp gián tiếp, ngồ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


4.3. Q 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


4.3. Q 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


4.3. Q 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


4.3. Q 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


4.3. Q 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


4.3. Q trình thiết kế


Thiết kế dữ liệu với 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


4.3. Q trình thiết kế


Thiết kế dữ liệu với 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


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


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


×