v1.0011107222 3MỤ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 the
Trang 1v1.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
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
Truyền đạt thông tin
Đối tượng truy cập thông tin
Trang 2v1.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ượnglai 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
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ệuchi 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)
Trang 3và 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
• 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ã
Trang 4• 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ềnthông từ chương trình này tới chương trình kia
Trang 5Luồ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
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
Trang 6v1.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
3.2 VÍ DỤ 1 MẪU LƯU ĐỒ HỆ THỐNG CHO HỆ THỐNG TIỀN LƯƠNG
Trang 7v1.0011107222 13
3.3 VÍ DỤ 2 LƯU ĐỒ HỆ THỐNG CHO RMO
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
Trang 8v1.0011107222 15
4.1 BIỂU ĐỒ CẤU TRÚC ĐƠN GIẢN TÍNH MODULO TRẢ LƯƠNG
4.2 CÁC KÝ HIỆU BIỂU ĐỒ CẤU TRÚC
Module thường trình con chung Module chủ
Module nhúng
Module chủ với điều kiện gọi
(d) (c)
(f) (e)
Trang 9v1.0011107222 17
VÍ DỤ BIỂU ĐỒ CẤU TRÚC CHO TOÀN BỘ CHƯƠNG TRÌNH TRẢ LƯƠNG
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
Trang 11v1.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
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER)
Một phân đoạn DFD
Trang 12v1.0011107222 23
Xem DFD MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER) (tiếp theo)
Sắp xếp lại DFD MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER) (tiếp theo)
Trang 13 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átchất lượng
Trang 14v1.0011107222 27
4.6 BIỂU ĐỒ CẤU TRÚC CHO CHƯƠNG TRÌNH CREATE NEW ORDER
4.7 KẾT HỢP CÁC BIỂU ĐỒ CẤU TRÚC
Trang 15 Đ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
5 ĐÁNH GIÁ CHẤT LƯỢNG CỦA BIỂU ĐỒ CẤU TRÚC (tiếp theo)
Trang 16v1.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
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úcmạng đã hoạch định: Các giao thức, công suất và độ bảo mật cần thiết
Trang 17v1.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à
8.1 LƯU ĐỒ HỆ THỐNG THỂ HIỆN KIẾN TRÚC BA TẦNG CHO
CREATE NEW ORDER
Trang 18v1.0011107222 35
8.2 BIỂU ĐỒ CẤU TRÚC THỂ HIỆN KIẾN TRÚC BA TẦNG
CHO CREATE NEW ORDER
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ểntập trung;
• Hệ Quản trị Cơ sở dữ liệu (DBMS) - phần mềm hệ thống quản lý và điềukhiể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ộidung và truy nhập
Trang 19Nhà 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
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
Trang 20v1.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ệuhướng đối tượng
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òngọ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
Trang 21v1.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
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
Trang 22v1.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
VÍ DỤ 2 SƠ ĐỒ THỰC THỂ LIÊN KẾT RMO
Sơ đồ thực thể liên kết RMO
Trang 23v1.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ệ
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
Trang 24v1.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)
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ị
Trang 25v1.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ênkinh nghiệm và suy đoán
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àotoà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
Trang 27v1.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 DFDbằ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