XÂY DỰNG MÔ HÌNH QUAN HỆ

Một phần của tài liệu Giáo trình phân tích và thiết kế một hệ thống thông tin doc (Trang 93 - 148)

Bước 1. Chuyển thực thể thành quan hệ

o Mỗi kiểu thực thể chuyển thành một quan hệ

o Xét các kiểu thuộc tính của kiểu thực thể

Thuộc tính khóa chính, khóa ngoại chuyển thành thuộc tính khóa chính, khóa ngoại của quan hệ tương ứng.

Kiểu thuộc tính có thể kết xuất từ các kiểu thuộc tính khác thì bỏ đi

Bước 2. Biểu diễn mối quan hệ

o Nếu kiểu liên kết là 1 – n (hay 1 – 1) và không có thuộc tính riêng thêm khóa kiểu thực thể bên 1 vào kiểu thực thể bên nhiều (nếu kiểu liên kết là 1 – 1 tùy thuộc vào từng bài toán ta có thể coi một bên là nhiều). Nếu là mô hình ER hạn chế thì không cần thực hiện bước này.

o Với mọi kiểu liên kết trong các trường hợp còn lại: Thêm một quan hệ mới, thuộc tính của quan hệ gồm các khóa của các quan hệ tương ứng với các kiểu thực thể tham gia vào mối quan hệ này, các thuộc tính riêng của mối quan hệ này, tiến hành xác định lại khóa ngoại

Bước 3. Chuẩn hoá quan hệ

Bước 3.1. Từ một biểu mẫu (tài liệu xuất: hoá đơn, chứng từ,…) lấy ra một danh sách các thuộc tính cho quan hệ chưa được chuẩn hoá (dạng chuẩn 0).

o Mỗi tiêu đề trong biểu mẫu là một thuộc tính.

o Bỏ qua phần đầu đề và phần dưưới cùng (một số ghi chú, chữ ký …) của biểu mẫu. Không lấy các thuộc tính đưược suy diễn từ những thuộc tính khác

(như thành tiền = đơn giá x số lượng) và các thuộc tính trình bày như ‘số thứ tự’ nếu có.

o Bổ sung thêm một số thuộc tính định danh tương ứng với một số thuộc tính tên gọi chưa có định danh nếu cần thiết.

o Xác định nhóm thuộc tính lặp, các phụ thuộc hàm giữa các thuộc tính. B2. Bước 3.2. Chuẩn hóa về dạng chuẩn 1 (1NF): Tách nhóm thuộc tính lặp.

o Tách các thuộc tính không nằm trong nhóm lặp thành một quan hệ (R1). Xác định khoá chính của quan hệ này.

o Các thuộc tính của nhóm lặp và khoá chính của quan hệ trên (R1) tạo thành một quan hệ (R2). Xác định khóa chính cho quan hệ R2 (khoá chính của R2 sẽ là một khoá ghép giữa khoá của R1 và một thuộc tính khác trong R2).

o Ví dụ: R{A, B, C, D, E} và khoá là {A}. Tồn tại nhóm thuộc tính lặp {C,D} thì tách thành 2 quan hệ R1{A, B, E} và R2{A,C,D}.

