CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG- Lập mô hình chức năng của hệ thống -> trả lời câu hỏi “Hệ thống làm gì?” CÁC VẤN ĐỀ CẦN NẮM TRONG CHƯƠNG Một số mô hình và phương tiện diễn tả
Trang 1CHƯƠNG 3 PHÂN TÍCH HỆ THỐNG VỀ CHỨC NĂNG
- Lập mô hình chức năng của hệ thống -> trả lời câu hỏi
“Hệ thống làm gì?”
CÁC VẤN ĐỀ CẦN NẮM TRONG CHƯƠNG
Một số mô hình và phương tiện diễn tả các chức năng
Cách tiến hành phân tích hệ thống về chức năng.
Trang 23.1 CÁC MÔ HÌNH VÀ PHƯƠNG TIỆN DIỄN TẢ CHỨC NĂNG
Các mức độ diễn tả chức năng.
Các biểu đồ phân cấp chức năng.
Các lưu đồ hệ thống
Biểu đồ luồng dữ liệu
Các phương tiện đặc tả chức năng.
3.1.1 CÁC MỨC ĐỘ DIỄN TẢ CHỨC NĂNG
Diễn tả vật lý và diễn tả logic
Diễn tả tổng thể và diễn tả chi tiết
- Chức năng chính là chức năng xử lý thông tin.
Trang 3- Sự diễn tả chức năng ở mức logic
+ Tập trung trả lời câu hỏi: “làm gì?” gạt bỏ câu hỏi “làm thếnào?”
Chỉ diễn tả mục đích, bản chất của quá trình xử lý (bỏ qua
các yếu tố thực hiện, cài đặt: phương pháp, phương tiện, tác
nhân, thời gian…)
- Trong giai đoạn khảo sát hiện trạng -> ghi nhận tất cả hiện trạng thực
tế -> phải dùng sự diễn tả ở mức độ nào?
- Nhược điểm của các yếu tố vật lý:
+ làm che khuất bản chất của hệ thống.
+ làm lu mờ hay biện minh cho các bất hợp lý.
+ Ví dụ: các giám đốc thường nói: “tôi làm thế này, thế
nọ là do tôi thiếu người, thiếu phương tiện, do địađiểm phân tán, thời hạn gấp…”
Để thấy rõ bản chất -> nêu ra các bất hợp lý,
Trong phân tích phải loại bỏ yếu tố vật lý
Như vậy, ở giai đoạn phân tích chỉ diễn tả các chức năng của hệ
thống ở mức độ logic
Trong giai đoạn thiết kế: diễn tả sự hoạt động của hệ thống ở mức vật
lý (với đầy đủ các yếu tố cài đặt và thực hiện)
Trang 4Hình 3.1 – Một trình tự mô hình hóa hệ thống
(1) Diễn tả tổng thể và diễn tả chi tiết
- Mức tổng thể: một chức năng <=> “hộp đen”.
- Các thông tin vào ra hộp đen phải được chỉ rõ.
- Mức chi tiết: phải chỉ rõ nội dung của quá trình xử lý -> chỉ ra các
chức năng con
- Các chức năng con còn phức tạp -> diễn tả chi tiết các chức năngcon
sự phân cấp trong mô tả.
(Phần sau giới thiệu một số mô hình chức năng và phương tiện để diễn
Diễn tả Hệ thống mới
LÀM - NHƯ THẾ NÀO?
Đơn hàngLượng tồn kho
Hóa đơn kiêm phiếu xuất
Trang 53.1.2 CÁC BIỂU ĐỒ PHÂN CẤP CHỨC NĂNG
Định nghĩa BPC
Đặc điểm BPC
Chú ý
(1) Định nghĩa
- Biểu đồ phân cấp chức năng (BPC): một loại biểu đồ diễn tả sự
phân rã dần dần các chức năng từ tổng thể -> chi tiết của một hệ
Trả công Thu ChiKế toán
Trang 6(2) Đặc điểm
- Cho một cách nhìn khái quát, dễ hiểu, từ tổng quát đến chi tiết về các chức năng, nhiệm vụ cần thực hiện (ở mức logic).
- Dễ thành lập: phân rã dần dần các chức năng từ trên xuống.
- Có tính chất tĩnh: chỉ cho thấy chức năng, không cho thấy trình tự
xử lý
- Không có trao đổi thông tin giữa các chức năng.
thường sử dụng làm mô hình chức năng trong bước đầu phân
tích
Dùng cho các hệ thống đơn giản
Hệ thống phức tạp -> dùng biểu đồ luồng dữ liệu - BLD (DFD – Data Flow Diagram)
(3) Chú ý
- Phân biệt giữa biểu đồ phân cấp chức năng BPC và sơ đồ tổ
chức của một cơ quan (khác biệt về trên các nút và cấu trúc cây).
- Sơ đồ tổ chức:
+ Thể hiện các bộ phận, tổ chức hợp thành cơ quan.
+ Sự phân cấp quyền hạn.
- Có sự tương ứng một phần giữa BPC và sơ đồ tổ chức.
Ví dụ: sơ đồ tổ chức của công ty trong hình 3.3.
Hình 3.4 – Sơ đồ tổ chức (của công ty trong hình 3.3)
Ban Giám Đốc
Phòng thiết bị
Phòng thiết bị
Phòng Tài Vụ
Phòng Tài Vụ
Phòng LĐ Tiền lương
Phòng LĐ Tiền lương
hàng
Phòng Bán hàng
Phòng HC tổng hợp Phòng HC tổng hợp
Trang 7- Chỉ rõ công việc (chức năng xử lý) phải thực hiện;
- Chỉ rõ trình tự các công việc và thông tin chuyển giao giữa
chúng
(1) Đặc điểm
- Lưu đồ hệ thống vẽ trên không gian hai chiều:
+ chiều ngang chỉ địa điểm+ chiều dọc (từ trên xuống) chỉ trình tự thời gian
- Lưu đồ được vẽ theo qui ước (của IBM) như sau:
- T ng đ i d hi u -> s d ng trong kh o sát ho c thi t k (1960-1970) ư ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970) ễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970) ểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970) ử dụng trong khảo sát hoặc thiết kế (1960-1970) ụng trong khảo sát hoặc thiết kế (1960-1970) ảo sát hoặc thiết kế (1960-1970) ặc thiết kế (1960-1970) ết kế (1960-1970) ết kế (1960-1970)
Ch c n ng x lý thông tinức năng xử lý thông tin ăng xử lý thông tin ử dụng trong khảo sát hoặc thiết kế (1960-1970)
Ch ng t (trên gi y)ức năng xử lý thông tin ừ (trên giấy) ấy)Danh sách (in trên gi y)ấy)
T p trên đ a tệp trên đĩa từ ĩa từ ừ (trên giấy)
T p trên b ng tệp trên đĩa từ ăng xử lý thông tin ừ (trên giấy)
L u t i chư ại chổ ổ
Trang 8Ch ng 3 – Phân tích h th ng v ch c n ng ương 3 – Phân tích hệ thống về chức năng ệ thống về chức năng ống về chức năng ề chức năng ức năng ăng.
thương mại
Bộ phận mã hóa
Bộ phận duyệt sửa
Bộ phận nhập liệu
Đơn hàng Duyệt sửa
thủ công
Duyệt sửa thủ công
Đơn hàng
Tiếp nhận
Tệp đơn hàng
Tệp đơn hàng
Đh bị từ chối
Sửa
Đh đã sửa
Đh đã sửa
Ghi nhận đơn hàng
Ghi nhận
hàng
Tệp khách hàng
Trang 93.1.4 BIỂU ĐỒ LUỒNG DỮ LIỆÙ
Định nghĩa biểu đồ luồng dữ liệu – BLD (DFD – Data Flow Diagram)
Đặc điểm - yêu cầu
Năm thành phần biểu diễn BLD
Các chú ý
(1) Định nghĩa biểu đồ luồng dữ liệu
Là một biểu đồ nhằm diễn tả một quá trình xử lý thông tin.
(2) Đặc điểm yêu cầu
- Sự diễn tả các xử lý ở mức logic -> trả lời câu hỏi “Làm gì?”.
- Chỉ rõ các chức năng con phải thực hiện để hoàn tất quá trình xử lý
cần mô tả
- Chỉ rõ thông tin được chuyển giao giữa các chức năng (xử lý) ->
trình tự thực hiện.
(3) Năm thành phần biểu diễn biểu đồ luồng dữ liệu
- Các chức năng (ô xử lý/ quá trình xử lý)
- Các luồng dữ liệu (dòng dữ liệu)
- Các kho dữ liệu
- Các đối tác (nguồn/ đích)
- Các tác nhân trong
Trang 10(3.1) Các chức năng (ô xử lý/ quá trình xử lý)
Định nghĩa
Một chức năng là một quá trình biến đỗi dữ liệu
- thay đổi giá trị,
- hay thay đổi cấu trúc,
- hay thay đổi vị trí của một dữ liệu
- hoặc từ một số liệu đã cho -> tạo ra một dữ liệu mới
Biểu diễn
Bởi một hình tròn hay hình ovan bên trong có tên chức năng.
- Tên chức năng phải là một động từ (có thêm bổ ngữ nếu cần) ->
biểu diễn vắn tắt chức năng làm gì Ví dụ:
Tên Chức năng
Lập Hóa Đơn
Trang 11(3.2) Các luồng dữ liệu (dòng dữ liệu)
Định nghĩa
Là một tuyến truyền dẫn thông tin vào hay ra một chức năng.
- Hình thức truyền dẫn: bằng tay, qua máy tính, bằng fax, hay điệnthoại…
- Dưới dạng một mũi tên, trên đó có viết tên luồng dữ liệu
Tên luồng dữ liệu phải là một danh từ, kèm thêm tính ngữ nếu cần
-> cho phép hiểu vắn tắt nội dung của dữ liệu chuyển giao
- Ví dụ:
- Dữ liệu được chuyển giao là dữ liệu có cấu trúc -> có thể vẽ luồng
dữ liệu rẽ nhánh (thành các luồng thành phần) hoặc chập lại (từ cácluồng thành phần)
- Ví dụ:
Khái niệm “thông báo” trong viễn thông.
+ Thông báo = Phong bao thông báo + văn bản thông báo+ Phong bao thông báo = định danh người gửi + định danh ngườinhận
Tên luồng dữ liệu
Hóa đơn đã kiểm
Trang 12- Được vẽ trong biểu đồ luồng dữ liệu (DFD) dưới dạng hai đoạn
thẳng nằm ngang, tên kho dữ liệu nằm giữa.
- Tên kho dữ liệu phải là một danh từ, kèm tính ngữ nếu cần -> hiểu
vắn tắt nội dung của dữ liệu cần lưu trữ
- Ví dụ:
- Các qui tắc diễn tả và ý nghĩa:
Qui tắc 1
Hình 3.6 – Qui tắc sử dụng kho dữ liệu:
Ba cách truy nhập: a) Đọc; b) Ghi; c) Đọc và Ghi
Qui tắc 2
Tên kho dữ liệu
Hồ sơ thí sinh
Trang 13(a) (b)
Hình 3.7 – Qui tắc sử dụng kho dữ liệu:
a) Truy nhập toàn bộ dữ liệu: luồng dữ liệu không có tên;
b) Truy nhập một phần dữ liệu: luồng dữ liệu phải mang tên chỉ rõ thành
phần truy nhập;
Qui tắc 3
Hình 3.8 – Qui tắc sử dụng kho dữ liệu:
a) Không có kho: thông tin được xử lý ngay;
b) Có kho: thời điểm sinh ra và thời điểm xử lý khác nhau;
Làm
gi y báo ấy)thi
H s thí sinhồ sơ thí sinh
a ch
Địa chỉ ỉ thí sinh
Ki m ểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)tra h ồ sơ thí sinhs
H s thí sinhồ sơ thí sinh
Bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
Truy n ền các bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
Truy n ền các bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
Trang 14Hình 3.10 – Qui tắc sử dụng kho dữ liệu:
Sử dụng các thông tin với một trật tự khác với trật tự khi sản sinh
Thông báo
Tìm
d ng ại chổ
c a ủa thông báo
C t ắt thông báo thành
bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
C t ắt thông báo thành
bl c ối dễ hiểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
Tính ch n ẵn
l c a ẻ của ủa thông báo
Ti p nh n ết kế (1960-1970) ận thông báo
nh danh ng i g i Định danh người gửi ười gửi ử dụng trong khảo sát hoặc thiết kế (1960-1970) + nh danh ng i nh n Định danh người gửi ười gửi ận + V n b n ăng xử lý thông tin ảo sát hoặc thiết kế (1960-1970)
nh danh ng i nh n
Định danh người gửi ười gửi ận + V n b n ăng xử lý thông tin ảo sát hoặc thiết kế (1960-1970)
nh danh ng i g i
Định danh người gửi ười gửi ử dụng trong khảo sát hoặc thiết kế (1960-1970)
+ V n b n ăng xử lý thông tin ảo sát hoặc thiết kế (1960-1970) Định danh người gửi nh danh ng i nh n ười gửi ận
+ nh danh ng i g i Định danh người gửi ười gửi ử dụng trong khảo sát hoặc thiết kế (1960-1970)
Trang 15(3.4) Các đối tác (nguồn/ đích)
Định nghĩa
Một đối tác (tác nhân ngoài) là một thực thể ngoài hệ thống, có trao
đổi thông tin với hệ thống
Biểu diễn
Bởi một hình chữ nhật, bên trong có tên đối tác
- Tên đối tác là một danh từ -> xác định vắn tắt đối tác là ai, hoặc là
gì (người, tổ chức, thiết bị, tệp,…)
- Ví dụ:
- Đối tác chỉ phát (không nhận) thông tin đến hệ thống: nguồn
- Đối tác chỉ nhận (không phát) thông tin từ hệ thống: đích (vực)
Tên đối tác
Khách hàng
Trang 16(3.5) Các tác nhân trong
Định nghĩa
- Một tác nhân trong là một chức năng hay một hệ con của hệ
thống, được mô tả ở một trang khác của mô hình, nhưng có trao đổithông tin với các phần tử thuộc trang hiện tại của mô hình
chỉ làm nhiệm vụ tham chiếu
Tên tác nhân trong
Qu n lý kho hàngảo sát hoặc thiết kế (1960-1970)
Trang 17 Ví dụ: DFD diễn tả một qui trình bán hàng theo đơn đặt hàng
Hóa đ n
Giao hàng
Phi u giao hàngết kế (1960-1970)
Hóa đ nPhi u xu tết kế (1960-1970) ấy)
n hàng đ c đáp
Đ ược đáp
ng ngay
ức năng xử lý thông tin
Gi y báo ch hàngấy) ời gửi
n không h p l
Đ ợc đáp ệp trên đĩa từ
n hàngĐ
Trang 18(4) Các chú ý
1- Một đối tác, một kho dữ liệu, hay một tác nhân trong có thể được vẽ lặp
lại-> được hiểu là một -> tránh sự chồng chéo luồng dữ liệu
Các chức năng và luồng dữ liệu không được vẽ lặp lại
2- Trong DFD mọi thông tin xuất hiện (luồng dữ liệu, kho dữ liệu) là những
thông tin thuộc lĩnh vực ứng dụng
các chức năng phải xử lý những thông tin đó
không có các thông tin điều khiển: thông tin tham gia quyết định
điều khiển thực hiện các chức năng xử lý (khởi động, ngưng,đồng bộ hóa, thực hiện đồng thời các xử lý)
Như vậy, các chức năng trong DFD được khởi động và thực hiện
như thế nào?
Nguyên tắc kích hoạt bằng dữ liệu:
- Một chức năng trong DFD được khởi động khi hội đủ các
dữ liệu đầu vào cần thiết
- Khi khởi động, chức năng được giả định thực hiện rất
nhanh nghĩa là ngay lập tức có các dữ liệu đầu ra.
yếu tố thời gian, điều khiển bị bỏ quan
Trang 193.1.5 CÁC PHƯƠNG TIỆN ĐẶC TẢ CHỨC NĂNG
- Khi sử dụng biểu đồ phân cấp chức năng và sơ đồ luồng dữ liệu để
diễn tả một chức năng phức tạp -> ta phân rã nó thành nhiều chức
năng đơn giản
Cần giải thích các chức năng đơn giản này.
Dùng các phương tiện diễn tả trực tiếp (Khác với BPC, BLD).
Sự đặc tả chức năng (Process Specification):
- Một đặc tả chức năng cần trình bày ngắn gọn (không vượt quá mộttrang A4), thường gồm hai phần:
Phần đầu đe
+ Tên chức năng,+ Các dữ liệu vào+ Các dữ liệu ra
Phần thân mô tả nội dung xử lý, thường dùng các
phương tiện mô tả sau:
+ Phương trình toán học+ Bảng quyết định hay cây quyết định+ Sơ đồ khối
+ Ngôn ngữ tự nhiên cấu trúc hóa
Trang 20(2) Ví dụ đặc tả chức năng dùng phương trình toán học để mô tả
Hình 3.14 – Một đặc tả chức năng (Process Specification)
(3) Bảng quyết định và cây quyết định
- Sử dụng khi chức năng được đặc tả là một sự phân chia các trườnghợp tùy vào điều kiện
- Số các giá trị của một điều kiện là hữu hạn
Ví dụ:
“Là sinh viên” có thể cho một trong hai giá trị: Đúng (Đ)hoặc Sai (S)
“Điều kiện tuổi tác” có thể lấy 4 giá trị
+ Tuổi thơ (<=13 tuổi)+ Tuổi trẻ (từ 13 -> 29 tuổi)+ Trung niên (từ 30 -> 59 tuổi)+ Tuổi già (>= 60 tuổi)
u ra: k t qu b o v Đầu vào: ết kế (1960-1970) ảo sát hoặc thiết kế (1960-1970) ảo sát hoặc thiết kế (1960-1970) ệp trên đĩa từ
Thân
K t qu b o v = ( i m c a ng i ph n bi nết kế (1960-1970) ảo sát hoặc thiết kế (1960-1970) ảo sát hoặc thiết kế (1960-1970) ệp trên đĩa từ Đ ểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970) ủa ười gửi ảo sát hoặc thiết kế (1960-1970) ệp trên đĩa từ
+ i m c a ng i h ng Đ ểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970) ủa ười gửi ướng dẫn
d nẫn
+
Trang 21- Bảng quyết định là một bảng 2 chiều, trong đó một chiều (ngang,hay dọc) được tách thành 2 phần: các điều kiện vào và các biến ra(hành động)
Các Trường Hợp
Cácđiềukiện
Cáchànhđộng
- Giảm giá 10% cho thương binh
- Giảm gi 5% cho con liệt sĩ
- Không được phép hưởng 2 tiêu chuẩn (lấy mức cao nhất)
Chức năng “Xác định mức giảm giá cho khách hàng” được đặc tả bằng
bảng quyết định như sau:
Là thương binh
L con liệt sĩ Đ S Đ SGiảm gi 10% X X
Trang 22Hình 3.16 – Bảng quyết định đặc tả chức năng “Giảm giá”
Chức năng “Xác định mức giảm giá cho khách hàng” được đặc tả bằng
cây quyết định như sau:
Hình 3.17 – Cây quyết định đặc tả chức năng “Giảm giá”
S
Trang 23Hình 3.18 – Bảng quyết định đơn giản hóa
Trang 24(4) Sơ đồ khối
- là loại biểu đồ diễn tả giải thuật
- Ưu: đơn giản, dể hiểu cho lập trình căn bản
- Khuyết: dùng nhiều lệnh GOTO, không thể hiện rõ cấu trúc điều
khiển cơ bản, hổ trợ kém cho lập trình trên xuống và đệ qui
- Trong sơ đối khối một cung là luồng điều khiển (chuyển giao
quyền thực hiện)
- Ví dụ: sơ đồ khối đặc tả chức năng “lập danh sách trúng tuyển”
Hình 3.19 – Một sơ đồ khối
Còn thí sinh ch a ư xét?
Tra c u đi m thí sinh ức năng xử lý thông tin ểu -> sử dụng trong khảo sát hoặc thiết kế (1960-1970)
DS đ <- thí sinh ỗ <- thí sinh DS r t <- thí sinh ớng dẫn
SĐ
Đ
S
Ra
Trang 25(5) Ngôn ngữ có cấu trúc
Ngôn ngữ có cấu trúc (mã giả) là ngôn ngữ tự nhiên bị hạn chế:
- Chỉ được phép dùng các câu đơn chỉ thị hay khẳng định(các lệnh, hay điều khiển)
- Các câu đơn này được ghép nối bằng 1 số từ khóa thể hiệncác cấu trúc điều khiển chọn và lặp)
Ví dụ: chức năng “lập danh sách trúng tuyển” được đặc tả bằng
Trang 263.2 PHƯƠNG PHÁP PHÂN TÍCH CÓ CẤU TRÚC (SA)
- Do De Macro, Yourdon, Constantine… đưa ra vào những năm 70.
- Thích hợp cho những hệ thống thông tin quản lý
- Đặc điểm: đơn giản, dễ hiểu, không quá sơ lược nhưng không cầu kỳ.
- Công cụ sử dụng chính là biểu đồ luồng dữ liệu (DFD).
Mục đích là lập mô hình logic về chức năng của hệ thống mới dưới dạng một DFD (tập hợp DFD).
Kỹ thuật phân mức (phân tích từ trên xuống)
Chuyển đổi DFD vật lý thành DFD logic
Chuyển từ DFD của hệ thống cũ sang DFD của hệ thống mới 3.2.1Kỹ thuật phân mức
- Phân tích từ trên xuống (Top-down analysis): phân rã mỗi chức năng ởmức trên thành một số chức năng ở mức dưới
- Hai kỹ thuật phân mức:
+ Dùng biểu đồ phân cấp chức năng (BFD)
+ Dùng biểu đồ luồng dữ liệu (DFD)
(1) Dùng biểu đồ phân cấp chức năng – BFD
- Để phân cấp từng chức năng -> cần đặt câu hỏi: “để hoàn thành chứcnăng này cần phải thực hiện các chức năng con nào?”
đây là quá trình tự nhiên
Nhược điểm: kết quả là một tập hợp các chức năng rời rạc
Thích hợp cho phân tích bước đầu hay những hệ thống đơn giản
Ví dụ: quá trình phân tích chức năng đối với hệ thống thông tin của một cơ
sở tín dụng