28
1 Chương 4 PHÂN TÍCH HTHNG: Mô hình lung(dòng) dliu

PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

Embed Size (px)

Citation preview

Page 1: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

1

Chương 4

PHÂN TÍCH HỆ THỐNG:Mô hình luồng(dòng) dữ liệu

Page 2: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

2

Các khái niệm Thiết kế mức khái niệm(Conceptual design) Mô hình dữ liệu (Data models) Mô hình chức năng(Functional Models)

Mô hình dữ liệu(Data models): Là kỹ thuật tổ chức và hệ thống dữ liệu trên tài

liệu.(organizing and documenting system's data) Mô hình chức năng(Functional Models) Định ra cấu trúc của các chức năng quản lý giúp

cho hệ thống quản lý thực hiện các ứng dụng quản lý

Page 3: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

3

Các khái niệm

Mô hình xử lý:is a technique for organizing and documenting a system's processes, inputs, outputs and data stores.

Mô hình xử lý phần mềm là một mô tả trừu tượng của các quá trình xử lý.

Các mô hình hệ thống là tập các chức năng tương táccung cấp các chức năng xử lý.

Page 4: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

4

Mô hình xử lý (DFD)

DFD(Data flow diagram- mô hình luồng dữliệu) là một trong những công cụ hữu hiệu của giai đoạn phân tích(is one of the tools used in the analysis phase).

Sử dụng DFD để biểu diễn một cách linh hoạt các thực thể ngoài, các chức năng, luồng dữ liệu và các kho dữ liệu (p74)

Page 5: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

5

Mô hình xử lý (DFD) -Các khái niệm

DFD luận lý(logic) diễn tả hệ thống làm gì màkhông diễn tả điều đó làm như thế nào, tập trung vào các hoạt động của doanh nghiệp mà không tập trung vào hệ thống sẽ tạo dựng ra sao.

DFD vật lý (physical) diễn tả hệ thống sẽ được thực hiện như thế nào, trong đó đề cập đến phần cứng, phần mềm, tập tin và con người.

Page 6: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

6

Mô hình xử lý (DFD) –Công dụng

DFD: diễn tả hoạt động của hệ thống hiện hành (dựa trên xác định yêu cầu)

DFD: là phương tiện trao đổi giữa người phân tích và người sử dụng

DFD: xây dựng tài liệu đặc tả thiết kế xử lý.

Page 7: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

7

Mô hình xử lý (DFD) –Các ký hiệu

Process

Data flow

Data store

External Entity

Page 8: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

8

Mô hình xử lý (DFD) -Các khái niệm

Modules: Một hệ thống lớn (large system) bao gồm các hệ

thống con(subsystems) độc lập(independent) mà có thểkết nối với nhau.

Phân chia modules phụ thuộc vào: Size Shared use

Page 9: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

9

Mô hình xử lý (DFD) - Process Processes: Tổ chức tập các hoạt động chuyển từ đầu vào

thành đầu ra Phân tích yêu cầu Thiết kế kiến trúc Tích hợp hệ thống

Mỗi process phải được đặt tên theo dạng: Tên hệ thống Tên hệ thống con Một động từ ///xem thêm p76

Page 10: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

10

Mô hình xử lý (DFD) – Data Flow

Data flows : là thành phần thể hiện mẫu dữ liệu ra/vào của xử lý (represents the input (or output) of data to (or from) a process ("data in motion")).

Data flows: chỉ là dữ liệu (only data), không là điều khiển (not control).

Đầu mũi tên chỉ điểm đến của dữ liệu. Data flows:

Phải bắt đầu hay kết thúc ở một process. Từ kho dữ liệu đến xử lý hay ngược lại Từ tác nhân ngoài đến xử lý hay ngược lại

Mỗi dòng dữ liệu phải có một tên duy nhất bằng danh từ thể hiện phần tử dữ liệu hay cấu trúc dữ liệu

Page 11: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

11

Mô hình xử lý (DFD) –Data Store

Data store(Kho dữ liệu): là nơi chứa dữ liệu, là các bảng đã được xác định trong quá trình phân tích thiết kế dữ liệu (an "inventory" of data ).

Dòng dữ liệu hướng về kho dữ liệu dùng đểdiễn tả hoạt động: thêm, sửa hay xóa dữ liệu.

Dòng dữ liệu rời kho dữ liệu: diễn tả hoạt động đọc dữ liệu trong kho.

Page 12: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

12

Mô hình xử lý (DFD) –External Entities

Tác nhân ngoài(External Entities) : là thành phần nằm ngoài hệ thống có quan hệ cung cấp hay nhận dữ liệu từ thành phần xử lý.

Mỗi tác nhân phải được đặt tên bằng danh từ.

Page 13: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

13

Ví dụ: giả sử vấn đề quản lý đơn hàng có mô hình ER sau:

Page 14: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

14

Với mô hình quản lý trên, giả sử có form nhập liệu đại diện cho thành phần xử lý của việc thêm mới một đơn hàng có dạng:

Page 15: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

15

Logic hoạt động của thành phần xử lý thêm mới đơn hàng được diễn đạt bằng các sơ đồ DFD cấp 0 như hình:

Page 16: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

16

Logic hoạt động của thành phần xử lý thêm mới đơn hàng được diễn đạt bằng các sơ đồ DFD cấp 1:

Mã khách hàng

1.1Kiểm tra mã khách hàng

Ngàyđơn hàng

Mã khách hàng

D3 Ñôn haøng

Mã khách hàng mới

1.3Tạo số đơn

hàng

1.2Thêm khách

hàng

Khách hàng

Tên khách hàng+Địa chỉ+

Số điện thoại

Mã kháchhàng

1.4nhập chi tiết

đơn hàngSố đơn hàng

Mã hàng +số lượng

D4 Doøng ñôn haøng

Đơn hàng

D1 Maët haøng

D2 Khaùch haøng

Page 17: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

17

Các cấp của sơ đồ DFD

DFD diễn tả hệ thống từ tổng quát đến chi tiết

Sơ đồ ở mức chi tiết được phân rã từ mức tổng quát hơn: DFD ngữ cảnh DFD cấp 0 DFD cấp con (1,2,3,….)

Mỗi sơ đồ DFD chứa tối đa 9 ô xử lý

Page 18: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

18

Các cấp của sơ đồ DFD

Mỗi ô xử lý của DFD có trên 4 dòng dữ liệu vào ra phải được phân rã thành sơ đồ DFD con.

Ô xử lý không thể phân rã phải được thiết kếxử lý chi tiết bằng các câu lệnh, sơ đồ thuật giải, bảng quyết định, cây quyết định…

Page 19: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

19

DFD ngữ cảnh(context diagram)

Diễn tả toàn bộ hệ thống bằng một ô xử lý DFD ngữ cảnh là sơ đồ ở mức tổng quát

nhất DFD ngữ cảnh xác định phạm vi của hệ

thống DFD ngữ cảnh không có kho dữ liệu

Page 20: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

20

DFD ngữ cảnh(context diagram)- Ví dụ

Page 21: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

21

DFD cấp 0 (level 0-DFD)

Gồm các ô xử lý đáp ứng lại các sự kiện được phát sinh từ các tác nhân ngoài hệthống

DFD cấp 0 chính là sơ đồ phân rã từ ô xử lý của sơ đồ ngữ cảnh

DFD cấp 0 phải diễn tả tất cả các kho dữ liệu và dòng dữ liệu vào ra có liên quan đến ô xửlý.

Page 22: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

22

DFD cấp 0 (level 0-DFD)- Ví dụ

Khaùch haøng

1

Thêm Đơn hàng

D4 Doøng ñôn haøng

D1 Maët haøng

D3 Ñôn haøng

D2 Khaùch haøng

2

Caäp nhaätmaët haøng

BOÄ PHAÄN QUAÛN LYÙ

Thoâng tinmaët haøng

Đơn hàng

Thông tin vềkhách hàng+

hàng mua

3

Caäp nhaätmaët haøng

Thông tin vềkhách hàng

4

Tạo báo cáo trị giá hàng bán

Chỉ tiêubáo cáo

Báo cáo trị giá hàng báng

D3 Ñôn haøng

D4 Doøng ñôn haøng

Page 23: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

23

DFD cấp con

Hình thành từ việc phân rã (decomposition ) ô xử lý có trên 4 dòng dữ liệu vào ra.

Dòng dữ liệu vào ra của sơ đồ phải cân bằng (balancing) với dòng dữ liệu của ô xử lý được phân rã.

Page 24: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

24

DFD cấp con- ví dụ

D1 Maët haøng

Sốđơn hàng

1.4.1

Tìm mô tả, đvt, đơn giá của

mặt hàng

Khách hàng

Số lượngMã hànghay enter

D4 Doøng ñôn haøng

1.4.2

Tính stt, thành tiền,tổng cộng

Mã hàng+đơn giá

Đơn hàng

1.4.3

Tạo đơnhàng

Sốđơn hàng

enter

D3 Ñôn haøng

D2 Khaùch haøng

Page 25: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

25

DFD- Các qui tắc khi vẽ Process(oâ xöû lyù)

Phaûi chuyeån oâ xöû lyù chæ coù moät doøng döõ lieäu ñi ra thaønh taùc nhaân cung caáp döõ lieäu.

Phaûi chuyeån oâ xöû lyù chæ coù moät doøng döõ lieäu ñi vaøo thaønh taùc nhaân nhaän döõ lieäu.

Duøng ñoäng töø ñeå ñaët teân cho oâ xöû lyù.

Data store(kho döõ lieäu) Doøng döõ lieäu khoâng theå laø caàu noái giöõa hai kho döõ lieäu. Doøng döõ lieäu khoâng theå laø caàu noái giöõa taùc nhaân vaø kho döõ

lieäu. Duøng danh töø ñeå ñaët teân cho kho döõ lieäu.

Page 26: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

26

DFD- Các qui tắc khi vẽ External Entities(taùc nhaân) Doøng döõ lieäu khoâng theå laø caàu noái giöõa hai taùc nhaân Duøng danh töø ñeå ñaët teân cho taùc nhaân.

Data flows(doøng döõ lieäu) Doøng döõ lieäu khoâng theå laø caàu noái cuûa moät xöû lyù. Doøng döõ lieäu vaøo kho döõ lieäu mang yù nghóa caäp nhaät

(theâm, söûa, xoùa) Doøng döõ lieäu ra khoûi kho döõ lieäu mang yù nghóa tham

khaûo. Duøng danh töø ñeå ñaët teân cho doøng döõ lieäu.

Page 27: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

27

DFD- Các qui tắc khi vẽ

Caùc kyù hieäu laëp laïi: Ñeå traùnh caùc doøng döõ lieäu giao nhau, treân sô

ñoà DFD, ta coù theå laëp laïi caùc kho döõ lieâu, caùc taùc nhaân …

Caùc phaàn töû laëp laïi naøy ñöôïc ñaùnh daáu baèng caùch veõ theâm ñöôøng keû ñoâi doïc cho kho döõ lieäu vaø ñöôøng keû cheùo cho taùc nhaân .

Page 28: PHÂN TÍCH HỆTHỐNG: Mô hình luồng(dòng) dữliệu · PDF file3 Các khái niệm Mô hình xửlý:is a technique for organizing and documenting a system's processes, inputs,

28

Các quy tắc khi vẽ Một quá trình phải luôn có luồng dữ liệu vào và ra Không cần có một luồng dữ liệu (mà không có sự

biến đổi) liên kết với một quá trình (vì hoạt động như vậy là vô giá trị)

Các quá trình cha và các quá trình con tương ứng của nó phải có các luồng dữ liệu vào ra giống nhau (nhưng các quá trình con có thể có luồng dữ liệu của riêng nó)

Các luồng dữ liệu không thể tự phân tách được Một gói dữ liệu có thể gồm nhiều phần tử dữ liệu

được truyền đi đồng thời tới cũng một đích Không được sử dụng mũi tên hai chiều vì luồng vào

(cập nhật) và luồng ra (trích thông tin) của một kho dữ liệu mang nội dung thông tin khác nhau