• Bài này mô tả thiết kế của các mô hình dữ quan hệ;
• Các nhà phát triển chia các kiểu dữ liệu cơ bản thành các kiểu cơ sở dữ liệu
chi tiết: Sơ đồ quan hệ thực thể (ERDs) trong phép phân tích truyền thống;
• Các kiểu cơ sở dữ liệu chi tiết được thực thi thông qua Hệ Quản trị Cơ sở dữ
liệu (DBMS).
27 trang |
Chia sẻ: lylyngoc | Lượt xem: 1663 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Bài 5 Các kỹ thuật thiết kế cơ bản, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
v1.0011107222
1
BÀI 5
CÁC KỸ THUẬT THIẾT KẾ CƠ BẢN
Giảng viên: ThS. Thạc Bình Cường
v1.0011107222
2
TÌNH HUỐNG DẪN NHẬP
Các yêu cầu
thông tin
Xác định
dữ liệu
cần thiết
Tham khảo
dữ liệu
Dữ liệu
Thu thập,
điều chỉnh
dữ liệu
Nguồn thông tin dữ
liệu bên ngoài
Tổ chức,
xử lý
dữ liệu
Chuyển
thông tin
Thông tin
Truyền đạt
thông tin
Đối tượng
truy cập thông tin
Hoạt động
Thành phần
1. Vai trò của giai đoạn thiết kế như thế nào?
2. Làm sao để người thiết kế chuyển tải ý tưởng?
3. Họ phải làm những gì đẻ thể hiện tốt nhát?
v1.0011107222
3
MỤC TIÊU
Phát triển biểu đồ luồng thông tin hệ thống;
Phát triển đồ thị kết cấu sử dụng phép phân tích giao dịch và phân tích biến đổi;
Viết các giải mã cho các module theo cấu trúc;
Thiết kế một sơ đồ cơ sở dữ liệu quan hệ dựa vào sơ đồ thực thể liên kết;
Thiết kế một sơ đồ quan hệ để thực hiện một cơ sở dữ liệu quan hệ - đối tượng
lai ghép;
Mô tả các kiểu cấu trúc khác nhau của cơ sở dữ liệu phân tán.
v1.0011107222
4
TỔNG QUAN
• Bài này mô tả thiết kế của các mô hình dữ quan hệ;
• Các nhà phát triển chia các kiểu dữ liệu cơ bản thành các kiểu cơ sở dữ liệu
chi tiết: Sơ đồ quan hệ thực thể (ERDs) trong phép phân tích truyền thống;
• Các kiểu cơ sở dữ liệu chi tiết được thực thi thông qua Hệ Quản trị Cơ sở dữ
liệu (DBMS).
v1.0011107222
5
NỘI DUNG
Tổng quan của các mô hình được xây dựng, qui trình phát triển mô hình,
thuật ngữ liên quan;
Các sơ đồ dòng dữ liệu được chú giải bằng các thông tin có khung bao
tự động như thế nào;
Các mô hình giai đoạn phân tích được chuyển đổi sang các mô hình thiết kế
bằng cách sử dụng các biểu đồ luồng thông tin hệ thống, biểu đồ cấu trúc
và các giải mã module như thế nào;
Tích hợp vào các thao tác thiết kế khác;
Ứng dụng phương thức vào kiến trúc 3 tầng.
2
1
4
3
5
v1.0011107222
6
1. TỪ PHƯƠNG THỨC CẤU TRÚC SANG THIẾT KẾ KIẾN TRÚC
ỨNG DỤNG
• Các chương trình phần mềm ứng dụng:
Được thiết kế trong mối kết hợp với cơ sở dữ liệu và giao diện sử dụng;
Hệ thống cấp bậc của các modules.
• Logic thiết kế bên trong của các module riêng lẻ;
• Phương thức trên -dưới (Top-down ):
DFDs với các đường bao tự động;
Lưu đồ hệ thống, biểu đồ cấu trúc, giải mã.
v1.0011107222
7
CÁC MÔ HÌNH THIẾT KẾ CẤU TRÚC
v1.0011107222
8
2. ĐƯỜNG BAO HỆ THỐNG TỰ ĐỘNG
• Phân chia các quy trình sơ đồ công nghệ thành các qui trình thủ công và các hệ thống
tự động;
• Các quy trình có thể ở bên trong hay bên ngoài đường bao;
• Các dòng dữ liệu có thể ở bên trong hay bên ngoài của đường bao:
Các dòng dữ liệu giao với đường bao hệ thống thể hiện các dữ liệu đầu ra và dữ
liệu đầu vào của hệ thống;
Các dòng dữ liệu giao các đường bao giữa các chương trình biểu diễn sự truyền
thông từ chương trình này tới chương trình kia.
v1.0011107222
9
VÍ DỤ: DFD VỚI ĐƯỜNG BAO HỆ THỐNG TỰ ĐỘNG
Đường bao hệ thống tự động.
Quy trình mà một phần ở
trong, một phần ở ngoài
Đường bao
chương trình
Luồng dữ liệu giao với
đường bao là các dữ liệu
đầu ra và đầu vào
Đường bao
hệ thống tự động
v1.0011107222
10
3. BIỂU ĐỒ LUỒNG THÔNG TIN HỆ THỐNG
• Hiển thị các chương trình máy tính đa dạng, các files, các cơ sở dữ liệu, và
các qui trình thủ công liên quan tạo nên một hệ thống hoàn chỉnh;
• Thường xuyên được vẽ trong khi thực hiện các thao tác phân tích;
• Mô tả bằng đồ thị cơ cấu của các hệ thống con trong các thành tố thủ công
và tư động;
• Có thể hiển thị loại hình hệ thống thực hiện giao dịch:
Theo bó;
Thời gian thực.
v1.0011107222
11
3.1. CÁC KÍ HIỆU LƯU ĐỒ HỆ THỐNG PHỔ BIẾN
Quy trình hoặc
chương trình
Files hoặc
cơ sở dữ liệu
Tài liệu
hoặc báo cáo
File ở băng từ
Trình diễn dữ liệu
đầu ra hay đầu vào
trên màn hình
Files hoặc
cơ sở dữ liệu
Thực hiện
thủ công
Kết nối giữa các thành tố.
Mũi tên để chỉ luồng dữ liệu
từ thành tố này sang thành tố khác.
Đường Link truyền thông
v1.0011107222
12
3.2. VÍ DỤ 1 MẪU LƯU ĐỒ HỆ THỐNG CHO HỆ THỐNG TIỀN LƯƠNG
v1.0011107222
13
3.3. VÍ DỤ 2 LƯU ĐỒ HỆ THỐNG CHO RMO
v1.0011107222
14
4. BIỂU ĐỒ CẤU TRÚC
• Mô tả các chức năng chính và chức năng phụ của mỗi phần hệ thống;
• Thể hiện mối quan hệ giữa các modules của một chương trình máy tính;
• Tổ chức đơn giản và trực tiếp:
Mỗi một module thực thi một chức năng cụ thể;
Mỗi một tầng trong chương trình thực thi các hoạt động cụ thể.
• Biểu đồ dạng hình cây với module gốc và các nhánh.
v1.0011107222
15
4.1. BIỂU ĐỒ CẤU TRÚC ĐƠN GIẢN TÍNH MODULO TRẢ LƯƠNG
v1.0011107222
16
4.2. CÁC KÝ HIỆU BIỂU ĐỒ CẤU TRÚC
Module
Module chủ
Module được gọi
Module chủ với
sự lặp lại ở các
Module gọi
Module
thường trình
con chung
Module chủ
Module nhúng
Module chủ với
điều kiện gọi
Cờ
k
iể
m
s
oá
t
D
ữ
liệ
u
đã
đ
ượ
c
th
ôn
g
qu
a
D
ữ
liệ
u
đư
ợc
ph
ản
h
ồi
(b)(a)
(d)(c)
(f)(e)
v1.0011107222
17
VÍ DỤ BIỂU ĐỒ CẤU TRÚC CHO TOÀN BỘ CHƯƠNG TRÌNH TRẢ LƯƠNG
v1.0011107222
18
4.3. PHÁT TRIỂN BIỂU ĐỒ CẤU TRÚC
• Phân tích giao dịch:
Sử dụng biểu đồ dòng hệ thống và dữ liệu đầu vào của bảng sự kiện;
Các module mức cao (Upper-level) được phát triển đầu tiên;
Nhận dạng mỗi giao dịch do chương trình hỗ trợ.
• Phân tích biến đổi:
Dùng các phân đoạn DFD cho dữ liệu đầu ra;
Chương trình máy tính “ biến đổi” các dữ liệu đầu vào thành các dữ liệu
đầu ra;
Các biểu đồ có các cây con hiển thị dữ liệu đầu vào, đầu ra và tính toán.
v1.0011107222
19
VÍ DỤ DFD PHẦN – SỰ KIỆN CHO HỆ THỐNG CON NHẬN ĐƠN
ĐẶT HÀNG
v1.0011107222
20
VÍ DỤ DFD PHẦN – SỰ KIỆN CHO HỆ THỐNG CON NHẬN ĐƠN ĐẶT
HÀNG (tiếp theo)
v1.0011107222
21
4.4. CÁC BƯỚC ĐỂ TẠO LẬP MỘT BIỂU ĐỒ CẤU TRÚC TỪ
MỘT PHÂN ĐOẠN DFD
• Quyết định dòng thông tin chính:
Dòng dữ liệu chính được truyền từ một dạng dữ liệu đầu vào nào đó
sang dạng dữ liệu đầu ra;
Tìm qui trình thể hiện các thay đổi cơ bản nhất từ dữ liệu đầu vào tới
dữ liệu đầu ra.
• Vẽ lại DFD với các dữ liệu đầu vào phía bên trái và các dữ liệu đầu ra phía
phải – quá trình biển đổi chính đi từ giữa;
• Tạo bản phác thảo của biểu đồ cấu trúc đầu tiên dựa trên các dòng dữ
liệu được vẽ lại.
v1.0011107222
22
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER)
Một phân đoạn DFD
v1.0011107222
23
Xem DFD
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER) (tiếp theo)
v1.0011107222
24
Sắp xếp lại DFD
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER) (tiếp theo)
v1.0011107222
25
Bản phác thảo đầu tiên của bản đồ cấu trúc
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER) (tiếp theo)
v1.0011107222
26
4.5. CÁC BƯỚC TẠO BIỂU ĐỒ CẤU TRÚC TỪ MỘT PHÂN ĐOẠN DFD
• Bổ sung các module khác:
Lấy dữ liệu đầu vào thông qua màn hình giao diện sử dụng;
Đọc từ kho dữ liệu và viết tới kho dữ liệu;
Viết các dữ liệu hoặc báo cáo đầu ra.
• Bổ sung logic từ các bảng quyết định hoặc các bảng đã được xây dựng.
• Tạo xác lập cuối cùng cho biểu đồ kết cấu dựa trên các định nghĩa kiểm soát
chất lượng.
v1.0011107222
27
4.6. BIỂU ĐỒ CẤU TRÚC CHO CHƯƠNG TRÌNH CREATE NEW ORDER
v1.0011107222
28
4.7. KẾT HỢP CÁC BIỂU ĐỒ CẤU TRÚC
v1.0011107222
29
5. ĐÁNH GIÁ CHẤT LƯỢNG CỦA BIỂU ĐỒ CẤU TRÚC
• Kết hợp module:
Đo lường mức độ kết nối của các module trong chương trình;
Mục đích là kết nối lỏng.
• Cố kết module:
Đo lường cường độ bên trong của module;
Module thực hiện một nhiệm vụ đã được xác định;
Mục tiêu là cố kết mức độ cao.
v1.0011107222
30
5. ĐÁNH GIÁ CHẤT LƯỢNG CỦA BIỂU ĐỒ CẤU TRÚC (tiếp theo)
v1.0011107222
31
6. THIẾT KẾ BÁN MODULE: GIẢI MÃ
• Mô tả các logic bên trong của các module phần mềm;
• Sự đa dạng được tạo sẵn gần với mã lập trình;
• Cú pháp nên dễ hiểu (ngôn ngữ phát triển);
• Ba loại trình bày được sử dụng trong lập trình cấu trúc:
Trình tự: Trình tự của các trình bày có thể thực hiện được;
Quyết định: Hàm logic if-then-else;
Lặp: do-until hoặc do-while.
v1.0011107222
32
7. TÍCH HỢP THIẾT KẾ GIAO DIỆN ỨNG DỤNG CẤU TRÚC VỚI
CÁC NHIỆM VỤ THIẾT KẾ KHÁC
• Biểu đồ cấu trúc cần phải được chỉnh sửa hoặc nâng cấp để tích hợp thiết kế
của giao diện sử dụng và cơ sở dữ liệu:
Các modules bổ sung có cần thiết không?
Giải mã trong modules cần chỉnh sửa không?
Các kết nối dữ liệu bổ sung có cần truyền qua dữ liệu không?
• Các biểu đồ cấu trúc và các lưu đồ hệ thống cần phải phù hợp với kiến trúc
mạng đã hoạch định: Các giao thức, công suất và độ bảo mật cần thiết.
v1.0011107222
33
8. THIẾT KẾ BA TẦNG
• Kiến trúc ba tầng: Tầng quan sát, Tầng logic nghiệp vụ và tầng dữ liệu;
• Các biểu đồ cấu trúc và các lưu đồ hệ thống mô tả các quyết định thiết kế và
cơ cấu phần mềm;
• Có nhiều chương trình cho module truy cập dữ liệu, giao diện sử dụng và logic
nghiệp vụ;
• Các Modules ở các tầng khác nhau truyền thông qua liên kết thời gian thực sử
dụng các giao thức đã được nhận dạng tốt.
v1.0011107222
34
8.1. LƯU ĐỒ HỆ THỐNG THỂ HIỆN KIẾN TRÚC BA TẦNG CHO
CREATE NEW ORDER
Tầng quan sát
(Trạm làm việc
khách hàng
chạy Windows XP và
Internet Explorer)
Trình diễn vật lý
(1024 x 768,
24-bit color)
HTTPS/HTML
Cơ sở
dữ liệu
đặt hàng
Cơ sở
dữ liệu
kiểm kê
Tầng logic
kinh doanh
(Các thành phần
cạnh máy chủ Java)
Tầng dữ liệu
JDBC/SQL
Dịch vụ chấp nhận
tín dụng online
HTTPS/XML
Cơ sở
dữ liệu
khách hàng
v1.0011107222
35
8.2. BIỂU ĐỒ CẤU TRÚC THỂ HIỆN KIẾN TRÚC BA TẦNG
CHO CREATE NEW ORDER
v1.0011107222
36
9. CƠ SỞ DỮ LIỆU VÀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU
• Cơ sở dữ liệu (DB) - Tập hợp các dữ liệu được lưu trữ, quản lý và điều khiển
tập trung;
• Hệ Quản trị Cơ sở dữ liệu (DBMS) - phần mềm hệ thống quản lý và điều
khiển truy nhập cơ sở dữ liệu;
• Cơ sở dữ liệu được mô tả bằng các sơ đồ mô tả các điều khiển cấu trúc, nội
dung và truy nhập.
v1.0011107222
37
9.1. THÀNH PHẦN CỦA DB VÀ DBMS
Các thành phần của một cơ sở dữ liệu và hệ quản lý cơ sở dữ liệu và sự tương tác của
chúng với các phần mềm ứng dụng, người sử dụng và nhà quản lý trị cơ sở dữ liệu.
Chương trình
ứng dụng
Người sử dụng Nhà quản trịCSDL
Giao diện
chương trình
ứng dụng
Bộ xử lý
truy vấn
người sử dụng
Giao diện
quản lý
Lưu trữ
dữ liệu vật lý
Lược đồ
Cơ sở dữ liệu
Nguyên lý truy nhập và điều khiển CSDL
Hệ quản trị cơ sở dữ liệu
v1.0011107222
38
9.2. CHỨC NĂNG QUAN TRỌNG DBMS
• Nhiều người sử dụng truy nhập đồng thời và các trình ứng dụng;
• Truy nhập dữ liệu không cần các trình ứng dụng;
• Quản lý dữ liệu tổ chức với các điều khiển nội dung và truy nhập thống nhất.
v1.0011107222
39
9.3. CÁC KIỂU CƠ SỞ DỮ LIỆU
• Bị tác động bởi sự thay đổi về công nghệ từ những năm 60;
• Kiểu:
Phân cấp;
Mạng lưới;
Quan hệ;
Hướng đối tượng.
• Tất cả các hệ thống hiện nay đều sử dụng kiểu dữ liệu quan hệ và kiểu dữ liệu
hướng đối tượng.
v1.0011107222
40
9.4. CƠ SỞ DỮ LIỆU QUAN HỆ
• Hệ Quản trị Cơ sở dữ liệu Quan hệ (RDBMS) tổ chức dữ liệu thành các bảng hay còn
gọi là các quan hệ;
• Bảng là một cấu trúc dữ liệu hai chiều:
Hàng: Hàng hoặc bản ghi;
Trường: Cột hoặc thuộc tính.
• Bảng có (các) trường khoá chính được sử dụng để xác định các bản ghi duy nhất;
• Các khoá liên kết các bảng với nhau.
v1.0011107222
41
VÍ DỤ HIỂN THỊ MỘT BẢNG CSDL QUAN HỆ
Hiển thị một phần của bảng cơ sở dữ liệu quan hệ
Tên trường hay
thuộc tính
Giá trị một
trường hay một
thuộc tính
Một hàng hay
một bản ghi
Một trường hay
một thuộc tính
v1.0011107222
42
10. THIẾT KẾ CƠ SỞ DỮ LIỆU QUAN HỆ
• Tạo bảng cho mỗi kiểu thực thể;
• Chọn hoặc tạo khoá chính cho mỗi bảng;
• Bổ sung các khoá ngoại để thể hiện quan hệ một - nhiều;
• Tạo các bảng mới để thể hiện quan hệ nhiều-nhiều;
• Kiểm tra các ràng buộc toàn vẹn tham chiếu;
• Đánh giá chất lượng của sơ đồ và bổ sung các yếu tố cần thiết;
• Lựa chọn kiểu dữ liệu phù hợp và giới hạn giá trị (nếu cần thiết) cho mỗi trường.
v1.0011107222
43
VÍ DỤ 1 QUAN HỆ GIỮA DỮ LIỆU TRONG 2 BẢNG
Quan hệ dữ liệu giữa hai bảng, khóa ngoại ProductID trong bảng
InventoryItem tham chiếu đến khóa chính ProductID trong bảng ProducItem
v1.0011107222
44
VÍ DỤ 2 SƠ ĐỒ THỰC THỂ LIÊN KẾT RMO
Sơ đồ thực thể liên kết RMO
v1.0011107222
45
11. THỰC THỂ QUAN HỆ
• Cơ sở dữ liệu quan hệ sử dụng các khoá ngoại để thể hiện quan hệ;
• Quan hệ một-nhiều: Lấy trường khoá chính của bảng thể hiện một kiểu thực thể
để bổ sung thành khoá ngoại của bảng thể hiện nhiều kiểu thực thể.
• Quan hệ nhiều-nhiều:
Sử dụng (các) trường khoá chính của các bảng thể hiện nhiều kiểu thực thể;
Sử dụng hoặc tạo một bảng thực thể kết hợp để thể hiện quan hệ.
v1.0011107222
46
11.1. BẢNG THỰC THỂ VỚI CÁC KHÓA CHÍNH
Bảng thực thể với các khóa chính được in đậm
v1.0011107222
47
11.2. BIỂU DIỄN QUAN HỆ MỘT CHIỀU
Thể hiện quan hệ một – với – nhiều cách bổ sung các thuộc tính khóa ngoài (in nghiêng)
v1.0011107222
48
12. ĐẢM BẢO TOÀN VẸN THAM CHIẾU
• Trạng thái cơ sở dữ liệu quan hệ thống nhất;
• Mỗi khoá ngoại là một giá trị khoá chính;
• DBMS đảm bảo toàn vẹn tham chiếu tự động khi trình thiết kế sơ đồ xác định
các khoá chính và khoá ngoại.
• Khi các hàng chứa các khoá ngoại được khởi tạo: DBMS đảm bảo một khoá
ngoại cũng tồn tại với tư cách là một khoá chính trong một bảng liên kết;
• Khi các hàng bị xoá: DBMS đảm bảo không một khoá ngoại nào trong các
bảng liên kết có cùng giá trị với khoá chính của dòng bị xoá;
• Khi giá trị khoá chính bị thay đổi: DBMS đảm bảo không một khoá ngoại nào
trong các bảng liên kết có cùng giá trị.
v1.0011107222
49
13. ĐÁNH GIÁ CHẤT LƯỢNG SƠ ĐỒ
• Một mô hình dữ liệu có chất lượng cao phải có:
Sự duy nhất của các hàng và các khoá chính;
Dễ dàng thực hiện các thay đổi về kiểu dữ liệu trong tương lai (linh hoạt
và có khả năng bảo trì);
Không có các dữ liệu thừa (chuẩn hoá cơ sở dữ liệu).
• Thiết kế cơ sở dữ liệu không khách quan và không thể định lượng, dựa trên
kinh nghiệm và suy đoán.
v1.0011107222
50
14. CHUẨN HÓA CSDL
Các dạng chuẩn phải tối thiểu hoá các dữ liệu thừa:
• Dạng chuẩn một (1NF) - không lặp lại các trường hoặc các nhóm trường;
• Phụ thuộc hàm - quan hệ một-một giữa các giá trị của hai trường;
• 2NF - đã thoả mãn 1NF và các phần tử không phải là khoá phụ thuộc hàm vào
toàn bộ khoá chính;
• 3NF - đã thoả mãn 2NF và không một phần tử “không phải là khoá” nào lại phụ
thuộc vào phần tử “không phải là khoá” khác.
v1.0011107222
51
VÍ DỤ 1 TÁCH BẢNG 1NF THÀNH BẢNG 2NF
Tách bảng 1NF thành 2 bảng 2NF
Chuyển sang 2NF
v1.0011107222
52
VÍ DỤ 2 CHUYỂN BẢNG 2NF THÀNH CÁC BẢNG 3NF
Chuyển một bảng 2NF thành 2 bảng 3NF
Chuyển sang 3NF
v1.0011107222
53
TÓM LƯỢC CUỐI BÀI
• Đối với phương thức tạo dựng cấu trúc cổ điển để thiết kế các hệ
thống, dữ liệu đầu vào chủ yếu là sơ đồ dòng dữ liệu:
DFD được nâng cấp bởi đường bao hệ thống bổ sung;
Nhà thiết kế mô tả các qui trình bên trong mỗi đường bao DFD
bằng cách sử dụng một hay nhiều các biểu đồ cấu trúc.
• Các biểu đồ cấu trúc được phát triển sử dụng:
Phân tích giao dịch – các loại đa giao dịch;
Phân tích biến đổi – giao dịch đơn từ dữ liệu đầu vào tới dữ liệu
đầu ra.
• Các biểu đồ cấu trúc có thể được dựa trên kiến trúc ba tầng:
Các Modules sẽ được nhận dạng rất rõ bởi tầng;
Biểu đồ cấu trúc có thể phân ly nếu các tầng hoạt động trên nhiều
hệ thống.
• Thiết kế tạo cấu trúc có thể cũng bao hàm:
Các biểu đồ hệ thống để thể hiện sự di chuyển dữ liệu;
Module giải mã mô tả logic bên trong của module biểu đồ kết cấu.