Bài giảng Phân tích thiết kế Hệ thống thông tin - Chương 4: Thiết kế hệ thống

1. Mô hình dữ liệu khái niệm 2. Mô hình dữ liệu logic 3. Thiết kế hệ thống vật lý Mô hình dữ liệu khái niệm Giới thiệu mô hình thực thể quan hệ (ERM) Các thành phần của ERM Quy trình xây dựng ERM Các bước phát triển ERM cho ứng dụng Ví dụ

pptx84 trang | Chia sẻ: candy98 | Lượt xem: 601 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Phân tích thiết kế Hệ thống thông tin - Chương 4: Thiết kế hệ thống, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
THIẾT KẾ HỆ THỐNGNội dung chínhMô hình dữ liệu khái niệmMô hình dữ liệu logicThiết kế hệ thống vật lýMÔ HÌNH DỮ LiỆU KHÁI NiỆMGiới thiệu mô hình thực thể quan hệ (ERM)Các thành phần của ERMQuy trình xây dựng ERMCác bước phát triển ERM cho ứng dụngVí dụ Giới thiệu mô hình thực thể quan hệERM = Entity Relationships ModelBiểu diễn đồ thị của các lớp dữ liệu và mối quan hệ ngữ nghĩa giữa chúngCác thành phần của ERM:Thực thểMối quan hệ giữa các thực thểThuộc tính của thực thểThực thể (entity)Là một khái niệm để chỉ:Một lớp Các đối tượng của thế giới thực, hoặcCác khái niệm độc lập (không bao chứa cái khác)có cùng đặc trưng chungTên thực thể: danh từKý pháp: Tên thực thểVí dụ: thực thểBản thể (instance)Là một đối tượng cụ thể của thực thểPhân biệt thực thể và bản thểThuộc tính(attribute)Là đặc trưng của thực thể mà ta quan tâm (có thể không phải tất cả)Tên thuộc tính: danh từCác loại thuộc tính:Thuộc tính tên gọi: tên gọi cho một bản thểThuộc tính định danh: xác định tính duy nhất của bản thể Thuộc tính mô tả: các thuộc tính còn lạiThuộc tính lặp: với 1 bản thể có thể nhận nhiều giá trị khác nhauThuộc tính – ký phápThuộc tính của thực thể gắn với thực thể bằng 1 đoạn thẳngBiểu diễn thực thểTên thực thể: viết chữ INThuộc tính: chữ thườngĐịnh danh: gạch chânMối quan hệ (relationships)Là khái niệm phản ánh mối quan hệ ngữ nghĩa vốn có giữa các bản thể của các thực thể trong thế giới thựcTên mối quan hệ: mệnh đề động từKý phápTên mối quan hệMối quan hệ (tiếp)Có 2 loại:Mối quan hệ tương tác: mô tả sự tác động của một thực thể lên thực thể khácMối quan hệ sở hữu/phụ thuộc: mô tả sự phụ thuộc giữa 2 thực thểMối quan hệ (tiếp)Mối quan hệ cũng có thuộc tínhTrả lời cho các câu hỏi của động từ:Bằng cách nào?Khi nào?Bao nhiêu?Như thế nào?Mối quan hệ (tiếp)Bậc của mối quan hệ: Số thực thể tham gia vào mối quan hệCác loại bậcMối quan hệ (tiếp)Bản số của quan hệSố bản thể tham gia vào mối quan hệChỉ quan tâm đến bản số nhỏ nhất và lớn nhấtMối quan hệ (tiếp)Biểu diễnThực thể yếuMối quan hệ bậc thấpMối quan hệ bậc caoQuy trình xây dựng ERMCách 1: thực hiện đồng thờiQuy trình xây dựng ERMCách 2: thực hiện từng hồ sơ rồi tích hợpLiệt kêXác định thực thểXác định mối quan hệVẽ mô hìnhChuẩn hóaCác bước xây dựng ERMBước 1: Liệt kêQuy tắc:Chính xác hóaMỗi mục chỉ một đối tượng duy nhấtHai mục khác nhau chỉ hai đối tượng khác nhauChọn lọcMỗi mục là chung cho mỗi lớp hồ sơ được xétMỗi mục là sơ cấp (không được suy trực tiếp từ các mục khác)Mỗi mục được chọn 1 lầnCác bước xây dựng ERMBước 2: Xác định thực thểDữ liệu vào: bảng từ điển dữ liệuDữ liệu ra: các thực thể và thuộc tính của nóQuy tắc:Tìm các thuộc tính tên gọi: mỗi thuộc tính tên gọi xác định một thực thể tương ứngXác định thuộc tính còn lạiXác định định danh của thực thểLoại đi thuộc tính đã sử dụng trong bảngCác bước xây dựng ERMBước 3: xác định mối quan hệDữ liệu vào: bảng từ điển dữ liệu còn lạiDữ liệu ra: các mối quan hệ và thuộc tính của chúngQuy tắc:Xác định mối quan hệ tương tácCác bước xây dựng ERMBước 3: xác định mối quan hệ (tiếp)Quy tắc:Xác định mối quan hệ ràng buộcXét từng cặp thực thể, tìm mối quan hệ phụ thuộc/ràng buộc và tìm thuộc tính của nóCác bước xây dựng ERMBước 4: vẽ mô hìnhTrước hết vẽ các thực thểVẽ mối quan hệSắp xếp lại cho cân đối, dễ nhìnBổ sung thuộc tính, gạch chân thuộc tính định danhXác định bản sốCác bước xây dựng ERMBước 5: chuẩn hóaMục đích:Loại bỏ thuộc tính lặp, nhóm lặp, thuộc tính phụ thuộc thời gianĐảm bảo quy tắc nghiệp vụRút gọn mô hình nếu có thểXác định lại bản số, nếu cầnDEMOPHIẾU XUẤT KHO    Số: xxxxxxHọ và tên người mua hàng:Địa chỉ:Lý do xuất kho:Xuất tại kho:STTTên hàngĐVTSố lượngĐơn giáThành tiền....Tổng tiền hàng.Thuế VATTổng cộngPHIẾU NHẬP KHO    Số: xxxxxxHọ và tên người giao hàng:Địa chỉ:Lý do nhập kho:Nhập tại kho:STTTên hàngĐVTSố lượngĐơn giáThành tiền....Tổng tiền hàng.Thuế VATTổng cộngVí dụBước 1: Liệt kêĐƠN ĐẶT HÀNGTừ trong HSViết gọnSốSoHDNgười đặt hàngTenKHNgày đặt NgayDatSố TTSoTTTên hàngTenHangĐơn vịDVTSố lượngSoLuongĐơn giáDonGiaThành tiềnThanhTienPHIẾU NHẬP KHOTừ trong HSViết gọnSốSoHDHọ và tên người giao hàngTen NGHĐịa chỉDiaChiLý do nhập khoLyDoNhập tại khoTenKhoSTTSoTTTên hàngTenHangĐơn vịDVTĐơn giáDonGiaThành tiềnThanhTienTổng tiền hàngTongTienHangThuế VATVATTổng cộngTongCongPHIẾU NHẬP KHOTừ trong HSViết gọnSốSoHDHọ và tên người mua hàngTen KHĐịa chỉDiaChiLý do xuất khoLyDoXuất tại khoTenKhoSTTSoTTTên hàngTenHangĐơn vịDVTĐơn giáDonGiaThành tiềnThanhTienTổng tiền hàngTongTienHangThuế VATVATTổng cộngTongCongVí dụBước 2: Xác định thực thể và thuộc tínhKHÁCH HÀNG ( TenKH, DiaChiKH)  Bổ sung: MaKHHÀNG ( TenHang, DVT, DonGia)  Bổ sung: MaHangKHO (TenKho)  Bổ sung: MaKhoNGƯỜI GIAO HÀNG (Ten nguoi GH, DiaChi) Bổ sung: MaNGHVí dụBước 1: Liệt kêĐƠN ĐẶT HÀNGTừ trong HSViết gọnSốSoHDNgười đặt hàngTenKHNgày đặt NgayDatSố TTSoTTTên hàngTenHangĐơn vịDVTĐơn giáDonGiaThành tiềnThanhTienPHIẾU NHẬP KHOTừ trong HSViết gọnSốSoHDHọ và tên người giao hàngTen NGHĐịa chỉDiaChiLý do nhập khoLyDoNhập tại khoTenKhoSTTSoTTTên hàngTenHangĐơn vịDVTĐơn giáDonGiaThành tiềnThanhTienTổng tiền hàngTongTienHThuế VATVATTổng cộngTongCongPHIẾU NHẬP KHOTừ trong HSViết gọnSốSoHDHọ và tên người mua hàngTen KHĐịa chỉDiaChiKHLý do xuất khoLyDoXuất tại khoTenKhoSTTSoTTTên hàngTenHangĐơn vịDVTĐơn giáDonGiaThành tiềnThanhTienTổng tiền hàngTongTienHThuế VATVATTổng cộngTongCongVí dụBước 3: xác định quan hệKHÁCH ĐẶT HÀNGNGƯỜI GIAO HÀNG NHẬP HÀNG TẠI KHOKHO XUẤT HÀNG CHO KHÁCHMÔ HÌNH DỮ LiỆU LOGICMô hình dữ liệu logicCác thành phần của mô hình quan hệChuyển ERM sang mô hình quan hệCác bước thiết kế CSDL logicVí dụ Mô hình dữ liệu logicLà sự mô tả cấu trúc của dữ liệu sao cho một hệ quản trị CSDL có thể xây dựng dựa trên nó để tổ chức việc lưu trữ & khai thác dữ liệu một cách hiệu quảĐến nay đã có 4 loại mô hình dữ liệu logic:Mô hình dữ liệu phân cấpMô hình dữ liệu mạngMô hình dữ liệu quan hệMô hình dữ liệu hướng đối tượngMô hình dữ liệu phân cấpCác bản ghi sắp xếp từ trên xuống tạo thành một câyThuật ngữ cha – con được sử dụng để mô tả mô hìnhMột con chỉ có 1 chaMột cha có thể có nhiều conMô hình dữ liệu mạngMột bản ghi kết nối với một số bản ghi khác Khắc phục được hạn chế của mô hình phân cấpPhức tạp cho việc quản lýMô hình dữ liệu quan hệMô hình dữ liệu quan hệ cấu thành từ các bảng dữ liệu 2 chiều có quan hệ logic với nhau thông qua giá trị cột khóaĐược xây dựng trên cơ sở lý thuyết tập hợpĐược sử dụng rộng rãi trong các hệ quản trị CSDLMô hình dữ liệu hướng đối tượngLà mô hình mới, dùng để lưu trữ dữ liệu của các đối tượng, bao gồm cả thuộc tính dữ liệu và hành vi của chúngMô hình phát triển chưa lâu, chưa hoàn thiệnĐã có một số hệ quản trị CSDL dùng nhưng chưa rộng rãiNhiều hệ quản trị CSDL hướng đối tượng nhưng việc lưu trữ vẫn sử dụng CSDL quan hệNhắc lại:Mô hình dữ liệu quan hệMô hình quan hệ gồm:Quan hệ Các liên kếtQuan hệ là một bảng dữ liệu 2 chiều gồm:Cột, gọi là thuộc tínhCác dòng, gọi là bộ dữ liệu hay bản ghiTính chất của một quan hệ:Phần tử nằm chỗ giao nhau giữa dòng và cột là duy nhấtCác phần của 1 cột thuộc miền giá trị Các dòng là khác nhauThứ tự các dòng là không quan trọngThứ tự các cột là không quan trọngNhắc lại:Mô hình dữ liệu quan hệQuan hệ có cấu trúc tốtCó ít dư thừa nhất và cho phép thêm, sửa, xóa dữ liệu mà không gây ra lỗi hoặc sự thiếu nhất quánMã SVTên SVNgày sinhLớpMôn họcĐiểm001Lê Tấn Tài13/05/89K41CCSDL8002Nguyễn C.Phèo08/01/91K41TCSDL7003Nguyễn C.Phèo08/01/91K41TC++9004Trần Thị Nở02/04/89K42BJava6.5005Lý A Sử09/01/92K42BJava7Nhắc lại:Mô hình dữ liệu quan hệPhụ thuộc hàm: Cho quan hệ R với A và B là 2 tập thuộc tính phân biệt của nó. B gọi là phụ thuộc hàm vào A nếu đối với mỗi giá trị của A xác định duy nhất các giá trị của BSự phụ thuộc hàm của B vào A gọi là A xác định B, kí hiệu: A  B. Xác định phụ thuộc hàm phụ thuộc vào ngữ nghĩa của nóNhắc lại:Mô hình dữ liệu quan hệCác loại khóaKhóa dự tuyểnKhóaKhóa ngoạiCác dạng chuẩn1NF2NF3NFNgoài ra còn: BCNF, 4NF, 5NFCác ràng buộcToàn vẹn thực thểToàn vẹn giá trị thuộc tínhToàn vẹn tham chiếuToàn vẹn khácVí dụ về dạng chuẩnVí dụ về dạng chuẩnVí dụ về dạng chuẩnPhát triển mô hình dữ liệu logicThực hiện qua 2 bước:Xây dựng mô hình dữ liệu khái niệm – ERMChuyển ERM sang mô hình quan hệCác bước xây dựng mô hình dữ liệu logicERMBiểu diễn thực thểBiểu diễn quan hệChuẩn hóaHợp nhất quan hệVẽ biểu đồMô hình quan hệBiểu diễn thực thểQuy tắc chuyển:Tên thực thể  tên quan hệThuộc tính thực thể  thuộc tính quan hệThuộc tính định danh  khóa quan hệBiểu diễn quan hệQuan hệ 1:n và quan hệ không có thuộc tính riêngThêm khóa của quan hệ phía 1 làm khóa ngoại của quan hệ phía nhiềuBiểu diễn quan hệCác trường hợp khácThêm một quan hệ mới gồm các thuộc tính:Thuộc tính riêng của quan hệCác thuộc tính định danh của thực thể liên quanChuẩn hóaChỉ cần xét các quan hệ thêm vào ở bước 2Nên để ở dạng chuẩn 3NFHợp nhất quan hệLoại đi những quan hệ thừaChính xác hóa thuộc tính đồng nghĩaHợp nhất các quan hệ có cùng khóaKết quả: các quan hệ có cấu trúc tốt (đạt dạng chuẩn 3NF trở lên)DEMOKẾT QuẢThiết kế CSDL vật lýTHIẾT KẾ VẬT LÝThiết kế cơ sở dữ liệu vật lýXây dựng biểu đồ luồng hệ thốngThiết kế kiến trúc hệ thốngThiết kế các thủ tục xử lýThiết kế giao diện và báo cáoVí dụ Thiết kế cơ sở dữ liệu vật lýChuyển mô hình dữ liệu logic thành các đặc tả dữ liệu vật lý phù hợp với điều kiện thiết bị & môi trường cụ thểGồm 2 nội dung:Chọn công nghệ lưu trữ và quản lý dữ liệu: hệ điều hành, hệ quản trị CSDL, công cụ truy nhậpChuyển mô hình logic thành thiết kế vật lý và xác định phương án cài đặtThiết kế cơ sở dữ liệu vật lýĐầu vào: Mô hình dữ liệu logic Từ điển dữ liệuMô tả yêu cầu sử dụng dữ liệu (nếu có)Mong đợi của người dùng về sử dụng, tích hợp dữ liệuMô tả công nghệ và thiết bị sử dụngThiết kế cơ sở dữ liệu vật lýSơ đồ thiết kếThiết kế cơ sở dữ liệu vật lýNội dung:Thiết kế các trườngThiết kế bản ghiThiết kế fileThiết kế CSDL vật lý (tổ chức file)Xây dựng phương án bố trí file Ước lượng khối lượng lưu trữThiết kế cơ sở dữ liệu vật lýThiết kế trườngLà đơn vị nhỏ nhất mà phần mềm hệ thống nhận ra và thao tácMục tiêu:Tiết kiệm không gian nhớ (chọn kích cỡ, kiểu)Biểu diễn được mọi giá trị (kiểu, định dạng)Cải thiện tính toàn vẹn (biểu diễn, thể hiện)Hỗ trợ thao tác (kiểu, định dạng, thể hiện)Một thuộc tính có thể biểu diễn bởi một hay một số trườngThiết kế cơ sở dữ liệu vật lýThiết kế bản ghiMột bản ghi vật lý là 1 nhóm các trường được lưu trữ ở vị trí liền kề nhau trong bộ nhớ và được gọi ra đồng thời như 1 đơn vị thống nhấtPhi chuẩn hóa: Tách/hợp nhất các quan hệ đã chuẩn hóa để được quan hệ phù hợp với điều kiện cụ thể, đạt hiệu quả mong muốnThiết kế cơ sở dữ liệu vật lýFile vật lý Là một phần nhỏ của bộ nhớ thứ cấp lưu các bản ghi vật lý một cách độc lậpCác loại fileData fileLog fileTransaction filePhương án truy nhậpTrực tiếpGián tiếpThiết kế cơ sở dữ liệu vật lýTổ chức fileTổ chức file tuần tựTổ chức file chỉ sốYếu tố cần quan tâmLấy dữ liệu nhanhThông lượng các giao dịch xử lý lớnSử dụng hiệu quả không gian nhớTránh sai sót và mất dữ liệuTối ưu hóa nhu cầu tổ chức fileĐáp ứng được nhu cầu tăng trường dữ liệuAn toànLập biểu đồ luồng hệ thốngĐầu vàoCác biểu DFD logic (mức cơ sở)Mục tiêuXác định chức năng hệ thống thực hiệnNội dungPhân định tiến trình: máy làm hay người làmNếu máy thực hiện thì cần xác định:Phương thức xử lý (lô, thời gian thực, trực tuyến)Đối tượng thực hiện, phương tiện, công cụ sử dụngNội dung xử lýKhi nào thực hiệnThiết kế kiến trúcKhái niệmKiến trúc phần mềm ám chỉ một cấu trúc tổng thể của phần mềm và qua đó cung cấp một sự tích hợp về mặt khái niệm của một hệ thốngKiến trúc hệ thống xác định từ các thành phần của biểu đồ DFD mức caoThiết kế kiến trúcVí dụChất lượng thiết kếThiết kế tốtKết dính chặt chẽ: sự kết hợp lại với nhau giữa các bộ phậnGhép nối lỏng lẻo: mức độ tượng tác giữa các đơn vị trong một chương trìnhThiết kế giao diệnTiến trìnhTạo ra các mô hình khác nhau về chức năng hệ thống cần làm - Kỹ sư phần mềm xây dựngPhác hoạ nhiệm vụ hướng con người và máy tính - Kỹ sư phần mềm và người dùng xây dựngXem xét các giải phápLàm bản mẫu để người dùng đánh giáCài đặt cho mô hình thiết kế và đánh giá về kết quả chất lượngThiết kế giao diệnThiết lập các mục tiêu và ý đồ cho nhiệm vụÁnh xạ thành dãy các hành động xác địnhXác định dãy hành động khi nó được thực hiện ở mức giao diệnChỉ ra trạng thái hệ thốngXác định các cơ chế điều khiểnChỉ ra cách cơ chế điều khiển này ảnh hưởng đến trạng thái hệ thốngChỉ ra cách người dùng diễn giải trạng thái của hệ thống từ thông tin được cấp qua giao diệnThiết kế giao diệnĐặc tả thiết kế giao diệnTổng quanTên giao diệnĐặc trưng người sử dụng (ai sử dụng)Đặc trưng của nhiệm vụ (mục đích)Đặc trưng của hệ thống (các phần mềm hệ thống)Mẫu thiết kết giao diệnMẫu thiết kế giao diệnBiểu đồ trình tự đối thoại và mô tả thao tác sử dụngCác bảng dữ liệu liên quanQui trình, công thức xử lý thực hiệnĐịnh dạng kết quảThiết kế biểu mẫu và báo cáoCấu trúc Đầu biểuCác thông tin về trình tự và theo thời gianCấu trúc và định dạng thông tinPhần chi tiết của biểu mẫuPhẩn tổng hợp dữ liệuXác nhậnBình luậnDEMOThiết kế CSDL vật lýThiết kế cơ sở dữ liệu vật lýSử dụng HQT CSDL SQL Server 2008, sau khi chuẩn hóa xong thu được 10 quan hệ1. Bảng HÀNGCác bảng khác làm tương tựThuộc tínhKiểu dữ liệuCỡĐịnh dạngRàng buộcMaHangCHAR(5)5HxxxxKhóa chínhTenHangVARCHAR(20)20NOT NULLDVTVARCHAR(20)20DonGiaINT4Xác định luồng hệ thốngPhân định công việc người –máyChọn phương thức thực hiệnĐặc tả xử lý: đầu vào, nội dung, công cụ - phương tiện thực hiện, kết quảThay kho dữ liệu bằng các file (bảng) tương ứngXác định luồng hệ thốngTiến trình 1.2. Viết phiếu nhập khoXử lý tương tác khi có yêu cầu nhập khoNội dungNhập vào máy nội dung sau:NgàyNgười giao hàngĐịa chỉ người giao hàngLý do nhập khoTên sản phẩm, số lượng, thành tiềnThuế VATTổng tiềnLưu thông tin vào bảng XUAT_HEADER, XUAT_DETAILIn phiếu phiếu nhập khoCác tiến trình khác làm tương tự!Xác định giao diệnGiao diện cập nhật (Suy ra từ mô hình ERM)GD cập nhật KHÁCH HÀNGGD cập nhật HÀNGGD cập nhật KHOGD cập nhật NGƯỜI GIAO HÀNGXác định giao diệnGiao diện xử lý (suy từ luồng hệ thống các tiến trình cơ sở)GD lập đơn mua hàngGD viết phiếu nhập khoGD Viết séc chuyển khoảnCác DFD khác làm tương tự!Xác định giao diệnTích hợp giao diệnGiao diện cập nhậtGiao diện xử lýCập nhật KHÁCH HÀNGLập đơn mua hàngCập nhật HÀNGViết phiếu nhập khoCập nhật KHOViết séc chuyển khoảnCập nhật NGƯỜI GIAO HÀNGNhận đơn đặt hàngViết phiếu xuất khoViết phiếu thuGửi giấy nhắc nợSau khi xem xét loại bỏ những giao diện trùng lặp, thu được 11 giao diệnKiến trúc hệ thốngThiết kế giao diệnGiao diện đăng nhậpCác giao diện khác làm tương tự!Đặc tả giao diện và tương tác Viết phiếu nhập khoMục tiêu: lưu thông tin nhập kho và in phiếuNgười sử dụng: quản lý khoMôi trường: Windows XP, CSDL SQL Server 2008, Mẫu thiết kế: hình xxxCác bảng dữ liệu sử dụng: HÀNG, KHO, NHAP_HEADER, NHAP_DETAILThao tác xử lý: như mô tả ở trênHướng sử dụng:Kết quả: thêm mới bản ghi vào các bảng nêu trên
Tài liệu liên quan