Nội dung chính
1. Sơ đồ phân rã chức năng (Functional
Decomposition Diagram - FDD)
2. Sơ đồ luồng dữ liệu (Data Flow Diagram -
DFD)
3. Từ điển dữ liệu (Data Dictionary)
4. Đặc tả quá trình và quyết định có cấu trúc
152 trang |
Chia sẻ: phuongt97 | Lượt xem: 512 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng môn Phân tích thiết kế hệ thống thông tin - Chương 3: Phân tích hệ thống hướng cấu trúc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ác những gì được thực hiện
Xác nhận tính hợp lệ của thiết kế hệ thống
120
Nguyễn Hoàng Ân - Khoa HTTTQL
Các quá trình không đặc tả
Quá trình đại diện cho đầu vào và/hoặc đầu
ra vật lý
Quá trình đại diện cho việc xác nhận dữ liệu
đơn giản
Quá trình sử dụng mã đã được viết trước
(prewritten) như chương trình con
121
Nguyễn Hoàng Ân - Khoa HTTTQL
Đặc tả quá trình liên quan đến sơ đồ
luồng dữ liệu như thế nào
122
Nguyễn Hoàng Ân - Khoa HTTTQL
Thông tin đặc tả quá trình
Mã số của quá trình (process number)
Tên quá trình (process name)
Mô tả những gì quá trình thực hiện
Danh sách các luồng dữ liệu đầu vào
Các luồng dữ liệu đầu ra
Kiểu quá trình
Sử dụng mã lệnh (prewritten)
Mô tả luận lý của quá trình
Phương pháp luận lý tham khảo
Chỉ ra bất kỳ vấn đề gì chưa được giải quyết
123
Nguyễn Hoàng Ân - Khoa HTTTQL
124
Nguyễn Hoàng Ân - Khoa HTTTQL
Process Specification Form
Number:1.3
Name: Determine Quantity Available
Description: Determine if an item is available for sale. If it is not available,
create a
backordered item record. Determine the quantity available.
Input Data Flow
Valid item from Process1.2
Quantity on Hand from Item Record
Output Data Flow
Available item (Item Number + Quantity Sold) to Processes 1.4 & 1.5
Backordered Item to Inventory Control
Type of Process
Online† Batch† Manual
Subprogram / Function Name
Process Logic:
IF the Order Item Quantity is greater than Quantity on Hand
Then Move Order Item Quantity to Available Item Quantity
Move Order Item Number to Available Item Number
ELSE
Subtract Quantity On Hand from OrderItem Quantity
giving Quantity Backordered
ENDIF
Refer to:
Name:______________________________________________________
Structured English† Decision Table† Decision Tree
Unresolved Issues: Should the amount that is on order for this item be taken
into account? Would this, combined with the expected arrival date of goods on
order, change how the quantity available is calculated?
Mã số của quá trình
Phải phù hợp với ID của quá trình trên sơ đồ
luồng dữ liệu
Cho phép các nhà phân tích làm việc hoặc
xem lại bất kỳ quá trình nào, và để xác định
vị trí sơ đồ luồng dữ liệu có chứa quá trình
một cách dễ dàng
125
Nguyễn Hoàng Ân - Khoa HTTTQL
Tên quá trình
Giống như tên được hiển thị trong ký hiệu
quá trình trên DFD
126
Nguyễn Hoàng Ân - Khoa HTTTQL
Mô tả những gì quá trình thực
hiện
Ví dụ:
Xác định nếu một sản phẩm có sẵn để bán. Nếu nó không
có sẵn, tạo ra một bản ghi các mặt hàng được đặt trước
(backordered). Xác định số lượng có sẵn.
(Determine if an item is available for sale. If it is not
available, create a backordered item record. Determine the
quantity available.)
127
Nguyễn Hoàng Ân - Khoa HTTTQL
Danh sách các luồng dữ liệu
đầu vào và ra
Sử dụng tên được tìm thấy trong sơ đồ
luồng dữ liệu và từ điển dữ liệu
Các tên dữ liệu được sử dụng trong các công
thức hoặc luận lý nên phù hợp với từ điển
dữ liệu để tương thích và trao đổi dễ dàng
128
Nguyễn Hoàng Ân - Khoa HTTTQL
Kiểu quá trình
Theo lô (Batch)
Trực tuyến (Online)
Yêu cầu thiết kế màn hình
Thủ công (Manual)
Cần phải có các thủ tục được định nghĩa tốt
để nhân viên thực hiện các nhiệm vụ của quá
trình
129
Nguyễn Hoàng Ân - Khoa HTTTQL
Sử dụng mã lệnh (Prewritten)
Bao gồm tên của chương trình con
(subprogram) hoặc hàm (function) có chứa mã
130
Nguyễn Hoàng Ân - Khoa HTTTQL
Mô tả luận lý của quá trình
Nội dung này nên nêu rõ chính sách và qui
tắc nghiệp vụ, không phải mã giả của ngôn
ngữ máy
Các quy tắc nghiệp vụ là thủ tục cho phép
một công ty vận hành các nghiệp vụ của
mình
131
Nguyễn Hoàng Ân - Khoa HTTTQL
Các định dạng quy tắc nghiệp
vụ phổ biến
Định nghĩa các thuật ngữ nghiệp vụ
Điều kiện và hành động của nghiệp vụ
Các ràng buộc toàn vẹn dữ liệu
Các dẫn xuất về toán học và chức năng
Những suy luận luận lý
Trình tự xử lý
Mối quan hệ giữa các sự kiện về nghiệp vụ
132
Nguyễn Hoàng Ân - Khoa HTTTQL
Phương pháp luận lý tham khảo
Cần chỉ ra nơi cần tham khảo thêm nếu trên
bảng đặc tả không có đủ chỗ để mô tả đầy đủ
bằng tiếng Anh có cấu trúc, bao gồm tham
khảo đến mô tả tiếng Anh có cấu trúc, bảng
quyết định, hoặc cây quyết định mô tả luận lý
133
Nguyễn Hoàng Ân - Khoa HTTTQL
Chỉ ra bất kỳ vấn đề nào chưa
được giải quyết
Các phần không đầy đủ về mặt luận lý
Những vấn đề này là cơ sở để hình thành
nên những câu hỏi được sử dụng sau này
trong các cuộc phỏng vấn với người sử dụng
hoặc các chuyên gia nghiệp vụ được bổ
sung thêm vào nhóm dự án
134
Nguyễn Hoàng Ân - Khoa HTTTQL
Cân bằng ngang (horizontal
balancing)
Cân bằng ngang: tất cả các phần tử luồng
dữ liệu ra phải dựa vào luồng dữ liệu vào
hoặc được đặc tả trong luận lý của quá trình
Cân bằng ngang dùng để kiểm tra mỗi quá
trình có các mục từ trong từ điển dữ liệu,
các công thức hoặc cách tính để tạo luồng
dữ liệu ra
Nguyễn Hoàng Ân - Khoa HTTTQL
135
Các quy tắc cân bằng ngang
Tất cả các phần tử cơ bản trên một luồng dữ
liệu ra phải có trong luồng dữ liệu vào
Tất cả các phần tử dẫn xuất của luồng dữ
liệu ra phải:
Có trong luồng dữ liệu vào, hoặc
Được tạo ra bởi quá trình
136
Nguyễn Hoàng Ân - Khoa HTTTQL
Tiếng Anh có cấu trúc
(Structured English)
Được sử dụng khi quá trình luận lý liên quan
đến các công thức hoặc lặp đi lặp lại, hoặc
khi quyết định có cấu trúc không phức tạp
Dựa trên luận lý có cấu trúc và các câu lệnh
tiếng Anh đơn giản như thêm/cộng (add),
nhân (multiply) , và di chuyển (move)
137
Nguyễn Hoàng Ân - Khoa HTTTQL
Viết tiếng Anh có cấu trúc
Tất cả các biểu thức luận lý sử dụng: cấu trúc
tuần tự, cấu trúc quyết định, các cấu trúc chọn,
hoặc lặp
Sử dụng các từ khóa được chấp nhận như IF,
THEN, ELSE, DO, và PERFORM
Sử dụng dạng thụt đầu hàng một khối lệnh để
cho thấy sự phân cấp (lồng nhau) của các câu
lệnh rõ ràng
Gạch dưới các từ hoặc cụm từ đã được định
nghĩa trong từ điển dữ liệu
Làm rõ các câu lệnh luận lý
138
Nguyễn Hoàng Ân - Khoa HTTTQL
Ví dụ về luận lý được thể hiện trong cấu trúc tuần
tự, cấu trúc quyết định, cấu trúc chọn, và lặp
139
Nguyễn Hoàng Ân - Khoa HTTTQL
Nguyễn Hoàng Ân - Khoa HTTTQL
140
GET Order Record
GET Customer Record
Move Order Number to Shipping Statement
Move Order Date to Shipping Statement
Move Customer Number to Shipping Statement
DO format Customer Name (leave only one space between First/Middle/Last)
DO format Customer Address lines
DO WHILE there are items for the order
GET Item Record
DO Format Item Line
Multiply Unit Price by Quantity Ordered giving Extended Amount
Move Extended Amount to Order Item Lines
Add Extended Amount to Merchandise Total
IF Quantity Backordered is greater than zero
Move Quantity Backordered to Order Item Lines
ENDIF
ENDDO
Move Merchandise Total to Shipping Statement
Move 0 to Tax
IF State is equal to CT
Multiply Merchandise Total by Tax Rate giving Tax
ENDIF
Move Tax to Shipping Statement
DO calculate Shipping and Handling
Move Shipping and Handling to Shipping Statement
Add Merchandise Total, Tax, and Shipping and Handling giving Order Total
Move Order Total to Shipping Statement
Format the Shipping
Statement
Ưu điểm của tiếng Anh có cấu
trúc
Làm rõ luận lý và các mối quan hệ có trong
ngôn ngữ của con người
Là một công cụ giao tiếp hiệu quả, nó có thể
được dùng để truyền đạt và được hiểu bởi
người dùng trong tổ chức
Nguyễn Hoàng Ân - Khoa HTTTQL
141
Từ điển dữ liệu và đặc tả quá
trình
Từ điển dữ liệu là điểm bắt đầu cho việc tạo
ra tiếng Anh có cấu trúc:
Tuần tự một trình tự đơn giản của các câu
lệnh MOVE, ADD, và SUBTRACT
Tùy chọn [|] câu lệnh IF ... THEN ELSE
Các mục lặp {} các phát biểu DO WHILE,
DO UNTIL, hoặc PERFORM UNTIL
Nguyễn Hoàng Ân - Khoa HTTTQL
142
Bảng quyết định (Decision
Tables)
Một bảng gồm các hàng và cột, chia thành 4
phần:
Góc trên bên trái mô tả các điều kiện (condition)
Góc trên bên phải là các giá trị chọn lựa cho các
điều kiện (Condition alternatives)
Góc dưới bên trái là các tác vụ (action)
Góc dưới bên phải là các chọn lựa tác vụ
Nguyễn Hoàng Ân - Khoa HTTTQL
143
Định dạng tiêu chuẩn cho một bảng
quyết định
144
Nguyễn Hoàng Ân - Khoa HTTTQL
Xây dựng một bảng quyết định để quyết định
xem danh mục nào gửi đến khách hàng
145
Nguyễn Hoàng Ân - Khoa HTTTQL
Phát triển bảng quyết định
1. Xác định các điều kiện ảnh hưởng đến quyết định
2. Xác định các tác vụ có thể có
3. Xác định các giá trị chọn lựa cho mỗi điều kiện
4. Tính toán số lượng tối đa các cột trong bảng quyết
định
5. Điền các giá trị chọn lựa cho mỗi điều kiện
6. Hoàn thành bảng bằng cách chèn một ký hiệu X
vào tác vụ đề nghị cho mỗi quy tắc
7. Kết hợp các quy tắc hiển nhiên
8. Kiểm tra các tình huống không thể có
9. Sắp xếp lại bảng cho dễ hiểu hơn
Nguyễn Hoàng Ân - Khoa HTTTQL
146
Kiểm tra tính đầy đủ và chính
xác
Bốn vấn đề chính:
Sự không toàn vẹn (Incompleteness)
Các tình huống không thể có (Impossible
situations)
Các mâu thuẫn (Contradictions)
Sự dư thừa (Redundancy)
Nguyễn Hoàng Ân - Khoa HTTTQL
147
Nguyễn Hoàng Ân - Khoa HTTTQL
148
Kiểm tra mâu thuẫn và dư thừa trong
bảng quyết định
Nguyễn Hoàng Ân - Khoa HTTTQL
149
Nguyễn Hoàng Ân - Khoa HTTTQL
150
Bảng quyết định nâng cao
Vì số lượng các giá trị lựa chọn và điều kiện
làm gia tăng số lượng cột
Ví dụ: Một bảng với bảy điều kiện có hai giá trị
lựa chọn sẽ cần 128 cột
Để giảm số lượng các cột
Sử dụng các mục mở rộng
Sử dụng quy tắc ELSE
Xây dựng nhiều bảng
151
Nguyễn Hoàng Ân - Khoa HTTTQL
Ưu điểm của bảng quyết định
Giúp nhà phân tích đảm bảo sự đầy đủ
Dễ dàng để kiểm tra các lỗi có thể có
Các tình huống bất không thể có
Các mâu thuẫn
Dư thừa
152
Nguyễn Hoàng Ân - Khoa HTTTQL
Cây quyết định (Decision Trees)
Cây quyết định được sử dụng khi sự phân
nhánh phức tạp xảy ra trong một quá trình
ra quyết định có cấu trúc
Rất hữu ích trong việc lưu giữ lại chuỗi các
quyết định theo một trình tự cụ thể
Nguyễn Hoàng Ân - Khoa HTTTQL
153
Vẽ cây quyết định
Xác định tất cả các điều kiện và tác vụ cùng
với thứ tự và thời gian của chúng
(nếu điều này là quan trọng)
Bắt đầu xây dựng cây từ trái sang phải, hãy
chắc chắn rằng đã liệt kê tất cả các lựa chọn
thay thế có thể có trước khi chuyển sang
bên phải
Nguyễn Hoàng Ân - Khoa HTTTQL
154
Vẽ một cây quyết định để hiển thị các hành động
phê duyệt mua hàng không dùng tiền mặt
cho một cửa hàng bách hóa
Nguyễn Hoàng Ân - Khoa HTTTQL
155
Nguyễn Hoàng Ân - Khoa HTTTQL
156
Ưu điểm của cây quyết định
Trình tự kiểm tra các điều kiện và tác vụ
thực hiện được nhận thấy ngay lập tức
Điều kiện và hành động của cây quyết định
được tìm thấy trên một số nhánh nhưng
không có trên những nhánh khác
So với các bảng quyết định, cây quyết định
dễ hiểu hơn đối với những người khác trong
tổ chức
157
Nguyễn Hoàng Ân - Khoa HTTTQL
Lựa chọn kỹ thuật phân tích
quyết định có cấu trúc
Sử dụng tiếng Anh có cấu trúc khi có nhiều hành
động lặp đi lặp lại hoặc khi việc giao tiếp với người
dùng cuối là quan trọng
Sử dụng các bảng quyết định khi có sự kết hợp
phức tạp của điều kiện, hành động, và các quy tắc
hoặc có yêu cầu về một phương pháp hiệu quả
tránh các tình huống không thể có, dư thừa và mâu
thuẫn
Sử dụng cây quyết định khi trình tự các điều kiện và
hành động là rất quan trọng hoặc khi không phải tất
cả các điều kiện điều liên quan đến mọi hành động
(các nhánh khác nhau)
Nguyễn Hoàng Ân - Khoa HTTTQL
158
Hỏi đáp
159
Nguyễn Hoàng Ân - Khoa HTTTQL
Nguyễn Hoàng Ân - Khoa HTTTQL
160
Conditions and Actions 1 2 3 4 5 6 7
Reserves a subcompact Y Y Y N Y N N
Do not have one for customer Y Y Y N Y N N
Company has account Y Y N Y N Y N
Frequent flier membership Y N Y N N Y N
Get a free upgrade X X X X X X
Get a discount X X X
Nguyễn Hoàng Ân - Khoa HTTTQL
161
Conditions and Actions 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Book over the Internet Y Y Y Y Y Y Y N N N N N N N
Reserves a subcompact Y Y Y N Y N N Y Y Y N Y N N
Do not have one for customer Y Y Y N Y N N Y Y Y N Y N N
Company has account Y Y N Y N Y N Y Y N Y N Y N
Frequent flier membership Y N Y N N Y N Y N Y N N Y N
Get a free upgrade X X X X X X X X X X X X
Get a discount X X X X X X
Receive a 10 percent discount X X X X X X X
Nguyễn Hoàng Ân - Khoa HTTTQL
162
Nguyễn Hoàng Ân - Khoa HTTTQL
163
Conditions and Actions 1 2 3 4 5 6 7
Sufficient quantity on hand Y Y Y Y Y Y N
Quantity large enough for discount Y Y Y N N N
Wholesale customer Y Y N Y Y N
Sales tax exemption filed Y N Y N
Ship items and prepare invoice X X X X X X
Set up backorder X
Deduct discount X X
Add sales tax X X X X
Nguyễn Hoàng Ân - Khoa HTTTQL
164
Các file đính kèm theo tài liệu này:
- bai_giang_mon_phan_tich_thiet_ke_he_thong_thong_tin_chuong_3.pdf