Tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 3: Phân tích hệ thống hướng cấu trúc: Phân Tích Thiết Kế
Hệ Thống Thông
Tin
Phân tích hệ thống hướng
cấu trúc
1
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
2
Tài liệu tham khảo
[01] Kendall and Kendall, “System Analysis
and Design”, 8th Edition, Prentice Hall, 2011.
• Chapter 7, 8, 9
3
Sơ đồ phân rã chức
năng
4
Phân rã chức năng là gì?
Phân rã là quá trình bắt đầu ở một mức độ cao và
phân chia các thực thể thành nhỏ hơn và các bộ
phận nhỏ hơn có liên quan.
Phân rã chức năng là một kỹ thuật phân tích nghiệp
vụ để phá vỡ một "hoạt động nghiệp vụ” (business
operation) vào các thành phần chức năng.
Sơ đồ phân rã chức năng (FDD) cho thấy một tổ
chức thứ bậc của các chức năng nghiệp vụ bao gồm
các hoạt động nghiệp vụ. Nó không hiển thị chuỗi
các sự kiện.
FDD là khác biệt với một sơ đồ l...
152 trang |
Chia sẻ: honghanh66 | Lượt xem: 5040 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Bài giảng Phân tích thiết kế hệ thống thông tin - Bài 3: Phân tích hệ thống hướng cấu trúc, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Phân Tích Thiết Kế
Hệ Thống Thông
Tin
Phân tích hệ thống hướng
cấu trúc
1
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
2
Tài liệu tham khảo
[01] Kendall and Kendall, “System Analysis
and Design”, 8th Edition, Prentice Hall, 2011.
• Chapter 7, 8, 9
3
Sơ đồ phân rã chức
năng
4
Phân rã chức năng là gì?
Phân rã là quá trình bắt đầu ở một mức độ cao và
phân chia các thực thể thành nhỏ hơn và các bộ
phận nhỏ hơn có liên quan.
Phân rã chức năng là một kỹ thuật phân tích nghiệp
vụ để phá vỡ một "hoạt động nghiệp vụ” (business
operation) vào các thành phần chức năng.
Sơ đồ phân rã chức năng (FDD) cho thấy một tổ
chức thứ bậc của các chức năng nghiệp vụ bao gồm
các hoạt động nghiệp vụ. Nó không hiển thị chuỗi
các sự kiện.
FDD là khác biệt với một sơ đồ luồng xử lý (PFD -
process flow diagram), trong đó cho thấy trình tự
của các sự kiện của một hoạt động nghiệp vụ hoặc
chức năng. 5
Tại sao sử dụng phân rã chức
năng?
Mục đích chính của sự phân rã chức năng là để phá vỡ hoạt
động kinh doanh hoặc chức năng lớn hoặc phức tạp thành nhỏ
hơn và những phần dễ quản lý hơn. Vì vậy, tạo điều kiện cho
sự hiểu biết về hoạt động nghiệp vụ hoặc chức năng và do đó
là một công cụ hữu ích trong việc tiến hành phân tích và thiết
kế.
Phân rã chức năng được sử dụng trong việc xác định các yêu
cầu chức năng của một giải pháp và trong việc xác định những
điều này trong tài liệu các yêu cầu chức năng
Một chức năng lớn hoặc phức tạp dễ hiểu hơn khi được chia
nhỏ bằng cách sử dụng phân rã chức năng.
Phân rã chức năng có thể được sử dụng để chia nhỏ hoạt
động nghiệp vụ lớn hay phức tạp thành các thành phần nhỏ
hơn trước khi phát triển các sơ đồ luồng xử lý.
6
Khi nào sử dụng phân rã chức
năng?
Phân rã chức năng được sử dụng phổ biến
nhất trong giai đoạn phân tích của một dự
án để tạo ra các sơ đồ phân rã chức năng
như là một phần của tài liệu các yêu cầu
chức năng.
Nó cũng có thể được sử dụng trong các giai
đoạn lập kế hoạch, phân tích và thiết kế của
một dự án để giúp làm rõ hoạt động nghiệp
vụ
7
Làm thế nào để thực hiện phân
rã chức năng?
Tổ chức một cuộc họp với các chuyên gia, những người quản
lý và làm việc với những hoạt động nghiệp vụ.
Xác định và đặt tên cho hoạt động nghiệp vụ được phân rã
Đối với mỗi hoạt động nghiệp vụ, bắt đầu từ cấp cao nhất và
hỏi: “Hoạt động nghiệp vụ này bao gồm những gì?”.
Vẽ các thành phần ở cấp độ đầu tiên.
Phân rã các thành phần cấp độ đầu tiên với chức năng của
mình và tiếp tục phân rã đến mức thấp hơn cho đến khi đạt
được đủ mức độ chi tiết.
Vẽ bằng tay phân rã chức năng ban đầu trước các chuyên gia,
để họ xác nhận các thành phần.
Hỏi các câu hỏi để xác định mục đích của từng chức năng và
ghi lại thông tin này.
8
Làm thế nào để thực hiện phân
rã chức năng?
Kiểm tra cho sự đầy đủ:
Toàn bộ hoạt động nghiệp vụ đại diện?
Có phải tất cả các thành phần được hiển thị?
Các kết nối giữa các thành phần chính xác
không?
Tinh chỉnh là cần thiết.
Xem xét với các chuyên gia
Làm một kết thúc để kết thúc việc đi qua các
hoạt động nghiệp vụ, kiểm tra từng chức năng
để xác nhận rằng nó là chính xác.
Hãy hỏi nếu có bất kỳ lĩnh vực khác của hoạt
động nghiệp vụ đã không được bao gồm.
9
13
Course
Administration
Course
Enrolment
Course
Attendance
Course
Completion
Course
Assessment
Course
Certification
Course
Application
Course
Payment
Mức độ nào để phân rã chức
năng?
Sơ đồ phân rã chức năng có thể có nhiều
cấp độ của các chức năng được chia thành
các thay đổi từ từ tốt hơn.
Số lượng các mức độ mà phân rã được thực
hiện sẽ phụ thuộc vào kích thước của các
hoạt động chức năng hoặc nghiệp vụ ban
đầu được phân tích, mức độ định nghĩa yêu
cầu và mức độ thấp nhất của phân rã có ý
nghĩa.
14
Sơ đồ luồng dữ liệu
16
Sơ đồ luồng dữ liệu
(DFD - Data Flow Diagrams)
Mô tả các quy trình xử lý và các luồng dữ
liệu trong một hệ thống nghiệp vụ dưới dạng
ký hiệu đồ họa
Mô tả:
Các yếu tố đầu vào của hệ thống
Các quy trình xử lý
Các kết quả đầu ra
17
19
Ưu điểm của phương pháp tiếp
cận luồng dữ liệu
Tự do đưa ra các cam kết thực thi về kỹ
thuật ngay từ đầu
Giúp hiểu về mối tương quan giữa hệ thống
và các hệ thống con
Truyền đạt cách hoạt động của hệ thống
hiện tại cho người sử dụng
Phân tích về hệ thống đề xuất
20
Các ký hiệu cơ bản
23
Các thực thể bên ngoài
(External Entities)
Đại diện cho một bộ phận, một doanh
nghiệp, một người, hay một cỗ máy
Một nguồn hoặc đích đến của dữ liệu nằm
bên ngoài ranh giới của hệ thống
Nên được đặt tên với một danh từ
24
Luồng dữ liệu (Data Flow)
Chỉ ra sự di chuyển của dữ liệu từ nơi này
đến nơi khác
Mô tả với một danh từ
Đầu mũi tên chỉ hướng di chuyển của luồng
dữ liệu
Biểu diễn cho dữ liệu về một người, địa
điểm, vật hoặc một điều gì đó
Ví dụ: Thông tin khách hàng, phiếu chi
25
Quá trình xử lý (Process)
Chỉ ra một sự thay đổi hoặc chuyển đổi dữ
liệu
Đại diện cho công việc được thực hiện trong
hệ thống
Quy ước đặt tên:
Là tên của hệ thống khi là quá trình ở mức cao
nhất
Đặt theo tên của các hệ thống con chính
Dùng hình thức danh-động-tính (verb-adjective
noun) từ cho quá trình ở mức chi tiết
26
Kho dữ liệu (Data Store)
Nơi lưu trữ dữ liệu cho hoạt động kiểm tra,
bổ sung và truy xuất dữ liệu
Đặt tên bằng một danh từ mô tả dữ liệu
Mỗi kho dữ liệu thường có một số tham
chiếu duy nhất, chẳng hạn như D1, D2, D3
Đại diện cho một:
Tủ đựng hồ sơ
Cơ sở dữ liệu (Database)
Tập tin máy tính
27
Các bước trong phát triển
sơ đồ luồng dữ liệu
1. Liệt kê các hoạt động nghiệp vụ, từ đó xác
định các: thực thể ngoài, luồng dữ liệu, quá
trình và kho dữ liệu.
2. Tạo sơ đồ ngữ cảnh
3. Vẽ sơ đồ mức 0
4. Tạo các sơ đồ con cho mỗi quá trình có
trong sơ đồ mức 0
5. Kiểm tra lỗi và đảm bảo tên đặt cho mỗi
quá trình và luồng dữ liệu là có nghĩa
6. Phát triển DFD vật lý từ DFD luận lý
7. Phân vùng DFD vật lý 28
Các nguyên tắc cơ bản
DFD phải có ít nhất một quá trình
Không có đối tượng đứng một mình
Không có đối tượng kết nối đến chính nó
Một quá trình phải có cả hai dòng dữ liệu
vào và ra
Mỗi kho dữ liệu phải kết nối đến ít nhất một
quá trình
Các thực thể ngoài không được kết nối đến
các thực thể ngoài khác.
29
Tạo sơ đồ ngữ cảnh
(Context Diagram)
Mức cao nhất trong một sơ đồ luồng dữ liệu
Chỉ chứa một quá trình, đại diện cho toàn bộ hệ thống
Quá trình này được đánh số là 0
Tất cả các thực thể bên ngoài, cũng như các luồng dữ
liệu chính được hiển thị
30
Vẽ sơ đồ mức 0 (Diagram-0)
Là sơ đồ phân rã của sơ đồ ngữ cảnh
Có thể có đến chín quá trình
Mỗi quá trình được đánh số (1,2,3,4,)
Bao gồm các kho dữ liệu chính và tất cả các thực
thể ngoài
Bắt đầu với luồng dữ liệu từ một thực thể bên phía
đầu vào
Làm ngược lại với luồng dữ liệu phía đầu ra
Kiểm tra luồng dữ liệu đến hoặc đi ra từ một kho dữ
liệu
Phân tích một quá trình, xem đã được xác định tốt ?
Hãy lưu ý về các khu vực mờ (fuzzy) bất kỳ
31
Chú ý đến các chi tiết hơn
trong sơ đồ mức 0 (Diagram 0)
32
Các cấp của DFD
(Data Flow Diagram Levels)
Các DFD được xây dựng trong các lớp
Cấp cao nhất là mức ngữ cảnh
Mỗi quá trình có thể phân rã xuống một cấp
thấp hơn
Số của sơ đồ cấp thấp hơn giống như số số
của quá trình cha
Các quá trình không tạo ra một sơ đồ con
được gọi là nguyên tố (primitive)
33
Tạo các sơ đồ con
(Creating Child Diagrams)
Mỗi quá trình trong sơ đồ 0 có thể được phân rã để tạo ra
một sơ đồ con
Một sơ đồ con không thể tạo ra đầu ra hoặc nhận đầu
vào nếu quá trình cha không tạo ra hoặc nhận
Quá trình con được đánh số như quá trình cha
Quá trình số 3 sẽ phân rã Sơ đồ số 3 (Diagrams 3)
Các thực thể thường không được hiển thị trên các sơ đồ
con dưới sơ đồ 0
Nếu quá trình cha có luồng dữ liệu kết nối với một kho dữ
liệu, sơ đồ con cũng có thể có kho dữ liệu như thế.
Khi một quá trình không được phân rã nữa nó được gọi là
một quá trình nguyên tố (primitive process)
34
Sự khác nhau giữa sơ đồ cha (ở trên)
và sơ đồ con (bên dưới)
35
Kiểm tra các lỗi cho các sơ đồ
Không có luồng dữ liệu
hoặc vẽ mũi tên theo
hướng sai
Kết nối kho dữ liệu và
các thực thể ngoài trực
tiếp với nhau
36
Kiểm tra các lỗi cho các sơ đồ
Ghi nhãn không chính xác cho các quá trình
hoặc luồng dữ liệu
Có nhiều hơn chín quá trình trên một sơ đồ
luồng dữ liệu
Bỏ sót các luồng dữ liệu
Tạo phân rã (hoặc phân cấp) không cân
bằng trong các sơ đồ con
37
Các lỗi điển hình có thể xảy ra
trong một DFD
38
Sơ đồ luồng dữ liệu luận lý và
vật lý
Luận lý
Tập trung vào các nghiệp vụ và cách nghiệp vụ
vận hành như thế nào
Không quan tâm đến hệ thống sẽ được xây dựng
như thế nào
Mô tả các sự kiện nghiệp vụ diễn ra và các dữ
liệu cần đến và được tạo ra bởi mỗi sự kiện
Vật lý
Cho biết hệ thống sẽ được hiện thực như thế nào
Mô tả hệ thống
39
Sơ đồ luồng dữ liệu luận lý và
vật lý
40
Các đặc điểm nổi bật phổ biến của
sơ đồ luồng dữ liệu luận lý và vật
lý
41
Tính chất Luận lý Vật lý
Mô hình mô tả cái gì Các nghiệp vụ vận
hành như thế nào
Hệ thống được thực
thi như thế nào (hoặc
hệ thống hiện tại vận
hành như thế nào)
Các quá trình thể hiện
gì
Các hoạt động nghiệp
vụ
Chương trình, mô-dun
chương trình và các
thủ tục thủ công
Các kho dữ liệu thể
hiện gì
Tập hợp các dữ liệu
thu thập về cách dữ
liệu được lưu trữ
Các file và cơ sở dữ
liệu vật lý, các hồ sơ
thủ công
Các kiểu kho dữ liệu Cho thấy tính lâu dài
của dữ liệu
Master files,
transaction files
Kiểm soát hệ thống Chỉ ra các kiểm soát
nghiệp vụ
Kiểm chứng dữ liệu
vào
Tiến trình của các mô hình
từ luận lý sang vật lý
42
Phát triển sơ đồ luồng dữ liệu
luận lý: Thuận lợi
Truyền thông tốt hơn với người sử dụng
Hệ thống ổn định hơn
Cho thấy sự hiểu biết tốt hơn của các nhà
phân tích về nghiệp vụ
Khả năng linh hoạt và bảo trì
Xoá bỏ sự dư thừa và giúp tạo ra mô hình
vật lý dễ dàng hơn
43
Phát triển sơ đồ luồng dữ liệu
vật lý
Làm rõ các quá trình nào được thực hiện bởi
con người và được tự động hóa
Mô tả quá trình chi tiết hơn DFD luận lý
Trình tự quá trình phải được thực hiện theo
một thứ tự cụ thể
Xác định các nơi lưu trữ dữ liệu tạm thời
Đặc tả tên thực tế của các tập tin, các bảng
trong cơ sở dữ liệu và bản in
Thêm các điều khiển để đảm bảo các quá
trình thực hiện đúng
44
Biểu đồ luồng dữ liệu vật lý có chứa
nhiều mục không tìm thấy trong biểu đồ
luồng dữ liệu luận lý
Contents of Physical Data Flow Diagrams
Manual processes
Processes for adding, deleting, changing, and updating
records
Data entry and verifying processes
Validation processes for ensuring accurate data input
Sequencing processes to rearrange the order of
records
Processes to produce every unique system output
Intermediate data stores
Actual file names used to store data
Controls to signify completion of tasks or error
conditions
45
Mô hình hóa sự kiện (Event
Modeling) và Sơ đồ luồng dữ liệu
(Data Flow Diagrams)
Một luồng đầu vào từ một thực thể ngoài đôi
khi được gọi là một kích hoạt (trigger) bởi vì
nó bắt đầu các hoạt động
của một quá trình
Các sự kiện là nguyên nhân để hệ thống
thực hiện một việc nào đó và hành động
như là một kích hoạt cho hệ thống
Cách tiếp cận để tạo ra DFD vật lý là tạo ra
một phân mảnh DFD cho mỗi một sự kiện hệ
thống duy nhất
46
Các bảng đáp ứng sự kiện
(Event Response Tables)
Bảng sự kiện được sử dụng để tạo ra một
DFD bằng cách phân tích từng sự kiện và dữ
liệu được sử dụng và tạo ra bởi sự kiện
Mỗi hàng trong một bảng sự kiện đại diện
cho một phân mảnh DFD và được sử dụng
để tạo ra một quá trình đơn lẻ trên DFD
47
Một bảng đáp ứng sự kiện
cho một cửa hàng Internet
48
Các sơ đồ luồng dữ liệu cho ba dòng
đầu tiên của bảng đáp ứng sự kiện
cửa hàng Internet
49
Các Use Case và Sơ đồ dòng dữ liệu
(Data Flow Diagrams)
Mỗi Use case định nghĩa cho một hoạt động
và kích hoạt, đầu vào và đầu ra của nó
Cho phép các nhà phân tích làm việc với
người sử dụng để hiểu được bản chất của
các quá trình và các hoạt động, sau đó tạo
ra một phân mảnh sơ đồ luồng kiện dữ liệu
đơn lẻ
50
Phân vùng Sơ đồ luồng dữ liệu
(Partitioning Data Flow
Diagrams)
Phân vùng là quá trình kiểm tra một sơ đồ
luồng dữ liệu và xác định cách để phân chia
nó vào các tập hợp: các thủ tục vận hành
thủ công và các chương trình máy tính
Dùng một đường nét đứt bao quanh một
quá trình hoặc nhóm các quá trình cần được
đặt trong một chương trình máy tính riêng lẻ
51
52
Các lý do để phân vùng
Các nhóm người dùng khác nhau
Thời gian (Timing)
Các nhiệm vụ tương tự
Hiệu quả (Efficiency)
Tính nhất quán (Consistency)
Bảo mật (Security)
53
Phân vùng các trang Web
(Partitioning Web Sites)
Cải thiện cách con người sử dụng các trang
web
Cải thiện tốc độ xử lý
Dễ duy trì các trang web
Giữ giao dịch an toàn
54
Truyền thông dùng DFD
Sử dụng DFD chưa phân cấp sớm khi biết
chắc các yêu cầu thông tin
Ghi nhãn có ý nghĩa cho tất cả các thành
phần dữ liệu
55
Tóm tắt
Các sơ đồ luồng dữ liệu (DFD)
Công cụ phân tích và thiết kế có cấu trúc cho
phép các nhà phân tích hiểu về hệ thống và
các hệ thống con theo cách trực quan như là
một tập hợp các luồng dữ liệu liên quan với
nhau
Các ký hiệu của DFD
Hình chữ nhật có góc tròn
Hình vuông có viền đôi
Mũi tên
Hình chữ nhật đóng-mở
56
Tóm tắt
Tạo DFD luận lý
Sơ đồ luồng dữ liệu mức ngữ cảnh
Sơ đồ luồng dữ liệu luận lý cấp 0
Các sơ đồ con
Tạo DFD vật lý
Tạo ra từ sơ đồ luồng dữ liệu luận lý
Phân vùng để tạo điều kiện thuận lợi cho
lập trình
57
Tóm tắt
Phân vùng các sơ đồ luồng dữ liệu
Cho biết quá trình được thực hiện bởi các nhóm
người dùng khác nhau
Các quá trình thực hiện cùng lúc
Các quá trình thực hiện nhiệm vụ tương tự
Nhiều quá trình có thể được kết hợp để tăng hiệu
quả về dữ liệu
Các quá trình có thể được phân chia
vào các chương trình khác nhau vì lý do bảo mật
58
Bài tập
Phân tích thiết kế hệ thống môi giới cho công
ty ABC:
1. Chỉ ra các nghiệp vụ chính
2. Xác định các thực thể ngoài, dòng dữ liệu
chính, kho dữ liệu chính
3. Vẽ sơ đồ phân rã chức năng
4. Vẽ sơ đồ ngữ cảnh
5. Vẽ DFD-0
59
Từ điển dữ liệu
61
Từ điển dữ liệu (Data
Dictionary)
Giúp tham khảo dữ liệu về dữ liệu
(metadata)
Thu thập và kết hợp các thuật ngữ dữ liệu,
và giúp những người khác nhau trong tổ
chức có cùng cách hiểu về mỗi thuật ngữ
64
Nhu cầu để hiểu về từ điển dữ
liệu
Cung cấp tài liệu
Loại bỏ dư thừa
Kiểm chứng sơ đồ luồng dữ liệu
Cung cấp một điểm khởi đầu cho việc phát
triển các màn hình và báo cáo
Xác định các nội dung của dữ liệu được lưu
trữ trong các tập tin
Để phát triển các quá trình của DFD hợp lý
Tạo XML
65
Kho chứa dữ liệu
(Data Repository)
Một kho chứa dữ liệu là một tập hợp lớn các
thông tin về dự án
Nó bao gồm:
Thông tin về các dữ liệu được duy trì bởi hệ
thống
Thủ tục luận lý và các Use case
Thiết kế màn hình và báo cáo
Các quan hệ dữ liệu
Các yêu cầu của dự án và các chuyển giao hệ
thống cuối cùng
Thông tin quản lý dự án
66
Từ điển dữ liệu liên quan đến
sơ đồ luồng dữ liệu như thế nào
67
Danh mục từ điển dữ liệu
Các luồng dữ liệu (Data flows)
Các cấu trúc dữ liệu (Data structures)
Các phần tử (Elements)
Các kho dữ liệu (Data stores)
68
Lập tài liệu cho luồng dữ liệu
1. ID – số định danh
2. Tên mô tả duy nhất
3. Một mô tả chung về luồng dữ liệu
4. Nguồn gốc của luồng dữ liệu
5. Điểm đến của các luồng dữ liệu
6. Loại luồng dữ liệu
7. Tên của cấu trúc dữ liệu mô tả các phần tử
8. Dung lượng trên một đơn vị thời gian
9. Vùng ghi chúvà ký hiệu thêm
69
Lập tài liệu cho luồng dữ liệu
70
DATA FLOW DESCRIPTION
Name: Customer Order
Description: Contains customer order information and is used to update the customer
master and item filesand to produce an order record.
Source: Customer Destination: Process 1
Type of data flow
Table/File Screen Report Form Internal
Data Flow Composition (elements):
Order Information
Volume/Time
10 / hour
Comments
An order record information for one customerorder. The order may be received by mail,
by FAX, or bythe customer telephoning the order processing department directly.
Mô tả các cấu trúc dữ liệu
Các cấu trúc dữ liệu (data structure) được
tạo thành từ nhiều cấu trúc và các phần tử
nhỏ hơn
Dùng ký hiệu đại số để mô tả các cấu trúc
dữ liệu
71
Bộ ký hiệu đại số
(Algebraic Notation)
Dấu bằng =, có nghĩa là "bao gồm" (is
composed of)
Dấu cộng +, có nghĩa là “và” (and)
Dấu ngoặc {} có nghĩa là yếu tố lặp đi lặp lại
Dấu ngoặc [] để chọn một trong các yếu tố
Ngoặc đơn () cho một phần tử tùy chọn
72
Ví dụ về cấu trúc dữ liệu
Customer Order = Customer Number +
Customer Name +
Address +
Telephone +
Catalog Number +
Order Date +
{Order Items} +
Merchandise Total +
(Tax) +
Shipping and Handling +
Order Total +
Method of Payment +
(Credit Card Type) +
(Credit Card Number) +
(Expiration Date)
74
Các bản ghi có cấu trúc
(Structural Records)
Là một cấu trúc có thể bao gồm nhiều phần
tử hoặc các bản ghi có cấu trúc
Đây là một nhóm các phần tử,
chẳng hạn như:
Tên khách hàng (Customer Name)
Địa chỉ (Address)
Điện thoại (Telephone)
Mỗi một trong số này cần phải được định
nghĩa cho đến khi chúng được chia thành
các yếu tố thành phần của chúng
75
Các bản ghi có cấu trúc được sử
dụng trong các hệ thống khác nhau
Các bản ghi có cấu trúc và các phần tử được
sử dụng trong nhiều hệ thống khác nhau
được đặt tên không có hệ thống cụ thể
(non-system-specific), chẳng hạn như tên
đường (street), thành phố (city), và mã bưu
điện (zip)
Các tên không phản ánh một lĩnh vực
chức năng
Điều này cho phép các nhà phân tích định
nghĩa chúng khi cần và sử dụng trong nhiều
ứng dụng khác nhau
76
Ví dụ về bản ghi có cấu trúc
77
Các cấu trúc dữ liệu luận lý và
vật lý
Cấu trúc dữ liệu luận lý (Logical Data
Structures)
Cho thấy các dữ liệu nghiệp vụ cần cho hoạt
động hàng ngày
Cầu trúc dữ liệu vật lý (Physical Data
Structures)
Bao gồm các yếu tố bổ sung cần thiết cho việc
thực hiện hệ thống
78
Các cấu trúc dữ liệu vật lý
Các lĩnh vực quan trọng được sử dụng để
xác định vị trí các bản ghi / mẫu tin
Mã số để xác định tình trạng bản ghi
Mã số giao dịch để xác định các loại bản ghi
/ mẫu tin khác nhau
Các nhóm mục lặp đi lặp lại
Giới hạn về các mục trong một nhóm lặp đi
lặp lại
Mật khẩu
79
Mô tả phần tử dữ liệu (Data
elements)
Các đặc tính chung trong mô tả phần tử dữ liệu:
1. Mã (ID) của phần tử
2. Tên của phần tử
3. Bí danh
4. Mô tả ngắn gọn về phần tử
5. Phần tử là cơ sở hoặc dẫn xuất
6. Độ dài của phần tử
7. Kiểu dữ liệu
8. Định dạng đầu vào và đầu ra
9. Các tiêu chuẩn xác nhận
10. Giá trị mặc định
11. Vùng nhận xét hoặc chú thích thêm
80
Các đặc tính phần tử dữ liệu
(Data Element Characteristics)
81
Phần tử dữ liệu
Mã của phần tử (Element ID)
Mục nhập tùy chọn (Optional entry)
Cho phép các nhà phân tích xây dựng các
mục từ điển dữ liệu tự động
82
Phần tử dữ liệu
Tên của phần tử:
Phải:
Có tính mô tả (Descriptive)
Duy nhất (Unique)
Dựa theo tên của phần tử thường được sử
dụng trong hầu hết các chương trình hoặc
người sử dụng chính của phần tử
83
Phần tử dữ liệu
Bí danh (Aliases):
Từ đồng nghĩa hoặc tên khác cho các phần
tử
Tên được sử dụng bởi người dùng khác
nhau trong các hệ thống khác nhau
Một MÃ KHÁCH HÀNG (CUSTOMER
NUMBER) cũng có thể được gọi là MÃ TÀI
KHOẢN THU (RECEIVABLE ACCOUNT
NUMBER) hoặc một SỐ HIỆU KHÁCH HÀNG
(CLIENT NUMBER)
84
Phần tử dữ liệu
Mô tả ngắn gọn về phần tử:
Ví dụ mô tả ngắn cho phần tử Customer
Number: xác định duy nhất một khách hàng
đã thực hiện bất kỳ giao dịch kinh doanh
trong vòng năm năm qua
85
Mô tả ngắn gọn về phần tử
Phần tử là cơ sở hoặc dẫn xuất:
Phần tử cơ bản (base element) là một phần
tử được nhập trước vào hệ thống
Phần tử dẫn xuất (derived element) là một
phần tử được tạo ra bởi một quá trình,
thường là kết quả của một phép tính hoặc
một chuỗi các biểu thức quyết định
86
Phần tử dữ liệu
Độ dài của phần tử:
Một số phần tử có độ dài tiêu chuẩn như:
chữ viết tắt của tên tiểu bang, mã bưu điện,
hoặc số điện thoại
Đối với các phần tử khác, chiều dài có thể
khác nhau và nhà phân tích và người dùng
phải quyết định dựa vào:
Độ rộng của kiểu số (Numeric amount lengths)
Các trường tên và địa chỉ (Name and address
fields)
Các trường khác (Other fields)
87
Ví dụ chiều dài của Tên và Địa
chỉ
Trường
(Field)
Độ dài % dữ liệu phù
hợp (USA)
Last Name 11 98
First Name 18 95
Company Name 20 95
Street 18 90
City 17 99
88
Rút gọn dữ liệu (Data Truncation)
Nếu phần tử quá nhỏ, dữ liệu sẽ được rút
ngắn
Các nhà phân tích phải quyết định điều này
sẽ ảnh hưởng đến kết quả đầu ra hệ thống
như thế nào
Nếu tên một người được rút gọn, thư vẫn có thể
được chuyển đến
Nhưng nếu địa chỉ email hoặc địa chỉ Web bị rút
gọn thì không thể sử dụng được
89
Phần tử dữ liệu
Kiểu dữ liệu (Type of Data):
Dữ liệu dạng văn bản (text) hoặc chữ số
Các định dạng
Máy tính lớn (Mainframe): đóng gói (packed), nhị
phân (binary), hiển thị (display)
Các định dạng trên máy vi tính (PC -
Microcomputer)
Các định dạng PC, chẳng hạn như Tiền tệ
(Currency), Số (Number), hoặc Khoa học
(Scientific), phụ thuộc vào các dữ liệu sẽ được sử
dụng
90
Một số ví dụ về các định dạng dữ liệu
được sử dụng trong các hệ thống PC
91
Data Type Meaning
Bit A value of 1 or 0, a true/false value
Char, varchar, text Any alphanumeric character
Datetime, smalldatetime Alphanumeric data, several formats
Decimal, numeric
Numeric data that are accurate to the least significant digit; can
contain a whole and decimal portion
Float, real Floating-point values that contain an approximate decimal value
Int, smallint, tinyint Only integer (whole digit) data
Binary, varbinary, image Binary strings (sound, pictures, video)
Cursor, timestamp,
uniqueidentifier A value that is always unique within a database
Autonumber
A number that is always incremented by one when a record is
added to a database table
Currency, money, small Monetary numbers accurate to four decimal places
Phần tử dữ liệu: Định dạng các mã
ký tự
92
Phần tử dữ liệu
Các tiêu chuẩn xác nhận (Validation
Criteria):
Đảm bảo rằng các dữ liệu chính xác đã được
nắm bắt bởi hệ thống
Các phần tử có thể là:
Rời rạc (Discrete), có nghĩa là chúng đã cố định
giá trị
Liên tục (Continuous), với một dải các giá trị liên
tiếp
93
Phần tử dữ liệu
Giá trị mặc định (Default Value):
Bao hàm giá trị mặc định bất kỳ mà phần tử
có thể có
Giá trị mặc định được hiển thị trên màn hình
nhập liệu
Giảm thiểu việc nhập từ bàn phím
Các giá trị mặc định trên màn hình giao diện đồ
họa người dùng (GUI)
• Hiển thị ban đầu trong các danh sách thả xuống
(drop-down lists)
• Được lựa chọn sẵn khi một nhóm các nút radio được sử
dụng
94
Phần tử dữ liệu
Vùng nhận xét hoặc chú thích thêm
(Comment or Remarks Area):
Có thể được dùng để chú thích thêm về định
dạng ngày, điều kiện kiểm tra tính hợp lệ đặc
biệt khi được yêu cầu, phương pháp kiểm tra
chữ số được sử dụng, v.v..
95
Mô tả kho dữ liệu (Data Stores)
Kho dữ liệu được tạo ra cho mỗi thực thể dữ liệu khác
nhau được lưu trữ
Khi các phần tử cơ bản của luồng dữ liệu được nhóm lại
với nhau để tạo thành một bản ghi có cấu trúc (structural
record), một kho dữ liệu được tạo ra cho mỗi bản ghi có
cấu trúc duy nhất
Bởi vì mỗi luồng dữ liệu có thể chỉ thể hiện cho một phần
của tập hợp dữ liệu mà một bản ghi có cấu trúc chứa
đựng, nên có thể cần nhiều cấu trúc luồng dữ liệu khác
nhau để xem xét để có được một mô tả hoàn chỉnh về
kho dữ liệu
96
Mô tả kho dữ liệu
Mã kho dữ liệu (Data Store ID)
Tên tên kho dữ liệu (Data Store Name)
Bí danh (alias) cho bảng (table)
Mô tả ngắn gọn
Kiểu tập tin
Định dạng tập tin
97
Mô tả kho dữ liệu
98
Mô tả kho dữ liệu
Số lượng các bản ghi tối đa và trung bình
vào tập tin cũng như sự tăng trưởng hàng
năm
Tên tập tin hoặc tập dữ liệu (data set) xác
định tên tập tin, nếu biết
Cấu trúc dữ liệu nên dùng tên được ghi
trong từ điển dữ liệu. Các phần tử dữ liệu có
thể được mô tả theo mẫu định sẵn hoặc
CASE tool.
Các khóa chính và khóa thứ cấp
Các ghi chú
99
Mô tả kho dữ liệu
100
Mô tả kho dữ liệu
dùng Visible
Analyst
Tạo từ điển dữ liệu
Các mục của từ điển dữ liệu
Được tạo ra sau khi các sơ đồ luồng dữ liệu đã
hoàn thành hoặc đang được phát triển.
Tạo ra theo cách tiếp cận từ trên xuống
(top-down)
101
Hai sơ đồ luồng dữ liệu và các mục từ
điển dữ liệu tương ứng cho quá trình
Employee Paycheck
102
Phân tích đầu vào và đầu ra
Tên mô tả cho đầu vào hay đầu ra
Liên hệ với người sử dụng chịu trách nhiệm
Bất kể dữ liệu là đầu vào hay đầu ra
Định dạng của luồng dữ liệu
Các phần tử cho thấy trình tự của các dữ
liệu trên báo cáo hoặc màn hình
Danh sách các phần tử
103
Phân tích đầu vào và đầu ra
104
Phát triển kho dữ liệu
Chỉ ra các dữ liệu còn lại
Chứa thông tin có tính chất ổn định hoặc
tạm thời
Khi kho dữ liệu được tạo ra chỉ cho một báo
cáo hoặc màn hình thì nên tham chiếu đây
là “theo người sử dụng" (user views)
105
Sử dụng từ điển dữ liệu
Để có hiệu quả tối đa, từ điển dữ liệu nên
được gàn buộc vào một số chương trình hệ
thống
Có thể được sử dụng để
Tạo các màn hình (Screens), các báo cáo
(Reports), và các biểu mẫu (Forms)
Tạo mã nguồn ngôn ngữ máy tính
Phân tích thiết kế hệ thống, phát hiện sai sót và
các lĩnh vực cần làm rõ
106
Tạo các màn hình (Screens), các báo
cáo (Reports), và các biểu mẫu
(Forms)
Sử dụng định nghĩa phần tử và độ dài của
chúng
Sắp xếp các phần tử sau cho thuận lợi và
theo chức năng bằng cách sử dụng các
nguyên tắc thiết kế và ngữ cảnh thông
thường
Các nhóm lặp đi lặp lại trở thành các cột
Các bản ghi có cấu trúc được nhóm lại với
nhau trên màn hình, báo cáo, hoặc biểu
mẫu
107
Phân tích thiết kế hệ thống, phát hiện
sai sót và các lĩnh vực cần làm rõ
Tất cả các phần tử cơ bản trên một luồng dữ
liệu đầu ra phải có mặt trên luồng dữ liệu
đầu vào cho quá trình tạo ra đầu ra
Một phần tử được dẫn xuất nên được tạo ra
bởi một quá trình và phải là đầu ra từ ít nhất
là một quá trình mà nó không phải là đầu
vào
Các phần tử có mặt trong một luồng dữ liệu
đi vào hoặc đi ra của một kho dữ liệu phải
được chứa trong kho dữ liệu
108
Sử dụng các từ điển dữ liệu
để tạo XML
XML được sử dụng để trao đổi dữ liệu giữa các nghiệp vụ
XML giải quyết vấn đề chia sẻ dữ liệu khi những người
sử dụng có hệ thống máy tính khác nhau và phần mềm
hoặc các hệ thống quản lý cơ sở dữ liệu khác nhau
Tài liệu XML có thể được chuyển đổi thành các định dạng
đầu ra khác nhau
XML là cách để xác định, sắp xếp, lọc, và chuyển đổi dữ
liệu vào một ngôn ngữ dữ liệu phổ quát có thể được sử
dụng bởi bất cứ ai
XML có thể được tạo ra từ cơ sở dữ liệu, một biểu mẫu,
các chương trình phần mềm, hoặc được nhập trực tiếp
vào tài liệu, trình soạn thảo văn bản, hoặc chương trình
nhập XML
109
Sử dụng các từ điển dữ liệu
để tạo XML...
Từ điển dữ liệu là điểm bắt đầu lý tưởng để
phát triển nội dung XML
Một định nghĩa tiêu chuẩn của dữ liệu được
tạo ra bằng cách sử dụng một tập hợp các
thẻ (tag) được thêm vào trước và sau mỗi
phần tử hoặc cấu trúc dữ liệu
Các phần tử XML cũng có thể chứa các
thuộc tính
Các tài liệu XML có xu hướng dùng để phản
ảnh cấu trúc từ điển dữ liệu
110
Định nghĩa kiểu tài liệu XML (XML
Document Type Definitions-DTD)
Được dùng để xác định xem nội dung tài liệu
XML có hợp lệ hay không
DTD có thể được tạo ra bằng cách sử dụng
dữ liệu từ điển
DTD có thể được sử dụng để xác nhận tính
hợp lệ của tài liệu XML
111
Các ví dụ về sử dụng
các từ điển dữ liệu để tạo XML
Sử dụng một mục nhập từ điển dữ liệu để
phát triển nội dung XML. Các tài liệu XML
phản ánh cấu trúc từ điển dữ liệu
Một loại tài liệu định nghĩa
cho tài liệu XML khách hàng
112
XML Schemas
Một cách chính xác hơn để xác định nội
dung của tài liệu XML
Bao gồm số lượng chính xác số lần một yếu
tố có thể xuất hiện
Bao gồm các loại dữ liệu bên trong các phần
tử
113
Đặc tả quá trình và
quyết định có cấu trúc
114
Nguyễn Hoàng Ân - Khoa HTTTQL
Mục tiêu
Hiểu được mục đích của đặc tả quá trình
Dùng tiếng Anh có cấu trúc, bảng quyết
định, và cây quyết định để phân tích, mô tả
và lập tài liệu các quyết định có cấu trúc
Chọn lựa một phương pháp phân tích quyết
định phù hợp để phân tích các quyết định có
cấu trúc và đặc tả quá trình
Nguyễn Hoàng Ân - Khoa HTTTQL
115
Nội dung chính
Đặc tả quá trình (Process specifications)
Tiếng Anh có cấu trúc (Structured English)
Bảng quyết định (Decision tables)
Cây quyết định (Decision trees)
Nguyễn Hoàng Ân - Khoa HTTTQL
116
Tài liệu tham khảo
[01] Kendall and Kendall, “System Analysis
and Design”, 8th Edition, Prentice Hall, 2011.
• Chapter 9
117
Nguyễn Hoàng Ân - Khoa HTTTQL
Đặc tả quá trình
Đôi khi được gọi minispecs
Dùng để mô tả cho các quá trình nguyên tố
cũng như đối với một số quá trình cấp cao
hơn trong sơ đồ luồng dữ liệu
Được tạo ra cho các phương pháp lớp (class)
trong thiết kế hướng đối tượng và các bước
trong một use case
119
Nguyễn Hoàng Ân - Khoa HTTTQL
Các mục tiêu của việc đặc tả
quá trình
Giảm sự nhập nhằng của quá trình
Mô tả chính xá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:
- sad_03_743.pdf