Chương 3: Phân tích yêu cầu
1. Mô hình hóa 2. Chiến lược phát triển 3. Mô hình nghiệp vụ 4. Mô hình luồng dữ liệu 5. Mô hình hóa logic tiến trình 6. Mô hình hóa dữ liệu (mô hình hình luận lý )
3.1 Mô hình hóa
Khái niệm Mục đích Các thao tác
Khái niệm
Mô hình là một biểu diễn hình tượng của thực tế. Các mô hình có thể được xây dựng cho các hệ thống hiện có để giúp chúng ta hiểu kỹ hơn về những hệ thống đó. Hoặc cũng có thể xây dựng mô hình cho các hệ thống được đề xuất nhằm tài liệu hóa các yêu cầu nghiệp vụ hoặc thiết kế kỹ thuật.
Khái niệm
Mô hình hóa chức năng (Process Modeling) với biểu đồ luồng
dữ liệu (Data Flow Diagram - DFD) Hệ thống làm gì?
Mô hình hóa chức năng là kỹ thuật dùng để tổ chức và tài liệu hóa cấu trúc và luồng dữ liệu xuyên qua các quá trình của một hệ thống và/hoặc các chức năng được thực hiện bởi các quá trình hệ thống.
Mô hình hóa dữ liệu (Data Modeling) với biểu đồ quan hệ thực
thể (Entity Relationship Diagram - ERD) Hệ thống có những dữ liệu nào?
Mô hình hóa dữ liệu là kỹ thuật dùng để tổ chức và mô hình hóa dữ liệu của một hệ thống nhằm xác định các yêu cầu nghiệp vụ cho một cơ sở dữ liệu. Đôi khi mô hình hóa dữ liệu còn được gọi là mô hình hóa cơ sở dữ liệu.
Mô hình hóa đối tượng (Object Modeling) với ngôn ngữ mô
hình hợp nhất (Unified Modeling Language - UML) Cái gì và tại sao? (lôgíc của hệ thống)
Mục đích
Để hiểu rõ hơn về hệ thống: các cơ hội để đơn giản hóa, tối ưu hóa (Tái cấu trúc quy trình)
Để liên kết các hành vi và cấu trúc của hệ thống (các yêu cầu nghiệp vụ về: thông tin/dữ liệu và chức năng/quy trình)
Để trực quan hóa và điều khiển kiến trúc hệ
Để kiểm soát những rủi ro trong quá trình
thống (thiết kế)
phát triển
Các thao tác
Lập kế hoạch chiến lược hệ thống
Các mô hình quá trình nghiệp vụ của tổ chức mô tả các chức
năng nghiệp vụ quan trọng
Tái cấu trúc quy trình nghiệp vụ
Các mô hình chức năng “As is” làm đơn giản việc phân tích các
điểm yếu (Hệ thống hiện tại).
Các mô hình chức năng “To be” làm đơn giản việc cải thiện (Hệ
thống mới được đề xuất).
Phân tích hệ thống
Mô hình hóa hệ thống hiện có bao gồm những thiếu sót của nó
(DFD lôgíc)
Mô hình hóa các yêu cầu lôgíc (các quá trình và luồng dữ liệu
cần có dù hệ thống được xây dựng thế nào – DFD lôgíc) của hệ thống được đề xuất.
Mô hình hóa các giải pháp kỹ thuật đề cử (DFD vật lý) Mô hình hóa giải pháp được chọn (DFD vật lý)
2. Chiến lược phát triển hệ thống
Chiến lược phát triển mô hình (MDD) Chiến lược phát triển ứng dụng nhanh Chiến lược cài đặt gói ƯD thương mại
Chiến lược phát triển mô hình
Model-driven development – một chiến lược phát triển hệ thống nhấn mạnh vào việc vẽ các mô hình hệ thống để trợ giúp việc trực quan hóa và phân tích các vấn đề, xác định các yêu cầu nghiệp vụ, và thiết kế các hệ thống thông tin.
Mô hình hóa chức năng – một kỹ thuật lấy quá trình làm trung tâm được phổ biến bởi phương pháp luận phân tích và thiết kế hướng cấu trúc, sử dụng các mô hình yêu cầu nghiệp vụ để tạo các thiết kế phần mềm hiệu quả cho một hệ thống.
Mô hình hóa dữ liệu – một kỹ thuật lấy dữ liệu làm trung tâm để mô hình hóa các yêu cầu dữu liệu nghiệp vụ và thiết kế hệ thống cơ sở dữ liệu phù hợp.
Mô hình hóa đối tượng – một kỹ thuật kết nối dữ liệu và quá trình thành các cấu trúc duy nhất gọi là các đối tượng. Các mô hình đối tượng là các biểu đồ tài liệu hóa một hệ thống dưới dạng các đối tượng của nó và các tương tác giữa chúng.
Chiến lược phát triển mô hình
Ưu điểm:
Kế hoạch dài hạn hơn Mô hình hóa hệ thống hiện tại và phân tích
yêu cầu trên phạm vi rộng hơn
Phân tích nhiều giải pháp kỹ thuật khác nhau Phù hợp với các hệ thống được hiểu rõ
Nhược điểm:
Thời gian thực hiện lâu Sự tham gia thụ động của người sử dụng hệ thống bởi họ không nhìn thấy sản phẩm
Các yêu cầu trong mỗi giai đoạn cần được xác định đầy đủ: điều này không thực tế và/hoặc không mềm dẻo
Chiến lược phát triển ƯD nhanh
Rapid application development (RAD) – các kỹ thuật nhấn mạnh sự tham gia của người sử dụng trong việc xây dựng tiến hóa nhanh các bản mẫu hoạt động của một hệ thống để đẩy nhanh quy trình phát triển hệ thống đó.
RAD được dựa trên việc xây dựng các bản mẫu, những
bản mẫu này tiến hóa thành các hệ thống hoàn thiện Một bản mẫu là một mô hình hoạt động hoặc mô hình
biểu diễn với tỷ lệ nhỏ hơn của các yêu cầu của người sử dụng hoặc của một thiết kế đề xuất cho một hệ thống thông tin
Một time box là một khoảng thời gian không thể mở rộng, thường là 60-120 ngày mà một hệ thống đề cử phải được đưa vào hoạt động. Các cải thiện sẽ được thực hiện trong những phiên bản ra đời sau đó.
Ưu – nhược điểm của RAD
Ưu điểm:
Xử lý được các yêu cầu không ổn định hoặc không chính
xác của người sử dụng
Sự tham gia chủ động của người sử dụng vào việc xây
dựng sản phẩm thực tế: làm tăng sự nhiệt tình, hỗ trợ của họ
Phát hiện sớm các lỗi hoặc sự bỏ sót: trong quá trình kiểm
thử và thay đổi bản mẫu
Làm giảm rủi ro nhờ lặp đi lặp lại việc làm bản mẫu
Nhược điểm:
Tăng chi phí thời gian sống để hoạt động, hỗ trợ và bảo trì
hệ thống (hoạt động và sửa chữa liên tục)
Quá trình phân tích vấn đề ngắn ngủi có thể đem lại hệ quả
là việc giải quyết những vấn đề sai
Ngăn cản người phân tích xem xét các kỹ thuật khác thay vì chỉ xét tới kỹ thuật đang được dùng để làm bản mẫu
Chiến lược cài đặt gói ƯD thương mại
Commercial application package – một ứng dụng phần mềm có thể mua về và tùy biến cho phù hợp các yêu cầu nghiệp vụ của một số lượng lớn các tổ chức hoặc một ngành nghề cụ thể. Một thuật ngữ khác là hệ thống thương mại dùng ngay (commercial off-the-shelf (COTS) system)
Ưu – nhược điểm của COST
Ưu điểm
Cài đặt nhanh hệ thống mới (nhiều chức năng tương tự nhau giữa các tổ chức khác nhau, không cần thiết phải xây dựng từ đầu)
Không cần các chuyên gia và nhân sự cho việc phát triển Chi phí phát triển thấp (nhưng tốn chi phí tùy biến và cài đặt) Người bán chịu trách nhiệm về việc cải thiện phần mềm và sửa lỗi
Nhược điểm
Phụ thuộc vào người bán Việc tùy biến/nâng cấp trong tương lai rất tốn kém Một hệ thống thương mại dùng ngay hiếm khi phản ánh được hệ
thống lý tưởng được tự phát triển
Phải thay đổi các quy trình nghiệp vụ hiện tại để phù hợp với hệ
thống thương
3.2 Mô hình nghiệp vụ (Biểu đồ phân rã chức năng - BFD)
1.Khái niệm 2.Biểu đồ phân rã chức năng 3.Các dạng biểu đồ phân rã chức năng 4.Xác định phạm vi hệ thống
1. Khái niệm
Mô hình hóa nghiệp vụ là mô tả chức năng
nghiệp vụ của tổ chức và những mối quan hệ bên trong giữa các chức năng đó
Mô hình hóa nghiệp vụ thể hiện ra dưới dạng biểu đồ phân rã nghiệp vụ có thứ bậc đơn giản
Hệ thống thực hiện những công việc gì?
2. Biểu đồ phân rã chức năng
Khái niệm Ý nghĩa Ký pháp sử dụng Nguyên tắc xây dựng Đặt tên chức năng
Khái niệm
Chức năng nghiệp vụ là tập hợp các công việc mà tổ chức cần thực hiện trong hoạt động của mình
Khái niệm chức năng:
Là khái niệm mức logic (tên công việc và
mối liên hệ giữa chúng);
Chức năng đó làm như thế nào, khi nào, ai làm là khái niệm vật lý (chưa xét đến)
Ý nghĩa
Giới hạn phạm vi của hệ thống cần phải
phân tích.
Tiếp cận hệ thống về mặt logic nhằm
Phân biệt các chức năng và nhiệm vụ
làm rõ các chức năng mà hệ thống thực hiện để phục vụ cho các bước phân tích tiếp theo.
của từng bộ phận trong hệ thống, từ đó lọc bỏ những chức năng trùng lặp, dư thừa.
Ý nghĩa
Hiểu cơ cấu tổ chức và giúp cho quá trình
khảo sát tiếp theo
nghiên cứu)
Xác định vùng (miền) nghiên cứu (phạm vi
Cho thấy vị trí các công việc trong toàn hệ
Là cơ sở để từ đó xây dựng kiến trúc của
thống, tránh sự trùng lặp
hệ chương trình
Các mức độ phân cấp chức năng
Một lĩnh vực hoạt động (area of
activities)
Một hoạt động (activity) Một nhiệm vụ (task) Một hành động (action)
Lưu ý
BFD không có tính động BFD chỉ cho thấy các chức năng mà không thể hiện trình tự xử lý của các chức năng đó BFD không chỉ ra sự trao đổi thông tin giữa các chức năng.
=> BFD thường được sử dụng làm mô hình chức năng trong bước đầu phân tích.
Kí pháp sử dụng
Ký pháp:
TÊN CHỨC NĂNG
Liên kết giữa các chức năng nghiệp vụ:
Tên CN
Tên CN2
Tên CN1
Tên CNn
Ví dụ
Biểu đồ chức năng dạng chuẩn
IBM (1960-1970)
Chức năng xử lý thông tin Chứng từ (trên giấy) Danh sách (in trên giấy)
Tệp ghi đĩa từ Lưu (trên băng từ) Lưu (tại chỗ)
Nguyên tắc phân rã chức năng
Phân rã chức năng từ mức gộp đến mức chi tiết Mỗi chức năng được phân rã phải là một bộ phận thực sự tham gia thực hiện (tính thực chất)
Chức năng ở mức cuối (chức năng lá) phải thực
Việc thực hiện tất cả các chức năng ở mức dưới trực tiếp phải đảm bảo thực hiện được chức năng ở mức trên (tính đầy đủ)
hiện được
Không nên phân rã chức năng quá 6 mức
Nhập a, b, c
Giải pt bậc 2
Xet a => tính delta
tìm x
Nhập a, b, c
Tìm nghiệm
Khai báo a, b, c cin a, b, c if a= 0
Xuất kết quả
pt=> ptb1
Else
If delta > 0 thì pt có 2 n0 x1, x2 If delta = 0 thì pt có 1 n0 x0 If delta < 0 thì pt vo nghiệm}
{ Lập delta=b2 - 4ac
Đặt tên chức năng
Mỗi chức năng có một tên duy nhất Tên chức năng phải là một mệnh đề động từ gồm một
động từ và bổ ngữ
tên phải thể hiện khái quát các chức năng con của nó, phản ánh được thực tế nghiệp vụ mà nó thực hiện
Ví dụ: chức năng “lập đơn hàng”, “bảo trì kho”.
Mô tả chức năng lá
Các chức năng lá trong biểu đồ cần mô tả trình tự và
cách thức tiến hành nó bằng lời và có thể sử dụng biểu đồ hay một hình thức nào khác. Mô tả thường bao gồm các nội dung sau: - Tên chức năng - Các sự kiện kích hoạt (khi nào? Cái gì dẫn đến? điều kiện gì?) - Quy trình thực hiện - Yêu cầu giao diện cần thể hiện (nếu có) - Dữ liệu vào (các hồ sơ sử dụng ban đầu) - Công thức (thuật toán) tính toán sử dụng (nếu có) - Dữ liệu ra (các báo cáo hay kiểm tra cần đưa ra) - Quy tắc nghiệp vụ cần tuân thủ
Ví dụ: Mô tả chức năng lá “kiểm tra khách hàng”
không và thời gian nợ có quá hạn hợp đồng không
2.2 Nếu không …
Khi khách hàng đến người ta mở sổ khách hàng để xem có khách hàng nào như trong đơn hàng không (tên gọi, địa chỉ…). 1. Nếu không có, đó là khách hàng mới. 2. Ngược lại là khách cũ thì cần tìm tên khách hàng trong sổ nợ, và xem khách có nợ không? 2.1 Nếu có thì nợ bao nhiêu, có quá số nợ cho phép
Xác định các chức năng
Ở mức cao nhất của nghiệp vụ, chức năng chính có thể là
một trong các loại sau: Sản xuất sản phẩm. Cung cấp dịch vụ (bán hàng, bảo dưỡng). Quản lý tài nguyên (tài sản, nguồn nhân lực, con
người…).
Khi đã xác định được loại mà nó thuộc vào thì sẽ đặt tên
cho chức năng cao nhất này.
Tiếp theo, để xác định các chức năng con thì từ chức năng chính, ta đặt nó trong chu kỳ sống gồm các giai đoạn: Xác định nhu cầu. Mua bán. Bảo hành, bảo dưỡng. Thanh lý hoặc chuyển nhượng.
3. Các dạng biểu diễn mô hình nghiệp vụ
Dạng công ty
Dạng chuẩn Sơ đồ phân cấp hình cây
Dạng bảng gồm nhiều dòng, được xếp thành các cột. Mỗi cột thể hiện một mức phân rã
Khách hàng
1. Bộ phận kế hoạch
1.1 Lập kế hoạch chiến lược
1.2 Lập kế hoạch hàng năm
Thông tin
Mua hàng
Bán hàng
2. Bộ phận tài chính
2.1 Lập kế hoạch ngân sách
2.2 Quản lý thu chi
2.3 Tổng hợp báo cáo
Ví dụ: Hệ thống gửi xe Xét khách hàng
Khách
Gởi xe
Lấy xe
Sự cố
Ghi TT xe
Nhận vé xe
Trả vé xe
Thanh toán
Ví dụ: Hệ thống gửi xe Xét khách hàng
1. Gởi xe
2. Lấy xe
1.1 Thông tin xe 1.2 Nhận vé
3. Sự cố
2.1 Trả vé 2.2 Thanh toán
Ví dụ: ATM Xét khách hàng
Khách
Đăng ký thẻ
Sử dụng
CC thông tin Nhận thẻ
KTMK
Các thao tác
Sự cố
4. Xác định phạm vi hệ thống
Người ta thường sử dụng các ma trận Có 2 ma trận cơ bản nhất là:
chức năng
Ma trận yếu tố quyết định thành công và
Ma trận thực thể-chức năng
Ma trận yếu tố quyết định thành công và chức năng
Gồm có:
Dòng là các chức năng Cột là yếu tố quyết định thành công hay
Ô giao giữa dòng và cột sẽ ghi chữ E
không
Mục đích: Xác định chức năng của hệ
thống
(essential- Quyết định) hay D (desirable- Không quyết định)
Ma trận yếu tố quyết định thành công và chức năng
Các yếu tố quyết định thành công
Các bộ phận chức năng
rộng trường thụ
Nguyên liệu đủ số lượng, đảm chất bảo về lượng
Mở thị tiêu 10%
Kiểm soát chi phí, không tăng giá
1. Bộ phận kế hoạch
E
D
2. Bộ phận tài chánh
E
D
3. Bộ phận lao động tiền lương
D
D
4. Bộ phận quản lý cơ điện
5. Bộ phận quản lý công nghệ
D
6. Bộ phận quản lý chất lượng
D
7. Bộ phận tiếp thị
E
8. Bộ phận tiêu thụ
E
9. Bộ phận nguyên liệu
E
10. Bộ phận hành chánh
11. Bộ phận bảo vệ an ninh
HTTT cần xây dụng hỗ trợ các nhiệm vụ chức năng này
Ma trận thực thể-chức năng
Gồm có:
Dòng là: các thực thể; các chức năng Cột là yếu tố quyết định thành công hay
Ô giao giữa dòng và cột sẽ ghi chữ R
không
Mục đích: Xác định nghiệp vụ cần
thiết gắn với từng chức năng
(read) hay C (create) hay U (sửa, xóa, thêm)
Các thực thể
Một ma trận thực thể và chức năng
1. Kế hoạch chiến lược
2. Kế hoạch hàng năm
3. Kế hoạch điều hành
4. Phiếu xuất vật tư
5. Phiếu nguyên vật liệu
6. ….
7. Nguyên liệu
8. Hợp đồng mua nguyên liệu
…………………….
Các chức năng nghiệp vụ
1
2
3
4
5
6
7
8
C
1.1 Lập kế hoạch chiến lược
C
1.2 Lập kế hoạch hàng năm
C
1.3 Lập kế hoạch tác nghiệp
C
C
1.4 Xét cấp phát vật tư phụ tùng
8.1 Tổ chức ký kết hợp đồng tiêu thụ
8.2 Tổ chức cung ứng sản phẩm
8.2 Quản lý kho thành phẩm
R
9.1 Tổ chức vùng nguyên liệu
R
C
9.2 Ký kết hợp đồng mua nguyên liệu
…………………
Cho biết mối liên kết giữa chức năng và thực thể dữ liệu, phát hiện sai sót
3.4 Mô hình luồng (dòng) dữ liệu
1. Mô hình hóa tiến trình nghiệp vụ 2. Biểu đồ luồng dữ liệu mức ngữ cảnh 3. Biểu đồ luồng dữ liệu (DFD) 4. Phân rã biểu đồ luồng dữ liệu 5. Phát triển các biểu đồ luồng dữ liệu
cho một ứng dụng
1. Mô hình hóa tiến trình nghiệp vụ
Mô hình hóa tiến trình nghiệp vụ
(modeling bussiness process) là sự biểu diễn đồ thị các chức năng của quá trình
Mục đích là thu thập việc thao tác,
lưu trữ và phân phối dữ liệu giữa các bộ phận trong một hệ thống
1. Mô hình hóa tiến trình nghiệp vụ
Biểu đồ luồng dữ liệu mức ngữ cảnh Biểu đồ luồng dữ liệu logic của hệ thống hiện thời, của hệ thống mới Biểu đồ luồng dữ liệu vật lý của hệ thống hiện thời, của hệ thống mới
2. Biểu đồ ngữ cảnh (context diagram)
Là biểu đồ biểu diễn tổng quan hoạt
động của hệ thống
Xác định phạm vi của hệ thống Diễn tả toàn bộ hệ thống bằng một ô
xử lý
Không có kho dữ liệu
Ví dụ 1
VD 2
3. Biểu đồ luồng dữ liệu data flow diagram (DFD)
Quy tắc chung Quy tắc vẽ tiến trình Quy tắc vẽ kho dữ liệu Quy tắc vẽ tác nhân Quy tắc vẽ luồng dữ liệu
3.1 Một số khái niệm Luồng dữ liệu Kho dữ liệu Tiến trình Tác nhân 3.2 Quy tắc vẽ
3.1 Một số khái niệm
Một trong những công cụ hữu hiệu của giai đoạn
phân tích (is one of the tools used in the analysis phase).
Sử dụng DFD để biểu diễn một cách linh hoạt
các thực thể ngoài, các chức năng, luồng dữ liệu và các kho dữ liệu
Khái niệm DFD:
Luồng dữ liệu Kho dữ liệu Tiến trình Tác nhân
(data flow) (data store) (process) (actor)
Biểu đồ luồng dữ liệu gồm có:
Phân loại
DFD luận lý (logic) diễn tả hệ thống
làm gì mà không diễn tả điều đó làm như thế nào
DFD vật lý (physical) diễn tả hệ
thống sẽ được thực hiện như thế nào, trong đó đề cập đến phần cứng, phần mềm, tập tin và con người
Công dụng
Diễn tả hoạt động của hệ thống hiện
hành
Phương tiện trao đổi giữa người phân
tích và người sử dụng
Dùng để xây dựng tài liệu đặc tả thiết
kế xử lý hệ thống
Ký hiệu Demarco/Yourdon
Tác nhân ngoài
Luồng dữ liệu
Tiến trình
Kho dữ liệu
Ký hiệu Gane/Sarson
Tác nhân ngoài
Luồng dữ liệu
Tiến trình
Kho dữ liệu
Luồng dữ liệu (data flow)
Định nghĩa
Luồng dữ liệu (data flow) là các dữ liệu di chuyển từ một vị trí này đến vị trí khác trong hệ thống trên một vật mang nào đó
Kí hiệu
Mũi tên có chiều chỉ hướng dữ liệu di chuyển và tên của dữ liệu được ghi ở trên nó. Tên luồng dữ liệu phải là 1 mệnh đề danh từ và phải thể hiện được sự tổng hợp của các phần tử dữ liệu riêng biệt chứa trong đó
Tên luồng dữ liệu
Tên luồng dữ liệu
Kho dữ liệu (data store)
Định nghĩa
Kho dữ liệu (data store) là vị trí lưu trữ dữ liệu Một kho dữ liệu có thể biểu diễn các dữ liệu được lưu trữ ở nhiều vị trí khác nhau (máy tính khác nhau, thư mục …)
Kí hiệu
Hình chữ nhật khuyết 1 cạnh (trái hoặc phải). Đầu không khuyết dùng 1 ô ghi số hiệu kho, bên trong hình chữ nhật ghi tên kho. Tên kho là một mệnh đề danh từ
D1
Tên kho dữ liệu
Tên kho dữ liệu
D2
Tiến trình (process)
Định nghĩa
n
Tiến trình (process) là một hay một số công việc hoặc hành động có tác động lên các dữ liệu (di chuyển, thay đổi, lưu trữ, phân phối. n Quá trình xử lý dữ liệu trong 1 hệ thống thường gồm nhiều tiến trình khác nhau
Tên tiến trình
- Tiến trình vật lý: nếu có chỉ ra con người hay phương tiện
Tên tiến trình thực thi chức năng đó
- Tiến trình logic: ngược lại với Tiến trình vật lý
Kí hiệu
Người/ phương tiện thực hiện
Hình chữ nhật góc tròn, có 2 hoặc 3 phần
phần trên ghi số hiệu của tiến trình phần dưới ghi tên tiến trình (người + phương tiện)
Tên tiến trình phải là 1 mệnh đề gồm động từ và bổ ngữ
Tác nhân (actor)
Định nghĩa
Tác nhân (actor) là một người, một nhóm người, bộ phận, một tổ chức hay 1 hệ thống khác nằm ngoài phạm vi này và có tương tác với nó về mặt thông tin (nhận hay gởi dữ liệu)
Kí hiệu
Hình chữ nhật dùng để kí hiệu một tác nhân, bên trong ghi tên tác nhân Tên tác nhân phải là 1 danh từ
Tên Tác nhân
3.2 Quy tắc vẽ - Quy tắc chung
Các cái vào của 1 tiến trình cần khác
cái ra
Các đối tượng trong một biểu đồ phải
có tên duy nhất Mỗi tiến trình có 1 tên duy nhất Tác nhân, kho dữ liệu có thể vẽ lặp lại Các luồng dữ liệu đi vào 1 tiến trình đủ để tạo thành các luồng dữ liệu đi ra
Quy tắc vẽ tiến trình
Không có tiến trình chỉ có thông tin ra
mà không có thông tin vào
Không có tiến trình chỉ có thông tin vào
mà không có thông tin ra
Đối tượng chỉ có thông tin ra thì chỉ có thể là tác nhân (nguồn) & ngược lại
Quy tắc vẽ kho dữ liệu
Không có luồng dữ liệu từ kho dữ liệu
này đến kho dữ liệu khác
Dữ liệu không thể di chuyển trực tiếp từ một tác nhân đến một kho dữ liệu & ngược lại
M
Quy tắc vẽ tác nhân
Dữ liệu không thể di chuyển trực tiếp
đến 1 tác nhân hay ngược lại
Dữ liệu phải qua tiến trình và luồng
dữ liệu
M
M
Quy tắc vẽ luồng dữ liệu
Một luồng dữ liệu không thể quay
lại nơi mà nó vừa đi khỏi
Một luồng dữ liệu không thể tự tách
ra
Một luồng dữ liệu đi vào một kho
nghĩa là kho dữ liệu được cập nhật
Một luồng dữ liệu đi ra khỏi một
kho nghĩa là kho dữ liệu được đọc
Info A
Info A
4. Phân rã biểu đồ luồng dữ liệu
4.1 Định nghĩa 4.2 Đảm bảo sự cân bằng giữa hai mức kề
nhau
4.3 Biểu đồ luồng dữ liệu mức sơ cấp 4.3 Lưu ý
4.1 Định nghĩa
Quá trình phân nhỏ mỗi tiến trình của một biểu đồ luồng dữ liệu thành một (hay nhiều) biểu đồ luồng dữ liệu mới (nếu có thể) gọi là phân rã biểu luồng dữ liệu đã cho
Một phần của DFD hệ thống đặt bữa ăn
Phân rã 1.0 Tiến trình 1.0 nó chuyển yêu cầu của khách thành 4 đầu ra khác nhau. Nhƣ vậy tiến trình 1.0 là đối tƣợng để phân rã. Giả sử ta có thể phân rã tiến trình 1.0 thành một biểu đồ mới nhƣ sau
4.2 Đảm bảo sự cân bằng giữa hai mức kề nhau
Khi phân rã một tiến trình của một biểu đồ
X1
luồng dữ liệu thành một biểu đồ ở mức sau thì phải bảo toàn: Luồng dữ liệu vào & ra Các tác nhân ngoài Kho dữ liệu
đơn hàng
X0
Đơn hàng và phiếu thanh toán
X2
Phiếu T.Toán
4.2 Đảm bảo sự cân bằng giữa hai mức kề nhau Tại mức thấp nhất của biểu đồ luồng dữ liệu, có thể thêm các luồng dữ liệu mới để biểu diễn dữ liệu được bổ sung: đó là các thông báo lỗi hay điều khẳng định nào đó. Luồng dữ liệu bổ sung được biểu diễn bằng mũi tên đức nét
4.3. Lưu ý
Những qui tắc để dừng quá trình phân rã:
Khi một tiến trình là 1 quyết định hay 1 một tính toán đơn giản, một thao tác dữ liệu (đọc, cập nhật, tạo, ghi, xóa) Khi người dùng hệ thống nhận ra được mọi công việc hoặc nhà phân tích đã lập được tài liệu chi tiết để thực hiện các nhiệm vụ phát triển hệ thống một cách tuần tự Khi mỗi luồng dữ liệu không cần chia nhỏ hơn để chỉ ra rằng các dữ liệu khác nhau đều đã được quản lí Khi đã chỉ ra được mỗi nhiệm vụ nghiệp vụ, hoặc một giao dịch, thông tin hiển thị và báo cáo là những luồng dữ liệu đơn, hay những tiến trình tách biệt ứng với mỗi lựa chọn trên thực đơn mức thấp nhất của hệ thống
5. Phát triển biểu đồ luồng dữ liệu cho một ứng dụng
Hướng cấu trúc cổ điển (top – down)
Hướng cấu trúc hiện đại (sự kiện)
Hướng cấu trúc cổ điển (top – down)
DFD logic
DFD logic + [Con ng + CSCV]1 => DFD
vật lý 1
DFD logic + [Con ng + CSCV]2 => DFD
vật lý 2
DFD logic + [Con ng + CSCV]3 => DFD
vật lý 3
Hướng cấu trúc hiện đại (sự kiện)
Ví dụ Biểu đồ luồng dữ liệu mức 0
Thông tin về xe
0
Thông tin phản hồi
Vé xe ra
KHÁCH
Vé xe vào
HỆ THỐNG QUẢN LÝ TRÔNG GỬI XE
Thông tin sự cố
Biên bản sự cố
Biểu đồ DFD ngữ cảnh
Biểu đồ luồng dữ liệu mức i (i>=1)
Biểu đồ mức i được phân rã từ biểu đồ
mức i -1
• Thay thế tiến trình được xét của biểu đồ luồng
dữ liệu mức i-1 bằng các tiến trình con tương ứng
• Giữ nguyên toàn bộ các tác nhân ngoài, các kho dữ liệu (nếu có) & các luồng dữ liệu liên quan đến tiến trình được xét trong biểu đồ i-1 • Thêm vào các luồng dữ liệu giữa các tiến trình
con, giữa tiến trình và kho dữ liệu
Cách phân rã:
Biểu đồ DFD mức 1
Tiến trình duy nhất của biểu đồ ngữ cảnh đƣợc thay bằng 3 tiến trình mới tƣơng ứng trong hình sau:
Phát triển biểu đồ DFD mức 2…
Nhận xe
Phát triển biểu đồ DFD mức 2…
Trả xe
Phát triển biểu đồ DFD mức 2…
Giải quyết sự cố
So sánh DFD với biểu đồ tiến trình (flowchart)
Các quá trình
Các quá trình song song
tuần tự
Thể hiện luồng dữ liệu xuyên suốt hệ thống
Thể hiện luồng điều khiển trình tự
Vẽ các biểu đồ DFD cho hệ thống sau
Quản lý điểm môn học của sinh viên
trường đại học A
Yêu cầu:
DFD mức ngữ cảnh DFD mức 1
Tóm tắt bài toán
Kho dữ liệu:
Tiến trình:
Thông tin sinh viên Thông tin môn học Điểm theo môn học
Nhập thông tin sv Nhập điểm Xem điểm
Luồng dữ liệu: Tiến trình Tác nhân Kho dữ liệu
Tác nhân: Sinh viên Quảnt lý
Tiến trình xem điểm
Tính điểm
Công thức (môn có BTL, môn không có
BTL)
Xem điểm
Đưa kết quả ra bảng tạm
0
yc
xem
Hệ thống
Sinh Sinh viên viên
Quản Quản lý lý
tb
tl
Thong tin sv
Quản lý
2.0
Nhập tt
3.0
Sinh viên
Nhập điểm
mh sv
1.0
Xem điểm
Điểm mh sv
Thong tin sv Thong tin sv
3.5 Mô hình hóa logic tiến trình
1. Mô hình hóa với cấu trúc tiếng Anh 2. Mô hình hóa với cấu trúc bảng quyết định 3. Mô hình hóa với cấu trúc cây quyết định 4. Nhận xét 5. Mô hình hóa logic thời gian
Biểu đồ luồng dữ liệu đủ tốt để xác định các tiến trình, nhưng nó không chỉ ra đầy đủ sự logic bên trong của mỗi tiến trình.
Ngay đối với các tiến trình ở biểu đồ
luồng dữ liệu sơ cấp cũng chưa chỉ ra tất cả nội dung xử lý của nó.
Cần có thêm mô hình.
1. Mô hình hóa logic với tiếng Anh cấu trúc
Sử dụng một số từ tiếng Anh để diễn tả các tiến trình cho gọn và dễ hiểu Chỉ sử dụng các động từ read, write,
print, sort, move, meger, add, multiply, divide
Sử dụng một số cấu trúc điều khiển cơ bản như: điều kiện, chọn, lặp
READ (…) SELECT CASE CASE 1 (…) DO (…) CASE 2 (….) DO (….)
BEGIN IF IF (. …..) THEN …… ELSE …… READ (. . . . .) END IF
READ (…..) WHILE …… DO BEGIN IF IF (……)
THEN
DO READ (. ….) BEGIN IF IF (….) THEN …… ELSE ….. END IF UNTIL (……)
….. ELSE ……… END IF END DO
Ví dụ
Tiến trình 1.0: cập nhật hàng nhập mới
DO READ (bản ghi phiếu giao hàng tiếp theo) FIND matching (bản ghi thẻ-kho tương ứng) ADD (SL từ bản ghi phiếu giao hàng) TO (SL tồn
kho trên bản ghi thẻ kho) UNTIL END OF FILE
Giải pt bậc 2
Chia thành 3 tiến trình sau: Nhập dữ liệu Tính delta Xuất kết quả
read (a); read (b); read (c); Tính deleta Delta = b*b – 4*a*c; Tính x1, x2 Write << x1; Write << x2;
do While dk;
Tiến trình 2.0: Cập nhật hàng xuất sử dụng
DO READ (bản ghi hàng tồn kho tiếp theo) FIND matching (bản ghi thẻ kho tương ứng) SUBSTRACT (SL sử dụng từ bản ghi mục hàng)
FROM (SL tồn trên bản ghi thẻ kho)
UNTIL END OF FILE
Tiến trình 3.0: lập đơn hàng
DO READ (bản ghi thẻ kho tiếp theo) IF (số lượng tồn kho) IS LESS THAN (số dự
trữ tối thiểu) THEN
(lập đơn hàng) ENDIF UNTIL END OF FILE
Tiến trình 4.0: tạo hóa đơn thanh toán
READ (ngày hiện thời) SORT (bản ghi phiếu giao) BY date DO READ (bản ghi phiếu giao tiếp theo) IF (date IS 30 OR GREATER THEN (ngày hiện tại)) THEN (lập giấy thanh toán) UNTIL END OF FILE
2. Mô hình hóa logic với Bảng quyết định
Bảng quyết định là một biểu đồ của
một tiến trình logic
Cấu trúc:
Điều kiện, miền giá trị Các hành động Các quy tắc
S: Nhân viên ăn lƣơng; H: Nhân viên làm việc theo giờ
Ví dụ
ĐIỀU KIỆN
Quy tắc
1
2
3
5
4
6
Loại nhân viên
S
H
S
S
H
H
Giờ làm việc
<40
<40
=40
=40
>40
>40
HÀNH ĐỘNG
X
X
Trả lương cơ bản
X
X
X
Tính lương theo giờ
X
X
Tính giờ làm thêm
Ghi báo cáo vắng
X
Rút gọn bảng ?
Ví dụ
Điều kiện
3
4
5
1
2
Loại biến
delta
delta
delta
a
a
Giá trị
<>0
0
<0
>0
0
Hành động
Thông báo
X
X
Tính delta
X
Tính x
X
Tính x1, x2
X
3. Mô hình hóa logic với cây quyết định
Là kỹ thuật đồ thị để mô tả hay lựa chọn tình huống như một loạt các nút hay rẽ nhánh theo sự kiện
Điểm quyết định (decision point): Nút – Hình
tròn
Các hành động: Hình elip Đường đi: Nối từ điểm quyết định đến hành
động – Đường thẳng, có ghi giá trị
Cách biểu diễn:
Ví dụ
Đúng
Trả lƣơng cơ bản
LCB
Sai
Đúng
Trả lƣơng cơ bản; BC vắng mặt
Làm việc <40g
Sai
Đúng
Trả lƣơng giờ
Làm việc =40g
Sai
Trả lƣơng giờ; Trả giờ làm thêm
Đúng
Tuổi <60
Sai
Đúng
Còn công tác
Nghỉ hƣu
A là nam
Sai
Sai
Đúng
Tuổi <55
4. Nhận xét
Tiêu chuẩn
Tiếng Anh cấu trúc
Bảng quyết định
Cây quyết định
thứ 2
thứ 3
tốt nhất
Xác định điều kiện và hành động
Tốt nhất
thứ 3
tốt nhất
Hình thành điều kiện và hành động theo trình tự
Kiểm tra sự nhất quán và đầy đủ
thứ 3
tốt nhất
tốt nhất
5. Mô hình hóa logic thời gian
Sử dụng với các ứng dụng mà thời gian là nhân tố cực kỳ quan trọng Là biểu đồ quan trọng khi PTTK theo
hướng đối tượng
Có 2 loại:
Biểu đồ chuyển trạng thái Bảng chuyển trạng thái
Biểu đồ chuyển trạng thái
Mô tả điều kiện tồn tại cho một tiến trình hoặc một thành phần của hệ thống Ký pháp:
Hình chữ nhật: Trạng thái Hình mũi tên: Sự kiện
Ví dụ
C1. Bật nút ON
-Bật đèn -Hiện thông báo
1. Nghỉ
2. Bán hàng
-Tắt đèn
C2. Bật nút OFF
Nguyên tắc chuyển sang biểu đồ chuyển trạng thái
Xác định mọi trạng thái có thể hay
trạng thái bắt đầu
Vẽ HCN biểu diễn trạng thái Nối các trạng thái bằng những mũi
tên
Ghi sự kiện Liệt kê các hành động
Bảng chuyển trạng thái
Dòng: Biểu diễn trạng thái Cột: Biểu diễn sự kiện Ô: Chứa 1 trong 3 khả năng
Trạng thái mới Sự kiện bị bỏ qua Không thể xảy ra
3.6 Mô hình hóa dữ liệu
1. Mô hình hóa dữ liệu 2. Các phần tử của biểu đồ quan hệ thực
thể (ERD)
3. Xây dựng biểu đồ quan hệ thực thể
(ERD)
4. Xây dựng biểu đồ dữ liệu quan hệ
(RDM)
5. Từ điển dữ liệu
1. Mô hình hóa dữ liệu
Diễn tả và quản lý dữ liệu Khái niệm Từ mô hình dữ liệu tới cài đặt CSDL Vai trò của biểu đồ quan hệ thực thể
Diễn tả và quản lý dữ liệu (phương tiện sơ đẳng)
Mã hóa
Sử dụng số hoặc ký tự để đặt tên cho
Từ điển dữ kiệu
một đối tượng nào đó VD: masv; tcth36aqn
Là tư liệu tập trung về tên gọi của các
đối tượng
Xem lại Chương 2
Khái niệm
Là mô hình để tổ chức và tài liệu hóa
dữ liệu của hệ thống
Kỹ thuật này xác định các yêu cầu đối
với CSDL
Có hai biểu đồ:
Biểu đồ thực thể quan hệ Biểu đồ dữ liệu quan hệ
Từ mô hình dữ liệu tới cài đặt CSDL
ERD (Entity Relationship Diagram): là mô
RDM (Relational Data Model): là bản thiết kế việc cài đặt của mô hình ERD trong môi trường CSDL quan hệ (độc lập phần mềm) [Thiết kế]
Sơ đồ quan hệ: là sơ đồ thể hiện cách thức mô hình dữ liệu được cài đặt với hệ quản trị CSDL
hình khái niệm của các thực thể dữ liệu, các thuộc tính và các quan hệ trong hệ thống [Phân tích]
Vai trò của biểu đồ quan hệ thực thể
CSDL = Dữ Liệu + Quan Hệ ERD được dùng để mô hình hóa dữ
liệu và quan hệ của chúng
ERD là biểu diễn đồ họa của mô hình
dữ liệu khái niệm
ERD là độc lập tài nguyên (không gắn
với môi trường CSDL nào)
2. Các phần tử của biểu đồ quan hệ thực thể (ERD)
Thực thể Thuộc tính Mối quan hệ
Thực thể (entity)
một đối tượng khái niệm mà ta cần thu thập và lưu trữ dữ liệu về nó
Là nhóm các thuộc tính tương ứng với
Là tập các thể hiện của đối tượng mà nó biểu diễn. Thể hiện của thực thể là một thực thể cụ thể
Có các loại: Con người; Vật thể; Sự kiện;
Trong ERD thực thể được ký hiệu là “hình
Khái niệm
chữ nhật”
Mỗi thực thể tương ứng với một bảng dữ
liệu trong CSDL của hệ thống
Ví dụ
Thực thể cụ thể
Khách hàng Nguyễn A Đơn hàng số 1999
Thực thể Trừu tượng
Khoa Công Nghệ Tài khoản số 687955
Thuộc tính (property hay attribute)
Mỗi thực thể bao gồm nhiều thông tin, mỗi thông tin là một thuộc tính của thực thể, ứng với một trường trong bảng dữ liệu tương ứng
nào đó của một thực thể
Là giá trị dùng để mô tả một khía cạnh
Ví dụ: Kiểu thực thể khách hàng được mô tả bằng các kiểu thuộc tính: tên, địa chỉ, số tài khoản Tên: Nguyễn A Địa chỉ: 12 Hùng Vương, Quảng Ngãi Số tài khoản: 123456789
Hai thông số cơ bản
Kiểu dữ liệu (Data type): là một
thuộc tính xác định kiểu dữ liệu có thể lưu trữ được
Phạm vi (Domain): Xác định các giá trị mà thuộc tính đó có thể chứa
Các loại thuộc tính Thuộc tính khóa:
Thể hiện cách tham khảo duy nhất Gồm một hay nhiều thuộc tính Nếu khóa chỉ gồm một kiểu thuộc tính duy nhất
thì gọi thuộc tính đó là một định danh (identifier). Tên định danh được viết với các tiền tố ID, #, SH, Mã
Đóng vai trò kết nối các thực thể Với thực thể này là thuộc tính khóa, với thực thể
khác là thuộc tính mô tả
Thuộc tính mô tả: Mô tả đối tượng Không phải khóa Thuộc tính liên kết:
Mối quan hệ
Một quan hệ là tài liệu hóa một liên kết (association) giữa một, hai hay nhiều thực thể
Ví dụ:
Khách hàng A đặt mua các mặt hàng 36
và 78
Anh Sơn là học trò của thầy Phan
Các liên kết
Một kiểu liên kết (association type) là một
tập hợp các liên kết có cùng ý nghĩa Một kiểu liên kết được định nghĩa giữa
nhiều kiểu thực thể. Số các kiểu thực thể tham gia vào kiểu liên kết được gọi là số ngôi của kiểu liên kết
nghĩa của liên kết
Tên của kiểu liên kết là động từ phản ánh ý
Giá trị ứng số trong các quan hệ
1..1 một và chỉ một 0..1 không hay một m..n từ m tới n 0..* từ không tới nhiều *..0 từ nhiều tới không 1..* từ một tới nhiều
sinhvien
Có 1 masv
(masv, tensv, …)
Có 1 masv
1-1
Lophp
(mamonhp,
1-n
masv, malop, …)
Lop (malop, tenlop,…)
Có nhiều malop
Chỉ có 1 malop
3. Xây dựng biểu đồ quan hệ thực thể
Các bước xây dựng mô hình hóa dữ
liệu logic
Trình tự xây dựng ERD Quy tắc xây dựng ERD Các kiểu ký hiệu ERD
Các bước xây dựng mô hình hóa dữ liệu logic
Mô hình dữ liệu ngữ cảnh Mô hình dữ liệu dựa trên khóa Mô hình dữ liệu với các thuộc tính đầy đủ Mô hình dữ liệu được chuẩn hóa Nguyên tắc Đơn giản Không dư thừa Linh động và dễ điều chỉnh
Trình tự xây dựng ERD
Xác định các thực thể Xác định các quan hệ giữa các thực
thể
Hoàn thiện các quan hệ với các số
yếu tố
Xây dựng mô hình
Xác định các thực thể - Cách 1 Thông tin liên quan tới giao dịch chủ yếu
của hệ thống Hóa đơn bán hàng thuộc về quá trình bán
hàng
Đơn đặt hàng thuộc về quá trình mua hàng Thông tin liên quan tới thuộc tính hoặc tài
Thông tin đã được khái quát dưới dạng thống kê liên quan tới lập kế hoạch hay quản lý Bảng chấm công Lịch trực
nguyên của hệ thống Khách hàng, nhà cung cấp Kho hàng
Đặt câu hỏi ghi nhận thông tin về thực thể
Cái gì mà ta cần lưu thông tin về
nó?
Cái gì là cốt yếu trong hệ thống? Cái gì mà ta nói về nó trong hệ
thống?
Có gì mà có thể dùng để phân biệt sự kiện của tập thực thể này so với tập thực thể khác?
Xác định các thực thể - Cách 2
Dựa vào bảng mô tả hệ thống (hiện tại, tương lai), xem xét các danh từ có trong đó xem có phải là thông tin cần lưu trữ không?
Ví dụ: chương trình quản lý kho hàng
Theo dõi hàng tồn trong một kho nào đó tại một thời
điểm nào đó
Theo dõi chi tiết xuất nhập tồn của mỗi loại hàng
hóa
in chi tiết xuất nhập vật tư cho mỗi khách hàng
Vật tư, Kho hàng; Khách hàng
Các tập thực thể là:
Xác định mối quan hệ
Quan hệ giữa các thực thể thường diễn tả bởi các động từ, nó xác định sự tác động giữa các thực thể với nhau
Nếu lưu thông tin về tập thực thể này trong tập thực thể kia thì sẽ xuất hiện một quan hệ để tạo mối liên kết
Quan hệ giữa hai thực thể là gián tiếp thì không
cần xây dựng mối quan hệ giữa chúng
Cần chú ý:
Ví dụ: Hệ thống quản lý tồn kho gồm
Xác định các thực thể chi tiết Quan hệ giữa danh mục tồn kho và danh mục
nhà cung cấp
Quan hệ n-n vì :
mỗi loại sản phẩm trong DM tồn kho có thể có hơn một nhà cung cấp trong DM nhà cung cấp
Tách quan hệ n-n thành các quan hệ 1-n: Tạo
danh mục đặt hàng có quan hệ 1-n với hai thực thể trên
Quy tắc xây dựng ERD
Mỗi thực thể phải có tên Mỗi thực thể phải có định danh Mỗi thể hiện không thể là thực thể Mỗi quan hệ phải có tên Số ứng số trong các quan hệ phải rõ
ràng
Các kiểu ký hiệu ERD
Thuộc tính 1
Thuộc tính 1
Thuộc tính 4
Thực thể 1
Thực thể 2
Thuộc tính 2
Thuộc tính 3
Thuộc tính 2
Thuộc tính 3
Các kiểu ký hiệu ERD
1
0..*
DM K.hàng
Chi tiết K.hàng
1
mua
0..*
1
Bao
0..*
0..*
Bao
1
DM bán hàng
DM tồn kho
Chi tiết bán hàng
gồm
gồm
1
1
0..*
Chi tiết đặt hàng
0..*
1
1
1
0..*
0..*
DM bảo hành
DM nhà CC
DM đặt hàng
Mô hình thực thể/ liên kết (Entity/ Association Model)
Là mô hình dữ liệu do PP. Chen đề xuất
năm 1976
Là mô hình mô tả tập hợp dữ liệu được
E/A xuất phát với ba khái niệm cơ bản:
dùng trong hệ thống theo cách gom cụm
Thực thể; Liên kết; Thuộc tính
Ví dụ: Các thông tin về tên, tuổi, chiều cao, cân nặng, địa chỉ … được gom cụm với nhau xung quang một người
Biểu diễn đồ họa các khái niệm của mô hình E/A - Chen’s
ứng số
0..*
1
Giao nộp
Đơn hàng ID. đơn hàng Ngày đơn hàng
Khách hàng ID. Khách hàng Tên khách hàng
Kiểu liên kết
Kiểu thực thể Hình chữ nhật 2 ngăn: Ngăn 1: tên thực thể Ngăn 2: danh sách các thuộc tính Tên thực thể là danh từ
Sở hữu
0..*
Người
1
Căn hộ
0..*
ID. Người tên
0..1
ID. Căn hộ Địa chỉ
thuê
Mô hình thực thể / liên kết mở rộng
Do xu thế hướng đối tượng tác động nên từ năm 1980 người ta đã đưa thêm một số điểm mở rộng vào mô hình E/A
Các điểm mở rộng
Các kiểu thuộc tính đa trị Các kiểu thuộc tính phức hợp Các kiểu thực thể con
4. Xây dựng biểu đồ dữ liệu quan hệ (RDM)
Mô hình quan hệ được đề xuất và phát triển
vào năm 1970 bởi E.F.Codd
RDM (Relational Data Model) là công cụ tiếp theo của ERD dùng để mô hình hóa dữ liệu nhằm mục đích xác định danh sách các thuộc tính của các thực thể
Xác định các thuộc tính cần thiết Chuẩn hóa các thực thể Xác định các mqh giữa các thuộc tính với các
thực thể
Xây dựng mô hình RDM
Quy trình xây dựng RDM:
Xác định các thuộc tính (nhắc lại)
Dựa vào các yếu tố:
Từ thông tin thu thập được, ta lập
danh sách các thuộc tính cho các thực thể trong ERD. Phân biệt các thuộc tính khóa
Sự hiểu biết về hệ thống Quá trình thu thập thông tin
Phân tích và chuẩn hóa dữ liệu
Chuẩn bị mô hình dữ liệu cho việc cài đặt thành một CSDL. Không dư thừa, mềm dẽo, dễ thích ứng
Là kỹ thuật tổ chức các thuộc tính dữ liệu sao cho chúng được nhóm thành các thực thể không dư thừa, ổn định: Không có sự lặp lại thuộc tính ở các bảng
khác nhau, trừ khóa
Không chứa các thuộc tính có giá trị là
kết quả được tính từ các thuộc tính khác
Khái niệm phụ thuộc hàm
Phụ thuộc hàm đơn trị:
1 khách hàng
Phụ thuộc hàm đa trị:
1 giá trị của khóa trong bảng xác định được 1 giá trị cho các thuộc tính khác VD: Mỗi mã khách hàng chỉ có duy nhất
1 giá trị của khóa trong bảng ứng với nhiều giá trị của các thuộc tính khác VD: Mỗi mã sinh viên có nhiều mã môn
học đi kèm
Ví dụ: mã khách hàng, tên khách hàng, ngày, sl …
Chuẩn hóa dạng 1 - 1NF
Các thuộc tính nào có thể xuất hiện
mã khách hàng, ngày, sl …
nhiều lần cùng với 1 thực thể thì loại bỏ
Các thuộc tính bị loại bỏ cùng với mã khách hàng, tên khách hàng
khóa của thực thể ban đầu tạo thành tập thực thể mới
Chuẩn hóa dạng 2 – 2NF
Các thuộc tính trong thực thể phải phụ
thuộc hàm vào toàn bộ khóa
Đối với các thực thể chỉ có 1 trường là khóa
Đối với các thực thể có khóa bao gồm 2
thì đương nhiên thõa mãn chuẩn 2
thuộc tính trở lên, nếu trong đó có những thuộc tính phụ thuộc hàm đơn trị vào một bộ phận của khóa thì tách các thuộc tính đó ra thành 1 thực thể với khóa là một bộ phận khóa của thực thể ban đầu mà nó phụ thuộc hàm
Chuẩn hóa dạng 3 – 3NF
Tách các thuộc tính phụ thuộc hàm đơn trị vào thuộc tính không phải là khóa, đưa chúng vào thực thể mới có khóa chính là thuộc tính mà nó phụ thuộc hàm
Tất cả các thuộc tính phải phụ thuộc đơn trị vào khóa và không phụ thuộc hàm đơn trị vào bất kỳ thuộc tính nào không phải là khóa trong thực thể
Ví dụ
Số hóa đơn: ….. Ngày: …… Khách hàng: ….. Mã số KH: … Địa chỉ: ……
Th.tiền
Mã hàng
Tên hàng
Đơn giá
Số lượng
Quá trình chuẩn hóa
Số hóa đơn, ngày, mã khách hàng, tên khách hàng, địa chỉ, mã hàng, tên hàng, đơn giá, số lượng, thành tiền
Số hóa đơn, ngày, mã khách hàng, tên khách hàng, địa chỉ; Số hóa đơn, mã hàng, tên hàng, đơn giá, số lượng
Số hóa đơn, ngày, mã khách hàng; mã khách hàng, tên khách hàng, địa chỉ; Số hóa đơn, mã hàng, đơn giá, số lượng; mã hàng, tên hàng;
Số hóa đơn, ngày, mã khách hàng mã khách hàng, tên khách hàng, địa chỉ Số hóa đơn, mã hàng, đơn giá, số lượng mã hàng, tên hàng
Các thực thể
Hóa đơn (số hóa đơn, mã khách hàng,
Khách hàng (mã khách hàng, tên, địa chỉ) Đơn hàng (số hóa đơn, mã hàng, số lượng,
ngày)
Mặt hàng (mã hàng, tên hàng)
đơn giá)
Mô hình ERD
Kết hợp các tập thực thể chung
đặt hàng)
Không thỏa dạng chuẩn 3 vì: Đơn hàng (số đơn hàng, mã khách hàng, ngày Địa chỉ giao phụ thuộc hàm vào Mã số khách hàng là thuộc tính không phải khóa Đơn đặt hàng (số đơn hàng, tình trạng, địa chỉ của thực thể
giao) Gộp lại, ta có:
Bước 1: Đơn hàng (số đơn hàng, mã khách
hàng, ngày đặt hàng, tình trạng, địa chỉ giao)
Bước 2: Đơn hàng (số đơn hàng, mã khách
hàng, ngày đặt hàng, tình trạng)
Xét 2 tập thực thể:
Xác định các mối quan hệ
Đơn hàng bán (số hiệu đơn hàng, mã khách hàng, ngày đặt hàng) Khách hàng (mã khách hàng, tên khách hàng, địa chỉ) Dòng đơn hàng (số hiệu đơn hàng, mã hàng, số lượng, đơn giá) Mặt hàng (mã hàng, tên hàng) Giao nhận (số hiệu giao nhận, mã khách hàng, ngày giao) Dòng giao hàng (số hiệu giao nhận, số hiệu đơn hàng, mã hàng, số
lượng giao)
Ma trận thực thể/khóa
Đơn hàng
Khách hàng
Mặt hàng
Giao nhận
Thực thể thuộc tính khóa
Dòng đơn hàng
Dòng giao nhận
Số hiệu đơn hàng
Mã số khách hàng
Mã hàng
Số hiệu giao hàng
X: Nếu thuộc tính khóa có trong thực thể
O: Nếu thuộc tính khóa không có trong thực thể
DFD ngữ cảnh (context diagram)
DFD cấp 0
DFD cấp con
Xây dựng mô hình RDM
So sánh ERD với RDM để chỉnh lý
những điểm khác biệt sao cho 2 mô hình phản ánh chính xác lẫn nhau Có thể thêm hoặc bỏ những quan hệ
phụ làm trong sáng mô hình
5. Từ điển dữ liệu
Khái niệm: là một trong những bộ phận của tài liệu phân tích thiết kế, nó mô tả nội dung các đối tượng theo định nghĩa có cấu trúc
luồng dữ liệu chỉ ở mức khái quát
Trong DFD các chức năng xử lý, dữ liệu,
Phần liệt kê có tổ chức các phần tử dữ liệu
thuộc hệ thống
Liệt kê các mục từ chỉ tên gọi theo một thứ tự
nào đó
Giải thích các tên một cách chính xác, chặt
chẽ, ngắn gọn
Để người phân tích và người sử dụng hiểu cái vào, cái ra và cái luân chuyển trong hệ thống
Từ điển dữ liệu là :
Kí hiệu mô tả nội dung cho từ điển dữ liệu
Kí hiệu Ý nghĩa
Kết cấu dữ liệu
Định nghĩa = Được tạo từ
Tuần tự + Và
Lặp
{}n
Lặp n lần
Lựa chọn
()
Giải thích
* …
Dữ liệu tùy thuộc lựa chọn Chú thích
Tuyển chọn [|] Hoặc
Ví dụ
Khách hàng = Họ tên khách hàng + tài khoản +
địa chỉ + điện thoại
Hàng = Mã hàng + tên hàng + đơn vị tính + đơn
giá
Hóa đơn = Số hóa đơn + ngày bán + khách hàng
+
+ hàng * n + số lượng * n + đơn giá * n + thành tiền * n + thành tiền + KT trưởng + người bán
Bài kỳ sau