Chương 2: Xác định và phân tích yêu cầu
Giảng viên: Ths. Phạm Đào Minh Vũ Email: phamdaominhvu@yahoo.com
1
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
2
6. Bài tập
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
3
6. Bài tập
Nội dung
1. Hiện trạng tổ chức
1. Giai đoạn khảo sát hiện trạng
2. Hiện trạng nghiệp vụ
3. Hiện trạng Tin học (phần cứng, phần mềm, con người)
Phân loại yêu cầu:
Yêu cầu chức năng: Lưu trữ, tra cứu, tính toán, kết
2. Xác định và thu thập yêu cầu:
xuất,…
4
Yêu cầu phi chức năng: Yêu cầu bảo mật, Mã hóa dữ liệu, Sao lưu định kỳ, Phục hồi khi có sự cố,…
Nội dung
Kỹ thuật thu thập yêu cầu:
2. Xác định và thu thập yêu cầu(tt):
Phỏng vấn
Bảng câu hỏi
Nghiên cứu các tài liệu
Phân tích thiết kế nhóm (JAD - Joint Application
Quan sát thực tế
Design)
4. Sơ đồ luồng dữ liệu
5
3. Phân tích yêu cầu (Mô hình hóa yêu cầu)
1. Khảo sát hiện trạng
Cơ cấu tổ chức nội bộ
1. Hiện trạng tổ chức
Bản thân tổ chức là một hệ thống, có cơ cấu tổ
chức, phân chia rõ ràng.
Sơ đồ cơ cấu tổ chức nội bộ
6
Cách nhìn tổng thể về 1 tổ chức
Khảo sát hiện trạng
Hiểu được quy trình nghiệp vụ: mục tiêu quan trọng
2. Hiện trạng nghiệp vụ
Có bao nhiêu nghiệp vụ, bao nhiêu quy trình?
nhất của khảo sát hiện trạng
Dưới góc nhìn của người làm quản lý, không phải
Nghiệp vụ được thực hiện như thế nào?
của chuyên viên Tin học
Tần suất? Thời điểm thực hiện
7
Các công đoạn, bộ phận liên quan…
Khảo sát hiện trạng
Khối lượng tác vụ (số thao tác)/quyết định?
Đánh giá nghiệp vụ hiện tại : (Cần có những nhận xét của những người chuyên môn trong guồng máy công tác hiện tại)
Có vấn đề/khó khăn gì hiện tại hay không? Nguyên
nhân?
Vấn đề/khó khăn độc lập với công nghệ, chỉ liên quan đến chuyên môn nghiệp vụ thì cần giải quyết ngay
Ngược lại : lên thông tin chi tiết và đề xuất
8
2. Hiện trạng nghiệp vụ (tt)
Khảo sát hiện trạng
Phần cứng:
3. Hiện trạng Tin học
Các thiết bị hiện tại,
Số lượng,
Cấu hình,
Tình hình kết nối mạng,
Vị trí (vật lý),
9
Loại kết nối…
Khảo sát hiện trạng
Phần mềm:
3. Hiện trạng Tin học (tt)
Hệ điều hành
Hệ quản trị CSDL
Các phần mềm tiện ích khác
Con người:
…
10
Trình độ chuyên môn Tin học
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
1. Phân loại yêu cầu
2. Kỹ thuật thu thập yêu cầu
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
11
6. Bài tập
2. Xác định và thu thập yêu cầu
Yêu cầu chức năng:
Phân loại yêu cầu:
Lưu trữ : ghi chép thông tin sổ sách
Tra cứu : tìm kiếm, xem thông tin, hoạt động
Tính toán : tính toán theo quy định cho trước
12
Kết xuất : lập báo cáo, biểu mẫu
Xác định và thu thập yêu cầu
Yêu cầu phi chức năng:
Phân loại yêu cầu:
Ví dụ : Admin, user, …
Phân quyền sử dụng giữa các loại người dùng
Ví dụ : backup, restore
Sao lưu, phục hồi thông tin hệ thống
Ví dụ : Chọn loại máy in, kích thướt giấy, …
Định cấu hình thiết bị, ngày giờ làm việc
Ví dụ : Mượn sách quá hạn,công nợ kh, …
13
Báo động nhắc nhở người dùng
Xác định và thu thập yêu cầu
1. Phỏng vấn
Kỹ thuật thu thập yêu cầu:
2. Bảng câu hỏi
3. Nghiên cứu các tài liệu
4. Quan sát thực tế
6. …
14
5. Phân tích thiết kế nhóm (JAD)
1. Kỹ thuật Phỏng vấn
Phỏng vấn cá nhân
Phỏng vấn nhóm
Phỏng vấn cá nhân/phỏng vấn nhóm?
Phỏng vấn tự do
Phỏng vấn tự do/phỏng vấn có định hướng?
nhiều thông tin sâu sắc
Người được hỏi có cảm giác thoải mái, cung cấp
Nguy cơ: không có được những thông tin cần
15
thiết, thông tin khó hệ thống được
1. Kỹ thuật Phỏng vấn (tt)
Phỏng vấn có định hướng
Phỏng vấn tự do/phỏng vấn có định hướng?
Người được hỏi có thể cảm thấy không thoải mái, ít có khả năng ghi nhận được nhận xét, ý kiến, suy nghĩ riêng của người được phỏng vấn, ít cảm nhận được thái độ của họ đối với hiện trạng.
Có thể định hướng nội dung cần tìm hiểu, có thể
16
hệ thống hóa các vấn đề ghi nhận được
1. Kỹ thuật Phỏng vấn (tt)
Làm việc với cấp lãnh đạo để nắm mục tiêu của hệ thống phần mềm cần xây dựng, những đối tượng cần phỏng vấn
đơn vị để hợp tác
Yêu cầu cấp lãnh đạo thông báo xuống các phòng ban,
Phân tích để xác định đúng và đủ những đối tượng cần
phỏng vấn
Hẹn lịch làm việc, Xác định trước vị trí/trách nhiệm của
17
người sắp phỏng vấn
1. Kỹ thuật Phỏng vấn (tt)
Nội dung: cái gì?
Bao giờ có: thời gian
Bằng cách nào có nội dung thông tin đó
Nội dung đó ở dạng gì?
Đánh giá của người được phỏng vấn về tình hình
hiện tại thực hiện nghiệp vụ
Trước khi thực hiện cần xác định các thông tin:
Đưa nhận xét cá nhân của người phỏng vấn
Dùng thuật ngữ/ngôn ngữ Tin học
18
Không nên:
2. Kỹ thuật dùng bảng câu hỏi
Mục đích của bảng câu hỏi,
Mục đích sử dụng những thông tin trong bảng câu
Phải trình bày rõ:
Tính bảo mật thông tin trả lời (không tiết lộ ai là người cung cấp thông tin, không để lộ ra ngoài tổ chức…)
hỏi,
Hướng dẫn cách điền: rất cần thiết, cần lưu ý để tránh
hiểu nhầm
Cần nhắc khi gần đến thời hạn
19
Thời hạn trả về:
2. Kỹ thuật dùng bảng câu hỏi (tt)
Hình thức bảng câu hỏi phải dễ dàng để xử lý tự động
Câu hỏi trình bày rõ ràng
Thêm chỗ cho lời bình
Không phải chỉ ở cuối trang, hay cuối bảng câu hỏi,
Nên dự kiến những câu hỏi nào sẽ có ý kiến thêm thì nên có sẵn chỗ để ghi lời bình ngay dưới câu hỏi đó)
20
Cần để dành chỗ để ghi câu trả lời.
3. Kỹ thuật Nghiên cứu tài liệu
Những quy định nội bộ, Các báo cáo liên quan
Các tài liệu (có thể tìm hiểu những văn bản chung)
Rất khó có đầy đủ văn bản quy định về quy trình
Những quy định về quy trình nghiệp vụ
Đơn vị đạt chuẩn ISO?
nghiệp vụ
Những quy định “bất thành văn” !!!
Thường dễ hơn kỹ thuật phỏng vấn hay bảng câu hỏi
việc phỏng vấn hay dùng bảng câu hỏi
21
Thường được tiến hành trước làm cơ sở chuẩn bị cho
4. Kỹ thuật Quan sát thực tế
Kiểm tra lại:
Đã hiểu đúng nghiệp vụ hiện tại?
Có những ngoại lệ?
Phát hiện những khó khăn, lỗ hổng trong quy trình
Tiến hành sau cùng (nếu cần thiết)
nghiệp vụ
22
Nhược điểm: ?
5. Phân tích thiết kế nhóm - JAD
Kỹ thuật áp dụng cho các giai đoạn phân tích yêu cầu và
JAD – Joint Application Design
đặc tả
Các nhà phát triển và khách hàng làm việc như một nhóm chung và có trách nhiệm chung đối với kết quả đầu ra.
Nhóm làm việc sẽ thảo luận các yêu cầu cần có, thiết kế các màn hình và báo cáo, xây dựng mô hình định khung nhanh, rút ra các đặc tả
23
Chủ yếu dựa trên sự đồng thuận (consensus)
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
1. Phân loại yêu cầu
2. Kỹ thuật thu thập yêu cầu
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
24
6. Bài tập
3. Mô hình hóa yêu cầu
Mô hình hóa yêu cầu:
Mô hình hóa là một trong các cách thức mô tả trực
Tại sao phải mô hình hóa yêu cầu?
Mô hình hóa sử dụng hệ thống các ký hiệu tương
quan một vấn đề dưới dạng các sơ đồ
ứng với các thành phần của vấn đề cần mô tả
Mô tả trực quan các thành phần của phần mềm dưới
Mô hình hóa phần mềm (Hệ thống dựa trên phần mềm):
25
dạng các sơ đồ
3. Mô hình hóa yêu cầu
Mức quan niệm (giai đoạn phân tích): Mô tả phát thảo
Có hai mức mô hình hóa:
Mức logic (giai đoạn thiết kế): Mô tả chi tiết các thành
các thành phần của phần mềm.
phần của phần mềm
Mô hình chức năng: Mô tả thành phần xử lý
Mô hình dữ liệu: Mô tả thành phần dữ liệu
Mô hình đối tượng: Mô tả đồng thời dữ liệu và xử lý
26
Các loại mô hình:
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
1. Phân loại yêu cầu
2. Kỹ thuật thu thập yêu cầu
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
27
6. Bài tập
4. Sơ đồ luồng dữ liệu
DFD (Data Flow Diagram)
Mục tiêu: Mô tả mức quan niệm (phát thảo) các thành phần của phần mềm với sự chú trọng trên thành phần xử lý
28
Mô hình hóa hướng chức năng với sơ đồ luồng dữ liệu –
Sơ đồ luồng dữ liệu
Tác nhân/thiết bị (Người sử dụng, thiết bị phát sinh hay tiếp nhận dữ liệu)
Khối xử lý
Các ký hiệu
Luồng dữ liệu (thông tin)
29
Bộ nhớ phụ (Hồ sơ, Sổ sách, tập tin, csdl…)
Sơ đồ tổng quát
Dữ liệu xuất
Dữ liệu nhập
Người dùng
D1
D2
Ý nghĩa từng dòng dữ liệu D1:……………. D2:……………. D3:……………. D4:……………. D5:……………. D6:…………….
D5
Thiết bị nhập
Xử lý …
Thiết bị xuất
D6
D3
Dữ liệu đọc
Dữ liệu ghi
D4
Thuật toán xử lý: -Bước 1:……………… -Bước 2:……………… -Bước 3:……………… -………………………..
30
NỘI DUNG TRÌNH BÀY
1. Giai đoạn khảo sát hiện trạng
1. Phân loại yêu cầu
2. Kỹ thuật thu thập yêu cầu
2. Xác định và thu thập yêu cầu
3. Mô hình hóa yêu cầu
4. Sơ đồ luồng dữ liệu
5. Xét ví dụ
31
6. Bài tập
VD1: Phân tích, thiết kế và lập trình
Hãy phân tích, thiết kế và lập trình bài toán tính đạo
hàm của một đơn thức
1. Phân tích
D1: Đơn thức cần tính đạo hàm P
Sơ đồ luồng dữ liệu
Người dùng
D1
D2
D2: Đơn thức kết quả Q
Nhập và kiểm tra D1
Thuật toán xử lý
Xử lý tính đạo hàm
Tính và xuất D2
32
Ví dụ 1
Mô tả chi tiết cách thức giao diện
(0)
2. Thiết kế
(1)
Kiểm tra P hợp lệ và nhập giá trị cho P
Khởi động giá trị ban đầu
Tính Q
33
Xuất Q
Ví dụ 1
Mô tả chi tiết kiểu dữ liệu: Sử dụng kiểu cấu trúc
2. Thiết kế
Hệ số có kiểu số thực
Số mũ có kiểu số nguyên (không âm)
DON_THUC với hai thành phần:
Hàm xử lý biến cố 1
Hàm kiểm tra hệ số, Hàm kiểm tra số mũ
Hàm nhập đơn thức
Hàm tính đạo hàm, Hàm xuất đơn thức
34
Mô tả chi tiết các hàm xử lý
Ví dụ 1
„Khai báo biến
3. Lập trình
Private Struct DON_THUC {
Single Heso;
Int Somu;
„Khai báo biến
}
DON_THUC P = new DON_THUC();
35
DON_THUC P = new DON_THUC();
Ví dụ 1
„Hàm xử lý biến cố tính đạo hàm trên màn hình
3. Lập trình
Private Void cmdDaoham_Click()
{
if (Kiem_Tra_He_So() && Kiem_Tra_So_Mu()) {
DaoHam();
Nhap();
Xuat();
}
36
}
Ví dụ 2 : vẽ sơ đồ luồng dữ liệu
ax + b ≥ 0, với a ≠ 0
Xét chức năng giải bất phương trình bậc nhất có dạng
37
Hãy vẽ sơ đồ luồng dữ liệu
Ví dụ 2
D1: Các hệ a, b của bất phương trình
Sơ đồ luồng dữ liệu
D2: Nghiệm của bất phương trình
Người dùng
D1
D2
thuộc một trong hai dạng sau: Dạng 1: (-∞, x0], Dạng 2: [x0, +∞)
Xử lý:
Giải bất phương trình
Nhập và kiểm tra D1, a ≠ 0 Tính D2 theo qui tắc:
a>0: nghiệm thuộc dạng 2 a<0: nghiệm thuộc dạng 1 Với x0 = -b/a
Xuất D2
38
VD3 : vẽ sơ đồ luồng dữ liệu + xử lý
ax² + bx + c = 0, với a ≠ 0
Xét chức năng giải phương trình bậc hai:
39
Hãy vẽ sơ đồ luồng dữ liệu
Ví dụ 3
Sơ đồ luồng dữ liệu
D1: Các hệ a, b, c của tam thức bậc 2
Người dùng
P(x) = ax² + bx + c
D1
D2
D2: Nghiệm của phương trình P(x) = 0
thuộc một trong ba loại sau:
Giải phương Trình bậc 2
Vô nghiệm
Nghiệm kép x1 = x2
Hai nghiệm phân biệt x1 và x2
40
Ví dụ 3
Xử lý:
Người dùng
Nhập và kiểm tra D1 ( a ≠ 0 )
D1
D2
Tính D2 theo các bước:
Δ = b² - 4ac
Giải phương Trình bậc 2
Nếu Δ < 0 : nghiệm loại 1
Nếu Δ = 0 : nghiệm loại 2, với x1=x2=-b/2a
Nếu Δ > 0 : nghiệm loại 3, với x1 =
x2 =
Xuất D2
41
PHÂN LOẠI CÁC SƠ ĐỒ
Sơ đồ lưu trữ
Sơ đồ tra cứu
Sơ đồ tính toán
Sơ đồ báo biểu
42
Có 4 loại sơ đồ luồng dữ liệu
Sơ đồ tổng quát cho Yêu cầu lưu trữ
D1: Thông tin cần lưu trữ (dựa vào biểu
mẫu liên quan)
D5: Thông tin cần lưu trữ (chỉ có trong
Người dùng
một số yêu cầu đặc biệt)
D1
D2
D3:
D5
Thiết bị nhập
Xử lý LT
Thiết bị xuất
Các danh mục để chọn lựa Dữ liệu cần thiết cho việc kiểm tra tính
D6
hợp lệ (dựa vào quy định)
D2:
D3
D4
Các danh mục để chọn lựa Kết quả thành công/thất bại
D4: Dữ liệu được lưu trữ (dựa vào biểu
mẫu). Ghi chú: Thông thường
D4 = D1 (+ D5) (+ ID tự phát sinh)
D6: Dữ liệu kết xuất (chỉ có trong một số
yêu cầu đặc biệt)
43
Sơ đồ tổng quát cho Yêu cầu lưu trữ
Xử lý lưu trữ
Đọc D3 để lấy các tham số,
Người dùng
quy định và danh mục
D1
D2
Hiển thị D2 (các danh mục)
D5
Nhận thông tin D1, D5 (nếu
Thiết bị nhập
Xử lý LT
Thiết bị xuất
D6
cần)
D3
D4
Kiểm tra các thông tin D1, D5 có thỏa quy định liên quan hay không (dựa vào D3 nếu cần thiết)
Nếu thỏa quy định, ghi D4, thông báo kết quả D2 (nếu cần) và xuất D6 (nếu cần thiết)
44
Sơ đồ tổng quát cho Yêu cầu lưu trữ
Ghi chú:
Người dùng
D1
D2
D1 không nhất thiết chứa toàn bộ thông tin trong biểu mẫu liên quan
D5
Tùy theo quy định có thể có
Thiết bị nhập
Xử lý LT
Thiết bị xuất
D6
hay không có D5
D3
D4
D4 hoặc D6 không nhất thiết phải trùng với D1 hoặc D5
D2 không nhất thiết phải trùng
với D3
45
Sơ đồ tổng quát cho Yêu cầu tra cứu
D1: Thông tin về đối tượng muốn tìm kiếm (dựa vào biểu mẫu liên quan đến đối tượng cần tìm kiếm)
D5: Thông tin về đối tượng muốn tìm kiếm (chỉ
Người dùng
có trong một số yêu cầu đặc biệt)
D3:
D1
D2
D5
Thiết bị nhập
Xử lý TC
Thiết bị xuất
D6
Các danh mục để chọn lựa Dữ liệu về đối tượng khi tìm thấy (dựa vào biểu mẫu liên quan đến đối tượng cần tìm kiếm)
D2:
D3
D4
Các danh mục để chọn lựa Kết quả thông tin về đối tượng cần tìm D6: Dữ liệu kết xuất (thông thường là cần thiết) D4: Dữ liệu cần lưu trữ lại
Thông thường không cần thiết Cần thiết khi nào???
46
Sơ đồ tổng quát cho Yêu cầu tra cứu
Xử lý tra cứu
Đọc để lấy các danh mục (D3)
Người dùng
Hiển thị D2 (các danh mục)
D1
D2
Nhận thông tin về tiêu chí tìm
D5
Thiết bị nhập
kiếm D1, D5 (nếu cần)
Xử lý TC
Thiết bị xuất
D6
D3
D4
Tìm kiếm theo các tiêu chí D1, D5, nhận được danh sách các đối tượng tìm được (D3)
Hiển thị thông tin kết quả (D2)
và kết xuất D6 (nếu cần)
47
Sơ đồ tổng quát cho Yêu cầu tra cứu
Ghi chú:
Người dùng
Có rất nhiều mức độ khác nhau từ rất đơn giản đến rất phức tạp để xác định D1
D1
D2
D5
Thiết bị nhập
Xử lý TC
Thiết bị xuất
D1 chứa nhiều thông tin thì việc tìm kiếm sẽ dễ dàng cho người dùng và ngược lại sẽ khó khăn cho phần thiết kế và cài đặt chức năng này
D6
D3
D4
D3 thông thường là danh sách các đối tượng tìm thấy cùng với thông tin liên quan.
D3 cũng có rất nhiều mức độ khác nhau để xác định các thông tin của đối tượng tìm thấy
D2 và D6 thường trùng với D3 (nhưng
không nhất thiết)
48
Sơ đồ tổng quát cho Yêu cầu tính toán
D1: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (dựa vào các biểu mẫu liên quan)
Người dùng
D5: Thông tin về đối tượng cần thực hiện việc xử lý tính toán (chỉ có trong một số yêu cầu đặc biệt)
D3:
D1
D2
D5
Thiết bị nhập
Xử lý TT
Thiết bị xuất
Dữ liệu cần thiết cho việc xử lý tính toán (dựa vào biểu mẫu và quy định liên quan)
D6
Các tham số tính toán
D4: Kết quả của xử lý tính toán
D3
D4
D2: Kết quả của xử lý tính toán (thường gồm cả
D3 và D4)
D6: Dữ liệu kết xuất (thường gồm cả D3 và D4)
49
Sơ đồ tổng quát cho Yêu cầu tính toán
Xử lý tính toán
Nhận thông tin D1, D5 (nếu
cần)
Người dùng
D1
D2
Đọc D3 để lấy các dữ liệu cần thiết cho việc tính toán (kể cả các tham số)
D5
Thiết bị nhập
Xử lý TT
Thiết bị xuất
D6
Sử dụng D1, D3, D5 và quy định liên quan để tính kết quả D4
D3
D4
Ghi kết quả D4
Hiển thị thông tin kết quả D2 và
kết xuất D6
50
Sơ đồ tổng quát cho Yêu cầu tính toán
Ghi chú:
D1 thường có chứa yếu tố thời gian
thực hiện xử lý tính toán
Người dùng
D1
D2
Có nhiều mức độ khác nhau xác định D1 trong xử lý tính toán (để tăng tính tiện dụng)
D5
Thiết bị nhập
Xử lý TT
Thiết bị xuất
D6
D3
D4
D1 có thể rỗng (tính toán cho mọi đối tượng trong tất cả cột mốc thời gian liên quan)
D4 có thể có hay không có
=> Khi nào cần D4?
Thông thường D2 và D6 bao gồm
D3 và D4
51
Sơ đồ tổng quát cho Yêu cầu báo biểu
Người dùng
D1: Thông tin về báo biểu muốn thực hiện (dựa vào biểu mẫu liên quan) D5: Thông tin về báo biểu muốn thực hiện (chỉ có trong một số yêu cầu đặc biệt)
D1
D2
D5
Thiết bị nhập
Xử lý BB
Thiết bị xuất
D3: Dữ liệu cần thiết cho việc thực hiện báo biểu (dựa vào biểu mẫu và quy định liên quan)
D6
D3
D4
D4: Thông tin có trong báo biểu liên quan (cần thiết phải lưu lại) nhưng chưa được xử lý và ghi nhận lại (yêu cầu xử lý tính toán)
D2: Thông tin về báo biểu được lập
(biểu mẫu liên quan)
D6: Dữ liệu kết xuất (thường giống D2)
52
Sơ đồ tổng quát cho Yêu cầu báo biểu
Nhận thông tin D1, D5 (nếu
Xử lý báo biểu
Người dùng
cần)
D1
D2
D5
Thiết bị nhập
Xử lý BB
Thiết bị xuất
D6
Đọc D3 để lấy các dữ liệu cần thiết cho việc lập báo biểu
D3
D4
Nếu có D4 thì tính toán theo quy định và Ghi kết quả D4
Hiển thị thông tin báo biểu
53
D2 và kết xuất D6
Sơ đồ tổng quát cho Yêu cầu báo biểu
D1 thường có chứa yếu tố
Ghi chú:
thời gian của báo biểu
Người dùng
D1
D2
D5
Thiết bị nhập
Xử lý BB
Thiết bị xuất
D6
Có nhiều mức độ khác nhau xác định D1 trong xử lý tính toán (để tăng tính tiện dụng)
D3
D4
D4 có thể có hay không có
Thông thường D2 và D6
=> Khi nào cần D4?
54
bao gồm D3 và D4
Ví dụ 4
55
Xét phần mềm quản lý thư viện, hãy lập sơ đồ luồng dữ liệu cho yêu cầu Lập thẻ độc giả (sơ đồ lưu trữ, sơ đồ tính toán, sơ đồ tra cứu, sơ đồ báo biểu)
Sơ đồ tổng quát cho Yêu cầu lưu trữ
loaiDG,
D1: Hoten, ngaysinh, diachi, email, ngaylapthe, nguoilap.
Người dùng
D5: không có D3:
D1
D2
D5
Danh mục LoaiDG Tuổi từ 18-55, thẻ có giá trị 6 tháng
Thiết bị nhập
Xử lý LT
Thiết bị xuất
D6
D2:
D3
D4
Danh mục LoaiDG Thông báo lưu thành công / thất bại
loaiDG,
D4: Hoten, ngaysinh, diachi, email, ngaylapthe, nguoilap D6: in biên nhận (hoặc thẻ)
56
Sơ đồ tổng quát cho Yêu cầu lưu trữ
Xử lý lưu trữ
Đọc D3 để lấy các quy định tuổi
Người dùng
từ 18-55, giá trị thẻ là 6 tháng
D1
D2
Hiển thị Danh mục loại Độc giả
D5
Thiết bị nhập
Xử lý LT
Thiết bị xuất
D6
Nhận thông tin: Hoten, ngaysinh, diachi, loaiDG, email, ngaylapthe, nguoilap
D3
D4
Kiểm tra các thông tin hợp lệ: tuổi từ 18-55, Loại DG chỉ là X/Y, giá trị thẻ trong 6 tháng
Nếu thỏa quy định, ghi các thông tin hợp lệ , thông báo kết quả thành công và xuất biên nhận
57
Sơ đồ tổng quát cho Yêu cầu tra cứu
D1: Thông tin về đối tượng muốn tìm kiếm: họ tên, Loại DG, độ tuổi, ngày hết hạn thẻ,…
Người dùng
D3:
D1
D2
Danh mục độc giả Dữ liệu về đối tượng cần tìm : qui đinh
D5
Thiết bị nhập
Xử lý TC
Thiết bị xuất
tuổi 18-55, giá trị thẻ 6 tháng
D6
D2:
D3
D4
Danh mục độc giả Dữ liệu về đối tượng khi tìm thấy : họ tên, Loại DG, ngày sinh, email, ngày lập thẻ,…
D6: In các thông tin tìm được D4: không lưu trữ thông tin
58
Sơ đồ tổng quát cho Yêu cầu tra cứu
Xử lý tra cứu
Đọc để lấy các danh mục độc giả
Người dùng
Hiển thị danh mục độc giả
D1
D2
D5
Thiết bị nhập
Xử lý TC
Thiết bị xuất
D6
Nhận thông tin về tiêu chí tìm kiếm như họ tên, loại DG, độ tuổi, ngày hết hạn,…
D3
D4
Tìm kiếm theo các tiêu chí trên, trả về danh sách các đối tượng tìm được (D3)
Hiển thị thông tin kết quả : tìm được hoặc không tìm được và in thông tin tìm được
59
Sơ đồ tổng quát cho Yêu cầu tính toán
D1: Tính tuổi độc giả, ngày hết hạn
thẻ
D5, D6 : Không có
Người dùng
D3:
D1
D2
D5
Thiết bị nhập
Xử lý TT
Thiết bị xuất
Ngày sinh, ngày lập thẻ, quy định về tuổi tối thiểu, tối đa và thời hạn thẻ là 6 tháng
D6
D4: Kết quả của xử lý tính toán
D3
D4
D2: Kết quả Độc giả hợp lệ và ngày
60
hết hạn thẻ hoặc không hợp lệ.
Sơ đồ tổng quát cho Yêu cầu tính toán
Nhận thông tin tính tuổi và
Xử lý tính toán
ngày hết hạn
Người dùng
D1
D2
D5
Thiết bị nhập
Xử lý TT
Thiết bị xuất
Đọc thông tin ngày sinh, ngày lập thẻ, quy định về tuổi tối thiểu, tối đa và thời hạn thẻ
D6
D3
D4
Tính được tuổi độc giả, ngày hết hạn thẻ =>độc giả có hợp lệ?? Lưu nếu hợp lệ
Hiển thị thông tin kết quả độc giả hợp lệ hay không hợp lệ
61
Sơ đồ tổng quát cho Yêu cầu báo biểu
D1: Báo cáo số lượng độc giả đăng ký trong ngày, tuần, tháng; Loại độc giả; theo tuổi,…
Người dùng
D3: Thông tin về độc giả hợp lệ
D1
D2
được lưu trữ
D5
D4: Lưu báo cáo loại độc giả, số
Thiết bị nhập
Xử lý BB
Thiết bị xuất
D6
lượng DG, …
D3
D4
tuần/tháng/năm,
theo giả độc giả, tuổi,…
D2: Thông tin về báo biểu độc loại
62
D6: In báo biểu nếu cần
Sơ đồ tổng quát cho Yêu cầu báo biểu
Xử lý báo biểu
Người dùng
Nhận thông tin về báo biểu cần lập (lượng DG theo thời gian, loại DG, tuổi,..)
D1
D2
Lấy thông tin về độc giả hợp
D5
Thiết bị nhập
Xử lý BB
Thiết bị xuất
D6
Thực hiện thống kê
lệ được lưu trong CSDL
D3
D4
Lưu thông tin báo biểu nếu
In báo biểu báo cáo
63
cần
Bài tập
hồ sơ học sinh
1. Xét phần mềm quản lý học sinh với nghiệp vụ tiếp nhận
64
Hãy lập sơ đồ luồng dữ liệu
Bài tập
phiếu thu tiền của khách hàng
2. Xét phần mềm quản lý bán hàng với nghiệp vụ lập
65
Hãy lập sơ đồ luồng dữ liệu
Bài tập
nhận hồ sơ đại lý
3. Xét phần mềm quản lý các đại lý với nghiệp vụ tiếp
66
Hãy lập sơ đồ luồng dữ liệu
67

