Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 5: Các kỹ thuật thiết kế cơ bản trình bày 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; 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.
Trang 1BÀI 5 CÁC KỸ THUẬT THIẾT KẾ CƠ BẢN
Giảng viên: ThS Thạc Bình Cường
Trang 22 v2.0013112205
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
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?
Trang 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 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
Trang 44 v2.0013112205
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)
Trang 5và 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
Trang 6• 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 7CÁC MÔ HÌNH THIẾT KẾ CẤU TRÚC
Trang 88 v2.0013112205
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ềnthông từ chương trình này tới chương trình kia
Trang 9VÍ 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 ở
Đường bao
hệ thống tự động
Trang 1010 v2.0013112205
CÂU HỎI TƯƠNG TÁC
1 Việc thiết kế đường bao (tự động và không tự động) để làm gì?
2 Người thiết kế tự thiết lập đường bao hay có công cụ hỗ trợ?
Trang 113 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 1212 v2.0013112205
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
Trang 133.2 VÍ DỤ 1 MẪU LƯU ĐỒ HỆ THỐNG CHO HỆ THỐNG TIỀN LƯƠNG
Trang 1414 v2.0013112205
3.3 VÍ DỤ 2 LƯU ĐỒ HỆ THỐNG CHO RMO
Trang 154 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 1616 v2.0013112205
4.1 BIỂU ĐỒ CẤU TRÚC ĐƠN GIẢN TÍNH MODULO TRẢ LƯƠNG
Trang 174.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 1818 v2.0013112205
VÍ DỤ BIỂU ĐỒ CẤU TRÚC CHO TOÀN BỘ CHƯƠNG TRÌNH TRẢ LƯƠNG
Trang 194.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 2020 v2.0013112205
VÍ DỤ DFD PHẦN – SỰ KIỆN CHO HỆ THỐNG CON NHẬN ĐƠN
ĐẶT HÀNG
Trang 21VÍ DỤ DFD PHẦN – SỰ KIỆN CHO HỆ THỐNG CON NHẬN ĐƠN
ĐẶT HÀNG
Trang 2222 v2.0013112205
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
Trang 23MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER)
Trang 2424 v2.0013112205
MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER)
Trang 25MỘT PHÂN ĐOẠN DFD (CREATE NEW ORDER)
Trang 2626 v2.0013112205
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
Trang 274.6 BIỂU ĐỒ CẤU TRÚC CHO CHƯƠNG TRÌNH CREATE NEW ORDER
Trang 2828 v2.0013112205
4.7 KẾT HỢP CÁC BIỂU ĐỒ CẤU TRÚC
Trang 295 ĐÁ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
Trang 3030 v2.0013112205
5 ĐÁNH GIÁ CHẤT LƯỢNG CỦA BIỂU ĐỒ CẤU TRÚC
Trang 31CÂU HỎI TƯƠNG TÁC
1 Sự khác nhau giữa Coupling và Cohension?
2 Tại sao phải giảm Coupling và tăng Cohension?
Trang 3232 v2.0013112205
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
Trang 337 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
Trang 3434 v2.0013112205
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à
Trang 358.1 LƯU ĐỒ HỆ THỐNG THỂ HIỆN KIẾN TRÚC BA TẦNG CHO
CREATE NEW ORDER
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
Trang 3636 v2.0013112205
8.2 BIỂU ĐỒ CẤU TRÚC THỂ HIỆN KIẾN TRÚC BA TẦNG
CHO CREATE NEW ORDER
Trang 37CÂU HỎI TƯƠNG TÁC
Việc chọn các kho dữ liệu thế nào cho hợp lý? Theo kinh nghiệm haytheo chuẩn nào?
Trang 3838 v2.0013112205
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
Trang 399.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ý
Nguyên lý truy nhập và điều khiển CSDL
Hệ quản trị cơ sở dữ liệu
Trang 4040 v2.0013112205
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 419.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
Trang 4242 v2.0013112205
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 43VÍ 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
Trang 4444 v2.0013112205
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 45VÍ 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
Trang 4646 v2.0013112205
VÍ DỤ 2 SƠ ĐỒ THỰC THỂ LIÊN KẾT RMO
Trang 47CÂU HỎI TƯƠNG TÁC
Lấy bảng CSDL (được sinh bởi hệ quản trị CSDL) để thay cho việcERD có được không?
Trang 4848 v2.0013112205
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ệ
Trang 4911.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 5050 v2.0013112205
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)
Trang 5112 ĐẢ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 5252 v2.0013112205
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
Trang 5314 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 5454 v2.0013112205
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
Trang 55VÍ 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
Trang 5656 v2.0013112205
CÂU HỎI TƯƠNG TÁC
1 Trong lúc cài đặt, 3NF khó cài đặt hơn so với 2NF không?
2 Có gây dư thừa dữ liệu không?
3 Có chấp nhận dư thừ dữ liệu hay không?
Trang 57TÓ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: