CHƯƠNG 6: THIẾT KẾ PHẦN MỀM
Phân tích - Thiết kế - Hệ thống thông tin
Bài 1: Tổng quan về thiết kế HTTT.
Bài 2: Các bước cơ bản thiết kế phần mềm.
Bài 3: Các ngôn ngữ thiết kế phần mềm.
Bài 4: Đảm bảo chất lượng phần mềm.
Bài 5: Phương pháp thiết kế Top-Down
Bài 6: Phương pháp thiết kế Bottom-Up
Bài 8: Thiết kế các cơ sở dữ liệu.
Bài 7: Thiết kế cấu trúc lưu trữ vật lý.
34 trang |
Chia sẻ: phuongt97 | Lượt xem: 487 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Bài giảng Phân tích-Thiết kế-Cài đặt hệ thống thông tin - Chương 6: Thiết kế phần mềm - Đặng Minh Ất, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRÌNH BÀY: PGS.TS. ĐẶNG MINH ẤT
BỘ MÔN: CÔNG NGHỆ THÔNG TIN
TRƯỜNG ĐẠI HỌC KINH TẾ QUỐC DÂN
Phân tích - Thiết kế - Cài đặt
Hệ thống thông tin
CHƯƠNG 6: THIẾT KẾ PHẦN MỀM
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
2
Bài 1: Tổng quan về thiết kế HTTT.
Bài 2: Các bước cơ bản thiết kế phần mềm.
Bài 3: Các ngôn ngữ thiết kế phần mềm.
Bài 4: Đảm bảo chất lượng phần mềm.
Bài 5: Phương pháp thiết kế Top-Down
Bài 6: Phương pháp thiết kế Bottom-Up
Bài 8: Thiết kế các cơ sở dữ liệu.
Bài 7: Thiết kế cấu trúc lưu trữ vật lý.
Bài 1: Tổng quan về thiết kế HTTT
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
3
Tổng quan
Giai đoạn thiết kế chúng ta phải trả lời được câu hỏi “ Hệ thống làm việc,
hoạt động như thế nào?”
Một trong các mục tiêu của giai đoạn thiết kế là đưa ra được bản thiết kế
đáp ứng đặc tả yêu cầu chức năng trong phạm vi các ràng buộc kỹ thuật của
dự án, cũng như lập tài liệu thiết kế hệ thống phục vụ cho việc quản lý, theo
dõi việc phát triển hệ thống ứng dụng và hỗ trợ cho việc bảo hành, bảo trì hệ
thống trong tương lai
Giai đoạn thiết kế sẽ bao gồm việc xem xét các khả năng sử dụng máy tính
để thực hiện các yêu cầu nghiệp vụ.
Hệ thống sẽ máy tính hóa các chức năng nào, giao diện tương tác với người
dùng ra sao, dữ liệu được cập nhật và lưu trữ như thế nào?
Hệ thống sẽ sử dụng các giải pháp kỹ thuật để đảm bảo hiệu năng, tốc độ
theo yêu cầu đã đặt ra.
Bài 1: Tổng quan về thiết kế HTTT
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
4
Tổng quan
Giai đoạn thiết kế sẽ chuyển các đặc tả logic của hệ thống thành các
đặc tả vật lý của hệ thống.
Thiết kế là giai đoạn chi tiết hóa các kết quả phân tích, một lần nữa
thể hiện cách tiếp cận trên xuống.
Công việc thiết kế thường chiếm nhiều thời gian và công sức hơn
phân tích.
Công việc thiết kế thường phụ thuộc vào môi trường phát triển cụ
thể.
Người thiết kế sẽ mô tả lại hệ thống sẽ làm việc như thế nào theo
cách mà người lập trình có thể viết mã trình được.
Đòi hỏi với thiết kế viên phải là người nắm được nghiệp vụ sâu sắc
và có cả một số kinh nghiêm lập trình
Bài 1: Tổng quan về thiết kế HTTT
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
5
Đầu vào và đầu ra của quá trình thiết kế
Đầu vào của quá trình thiết kế HTTT (Sử dụng kết quả của quá trình phân
tích) bao gồm:
Các đặc tả chi tiết yêu cầu
Mô hình chức năng tổng thể
Mô hình quan hệ thực thể
Mô hình luồng dữ liệu
Các đặc tả sơ bộ chức năng và thực thể
Đầu ra của quá trình thiết kế HTTT
Kiến trúc tổng thể hệ thống
Lược đồ cấu trúc phần mềm
Thiết kế dữ liệu chi tiết
Thiết kế chi tiết module chương trình: đặc tả giao diện cập nhật dữ liệu, đặc
tả báo cáo, mô tả sử dụng dữ liệu
Chi tiết các thủ tục, hàm sử dụng
Bài 1: Tổng quan về thiết kế HTTT
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
6
Đánh giá chất lượng phần mềm
Đánh giá chất lượng thiết kế dựa vào các tiêu chí sau với mục đích của giai đoạn thiết kế
là dễ đọc, dễ hiểu, dễ viết code và dễ bảo trì, vì vậy có thể đưa ra một số hướng sau đây:
Thiết kế nên đưa ra cách tổ chức phân cấp để kiểm soát các thành phần phần mềm
Thiết kế nên chia theo các module tức là phần mềm nên được phân hoạch một cách logic
thành các phần con nhỏ hơn, thực hiện những chức năng xác định. Điều này giúp dễ dàng
cho việc quản lý, xây dựng và bảo trì.
Mỗi module nên kiểm soát để chỉ có một số hợp lý các module thành phần tại mức tiếp
theo.
Các module nên độc lập quan hệ để cho các trao đổi giữa các module là tối thiểu nhất.
Để có thể dễ dàng mở rộng, mỗi module chỉ nên sử dụng cho một chức năng nghiệp vụ nào
đó.
Thiết kế nên mô tả biểu diễn tách biệt giữa dữ liệu và thủ tục
Thiết kế nên hướng tới các chương trình con hay thủ tục
Thiết kế nên mô tả giao diện cho phép dễ dàng tương tác giữa thủ tục với môi trường bên
ngoài.
Bài 2: Các bước cơ bản thiết kế phần mềm
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
7
Các bước thiết kế
Theo quan điểm quản lý dự án,
thiết kế phần mềm được tiến hành
theo hai bước: thiết kế sơ bộ
và thiết kế chi tiết.
Thiết kế sơ bộ quan tâm tới
kiến trúc tổng thể,
kiến trúc dữ liệu,
các mô tả tổng quát
chức năng phần mềm và giao diện.
Thiết kế chi tiết sẽ tập trung làm mịn
các cấu trúc dữ liệu,
mô tả chi tiết các giao diện,
thuật toán xử lý và sử dụng dữ liệu.
Bài 3: Các ngôn ngữ thiết kế phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
8
Việc lựa chọn ngôn ngữ lập trình có ý nghĩa rất lớn. Khi
đánh giá về các ngôn ngữ lập trình, người ta thường căn
cứ vào các tiêu chuẩn sau:
Lĩnh vực ứng dụng tổng quát.
Độ phức tạp thuật toán của ngôn ngữ.
Môi trường hoạt động của phần mềm.
Hiệu năng của phần mềm.
Độ phức tạp của cấu trúc chương trình.
Tri thức của cán bộ phát triển phần mềm.
Có chương trình dịch tốt.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
9
Nội dung bài học
Các nhân tố chất lượng phần mêm
Vai trò của người sử dụng trong các giai đoạn xây dựng và phát triển
hệ thông thông tin.
Giai đoạn nghiên cứu khả thi
Giai đoạn phân tích
Giai đoạn thiết kế
Giai đoạn xây dựng
Giai đoạn kiểm tra chấp nhận
Giai đoạn triển khai
Giai đoạn bảo trì
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
10
Các nhân tố chất lượng phần mêm
Chất lượng phần mềm có thể được đánh giá qua ba yếu tố cơn bản sau đây:
Đã đáp ứng các yêu cầu được xác định tường minh.
Được phát triển tuân thủ các tiêu chuẩn tường minh sản xuất phần mềm theo
công nghệ.
Phần mềm có thể tuân thủ cả một số yêu cầu không tường minh khác.
Chất lượng phần mềm còn bao gồm một số nhân tố có thể có độ đo xác
định, rõ ràng hơn.
Nói chung, các nhân tố chất lượng phần mềm tập trung đánh giá cho ba khía
cạnh phần mềm là các đặc trưng: vận hành, khả năng trải qua các thay đổi -
sửa chữa của các sản phẩm, tính thích nghi - chuyển đổi của sản phẩm với
môi trường mới.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
11
Nhân tố đo chất lượng phần mềm
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
12
Nhân tố đo chất lượng phần mềm
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
13
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Giai đoạn nghiên cứu khả thi
Giai đoạn phân tích
Giai đoạn thiết kế
Giai đoạn xây dựng
Giai đoạn kiểm tra chấp nhận
Giai đoạn triển khai
Giai đoạn bảo trì
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
14
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
15
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
16
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
17
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
18
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 4: Đảm bảo chất lượng phần mềm.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
19
Vai trò của người sử dụng trong các giai đoạn xây dựng
và phát triển hệ thông thông tin.
Bài 5: Phương pháp thiết kế Top-Down
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
20
Nội dung phương pháp
Đây là một phương pháp thiết kế giải thuật dựa trên tư tưởng mô đun
hoá.
Nội dung của phương pháp thiết kế này như sau:
Trước hết người ta xác định các vấn đề chủ yếu nhất mà việc giải quyết
bài toán yêu cầu, bao quát được toàn bộ bài toán.
Sau đó phân chia nhiệm vụ cần giải quyết thành các nhiệm vụ cụ thể hơn
tức là chuyển dần từ mô đun chính đến cấc mô đun con từ trên xuống
dưới
Do vậy phương pháp có tên thiết kế “từ đỉnh xuống” (Top – Down
Design).
Bài 6: Phương pháp thiết kế Bottom-Up
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
21
Nội dung phương pháp
Tư tưởng của phương pháp thiết kế này ngược lại với phương pháp
Top – down design và bao gồm các ý chính sau đây:
Trước hết, người ta tiến hành giải quyết các vấn đề cụ thể
Sau đó trên cơ sở đánh giá mức độ tương tự về chức năng của các vấn đề
này trong việc giải quyết bài toán người ta gộp chúng lại thành từng
nhóm cùng chức năng từ dưới lên trên cho đến mô đun chính
Sau đó, sẽ thiết kế thêm một số chương trình làm phong phú hơn, đầy đủ
hơn chức năng của các phân hệ và cuối cùng là thiết kế một chương trình
làm nhiệm vụ tập hợp các mô đun thành một hệ chương trình thống nhất,
hoàn chỉnh.
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
22
Nội dung bài học
Kiến trúc của một hệ cơ sở dữ liệu
Mục đích của thiết kế CSDL
Nội dung của thiết kế CSDL
Qúa trình thiết kế CSDL
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
23
Kiến trúc của một hệ cơ sở dữ liệu
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
24
Kiến trúc của một hệ cơ sở dữ liệu
Lược đồ khái niệm là mô tả các lĩnh vực ứng dụng của CSDL. Lược đồ khái
niệm bao gồm một danh sách các kiểu thực thể được lựa chọn và một tập
hợp các ràng buộc áp dụng cho các mối quan hệ.
Lược đồ cơ sở dữ liệu (Database Schema) Là một mô tả của dữ liệu được
lưu trữ trong CSDL và xác định những thành phần dữ liệu nào được lưu trữ
có những đường truy nhập nào giữa những thành phần này.
Một phần của Lược đồ CSDL được quan tâm bởi một hoặc một nhóm người
sử dụng được gọi là Lược đồ CSDL con
Lược đồ CSDL con có các tác dụng sau đây:
Nó có thể được những người lập trình ứng dụng sử dụng để tìm những
đường truy nhập
, nó cũng có thể được những người sử dụng tham khảo khi sử dụng bộ
sinh chương trình làm báo cáo hoặc truy vấn dữ liệu
Nó còn có thể được dùng để chia CSDL thành các đơn vị để mô tả các
ràng buộc riêng.
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
25
Kiến trúc của một hệ cơ sở dữ liệu
Lược đồ vật lý (Physical schema):Lược đồ vật lý mô tả cấu trúc vật
lý của CSDL.
Xây dựng Lược đồ vật lý là phần chính trong giai đoạn thiết kế.
Tuy nhiên, nó còn có thể được sử dụng như một bộ phận tích hợp của hệ
CSDL hoạt động
Cấu trúc lưu trữ vật lý: Cấu trúc được dùng để lưu trữ một CSDL
thực sự được gọi là cấu trúc lưu trữ vật lý. Nó gồm có các tệp trên
đĩa, băng từ, chỉ dẫn lưu trữ chính và các chương trình để xử lý các
thành phần này
Hệ sao lục (BACK – UP) và khôi phục (RESTORE): Hệ sao lục và
khôi phục là các đơn thể cho phép xây dựng lại CSDL sau những sự
cố do phần cứng hoặc phần mềm gây ra
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
26
Kiến trúc của một hệ cơ sở dữ liệu
Giao diện với người sử dụng đầu cuối: Là một phần mềm của giao diện với
người sử dụng đầu cuối chủ yếu bao gồm các chương trình ứng dụng, các
bộ sinh chương trình báo cáo và ngôn ngữ hỏi đáp
Đơn thể quy chiếu từ logic sang vật lý: các chương trình ứng dụng, các
chương trình sinh báo cáo và các ngôn ngữ hỏi đáp yêu cầu các khối dữ liệu
sử dụng một vài ngôn ngữ logic dựa trên các cấu trúc như đã đặc tả trong
Lược đồ CSDL
Hệ con riêng (Privacy Sub - System):Hệ con riêng bảo vệ CSDL khỏi
những truy nhập trái phép. Tốt nhất là các ràng buộc riêng được biểu thị
bằng một ngôn ngữ logic chung với các chương trình ứng dụng và do đó nó
được gắn liền vào Lược đồ CSDL
Hệ con toàn cục (Intergrity Sub - System):Hệ con này bảo vệ CSDL tránh
việc đưa vào một số kiểu dữ liệu sai. Các ràng buộc chung
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
27
Mục đích của thiết kế CSDL
CSDL là nơi lưu giữ lâu dài các dữ liệu của hệ thống ở bộ nhớ ngoài. Các
dữ liệu này phải được tổ chức tốt theo hai tiêu chí:
Hợp lý, nghĩa là phải đủ dùng và không dư thừa.
Truy nhập thuận lợi, nghĩa là tìm kiếm, cập nhật, bổ sung và loại bỏ các
thông tin sao cho nhanh chóng và thuận lợi
Ở giai đoạn thiết kế này, ta phải biến đổi lược đồ khái niệm nói trên thành
lược đồ vật lý, tức là một cấu trúc lưu trữ thực sự của dữ liệu trong bộ nhớ
ngoài, cấu trúc này thường được chọn trong các dạng sau:
Các tệp tuần tự.
Các tệp tuần tự có chỉ dẫn.
Các tệp trực truy.
Các tệp đảo ngược.
Các bảng băm.
Các mảng sử dụng con trỏ.
Các cây.
Các quan hệ.
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
28
Nội dung của thiết kế CSDL
Phần này đề cập tới một số khái niệm và kỹ thuật trong thiết kế
CSDL nhằm cung cấp các thông tin cho các chuyên gia để phối hợp
thiết kế hoặc hỗ trợ đánh giá thiết kế dữ liệu
Giai đoạn thiết kế phải biến đổi lược đồ dữ liệu khái niệm thành lược
đồ vật lý- tức là cấu trúc lưu trữ thực sự của dữ liệu trên bộ nhớ
ngoài của máy tính- bằng cách sử dụng lược đồ logic trung gian là
các định nghĩa bảng (hoặc tệp) dữ liệu, bảng (hoặc tệp) chỉ mục,
Dữ liệu phải được tổ chức tốt theo hai tiêu chuẩn sau:
Hợp lý- đủ và không dư thừa
Truy nhập thuận lợi: hỗ trợ tìm kiếm, cập nhật, bổ sung và loại bỏ các
thông tin nhanh chóng và tiện lợi.
Bài 7: Thiết kế các cơ sở dữ liệu.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
29
Qúa trình thiết kế CSDL
Mỗi hệ QTCSDL hoặc hệ quản lý tệp có các quy tắc cắt thứ nhất riêng của mình
Các quy tắc cắt thứ nhất cho hệ QTCSDL phân cấp.
Bỏ qua các quan hệ thừa. (Nghĩa là các quan hệ không tham gia vào một đường
biến đổi nào).
Xác định sự phân cấp bằng cách sử dụng các quan hệ 1 – N, lấy kiểu thực thể “1”
làm cha và kiểu thực thể “N” làm con.
Mỗi kiểu thực thể “Con” có nhiều cha phải đựơc cấp cho một trong số các cha
của nó. Thực thể cha nên chọn cơ số trung bình nhỏ nhất bản ghi “N”. (Ví dụ
thực thể đơn hàng bán ra có số dòng đơn hàng tương ứng ít hơn thực thể kho, mà
ở đó có rất nhiều, đến hàng ngàn các mối quan hệ các dòng đơn hàng).
Bất cứ kiểu thực thể nào mà nó có một truy nhập từ ngoài vào (nơi xuất phát
đường chuyển giáp), phải ở đỉnh của sự phân cấp.
Mỗi một sự phân cấp trở thành một tệp riêng.
Xét những cách thức tạo ra các quan hệ (thí dụ: con trỏ, kỹ thuật ghép tệp,).
Bài 8: Thiết kế cấu trúc lưu trữ vật lý.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
30
Nội dung bài học
Lựa chọn cấu hình máy tính
Hoàn chỉnh thiết kế vật lý
Các kiểu cấu trúc dữ liệu lưu trữ
Bài 8: Thiết kế cấu trúc lưu trữ vật lý.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
31
Lựa chọn cấu hình máy tính
Người thiết kế đang cần phải quyết định xem dữ liệu nên được lưu
trữ vật lý như thế nào.
Các đặc tính của phần cứng máy tính hiện có, hệ điều hành và ngôn
ngữ lập trình cũng phải được tính đến như các yếu tố liên quan đến
kinh nghiệm của cán bộ và thói quen quản lý, v.v...
Sự lựa chọn phần cứng thường phải tuân theo một cơ chế cũng như
điều kiện tài chính
Bài 8: Thiết kế cấu trúc lưu trữ vật lý.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
32
Hoàn chỉnh thiết kế vật lý
Đây là giai đoạn chuyển từ mô hình logic thành các đặ tả kỹ thuật cho lưu
trữ dữ liệu để có thể cài đặt trong hệ quản trị CSDL hoặc tạo các tệp lưu trữ
dữ liệu
Mục đích chính của giai đoạn thiết kế vật lý là:
Các quan hệ từ mô hình dữ liệu logic thành thiết kế kỹ thuật
Lựa chọn các công nghệ lưu trữ để quản lý dữ liệu.
Việc thiết kế chi tiết CSDL gồm các tiến trình cơ bản sau:
Lựa chọn các khuôn dạng lưu trữ cho từng thuộc tính từ mô hình dữ liệu
logic.
Nhóm các thuộc tính từ mô hình dữ liệu thành các bản ghi vật lý.
Sắp đặt các bản ghi liên quan trên bộ nhớ ngoài đảm bảo các bản ghi được
lưu trữ
Lựa chọn các phương tiện, cấu trúc sao cho truy cập hiệu quả hơn như.
Bài 8: Thiết kế cấu trúc lưu trữ vật lý.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
33
Các kiểu cấu trúc dữ liệu lưu trữ
Sau khi có được cấu hình đã được lựa chọn, bước tiếp theo là đặc tả
dữ liệu sẽ được lưu trữ và truy nhập như thế nào trong cấu hình đó.
Đặc tả này được gọi là lược đồ vật lý hay lược đồ bên trong và gồm
có mô tả một hay nhiều cấu trúc dữ liệu dựa trên các tổ hợp của các
cấu trúc trong một tập hợp bao gồm:
Mảng.
Danh sách.
Danh sách liên kết.
Cây.
Đồ thị.
Bài 8: Thiết kế cấu trúc lưu trữ vật lý.
25 October 2011Phân tích - Thiết kế - Hệ thống thông tin
34
Tổng kết chương:
Thiết kế CSDL có vai trò rất quan trọng trong toàn bộ qui trình
thiết kế HTTT quản lý. Các bước thiết kế CSDL bao gồm:
1 – Xây dựng lược đồ khái niệm của CSDL.
2 – Xây dựng lược đồ chức năng của CSDL
3 - Chuyển từ mô hình logic sang mô hình vật lý.
Thủ tục thiết kế CSDL:
1 - Thiết kế dạng cắt thứ nhất của CSDL.
2 - Tối ưu hoá thiết kế.
3 - Thiết kế lưu trữ vật lý của CSDL.
Các file đính kèm theo tài liệu này:
- bai_giang_phan_tich_thiet_ke_cai_dat_he_thong_thong_tin_chuo.pdf