+ 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ể h
Trang 1Phần 2: SƠ ĐỒ DFD TRONG PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Trang 2Hình 10.1 - Chuẩn hóa csdl trong các bước PTTKHT
THIẾT KẾ HỆ THỐNG
(SYSTEMS DESIGN)
THỰC HIỆN VÀ VẬN HÀNH HỆ THỐNG
(SYSTEMS IMPLEMENTATION AND OPERATION)
2 Thiết kế cơ sở dữ liệu (designing database) a) Thiết kế csdl logic (designing logical database)
- Biến đổi mô hình ER thành mô hình quan hệ
- Kiểm tra yêu cầu chức năng
- Chuẩn hóa cơ sở dữ liệu
b) Thiết kế csdl vật lý (designing physical database)
- Chuyển các quan hệ đạt chuẩn thành các đặc tả tập tin máy tính
PHÂN TÍCH HỆ THỐNG
(SYSTEMS ANALYSIS)
1 Xác định yêu cầu hệ thống
2 Cấu trúc yêu cầu hệ thống a) Mô hình hóa qui trình xử lý
b) Mô hình hóa dữ liệu
3 Chọn lựa giải pháp thiết kế thay thế tốt nhất
II SƠ ĐỒ DÒNG DỮ LIỆU DFD (DATA FLOW DIAGRAM)
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
Trang 32 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 ngoà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 HÀNG, ĐƠN HÀNG, DÒNG ĐƠN HÀNG, MẶT HÀ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 ngoài (External Entity,I): 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ừ phần xử lý Mỗi tác nhân ngoà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ệ
Trang 4tính lương.
4 Sơ đồ dòng dữ liệu
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:
Trang 5Mã khách hàng
1.1Kiểm tra mã
khách hàng
Ngày
đơn hàng
Mã khách hàngD3 Đơn hàng
Mã khách hàng mới
1.3Tạo số đơn hàng
1.2Thêm khách hàng
1.4nhập chi tiết đơn 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
iii Sơ đồ môi trường (context diagram):
Trang 6Nhâ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ý
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ả toà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ã
Trang 7Tá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 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
III CÁC BƯỚC THỰC HIỆN ĐỂ VẼ SƠ ĐỒ DFD
Trang 81 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 ngoài hệ thống và xem hệ thống như một hộp đen
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 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:
Trang 9Kế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:
Trang 10Khách hàng
1Thêm Đơn hàng
D4 Dòng đơn hàngD1 Mặt hàng
D3 Đơn hàngD2 Khách hàng
2Cập nhậtmặt hàng
BỘ PHẬN
QUẢN LÝ Thông tinmặt hàng
Đơn hàngThơng tin vềkhách hàng+
hàng mua
3Cập nhậtmặt hàng
Thơng tin vềkhách hàng
4Tạo báo cáo trị giá hàng bán
Chỉ tiêubáo cáoBáo cáo trị giá hàng báng
D3 Đơn hàngD4 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.1Tìm mơ tả, đvt, đơn giá của mặt hàng
Khách hàng
Số lượng
Mã hànghay enter
D4 Dòng đơn hàng
1.4.2Tính stt, thành tiền,tổng cộng
Mã hàng+
đơn giá
Đơn hàng
1.4.3Tạo đơnhàng
Sốđơn hàng
enterD3 Đơ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ã
IV THIẾT KẾ XỬ LÝ CHI TIẾT
Trang 111 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 toá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ệ]
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ụ:
Ví dụ: (kiểm tra khóa chính)
ii Sử dụng cây quyết định (decision tree)
Trang 12Số tiền nợ chưa
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
2 Xây dựng các điểm vào cho tự điển dự án
i Điểm vào cho mỗi phần tử của sơ đồ DFD
Trong bảng phân tích hệ thống thường có nhiều sơ đồ DFD, từ sơ đồ tổng quát đến chi tiết Từ điển dự án phải chứa một điểm vào cho mỗi phần tử của sơ đồ DFD Mỗi điểm vào được trình bày theo khuôn mẫu sau:
ii Các mẫu mô tả
Mẫu mô tả phần tử dữ liệu
MẪU MÔ TẢ PHẦN TỬ DỮ LIỆU Mã nhận diện
Trang 13Tên Mã khách hàng
Tên khác
Mô tả Là thuộc tính nhận diện khách hàng đã và đang giao dịch mua
hàng của công ty trong khỏang 5 năm gần đây
Tính chất Chiều dài: 6 Chữ
Định dạng nhập: 000000 Số chữ
Định dạng xuất: Ngày
Giá trị mặc nhiên: ; Số
; Liên tục Rời rạc ; Nhập Tính tóan
Điều kiện ràng buộc
Liên tục Rời rạc
Giá trị diễn giải
Giá trị lớn nhất: 999999
Giá trị bé nhất: 000000
Mẫu mô tả phần tử cấu trúc dữ liệu
Để mô tả phần tử cấu trúc dữ liệu ta có thể sử dụng các ký hiệu sau:
MẪU MÔ TẢ CẤU TRÚC DỮ LIỆU
ngày đơn hàng + mã khách hàng + họ tên khách hàng + địa chỉ khách hàng + số điện thọai + (thuế suất ) + tổng giá trị đơn hàng + {chi tiết đơn hàng}
họ tên khách hàng họ +
(tên lót) + tên
Trang 14chi tiết đơn hàng số thứ tự +
mã hàng + mô tả + đơn vị tính + số lượng đặt + đơn giá + thành tiền
Mẫu mô tả dòng dữ liệu
MẪU MÔ TẢ DÒNG DỮ LIỆU
Mã nhận diện:
Tên: Thông tin Đơn hàng
Mô tả: Chứa thông tin khách đặt hàng và được dùng để cập nhật kho dữ liệu khách hàng,
mặt hàng, đơn hàng và dòng đơn hàng
Nguồn: Tác nhân khách hàng Đích: Ô xử lý Cập nhật đơn hàng
Lọai dòng dữ liệu:
Tập tin ; Mành hình Báo biểu Biểu mẫu Khác
Cấu trúc dữ liệu: Đơn hàng Tần suất: 100/ngày
Ghi chú: Thông tin đơn hàng có thể gởi đến phòng xử lý đơn hàng bằng đường thư tín, qua
máy Fax, điện thọai
Mẫu mô tả kho dữ liệu
MẪU MÔ TẢ KHO DỮ LIỆU Mã nhận diện D1
Tên khác
Mô tả Chứa mỗi mẫu tin cho một khách hàng
Tính chất Lọai tập tin ; Máy tính Thủ công
Dạng tập tin ; Cơ sở dữ liệu Chỉ mục Tuần tự Trực tiếp
Kích thước mẫu tin (ký tự) : 200 Kích thước khối: 4,000
Số lượng mẫu tin: mức cao 46,000 mức bình quân: 42,000
Tốc độ tăng trưởng hàng năm: 6%
Tên tập tin dữ liệu: KhachHang.MST
Tên bản so: CustMast
Cấu trúc dữ liệu: Mẫu tin khách hàng
Khóa chính: Mã khách hàng
Khóa phụ: Họ tên khách hàng
Ghi chú:
Trang 15oOo
Trang 16TÀI LIỆU THAM KHẢO
[1] Practical Data Modelling for Database Design
Renzo D’Orazio & Gunter Happel [2] Essentials of Systems Analysis & Design
Valacich, George, Hoffer [3] System Analysis and Design in a Changing World
John W.Satzinger, Robert B.Jakson, Stephen D.Burd – Thomson Learning
oOo
Trang 181 Kiểm tra và nhập dữ liệu của quyết định điều chuyển KẾ TOÁN TSCĐ
Thông tin quyết định điều chuyển Thông tin chi tiết
D1 QUYẾT ĐỊNHĐIỀU CHUYỂNThông tin lỗi
D2 CHI TIẾT ĐIỀUCHUYỂN
Thông tin quyết định
SƠ ĐỒ DFD DFD CẤP 0 NHẬP MỚI QUYẾT ĐỊNH ĐIỀU CHUYỂN
1.1 Nhập dữ liệu của quyết định điều chuyển
“Số quyết định đã có”
KẾ TOÁN TSCĐ
Thông tin quyết định điều chuyển Thông tin chi tiết
1.2 Kiểm tra số quyết định
số quyết định 1.3
Kiểm tra ngày điều chuyển
ngày điều chuyển D1 QUYẾT ĐỊNH
ĐIỀU CHUYỂN
số quyết định cũ
“Ngày điều chuyển không hợp lệ ”
D2 CHI TIẾT ĐIỀUCHUYỂN
Thông tin quyết định ngày quyết định
SƠ ĐỒ DFD CẤP 1 NHẬP MỚI QUYẾT ĐỊNH ĐIỀU CHUYỂN