Bài 5 Các kỹ thuật thiết kế cơ bản

• 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).

pdf27 trang | Chia sẻ: lylyngoc | Lượt xem: 1663 | Lượt tải: 2download
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.
Tài liệu liên quan