V TỪ ĐIỂN DỰ ÁN
1 Khái niệm
♦ Sơ đồ DFD là một cơng cụ mơ hình diễn tả dữ liệu di chuyển trong hệ thống thơng tin, bằng cách:
+ diễn tả mối kết hợp giữa các dịng dữ liệu.
+ diễn tả nơi chứa dữ liệu.
+ diễn tả thành phần xử lý biến đổi dữ liệu.
♦ Sơ đồ DFD cịn gọi là sơ đồ xử lý vì nĩ chỉ ra sự di chuyển dữ liệu giữa các thành phần xử lý.
♦ Sơ đồ DFD logic diễn tả hệ thống làm gì mà khơng diễn tả làm điều đĩ như thế nào, tập trung vào các họat động của doanh nghiệp mà khơng tập trung vào hệ thống sẽ được tạo dựng ra làm sao.
♦ Sơ đồ DFD vật lý diễn tả hệ thống sẽ được thực hiện như thế nào, trong đĩ cĩ đề cập đến cả phần cứng, phần mềm, tập tin và con người.
2 Cơng dụng:
♦ Xác định yêu cầu của người sử dụng nghĩa là trong phần đặc tả vấn đề ta cĩ thể sử dụng sơ đồ DFD để diễn tả hoạt động của hệ thống hiện hành.
♦ Dùng làm phương tiện trao đổi giữa người phân tích và người sử dụng
♦ Xây dựng tài liệu đặc tả thiết kế xử lý.
3 Các thành phần dùng để biểu diễn sơ đồ DFD:
♦ Xử lyù (process) : là thành phần biến đổi dữ liệu đầu vào để tạo dữ liệu đầu ra. Dịng dữ liệu rời ơ xử lý phải cĩ tên khác với dịng dữ liệu vào ơ xử lý. Mỗi xử lý phải được đặt tên theo một trong 3 dạng sau:
+ tên hệ thống như Cửa hàng cho thuê băng đĩa.
+ tên hệ thống con Phân hệ kế tĩan, Phân hệ chi trả tiền lương
+ một động từ như tạo đơn hàng mới, kiểm tra khách hàng, tính thuế suất bán
♦ Dịng dữ liệu (data flow): là thành phần thể hiện các mẫu dữ liệu đi vào, ra một xử lý. Đầu mũi tên chỉ điểm đến của mẫu dữ liệu. Mỗi dịng dữ liệu phải được đặt tên bằng một danh từ thể hiện phần tử dữ liệu hay một cấu trúc dữ liệu như Đơn hàng, Đơn hàng hợp lệ, đơn hàng đã thanh tĩan, .... Dịng dữ liệu là cầu nối:
- Giữa hai xử lý.
- Từ kho dữ liệu đến xử lý hay ngược lại.
- Từ tác nhân ngồi đến xử lý hay ngược lại.
Cấu trúc chi tiết của dịng dữ liệu khơng được thể hiện trên sơ đồ DFD mà được thể hiện ở từ điển dự án (ở chương tiếp)
♦ Kho dữ liệu (Data store): là nơi chứa dữ liệu, là các bảng (table) đã được xác định trong quá trình phân tích thiết kế dữ liệu như KHÁCH HAØNG, ĐƠN HAØNG, DỊNG ĐƠN HAØNG, MẶT HAØNG. Dịng dữ liệu hướng về kho dữ liệu dùng để diễn tả họat động thêm dữ liệu, sửa dữ liệu hay xĩa dữ liệu. Dịng dữ liệu rời kho dữ liệu dùng diễn tả họat động đọc dữ liệu trong kho. Cấu trúc chi tiết của kho dữ liệu khơng được thể hiện trên sơ đồ DFD mà được thể hiện ở từ điển dự án (ở chương tiếp)
♦ Tác nhân ngồi (External Entity,I): là thành phần nằm ngồi hệ thống cĩ quan hệ
cung cấp hay nhận dữ liệu từ phần xử lý. Mỗi tác nhân ngồi phải được đặt tên bằng một danh từ như Khách hàng, Nhà cung cấp, Ngân hàng, Phân hệ
tính lương.
4 Sơ đồ dịng dữ liệu i Ví dụ: i Ví dụ:
Giả sử vấn đề quản lý đơn hàng cĩ mơ hình E-R như hình sau:
Với một mơ hình quản lý đơn hàng như trên, ta cĩ thể hình dung một 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 sau:
ĐƠN HÀNG
Họ tên khách hàng:
Địa chỉ:
Số : Ngày:
STT Mơ tả Đvt Số lượng Đơn giá Thành tiền
Tổng cộng:
Mã hàng
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, cấp 1 như hình:
Mã khách hàng 1.1 Kiểm tra mã khách hàng Ngày đơn hàng Mã khách hàng D3 Đơn hàng Mã khách hàng mới 1.3 Tạo sốđơn hàng 1.2 Thêm khách hàng Khách hàng Tên khách hàng+ Địa chỉ+ Sốđiện thoại Mã khách hàng 1.4 nhập chi tiết đơn hàng Sốđơn hàng Mã hàng + số lượng D4 Dịng đơn hàng Đơn hàng D1 Mặt hàng D2 Khách hàng ii Tính chất
1) Sơ đồ DFD diễn tả hệ thống từ mức tổng quát đến mức chi tiết. Sơ đồ ở mức chi tiết được hình thành bằng cách phân rã sơ đồ ở mức tổng quát hơn. Họat động phân rã tạo ra các cấp sơ đồ sau:
+ Sơ đồ DFD cấp mơi trường.
+ Sơ đồ DFD cấp 0.
+ Sơ đồ DFD con.
2) Mỗi sơ đồ DFD chỉ chứa tối đa 9 ơ xử lý.
3) Mỗi ơ xử lý của sơ đồ DFD cĩ trên 4 dịng dữ liệu vào ra phải được phân rã thành sơ đồ DFD con.
4) Ơ 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, cây quyết định, bảng quyết định ...
Nhân viên gián tiếp Thơng tin phịng ban/chuyền 0 Phân hệ tính lương Bộ phận quản lý Cơng nhân Thơng tin về đợt giao hàng Thơng tin về sản phẩm Thơng tin về
nhân viên gián tiếp
Số ngày làm việc
Thơng tin
cơng nhân hịan thànhSố lượng
Báo cáo tổng kết tiền lương
lương gián tiếp
lương trực tiếp
Mức ứng
♦ Sơ đồ DFD diễn tả tồn bộ hệ thống bằng một ơ xử lý được gọi là sơ đồ mơi trường.
♦ Sơ đồ mơi trường là sơ đồ DFD cấp tổng quát nhất.
♦ Sơ đồ mơi trường xác định phạm vi của hệ thống.
♦ Sơ đồ mơi trường khơng cĩ kho dữ liệu.
iv Sơ đồ cấp 0 (level-0 diagram; level-0 DFD)
Là sơ đồ 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 bên ngịai hệ thống. Sơ đồ cấp 0 chính là sơ đồ được phân rã từ ơ xử lý của sơ đồ mơi trường. Sơ đồ cấp 0 phải thể hiện tất cả kho dữ liệu và dịng dữ liệu vào ra cĩ liên quan đến ơ xử lý.
v Sơ đồ DFD con
Là sơ đồ 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ơ đồ con phải cân bằng (balancing) với dịng dữ liệu của ơ xử lý được phân rã.
Tác nhân 1 Dịng dữ liệu 1 Dịng dữ liệu 2 Dịng dữ liệu 3 1 Xử lý 1 2 Xử lý 2 1.1 Xử lý 1.1 1.2 Xử lý 1.2 D1 Danh sách 1 1.3 Xử lý 1.3
Dịng dữ liệu 4 D2 Danh sách 2 Dịng dữ liệu 5
Dịng dữ liệu 5
Dịng dữ liệu 1 Dịng dữ liệu 3
Dịng dữ liệu 2
5 Các qui tắc cần phải tuân thủ khi vẽ sơ đồ DFD
♦ Về ơ xử lý
Phải chuyển ơ xử lý chỉ cĩ một dịng dữ liệu đi ra thành tác nhân cung cấp dữ liệu. Phải chuyển ơ xử lý chỉ cĩ một dịng dữ liệu đi vào thành tác nhân nhận dữ liệu. Dùng động từ để đặt tên cho ơ xử lý.
♦ Về kho dữ liệu
Dịng dữ liệu khơng thể là cầu nối giữa hai kho dữ liệu.
Dịng dữ liệu khơng thể là cầu nối giữa tác nhân và kho dữ liệu. Dùng danh từ để đặt tên cho kho dữ liệu.
♦ Về tác nhân
Dịng dữ liệu khơng thể là cầu nối giữa hai tác nhân Dùng danh từ để đặt tên cho tác nhân.
♦ Về dịng dữ liệu
Dịng dữ liệu khơng thể là cầu nối của một xử lý.
Dịng dữ liệu vào kho dữ liệu mang ý nghĩa cập nhật (thêm, sửa, xĩa) Dịng dữ liệu ra khỏi kho dữ liệu mang ý nghĩa tham khảo.
Dùng danh từ để đặt tên cho dịng dữ liệu.
6 Các ký hiệu lặp lại
Để tránh các dịng dữ liệu giao nhau, trên sơ đồ DFD, ta cĩ thể lặp lại các kho dữ liêu, các tác nhân …Các phần tử lặp lại này được đánh dấu bằng cách vẽ thêm đường kẻ đơi dọc cho kho dữ liệu và đường kẻ chéo cho tác nhân.
1 Bước 1: lập bảng sự kiện i Sự kiện (event)
là một sự việc xảy ra tại một nơi, vào một thời điểm mà cĩ thể mơ tả và ghi nhận được. Ta cĩ các sự kiện ví dụ như :
- khách hàng đến thuê băng đĩa.
- khách hàng đổi băng đĩa.
- nhà cung cấp cung cấp băng đĩa
- khách hàng trả tiền thuê băng.
- đến thời hạn trả băng.
- đến thời hạn báo cáo số liệu
ii Bảng sự kiện
Hệ thống hoạt động do sự kích hoạt của sự kiện. Như vậy sự kiện kích hoạt và điều khiển hoạt động của hệ thống. Việc liệt kê và phân tích sự kiện tạo khả năng nhận diện được yêu cầu chức năng của hệ thống. Việc này được thực hiện bằng cách tạo bảng sự kiện (hay bảng họat động của doanh nghiệp) gồm 6 cột. Các sự kiện được liệt kê trong bảng sự kiện là các sự kiện nằm ngồi hệ thống và xem hệ thống như một hộp đen. Sự kiện (là sự kiện kích hoạt hệ thống hoạt động) Kích hoạt (là thơng tin kích hoạt hệ thống làm cho hệ thống nhận biết sự kiện xảy ra)
Nguồn phát sinh (là tác nhân kích hoạt hệ thống ) Hoạt động (nội dung xử lý của phần hệ thống khi sự kiện xảy ra)
Kết xuất (thơng tin kết xuất bởi phần hệ thống xử lý sự kiện) Đích đến (là tác nhân nhận thơng tin kết xuất của hệ thống) Bảng sự kiện
Ví dụ bảng sự kiện của vấn đề quản lý đơn hàng:
Sự kiện Kích hoạt Nguồn phát sinh Hoạt động Kết xuất Đích đến
Phát sinh cập nhật
mặt hàng - Thơng tin mặt hàng cập nhật Bộ phận quản lý Cập nhật mặt hàng Phát sinh cập nhật khách hàng - Thơng tin khách hàng Khách hàng Cập nhất khách hàng B/cáo trị giá hàng
bán trong tháng -Tháng báo cáo trị giá hàng bán Bộ phận quản lý In báo cáo trị giá hàng bán Bảng báo cáo hàng bán Bộ phận quản lý Phát sinh cập nhật
đơn hàng
-Thơng tin đơn hàng
Khách hàng Cập nhật đơn hàng Khách hàng Đơn hàng
Dựa vào nội dung của mỗi dịng trong bảng sự kiện người ta xây dựng một sơ đồ DFD tương ứng. Sơ đồ DFD này chỉ cĩ một ơ xử lý, diễn tả hoạt động của hệ thống đáp ứng lại sự kiện. Mối tương quan giữa dịng sự kiện và sơ đồ DFD tương ứng được diễn tả bằng hình sau:
Kết hợp các sơ đồ DFD của từng dịng bảng sự kiện ta được sơ đồ DFD cấp 0 và mỗi sơ đồ DFD trên cĩ thể được phân rã thành các sơ đồ DFD con.
2 Bước 2: Lập sơ đồ mơi trường
3 Bước 3: Lập sơ đồ DFD cấp 0
Sơ đồ cấp 0 được lập căn cứ vào bảng sự kiện. Từ bảng sự kiện ta cĩ thể xác định được:
- các tác nhân của sơ đồ.
- các ơ xử lý và chức năng xử lý
- các dịng dữ liệu, kho dữ liệu và mối liên quan được xác định thơng qua chức năng xử lý. Ví dụ một phần của sơ đồ cấp 0 của vấn đề quản lý đơn hàng như sau:
Khách hàng 1 Thêm Đơn hàng D4 Dịng đơn hàng D1 Mặt hàng D3 Đơn hàng D2 Khách hàng 2 Cập nhật mặt hàng BỘ PHẬN
QUẢN LÝ Thơng tinmặt hàng
Đơn hàng Thơng tin về khách hàng+ hàng mua 3 Cập nhật mặt hàng Thơng tin về khách hàng 4 Tạo báo cáo trị giá hàng bán Chỉ tiêu báo cáo Báo cáo trị giá hàng báng D3 Đơn hàng D4 Dịng đơn hàng
4 Bước 4: Lập sơ đồ DFD con
Mỗi ơ xử lý trong sơ đồ DFD được phân rã thành một sơ đồ DFD con. Ví dụ sơ đồ con DFD được phân rã từ ơ xử lý 1.4 như sau:
D1 Mặt hà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ượng Mã hàng hay enter D4 Dịng đơn hà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 đơn hàng Số đơn hàng enter D3 Đơn hàng D2 Khách hàng
Sơ đồ DFD ở mức thấp nhất (trước giai đoạn thiết kế xử lý chi tiết) được gọi là sơ đồ DFD gốc (primitive Data Flow Diagram)
5 Bước 5: Thiết kế xử lý chi tiết cho các ơ xử lý khơng thể phân rã.
1 Các phương pháp sử dụng
Mọi xử lý trong sơ đồ DFD ở mức lá đều phải được thiết kế phần xử lý chi tiết. Ta cĩ thể sử dụng các phương pháp sau để mơ tả phần xử lý chi tiết.
- Anh ngữ cấu trúc (structured English)
- Bảng quyết định (decision tables)
- Cây quyết định (decision trees)
- Sơ đồ thuật giải (flow chart)
2 Anh ngữ cấu trúc (structured English)
Anh ngữ cấu trúc lồng các câu mệnh lệnh vào các cấu trúc luận lý của ngơn ngữ lập trình. Ta cĩ thể sử dụng các tốn tử số học và luận lý trong câu mệnh lệnh. Các cấu trúc luận lý đuợc tạo từ các từ khĩa như: READ, GET, ADD, IF dieuKien THEN ... ELSE ....ENDIF, DO WHILE dieuKien .... LOOP, vv... Ví dụ:
Xử lý 4.1 – Kiểm tra đợt giao hàng
GET dịng dữ liệu [Số lượng hịan thành] từ tác nhân [Cơng nhân] DO WHILE [Đợt giao hàng] chưa đến cuối tập tin
IF [Số lượng hịan thành].[mã chuyền] = [Đợt giao hàng].[mã chuyền] AND [Số lượng hịan thành].[mã sản phẩm] = [Đợt giao hàng].[mã sản phẩm] AND [Số lượng hịan thành].[ngày giao] = [Đợt giao hàng].[ngày giao]
OUTPUT ddl [Đợt giao hàng hợp lệ] RETURN
ENDIF
READ mẫu tin kế của kho dữ liệu [Đợt giao hàng] ENDDO
OUTPUT dịng dữ liệu [Đợt giao hàng khơng hợp lệ] RETURN
3 Bảng quyết định và cây quyết định
Bảng quyết định và cây quyết định được sử dụng trong trường hợp hành động được lựa chọn phụ thuộc vào một lượng lớn các điều kiện.
i Sử dụng bảng quyết định (decision tables)
Bảng quyết định chia làm hai phần: điều kiện và hành động. Phần điều kiện diễn tả mọi điều kiện cĩ thể cĩ. Phần hành động là những hành động khác nhau cĩ thể xảy ra tùy thuộc vào điều kiện. Số cột để diễn tả mọi điều kiện bằng 2 lũy thừa số điều kiện.
Ví dụ:
Số tiền nợ đạt giới hạn Y Y Y Y N N N N Điều kiện Khách hàng cĩ quá trình chi trả tốt Y Y N N Y Y N N Số tiền mua trên 200 đồng Y N Y N Y N Y N
Cho phép nợ x x x x
Hành động Từ chối cho nợ x x x
Tham khảo ý kiến người quản lý x Ví dụ: (kiểm tra khĩa chính)
Ví dụ: Số tiền nợ đạt giới hạn Khách hàng cĩ quá trình chi trả tốt Số tiền mua
trên 200 đồng Từ chối cho nợ
Số tiền mua
dưới 200 đồng Tham khảo ý kiếnngười quản lý
Khách hàng cĩ
quá trình chi trả tồi Từ chối cho nợ
Số tiền nợ chưa
tới giới hạn Cho phép nợ
1 Sơ đồ thuật giải (flowchart)
Sơ đồ thuật giải là một cơng cụ để diễn tả thuật giải. Các thành phần dùng để biểu diễn sơ đồ thuật giải: Thành phần xử lý
Ngã quyết định giữa hai
hay nhiều lối trong sơ đồ Dữ liệu
giấy in Màn hình hiển
thị dữ liệu Xử lý thủ cơng
Điểm khởi đầu hay kết thúc thuật giải
Thiết bị lưu trữ dữ liệu
V TỪ ĐIỂN DỰ ÁN
1 Khái niệm
Từ điển dự án nhằm mục đích làm rõ nghĩa dữ liệu và cấu trúc của chúng trên sơ đồ DFD. Từ điển dự án được tổ chức sao cho mọi thơng tin về hệ thống được tìm kiếm dễ dàng. Vì mục đích này, từ điển dự án phải chứa các chỉ mục tìm kiếm và các tham khảo chéo.