Tài liệu hướng dẫn giải dạy chương trình kỹ thuật viên ngành lập trình học phần 4 phân tích hệ thống, tổng quan về triển khai ứng dụng tin học; khảo sát ứng dụng tin học; mô hình thực tế và kết hợp. Tài liệu hướng dẫn giải dạy chương trình kỹ thuật viên ngành lập trình học phần 4 phân tích hệ thống, tổng quan về triển khai ứng dụng tin học; khảo sát ứng dụng tin học; mô hình thực tế và kết hợp
Trang 1TÀI LIỆU HƯỚNG DẪN GIẢNG DẠY
CHƯƠNG TRÌNH KỸ THUẬT VIÊN
NGÀNH LẬP TRÌNH Học phần 4 PHÂN TÍCH HỆ THỐNG
Trang 2Mục lục
Mục lục 1
GIỚI THIỆU 4
GIÁO TRÌNH LÝ THUYẾT 5
TÀI LIỆU THAM KHẢO 5
HƯỚNG DẪN PHẦN LÝ THUYẾT 6
Bài 1 TỔNG QUAN VỀ TRIỂN KHAI ỨNG DỤNG TIN HỌC (UDTH) 6
I Phân loại các UDTH 7
I.1 Phân loại theo lãnh vực áp dụng 7
I.2 Phân loại theo qui mô về số người tham gia và thời gian triển khai 7
II Phương pháp triển khai dựa theo mô hình thác nước 8
II.1 Giai đoạn khảo sát 9
II.2 Giai đoạn phân tích 9
II.3 Giai đoạn thiết kế 10
II.4 Giai đoạn lập trình – kiểm thử 11
Bài 2 KHẢO SÁT UDTH 13
I Khảo sát thực tế 14
I.1 Nội dung thực hiện 14
I.2 Phương pháp thực hiện 16
II Lập kế hoạch triển khai 17
II.1 Kiến trúc tổng thể của UDTH 17
II.2 Kế hoạch triển khai cho từng phân hệ 18
II.3 Kế hoạch tổ chức khai thác UDTH 19
III Lập Hồ sơ khảo sát 19
Bài 3 MÔ HÌNH THỰC THỂ – KẾT HỢP 20
I Khái niệm 20
I.1 Thực thể (Entity) 21
I.2 Thuộc tính (Attribute) 22
I.3 Loại thực thể (Entity Type) 23
I.4 Loại mối kết hợp (Relationship) 24
I.5 Một số trường hợp đặc biệt 25
II Công cụ DB-Main 27
Trang 3Bài 4 PHÂN TÍCH THÀNH PHẦN DỮ LIỆU 37
I Lập sơ đồ quan niệm dữ liệu 37
I.1 Xác định danh sách các loại thực thể (cùng các thuộc tính của chúng) 38
I.2 Xác định các loại mối kết hợp giữa các loại thực thể để phác thảo sơ đồ quan niệm dữ liệu 39 I.3 Hoàn chỉnh sơ đồ quan niệm dữ liệu 39
II Ràng buộc toàn vẹn mô tả bổ sung ngữ nghĩa 41
Bài 5 PHÂN TÍCH THÀNH PHẦN XỬ LÝ 43
I Xác định danh sách các xử lý 43
I.1 Tiếp cận theo kết xuất 43
I.2 Tiếp cận theo qui trình nghiệp vụ 44
II Mô tả các xử lý 44
Bài 6 MÔ HÌNH DỮ LIỆU QUAN HỆ 46
I Khái niệm 46
I.1 Thuộc tính (Attribute) 47
I.2 Quan hệ (Relation) 48
I.3 Bộ (tuple) 49
I.4 Khóa chỉ định (candidate key) – Khóa chính (primary key) 49
I.5 Khóa ngoại (foreign key) 51
II Công cụ DB-Main 52
II.1 Chức năng chuyển đổi tự động sơ đồ quan niệm dữ liệu của bộ công cụ DB Main 52
II.2 Phát sinh script file tạo cơ sở dữ liệu bằng DB Main 52
Bài 7 THIẾT KẾ THÀNH PHẦN DỮ LIỆU 53
I Lập sơ đồ logic dữ liệu 53
I.1 Chuyển đổi sơ đồ quan niệm dữ liệu sang sơ đồ logic dữ liệu 53
I.2 Một số trường hợp đặc biệt 57
I.3 Tối ưu hoá sơ đồ logic dữ liệu 58
II Ràng buộc toàn vẹn mức thiết kế 60
II.1 Xác định danh sách các ràng buộc toàn vẹn 60
II.2 Bảng tầm ảnh hưởng 60
II.3 Phương pháp kiểm tra ràng buộc toàn vẹn 62
II.4 Thiết kế các nội dung khác có liên quan đến dữ liệu 63
Bài 8 THIẾT KẾ THÀNH PHẦN XỬ LÝ 64
I Thiết kế các thủ tục, hàm 64
II Mô tả các thủ tục, hàm 64
Bài 9 THIẾT KẾ THÀNH PHẦN GIAO DIỆN 66
I Vai trò của giao diện 66
Trang 4II Chất lượng của giao diện 67
III Thiết kế giao diện 69
III.1 Thiết kế màn hình chính 69
III.2 Thiết kế thực đơn chính 70
III.3 Thiết kế màn hình đăng nhập 70
III.4 Thiết kế thanh công cụ 70
III.5 Thiết kế màn hình nhập liệu 71
III.6 Thiết kế màn hình tìm kiếm, tra cứu 73
III.7 Thiết kế màn hình hỏi đáp 73
III.8 Thiết kế màn hình thông báo 73
III.9 Thiết kế màn hình gọi thực hiện báo cáo 74
III.10 Thiết kế báo cáo 74
III.11 Thiết kế màn hình thông số cho UDTH 74
III.12 Thiết kế màn hình tiện ích 75
Bài 10 LẬP TRÌNH – KIỂM THỬ 78
I Lập trình 78
I.1 Một số qui tắc 78
I.2 Các bước thực hiện 79
II Kiểm thử 81
II.1 Kiểm thử chức năng 81
II.2 Kiểm thử hệ thống 82
Trang 5GIỚI THIỆU
Sau khi hoàn thành khóa học, học viên sẽ có khả năng:
Tự xây dựng một ứng dụng quản lý có qui mô nhỏ dựa trên một hồ sơ khảo sát chi tiết
Có thể tham gia (lập trình) trong một nhóm triển khai các ứng dụng với qui mô vừa phải
Với thời lượng là 36 tiết LT và 30 tiết TH được phân bổ như sau:
Trang 6GIÁO TRÌNH LÝ THUYẾT
Sử dụng giáo trình “Phân tích Hệ thống” của tác giả Nguyễn Tiến Dũng – Nguyễn An Tế
TÀI LIỆU THAM KHẢO
Trang 7HƯỚNG DẪN PHẦN LÝ THUYẾT
Bài 1
TỔNG QUAN VỀ TRIỂN KHAI ỨNG DỤNG TIN
HỌC (UDTH)
Tóm tắt
Lý thuyết 2 tiết - Thực hành 0 tiết
Mục tiêu Các mục chính Bài tập bắt
buộc
Bài tập làm thêm
Nắm được khái niệm về
các bước triển khai một
UDTH (xây dựng UDTH)
dựa theo mô hình thác
nước
I Phân loại các UDTH
II Phương pháp triển khai dựa theo mô hình thác nước với 4 giai đoạn chính
Trước khi đi vào nội dung chính là trình bày một phương pháp triển khai ứng dụng tin học dựa theo mô hình thác nước, chúng tôi xin lưu ý bạn đọc rằng triển khai một ứng dụng tin học không chỉ đơn thuần là lập trình (coding) mà bao gồm rất nhiều công việc, và chúng được chia thành nhiều giai đoạn khác nhau Xây dựng một ứng dụng tin học cũng có thể được so sánh phần nào với việc xây cất một công trình gồm nhiều giai đoạn : công việc được bắt đầu bằng lập luận chứng kinh tế, dự toán công trình, kế tiếp là lập các bảng vẽ thiết kế, chuẩn bị vật tư, thiết bị, nhân công, đổ nền móng, xây cất các hạng mục,… Độ phức tạp của công việc xây dựng công trình sẽ phụ thuộc rất nhiều vào qui mô cũng như mục đích sử dụng của công trình Tương tự như vậy, độ phức tạp của việc xây dựng một ứng dụng tin học cũng phụ thuộc vào hai yếu tố: qui mô và lãnh vực áp dụng của ứng dụng tin học
Trong phần đầu tiên của bài này, chúng tôi sẽ đề cập sơ lược về việc phân loại các ứng dụng tin học theo hai yếu tố nói trên, và sau phần phân loại, phần II kế tiếp sẽ giới thiệu tóm tắt các giai đoạn của phương pháp triển khai ứng dụng tin học dựa theo mô hình thác nuớc Nội dung chi tiết công việc trong mỗi giai đoạn sẽ được trình bày trong các bài sau
Trang 8I Phân loại các UDTH
Những ứng dụng tin học hiện nay có thể được chia làm nhiều loại khác nhau dựa trên lãnh vực áp dụng của chúng
I.1 Phân loại theo lãnh vực áp dụng
9 Thứ nhất, đó là những ứng dụng tin học được sử dụng trong lãnh vực quản lý tại các doanh nghiệp, các đơn vị hành chánh sự nghiệp hay các tổ chức xã hội khác, ví dụ: những ứng dụng về quản lý nhân sự - tiền lương, kế toán, quản lý vật tư, quản lý thành phẩm, theo dõi công nợ khách hàng,… Ở nước ta hiện nay, loại ứng dụng tin học này rất phổ biến và có mặt ở hầu hết các đơn vị có sử dụng máy tính
9 Các ứng dụng tin học cũng có thể được áp dụng trong lãnh vực khoa học kỹ thuật ở nhiều mức độ khác nhau: từ việc phân tích, thống kê số liệu, giải nhiều bài toán các loại,…cho đến các chương trình điều khiển lò phản ứng hạt nhân, tên lửa, vệ tinh, tàu vũ trụ,…
9 Một lãnh vực áp dụng khác của các ứng dụng tin học là giáo dục, giải trí như các phần mềm học ngoại ngữ, học tin học, từ điển bách khoa (kiến thức phổ thông), các trò chơi,…
9 Cuối cùng là các phần mềm phục vụ công việc truyền thông, trao đổi thông tin, đặc biệt là trong môi trường Internet
I.2 Phân loại theo qui mô về số người tham gia và thời gian triển
khai
Mặt khác, như chúng tôi đã đề cập ở phần đầu của bài này, bên cạnh lãnh vực áp dụng thì các ứng dụng tin học còn được phân loại dựa trên qui mô (số người tham gia và thời gian triển khai) như trong bảng bên dưới
Rất lớn > 1000 người > 5 năm
Phân loại ứng dụng theo qui mô
Lưu ý: sự phân loại trong bảng trên chỉ có tính chất tương đối
Trang 9Trong phạm vi của các khóa đào tạo Lập trình viên chuyên nghiệp của Trung tâm Tin học, chúng tôi chỉ chú trọng đến loại ứng dụng tin học được áp dụng trong lãnh vực quản lý với qui mô nhỏ, được triển khai bởi một nhóm không quá 5 người và từ đây về sau, nếu không có chú thích gì thêm thì thuật ngữ ứng dụng tin học dùng để chỉ các ứng dụng tin học được áp dụng trong lãnh vực quản lý với qui mô nhỏ nói trên Ngoài ra, thuật ngữ ứng dụng tin học cũng có thể được gọi tắt là ứng dụng
Chú ý:
Trong môn học này chỉ xét đến loại UDTH thuộc lãnh vực quản lý với qui mô nhỏ
Hiện nay có một số phương pháp triển khai ứng dụng tin học như: phương pháp dựa theo mô hình thác nuớc (water fall), mô hình chữ V, phương pháp mẫu thử (prototype),… và chúng tôi sẽ chọn giới thiệu phương pháp dựa theo mô hình thác nước để áp dụng cho việc triển khai các ứng dụng tin học Trước tiên, phương pháp này sẽ được giới thiệu tóm tắt trong phần II kế tiếp và nội dung chi tiết công việc trong mỗi giai đoạn của phương pháp sẽ được trình bày trong các bài tiếp theo
II Phương pháp triển khai dựa theo mô hình thác
0
Trang 10Mô hình thác nước
II.1 Giai đoạn khảo sát
Nội dung
Tìm hiểu thực tế thuộc phạm vi của UDTH để nắm bắt được các yêu cầu của người sử dụng và lập kế hoạch triển khai
Đối tượng tham gia
Những nhân viên nghiệp vụ (người sử dụng) và những người thực hiện công việc khảo sát (các chuyên viên tin học)
II.2 Giai đoạn phân tích
Nội dung
Mô tả lại thực tế thuộc phạm vi của UDTH, trả lời cho câu hỏi WHAT (những gì sẽ cần
phải xây dựng) Nội dung mô tả bao gồm hai thành phần: dữ liệu và xử lý
Đối tượng tham gia
Những chuyên viên tin học và có thể là một vài người sử dụng có một trình độ nhất định về Tin học
Yêu cầu
Yêu cầu của giai đoạn phân tích là tính chính xác, đầy đủ, rõ ràng và độc lập với môi
trường cài đặt ứng dụng tin học
0
Trang 11Kết quả của việc phân tích thành phần xử lý: danh sách các xử lý và bảng mô tả xử lý
Các UDTH được xét trong môn học này sẽ có thành phần dữ liệu phức tạp hơn thành phần xử lý Việc phân tích các thành phần trên được dựa vào hồ sơ khảo sát của giai đoạn khảo sát
Việc phân tích cần rõ ràng và phải độc lập với môi trường cài đặt
Kinh nghiệm giảng dạy:
Cần giải thích thêm về thành phần dữ liệu và xử lý:
Dữ liệu là các thông tin đầu vào và đầu ra, thường được lưu trữ và truy xuất bởi ứng dụng Xử lý là các tính toán thực hiện trên dữ liệu, xử lý cũng có thể là thêm, sửa, huỷ trên dữ liệu
ùÝ nghĩa của sơ đồ quan niệm dữ liệu: dùng để mô tả lại nội dung của thế giới thực thuộc phạm vi
Tin học của ứng dụng
Sự cần thiết khi đưa ra các ràng buộc toàn vẹn: để bổ sung thêm các ngữ nghĩa (kiểm tra dữ liệu)
mà sơ đồ quan niệm dữ liệu không thể biểu diễn đuợc
Ý nghĩa của việc lập danh sách các xử lý và bảng mô tả xử lý: nhằm để tập hợp đầy đủ các xử lý
(yêu cầu của người sử dụng) mà ứng dụng sẽ phải cung cấp khi triển khai
Việc phân tích yêu cầu tính rõ ràng Ví dụ: nếu thực tế có phiếu nhập và phiếu xuất thì trong sơ đồ
quan niệm dữ liệu cũng phải co ùphiếu nhập và phiếu xuất (không nên gộp lại thành một phiếu)
II.3 Giai đoạn thiết kế
Nội dung
Nhằm cụ thể hóa, tối ưu hóa các thành phần của ứng dụng tin học theo một môi trường cài đặt được lựa chọn Hay nói cách khác, giai đoạn này nhằm mục đích phác họa cách
thức ứng dụng sẽ được triển khai như thế nào (trả lời cho câu hỏi HOW) Nội dung thiết kế
bao gồm ba thành phần: dữ liệu, xử lý và giao diện
Đối tượng tham gia
Các chuyên viên thiết kế, chuyên viên phân tích và những người sử dụng (đối với thành phần giao diện)
0
Trang 12
Yêu cầu
Yêu cầu của giai đoạn thiết kế là tính chính xác, đầy đủ và hiệu quả (phụ thuộc vào môi
trường cài đặt)
Kết quả
Kết quả của giai đoạn thiết kế là sơ đồ logic dữ liệu, các ràng buộc toàn vẹn mức thiết kế, bảng tầm ảnh hưởng, danh sách các thủ tục/hàm và thuật giải của thủ tục/hàm, danh sách thực đơn, thanh công cụ, các màn hình và báo cáo
Chú ý:
Kết quả của việc thiết kế thành phần dữ liệu: sơ đồ logic dữ liệu, các ràng buộc toàn vẹn mức
thiết kế, bảng tầm ảnh hưởng
Kết quả của việc thiết kế thành phần xử lý: danh sách các thủ tục/hàm và thuật giải của thủ
tục/hàm
Kết quả của việc thiết kế thành phần giao diện: danh sách thực đơn, thanh công cụ, các màn
hình và báo cáo
Việc thiết kế các thành phần trên được dựa vào hồ sơ phân tích
Tính rõ ràng được thay thế bằng tính hiệu quả và phụ thuộc vào môi trường cài đặt Ví dụ: trong giai đoạn phân tích, trong sơ đồ quan niệm dữ liệu sẽ có phiếu nhập và phiếu xuất (có 2) nhưng
trong giai đoạn thiết kế thì nên gộp lại thành một bảng(có 1) nhằm tăng tính hiệu quả khi cài đặt
Kinh nghiệm giảng dạy:
Cần giải thích thêm về thành phần giao diện
ùÝ nghĩa của sơ đồ logic dữ liệu
II.4 Giai đoạn lập trình – kiểm thử
Nội dung
Cài đặt (coding) các thành phần trong hồ sơ thiết kế Nội dung cài đặt gồm ba thành
phần: dữ liệu, xử lý và giao diện Sau giai đoạn cài đặt thì đến giai đoạn kiểm thử (testing)
chương trình
Đối tượng tham gia
Các lập trình viên và chuyên viên thiết kế
Yêu cầu
Yêu cầu của giai đoạn lập trình – kiểm thừ là tính chính xác và đầy đủ theo hồ sơ thiết kế
0
Trang 13
Kết quả
Kết quả của giai đoạn lập trình – kiểm thử là bộ chương trình mang đi cài đặt (setup) cho người sử dụng
Trang 14Bài 2 KHẢO SÁT UDTH
Tóm tắt
Lý thuyết 2 tiết - Thực hành 0 tiết
Mục tiêu Các mục chính Bài tập bắt
buộc
Bài tập làm thêm
Nắm được các bước thực
hiện trong giai đoạn
khảo sát một UDTH dựa
theo mô hình thác nước
I Khảo sát thực tế
II Lập kế hoạch triển khai III Lập hồ sơ khảo sát
2.1 hoặc 2.2
Như chúng tôi đã đề cập trong bài 1, giai đoạn khảo sát trong phương pháp mô hình thác nước nhằm tìm hiểu thực tế được giới hạn trong phạm vi của ứng dụng tin học, nắm bắt những yêu cầu của người sử dụng và từ đó lập kế hoạch triển khai ứng dụng tin học trước khi chuyển sang giai đoạn phân tích
Dựa trên mục tiên đào tạo của các khóa Lập trình viên chuyên nghiệp của Trung Tâm Tin Học, chúng tôi sẽ không chú trọng nhiều đến giai đoạn khảo sát vì giai đoạn này cần đến những chuyên viên không những phải có trình độ cao về tin học mà còn phải có thật nhiều kinh nghiệm, đã từng tham gia triển khai nhiều ứng dụng và có sự hiểu biết nhất định về các mặt của hoạt động nghiệp vụ liên quan đến ứng dụng tin học sẽ được xây dựng Vì vậy, trong bài này, chúng tôi chỉ giới thiệu tóm tắt một số nội dung chính của giai đoạn khảo sát để giúp bạn đọc có được một cái nhìn khái quát về giai đoạn này
Giai đoạn khảo sát có hai công việc chính: khảo sát thực tế và lập kế hoạch triển khai Những
công việc này sẽ được đề cập trong các phần tiếp theo
Trang 15I Khảo sát thực tế
Giai đoạn khảo sát là giai đoạn mở đầu và đóng một vai trò hết sức quan trọng đối với toàn bộ quá trình triển khai ứng dụng tin học Việc khảo sát không đầy đủ, không chính xác chắc chắn sẽ gây ra những hậu quả rất nghiêm trọng về sau và có khi phải hủy bỏ toàn bộ những kết quả đã thực hiện và tiến hành khảo sát trở lại ! Trong phần này, chúng tôi sẽ trình bày nội dung và phương pháp thực hiện công việc khảo sát thực tế để xây dựng một ứng dụng tin học
I.1 Nội dung thực hiện
I.1.1 Hiện trạng quản lý
Hiện trạng quản lý cần được khảo sát tại một đơn vị bao gồm sơ đồ tổ chức và các qui trình quản lý nghiệp vụ
9 Người tham gia thực hiện khảo sát cần phải biết rõ sơ đồ tổ chức của đơn vị để có thể hình dung được hoạt động chung của toàn đơn vị cũng như hiểu rõ sự phối hợp giữa các phòng, ban với nhau
9 Sơ đồ tổ chức được thể hiện bằng hình vẽ gồm các phòng, ban (có hay không có tham gia khai thác ứng dụng tin học sẽ được xây dựng) của đơn vị
Người điều hành
Sơ đồ tổ chức
Qui trình hoạt động kinh doanh
9 Các qui trình quản lý (xử lý) có thể được chia làm 2 loại: qui trình chỉ do một phòng, ban duy nhất thực hiện và qui trình có sự phối hợp tham gia của nhiều phòng, ban
Trang 161 Kiểm tra phiếu đề nghị TU
số dư TU
Kế toán tạm ứng
Kế toán trưởng
Sơ đồ luân chuyển chứng từ – nghiệp vụ theo dõi tạm ứng I.1.2 Hiện trạng tin học hoá quản lý tại các phòng, ban
Hiện trạng tin học hoá quản lý cần được khảo sát tại các phòng, ban bao gồm:
Máy móc thiết bị
+ máy chủ (server): số lượng, cấu hình, chức năng khai thác
+ máy trạm (workstation): số lượng, cấu hình, chức năng khai thác
+ thiết bị mạng, truyền thông: hub, dây cable, modem, …
+ thiết bị khác: máy in, …
Trang 17 Phần mềm
+ hệ điều hành mạng (trên máy chủ)
+ hệ điều hành trên các máy trạm
+ các phần mềm triển khai: hệ quản trị cơ sở dữ liệu, ngôn ngữ lập trình,…
+ các phần mềm khác: phục vụ công tác văn phòng,…
Trình độ tin học của người sử dụng
+ người quản trị mạng (administrator): số lượng, trình độ, kinh nghiệm
+ người dùng cuối (end-user): số lượng, trình độ, kinh nghiệm
+ người lãnh đạo: sự hiểu biết về Tin học và tin học hóa quản lý
I.1.3 Yêu cầu người dùng đối với UDTH
Cần phân biệt rõ 2 loại: yêu cầu chức năng (nghiệp vụ) và yêu cầu phi chức năng (hệ thống):
9 Yêu cầu chức năng là những yêu cầu có liên quan chặt chẽ đến hoạt động nghiệp vụ của
người sử dụng, ví dụ những yêu cầu về nhập số liệu, xử lý dữ liệu, tạo báo biểu,…
9 Yêu cầu phi chức năng là những yêu cầu liên quan đến chính quá trình triển khai cũng như
nhằm hỗ trợ thêm cho người sử dụng trong khai thác ứng dụng tin học; ví dụ: những yêu cầu về thời gian triển khai, môi trường triển khai, giao diện, bảo mật chương trình, sao lưu và phục hổi số liệu,…
I.2 Phương pháp thực hiện
Khi tiến hành công việc khảo sát tại một đơn vị nào đó, chúng ta cần tiếp xúc với những người phụ trách các phòng, ban cũng như với các nhân viên nghiệp vụ đảm trách những công việc có liên quan đến ứng dụng tin học sẽ được xây dựng về sau
Việc khảo sát thực tế nên được thực hiện theo 2 chiều: nhân viên nghiệp vụ trình bày phần công việc được phân công phụ trách và ngược lại, người khảo sát cũng nên thường xuyên đặt những câu hỏi (thắc mắc hoặc gợi ý) để có thể bảo đảm rằng mình đã thật sự hiểu được những qui trình quản lý tại đơn vị này Những câu hỏi có thể được chuẩn bị trước cũng như phát sinh trong quá trình trao đổi
Việc khảo sát, tìm hiểu thực tế phải liên quan đến nhiều khía cạnh như: nội dung của các công đoạn trong qui trình quản lý, các chứng từ, các báo biểu, kết xuất, qui trình luân chuyển thông tin giữa các bộ phận Với mỗi công đoạn trong qui trình quản lý, chúng ta cần biết rõ những nhân viên nào phụ trách công việc ? Họ xử lý những thông tin gì (chứng từ, tài liệu,…) ? xử lý như thế nào ? thời gian xử lý bao lâu ? kết quả xử lý ra sao ? (báo biểu,…) ? trong quá trình thực hiện công việc họ có sử dụng sổ ghi chép, sổ theo dõi, bảng tính,… hay không ?
Trang 18Khi tiến hành khảo sát, chúng ta nên tổ chức thực hiện mỗi lần với một nhóm nhân viên nghiệp vụ có quan hệ công tác với nhau thay vì làm việc riêng lẻ với từng người Điều này sẽ tránh làm mất thì giờ, có thể giúp chúng ta phối kiểm thông tin khảo sát và dễ dàng có được một cái nhìn tổng thể đối với công việc vì trong quá trình làm việc với từng nhóm nhân viên nghiệp vụ như vậy, họ sẽ bổ sung cho nhau và chúng ta sẽ tránh được những thiếu sót cũng như tránh được những thông tin không rõ ràng, không chính xác
Những thông tin thu thập được trong quá trình khảo sát cần được ghi chép đầy đủ và cẩn thận với các biểu mẫu cụ thể để làm cơ sở cho những công việc trong các giai đoạn về sau
Chúng ta dễ dàng nhận thấy rằng đối tượng tham gia vào giai đoạn khảo sát gồm 2 nhóm: các nhân viên nghiệp vụ và các chuyên viên tin học tiến hành việc khảo sát Trong hai nhóm này, nhóm các nhân viên nghiệp vụ sẽ đóng vai trò chính trong giai đoạn khảo sát và như vậy, ngôn ngữ sử dụng trong giai đoạn này phải là ngôn ngữ nghiệp vụ chứ không phải là ngôn ngữ tin học với những thuật ngữ, khái niệm rất xa lạ đối với họ Điều đó cũng có nghĩa rằng kiến thức về nghiệp vụ (ở một mức độ nhất định) sẽ giúp ích rất nhiều cho các chuyên viên tin học trong quá trình khảo sát ứng dụng tin học
Chú ý:
Nên chuẩn bị trước các câu hỏi cần nêu khi đi khảo sát
Ngôn ngữ trình bày trong khi khảo sát phải là ngôn ngữ nghiệp vụ
Thực hiện 2 chiều: nghe nhân viên nghiệp vụ trình bày yêu cầu và nên đặt ra các thắc mắc để làm rõ thêm yêu cầu
Thu thập các dữ liệu đầu vào, dữ liệu đầu ra và hiểu được qui trình quản lý
Kinh nghiệm giảng dạy:
Cần cho ví dụ một số vấn đề cần quan tâm khi đi khảo sát như khối lượng thông tin của một nghiệp vụ, cách tổ chức bộ mã, cách tổ chức phân nhóm,
II Lập kế hoạch triển khai
Sau khi hoàn tất công việc tìm hiểu thực tế và nắm bắt yêu cầu của người sử dụng, công việc kế tiếp trong giai đoạn khảo sát là lập kế hoạch triển khai Nội dung của kế hoạch triển khai gồm các phần sau:
II.1 Kiến trúc tổng thể của UDTH
Trong trường hợp phải triển khai một UDTH phức tạp, gồm nhiều phân hệ, trước tiên chúng ta
cần xây dựng kiến trúc tổng thể của UDTH, trong đó giới thiệu chức năng chính của mỗi phân
0
Trang 19
Kiến trúc tổng thể này có thể được mô tả qua một sơ đồ cùng với những chú thích và diễn giải cần thiết
Theo dõi đơn đặt hàng
Công nợ khách hàng
Nhập - xuất - tồn hàng hóa
Phiếu giao hàng Phiếu nhập hàng,
phiếu giao hàng
Kiến trúc tổng thể của ứng dụng quản lý đơn đặt hàng
9 Phân hệ Theo dõi đơn đặt hàng: theo dõi tình hình đặt hàng và giao hàng cho khách Phân
hệ này sẽ chuyển các đơn đặt hàng cho phân hệ Nhập – xuất – tồn hàng hóa và nhận lại các phiếu giao hàng
9 Phân hệ Nhập – xuất – tồn hàng hóa: theo dõi công tác nhập, xuất, tồn hàng hóa Phân hệ
này sẽ chuyển giao các chứng từ giao nhận hàng hóa cho phân hệ Công nợ khách hàng
9 Phân hệ Công nợ khách hàng: tính toán và lập báo cáo công nợ khách hàng dựa trên các
chứng từ giao nhận hàng và thanh toán
II.2 Kế hoạch triển khai cho từng phân hệ
Với mỗi phân hệ trong kiến trúc tổng thể của ứng dụng tin học, chúng ta cần lập kế hoạch triển khai chi tiết liên quan đến một số khía cạnh chính như:
Máy móc thiết bị
+ Máy móc thiết bị: dự trù tất cả máy móc thiết bị cần thiết để triển khai (cài đặt , khai thác) phân hệ, ví dụ các máy chủ (server), máy trạm (workstation), máy in, đường truyền mạng và một số thiết bị hỗ trợ khác
Phần mềm triển khai
+ Phần mềm triển khai: hệ điều hành, hệ quản trị cơ sở dữ liệu,…
Trang 20 Chi phí
+ Chi phí: tổng hợp tất cả các chi phí cần cho ứng dụng tin học Kinh phí này cần được lên kế hoạch cụ thể cho từng thời điểm
Kế hoạch huấn luyện sử dụng
+ Đào tạo, huấn luyện sử dụng: kế hoạch tập huấn cho người sử dụng trước khi tiến hành cài đặt và khai thác thử nghiệm phân hệ
II.3 Kế hoạch tổ chức khai thác UDTH
Sau khi đã có kế hoạch riêng lẽ cho từng phân hệ riêng lẽ, chúng ta cần phải lập kế hoạch tổ chức khai thác đồng bộ cho tất cả các phân hệ của UDTH Kế hoạch khai thác này nhằm bảo đảm cho sự phối hợp hoạt động một cách nhịp nhàng giữa các phân hệ của UDTH
III Lập Hồ sơ khảo sát
Hồ sơ khảo sát ghi nhận tất cả những thông tin và kết quả thực hiện được trong giai đoạn khảo sát Hồ sơ khảo sát gồm hai nội dung chính: khảo sát thực tế và lập kế hoạch triển khai
Kết quả cụ thể của giai đoạn khảo sát là hồ sơ khảo sát của ứng dụng tin học (xem phụ lục A) Khi lập hồ sơ khảo sát, chúng ta nên chú ý một số điểm sau:
9 mô tả, diễn giải rõ ràng các nội dung
9 sử dụng nhiều sơ đồ, hình vẽ với những chú thích và diễn giải cần thiết
9 sử dụng ngôn ngữ nghiệp vụ (tránh sử dụng ngôn ngữ tin học)
Việc trao đổi, bàn bạc và thống nhất về hồ sơ khảo sát giữa hai bên: đơn vị đặt yêu cầu và những người triển khai ứng dụng tin học, là hết sức cần thiết vì hồ sơ khảo sát sẽ làm cơ sở cho hợp đồng ký kết giữa hai bên cũng như làm cơ sở cho toàn bộ các giai đoạn triển khai ứng dụng tin học về sau này
Chú ý:
Kết quả của giai đoạn khảo sát là bộ Hồ sơ khảo sát, có ý nghĩa rất quan trọng cho giai đoạn
phân tích tiếp theo
Khảo sát có thể chia làm nhiều đợt và tiến hành đồng thời với nhiều nhóm
Kinh nghiệm giảng dạy:
Giải thích rõ ý nghĩa mẫu hồ sơ khảo sát của ứng dụng Quản lý Đặt hàng (xem trong phụ lục A) Đặt thêm các tình huống thực tế có thể có đối với ứng dụng Quản lý Đặt hàng như trùng lại bộ mã khi sang năm khác, theo dõi tình hình đặt và giao hàng, một hàng hoá có thể có nhiều đơn vị tính,
0
Trang 21
Bài 3 MÔ HÌNH THỰC THỂ – KẾT HỢP
Tóm tắt
Lý thuyết 4 tiết - Thực hành 1 tiết
Mục tiêu Các mục chính Bài tập bắt
buộc
Bài tập làm thêm
Nắm được các khái niệm
của mô hình E-R (thực
thể – kết hợp) trong giai
đoạn phân tích thành
phần dữ liệu của một
UDTH dựa theo mô hình
thác nước
I Các khái niệm
II Công cụ DB - Main
3.1, 3.2
I Khái niệm
Nội dung công việc của giai đoạn phân tích là mô tả lại thế giới thực trong phạm vi của ứng dụng tin học Có thể nói rằng mục đích của công việc phân tích là nhằm giúp các chuyên viên tin học có được một câu trả lời hết sức cụ thể, tường tận và chính xác về câu hỏi: “ứng dụng tin học sắp phải xây dựng là gì ?” (câu hỏi WHAT)
Thật ra, ứng dụng tin học mà chúng ta cần triển khai cũng đã được mô tả trong hồ sơ khảo sát (xem bài 2) nhưng sự mô tả đã được thực hiện một cách không có hệ thống và đặc biệt là không rõ ràng vì ngôn ngữ “thống soái” trong giai đoạn khảo sát là ngôn ngữ nghiệp vụ, một ngôn ngữ cũng rất gần gũi với ngôn ngữ tự nhiên, bao gồm nhiều sự hàm ý và hiểu ngầm
Thông thường, để có thể dễ dàng thấu hiểu một vấn đề hay một đối tượng, người ta cần phải “mổ xẻ”, quan sát, nhìn nhận và mô tả vấn đề hay đối tượng một cách thật chi tiết và dưới nhiều góc độ khác nhau Quá trình phân tích một ứng dụng tin học cũng được thực hiện theo phương pháp này, nghĩa là, chúng ta sẽ quan sát phân tích và mô tả một ứng dụng tin học thông qua hai thành phần riêng biệt là: dữ liệu và xử lý
Trang 22Xuất phát từ mục tiêu đào tạo của các khóa Lập trình viên chuyên nghiệp của Trung tâm Tin học, chúng tôi chỉ chú trọng đến những ứng dụng thuộc lãnh vực quản lý với quy mô nhỏ, và trong những ứng dụng như vậy, thành phần xử lý thường rất đơn giản so với thành phần dữ liệu Do đó, trong phân tích chúng tôi sẽ tập trung chủ yếu vào việc phân tích thành phần dữ liệu của ứng dụng tin học
Như chúng tôi đã đề cập trong bài 1, những yêu cầu hay tiêu chuẩn được dùng để đánh giá sự
phân tích chính là tính chính xác, đầy đủ, rõ ràng và độc lập với môi trường cài đặt ứng dụng
tin học
Ngoài ra, trong quá trình phân tích, để tránh cho ứng dụng trở nên quá cồng kềnh và khai thác kém hiệu quả, các chuyên viên tin học cần bám sát thực tế được mô tả trong hồ sơ khảo sát, phân tích vấn đề trong phạm vi của ứng dụng và chỉ nên suy nghĩ, cân nhắc đối với những trường hợp biến động (tiến hóa) nào của thực tế được biết là chắc chắn sẽ diễn ra hoặc được đánh giá là có khả năng xảy ra rất lớn trong tương lai Các chuyên viên tin học không nên cố gắng một cách vô ích nhằm phân tích tất cả mọi tình huống có thể xảy ra trong tương lai “theo lý thuyết”; vì rằng, điều đó thật sự là vượt quá khả năng của con người
Trong giai đoạn phân tích, ta cần phải phân tích hai thành phần: dữ liệu và xử lý Kết quả của
việc phân tích thành phần dữ liệu là một sơ đồ quan niệm dữ liệu Sơ đồ quan niệm dữ liệu dùng để mô tả lại nội dung của thế giới thực thuộc phạm vi của UDTH (trả lời cho câu hỏi WHAT), sơ
đồ này được xây dựng dựa trên mô hình E-R Do đó cần phải trình bày một số các khái niệm của
mô hình E-R
Chú ý:
Trong môn học này chỉ xét đến loại UDTH thuộc lãnh vực quản lý và với qui mô nhỏ, có thành phần xử lý đơn giản hơn thành phần dữ liệu nên việc phân tích sẽ tập trung vào thành phần dữ liệu là chính
I.1 Thực thể (Entity)
Thực thể là khái niệm được dùng để biểu diễn các đối tượng quản lý trong một UDTH Thực thể không chỉ bao gồm những sự vật thực sự tồn tại một cách khách quan trong thực tế, mà thật ra, thực thể còn được dùng cho cả những trường hợp trừu tượng hóa (như thời khoá biểu, tồn kho, công nợ)
Chú ý:
Tính từ “thực” trong cách dịch của thuật ngữ entity rất dễ dẫn đến sự ngộ nhận rằng thực thể chỉ bao gồm những sự vật thực sự tồn tại một cách khách quan trong thực tế, nhưng thật ra, thực thể còn được dùng cho cả những trường hợp trừu tượng hoá
Cho ví dụ về các thực thể có thực và do trừu tượng hóa Ví dụ:
Học sinh Nguyễn Văn Thanh là một thực thể
0
0
Trang 23Công nợ tháng 7/2004 của khách hàng Công ty Hoàng Mỹ là một thực thể
I.2 Thuộc tính (Attribute)
Mỗi thực thể sẽ có các thuộc tính đặc trưng cho thực thể đó Thuộc tính của một thực thể gồm có tên (name), kiểu dữ liệu (data type) và bản số (cardinality)
9 Tên của thuộc tính nên được chọn sao cho có ý nghĩa và gợi nhớ
9 Khái niệm kiểu dữ liệu của thuộc tính cũng tương tự như khái niệm kiểu dữ liệu của biến lập trình Các kiểu dữ liệu thông thường là:
Boolean Kiểu luận lý
9 Bản số của thuộc tính cho biết số lượng các gíá trị mà thuộc tính có thể lấy (chứa) vào một
thời điểm Bản số của một thuộc tính có dạng [min-max], trong đó, min là số giá trị tối thiểu và max là số giá trị tối đa mà thuộc tính có thể có tại một thời điểm Một số trường hợp thường gặp của bản số:
[1-1] Tại một thời điểm, thuộc tính luôn luôn chứa
1 và chỉ 1 giá trị (không cho phép chứa giá trị rỗng – null)
[1-n] Tại một thời điểm, thuộc tính có thể chứa 1
hoặc nhiều giá trị (đa trị) nhưng không thể chứa giá trị null
[0-1] Tại một thời điểm, thuộc tính có thể chứa giá
trị null hoặc chỉ chứa 1 giá trị [0-n] Tại một thời điểm, thuộc tính có thể chứa giá
trị null hoặc chứa 1 giá trị hoặc một tập hợp nhiều giá trị
Ví dụ về thuộc tính của một con người:
Tên Kiểu dữ
liệu
Bản số Mô tả
Ngày sinh Date [1-1] mỗi người có một và chỉ
một ngày sinh
Trang 24Địa chỉ Char [1-n] lúc nào cũng phải có và có
thể có nhiều địa chỉ liên lạc Tên vợ - chồng Char [0-1] có thể không có vợ/chồng
(còn độc thân) nhưng nếu có thì chỉ được phép có một
Số con Numeric [1-1] số con cái ( ≥ 0) Ngoại ngữ Char [0-n] (tên) các ngoại ngữ có thể
sử dụng
Chú ý:
Khi giá trị tối thiểu của bản số thuộc tính bằng 1 thì thuộc tính mang đặc tính not null
Cho ví dụ về các trường hợp bản số của thuộc tính: [0-1], [0-n], [1-1], [1-n] Cần nhấn mạnh tính chất Null hoặc Not Null, tính đơn trị hoặc đa trị
Kinh nghiệm giảng dạy:
Cho ví dụ tìm bản số của thuộc tính “số con” và thuộc tính “danh sách tên các con”
I.3 Loại thực thể (Entity Type)
Những thực thể có cùng các thuộc tính có thể được nhóm lại để tạo thành loại thực thể (mang tính chất trừu tượng) Như vậy loại thực thể sẽ có các thuộc tính “đại diện” và khoá (khoá dùng để phân biệt các thực thể với nhau)
Ví dụ: trong ứng dụng quản lý đặt và giao hàng thì các khách hàng Công ty TNHH Hoàng Sơn, Công ty TNHH Hồng Hà, cửa hàng Tiến Phát, có thể được nhóm lại để tạo nên loại thực thể KHACH HANG
Loại thực thể KHACH HANG
A001 Công ty TNHH Hoàng Sơn 125 Lý Tự Trọng A002 Công ty Điện tử Tấn Đạt 345 Điện Biên Phủ
Chú ý:
0
0
Trang 25
Phải biết cách biểu diễn loại thực thể, các qui ước (chữ HOA và thường) và luôn luôn khai báo khoá
Có thể kèm theo thuộc tính là bản số của thuộc tính đó
Những người mới bắt đầu làm quen với mô hình E-R thường cảm thấy đôi chút khó khăn trong việc xác định các loại thực thể của một ứng dụng; đặc biệt là thường hay lầm lẫn với khái niệm bảng (table) trong mô hình dữ liệu quan hệ Trong phần sau, chúng tôi sẽ đề cập đến một số cách tiếp cận có thể dùng để xác định các loại thực thể trong một ứng dụng tin học
I.4 Loại mối kết hợp (Relationship)
Loại mối kết hợp được dùng để thể hiện mối liên hệ ngữ nghĩa giữa các loại thực thể với nhau Loại mối kết hợp gồm có tên và hai nhánh Mỗi nhánh của loại mối kết hợp được đặc trưng bởi
hai yếu tố: vai trò (không bắt buộc phải có) và bản số của nhánh
Trong mô hình E-R, loại mối kết hợp được biểu diễn bằng bằng một hình bầu dục và hai bên là hai nhánh gắn với hai loại thực thể tham gia vào loại mối kết hợp
Loại mối kết hợp giữa hai loại thực thể KHACH HANG và PHIEU NHAP
Trong hình trên, tên của loại mối kết hợp là Cung cap, diễn tả mối liên hệ ngữ nghĩa giữa hai loại thực thể KHACH HANG và PHIEU NHAP: doanh nghiệp nhập hàng hóa từ các nhà cung cấp Mỗi nhánh của loại mối kết hợp được đặc trưng bởi hai yếu tố: vai trò (không bắt buộc phải có) và bản số của nhánh
Vai trò (role) của một nhánh trong loại mối kết hợp được dùng để giải thích rõ hơn ý nghĩa của nhánh Ví dụ vai trò của nhánh bên phía loại thực thể KHACH HANG là cung cap hang và vai trò của nhánh bên phía loại thực thể PHIEU NHAP là nhap hang cua Người ta thường dùng các động từ để đặt tên cho vai trò của các loại mối kết hợp
Bản số của một nhánh R trong loại mối kết hợp biểu diễn số lượng tối thiểu và tối đa các thực thể thuộc loại thực thể ở nhánh “bên kia” có liên hệ với một thực thể của loại thực thể gắn với nhánh
R Tương tự như bản số của thuộc tính, bản số của các nhánh cũng có dạng [min-max], trong đó, min là số lượng tối thiểu và max là số lượng tối đa
Trang 26Ví dụ, trong loại mối kết hợp Cung cap giữa KHACH HANG và PHIEU NHAP thì bản số của nhánh cung cap hang bên phía loại thực thể KHACH HANG là [1-N] nói lên ý nghĩa một khách hàng phải có ít nhất là một phiếu nhập hàng và có thể có nhiều phiếu nhập hàng; còn bản số của nhánh nhap hang cua bên phía loại thực thể PHIEU NHAP là [1-1] thể hiện một phiếu nhập hàng phải thuộc một và chỉ một khách hàng trong thực thể KHACH HANG (vì ít nhất là 1 và nhiều nhất cũng là 1)
KHACH HANG PHIEU NHAP
A001, Công ty TNHH Hoàng Sơn Số phiếu nhập PN990401
Số phiếu nhập PN990403 Số phiếu nhập PN990410
A002, Công ty điện tử Tiến Đạt Số phiếu nhập PN990402
Số phiếu nhập PN990404
Minh họa bản số trong loại mối kết hợp Cung cap giữa hai loại thực thể KHACH HANG và PHIEU
NHAP
Chú ý:
Cho ví dụ về các trường hợp bản số của loại mối kết hợp: [0-1], [0-n], [1-1], [1-n]
Phải phân biệt giữa bản số của thuộc tính và bản số của loại mối kết hợp
Chỉ giới thiệu những loại mối kết hợp hai ngôi nghĩa là những loại mối kết hợp định nghĩa dựa trên hai loại thực thể
Kinh nghiệm giảng dạy:
Hướng dẫn xác định bản số hai nhánh của mối kết hợp bằng cách “vẽ dữ liệu”của các loại thực thể để học viên dễ hình dung mối kết hợp giữa các loại thực thể với nhau
Cho ví dụ về mối kết hợp không phải là nhị phân như: Giáo viên, học viên, đề tài
I.5 Một số trường hợp đặc biệt
Loại mối kết hợp có chứa thuộc tính
Tương tự như loại thực thể, loại mối kết hợp cũng có thể có các thuộc tính Ví dụ, trong ứng dụng quản lý đơn đặt hàng, loại mối kết hợp giữa hai loại thực thể DON DAT HANG và HANG HOA sẽ có các thuộc tính so luong dat (số lượng đặt hàng), don gia dat (đơn giá đặt hàng) và thanh tien (số tiền đặt hàng) như trong hình minh họa bên dưới
0
Trang 27
Thuộc tính của loại mối kết hợp
Nhiều loại mối kết hợp định nghĩa trên hai loại thực thể
Dựa trên hai loại thực thể, chúng ta có thể định nghĩa hai hay nhiều loại mối kết hợp như trong ví dụ minh họa bên dưới
Hai loại mối kết hợp định nghĩa trên hai loại thực thể
Chuyên biệt hoá – Tổng quát hoá
Khái niệm chuyên biệt hóa – tổng quát hóa có thể dùng để phân loại các loại thực thể Loại thực thể NHAN VIEN trong hình minh họa bên dưới được gọi là loại thực thể “cha” và các loại thực thể NV THOI VU, NV HOP DONG và NV BIEN CHE gọi là loại thực thể “con” Mỗi thực thể của loại thực thể cha phải thuộc vào một và chỉ một trong số các loại thực thể con Ngược lại, mỗi loại thực thể của loại thực thể con cũng đều thuộc loại thực thể cha
Theo ngầm định, các loại thực thể con sẽ thừa hưởng tất cả những thuộc tính của loại thực thể cha (ma nv và ten nv trong ví dụ ở trên) và những thuộc tính này không cần thiết phải được mô tả lập lại trong loại thực thể con
Chuyên biệt hóa – tổng quát hóa
Loại mối kết hợp định nghĩa trên một loại thực thể duy nhất (mối kết hợp đệ qui)
Trong trường hợp cần phải biểu diễn những cấu trúc phân cấp theo hình cây, chúng ta sẽ dùng loại mối kết hợp định nghĩa trên một loại thực thể duy nhất
Trang 28Loại mối kết hợp định nghĩa trên một loại thực thể
Bản số 0-1 của nhánh thuoc thể hiện một đơn vị hoặc có thể không thuộc bất kỳ một đơn
vị nào cả (đây là trường hợp đơn vị cấp cao nhất và chỉ có duy nhất một đơn vị như vậy ở nút gốc của cấu trúc cây) hoặc đơn vị chỉ thuộc sự quản lý của một đơn vị cấp cao hơn Bản số 0-N của nhánh quan ly thể hiện một đơn vị hoặc có thể quản lý nhiều đơn vị khác hoặc nếu đơn vị ở mức lá của cấu trúc cây thì không quản lý bất kỳ một đơn vị nào cả
Kinh nghiệm giảng dạy:
Cho ví dụ giải thích cho mỗi trường hợp
Cho một ví dụ có bản số max ở hai nhánh đều là 1 Ví dụ: Hồ sơ Học sinh và Báo danh
II Công cụ DB-Main
Sử dụng công cụ DB-Main để vẽ sơ đồ quan niệm dữ liệu Gồm có các chức năng chính sau đây:
9 Tạo mới tâp tin ứng dụng (new project)
9 Tạo sơ đồ quan niệm dữ liệu mới trong ứng dụng (new schema)
9 Tạo loại thực thể, các thuộc tính
9 Tạo loại mối kết hợp
9 Tạo vai trò và bản số của một nhánh
9 Chỉ định các thuộc tính làm khoá nội cho loại thực thể
9 In sơ đồ quan niệm dữ liệu
9 Lưu tập tin ứng dụng
Phần mềm DB Main 2.01 cho phép chúng ta xây dựng sơ đồ quan niệm dữ liệu theo mô hình E-R Trong phần tiếp theo, chúng tôi sẽ hướng dẫn tóm tắt cách sử dụng phần mềm nói trên
Với bộ công cụ DB Main 2.0, sơ đồ quan niệm dữ liệu sẽ được lưu trữ trong một tập tin ứng dụng có kiểu là LUN Sau khi cho thực hiện tập tin chương trình Db_main.exe, cửa sổ của ứng dụng
DB Main 2.0 sẽ xuất hiện như trong hình bên dưới
1 DB Main là một sản phẩm của Viện Tin học thuộc trường Đại học FUNDP – Namur (Bỉ) Sản phẩm này hiện đã có phiên bản 6.5d (4/2004) và có thể download miễn phí tại địa chỉ Web: http://www.info.fundp.ac.be/~dbm/ Tuy nhiên,
Trang 29
Cửa sổ ứng dụng DB Main 2.0
Tạo mới tập tin ứng dụng LUN (New Project)
Các bước thực hiện :
+ Chọn biểu tượng trên thanh công cụ hoặc chọn File, New Project từ thực đơn hệ thống,
+ Xác định các thuộc tính của ứng dụng
Trang 30Cửa sổ thuộc tính của ứng dụng
Cửa sổ ứng dụng quản lý đơn đặt hàng và giao hàng
Mở tập tin ứng dụng LUN
Các bước thực hiện :
+ Chọn biểu tượng trên thanh công cụ hoặc chọn File, Open Project từ thực đơn hệ thống,
+ Chọn tập tin muốn mở
Cập nhật thông tin (Properties) của ứng dụng
Các bước thực hiện :
+ Chọn File, Project Properties từ thực đơn hệ thống,
+ Xác định các thuộc tính của ứng dụng
Tạo sơ đồ quan niệm dữ liệu mới cho ứng dụng
Các bước thực hiện :
+ Chọn Product, New schema từ thực đơn hệ thống,
+ Xác định các thông tin của sơ đồ
Trang 31Xác định thông tin của sơ đồ quan niệm dữ liệu + Chọn nút Ok
Cửa sổ ứng dụng có biểu tượng sơ đồ quan niệm dữ liệu + Nhấp đúp chuột trên biểu tượng của sơ đồ quan niệm dữ liệu sẽ xuất hiện một cửa sổ thiết kế Trong cửa sổ này chúng ta sẽ dùng một số các công cụ để vẽ sơ đồ quan niệm dữ liệu
Trang 32Cửa sổ thiết kế sơ đồ quan niệm dữ liệu
Loại thực thể
Loại mối kết hợp
Vai trò (role) và bản số của một nhánh
Chỉ định thuộc tính làm khóa chính
Phóng to mô hình
Thu nhỏ mô hình
Tạo loại thực thể mới
Các bước thực hiện :
+ Chọn biểu tượng trên thanh công cụ
+ Vẽ loại thực thể bằng cách kéo chuột (drag-drop) trong cửa sổ thiết kế tại một vị trí tùy
ý Tên loại thực thể ngầm định là ENTITY
+ Nhắp đúp chuột trên thực thể này để đặt lại tên cho loại thực thể
+ Khai báo các thuộc tính cho loại thực thể (xem bên dưới),
+ Chọn nút Ok
Trang 33Cửa sổ loại thực thể KHACH HANG
Thêm thuộc tính mới
Các bước thực hiện :
+ Trong cửa sổ loại thực thể, chọn nút New att ,
+ Trong cửa sổ thuộc tính của loại thực thể, xác định các đặt trưng của thuộc tính:
+ Name: tên của thuộc tính
+ Short name: tên tắt của thuộc tính
+ Cardinality: bản số của thuộc tính
+ Type, Length, Decim: kiểu dữ liệu và kích thước của thuộc tính
+ Chọn nút Next att để khai báo thuộc tính tiếp theo hoặc chọn nút Ok để kết thúc
Trang 34Cửa sổ thuộc tính của loại thực thể
Sửa thuộc tính
Các bước thực hiện :
+ Trong cửa sổ thiết kế, nhấp đúp chuột trên thuộc tính muốn sửa,
+ Sửa đổi các đặc trưng của thuộc tính…
+ Chọn nút Ok
Hủy thuộc tính
Các bước thực hiện :
+ Nhấp chuột trên thuộc tính muốn hủy
+ Bấm phím {Delete}
Thay đổi thứ tự của thuộc tính
Các bước thực hiện :
+ Nhấp chuột trên thuộc tính muốn thay đổi thứ tự
+ Bấm phím {Alt} và các phím mũi tên UP, DOWN
Xác định khóa nội
Các bước thực hiện :
+ Nhấp chuột trên thuộc tính muốn đặt khóa,
+ Có thể giữ phím {Shift} trong khi nhấp chuột để chọn đồng thời nhiều thuộc tính,
+ Chọn biểu tượng trên thanh công cụ để đặt khóa nội
Hủy loại thực thể
Trang 35+ Nhấp chuột trên tiêu đề của loại thực thể muốn hủy
+ Bấm phím {Delete}
Tạo loại mối kết hợp mới
Các bước thực hiện :
+ Chọn biểu tượng trên thanh công cụ
+ Nhấp chuột trong cửa sổ thiết kế tại vị trí muốn vẽ Tên ngầm định của loại mối kết hợp là R, R1, R2,
+ Nhắp đúp chuột trên loại mối kết hợp này để đặt lại tên
+ Khai báo các thuộc tính cho loại mối kết hợp, nếu có (tương tự như thuộc tính của các loại thực thể)
Cửa sổ loại mối kết hợp Cung cấp
Sửa đổi loại mối kết hợp
Các bước thực hiện :
+ Trong cửa sổ thiết kế, nhấp đúp chuột trên loại mối kết hợp muốn sửa,
+ Sửa đổi nội dung của loại mối kết hợp …
+ Chọn nút Ok
Hủy loại mối kết hợp
Các bước thực hiện :
+ Nhấp chuột trên tiêu đề của loại mối kết hợp muốn hủy
+ Bấm phím {Delete}
Tạo một nhánh mới của loại mối kết hợp
Các bước thực hiện :
+ Nhấp chuột chọn biểu tượng trên thanh công cụ
Trang 36+ Kéo chuột (drag-drop) từ loại mối kết hợp đến loại thực thể tham gia loại mối kết hợp Bản số ngầm định của nhánh là 0-N
+ Nhấp đúp chuột trên bản số của nhánh để xác định vai trò và bản số của nhánh
Cửa sổ thông tin của một nhánh trong loại mối kết hợp
− Name: vai trò của nhánh
− Cardinality: bản số của nhánh
+ Chọn nút Ok
Sửa đổi một nhánh của loại mối kết hợp
Các bước thực hiện :
+ Nhấp đúp chuột trên bản số của nhánh muốn sửa
+ Sửa đổi nội dung của nhánh
+ Chọn nút Ok
Hủy một nhánh của loại mối kết hợp
Các bước thực hiện :
+ Nhấp chuột trên nhánh muốn hủy
+ Bấm phím {Delete}
Lưu trữ tập tin ứng dụng LUN (Save)
Khi muốn lưu trữ tập tin ứng dụng LUN, chúng ta có thể nhấp chuột vào biểu tượng
Trang 37 Lưu trữ tập tin ứng dụng LUN với tên khác (Save as)
Khi muốn lưu trữ tập tin ứng dụng LUN với tên khác, chúng ta có thể nhấp chuột vào biểu tượng trên thanh công cụ hoặc chọn File, Save Project as từ thực đơn hệ thống
Đóng tập tin ứng dụng LUN (Close)
Khi muốn đóng tập tin ứng dụng LUN, chúng ta có thể nhấp chuột vào X ở góc trên bân phải của cửa sổ hoặc chọn File, Close Project as từ thực đơn hệ thống
In sơ đồ quan niệm dữ liệu
Khi muốn in sơ đồ quan niệm dữ liệu, chúng ta có thể Chọn File, Print dictionary từ thực đơn hệ thống
Phóng to, thu nhỏ sơ đồ quan niệm dữ liệu
Chúng ta có thể chọn biểu tượng trên thanh công cụ để phóng to sơ đồ quan niệm dữ liệu hoặc chọn biểu tượng để thu nhỏ sơ đồ quan niệm dữ liệu
Trang 38Bài 4 PHÂN TÍCH THÀNH PHẦN DỮ LIỆU
Tóm tắt
Lý thuyết 8 tiết - Thực hành 10 tiết
Mục tiêu Các mục chính Bài tập bắt
buộc
Bài tập làm thêm
Nắm được các bước thực
hiện trong giai đoạn
phân tích thành phần dữ
liệu của một UDTH dựa
theo mô hình thác nước
I Lập sơ đồ quan niệm dữ liệu
II Các ràng buộc toàn vẹn mức phân tích
4.1, 4.2, 4.3 4.4, 4.5
Như chúng tôi đã giới thiệu về mô hình thực thể – kết hợp (E-R), là một phương tiện (hay ngôn ngữ) mô tả, và phần sau đây sẽ là phương pháp phân tích thành phần dữ liệu của ứng dụng tin học dựa theo mô hình này
Phân tích thành phần dữ liệu của một ứng dụng tin học bao gồm hai công đoạn: lập sơ đồ quan niệm dữ liệu và mô tả ràng buộc toàn vẹn Kết quả công việc phân tích thành phần dữ liệu là một
sơ đồ quan niệm dữ liệu được xây dựng dựa theo mô hình E-R với một tập hợp các ràng buộc toàn vẹn đi kèm
I Lập sơ đồ quan niệm dữ liệu
Chú ý:
Phân tích phải độc lập với môi trường cài đặt, chú trọng đến tính rõ ràng (chấp nhận dư thừa)
Kết quả của việc phân tích thành phần dữ liệu là sơ đồ quan niệm dữ liệu và các ràng buộc toàn vẹn
Việc phân tích được dựa theo kết quả của giai đoạn khảo sát
Trong bài học này nên dành thêm thời gian để sửa các bài tập phân tích sơ đồ quan niệm dữ liệu
Sơ đồ quan niệm dữ liệu được xây dựng dựa theo mô hình E-R Việc lập sơ đồ quan niệm dữ liệu được tiến hành theo các bước sau đây:
0
Trang 39I.1 Xác định danh sách các loại thực thể (cùng các thuộc tính của
Loại thực thể đặc trưng cho những thực thể tồn tại khách quan trong thực tế
+ tác nhân: khách hàng, nhân viên, học viên, giảng viên,
+ đối tượng quản lý: vật tư, hàng hóa, tài sản cố định,
+ chứng từ, phương tiện quản lý: đơn đặt hàng, phiếu xuất, phiếu nhập, phiếu thu/chi tiền mặt,
+ địa điểm: thành phố, cảng,
Cũng xuất phát từ các kết xuất, chúng ta có thể xác định được các thuộc tính của mỗi loại thực thể Ví dụ, loại thực thể HANG HOA có các thuộc tính: mã số hàng hóa, tên hàng hóa, đơn vị tính…
Cách tiếp cận theo các qui trình quản lý cũng có thể được vận dụng trong bước này; trong đó, các loại thực thể có thể được nhận diện từ các tác nhân hay đối tượng liên quan đến các qui trình quản lý
Người phân tích cũng có thể cùng lúc phối hợp nhiều cách tiếp cận khác nhau để thực hiện bước này
Chú ý:
Trong quá trình phân tích nên đạt đến tính rõ ràng, ví dụ nên có đủ 2 loại thực thể Phiếu Nhập và Phiếu Xuất trong sơ đồ quan niệm dữ liệu (tránh gom lại thành một)
0
Trang 40Kinh nghiệm giảng dạy:
Có thể phân loại thực thể ra làm 3 loại chính:
1/ Danh mục: kho, hàng hoá, nhà cung cấp
2/ Biến động: chứng từ, hoá đơn, phiếu
3/ Phát sinh: các dữ liệu được phát sinh (không nhập) từ các dữ liệu đã nhập như tồn kho, công nợ Cho một ví dụ tiếp cận theo kết xuất để xác định các loại thực thể : hướng dẫn học viên tìm ra các loại thực thể của ứng dụng Quản lý Đặt hàng dựa trên các kết xuất (trong phụ lục A)
Cho một ví dụ tiếp cận theo xử lý để xác định các loại thực thể: xử lý tính lương
I.2 Xác định các loại mối kết hợp giữa các loại thực thể để phác
thảo sơ đồ quan niệm dữ liệu
Các chuyên viên tin học sẽ lần lượt xét duyệt (vét cạn) từng cặp loại thực thể để xác định có hay không mối liên hệ ngữ nghĩa (loại mối kết hợp) giữa chúng với nhau Việc xác định loại mối kết hợp giữa hai loại thực thể bao gồm luôn cả việc xác định thuộc tính, nếu có, và bản số của mỗi nhánh thuộc loại mối kết hợp
Chú ý:
Việc chỉ ra các loại mối kết hợp có thể thiếu hoặc dư
Sau khi phác thảo xong, nên duyệt lại hồ sơ khảo sát để xem sơ đồ quan niệm đã biểu diễn đúng và đủ các yêu cầu khảo sát chưa ? (chấp nhận dư thừa)
Có thể bổ sung hoặc loại bỏ các loại thực thể, thuộc tính, loại mối kết hợp, bản số
Kinh nghiệm giảng dạy:
Học viên thường xác định thiếu loại thực thể, thiếu thuộc tính, xác định bản số sai, quên xác định khoá nội, xác định loại mối kết hợp không cần thiết, thiếu thuộc tính của loại mối kết hợp
Cho ví dụ về thuộc tính đặt sai chổ trong các loại thực thể hoặc loại mối kết hợp
I.3 Hoàn chỉnh sơ đồ quan niệm dữ liệu
Bước thực hiện cuối cùng là hoàn chỉnh, bổ sung các thuộc tính, các loại thực thể và các loại mối kết hợp, nếu cần, để làm tăng tính rõ ràng của sơ đồ quan niệm dữ liệu (chấp nhận sự trùng lắp và dư thừa để bảo đảm tính rõ ràng của sơ đồ) Ví dụ, ở bước 2, chúng ta có thể thiết lập loại mối kết hợp giữa loại thực thể DON DAT HANG và loại thực thể HANG HOA như trong hình Sau đó,
ở bước 3, loại mối kết hợp trên có thể được sửa đổi lại như trong hình bên dưới
0