Bài 5-Mô hình tiến trình nghiệp vụ Nội dung Mô hình hóa tiến trình nghiệp vụ Biểu đồ luồng dữ liệu Data Flow Diagram- DFD Đặc tả tiến trình nghiệp vụ bằng DFD Quy trình phát t
Trang 1BÀI GIẢNG
PHÂN TÍCH THIẾT KẾ HỆ
THỐNG THÔNG TIN
Trang 2Bài 5-Mô hình tiến trình nghiệp vụ
Nội dung
Mô hình hóa tiến trình nghiệp vụ
Biểu đồ luồng dữ liệu (Data Flow Diagram-
DFD) Đặc tả tiến trình nghiệp vụ bằng DFD
Quy trình phát triển đặc tả tiến trình nghiệp vụ
Thiết kế lôgic tiến trình xử lý hệ thống
Ví dụ
Trang 3Tài liệu tham khảo
1 Nguyễn Văn Vy Giáo trình phân tích thiết kế HTTT Đại học Công
nghệ, 2007
2 Nguyên Văn Vỵ Phân tích thiế kế HTTT Hướng cấu trúc và hướng đối tượng NXB Thống kê, 2002
3 Nguyễn Văn Vy P hân tích và thiết kế HTTT quản lý NXB Khoa học
Tự nhiên và Công nghệ, Hà nội, 2007
4 Nguyễn văn Vy, Nguyễn Việt Hà Giáo trình Kỹ nghệ phần mềm Đại
học Công nghệ, 2006
5 Grady Booch, James Rumbaugh, Ivar Jacobson The Unified Modeling language User Guid Addison-Wesley, 1998
6 Jeffrey A.Hoffer, Joey F.Gorge, Joseph S.Valacich Modern Systems
Analysis and Design 2 th Edition, Addison Wesley Longman, Inc 1999
7 Sommerville Software Engineering 6 th Edition, Addison- Wasley,
Trang 4Mô hình hoá và vận dụng
Câu hỏi:
Mô hình hoá tiến trình nghiệp vụ là gì?
Công cụ sử dụng là gì?
Tại sao phải mô hình hóa?
Mô tả 1 mô hình gồm những nội dung gì?
Trang 5Mô hình hoá tiến trình nghiệp vụ
Mô hình hoá tiến trình nghiệp vụ ( modeling
business process ) là sự biểu diễn đồ thị:
Các chức năng thu thập, thao tác, lưu trữ, phân phối và trình diễn dữ liệu
Mối quan hệ trình tự giữa chúng, cũng như giữa chúng và môi trường
của 1 hệ thống nghiệp vụ được xét
Nội dung 1 mô hình : khái niệm, ký pháp, các quy tắc, quy trình và hướng dẫn sử dụng
Công cụ: biểu đồ luồng dữ liệu ( DFD )
Trang 6Mô hình: Biểu đồ luồng dữ liệu
Câu hỏi:
Các khái niệm của mô hình?
Các ký pháp?
Các quy tắc xây dựng (loại, nội dung mỗi
loại)? Quy trình phát triển 1 biểu đồ luồng dữ
liệu? (mấy loại, nôi dung mỗi loại)?
Phân biệt DFD vật lý và lôgic ?
Cách chuyển DFD vật lý sang DFD logic?
Trang 7Các khái niệm
1 Tiến trình (process) là 1 hay 1 số công việc hoặc hành động có tác động lên dữ liệu làm cho chúng
di chuyển, thay đổi, được lưu trữ, phân phối hay
trình diễn Tên tiến trình: là 1 mệnh đề gồm: động
từ + bổ ngữ
Động từ: chỉ hành động
Bổ ngữ: chỉ đối tượng dữ liệu chịu tác động
Tên tiến trình: duy nhất, ngắn gọn, phản ánh được nội dung hoạt động &phù hợp với người dùng
Ví dụ: Lập (động từ) đơn hàng (bổ ngữ)
Trang 9Các khái niệm
3 Kho dữ liệu (data store) là các dữ liệu được lưu
trữ tại một chỗ, thường trên một vật mang Cùng một loại dữ liệu, trên cùng vật mang có thể lưu ở nhiều nơi
có nhiều kho cùng tên
Tên kho dữ liệu: là 1 mệnh đề danh từ, có thể là
chính tên vật mang
Ví dụ: các kho dữ liệu như: Khách hàng, phiếu nhập
Trang 10Các khái niệm
4 Luồng dữ liệu (data flow) là các dữ liệu di chuyển
từ một ví trí này đến 1 ví trí khác trên 1 vật mang
nào đó Vật mang dữ liệu có thể là 1 đối tương hay
Trang 11n
tên tiến tên tiến
Trang 12Các quy tắc xây dựng biểu đồ
Tiến trình là duy nhất
Kho dữ liệu & tác nhân có thể vẽ lặp
Mọi tiến trình phải có ít nhất 1 luồng dữ liệu vào/ra
Dữ liệu qua các tiến trình cần được xử lý
các luồng ra khác các luồng vào
Các luồng dữ liệu đi vào đủ để tạo ra các luồng dữ
liệu ra: bảo tồn các dạng dữ liệu (vật chất)
Đối tượng chỉ có luồng dữ liệu ra hoặc vào chỉ có
thể là tác nhân
Trang 13Các quy tắc xây dựng biểu đồ
Không có các luồng dữ liệu sau:
Từ tác nhân đến tác nhân
Từ tác nhân đến kho dữ liệu hay ngược lại
Từ kho dữ liệu đến kho dữ liệu
Luồng dữ liệu quay về nơi xuất phát
Trang 14Quy tắc phân rã một tiến trình
Phân rã 1 tiến trình là phân chia nó
thành 1 biểu đồ luồng dữ liệu với các
tiến trình và luồng dữ liệu chi tiết hơn
Quy tắc phân rã ( decomposition ):
Bảo toàn các yếu tố môi trường liên
quan: các tác nhân, luồng DL
Đảm bảo thực hiện chức năng của tiến
trình được xét
Đảm bảo các nguyên tắc lập biểu đồ
Trang 16Ví dụ: phân rã 1 tiến trình
Trang 17Sử dụng DFD để đặc tả Mô hình
xử lý nghiệp vụ
DFD được sử dụng để đặc tả:
Biểu đồ ngữ cảnh
Biểu đồ MHDFD vật lý của hệ thống hiện thời
Biểu đồ MHDFD logic của hệ thống hiện thời
Biểu đồ MHDFD logic cho hệ thống xây dựng
Biểu đồ MHDFD vật lý của hệ thống xây dựng
Trang 18Tiến trình xây dựng các biểu đồ MH
Trang 192.1 2.2.2 C nhân
(thấp nhất)
Trang 20a Qui trình phát triển biểu đồ mức 0
Đầu vào: mô hình nghiệp vụ:
(1) Biểu đồ ngữ cảnh
(2) Biểu đồ phân rã chức năng
(3) Mô tả chi tiết chức năng lá
(4) Các hồ sơ sử dụng
(5) Ma trận thực thể chức năng
(6) Biểu đồ hoạt động
Các bước tiến hành:
Trang 21a Qui trình phát triển biểu đồ mức 0
Các bước tiến hành
Xuất phát từ biểu đồ ngữ cảnh
Thực hiện lần lượt 3 thao tác:
1 Thay thế tiến trình duy nhất của biểu đồ ngữ cảnh (1) = các tiến trình con tương ứng với các chức năng mức 1 trong biểu đồ phân
rã chức năng (2)
2 Giữ nguyên các tác nhân, kho dữ liệu và luồng dữ liệu từ (1) và chuyển sang Cần đặt đầu mút mỗi luồng dữ liệu vào tiến trình con thích hợp
Trang 22a Qui trình phát triển biểu đồ mức 0
Các bước tiến hành (tiếp):
3.Thêm vào:
các kho dữ liệu: mỗi kho tương ứng với 1 hồ sơ trong (4)
các luồng dữ liệu giữa kho dữ liệu
và tiến trình: mỗi luồng tương ứng với
1 chữ (R,U,C) trong (5)
Các luồng dữ liệu giữa 2 tiến trình
dựa trên mô tả ở (3) và (6)
Trang 23g Phiếu chi 3.0 “không q.q” g xxxx
Phiếu chi
1 R C U R
Trang 24b Qui trình phát triển biểu đồ mức i
Đầu vào: một biểu đồ ở mức
i-1 Các bước tiến hành:
Xuất phát từ 1 tiến trình trong biểu đồ mức i-1
mà chưa tương ứng với 1chức năng lá trong (2)
Thực hiện liên tiếp 3 thao tác:
1 Thay thế tiến trình được chọn = các tiến trình con tương ứng với các chức năng mức i+1 trong biểu đồ phân rã chức năng (2)
Trang 25b Qui trình phát triển biểu đồ mức i
Các bước tiến hành (tiếp)
2 Giữ nguyên các tác nhân, kho dữ liệu và luồng dữ liệu liên quan với tiến trình đã
chọn từ biểu đồ mức i-1 và chuyển sang
Chú ý:
- Nếu có tiến trình liên quan với nó ở biểu
đồ mức i-1 thì thêm bằng 1 tác nhân mới
- Cần đặt các đầu mút của các luồng dữ liệu vào tiến trình con mới 1 cách thích hợp
3 Thêm vào các luồng dữ liệu giữa 2 tiến trình
Trang 26người coi b Vé xe “vé sai”
c Sổ xe vào d Sô xe ra e Phiếu t.toán
sự cố
Biên bản f Biên bản
Báo cáo
Trang 27a Bảng giá c Sổ xe vào b Vé xe 1.4
Ghi sổ
xe vào t.t ghi vÐ ghi vé 1.3
Trang 28Biểu đồ DFD vật lý & logic
Có 2 loại biểu đồ luồng dữ liệu:
Biểu đồ luồng dữ liệu vật lý
tả các đối tượng vật lý của thế giới thực Trong trường hợp này, tiến trình có thêm phần thứ 3 ghi phương tiện thực hiện tiến
trình
thống hiện thời - được gọi là mô hình luồng dữ liệu khái niệm
Biểu đồ luồng dữ liệu lôgic
tên, không gắn với bất kỳ một yếu tố vật nào Nhờ vậy ta có thể cái biến nó một cách tùy ý , chỉ cần đảm bảo lôgic nghiệp vụ
Trang 29Chuyển DFD vật lý sang DFD logic
Xác định các tiến trình thiết yếu không thể bỏ đi,
Xác định các kho dữ liệu cần thiết cho các tiến trình,
Cấu trúc các luồng dữ liệu giữ chúng sao cho:
•Đảm bảo thực hiện được các chức năng yêu cầu
•Đảm bảo các quy tắc của DFD
•Đơn giản nhất có thể được, giảm sự phụ thuộc giữa các tiến trình Ví dụ: thay các luồng dữ liệu giữa các tiến trình bằng luồng dữ liệu giữa các tiến trình và kho
Thực chất của hoạt động này là nhằm hoàn thiện quy trình nghiệp vụ của hệ thống cần xây dựng
Kiểm tra lại và hoàn thiện
Trang 30Chuyển DFD vật lý sang DFD logic
Sau khi chuyển DFD vật lý sang DFD lôgic, ta cần
chuyển các mô tả mỗi tiến trình sang đặc tả lôgic
(bằng các công cụ: tiếng anh có cấu trúc, cây
quyết định, bảng quyết định hay biểu đồ trạng
thái) Các DFD lôgic và các đặc tả lôgic các tiến trình
ở mức thấp nhất của chúng cho ta thiết kế lôgic xử
lý của hệ thống cần xây dựng
Trường hợp hệ thống mới cần thêm các yêu cầu mới thì phải bổ sung các thành phần này vào
các DFD lôgic cũng như bổ sung các đặc tả
lôgíc tương ứng để được thiết kế lôgic của hệ
Trang 31Ví dụ: chuyển DFD vật lý sang logic
hoá đơn
nhân viên phiếu giao
5.0 D5 sổ nhật ký
D4 hóa đơn thanh toán ghi tổng thực phẩm dụng
nhân viên phiếu giao nhận được
D2 Đơn hàng
lập đơn hàng mức tối thiểu D3 thẻ kho ghi tổng sử dụng vào
Trang 32Ví dụ: chuyển DFD vật lý sang logic
BP KHO NHÀ CUNG
thanh toán 3.0 lượng tồn kho D2 Đơn hàng tạo đơn
hàng số lượng tối thiểu đơn hàng
Biểu đồ luồng dữ liệu logic mức 0 hệ thống quản lý nhập kho hiện thời
- Dồn và giảm đi 1 tác nhân
- Bỏ đi 2 kho vật lý thay bằng 1 kho lôgic - Bỏ đi
Trang 33Ví dụ: chuyển DFD vật lý sang logic
Giả sử hệ thống mới đặt thêm các yêu cầu:
1 Dữ liệu cần đươc cập nhật ngay
2 Hệ thống cảnh báo lập đơn hàng cho các thực
Để thực hiện yêu cầu 3 chỉ cần thêm vào tác nhân
NGƯỜI QUẢN LÝ và tiến trình truy vấn tồn kho
Trang 34Ví dụ: chuyển DFD vật lý sang logic
hoá D4 hóa đơn thực phẩm mới phẩm sử dụng
D2 Đơn hàng tạo đơn truy vấn kết quả
số lượng tối thiểu tồn kho truy vấn
hàng
đơn hàng
Biểu đồ luồng dữ liệu logic mức 0 cho hệ thống quản lý nhập kho mới
Trang 35Sử dụng mô hình DFD
Câu hỏi:
Khi phát triển một ứng dụng cần các mô
hình luồng dữ liệu nào? Trình tự sử dụng nó?
Sử dụng các mô hình DFD mỗi loại để làm
gì?
Tiến trình phát triển các mô hình luồng dữ
liệu qua các bước như thế nào? Chúng được
gọi tên tương ứng là gì?
Trang 36Sử dụng các mô hình DFD
Sử dụng mô hình luồng dữ liệu khái niệm để:
Hiểu được hoạt động xử lý nghiệp vụ
Hoàn thiện đặc tả yêu cầu nghiệp vụ : phát hiện yếu tố
thiếu, yêu tố dư thừa từ việc phân tích mô hình và đảm
bảo các quy tắc lập mô hình
Dùng để giao tiếp
Sử dụng mô hình luồng dữ liệu lôgíc để:
Hoàn thiện quy trình nghiệp vụ
Lựa chọn phương án thích hợp
Đầu vào cho thiết kế vật lý hệ thống
Trang 37Tiến trình phát triển các mô hình
xư lý nghiệp vụ của ứng dụng
xử lý lôgic xử lý lôgic xử lý vật lý của
hệ hiện tại hệ hiện tại hệ mới