Bước 3.3. Chuẩn hóa về dạng chuẩn 2 (2NF): Loại bỏ phụ thuộc bộ phận vào khoá (chỉ áp dụng với các quan hệ có khoá ghép.

o Tách các thuộc tính tham gia vào phụ thuộc hàm được xác định bởi một phần của khoá vào một quan hệ mới (R3). Khoá chính của quan hệ là thuộc tính xác định hàm.

o Phần còn lại với khoá chính của quan hệ trên (R3) là một quan hệ giữ nguyên khoá chính như quan hệ ban đầu.

o Ví dụ: R{A, B , C, D} và khoá là {A,B}. Tồn tại phụ thuộc hàm A → C thì tách thành 2 quan hệ R1{A,C} và R2{A, B, D}.

Bước 3.4. Chuẩn hoá về dạng chuẩn 3(3NF): Loại bỏ phụ thuộc hàm giữa các thuộc tính không khoá.

o Tách các thuộc tính tham gia vào phụ thuộc hàm giữa các thuộc tính không khoá vào một quan hệ mới (R4). Khoá chính của quan hệ là thuộc tính xác định hàm.

o Phần còn lại và khoá chính của quan hệ trên (R4) là một quan hệ giữ nguyên khoá chính của quan hệ ban đầu.

o Ví dụ: R{A, B, C, D} mà khoá là {A,B}. Tồn tại phụ thuộc hàm C → D thì tách thành 2 quan hệ R1{C , D} và R2{A,B, C}

Bước 4. Vẽ mô hình quan hệ Áp dụng các qui tắc sau:

- Bảng quan hệ

Biểu diễn giống như kiểu thực thể - Thuộc tính

 Phân loại: Có 4 thuộc tính chính

• Thuộc tính định danh

• Thuộc tính tên gọi

• Thuộc tính mô tả

• Thuộc tính kết nối

 Biểu diễn: được mô tả ngay bên trong bảng

 Ví dụ: - Kiểu quan hệ

• quan hệ 1 – 1:

• quan hệ 1 – n:

Hình 4 – 5. Mô hình quan hệ

Sau giai đoạn phân tích hệ thống, kết quả người phân tích thu được những chức năng nghiệp vụ của hệ thống, mô hình dữ liệu của hệ thống. Năm dạng dữ liệu quan trọng nhất mà người phân tích phải hoàn thành.

- Sơ đồ phân ra chức năng của hệ thống mới. - Sơ đồ luồng dữ liệu của hệ thống mới. - Đặc tả chức năng chi tiết của hệ thống mới. - Mô hình quan hệ của hệ thống mới.

Chương 5 – THIẾT KẾ HỆ THỐNG BÀI 1. THIẾT KẾ TỔNG THỂ 5.1. TỔNG QUAN VỀ GIAI ĐOẠN THIẾT KẾ

5.1.1. Tài liệu vào của giai đoạn thiết kế

Đầu vào của công việc thiết kế bao gồm

• Tài liệu đặc tả yêu cầu của hệ thống gồm

o Sơ đồ phân ra chức năng: Tĩnh, không có trao đổi thông tin

o Sơ đồ luồng dữ liệu: Động, có trao đổi thông tin

o Mô hình dữ liệu: Mô hình quan hệ

• Tài liệu hỗ trợ gồm

o Đặc tả chức năng

o Sơ đồ các yêu cầu vật lý

o Từ điển dữ liệu

Để có được các tài liệu này, nhà thiết kế cần phải có liên hệ chặt chẽ và liên tục với nhà phân tích,và đôi khi cần phải tiếp xúc và đối thoại với người sử dụng và người chủ hệ thống trong suốt quá trình thiết kế.

5.1.2. Nhiệm vụ

Chuyển mô tả logic của hệ thống mới thành mô tả vật lý bằng cách thêm vào các biện pháp, các phương tiện, các cài đặt. Có thể chia phần thiết kế thành hai quá trình là thiết kế logic và thiết kế vật lý.

o Thiết kế logic trả lời cho câu hỏi cần đưa những dữ liệu nào vào hệ thống, các xử lý nào sẽ được thực hiện, các thông tin nào sẽ được đưa ra và những ràng buộc nào sẽ được đáp ứng.

o Thiết kế vật lý trả lời cho câu hỏi đưa dữ liệu vào hệ thống như thế nào, các dữ liệu sẽ được cất giữ và xử lý như thế nào, các thông tin sẽ được đưa ra như thế nào và các ràng buộc sẽ được đáp ứng như thế nào.

Thiết kế tổng thể: Xác định ranh giới giữa phần thực hiện máy tính với phần thủ công (xác định ranh giới thủ công máy tính), xác định các hệ thống con máy tính: là thực hiện việc chia nhỏ phần xử lý bằng máy tính.

Thiết kế giao diện: Thiết kế các luồng thông tin cắt ngang ranh giới thủ công và máy tính, thiết kế thông tin ra trước và thông tin vào sau.

Thiết kế kiểm soát: Bảo mật thông tin (các quyền truy cập), bảo vệ hệ thống (hỏng hóc, thất thoát tài sản,…)

Thiết kế cơ sở dữ liệu: Trong mô hình dữ liệu khi phân tích ta quan tâm đến các vấn đề: đủ, không thừa, không nhập nhằng. Khi thiết kế ta không cần xét đến vấn đề truy nhập cho nên cần thêm hai yếu tố: nhanh và tiện lợi ⇒ Cần biến đổi mô hình dữ liệu lý

tưởng về mô hình thực tế.

Thiết kế chương trình: Đưa ra bảng thiết kế chương trình đủ rõ đến mức người lập trình dựa vào đó viết được chương trình dù người lập trình không hiểu rõ hệ thống.

Theo các phương pháp phân tích thiết kế hệ thống hiện đại, người ta chia thiết kế thành hai phần: thiết kế logic và thiết kế vật lý.

o Thiết kế logic là phần thiết kế gồm các bước:

o Thiết kế mẫu (form) và báo biểu (report) mô tả cách đưa dữ liệu tới người sử dụng trong phần nhập xuất dữ liệu của hệ thống,

o Thiết kế giao diện và hội thoại mô tả môi trường giao tiếp giữa hệ thống và người sử dụng

o Thiết kế cơ sở dữ liệu (CSDL) logic mô tả cấu trúc thông dụng của CSDL của hệ thống để có thể dễ dàng cài đặt trên các hệ quản trị CSDL khác nhau.

o Thiết kế vật lý bao gồm các bước

o Thiết kế vật lý các file và CSDL mô tả việc cất giữ và truy nhập dữ liệu trong bộ nhớ thứ cấp ra sao và bảo đảm chất lượng của dữ liệu như thế nào

o Thiết kế chương trình mô tả các chương trình và module chương trình tương ứng với biểu đồ luồng dữ liệu.

o Thiết kế quá trình phân phối chiến lược mô tả thiết kế dữ liệu và chương trình sẵn sang cho những người sử dụng trên mạng máy tính

5.2. THIẾT KẾ TỔNG THẾ5.2.1. Mục đích 5.2.1. Mục đích

Đưa ra một kiến trúc tổng thể của hệ thống. Kiến trúc này thể hiện sự phân chia hệ thống thành nhiều hệ con, và sự chia tách phần thực hiện bằng thủ công với phần thực hiện bằng máy tính (một hay nhiều máy) trong hệ thống con đó.

5.2.2. Phân chia các hệ thống con

a. Khái niệm

Hệ thống con (gói) là sự gom nhóm các chức năng (hay chương trình) trong một hệ thống xung quang một nhiệm vụ hay một mục đích nào đó.

b. Mục đích

Nhằm giảm thiểu sự phức tạp, cồng kềnh. Giúp người quản lý dự án phân chia công việc cho các nhóm phát triển, xác định thứ tự thực hiện các phần việc của hệ thống. Nhằm tạo ra sự thuận lợi cho quá trình thiết kế cũng như khai thác, bảo dưỡng sau này.

c. Cách tiến hành

Sử dụng DFD đã có được từ giai đoạn phân tích để tiến hành phân chia hệ thống. Dùng một đường ranh (đứt nét) để tách các chức năng trong biểu đồ luồng dữ liệu thành nhóm, mỗi nhóm là một hệ thống con. Thông thường DFD mức cao (mức đỉnh, dưới đỉnh) cho ta gợi ý tốt: mỗi chức năng xuất hiện trong DFD ở mức cao là đại diện của một hệ thống con, gồm những chức năng phân rã nó trong DFD mức thấp hơn. Việc gom nhóm các chức năng không chỉ dựa hoàn toàn vào chức năng thuần túy, còn dựa vào các căn cứ từ thực tế.

d. Các căn cứ để gom nhóm thành các hệ thống con

Gom nhóm theo thực thể: gom nhóm vào một hệ thống con các chức năng liên quan đến cùng một hay một số kiểu thực thể nhất định.

Ví dụ: Hệ con KHÁCH HÀNG gồm các chức năng liên quan đến khách hàng như xử lý đơn hàng, xử lý hóa đơn, thanh toán, xử lý nợ đọng,….

Gom nhóm theo sự kiện giao dịch: gom nhóm vào một hệ thống con các chức năng được khởi động khi có một sự kiện giao dịch nào đó xảy ra.

Ví dụ khi đơn hàng đến một loạt các chức năng được khởi động như Ghi nhận đơn hàng, kiểm tra khả năng đáp ứng của kho hàng, xử lý yêu cầu của đơn hàng,….Các chức năng này được gom vào hệ con XỬ LÝ ĐƠN HÀNG.

Gom nhóm theo trung tâm biến đổi: nếu phát hiện trong DFD có nhóm các chức năng cộng tác với nhau để thực hiện một tính toán hay một biến đổi thông tin đặc biệt nào đó, thì tách chúng thành một hệ con.

Ví dụ: Hệ tính lương, Hệ làm báo cáo hàng tháng

e. Ví dụ “Bài toán vật tư”

Xuất phát từ DFD mức đỉnh của hệ thống Cung ứng vật tư đã lập trong giai đoạn phân tích ta phân hệ này thành các hệ thống con.

- Căn cứ để phân chia ở đây là cấu hình phần cứng vốn có, cụ thể, muốn giữ lại hai máy tính cũ (cùng phần lớn chương trình có sẵn trên đó).

- Trong giai đoạn tìm hiểu yêu cầu ta chấp nhận giải pháp 5 nên giữ lại hai hệ Đơn hàng và hệ Phát hàng có điều chỉnh ít nhiều so với tình trạng cũ.

- Mỗi hệ sẽ ở trên một máy tính (hai máy không nối mạng) - Việc quản lý kho hàng dự trữ được thực hiện trên Hệ Phát hàng

• Ta có thể vạch ranh giới cho hai hệ con đó

Đặt hàng Nhận và phát hàng Quản lý kho hàng dữ trự Đơn hàng NCCap Nhận hàng NHÀ CUNG CẤP PHÂN XƯỞNG TÀI VỤ Bản dự trù

Giao dịch + Đơn hàng + TT trả lời

Bản dự trù YC mua hàng Hàng + Phiếu PH từ kho

Hàng + Phiếu phát hàng

Hóa đơn Khiếu nại Hóa đơn có xác nhận chi

Bản ghi trả tiền

Phiếu nhập kho

Dự trù Phiếu giao + nơi cất

Phiếu phát hàng NHÀ CUNG CẤP Hàng + Phiếu giao hàng DS hàng về DS hàng đã đặt + Số YC đơn hàng

Hình 5 – 1. Ranh giới cho hai hệ thống con

• Đặt lại tên để phản ánh rõ nội dung hơn - Hệ 1: Đặt hàng và theo dõi đơn hàng.

- Hệ 2: Quản lý kho hàng dự trữ, nhận và phát hàng

• Mỗi hệ con 1, 2, đã phân chia bao gồm 2 nhiệm vụ tách biệt, vậy có thể chia mỗi hệ con đó làm đôi, kết quả ta có 4 hệ con

- Hệ 1.1: Đặt hàng

- Hệ 1.2: Theo dõi đơn hàng - Hệ 2.1: Quản lý kho hàng dự trữ - Hệ 2.2: Nhận và phát hàng

• Xét lại mô hình mức dưới đỉnh ta có thể vạch ranh giới

Hình 5 – 2. Định ranh giới cho hệ con Đặt hàng và hệ con Theo dõi đơn hàng

Chọn nhà cung cấp Tiếp nhận hóa đơn Cập nhật KQ thực hiện ĐH Lập đơn hàng Kiểm tra chi tiết hóa đơn TÀI VỤ NHÀ CUNG CẤP NCCap Đơn hàng Yêu cầu mua

hàng DS hàng về Hóa đơn Thông tin Giao dịch Yêu cầu Tt trả lời Đơn hàng Thông báo

Thông tin trả lời Nhận và phát hàng DS các MH đã đặt Bản ghi trả tiền Khiếu nại Hóa đơn Xác nhận chi + Hóa đơn NHÀ CUNG CẤP Nhận và phát hàng

Hình 5 – 3. Hệ con Nhận và phát hàng

Hình 5 – 4. Hệ con quản lý kho hàng dữ trữ

5.2.3. Phân chia hệ thống máy tính và hệ thống thủ công

Lưu trữ bảng dự trù Cập nhật tt đặt hàng cho bản dự trù Ghi nhận hàng về Lập phiếu phát hàng Đặt hàng NHÀ CUNG CẤP PHÂN XƯỞNG

Bảng dự trù Yêu cầu mua hàng

Dự trù Phiếu phát hàng Nhận hàng DS các mặt hàng đã đặt DS hàng về Hàng + Phiếu giao hàng Hàng + Phiếu giao hàng DT+ ĐH

Phiếu giao + nơi cất

PG - ĐH Xét duyệt dự trừ Xuất nhập kho Nhận và phát hàng Hàng tồn kho PHÂN XƯỞNG Bản dự trù Bảng dự trù đã xét duyệt Phiếu nhập kho

Yêu cầu mua hàng Lệnh xuất kho

a. Mục đích

Trả lời câu hỏi: Chức năng nào do máy tính thực hiện? Chức năng nào do con người thực hiện? Kho dữ liệu nào được lưu trong máy tính? Kho dữ liệu nào được quản lý bằng tay?

b. Cách thực hiện

Phân định trên DFD phần thực hiện bằng máy tính và phần thực hiện thủ công. Quyết định phương thức xử lý theo mẻ được sử dụng ỏ đâu, phương thức xử lý trực tuyến được sử dụng ở đâu. Vách một đường ranh (nét đứt) để phân chia máy tính với phần thủ công trên DFD.

- Đối với chức năng: Xem xét từng chức năng trong DFD để quyết định chức năng nào sẽ thực hiện bằng máy tính, chức năng nào thực hiện bởi con người. Có 2 khả năng xảy ra xử lý thủ công.

o Một chức năng được chuyển trọn vẹn sang xử lý bằng máy tính hay xử lý thủ công. Tên chúng được giữ nguyên.

o Một số chức năng cần tách một phần xử lý bằng máy tính, một phần xử lý thủ công. Phân rã thêm một mức để xác định phần nào xử lý bằng máy, phần nào xử lý thủ công. Chọn tên thích hợp cho chức năng con

- Đối với kho dữ liệu: xem xét từng kho dữ liệu có mặt trên DFD

o .Kho dữ liệu chuyển sang phần máy tính sẽ là kiểu thực thể tiếp tục có mặt trong mô hình dữ liệu, để sau này trở thành tệp hay CSDL.

o Kho dữ liệu chuyển sang phần thủ công sẽ là - Các tệp thủ công (sổ sách, bảng biểu,….) - Các hồ sơ, chứng từ văn phòng.

o Các kiểu dữ liệu tương ứng với các kho dữ liệu xử lý thủ công phải loại ra khỏi mô hình dữ liệu. Như vậy trong mô hình dữ liệu mới:

- Một số kiểu thực thể sẽ biến mất, một số kiểu thực thể mới, một số kiểu thực thể bị giảm kiểu thuộc tính.

- Ngược lại, do yêu cầu xử lý máy tính, một số kiểu thực thể mới có thể được thêm vào

c. Ví dụ: Bài toán vật tư

- Xét hệ con 1.1: Đặt hàng, khi chưa tách phần máy tính và phần thủ công ta có

Hình 5 – 5. Hệ con Đặt hàng khi chưa tách

Một phần của tài liệu Giáo trình phân tích và thiết kế một hệ thống thông tin doc (Trang 93 - 148)

Tải bản đầy đủ (DOC)

(148 trang)
w