You are on page 1of 130

LỜI GIỚI THIỆU

Trang i
LỜI NÓI ĐẦU
Ngày nay, hệ thống thông tin được xây dựng dựa trên nền tảng máy tính và các hệ
mạng truyền thông là một ứng dụng đem lại nhiều lợi ích thiết thực trong đời sống
hằng ngày, mà bất kỳ một tổ chức hay đơn vị nào cũng muốn xây dựng một hệ thống
thông tin cho riêng mình. Bên cạnh đó, không những nhu cầu xây dựng các hệ thống
thông tin đang tăng lên đáng kể, mà qui mô và mức độ phức tạp của các hệ thống
thông tin cũng không ngừng tăng lên. Do đó, việc phân tích và thiết kế hệ thống
thông tin trở thành một yêu cầu có tính chất bắt buộc và quyết định đến sự thành
công trong quá trình xây dựng hệ thống thông tin.
Phân tích và thiết kế hệ thống nói chung và hệ thống thông tin nói riêng là một khâu
quan trọng đối với bất kỳ một dự án tin học nào. Vì vậy, các kiến thức về phân tích
và thiết kế hệ thống thông tin đã được đưa vào nội dung giảng dạy ở các bậc Cao
đẳng và Đại học của nhiều ngành, đặc biệt là ngành Hệ thống thông tin. Để có thêm
một kênh tham khảo phục vụ công tác giảng dạy của giảng viên cũng như việc học
tập, nghiên cứu, rèn luyện kỹ năng và làm đề tài của sinh viên, chúng tôi mạnh dạn
biên soạn giáo trình này.
Giáo trình này sẽ cung cấp cho người đọc những kiến thức cơ bản về môi trường
phát triển hệ thống thông tin, các phương pháp tiếp cận hệ thống thông tin, thành
phần dữ liệu và thành phần xử lý của hệ thống thông tin. Giáo trình sẽ giúp người
đọc hiểu rõ: các khái niệm về hệ thống và hệ thống thông tin, vai trò của hệ thống
thông tin trong đơn vị/tổ chức ngày nay, các loại hệ thống thông tin, các giai đoạn
xây dựng một hệ thống thông tin, các thành phần tham gia xây dựng một hệ thống
thông tin và các kỹ năng cần thiết mà mà một người làm phân tích thiết kế hệ thống
phải có. Hơn nữa, giáo trình cũng cung cấp cho người đọc các kiến thức cần thiết
và các kỹ năng xây dựng: mô hình dữ liệu mức quan niệm (Conceptual Data Model),
mô hình dữ liệu mức luận lý (Logical Data Model), mô hình dữ liệu mức vật lý
(Physical Data Model), lưu đồ dòng dữ liệu (Data Flow Diagram) và mô hình tổng
thể các module chức năng của hệ thống thông tin.
Về giới hạn nội dung kiến thức, giáo trình sẽ không giới thiệu hai nội dung kiến
thức có liên quan có tính tiền đề và tính tiếp theo, đó là: (1) nội dung kiến thức về
phân tích và xác định yêu cầu người dùng, (2) nội dung kiến thức về phân tích và
thiết kế giao diện người – máy. Do hai nội dung này được giới thiệu trong hai giáo
trình: Quản trị yêu cầu người dùng và Giao diện người – máy.
Việc cho ra đời một quyển giáo trình với mục tiêu như đã nêu ở trên là không đơn
giản khi khả năng và kinh nghiệm của nhóm biên soạn còn giới hạn; nhiều khái
niệm, thuật ngữ dùng trong giáo trình có nhiều định nghĩa và cách tiếp cận khác
nhau. Vì vậy giáo trình này chắc không tránh khỏi những khiếm khuyết, rất mong
nhận được sự góp ý của các đồng nghiệp và người đọc.

Trang ii
MỤC LỤC

Chương 1. MÔI TRƯỜNG PHÁT TRIỂN HỆ THỐNG ......................................... 1


1. GIỚI THIỆU .................................................................................................. 1
2. KHÁI NIỆM HỆ THỐNG ............................................................................. 1
3. HỆ THỐNG THÔNG TIN ............................................................................. 5
4. VAI TRÒ CỦA HỆ THỐNG THÔNG TIN .................................................. 9
5. CÁC LOẠI HỆ THỐNG THÔNG TIN ......................................................... 9
5.1. Hệ thống xử lý dữ liệu ........................................................................... 10
5.2. Hệ thống thông tin quản lý .................................................................... 10
5.3. Hệ thống hỗ trợ quyết định .................................................................... 10
5.4. Hệ thống chuyên gia .............................................................................. 11
6. CHU KỲ SỐNG CỦA HỆ THỐNG THÔNG TIN ..................................... 11
7. CÁC GIAI ĐOẠN XÂY DỰNG HTTT ...................................................... 11
8. CÁC THÀNH PHẦN THAM GIA XÂY DỰNG HTTT ............................ 15
9. CÁC KỸ NĂNG CẦN CÓ KHI PHÂN TÍCH HTTT................................. 16
9.1. Kỹ năng phân tích .................................................................................. 16
9.2. Kỹ năng kỹ thuật ................................................................................... 16
9.3. Kỷ năng quản lý .................................................................................... 17
9.4. Kỹ năng giao tiếp .................................................................................. 18
10. CÂU HỎI ÔN TẬP .................................................................................. 20
Chương 2. THIẾT KẾ THÀNH PHẦN DỮ LIỆU ................................................ 21
1. GIỚI THIỆU ................................................................................................ 21
2. MÔ HÌNH HÓA DỮ LIỆU.......................................................................... 21
2.1. Khái niệm mô hình hóa dữ liệu ............................................................. 21
2.2. Vòng đời dữ liệu .................................................................................... 23
3. MÔ HÌNH DỮ LIỆU MỨC QUAN NIỆM ................................................. 24
3.1. Sơ đồ thực thể - liên kết cho mô hình hóa dữ liệu mức quan niệm ...... 25
3.2. Từ điển dữ liệu ...................................................................................... 33
3.3. Các bước xây dựng mô hình dữ liệu mức quan niệm ........................... 34
4. MÔ HÌNH DỮ LIỆU MỨC LUẬN LÝ ...................................................... 41
5. THIẾT KẾ DỮ LIỆU MỨC VẬT LÝ ......................................................... 45
5.1. Thiết kế cơ sở dữ liệu ............................................................................ 45

Trang iii
5.2. Mô hình dữ liệu mức vật lý ................................................................... 47
6. CÂU HỎI ÔN TẬP VÀ BÀI TẬP ............................................................... 49
6.1. Câu hỏi ôn tập ........................................................................................ 49
6.2. Bài tập .................................................................................................... 49
Chương 3. THIẾT KẾ THÀNH PHẦN XỬ LÝ .................................................... 51
1. GIỚI THIỆU ................................................................................................ 51
2. PHƯƠNG PHÁP TIẾP CẬN THÀNH PHẦN XỬ LÝ .............................. 51
2.1. Phương pháp cổ điển ............................................................................. 51
2.2. Phương pháp tiếp cận mới ..................................................................... 52
3. LƯU ĐỒ DÒNG DỮ LIỆU ......................................................................... 53
3.1. Các khái niệm cơ bản ............................................................................ 54
3.2. Các cấp của lưu đồ dòng dữ liệu ........................................................... 58
3.3. Luật vẽ lưu đồ dòng dữ liệu .................................................................. 59
3.4. Phương pháp phân rã lưu đồ dòng dữ liệu ............................................ 61
3.5. Hướng dẫn xây dựng lưu đồ dòng dữ liệu ............................................. 63
3.6. Hướng dẫn đặc tả ô xử lý của DFD ....................................................... 64
3.7. Hướng dẫn phân loại các xử lý .............................................................. 65
4. BÀI TẬP XÂY DỰNG LƯU ĐỒ DÒNG DỮ LIỆU .................................. 67
4.1. Xác định yêu câu ................................................................................... 67
4.2. Thiết kế DFD cấp ngữ cảnh .................................................................. 68
4.3. Thiết kế DFD cấp 1 ............................................................................... 69
4.4. Thiết kế DFD cấp 2 ............................................................................... 70
5. THIẾT KẾ MODULE XỬ LÝ .................................................................... 73
5.1. Xác định các module xử lý .................................................................... 73
5.2. Phân cấp và liên kết các module xử lý .................................................. 74
5.3. Thiết lập các module lập trình ............................................................... 75
5.4. Thiết lập sơ đồ tổng thể các module lập trình ....................................... 75
6. CÂU HỎI ÔN TẬP VÀ BÀI TẬP ............................................................... 76
6.1. Câu hỏi ôn tập ........................................................................................ 76
6.2. Bài tập .................................................................................................... 76
Chương 4. GIỚI THIỆU CÁC KIỂU GIAO DIỆN ............................................... 78
1. GIỚI THIỆU ................................................................................................ 78
2. LỊCH SỬ PHÁT TRIỂN GIAO DIỆN NGƯỜI DÙNG.............................. 78

Trang iv
2.1. Giao diện dòng lệnh .............................................................................. 78
2.2. Giao diện đồ họa .................................................................................... 79
3. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG .................................................... 80
3.1. Các nguyên tắc thiết kế giao diện người dùng ...................................... 80
3.2. Biểu diễn thông tin trong thiết kế giao diện người dùng ....................... 82
3.3. Thành phần giao diện ............................................................................ 84
4. THIẾT KẾ THÀNH PHẦN NHẬP LIỆU ................................................... 92
5. THIẾT KẾ THÀNH PHẦN KẾT XUẤT .................................................... 98
5.1. Hiển thị thông tin văn bản ..................................................................... 98
5.2. Hiển thị thông tin dạng bảng ............................................................... 100
5.3. Thiết kế biểu đồ (chart) ....................................................................... 102
6. CÂU HỎI ÔN TẬP .................................................................................... 107
Chương 5. ÔN TẬP .............................................................................................. 109
1. ĐÁNH GIÁ TÍNH KHẢ THI CỦA GIẢI PHÁP ĐỀ XUẤT ................... 109
2. ĐÁNH GIÁ TÍNH ĐÚNG ĐẮN CỦA MÔ HÌNH DỮ LIỆU .................. 109
3. XÂY DỰNG LƯU ĐỒ DÒNG DỮ LIỆU ................................................ 110
4. ĐÁNH GIÁ MẪU THIẾT KẾ GIAO DIỆN ............................................. 111
Chương 6. THỰC HÀNH PHÂN TÍCH VÀ THIẾT KẾ .................................... 114
1. GIỚI THIÊU .............................................................................................. 114
2. BÀI THỰC HÀNH 1 ................................................................................. 114
3. BÀI THỰC HÀNH 2 ................................................................................. 115
4. BÀI THỰC HÀNH 3 ................................................................................. 115
5. BÀI THỰC HÀNH 4 ................................................................................. 116
6. BÀI THỰC HÀNH 5 ................................................................................. 117
7. BÀI THỰC HÀNH 6 ................................................................................. 117
8. CÁC KẾT QUẢ CẦN ĐẠT ĐƯỢC .......................................................... 118
BÀI TẬP............................................................................................................... 119
TÀI LIỆU THAM KHẢO .................................................................................... 120

Trang v
DANH MỤC BẢNG

Bảng 1. Các ký pháp sử dụng để vẽ lưu đồ dòng dữ liệu ....................................... 54


Bảng 2. Gợi ý cách phối màu nền trước sau .......................................................... 83
Bảng 3. Các loại menu mẫu ................................................................................... 90
Bảng 4. Các thiết bị nhập liệu ................................................................................ 93
Bảng 5. Đặc tính của mỗi loại thiết bị nhập liệu .................................................... 94
Bảng 6. Một số lỗi nhập liệu thường gặp ............................................................... 95

Trang vi
DANH MỤC HÌNH

Hình 1. Hệ thống cùng với các khái niệm liên quan ................................................ 3
Hình 2. Các nguồn tài nguyên của một hệ thống thông tin ...................................... 7
Hình 3. Các bộ phận của một tổ chức hệ thống thông tin ........................................ 7
Hình 4. Các giai đoạn xây dựng hệ thống thông tin theo mô hình thác nước ........ 13
Hình 5. Vai trò của mô hình hóa dữ liệu ................................................................ 22
Hình 6. Sơ đồ phân cấp tổ chức ............................................................................. 52
Hình 7. Sơ đồ phân cấp chức năng ......................................................................... 52
Hình 8. Minh họa nguồn và đích của một DFD ..................................................... 57
Hình 9. Minh họa các kho dữ liệu: mặt hàng, đơn giá và hóa đơn ........................ 58
Hình 10. DFD cấp 0 hay cấp ngữ cảnh của Hệ thống đặt thức ăn ......................... 58
Hình 11. DFD cấp 1 được phân rã từ DFD cấp 0 của Hệ thống đặt thức ăn ......... 59
Hình 12. Minh họa DFD cấp 0 không cân bằng với DFD cấp 1 ............................ 60
Hình 13. Minh họa DFD cấp 1 không cân bằng với DFD cấp 0 ............................ 60
Hình 14. Minh họa DFD cấp 0 cân bằng với DFD cấp 1 ....................................... 61
Hình 15. Minh họa DFD cấp 1 cân bằng với DFD cấp 0 ....................................... 61
Hình 16. Mô hình tổng quát hóa phương pháp phân rã DFD ................................ 62
Hình 17. Sơ đồ nghiệp vụ chức năng của hệ thống bán mua hàng ........................ 68
Hình 18. DFD cấp ngữ cảnh (cấp 0) của hệ thống mua bán hàng ......................... 69
Hình 19. DFD cấp 1 của hệ thống mua bán hàng .................................................. 70
Hình 20. DFD cấp 2, phân rã từ ô xử lý “Quản lý nhập hàng” .............................. 71
Hình 21. DFD cấp 2, phân rã từ ô xử lý “Quản lý bán hàng” ................................ 71
Hình 22. DFD cấp 2, phân rả từ ô xử lý “Quản lý kinh doanh” ............................ 72
Hình 23. Mô hình minh họa một module xử lý bên trong đơn giản ...................... 73
Hình 24. Sơ đồ phân cấp cho thủ tục chức năng “xác định đặt hàng” ................... 74
Hình 25. Sơ đồ tổng thể các module lập trình cho hoạt động của xí nghiệp ......... 75
Hình 26. Mô hình tổng thể các module chức năng của hệ thống mua bán hàng ... 76
Hình 27. Giao diện dòng lệnh của hệ điều hành MS-DOS (trái) và Ubuntu (phải)
................................................................................................................................ 79
Hình 28. Màn hình desktop của hệ điều hành MacOS ........................................... 80
Hình 29. Điều hướng trang thiết kế không nhất quán ............................................ 81
Hình 30. Giao diện dành cho người dùng chuyên gia của trang tìm kiếm Google 81

Trang vii
Hình 31. Giao diện thiết kế lỗi khi sử dụng quá nhiều màu sắc ............................ 83
Hình 32. Thông điệp lỗi hướng đến hệ thống (trái), hướng đến người dùng (phải)
................................................................................................................................ 84
Hình 33. Checkboxes được sử dụng để xác định các liên hệ cần xóa .................... 85
Hình 34. Minh họa sử dụng radio butons để hiển thị ảnh tương ứng với con vật được
chọn ........................................................................................................................ 85
Hình 35. Dropdown list cho việc chọn ngôn ngữ hiển thị ..................................... 86
Hình 36. Thiết lập chức năng trên thanh công cụ của MS Excel thông qua listbox
................................................................................................................................ 86
Hình 37. Lựa chọn tài khoản để đăng nhập hệ thống bằng cách sử dụng button... 86
Hình 38. Minh họa sử dụng toggles để thiết lập tính năng cho hệ thống............... 87
Hình 39. Text field dùng nhập chuỗi thông thường và chuỗi mật khẩu ................ 87
Hình 40. Một kiểu thiết kế cho đối tượng Date and Time picker .......................... 87
Hình 41. Một kiểu thiết kế breadcrumb ................................................................. 88
Hình 42. Các dạng điều khiển slider ...................................................................... 88
Hình 43. Minh họa thiết kế search field ................................................................. 88
Hình 44. Một kiểu phân trang với thông tin về trang hiện tại, số trang tổng cộng 89
Hình 45. Một kiểu thiết kế tags cloud .................................................................... 89
Hình 46. Các icons đại diện cho các chức năng của hệ thống quản lý điểm ......... 89
Hình 47. Fish-eye menu biểu diễn tên các quốc gia .............................................. 90
Hình 48. Tooltip được sử dụng như thông tin hướng dẫn ...................................... 91
Hình 49. Determinate progress bar (trái) và indeterminate progress bar (phải) .... 91
Hình 50. Các dạng thông báo của Facebook .......................................................... 91
Hình 51. Một hộp thông điệp dược thiết kế với 3 tùy chọn ................................... 92
Hình 52. Modal window được thiết kế để yêu cầu người dùng đăng nhập trước khi
sử dụng hệ thống .................................................................................................... 92
Hình 53. Giao diện nhập liệu cho hóa đơn bán hàng ............................................. 95
Hình 54. Minh họa giao diện nhập liệu với các bước kiểm tra dữ liệu .................. 96
Hình 55. Giao diện đặt vé xe được thiết kế hợp lý................................................. 97
Hình 56. Giao diện đặt vé xe được thiết kế không thân thiện ................................ 98
Hình 57. Văn bản hiển thị không đúng dẫn đến việc khó nắm bắt nội dung ......... 99
Hình 58. Văn bản được hiển thị tốt ........................................................................ 99
Hình 59. Một thiết kế báo biểu không tốt ............................................................ 100
Hình 60. Một thiết kế báo biểu tốt ....................................................................... 101

Trang viii
Hình 61. Các thành phần của một báo biểu.......................................................... 102
Hình 62. Biểu đồ dạng thanh dọc ......................................................................... 103
Hình 63. Biểu đồ dạng thanh ngang ..................................................................... 103
Hình 64. Biểu đồ thanh dạng stacked ................................................................... 104
Hình 65. Biểu đồ thanh dạng 100% stacked ........................................................ 104
Hình 66. Nên và không nên khi sử dụng biểu đồ dạng thanh .............................. 105
Hình 67. Hai dạng biểu đồ tròn ............................................................................ 105
Hình 68. Nên và không nên khi sử dụng biểu đồ tròn ......................................... 106
Hình 69. Biểu đồ đường ....................................................................................... 106
Hình 70. Nên và không nên khi sử dụng biểu đồ đường...................................... 107
Hình 71. Biểu đồ dạng scatter plot ....................................................................... 107
Hình 72. Nên và không nên khi sử dụng scatter plot ........................................... 107
Hình 73. Giao diện quản lý phòng cung cấp nhiều thông tin ............................... 112
Hình 74. Giao diện quản lý phòng “nghèo” thông tin .......................................... 112

Trang ix
DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Từ gốc tiếng Anh Diễn giải


CDM Conceptual data model Mô hình dữ liệu mức quan niệm
CLI Command language Ngôn ngữ thông dịch dòng lệnh
interpreter
CSDL/DB Database (DB) Cơ sở dữ liệu
DFD Data flow diagram Lưu đồ dòng dữ liệu
ERD Entity-Relationship Sơ đồ thực thể-liên kết
diagram
GUI Graphical user interface Giao diện đồ họa người dùng
HTTT/IS Information system (IS) Hệ thống thông tin
LDM Logical data model Mô hình dữ liệu mức luận lý
PDM Physical data model Mô hình dữ liệu mức vật lý
UML Unified modeling Ngôn ngữ mô hình hóa thống nhất
language

Trang x
Chương 1. MÔI TRƯỜNG PHÁT TRIỂN HỆ THỐNG

1. GIỚI THIỆU

Chương này giới thiệu một số khái niệm cơ bản về hệ thống (system), hệ thống thông
tin (information system), vai trò của hệ thống thông tin, các giai đoạn phát triển hệ thống
thông tin, các thành phần tham gia xây dựng hệ thống thông tin và các kỹ năng cần thiết
đối với người phân tích hệ thống thông tin.
Sau khi nghiên cứu chương này, sinh viên có thể:
- Hiểu rõ các khái niệm về hệ thống và hệ thống thông tin,
- Biết được vai trò của hệ thống thông tin, các thành phần tham gia xây dựng
hệ thống thông tin,
- Hiểu được các giai đoạn phát triển hệ thống thông tin,
- Biết các kỹ năng cần phải có đối với một người phân tích hệ thống.

2. KHÁI NIỆM HỆ THỐNG

a. Các khái niện hệ thống


Hệ thống là một tập hợp các đối tượng, các thành phần có liên quan với nhau, tương tác
với nhau theo những nguyên tắc, những cơ chế nào đó cùng tồn tại trong một thể thống
nhất (Đinh Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003).
Trong khoa học máy tính (Computer science) và khoa học thông tin (Information
science), hệ thống là một hệ thống phần mềm (Software system), trong đó gồm các
thành phần như: cấu trúc của hệ thống, tập hợp các phương thức cơ bản để trao đổi dữ
liệu giữa các quá trình của hệ thống và cách hoạt động của hệ thống.
Thuật ngữ hệ thống (System) có thể cũng liên quan đến một tập hợp các quy tắc ảnh
hưởng đến cấu trúc và cách hoạt động. Thông thường trong ngữ cảnh hệ thống xã hội
phức tạp (Complexe social system) thì thuật ngữ thể chế (Institution) được dùng thay
thế cho hệ thống để mô tả tập hợp các quy tắc chi phối đến cấu trúc và cách hoạt động.
Tóm lại, trong tài liệu này hệ thống được hiểu như là tập hợp các đối tượng có quan hệ
hữu cơ với nhau, tác động chi phối lẫn nhau theo một cơ chế xác định, cùng cộng tác
hoạt động theo các quy tắc nhất định để đạt được các mục tiêu đề ra.
Trong một hệ thống, mỗi một thành phần có thể có những chức năng khác nhau nhưng
khi kết hợp lại chúng có những chức năng đặc biệt.
Ví dụ: một chiếc ô tô bao gồm tất cả các thứ như: giá đỡ, bánh xe, phụ tùng, dây dẫn,
bình xăng, đai ốc, bulông, đèn pha,… mỗi thứ có một chức năng riêng, nhưng nếu chúng
được lắp ráp một cách hợp lý, hoạt động ăn khớp với nhau thì chúng có khả năng di
chuyển nhanh, chuyên chở nặng vào ban ngày và cả ban đêm… Giá trị của toàn bộ hệ
thống hơn hẵn giá trị của tất cả các thành phần tạo nên nó gộp lại.
Trong một hệ thống có những bộ phận không thể thiếu được, tuy nhiên đôi khi có những
bộ phận hoạt động không hiệu quả có thể loại bỏ chúng để nó hoạt động tốt hơn.

Trang 1
b. Các đặc điểm của hệ thống
Hầu hết các hệ thống đều có những đặc điểm phổ biến như sau:
1. Mỗi hệ thống đều có cấu trúc (Structure)
Cấu trúc của hệ thống gồm các bộ phận có quan hệ trực tiếp hoặc gián tiếp với nhau.
Mỗi bộ phận này đều có các đặc trưng riêng. Các bộ phận nói chung là rất đa dạng, có
khi đơn giản nhưng cũng có khi rất phức tạp. Tuy nhiên cũng có thể thấy những kiểu
thành phần hệ thống cơ bản là: con người, phương tiện, phương pháp và quy trình.
2. Mỗi hệ thống đều có cách hoạt động (Behavior)
Mỗi hệ thống đều phải hoạt động: các thành phần của cộng tác với nhau để thực hiện
mục tiêu đề ra, nếu không thì không cần đến hệ thống. Cách hoạt động của mỗi hệ thống
là cụ thể, nhưng đều có cái chung đó là quá trình biến đổi các input thành output. Output
của quá trình biến đổi có thể là vật thể (Material), năng lượng (Energy) hoặc dữ liệu
(Data).
Hoạt động của hệ thống phản ánh sự biến động của hệ thống. Sự tiến triển của hệ
thống cũng phản ánh sự biến động của hệ thống: các đối tượng trong hệ thống và các
quan hệ giữa chúng có thể phát sinh, mở rộng, suy thoái và đào thải.
3. Mỗi hệ thống đều có sự kết nối bên trong (Interconnectivity)
Các bộ phận và các quá trình biến đổi của hệ thống phải có ràng buộc với nhau bằng
các quan hệ theo cấu trúc hoặc theo cách hoạt động. Các mối quan hệ này phản ánh sự
kết nối bên trong, quyết định sự tồn tại của hệ thống. Ví dụ, trong hệ thống hành chính
thì giữa cán bộ và nhân viên tồn tại ràng buộc về phân cấp, giữa nhân viên và phòng thì
tồn tại ràng buộc làm việc ở đâu.
Trong số các quan hệ bên trong hệ thống người ta chỉ quan tâm đến các quan hệ cần
thiết, ổn định và tồn tại lâu dài, không quan tâm đến các quan hệ mang tính tạm thời.
Ví dụ, người ta quan tâm đến quan hệ mỗi nhân viên làm việc ở phòng nào, mà ít quan
tâm đến quan hệ nhân viên A đi công tác chung với nhân viên B. Người ta thường quan
tâm đặc biệt đến những quan hệ ổn định.
4. Cấu trúc và cách hoạt động của hệ thống có thể được phân rã (Decomposition)
thành các hệ thống con (Subsystem) và các quá trình con (Subprocess). Sự phân
rã này có thể chi tiết đến mức thành những bộ phận sơ cấp và các bước trong quá
trình biến đổi.
c. Các kiểu quan hệ tương tác giữa các hệ thống
Giữa các hệ thống thường có 3 kiểu quan hệ tương tác là phân cách nhau, bao hàm nhau
hay giao nhau.
- Kiểu quan hệ phân cách nhau: Một hệ thống có thể nhận các đối tượng từ môi
trường bên ngoài vào, biến đổi chúng và cũng có thể kết xuất ra môi trường bên
ngoài.
- Kiểu quan hệ bao hàm nhau: hệ thống này là bộ phận hay chứa hệ thống kia.
Chẳng hạn bộ phận quạt có chức năng làm mát CPU và mainboard trong hệ thống
máy tính.
- Kiểu quan hệ giao nhau: các thành phần của hệ thống này cũng là thành phần
của hệ thống khác. Chẳng hạn sông ngòi vừa là một đối tượng của hệ thống địa
lý vừa là thành phần của hệ thống giao thông.
Trang 2
Các hệ thống có thể có ảnh hưởng qua lại lẫn nhau, có thể ảnh hưởng tích cực và cũng
có thể ảnh hưởng tiêu cực. Có các hệ thống đơn giản: ít phần tử, ít mối quan hệ hay các
mối quan hệ đơn giản; nhưng cũng có những hệ thống phức tạp: nhiều phần tử, nhiều
mối quan hệ và các mối quan hệ phức tạp. Vì vậy các hệ thống thường có cấu trúc, hoạt
động theo các nguyên lý chặt chẽ và hoạt động một cách có tổ chức. Thuật ngữ hệ thống
thường dùng để chỉ các tổ chức hoạt động có cơ chế quy cũ, mà nhiều khi chúng ta đồng
nhất nghĩa của hai thuật ngữ tổ chức và hệ thống với nhau.
d. Phân loại các hệ thống
Khi phân loại các hệ thống, người ta có nhiều quan điểm để phân loại các hệ thống như:
phân loại hệ thống theo chủ thể tạo ra chúng, phân loại hệ thống theo tính chất của
chúng, ...
Khi phân loại hệ thống theo tính chất, người ta chia hệ thống theo hai dạng:
- Hệ thống mở: là hệ thống có tính xác suất trong đó đầu vào, đầu ra không thể xác
định chính xác nhưng có thể dự đoán được. Chẳng hạn hệ thống đặt chổ vé máy bay
không thể đoán chính xác bao nhiêu chỗ sẽ được đặt cho một chuyến bay nào đó.
- Hệ thống đóng: là hệ thống có thể đoán trước kết quả đầu ra nếu biết đầu vào.
Chính vì vậy mà hệ thống đóng dễ quản lý hơn hệ thống mở.
Khi phân loại hệ thống theo chủ thể tạo ra hệ thống, người ta chia thành hai dạng:
- Các hệ thống tự nhiên (không do con người tạo ra): Ví dụ các nguyên tử, phân tử,
tế bào, vật chất: (sông ngòi, núi non…), tổ chức sống (thực vật, động vật), các hành
tinh, các thiên hà, vũ trụ… Những hệ thống này có những quy luật hoạt động mà việc
nhận biết chúng là một thách thức đối với nhân loại từ xưa tới nay. Nhiều quốc gia (điển
hình như Hoa kỳ, Liên xô trước đây và bây giờ là Liên bang Nga, Trung Quốc…) đã
đầu tư rất nhiều trí tuệ, vật chất cho những nghiên cứu này.
- Các hệ thống do con người tạo nên như: trường học, bệnh viện, đơn vị công ty, nhà
nước, … và gần gũi với chúng ta là một máy tính hay một hệ thống mạng các máy tính
là các hệ thống. Trong các hệ thống do con người tạo ra có những hệ thống có thể tự
động hóa, nghĩa là có thể điều khiển cơ chế hoạt động bằng máy tính. Nhờ sự phát triển
của khoa học kỹ thuật, đặc biệt là khoa học công nghệ thông tin, con người đã tạo ra
những hệ thống tự động và mong muốn điều khiển (toàn bộ hay phần nào) hoạt động
của cả các hệ thống do họ đã tạo ra và các hệ thống tự nhiên. Do đó để cải tiến chúng
phải có sự hiểu biết về hệ thống đó một cách đầy đủ và chính xác.
d. Các khái niệm liên quan đến hệ thống

Đầu vào Đầu ra


HỆ THỐNG

Biên của hệ thống


Thành phần xử lý Môi trường bên ngoài

Hình 1. Hệ thống cùng với các khái niệm liên quan


Trang 3
Một hệ thống có thể bao gồm nhiều thành phần, thành phần mà ta thường gọi là hệ
thống con (subsystems). Mỗi một hệ thống con đảm nhận một số tác vụ riêng biệt nào
đó trong hệ thống lớn mà nó là một thành phần. Thí dụ: hệ thống thông tin bao gồm
mạng truyền thông, hệ thống điện thọai, các máy tính và những con người thao tác
chúng.
Môi trường là những con người, phương tiện, quy luật, chính sách… bao quanh hệ
thống. Một hệ thống không thể hoạt động độc lập, cho nên tìm hiểu một hệ thống không
thể không quan tâm tới môi trường bao quanh hệ thống đó.
Biên hay giới hạn (boundaries) là chu vi hay đường ranh giới giữa một hệ thống và
môi trường bên ngoài. Nó cách biệt giữa các phần tử tạo nên hệ thống và thế giới bên
ngoài. Trong một số trường hợp biên của nó dễ xác định, nhưng cũng có những hệ thống
mà biên không rõ ràng.
Đầu vào (input) của một hệ thống là các đối tượng từ môi trường bên ngoài tham gia
vào hệ thống. Hệ thống tác động lên chúng. biến đổi chúng tạo thành các kết quả đầu
ra. Không có đầu vào hệ thống không thể tạo được kết quả đầu ra. Có một phạm trù đặc
biệt kiểm soát đầu vào gọi là các tiêu chuẩn nạp nhập.
Đầu ra (output) là sản phẩm, là kết quả của xử lý. Cũng như đối với đầu vào, kết quả
của kết xuất (đầu ra) có khi đánh giá bằng phạm trù trừu tượng gọi là tiêu chuẩn kết
xuất.
Thành phần xử lý (processors) của một hệ thống có chức năng biến đổi từ các đối
tượng đầu vào thành kết quả đầu ra. Quá trình biến đổi có thể qua nhiều giai đoạn trung
gian bên trong hệ thống. Thành phần xử lý được phân loại như sau:
- Thành phần xử lý chức năng: Các thành phần xử lý chức năng có nhiệm vụ thực
hiện các mục tiêu của hệ thống. Những xử lý này tác động lên những đối tượng đầu vào
theo những qui trình nghiêm ngặt, (có thể tạo ra các đối tượng bên trong hệ thống) và
cuối cùng tạo ra những đối tượng kết xuất ra môi trường bên ngoài. Thí dụ một nhà máy
sản xuất bao bì có thể nhận nguyên liệu là cây hoặc giấy vụn, các hóa chất phân huỷ
chúng, rồi qua các quá trình xử lý để thành các cuộn giấy và từ đó người ta làm ra các
sản phẩm bao bì.
- Các thành phần xử lý tiết chế: Các thành phần xử lý tiết chế có nhiệm vụ giữ cho
hệ thống ổn định. Có những bộ phận kiểm soát các đối tượng đầu vào, các kết quả đầu
ra và các thành phần xử lý khác nghĩa là kiểm soát lẫn nhau.
Trong bất kỳ một tổ chức nào (tổ chức nhà nước hay một tổ chức hành chánh hay thậm
chí trong một hệ thống máy tính chẳng hạn) luôn có các thành phần này. Chúng có trách
nhiệm kiểm soát các đối tượng thực thi chức năng của hệ thống. Nhiệm vụ của chúng
là xem xét các hoạt động của các thành phần chức năng có đúng mục tiêu của hệ thống
hay không, có làm tổn hại sự tồn tại hay ổn định và sự phát triển của hệ thống hay
không. Nếu phát hiện ra những hoạt động bất thường thì phải có những ứng xử tương
ứng trong phạm vi, chức năng nhiệm vụ của chúng để có biện pháp điều chỉnh các hoạt
động đó.
- Ví dụ 1: Phép toán xx2 , đầu vào nhận một số thực, kết xuất là một số thực bằng
bình phương số thực đó, xử lý đơn giản ở đây là phép bình phương.
- Ví dụ 2: Một nhà máy là một hệ thống, nó nhận đầu vào là các nguyên liệu, hóa
chất, nhiên liệu, điện năng, nhân công… qua quá trình sản xuất, tạo ra các sản phẩm.

Trang 4
Chẳng hạn nhà máy súc sản, nhận đầu vào là các con trâu, con heo, con bò đầu ra là các
hộp thịt.
- Ví dụ 3: Một trường đại học hàng năm nhận các thí sinh vào nhập học. Ngoài
những tiêu chuẩn như độ tuổi, sức khỏe, chiều cao, cân năng thì kết quả tuyển sinh là
tiêu chuẩn cơ bản để kiểm soát thí sinh được nhập học hay không. Tiêu chuẩn này tuỳ
thuộc vào nhiều yếu tố như kết quả 3 môn thi, ngành học, khối thi, khu vực và đối tượng
ưu tiên của từng thí sinh. Những sinh viên này, qua quá trình đào tạo thông qua sự giảng
dạy của các giáo viên, với các giáo trình, các phương tiện nghiên cứu, quá trình kiểm
tra đánh giá (thi, đồ án, bài tập, luận văn…) để xét kết quả học tập của sinh viên. Cũng
như những khái niệm như tình yêu, lòng căm thù, lòng biết ơn… sự nhận thức (hay kiến
thức) là một phạm trù trừu tượng. Việc đánh giá nhận thức của sinh viên về một lĩnh
vực nào đó là một là một vấn đề khó vì nhận thức (và nói chung là các phạm trù trừu
tượng) không nhận biết bằng các giác quan thông thường. Cách làm từ xưa tới nay là
người ta cụ thể hoá một phạm trù trừu tượng. Chẳng hạn để đánh giá kiến thức về một
môn học nào đó, người giáo viên đưa ra một số câu hỏi và theo chủ quan của giáo viên
đó, nếu học viên giải quyết được câu này sẽ được chừng này điểm, nếu giải quyết được
câu kia sẽ đạt chừng ấy điểm. Tổng số điểm đạt được của học viên trên tất cả các câu
hỏi của đề thi phản ánh nhận thức của sinh viên về môn học đó. Kết quả là sau thời gian
đào tạo những sinh viên đạt điểm trên trung bình tất cả các môn học (theo chương trình
đào tạo của ngành học) sẽ được nhà trường công nhận tốt nghiệp, những sinh viên hết
thời hạn được phép lưu học tại trường mà không đạt điểm trên trung bình tất cả các môn
học sẽ buộc thôi học hoặc chuyển sang hình thức đào tạo khác.
Một hệ thống quản lý dữ liệu bao gồm việc thu thập, lưu trữ, tìm kiếm, sắp xếp, tổng
hợp, tính toán và những thao tác tương tự. Kết quả của một hệ thống thông tin có thể
bao gồm các báo cáo, biểu đồ, các tập tin kết xuất…
Đối với những hệ thống phức tạp, chúng có thể nhận nhiều loại đối tượng từ thế giới
bên ngoài, và gồm nhiều quy trình xử lý phức tạp. Nhiều quy trình biến đổi còn là những
điều khó khăn so với nhận thức của con người.

3. HỆ THỐNG THÔNG TIN

a. Khái niệm thông tin


Thông tin (information) là một hay tập hợp những phần tử mà ta thường gọi là các tín
hiệu phản ánh ý nghĩa về một đối tượng, một hiện tượng hay một quá trình nào đó của
sự vật thông qua quá trình nhận thức.
Tín hiệu được biểu hiện dưới nhiều dạng khác nhau: ngôn ngữ (tiếng nói, văn bản chữ
viết, các động tác), hình ảnh, âm thanh, mùi vị và những dạng vật chất khác như sóng
âm thanh, sóng điện từ... có thể được nhận biết thông qua các cơ quan cảm giác (như
mắt, tai, mũi, da,…) hoặc những phương tiện đặc biệt do con người tạo ra (như radio,
vệ tinh nhân tạo, rada…) và quá trình nhận thức.
Cần chú ý là cùng một (hoặc một tập hợp) tín hiệu nhưng tùy những ngữ cảnh khác
nhau thể hiện những thông tin khác nhau và cùng một thông tin cũng có thể biểu diễn
bằng những dạng tín hiệu khác nhau.
Một tổ chức có thể được nhìn nhận, xem xét dưới những góc độ khác nhau, cho nên có
nhiều dạng thông tin khác nhau. Chẳng hạn thông tin về con người có những thông tin
Trang 5
về cấu tạo cơ thể: hệ thống thần kinh, hệ thống tuần hoàn, hệ thống tiêu hóa... có thông
tin về hệ tư tưởng: tôn giáo, đảng phái, có thông tin về nhận thức kỹ năng (trình độ và
lĩnh vực chuyên môn)… Tập hợp tất cả những thông tin về một tổ chức cho ta tiếp cận
sự hiểu biết về tổ chức đó.
Trong tin học, thông tin là sự tinh lọc từ việc xử lý dữ liệu. Chính vì vậy mà hai thành
phần quan trọng của hệ thống thông tin là thành phần dữ liệu và thành phần xử lý.
Một trong những vấn đề cần lưu ý liên quan đến thông tin là cách thức xử lý, ứng xử
khi có được thông tin. Bất kỳ ai cũng cần thông tin: ví dụ thông tin bản thân và thông
tin về các tổ chức, môi trường liên quan. Để có được thông tin đã là quí nhưng điều
quan trọng là xử lý thông tin có được đó như thế nào, đây là điểm quan trọng nhất, có
quyết định giá trị của thông tin. Ta thấy, giá trị thông tin được xác định bởi cái mà nó
sẽ phục vụ cho. Như vậy, thông tin chỉ có giá trị nếu nó đáp ứng được một nhu cầu nào
đó, nếu không khai thác được, nó sẽ trở thành vô ích. Thông tin cũng có khi lỗi thời và
không còn ý nghĩa.
Do tầm quan trọng hay giá trị của thông tin nên nhiều hệ thống quản trị thông tin phải
có những cơ chế bảo mật và sao lưu nghiêm ngặt. Việc làm mất, sai lệch, hoặc truy cập
không được phép vào hệ thống thông tin có thể gây những hậu quả không lường.
b. Khái niệm hệ thống thông tin
Hệ thống thông tin của một tổ chức là tập hợp có hệ thống những thông tin về tổ chức
đó. Hệ thống thông tin gồm công nghệ thông tin và các hoạt động của con người nhằm
hỗ trợ cho các quá trình hoạt động, việc quản lý và đưa ra quyết định của một tổ chức
(Đinh Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003).
Theo nghĩa rộng, thuật ngữ hệ thống thông tin thường được dùng để chỉ sự tương tác
giữa con người, các quá trình xử lý, dữ liệu và công nghệ. Theo nghĩa đó, thuật ngữ hệ
thống thông tin được dùng không những để chỉ Công nghệ thông tin và truyền thông
(Information and Communication Technology) do một tổ chức sử dụng mà lại còn để
chỉ cái cách con người tương tác với công nghệ đó trong việc hỗ trợ cho quá trình xử lý
giao dịch.
Hệ thống thông tin nghiên cứu về phần cứng ở khía cạnh mạng và phần mềm mà con
người và các tổ chức sử dụng để thu thập, lọc, xử lý, tạo và phân phối dữ liệu. Các hệ
thống thông tin được xây dựng từ 5 nguồn tài nguyên sau:
1. Con người (Personnel). Con người ở đây bao gồm các chuyên gia công nghệ
thông tin và người dùng.
2. Phần cứng (Hardware). Phần cứng ở đây bao gồm tất cả các khía cạnh về mặt
vật lý của hệ thống thông tin, từ các thiết bị ngoại vi cho đến các bộ phận của
máy tính và các server.
3. Phần mềm (Software). Phần mềm ở đây bao gồm phần mềm hệ thống, phần mềm
ứng dụng và phần mềm tiện ích.
4. Mạng (Network). Mạng ở đây bao gồm các phương tiện truyền thông và sự hỗ
trợ cho mạng.
5. Dữ liệu (Data). Dữ liệu ở đây bao gồm tất cả các tri thức và các cơ sở dữ liệu
trong hệ thống thông tin

Trang 6
Hình 2. Các nguồn tài nguyên của một hệ thống thông tin

Như vậy một hệ thống thông tin thông thường được cấu thành bởi: các phần cứng, phần
mềm, các hệ mạng, dữ liệu và con người trong hệ thống thông tin.
Cần phân biệt hai loại hệ thống: hệ thống thế giới thực và hệ thống thông tin, trong đó
hệ thống thông tin phản ánh toàn bộ hệ thống thế giới thực. Việc tổ chức hệ thống thông
tin cho mỗi một tổ chức là một nhiệm vụ quan trọng của bất cứ tổ chức nào. Hiện nay
các cơ quan xí nghiệp nói riêng và nhà nước nói chung đang đầu tư rất nhiều vật chất,
trí tuệ để xây dựng các hệ thống thông tin nhằm phục vụ sự ổn định và phát triển của
đất nước.
Tổ chức của một hệ thống thông tin có thể phân hoạch thành 3 bộ phận như sau

Bộ phận
Môi trường bên ngoài quyết định

Bộ phận
quản lý

Bộ phận tác vụ

Hình 3. Các bộ phận của một tổ chức hệ thống thông tin

Bộ phận tác vụ: thường gồm những con người, những phương tiện sử dụng những bộ
xử lý sơ cấp, nhận các luồng thông tin từ thế giới bên ngoài, tác động lên chúng hoặc
làm việc với chúng. Bộ phận tác vụ là một hệ thống xác định, nghĩa là các bộ xử lý cấu
tạo nên nó sử dụng các quy tắc ứng xử đã được định trước do bộ phận quyết định, sao
Trang 7
cho các dữ liệu nhập giống nhau sinh ra cùng dữ liệu xuất.
Bộ phận quản lý: Bộ phận quản lý của một hệ thống thông tin là một tập hợp có tổ
chức của các con người, các cơ chế và các phương tiện thông tin, nhằm mục đích cung
cấp một sự biểu diễn cho hoạt động của tổ chức đó. Nó có các chức năng:
- Thu thập thông tin đến (từ Bộ phận quyết định, Bộ phận tác vụ, môi trường bên
ngoài).
- Lưu trữ các thông tin này hoặc lưu các kết quả xử lý của chúng.
- Xử lý theo yêu cầu của bộ phận tác vụ và bộ phận quyết định.
Truyền thông tin theo cơ chế của tổ chức (ai được truyền, truyền thông tin gì và cho
đối tượng nào). Nó có hai bộ phận thành phần:
- Bộ phận ghi nhớ, lưu trữ thông tin.
- Bộ phận xử lý thông tin.
Bộ phận quyết định: có chức năng đưa ra những quyết định mục tiêu hoạt động, sự tồn
tại và phát triển của tổ chức. Những quyết định thường dựa vào sự biểu diễn thông tin
do bộ phận quản lý cung cấp để lấy quyết định. Nói chung những quyết định này nó
phụ thuộc nhiều yếu tố mà hệ thống chỉ có thể trợ giúp chứ không thể tự động ban hành
được.
Thí dụ: những nhân viện và hệ thống máy tính tại các cửa hàng (làm nhiệm vụ cập nhật
các phiếu nhập kho và các hóa đơn bán hàng), và những nhân viện và hệ thống máy tính
tại phòng tài vụ (làm nhiệm vụ lập các phiếu thu, chi, thanh tóan theo yêu cầu các cửa
hàng hoặc chỉ đạo của phòng kế toán) là bộ phận tác vụ. Hệ thống máy móc và những
nhân viên tại phòng kế toán, phòng kinh doanh có chức năng điều phối hoạt động cung
ứng, chi trả, kết chuyển… là bộ phận quản lý còn ban giám đốc, hội đồng quản trị là bộ
phận quyết định.
Hệ thống thông tin gồm nhiều chức năng thường được tổ chức thành nhiều phân hệ.
Thông thường mỗi một phân hệ được thiết kế cho một bộ phận trong tổ chức. Cũng có
khi các chức năng cũng như phạm vi của chức năng được quy định cho từng nhóm,
thậm chí cho từng người sử dụng trong hệ thống thông tin.
Các chuyên ngành của hệ thống thông tin thường bao gồm:
- Phân tích viên hệ thống (systems analyst)
- Tích hợp hệ thống (system integrator)
- Quản trị cơ sở dữ liệu
- Quản trị hệ thống thông tin trong tổ chức.
- Lập trình quản lý cơ sở dữ liệu.
- Quản lý cơ sở dữ liệu, hỗ trợ ra quyết định cho lãnh đạo, quản lý.
Các ứng dụng của hệ thống thông tin cho công tác xã hội và hoạt động kinh doanh bao
gồm:
- Giáo dục điện tử (elearning)
- Thương mại điện tử (e-commerce)
- Chính phủ điện tử (e-government)
Trang 8
- Các hệ thống thông tin địa lý (GIS) và nhiều lĩnh vực khác, ...

4. VAI TRÒ CỦA HỆ THỐNG THÔNG TIN

Hệ thống thông tin về một tổ chức trước hết cung cấp một sự biểu diễn để thông qua nó
người ta có sự hiểu biết về tổ chức đó (Đinh Khắc Quyền, Giáo trình Phân tích hệ
thống, Đại học Cần Thơ, 2003). Sự biểu diễn đó có thể phục vụ những yêu cầu về mặt
pháp lý (do một tổ chức khác hay một ai đó yêu cầu) cũng có thể do chính những người
có trách nhiệm trong tổ chức đó đưa ra. Thông tin càng chính xác càng kịp thời thì càng
có ý nghĩa đối với những ai quan tâm, và sẽ có tác động tiêu cực nếu thông tin không
chính xác, bị nhiễu hay không kịp thời như phần giá trị của thông tin đã được đề cập ở
phần trước.
Trên cơ sở hệ thống thông tin về tổ chức (có được sự hiểu biết về tổ chức) người có thể
khắc phục những thiếu sót, cải tiến những qui trình chưa hợp lý để tổ chức đó hoạt động
có hiệu quả hơn hay thay đổi mục tiêu hoạt động hoặc thậm chí hủy bỏ tổ chức đó nếu
sự tồn tại và hoạt động của nó nguy hại tới các tổ chức khác.
Một tổ chức gồm nhiều phần tử tương tác động với nhau, nghĩa là luôn sinh ra một môi
trường bên trong biến đổi. Ngoài ra, tổ chức còn phải đối phó với thế giới bên ngoài
cũng không ngừng biến động. Như vậy, hệ thống thông tin về tổ chức là cơ sở để kiểm
soát đầu vào, đầu ra và các qui trình xử lý bên trong để có thể thích nghi với những biến
động ở bên trong lẫn bên ngoài để giữ cho mục tiêu của tổ chức không ra ngoài giới hạn
cho phép và nhằm đảm bảo tính ổn định cũng như phát triển của hệ thống.
Trong hệ thống quản lý, hệ thống thông tin đóng vai trò trung tâm và quyết định trong
việc cung cấp thông tin để điều phối các hoạt động của tổ chức, là linh hồn của hoạt
động quản lý. Lúc này hệ thống thông tin có ba vai trò chính là:
- Thu thập thông tin: Thực hiện phân tích, sàng lọc và ghi nhận những thông cần
thiết cho hệ thống quản lý.
- Xử lý thông tin: Thực hiện tính toán, cập nhật, lưu trữ dữ liệu
- Truyền thông tin: Thực hiện truyền thông thông tin thông suốt, đảm bảo về
mặt thời gian, đảm bảo tính bảo mật hỗ trợ cho việc ra quyết định đúng đắn và kịp thời.
Mỗi tổ chức có thể sử dụng các hệ thống thông tin với nhiều mục đích khác nhau. Trong
việc quản lý nội bộ, hệ thống thông tin sẽ giúp đạt được sự thông hiểu nội bộ, thống
nhất hành động, duy trì sức mạnh của tổ chức, đạt được lợi thế cạnh tranh. Với bên
ngoài, hệ thống thông tin giúp tổ chức nắm bắt được nhiều thông tin về khách hàng và
đối thủ, để cải tiến dịch vụ, nâng cao sức cạnh tranh, tạo đà cho phát triển.
Ngày nay do sự phát triển của các tổ chức (nâng cấp, sát nhập) cũng như các mối quan
hệ giữa các tổ chức (các đối tác) mà việc thu thập và xử lý thông tin càng ngày càng
nhiều, các yêu cầu càng ngày càng phức tạp, đòi hỏi phải nhanh chóng, chính xác. Việc
quản lý thông tin thường được tin học hóa nên các phương tiện thông tin ở đây thường
bao gồm các hệ thống máy tính với cả phần cứng cùng phần mềm kết hợp với người
dùng thực hiện các chức năng của tổ chức hệ thống thông tin. Có thể nói hệ thống thông
tin là không thể thiếu được của bất kỳ tổ chức nào.

5. CÁC LOẠI HỆ THỐNG THÔNG TIN


Trang 9
5.1. Hệ thống xử lý dữ liệu

Hệ thống xử lý dữ liệu (Data Processing System) xử lý thông tin có tính cục bộ, chủ
yếu là dùng cho cấp quản lý tác vụ. Chức năng chủ yếu là cập nhật dữ liệu, in báo cáo
định kỳ.
Hệ thống xử lý dữ liệu có nhiệm vụ thực hiện các nhiệm vụ của tổ chức để đạt được các
mục tiêu do tổ chức đề ra. Hệ thống xử lý dữ liệu thường gồm nhiều bộ xử lý sơ cấp,
chúng nhận các luồng dữ liệu từ bên ngoài, tác động lên dữ liệu đó và tạo nên dữ liệu
đầu ra. Hệ thống xử lý dữ liệu là một hệ thống xác định, nghĩa là các bộ xử lý của nó sử
dụng các quy tắc hoạt động đã được xác định trước sao cho nếu các dữ liệu đầu vào
giống nhau thì sinh ra dữ liệu đầu ra cũng giống nhau.
Hệ thống xử lý dữ liệu còn được gọi là hệ thống tác vụ OS (Operational System). Thuật
ngữ này được sử dụng cho việc lập báo cáo và phân tích dữ liệu, liên quan đến hệ thống
được sử dụng để xử lý các giao dịch thường ngày của một tổ chức. Các hệ thống tác vụ
được thiết kế sao cho việc xử lý các giao dịch thường ngày được tiến hành một cách
hiệu quả, và tính toàn vẹn của dữ liệu trong giao dịch được bảo toàn.
Hệ thống xử lý dữ liệu còn được gọi là hệ thống xử lý thông tin (Information Processing
System)

5.2. Hệ thống thông tin quản lý

Hệ thống thông tin quản lý (Management Information System) xử lý thông tin mang
tính thống kê và dự báo, dành cho nhiều cấp quản lý. Các hệ thống thông tin quản lý
tiêu biểu là các hệ thống máy vi tính, được sử dụng để quản lý ba đối tượng chính là:
công nghệ, con người (cá nhân, nhóm), và dữ liệu.
Hệ thống thông tin quản lý có nhiệm vụ đảm bảo sự thông suốt thông tin trong tổ chức
bằng cách phân tích và cung cấp thông tin về tình hình hoạt động của bộ phận tác vụ
cho bộ phận quyết định, đồng thời chuyển các thông tin mang tính quyết định từ bộ
phận hỗ trợ quyết định đến bộ phận tác vụ.
Hệ thống thông tin quản lý là một tập hợp gồm nhiều phương tiện thông tin được sử
dụng để đảm bảo các chức năng:
- Thu thập thông tin đến từ bộ phận quyết định, bộ phận tác vụ, môi trường bên
ngoài.... nhờ bộ phận ghi nhớ và lưu trữ
- Xử lý phân tích thông tin theo yêu cầu của bộ phận quyết định, bộ phận tác vụ
nhờ bộ phận xử lý thông tin.
- Lưu trữ các thông tin thu thập được và các kết quả xử lý nhờ bộ phận ghi nhớ
và lưu trữ.

5.3. Hệ thống hỗ trợ quyết định

Hệ thống hỗ trợ quyết định (Decision Support System) xử lý thông tin mang tính phân
tích và dự đoán, dành cho quản lý cấp cao để đưa ra các quyết định.
Hệ thống hỗ trợ quyết định là một hệ thống thông tin (Information System) đặt nền tảng
trên máy vi tính, hỗ trợ cho việc đưa ra quyết định về hoạt động của tổ chức theo mục
tiêu đã đề ra. Các hệ thống hỗ trợ quyết định có thể hoăc là hoàn toàn được đưa vào
máy tính, hoặc là con người hoặc là sự kết hợp của cả hai.
Trang 10
Hệ thống hỗ trợ quyết định có chức năng xác định mục tiêu mà tổ chức phải vươn tới,
sự tồn tại và phát triển của tổ chức. Các quyết định của hệ thống hỗ trợ quyết định
thường dựa vào thông tin mà hệ thống nhận đươc. Nói chung việc đưa ra các quyết định
phụ thuộc vào nhiều yếu tố mà hệ thống chỉ có thể trợ giúp chứ không thể tự động ban
hành được. Hệ thống hỗ trợ quyết định tác động lên hệ thống xử lý dữ liệu để thực hiện
các tác vụ theo các mục tiêu để ra.

5.4. Hệ thống chuyên gia

Hệ thống chuyên gia (Expert System) giao tiếp với người sử dụng bằng cách đặt
ra câu hỏi hoặc tình huống. Căn cứ vào câu trả lời mà hệ chuyên gia tiếp tục đặt
ra câu hỏi hoặc tình huống tiếp theo, cho đến khi cung cấp được kết quả cho người
sử dụng.

6. CHU KỲ SỐNG CỦA HỆ THỐNG THÔNG TIN

Chu kỳ sống của hệ thống thông tin gồm 4 giai đoạn sau:
1. Giai đoạn sinh thành: Là giai đoạn bắt đầu từ khi lãnh đạo của tổ chức nảy sinh
ý tưởng sử dụng máy tính để xử lý thông tin sao cho hiệu quả hơn, nắm thông
tin đầy đủ, nhanh chóng, chính xác kịp thời mà không cần tăng thêm nhân lực.
2. Giai đoạn phát triển: Là giai đoạn làm cho ý tưởng trên thành hiện thực. Các
người làm công nghệ thông tin như nhà phân tích, thiết kế, lập trình và người sử
dụng cùng kết hợp làm việc để tin học hóa bộ phận quản lý, tin học hóa hệ thống
thông tin.
3. Giai đoạn khai thác: Là giai đoạn hệ thống thông tin tin học hóa được đưa vào
hoạt động phục vụ hệ thống quản lý của tổ chức.
4. Giai đoạn thoái hóa: Là giai đoạn hệ thống đang được sử dụng đã phát triển đến
mức tới hạn, chức năng của hệ thống thông còn đáp ứng được hoặc không còn
mang lại hiệu quả cho tổ chức. Lúc này hệ thống thông tin hiện tại cần được loại
bỏ để xây dựng một hệ thống, và như vậy một chu kỳ mới lại hình thành.

7. CÁC GIAI ĐOẠN XÂY DỰNG HTTT

Quá trình xây dựng một hệ thống thông tin là một quá trình phức tạp. Do đó, để xây
dựng một hệ thống thông tin, cách tốt nhất là nên chia quá trình này thành nhiều giai
đoạn theo quan điểm tuần tự. Mỗi giai đoạn trong quá trình đó phải được xác định một
cách rõ ràng bởi:
 Thời điểm và sự kiện
 Các sản phẩm được hoàn thành trong giai đoạn đó
Có như vậy mới có cơ sở để thẩm định rằng một giai đoạn nào đó đã hoàn thành hay
chưa. Mặt khác, việc chia quá trình xây dựng hệ thống thông tin thành các giai đoạn
cũng cần thiết cho việc theo dõi đánh giá tiến độ thực hiện dự án sau này.
Thông thường việc chia quá trình xây dựng hệ thống thông tin thành các giai đoạn như
thế nào là tùy thuộc vào mỗi phương pháp phân tích và thiết kế hệ thống thông tin được
sử dụng. Theo công nghệ phân tích và thiết kế có cấu trúc (Structured Analysis and

Trang 11
Design Technology) quá trình xây dựng hệ thống thông tin được chia thành các giai
đoạn tuần tự như sau:
 Giai đoạn 1: Khảo sát hiện trạng và thiết lập dự án
- Tìm hiểu và đánh giá hiện trạng
- Xác định mục tiêu, phạm vi và khả năng của dự án
- Phác họa các giải pháp và xem xét tính khả thi
- Lập dự trù và kế hoạch
 Giai đoạn 2: Phân tích hệ thống
- Xây dựng lưu đồ dòng dữ liệu
- Xây dựng lược đồ cơ sở dữ liệu
 Giai đoạn 3: Thiết kế tổng thể
- Thiết kế hệ thống ở mức logic
- Phân chia hệ thống thành 2 phần: hệ thống máy tính và thủ công
- Phân chia hệ thống máy tính thành các hệ thống máy tính con
 Giai đoạn 4: Thiết kế chi tiết
- Thiết kế các thủ tục thủ công và giao diện người máy
- Thiết kế các kiểm soát và phục hồi
- Thiết kế cơ sở dữ liệu
- Thiết kế chương trình và các mẫu thử
 Giai đoạn 5: Sau thiết kế
- Lập trình
- Chạy thử và cài đặt
- Lập tài liệu hướng dẫn và huấn luyện sử dụng
 Giai đoạn 6: Khai thác và bảo trì
Ngoài ra, quá trình xây dựng hệ thống thông tin được chia thành các giai đoạn theo
phương pháp mô hình thác nước (không tuyến tính) như hình 4.

Trang 12
Mô tả quá trình phản hồi kết quả
Mô tả quá trình chuyển giao kết quả

Hình 4. Các giai đoạn xây dựng hệ thống thông tin theo mô hình thác nước

Giai đoạn 1. Phân tích hiện trạng (Actual State Analysis): là giai đoạn nắm bắt các
thông tin liên quan đến hiện trạng hệ thống thông tin hiện thời cần tin học hóa. Kết quả
của giai đoạn này là toàn bộ các thông tin về hệ thống thông tin cần tin học hóa. Trên
cơ sở đó phân tích các ưu điểm và nhược điểm của hệ thống thông tin hiện thời.
Giai đoạn 2. Nghiên cứu khả thi (Feasibility Study): từ toàn bộ thông tin của giai
đoạn phân tích hiện trạng, giai đoạn nghiên cứu khả thi là giai đoạn đề xuất các giải
pháp khả thi. Các giải pháp đề xuất cần được xem xét tính khả thi trên cả ba mặt sau:
- Khả thi về mặt kinh tế: xét xem hệ thống mới có đem lại những lợi ích cụ thể
gì về mặt kinh tế hay không.
- Khả thi về mặt hoạt động: xét xem hệ thống mới có khả năng được sử dụng, có
bị sự tẩy chay của người dùng không.
- Khả thi về mặt kỹ thuật: xét xem có tồn tại các thiết bị, phương tiện kỹ thuật để
tiến hành triển khai giải pháp đề xuất không.
- Kết quả của giai đoạn này là quyết định tiếp tục hay dừng việc thực hiện các
giải pháp đề xuất.
Giai đoạn 3. Thiết kế (Design): là giai đoạn xác định cách thực hiện các giải pháp
được đề xuất trong giai đoạn nghiên cứu khả thi. Giai đoạn thiết kế thường tập trung
vào hai thành phần chính của hệ thống thông tin là dữ liệu và xử lý.
- Thiết kế dữ liệu chính là việc xác định dữ liệu của hệ thống, bao gồm: dữ liệu
Trang 13
vào, dữ liệu ra, dữ liệu lưu trữ bên trong hệ thống, mối quan hệ giữa các dữ liệu.
- Thiết kế xử lý chính là việc xác định các quy tắc tác động lên dữ liệu vào và dữ
liệu lưu trữ để tạo ra dữ liệu ra.
Kết quả của giai đoạn này là các cơ sở dữ liệu và các quá trình xử lý cần thiết cho hệ
thống.
Giai đoạn 4. Phát triển (Development / Coding): là giai đoạn chuyển các kết quả của
giai đoạn thiết kế sang ứng dụng, bao gồm việc : viết các chương trình tạo cơ sở dữ liệu,
viết các ứng dụng khai thác cơ sở dữ liệu, đồng thời kiểm tra tính đúng đắn của các ứng
dụng dưới góc độ của người viết chương trình. Kết quả của giai đoạn này là các cơ sở
dữ tác vụ và các chương trình ứng dụng dùng cho hoạt động của tổ chức.
Giai đoạn 5. Thử nghiệm (Testing): là giai đoạn kiểm tra tính đúng đắn của hệ thống
dưới góc độ người sử dụng. Đề việc thử nghiệm có kết luận trung thực thì cần phải chú
ý đến hai khía cạnh sau:
- Về dữ liệu thử nghiệm: phải bao gồm tất cả các tình huống có thể xảy ra.
- Về người thực hiện thử nghiệm: phải được chọn một cách hợp lý theo tiêu chí
rõ ràng.
Khi có lỗi được phát hiện thì cơ sở dữ liệu dùng cho hoạt động hoặc các chương trình
ứng dụng xử lý phải được hiệu chỉnh.
Giai đoạn 6. Cài đặt (Implementation): là giai đoạn bố trí các thành phần dữ liệu và
xử lý của hệ thống trên các thiết bị vật lý để thực thi. Ngoài ra giai đoạn này còn bao
gồm các công việc như cung cấp tài liệu hướng dẫn sử dụng, tập huấn và đào tạo người
sử dụng. Việc cài đặt hệ thống mới thường được thực hiện bằng các phương pháp sau:
- Phương pháp cài đặt trực tiếp: đưa hệ thống mới vào thay cho hệ thống cũ ở tất
cả các bộ phận. Cách này có yêu cầu cao vì đòi hỏi mọi thành viên phải sử dụng thành
thạo hệ thống mới.
- Phương pháp cài đặt thí điểm: chọn một số người sử dụng và một số bộ phận
tiêu biểu làm thí điểm để làm quen với hoạt động của hệ thống mới trước khi áp dụng
cho các bộ phận còn lại.
- Phương pháp cài đặt theo giai đoạn: cho cài đặt từng phân hệ con theo chức
năng quản lý, hết phân hệ này đến phân hệ khác.
- Phương pháp cài đặt song song: cho hệ thống cũ và hệ thống mới hoạt động
song song với nhau trong một thời gian nhất định trước khi thay thế hoàn toàn hệ thống
cũ. Đây là phương pháp khá an toàn nhưng tốn kém vì cần tài nguyên cho hai hệ thống
đồng thời.
Giai đoạn 7. Khai thác (Using): là giai đoạn kể từ lúc sử dụng hệ thống mới thay thế
cho hoạt động của hệ thống cũ. Kết quả trong giai đoạn này là tính hiệu quả
Giai đoạn 8. Bảo trì (Maintenance): là giai đoạn tiếp tục phát hiện sự cố của hệ thống
mới trong quá trình sử dụng. Giai đoạn bảo trì bao gồm việc xem xét yêu cầu bổ sung
từ người dùng để sửa chữa lỗi, cải tiến các chức năng hiện có hoặc bổ sung các chức
năng mới làm cho hệ thống thích nghi với hoàn cảnh mới. Trong một số trường hợp mà
hệ thống hiện tại không thể cập nhật để đáp ứng được yêu cầu mới thì cần đề xuất một
đề án xây dựng hệ thống mới.

Trang 14
8. CÁC THÀNH PHẦN THAM GIA XÂY DỰNG HTTT

1. Người dùng (users): là người mà tổ chức phải phục vụ (có thể bên ngoài tổ chức).
Thí dụ Thu ngân tại một siêu thị là người dùng thao tác trong bộ phận bán hàng. Người
dùng có các trách nhiệm sau:
- Cung cấp thông tin cho người phân tích hệ thống về tổ chức hiện tại.
- Đưa yêu cầu cho hệ thống tương lai.
- Thử nghiệm, kiểm chứng, khai thác và sử dụng hệ thống thông tin.

2. Người quản lý (Manager): là những người chịu trách nhiệm về một lĩnh vực nào đó
của hệ thống. Họ là người am hiểu tường tận về lĩnh vực của họ. Đó là đối tượng mà
người phân tích hệ thống phải liên hệ để hiểu những yêu cầu của hệ thống cũng như của
chính họ nhằm mô tả chính xác hệ thống hiện tại và làm cơ sở cho việc cải tiến nó nếu
chưa hợp lý.
3. Người hiệu chỉnh (Auditor): Tùy mức độ của đề án có thể có hoặc không có (đối
với đề án nhỏ hoặc đơn giản) thành phần là người hiệu chỉnh (Auditors) này.
4. Người phân tích hệ thống (System analysts): là người có vai trò quyết định đến sự
thành công của quá trình xây dựng một hệ thống thông tin, là chìa khóa của bất kỳ sự
phát triển dự án nào. Do đó, người phân tích hệ thống đóng một số vai trò như sau:
Thu thập thông tin: thông qua công tác điều tra nghiên cứu bằng các phương pháp như:
phỏng vấn, quan sát, tham khảo hồ sơ, tài liệu kết hợp với kinh nghiệm của bản thân để
xây dựng thông tin hiện tại cho tổ chức. Người phân tích hệ thống phải có khả năng
nắm bắt và hiểu thấu đáo những yêu cầu của người dùng, có kiến thức thức về kỷ thuật
máy tính, biết ứng dụng thành tựu công nghệ thông tin vào giải quyết những vấn đề
thực tế.
Giải quyết những bất đồng quan điểm giữa các thành phần tham gia: Người phân tích
hệ thống là người tự tìm thấy chính bản thân mình trong những thành phần tham gia
xây dựng hệ thống như: người dùng, người quản lý, người lập trình, người hiệu chỉnh,
và những người với có vai trò khác nhau khác, giữa các thành phần này thường có những
bất đồng với nhau trong nhận thức về hệ thống thông tin. Bằng sự hiểu biết và những
kinh nghiệm trong việc xây dựng hệ thống thông tin, người phân tích hệ thống phải là
người làm trung gian giải quyết những bất đồng này.
Lãnh đạo dự án: thông thường người phân tích hệ thống là người có nhiều kinh nghiệm
hơn những thành phần khác cho nên họ được giao đề án trước khi những người lập trình
bắt đầu làm các công việc tiếp theo. Chính vì vậy, khuynh hướng tự nhiên là người ta
gán trách nhiệm quản lý đề án cho những người phân tích hệ thống.
5. Người thiết kế hệ thống (System designers): là người (hoặc một nhóm người) mà
họ sẽ nhận kết xuất từ những người phân tích hệ thống. Công việc của họ là chuyển mỗi
phát biểu tự do về kỷ thuật về những yêu cầu của người dùng thành một thiết kế có tính
kiến trúc cao hơn. Nó là cái sườn mà dựa vào đó các nhà lập trình có thể triển khai làm
việc. Trong nhiều trường hợp người phân tích hệ thống và người thiết kế hệ thống là
một, hoặc là thành viên của cùng một nhóm người. Người phân tích hệ thống và người
thiết kế hệ thống luôn làm việc gần gũi với nhau từ đầu đến cuối đề án.
6. Người lập trình (Programers): là những người nhận kết xuất từ những người thiết
kế hệ thống, dùng ngôn ngữ lập trình để triển khai chúng, kiểm tra và thử nghiệm

Trang 15
chương trình. Những người phân tích hệ thống bàn giao kết quả công việc đã làm của
họ cho những người thiết kế hệ thống, và những người thiết kế hệ thống lại chuyển giao
sản phẩm của họ cho những người lập trình để họ thảo chương. Đối với những đề án
lớn công việc thường tiến hành theo một chuỗi tuần tự nghiêm ngặt nên phải tách bạch
quá trình thực hiện thành từng giai đoạn và phân hoạch những người tham gia thành các
nhóm để theo dõi, kiểm tra cũng như phân chia trách nhiệm. Chính vì vậy, công việc
của những người phân tích hệ thống tiến hành đầu tiên và phải được hoàn thành hoàn
chỉnh trước khi công việc của những người thiết kế và những người lập trình bắt đầu.
7. Người điều hành (Operational personnel) là người có trách nhiệm trong trung tâm
máy tính, mạng viễn thông điện tử, chịu trách nhiệm về sự an toàn của phần cứng, phần
mềm và dữ liệu trong máy tính. Thường là người chịu trách nhiệm phân các quyền can
thệp vào hệ thống cho các thành phần tham gia (chủ yếu cho các nhóm người dùng).

9. CÁC KỸ NĂNG CẦN CÓ KHI PHÂN TÍCH HTTT

9.1. Kỹ năng phân tích

Kỹ năng phân tích là một kỹ năng quan trọng mà người phân tích cần có. Phân tích có
nghĩa là suy nghĩ (thinking) về mục tiêu của hệ thống và các thành phần có liên quan
đến hệ thống như: đường biên, môi trường, giao diện, đầu vào, đầu ra, thành phần xử lý
và các ràng buộc của hệ thống.
Một hệ thống được tạo từ nhiều thành phần mà trong đó mỗi thành phần có thể là một
hệ thống con. Ví dụ như với một xe ô tô hoặc một hệ thống âm thanh với những thiết
kế thích hợp, chúng ta có thể sửa chữa hoặc nâng cấp hệ thống bằng cách thay đổi các
thành phần đơn lẻ mà không cần thay đổi toàn bộ hệ thống.
Những thành phần thường có liên quan với nhau, chức năng của một thành phần này
kết nối chặt chẽ với chức năng của những thành phần khác. Ví dụ, công việc của một
thành phần như là xuất ra các thống kê những đơn đặt hàng theo ngày của khách hàng,
nó không thể hoàn thành công việc cho đến khi các các đơn hàng của khác được lập đầy
đủ.

9.2. Kỹ năng kỹ thuật

Công việc của người phân tích hệ thống có nhiều khía cạnh liên quan đến kỹ thuật. Để
phát triển những hệ thống thông tin dựa trên máy tính, người phân tích cần phải hiểu
các nguyên lý làm việc của máy tính, của mạng dữ liệu, của hệ điều hành, cũng như
việc quản lý cơ sở dữ liệu và nhiều kỹ thuật khác nữa. Hơn nữa, người phân tích cần
phải nắm vững các ký hiệu dùng cho việc biểu diễn hoặc mô hình hóa nhiều khía cạnh
của hệ thống thông tin.
Người phân tích cần những kỹ năng kỹ thuật không chỉ để thực hiện những công việc
được giao mà còn để giao tiếp với những người mà người phân tích làm việc chung với
nhau khi phát triển hệ thống.
Người phân tích phải tự học hỏi thường xuyên về công nghệ thông tin, các kỹ thuật và
các phương pháp luận. Người phân tích cần phải hiểu biết về những công nghệ có thể
thay thế vì ở những tổ chức khác nhau có thể sử dụng các công nghệ khác nhau. Sự lựa
chọn của họ cũng có thể thay đổi theo thời gian. Sự hiểu biết tốt của người phân tích về

Trang 16
các khái niệm kỹ thuật sẽ đem đến cho họ một sự linh hoạt cần thiết trước sự thay đổi
của công nghệ hơn là việc họ chỉ hiểu biết một vài công cụ cụ thể nào đó.

9.3. Kỷ năng quản lý

Hầu hết những người phân tích hệ thống đều là thành viên trong các nhóm của dự án và
thường được giữ vai trò lãnh đạo nhóm. Các kỹ năng quản lý luôn có ích và cần thiết
cho bất cứ một vai trò lãnh đạo nào. Là một nhà phân tích, họ cần phải biết cách làm
thế nào để quản lý tốt các công việc của dự án và làm cách nào để sử dụng tốt các tài
nguyên nội tại để phát huy hiệu quả cao nhất. Vì vậy, người phân tích cần có 4 kỹ năng
quản lý sau: quản lý tài nguyên, quản lý dự án, quản lý rủi ro và quản lý những thay
đổi.
a. Quản lý tài nguyên
Người phân tích hệ thống phải biết làm thế nào để khai thác tối đa nguồn tài nguyên đa
dạng như: các tài liệu về hệ thống, công nghệ thông tin và tiền của. Đối với một người
làm phân tích kiêm lãnh đạo một nhóm, họ luôn xem tài nguyên quan trọng nhất đó là
con người. Một người lãnh đạo nhóm phải học cách làm sao để tận dụng được tối đa
những cá nhân giỏi trong nhóm. Một người lãnh đạo nhóm phải có khả năng giao phó
trách nhiệm, trao quyền hành động cho những người được giao nhiệm vụ.
Người phân tích hệ thống cần có khả năng như sau:
 Dự đoán việc sử dụng tài nguyên
 Theo dõi và tính toán chính xác việc sử dụng tài nguyên
 Biết cách sử dụng tài nguyên hiệu quả
 Đánh giá chất lượng của những tài nguyên được sử dụng
 Bảo đảm tài nguyên không bị lạm dụng
 Ngừng sử dụng tài nguyên khi không cần dùng nữa.
b. Quản lý dự án

Quản lý dự án một cách hiệu quả là một điều hết sức quan trọng đối với một người phân
tích hệ thống. Mục đích của quản lý dự án là để đảm bảo cho dự án được thực hiện tốt
nhất và hoàn thành đúng kế hoạch đề ra (đặc biệt là kế hoạch về thời gian và chi phí
thực hiện).
c. Quản lý rủi ro

Quản lý rủi ro là khả năng quản lý được những điều không tốt có thể xảy ra trong dự
án. Người phân tích phải chỉ ra các rủi ro có thể xảy ra, từ đó xây dựng các giải pháp
thay thế để hạn chế hậu quả do rủi ro mang lại đến mức thấp nhất có thể.
d. Quản lý thay đổi

Việc đưa một hệ thống thông tin mới hoặc cải tiến vào một tổ chức là một quá trình làm
thay đổi nhiều thứ trong tổ chức. Mỗi sự thay đổi nào diễn ra trong công việc của một
người trong một tổ chức cần phải được quản lý một cách kỹ lưởng. Quản lý những thay
đổi là một kỹ năng quan trọng đối với người làm phân tích hệ thống, họ là những tác
nhân làm thay đổi nhiều thứ trong tổ chức. Do đó, người phân tích phải biết cách làm
thế nào để người dùng có thể chuyển đổi các công việc từ một hệ thống thông tin này
Trang 17
sang một hệ thống khác một cách trơn tru. Quản lý thay đổi cũng bao hàm khả năng
ứng phó với những vấn đề về kỹ thuật cần được thay đổi.

9.4. Kỹ năng giao tiếp

Kỹ năng giao tiếp là một kỹ năng tương tác quan trọng nhất cho một nhà phân tích, cũng
như cho bất kỳ một chuyên gia nào. Những người làm phân tích phải là người có kỹ
năng giao tiếp tốt với những người dùng, với những chuyên gia về hệ thống thông tin
khác và với những người lãnh đạo; Phải thiết lập được mối quan hệ làm việc mở và tốt
với những khách hàng bắt đầu từ giai đoạn đầu của dự án và duy trì nó một cách hiệu
quả.
Kỹ năng giao tiếp được thể hiện qua nhiều dạng như: việc “ghi chép” (các bản ghi nhớ
hoặc các báo cáo), khả năng trao đổi qua “lời nói” (thông qua điện thoại hoặc trò chuyện
trực tiếp), “thuyết trình” và “minh họa”.
Nhà phân tích phải trao dồi kỹ năng giao tiếp càng nhiều càng tốt. Đối với nhiều nhà
phân tích thì những kỹ năng về nghe và trình bày được xem là quan trọng nhất để có
thể đạt được thành công. Người phân tích càng có ý thức luyện tập và trao dồi kỹ năng
giao tiếp thì họ càng có nhiều kinh nghiệm.
Một vài kỹ năng giao tiếp về cách phỏng vấn, lắng nghe và cách dùng bảng câu hỏi:
Phỏng vấn là một trong những cách chính mà người phân tích thu thập thông tin về một
dự án hệ thống thông tin. Trong thời gian đầu của dự án, người phân tích phải dành một
lượng lớn thời gian để phỏng vấn người dùng về công việc của họ và những thông tin
mà họ sử dụng. Trong thực tế, người phân tích có nhiều cách để phỏng vấn một người
nào đó để đạt được mục tiêu đề ra. Có một điều quan trọng cần phải chú ý là việc đặt ra
những câu hỏi chỉ là một phần của công việc phỏng vấn, việc lắng nghe câu trả lời cũng
là một điều hết sức quan trọng. Việc lắng nghe một cách cẩn thận giúp bạn hiểu về vấn
đề bạn đang cần tìm hiểu, và đôi khi những câu trả lời lại dẫn đến những câu hỏi thêm
mà nó lại gần với vấn đề hơn cả những câu hỏi mà bạn đã chuẩn bị trước cuộc phỏng
vấn.
Mặc dù phỏng vấn là cách thức hiệu quả để giao tiếp với những người khác và có thể
lấy được những thông tin quan trọng từ họ nhưng nó cũng có thể tiêu tốn nhiều tiền bạc
và thời gian. Với những bảng câu hỏi liệt kê sẵn, chúng không cung cấp cho bạn một
phương tiện trực tiếp để bạn có thể hỏi những câu hỏi đúng với hoàn cảnh thực tế khi
làm việc, nói chung thì nó ít hiệu quả hơn phỏng vấn trực tiếp. Tuy nhiên, bảng câu hỏi
liệt kê sẵn ít tốn kém hơn vì người đặt câu hỏi không phải đầu tư trở lại một lượng thời
gian và công sức bằng nhau để thu thập những thông tin giống nhau từ nhiều người.
Ví dụ, khi sử dụng một bảng câu hỏi và cho người dùng tự trả lời, bạn có thể thu thập
được những thông tin cho cùng những vấn đề giống nhau từ 100 người chỉ trong 1 giờ,
với việc phỏng vấn trực tiếp thì bạn phải nhân 1 giờ đó cho 100 người. Thêm nữa, những
bảng câu hỏi còn có lợi hơn ở chỗ những kết quả thu thập được ít bị hiểu theo ý kiến
chủ quan hơn vì những câu hỏi và những câu trả lời trong đó đều đã được chuẩn hóa.
Việc tạo ra được những bảng câu hỏi tốt là một kỹ năng chỉ có được thông qua kinh
nghiệm và thực tiễn.
Thuyết trình bằng lời nói và chữ viết: ở nhiều điểm trong quy trình phát triển hệ thống,
bạn phải ghi chép thành tài liệu cho tiến độ và trao đổi những tài liệu đó với những
người khác. Cách giao tiếp này thường diễn ra trong các cuộc họp nghị sự, hay việc ghi
Trang 18
chép biên bản của cuộc họp, bảng tóm tắt cuộc phỏng vấn,…
Làm sao để nâng cao khả năng giao tiếp? Ở đây có 4 gợi ý đơn giản nhưng có giá trị
hữu ích là:
- Tận dụng mọi cơ hội để luyện tập.
- Tự ghi hình lại buổi thuyết trình của mình và tự mình đánh giá, bình phẩm
thẳng thắng về kỹ năng của mình. Bạn có thể xem những băng ghi hình của những người
khác và chia sẽ với nhau những nhận xét của bạn dành cho họ và ngược lại.
- Tận dụng những trung tâm viết lách có ở nhiều trường đại học để họ phê bình,
nhận xét cho cách viết của bạn.
- Học những lớp học về kỹ năng viết trong kinh doanh và trong kỹ thuật ở các
trường đại học và các tổ chức nghề nghiệp.
Làm việc độc lập và làm việc theo nhóm: Là một người phân tích hệ thống, bạn thường
phải làm việc một mình trong một số khía cạnh của dự án phát triển một hệ thống nào
đó. Để có thể làm được điều này, bạn phải có khả năng tổ chức và quản lý lịch làm việc,
sự tận tụy làm việc và thời hạn công việc. Bên cạnh đó sẽ có nhiều người trong tổ chức
bị phụ thuộc vào hiệu suất làm việc của bạn vì bạn luôn là một thành viên trong một
nhóm và phải làm việc với nhóm đó để đạt được mục tiêu của dự án. Người phân tích
phải biết khi nào thì tin vào những ý kiến của những thành viên khác trong nhóm và khi
nào cần phải nghi ngờ nó. Ví dụ, khi những thành viên nào đó đang nói hoặc làm điều
gì đó dựa trên nền kiến thức hoặc những điều họ thành thạo, bạn sẽ có cơ sở để tin họ
hơn là khi họ nói dựa trên những kiến thức mà họ không nắm vững. Vì lý do đó, người
đảm trách nhiệm vụ dẫn dắt nhóm phải hiểu rõ những điểm mạnh và điểm yếu của các
thành viên trong nhóm của mình. Để làm việc với nhau được hiệu quả và để đảm bảo
chất lượng cho sản phẩm của dự án, nhóm phải thiết lập những tiêu chuẩn về hợp tác
và phối hợp để dẫn dắt cho công việc.
Một nhóm làm việc thành công thường có những đặc điểm sau:
- Tầm nhìn cao và mang tính chia sẻ
- Tinh thần thống nhất của nhóm, tin tưởng lẫn nhau
- Các hoạt động hướng về kết quả mà mục tiêu đề ra
- Những thành viên của nhóm thật sự có năng lực, tận tụy với công việc
- Có sự phụ thuộc chặt chẽ giữa các thành viên
- Sự giao tiếp hiệu quả, có y thức tự chủ, có thức của việc trao quyền
- Số lượng các thành viên của nhóm vừa phải
- Sự hài lòng khi làm việc của các thành viên cao
Tạo điều kiện cho nhóm: Đôi khi người phân tích cần tương tác với một nhóm nào đó
để giao tiếp và nhận thông tin. Người phân tích cần lưu ý mấy vấn đề sau:
- Hãy thoải mái với vai trò hỗ trợ viên một cách tự tin vào khả năng của mình,
nắm vững mục đích làm việc và tìm ra một phong cách làm việc phù họp.
- Hãy chắc rằng mọi người hiểu những gì mà họ và bạn đang mong đợi.
- Hãy đặt những câu hỏi thay vì chỉ là những câu nói suông.
Sẵn sàng chờ đợi và lắng nghe khi các thành viên đang cố để trả lời những câu hỏi mà
Trang 19
bạn đã đặt cho họ:
- Hãy luôn là một người biết lắng nghe.
- Giữ cho mọi người được tập trung.
- Khuyến khích các thành viên trong nhóm nhận thấy trách nhiệm và quyền hạn
của họ trong mục tiêu chung của nhóm.

10. CÂU HỎI ÔN TẬP

1. Dựa vào tiếp cận của khoa học máy tính, hãy nêu khái niệm về hệ thống và các
đặc điểm của hệ thống?
2. Dựa vào khái niệm hệ thống thông tin, hãy nêu các khía cạnh cần phân tích khi
bắt đầu xây dựng một hệ thống thông tin? Nêu vai trò của hệ thống thông tin
đối với các tổ chức trong xã hội hiện nay?
3. Trình bày các chuyên ngành và ứng dụng của hệ thống thông tin?
4. Giới thiệu tóm tắt các giai đoạn xây dựng một hệ thống thông tin theo mô hình
thác nước? Và nhiệm vụ chủ yếu của từng thành phần tham gia?
5. Nêu các kỹ năng cần có của một người phân tích hệ thống?

Trang 20
Chương 2. THIẾT KẾ THÀNH PHẦN DỮ LIỆU

1. GIỚI THIỆU

Chương này giới thiệu các khái niệm về mô hình hóa dữ liệu, vòng đời dữ liệu (data life
circle). Nội dung của chương cũng trình bày khái niệm và phương pháp thiết kế mô
hình dữ liệu mức quan niệm (Conceptual Data Model - CDM), mô hình dữ liệu mức
luận lý (Logial Data Model - LDM) và mô hình dữ liệu mức vật lý (Physical Data Model
- PDM).
Sau khi nghiên cứu chương này, sinh viên có thể:
- Hiểu rõ khái niệm về các mức của mô hình dữ liệu cũng như ý nghĩa của việc
mô hình hóa dữ liệu.
- Phương pháp thiết kế mô hình dữ liệu mức quan niệm
- Quy tắc chuyển đổi mô hình dữ liệu từ mức quan niệm sang mức luận lý
- Quy tắc thiết kế cũng như mô tả dữ liệu mức vật lý

2. MÔ HÌNH HÓA DỮ LIỆU

2.1. Khái niệm mô hình hóa dữ liệu

Mô hình hóa dữ liệu là một phần không thể thiếu của quá trình thiết kế và xây dựng hệ
thống thông tin. Trong quá trình thiết kế và xây dựng hệ thống thông tin ta cần phải chú
trọng đến các thông tin cần thiết có thể hỗ trợ các quy trình nghiệp vụ khác nhau của
đơn vị hay tổ chức. Ví dụ như nếu chúng ta đang phát triển hệ thống thông tin cho một
ngân hàng, chúng ta cần phải quan tâm đến dữ liệu của các hoạt động như kiểm tra số
dư, chuyển khoản, cho vay, gửi tiết kiệm … Nếu đang thiết kế hệ thống thông tin cho
một cơ sở y tế thì cần cũng cấp dữ liệu cho các hoạt động điều trị nội và ngoại trú.
Quá trình mô hình hóa sẽ bắt đầu bằng việc phân tích và thu thập các nhu cầu thông tin
cần thiết cho các hoạt động nghiệp vụ của tổ chức. Chúng ta cũng cần phải đảm bảo
rằng các nhu cầu thông tin sẽ được cài đặt một cách đầy đủ bên trong CSDL hỗ trợ cho
hoạt động của tổ chức. Vấn đề làm cho người dùng hiểu được nội dung của thông tin sẽ
được thu thập, lưu trữ, xử lý là rất quan trọng trong quá trình xây dựng hệ thống thông
tin. Một khía cạnh quan trọng khác đó là khả năng người phân tích thiết kế có thể tạo
nên mô hình dữ liệu đáp ứng chính xác các yêu cầu của người dùng đã thu thập và phù
hợp với những gì mà người phân tích đã trình bày với người sử dụng.
Mô hình hóa dữ liệu cung cấp phương pháp và phương tiện để mô tả các nhu cầu thông
tin của thế giới thực theo cách thức dễ hiểu nhất đối với các bên có liên quan của đơn
vị, tổ chức. Mô hình dữ liệu phải phục vụ cho mục tiêu:
- Giúp người dùng và các bên liên quan hiểu rõ về CSDL sẽ được cài đặt dựa
trên các nhu cầu thông tin của tổ chức.
- Giúp cho người quản trị CSDL có thể cài đặt CSDL một cách chính xác theo
nhu cầu thông tin của tổ chức.

Trang 21
Vì thế, mô hình dữ liệu là một phương tiện quan trọng để giao tiếp với người dùng của
hệ thống. Nó cũng có thể xem như bản thiết kế chi tiết của CSDL được các nhà phát
triển CSDL sử dụng (Hình 5).

Thông tin thế


giới thực

Định nghĩa CSDL hệ


MÔ HÌNH
nhu cầu thống
DỮ LIỆU

Hình 5. Vai trò của mô hình hóa dữ liệu

Mô hình hóa dữ liệu có thể được dùng để biểu diễn thông tin ở nhiều mức khác nhau.
Ở mức trừu tượng cao nhất, mô hình dữ liệu độc lập với mọi ràng buộc về phần cứng
và phần mềm. Ở mức này, mô hình dữ liệu sẽ không thay đổi ngay cả khi chúng ta dự
định cài đặt một CSDL hướng đối tượng hoặc CSDL quan hệ hoặc CSDL phân cấp hoặc
là CSDL mạng. Ở mức trừu tượng thấp hơn, mô hình dữ liệu là mô hình luận lý và sẽ
liên quan đến một loại CSDL cụ thể như hướng đối tượng, quan hệ, phân cấp, mạng bởi
vì với mỗi loại CSDL dữ liệu sẽ được tổ chức theo các cách khác nhau. Ở mức trừu
tượng thấp nhất, mô hình dữ liệu sẽ liên quan đến một hệ CSDL cụ thể mà chúng ta dự
định sẽ sử dụng để cài đặt CSDL.
Mô hình dữ liệu mức quan niệm
Mô hình dữ liệu mức quan niệm là mức trừu tượng cao nhất trong việc biểu diễn nhu
cầu thông tin của một đơn vị tổ chức. Ở mức trừu tượng này, mục tiêu quan trọng nhất
là xây dựng được cách thức biểu diễn thông tin vừa rõ ràng vừa dễ hiểu đối với chuyên
gia của lĩnh vực hoạt động của đơn vị tổ chức. Rõ ràng và đơn giản là hai yêu cầu cần
thiết phải đạt được của mô hình dữ liệu ở mức quan niệm. Chi tiết về cấu trúc CSDL,
chức năng của hệ thống cùng các thiết kế chi tiết về phần cứng sẽ hoàn toàn không được
đề cập đến trong mức thiết kế này.
Về cơn bản, ở mức quan niệm, mô hình dữ liệu sẽ cung cấp một cách nhìn tổng quan ở
mức trừu tượng vừa đủ về việc dữ liệu nào cần thiết phải được lưu trữ và sẵn dùng trong
hệ thống. Mô hình mức quan niệm đặc tả đặc tính của các đối tượng và chỉ ra các mối
quan hệ khác nhau giữa các đối tượng này. Mặc dù phải đáp ứng yêu cầu đơn giản
nhưng mô hình mức quan niệm phải bao quát đầy đủ tất cả các yêu cầu về thông tin của
đơn vị tổ chức và phải bao quát cả những trường hợp đặc biêt và ngoại lệ có thể xảy ra.
Mô hình này phải là mô hình tổng quan về dữ liệu và thông tin của tổ chức và nên sử
dụng các ký hiệu, khái niệm đơn giản để có thể dễ dàng hiểu được bởi cộng đồng.
Mô hình dữ liệu mức luận lý

Trang 22
Mô hình dữ liệu mức luận lý mang dữ liệu đến gần với cấu trúc cài đặt thực tế hơn. Ở
mức này, loại mô hình CSDL sẽ được lựa chọn và sẽ ảnh hưởng đến quá trình xây dựng
mô hình dữ liệu. Tuy nhiên chưa một hệ quản trị CSDL (phần mềm quản trị CSDL) cụ
thể nào được lựa chọn ở mức này và cũng chưa nhắc đến các lựa chọn phần cứng.
Mô hình dữ liệu mức vật lý
Mô hình dữ liệu mức vật lý đã vượt xa góc nhìn thông thường của các chuyên gia lĩnh
vực cũng như các nhóm người dùng cuối của hệ thống và vì thế nó sẽ không được sử
dụng trong như phương tiện giao tiếp giữa họ với nhau. Ở mức trừu tượng này, mô hình
dữ liệu được sử dụng như một bản thiết kế chi tiết và vì thế nó bao gồm cả các chi tiết
phức tạp của cấu trúc dữ liệu, các mối quan hệ và các ràng buộc trên dữ liệu. Tính năng
của hệ quản trị CSDL được lựa chọn sẽ ảnh hưởng rất lớn đến mô hình dữ liệu mức vật
lý. Mô hình dữ liệu phải tuân thủ các ràng buộc, kiến trúc tổng quan của hệ quản trị
CSDL được lựa chọn cũng như môi trường cài đặt hệ quản trị CSDL đó. Mô hình dữ
liệu mức vật lý sẽ bao gồm các chi tiết về cách thức một CSDL được cài đặt bên trong
bộ nhớ thứ cấp như: cấu trúc tập tin, cách thức tổ chức các tập tin, không gian lưu trữ.

2.2. Vòng đời dữ liệu

Đầu tiên, nhu cầu về dữ liệu phát sinh để có thể thực hiện các quy trình nghiệp vụ của
tổ chức. Sau đó thì cần xác định chính xác dữ liệu nào là cần thiết. Tiếp theo quá trình
thu thập dữ liệu được tiến hành. Kế đến dữ liệu thu thập sẽ được lưu trữ vào CSDL hệ
thống. Ở giai đoạn tiếp theo, dữ liệu được đọc ra khỏi nơi lưu trữ, kết hợp lại theo nhiều
cách khác nhau và có thể bị biến đổi. Sau bước này, một số dữ liệu sẽ được lưu trữ lại
vào hệ thống. Qua thời gian, một số thành phần dữ liệu sẽ không còn hữu dụng và vì
thế có thể bị xóa khỏi CSDL hiện hành.
Nhu cầu dữ liệu
Ở giai đoạn này, tổ chức sẽ nhận dạng nhu cầu dữ liệu cần cho các hoạt động nghiệp vụ
của mình. Ví dụ để có thể lập đơn đặt hàng thì cần có thông tin về sản phẩm và hàng
tồn kho. Để tạo hóa đơn cho khách hàng thì cần dữ liệu về đơn đặt hàng và hình thức
giao hàng.
Xác định dữ liệu cần thiết
Một khi nhu cầu dữ liệu đã được nhận dạng thì chúng ta cần phải xác định đâu là các
thành phần dữ liệu thật sự cần thiết cho các hoạt động nghiệp vụ. Khi đó chúng ta sẽ
phải làm việc với nhiều loại dữ liệu khác nhau, xác định đâu là dữ liệu cần thiết đâu là
dữ liệu dư thừa.
Lưu trữ dữ liệu
Dữ liệu thu thập được lưu trữ vào CSDL theo phương pháp thích hợp. Chúng ta phải
lựa chọn phương thức lưu trữ tối ưu nhất theo nhu cầu truy xuất và sử dụng dữ liệu của
người dùng.
Sử dụng dữ liệu
Dữ liệu được thu thập và lưu trữ vì mục đích sử dụng về sau. Đó là mục tiêu cuối cùng
và quan trọng nhất trong vòng đời dữ liệu. Ở giai đoạn này chúng ta sẽ kết hợp các
thành phần dữ liệu lại với nhau, rút trích các thành phần dữ liệu để sử dụng, biến đổi,
lưu trữ dữ liệu biến đổi và thêm dữ liệu mới được tạo trong quá trình thực hiện nghiệp
vụ.
Trang 23
Xóa dữ liệu dư thừa
Sau một thời gian, một thành phần dữ liệu cụ thể nào đó được lưu trữ trước đây có thể
trở nên cũ và lỗi thời. Sau một khoảng thời gian, một thành phần dữ liệu có thể không
còn hữu dụng và không được truy cập đến trong bất kỳ một giao dịch nào. Ví dụ như
đơn đặt hàng đã hoàn thành và hóa đơn không cần thiết phải tồn tại vô thời hạn trong
CSDL khi mà thời gian lưu trữ nó đã vượt mốc yêu cầu của luật định và mục tiêu báo
cáo thuế. Đơn vị kinh doanh có thể quyết định xóa các đơn hàng như thế sau khoảng
thời gian là 10 năm. Chúng ta cần xác định các thành phần dữ liệu nào có thể xóa khỏi
CSDL một cách an toàn sau một khoảng thời gian nhất định.
Sao lưu dữ liệu lịch sử
Một số thành phần dữ liệu đôi khi vẫn còn hữu dụng mặc dù các hoạt động nghiệp vụ
cần đến nó đã chấm dứt sau một khoảng thời gian. Chẳng hạn như dữ liệu liên quan đến
hành vi mua sắm của khách hàng có thể được sử dụng để dự báo xu hướng mua sắm
trong tương lai. Dữ liệu lịch sử thường hữu dụng với kho dữ liệu của tổ chức nên sẽ
được xóa khỏi CSDL hiện hành và được lưu trữ vào kho dữ liệu lịch sử.

3. MÔ HÌNH DỮ LIỆU MỨC QUAN NIỆM

Mô hình hóa dữ liệu, đặc biệt là mô hình dữ liệu mức quan niệm là một nỗ lực cộng tác
giữa người phân tích thiết kế và người dùng (chuyên gia lĩnh vực). Nhu cầu thông tin
trong thế giới thực bằng cách nào đó phải được thể hiện rõ ràng trong mô hình dữ liệu
thông qua ngôn ngữ tự nhiên, dễ hiểu thông qua các ký hiệu trực quan và các dữ liệu ví
dụ.
Các nhà phân tích thiết kế sử dụng hai kiểu mô hình chính để mô hình hóa dữ liệu mức
quan niệm: mô hình thực thể - liên kết (Entity – Relationship), mô hình hướng đối tượng
(Object-oriented).
Mô hình thực thể - liên kết
Mô hình này được đề xuất bởi Peter Chen vào năm 1976 (Peter Pin-Shan Chen, 1976)
và đến nay vẫn còn được sử dụng rộng rãi. Mô hình này mô tả nhu cầu thông tin của tổ
chức như tập hợp các thực thể với các thuộc tính và các mối liên kết giữa các thực thể
đó. Trong nhiều năm qua, các phiên bản khác nhau của mô hình thực thể - liên kết đã
ra đời để phù hợp và gần gủi hơn với người sử dụng là các chuyên gia lĩnh vực. Mặc dù
các ký hiệu, khái niệm sử dụng trong mô hình thực thể - liên kết chưa được chuẩn hóa
một cách hoàn toàn nhưng chúng ta vẫn có thể đoán được ý nghĩa của các ký hiệu, khái
niệm khác khi đã hiểu được ý nghĩa của ký hiệu tương tự.
Mô hình thực thể - liên kết mô tả hệ thống thông tin của tổ chức theo cách thức hoàn
toàn độc lập với phần cứng và phần mềm CSDL vì thế thường được chọn để mô hình
dữ liệu ở mức quan niệm. Tuy nhiên mô hình này vẫn còn một số hạn chế, ví dụ như
việc thể hiện các ràng buộc trên quan hệ giữa các thực thể.
Mô hình hướng đối tượng
Trong mô hình này, dữ liệu và hành vi được đóng gói trong đối tượng. Vì thế mô hình
hướng đối tượng chủ yếu được sử dụng để hướng đến thiết kế mã cho các chương trình
hướng đối tượng. Mặc dù vậy mô hình này cũng có thể áp dụng vào ngữ cảnh mô hình
hóa dữ liệu mức quan niệm. Đến nay phương pháp mô hình hóa hướng đối tượng được
Trang 24
sử dụng rộng rãi nhất đó là UML (Unified Modeling Language – ngôn ngữ mô hình hóa
thống nhất). UML hỗ trợ thiết kế một chuỗi các sơ đồ trong đó sơ đồ lớp (class diagram)
là sơ đồ quan trọng nhất. Sơ đồ lớp có thể biểu diễn cấu trúc của dữ liệu và có thể xem
như mở rộng của mô hình thực thể - liên kết.

3.1. Sơ đồ thực thể - liên kết cho mô hình hóa dữ liệu mức quan niệm

Mô hình thực thể - liên kết biểu diễn cấu trúc dữ liệu của một đơn vị tổ chức thông qua
các khái niệm chính:
- Thực thể (Entity)
- Liên kết (Relationship) giữa các thực thể
- Thuộc tính của thực thể (Attributes of Entity)
Mô hình thực thể liên kết được biểu diễn trực quan thông qua sơ đồ thực thể liên kết
(Entity – Relationship Diagram, ERD)
Thực thể
Một thực thể biểu diễn cho một đối tượng tồn tại trong thực tế và phân biệt với các đối
tượng khác. Thực thể có thể biểu diễn cho con người, nơi, đối tượng, sự kiện hay một
khái niệm mà tổ chức mong muốn lưu trữ dữ liệu về nó. Một số ví dụ về thực thể như:
- Con người: Sinh viên, Giảng viên, Khách hàng, Nhân viên
- Nơi: Tỉnh-Thành phố, Phòng học, Cửa hàng
- Đối tượng: Hàng hóa, Tòa nhà
- Sự kiện: Hội thảo, Buổi họp
- Khái niệm: Dự án, Môn học, Lớp học phần
Trong mô hình thực thể liên kết, chúng ta cần phân biệt rõ ràng các khái niệm: kiểu thực
thể (entity type), thể hiện của thực thể (entity instance) và tập các thực thể (entity set).
Kiểu thực thể
Kiểu thực thể là một khái niệm cho phép định nghĩa một bộ sưu tập (collection) các
thực thể có cùng đặc điểm và tính chất. Trong mô hình thực thể - liên kết, mỗi kiểu thực
thể sẽ được định danh bằng một tên, và là danh từ số ít. Tên của kiểu thực thể thường
được viết bằng chữ hoa, không dấu và đặt bên trong một hình chữ nhật.

GIANG VIEN MON HOC CUA HANG

Trong thực tế để đơn giản trong cách gọi, kiểu thực thể sẽ được gọi ngắn gọn là thực
thể. Chẳng hạn, ta chỉ gọi là thực thể sinh viên thay vì phải gọi đầy đủ là kiểu thực thể
sinh viên. Do dó, trong giáo trình này chúng ta thống nhất với nhau cách gọi là Thực
thể thay vì gọi là Kiểu thực thể.
Thuộc tính của thực thể
Thuộc tính của thực thể biểu diễn đặc điểm, tính chất của thực thể mà một đơn vị, tổ
chức mong muốn quản lý trong quá trình mô hình hóa. Thuộc tính cũng được định danh
bằng tên, là danh từ, biểu diễn cho ý nghĩa của thuộc tính đó. Tên của thuộc tính thường
được viết hoa ký tự đầu của mỗi từ và theo sau là các ký tự viết thường, có thể viết tắt.
Trang 25
Về mặt ký hiệu, tên thuộc tính thường được viết bên trong, phía dưới tên của thực thể
đối với kiểu ký hiệu Crow’s foot hoặc được đặt bên trong hình eclipse đối với kiểu ký
hiệu CHEN.
Ví dụ đối với ngữ cảnh quản lý cán bộ của trường Đại học Cần Thơ, thực thể GIANG
VIEN có thể có các thuộc tính sau: MaSoCanBo (mã số cán bộ), HoTen (họ tên),
GioiTinh (giới tính), NgaySinh (ngày sinh).
Kiểu dữ liệu của thuộc tính
Khi thực hiện mô hình hóa, người phân tích có thể chọn một kiểu dữ liệu cụ thể cho
thuộc tính. Đôi khi kiểu dữ liệu của một thuộc tính là duy nhất và dễ dàng xác nhận, tuy
nhiên có trường hợp một thuộc tính có thể nhận nhiều kiểu dữ liệu khác nhau.
Ví dụ thuộc tính họ tên của thực thể giảng viên sẽ nhận kiểu dữ liệu là kiểu chuỗi ký tự
có độ dài thay đổi, và đây sẽ là kiểu dữ liệu phù hợp nhất. Trong khi đó nếu xét thuộc
tính giới tính thì các kiểu dữ liệu có thể dùng là kiểu boolean với hai giá trị là 0 hoặc 1
hoặc cũng có thể nhận kiểu dữ liệu là kiểu chuỗi ký tự. Trong trường hợp này việc ưu
tiên tiết kiệm không gian lưu trữ hoặc tối ưu tốc độ xử lý sẽ giúp lựa chọn kiểu dữ liệu
phù hợp.
Miền giá trị của thuộc tính
Miền giá trị của thuộc tính là tập các giá trị mà thuộc tính đó có thể nhận. Tập giá trị
này có thể là tập hữu hạn, tập vô hạn hoặc hữu hạn nhưng thay đổi theo thời gian. Giá
trị của thuộc tính thường nhận được từ một tập hợp hợp lý nào đó, đôi khi được tạo ra
theo một quy tắc vì một mục đích nào đó.
Chẳng hạn như giá trị của thuộc tính MaSoCanBo có thể nhận các giá trị như 001070,
001531 với ý nghĩa số thứ tự của cán bộ đó khi được tuyển dụng vào làm việc. Đối với
thuộc tính ngày sinh, nếu là ngày sinh của giảng viên thì có thể nhận thấy rằng năm sinh
của giảng viên chỉ có thể thuộc vào một tập hữu hạn các giá trị, tập hữu hạn này lại thay
đổi theo từng năm.
Các kiểu thuộc tính
Thuộc tính đơn (simple attribute): là thuộc tính không thể phân chia thành các thành
phần nhỏ hơn mà vẫn mang lại ý nghĩa. Một cách cụ thể, các thuộc tính này chỉ có thể
nhận các giá trị đơn. Ví dụ như thuộc tính tên tỉnh thành phố, tên môn học.
Thuộc tính phức hợp (composite attribute): là thuộc tính có thể phân chia thành các
thành phần con nhỏ hơn mà mỗi thành phần con này lại đại diện cho một thuộc tính đơn
nào đó. Ví dụ thuộc tính họ tên có thể phân chia thành họ, tên đệm và tên. Thuộc tính
địa chỉ có thể phân chia thành số nhà, tên đường, tên phường/xã, tên quận/huyện, tên
tỉnh/thành phố.
Thuộc tính dẫn xuất (derived attribute): là thuộc tính mà giá trị của nó được tính toán
từ giá trị của các thuộc tính khác có liên quan. Ví dụ như thuộc tính điểm trung bình
tích lũy phải được tính toán từ điểm tổng kết học phần của các môn học mà sinh viên
học trong một học kỳ. Việc quyết định có đưa vào mô hình dữ liệu các thuộc tính dẫn
xuất hay không sẽ phụ thuộc chủ yếu vào độ phức tạp khi tính toán giá trị cho thuộc
tính dẫn xuất này cũng như tần suất truy cập giá trị của thuộc tính dẫn xuất trong ứng
dụng thực tế. Khi đó nhà quản trị CSDL phải thực hiện cài đặt các trigger trên thuộc
tính dẫn xuất để tránh việc các thuộc tính này nhận các giá trị không đúng.

Trang 26
MSSV HoTenSV GioiTinh MON HOC
- MSSV
- HoTenSV
MON HOC - GioiTinh

Thể hiện của thực thể, thuộc tính khóa


Thể hiện của thực thể
Thể hiện của một thực thể (entity instance) là một hiện thực của kiểu thực thể được
quản lý trong quá trình mô hình hóa. Do thực thể có thể có nhiều thuộc tính, mỗi thuộc
tính có thể nhận nhiều giá trị khác nhau thuộc miền giá trị vì thế thể hiện của thực thể
được định nghĩa là một tổ hợp hợp lý các giá trị của các thuộc tính của thực thể đó. Hãy
xét ví dụ sau đây để hiểu rõ hơn về khái niệm thể hiện của thực thể.
Giả sử thực thể HANGHOA (hàng hóa) có các thuộc tính sau: MAHH (mã hàng hóa),
TenHangHoa (tên hàng hóa), DVT (đơn vị tính). Miền giá trị của các thuộc tính giả sử
là:
- MAHH: HH001, HH002, HH003
- TenHangHoa: Kem đánh răng PS, Bột giặt OMO, Tập Vĩnh Tiến 100 trang
- DVT: Bịch, quyển, hộp
Khi đó các thể hiện của thực thể HANGHOA sẽ là 3 thể hiện với các thông tin như sau:
- Hàng hóa 1 có mã hàng hóa là HH001 với tên gọi là Kem đánh răng PS và
đơn vị tính là hộp.
- Hàng hóa 2 có mã hàng hóa là HH002 với tên gọi là Bột giặt OMO và đơn vị
tính là bịch.
- Hàng hóa 1 có mã hàng hóa là HH003 với tên gọi là Tập Vĩnh Tiến 100 trang
và đơn vị tính là quyển.
Chúng ta có thể nhận thấy rằng nếu xét tổ hợp đầy đủ của tập giá trị của các thuộc tính
thì chúng ta sẽ có 9 thể hiện. Tuy nhiên không thể một mã hàng hóa mà có 3 tên hàng
hóa khác nhau, kem đánh răng không thể có đơn vị tính là quyển, đây là lý do vì sao thể
hiện của thực thể chỉ là tổ hợp hợp lý các giá trị của các thuộc tính.
Thuộc tính khóa
Thuộc tính khóa của một thực thể là thuộc tính mà mỗi giá trị của thuộc tính đó xác
định được và duy nhất một thể hiện của một thực thể. Không thể có hai thể hiện khác
nhau mà có cùng giá trị thuộc tính khóa. Thuộc tính khóa sẽ được gạch dưới tên khi
biểu diễn.
Thuộc tính khóa có thể là thuộc tính nào đó biểu diễn đặc điểm, tính chất của thực thể,
tồn tại thật sự trong thế giới thực. Ví dụ như thực thể SINHVIEN thì thuộc tính MSSV
có thể làm khóa vì không có trường hợp hai sinh viên khác nhau mà có cùng mã số sinh
viên.

Trang 27
Tuy nhiên cũng có những trường hợp mà các thuộc tính biểu diễn cho đặc điểm, tính
chất của thực thể trong thế giới thực không thể đóng vai trò là thuộc tính khóa, trong
trường hợp này ta cần bổ sung cho thực thể một thuộc tính không tồn tại trong thế giới
thực và chỉ đóng vai trò là thuộc tính khóa, được gọi tên là thuộc tính khóa chỉ định. Ví
dụ thực thể CHUCVU (chức vụ) có thể có các thuộc tính TenChucVu (tên chức vụ) và
HeSoPhuCap (hệ số phụ cấp). Mặc dù trong ngữ cảnh thực thể CHUCVU thì thuộc tính
TenChucVu có thể đóng vai trò là thuộc tính khóa nhưng các nhà phân tích vẫn bổ sung
thêm thuộc tính để đóng vai trò là khóa, ví dụ như thuộc tính MSCV (mã số chức vụ).
Thực thể yếu
Thực thể yếu là thực thể không có thuộc tính khóa hoặc thuộc tính khóa không giúp
phân biệt được các thể hiện khác nhau của thực thể đó. Trong trường hợp này thực thể
yếu sẽ phải phụ thuộc vào các thực thể “bình thường” khác và khi đó thể hiện của thực
thể yếu sẽ được xác định nhờ vào thuộc tính khóa của các thực thể mà nó phụ thuộc
vào.
Xét ví dụ sau để hiểu rõ hơn về khái niệm của thực thể yếu. Đất nước Việt Nam có 63
tỉnh, thành phố (thời điểm năm 2015) và không có tỉnh thành nào có tên trùng nhau vì
thế có thể sử dụng thuộc tính tên tỉnh thành phố để làm thuộc tính khóa cho thực thể
tỉnh/thành phố. Tuy nhiên khi xét đến cấp quận huyện thì các tỉnh thành lại có thể có
các quận huyện có tên giống nhau. Khi này nếu chỉ xét mỗi quận huyện thì chúng ta
không thể phân biệt được các thể hiện khác nhau khi mà có những quận huyện ở những
tỉnh khác nhau trùng tên với nhau. Để có thể xác định một quận huyện cụ thể thì ta phải
biết được tỉnh thành phố mà quận huyện đó thuộc vào. Ta nói thực thể quận huyện là
thực thể yếu và phụ thuộc vào thực thể tỉnh thành phố.
Thực thể yếu còn được sử dụng để biểu diễn cho quan hệ có thuộc tính, chi tiết sẽ được
đề cập đến ở phần sau, khái niệm về quan hệ.
Quan hệ (Relationship)
Các thực thể trong một đơn vị tổ chức không tồn tại một cách tách biệt mà luôn có sự
liên kết với các thực thể khác. Quan hệ cho phép biểu diễn sự liên kết giữa các thể hiện
của các thực thể khác nhau hoặc là giữa các thể hiện của cùng một thực thể. Ví dụ khi
vào trường mỗi sinh viên sẽ được trường cấp cho một tài khoản để sử dụng máy tính và
khi đó trong mô hình dữ liệu sẽ có một quan hệ giữa hai thực thể SINVIEN và
TAIKHOAN. Đối với CTĐT của các ngành, để đảm bảo việc giảng dạy hiệu quả, sinh
viên bắt buộc phải học và thi đậu một số môn học trước khi học các môn học tiếp theo,
đó là khái niệm môn tiên quyết. Khái niệm môn tiên quyết này được biểu diễn bởi một
quan hệ giữa các thể hiện của cùng thực thể MONHOC với nhau.
Các quan hệ trong mô hình thực thể - liên kết cho phép biểu diễn các quy định về mặt
nghiệp vụ, các hoạt động tác nghiệp hàng ngày của một đơn vị, tổ chức. Một số mối
quan hệ có thể dễ dàng nhận biết nhưng cũng có một số mối quan hệ khó nhận biết hơn
khi mà nó không đúng trên tất cả các thể hiện của một thực thể.
Một quan hệ được định danh bằng tên, thường là một ngữ động từ. Nếu sử dụng tập ký
hiệu đề xuất bởi CHEN thì trong sơ đồ thực thể liên kết quan hệ được biểu diễn bằng
hình thoi và tên của quan hệ được đặt bên trong hình thoi, các đoạn thẳng sẽ kết nối
hình thoi với các thực thể có liên quan. Nếu sử dụng tập ký hiệu Crow’s foot, quan hệ
sẽ được biểu diễn bằng đoạn thẳng kết nối 2 thực thể có liên quan, tên của quan hệ sẽ
được đặt phía trên tên quan hệ.

Trang 28
SINHVIEN TAIKHOAN
CO_TAIKHOAN

Bậc của quan hệ (degree of relationship)


Số thực thể tham gia vào một quan hệ được gọi là bậc của quan hệ. Các loại quan hệ
thường gặp nhất là: quan hệ một ngôi hay còn gọi là quan hệ tự thân (unary relationship),
quan hệ hai ngôi (binary relationship) và quan hệ ba ngôi (ternary relationship).
- Quan hệ một ngôi

- Quan hệ hai ngôi

- Quan hệ ba ngôi

Cần chú ý rằng, nếu sử dụng tập ký hiệu Crow’s foot, thì quan hệ ba ngôi là không thể
được biểu diễn bằng khái niệm quan hệ (relationship) mà phải thông qua khái niệm thực
thể yếu (weak entity). Ví dụ quan hệ HOC như hình trên sẽ được thay thế bởi thực thể
yếu với tên gọi MONHOC_DANGKY như minh họa sau đây.
Trang 29
SINHVIEN MONHOC
MONHOC_DANGKY

HOCKY_NIENKHOA

Bản số của quan hệ (Cardinality of a relationship)


Thuật ngữ bản số của liên kết dùng để chỉ số lượng thể hiện của một thực thể có thể
tham gia vào mối quan hệ. Bản số được định nghĩa bởi hai thành phần: bản số tối thiểu
và bản số tối đa. Bản số tối thiểu biểu diễn số thể hiện tối thiểu của một thực thể khi
tham gia vào mối quan hệ. Bản số tối đa biểu diễn số thể hiện tối đa của một thực thể
có thể tham gia vào mối quan hệ.
Trong mô hình thực thể - liên kết bản số tối thiểu có thể nhận 2 giá trị: 0 và 1. Nếu bản
số tối thiểu là 0 có nghĩa là các thể hiện của thực thể không bắt buộc phải tham gia vào
quan hệ tương ứng. Nếu bản số tối thiểu là 1 có nghĩa là các thể hiện của thực thể phải
tham gia vào mối quan hệ. Trong khi đó bản số tối đa có thể nhận 2 giá trị: 1 và n
(nhiều). Bản số tối đa là 1 có nghĩa là mỗi một thể hiện của thực thể chỉ có thể tham gia
vào mối quan hệ tối đa 1 lần. Nếu bản số tối đa là nhiều có nghĩa là mỗi thể hiện của
thực thể có thể tham gia nhiều lần vào mối quan hệ. Kết hợp các dạng bản số tối thiểu
và tối đa chúng ta sẽ có 4 loại bản số: (0, 1), (1, 1), (0, n), (1, n). Đối với tập khái niệm
CHEN, bản số tối thiểu 0 sẽ được thể hiện bởi liên kết đơn giữa thực thể và quan hệ
trong đó bản số tối thiểu 1 sẽ được thể hiện bởi liên kết đôi
Xét các ví dụ sau đây để có thể hiểu rõ hơn về bản số của quan hệ

SINHVIEN TAIKHOAN
CO

Khi vào trường, sinh viên sẽ được cấp một tài khoản máy tính để có thể sử dụng hệ
thống thông tin tích hợp của nhà trường. Mỗi một sinh viên chỉ được cấp 1 tài khoản
trong suốt quá trình học tại trường. Hiển nhiên thì một tài khoản chỉ được cấp cho một
sinh viên. Với những quy định như trên thì mọi sinh viên khi vào trường sẽ đều có một
tài khoản, khi đó bản số tối thiểu của thực thể SINHVIEN đối với quan hệ CO sẽ là 1.
Do mỗi sinh viên chỉ được cấp 1 tài khoản trong suốt quá trình học nên bản số tối đa
của thực thể SINHVIEN đối với quan hệ CO cũng chỉ là 1. Ở chiều ngược lại, tài khoản
chỉ được tạo khi dự định cấp cho sinh viên nào đó vì thế bất kỳ thể hiện nào của thực
thể TAIKHOAN cũng sẽ tham dự vào quan hệ CO, khi đó bản số tối thiểu sẽ là 1. Do

Trang 30
mỗi tài khoản chỉ cấp cho duy nhất 1 sinh viên nên bản số tối đa của thực thể
TAIKHOAN đối với quan hệ CO cũng chỉ có thể là 1.

TIENQUYET

MONHOC

Trong chương trình đào tạo của các ngành, người thiết kế chương trình sử dụng khái
niệm môn tiên quyết để đảm bảo các khối kiến thức được giới thiệu đến người học một
cách có hệ thống và chất lượng nhất. Khái niệm tiên quyết dùng để chỉ việc để có thể
học môn nào đó thì phải học và thi đậu những môn tiên quyết của môn đó. Khi đó sẽ có
một số môn không có môn tiên quyết nào hết, có một số môn sẽ có nhiều môn tiên
quyết. Ở chiều ngược lại, một môn có thể là môn tiên quyết của rất nhiều môn và cũng
có thể không là môn tiên quyết của bất kỳ môn nào.

SINHVIEN NGANH
HOC

Sinh viên khi vào trường chỉ học một ngành duy nhất, một ngành học thì có nhiều sinh
viên theo học.
Thuộc tính của quan hệ
Giống như thực thể, quan hệ cũng có đặc điểm và tính chất riêng và được biểu diễn
bằng thuộc tính. Thuộc tính của quan hệ cho phép lưu trữ thông tin liên quan đến quan
hệ và chỉ sẵn dùng nếu sử dụng tập khái niệm CHEN. Để dễ hiểu hơn, chúng ta có thể
xem thuộc tính của quan hệ biểu diễn cho thông tin mà thông tin đó phụ thuộc vào tất
cả các thực thể tham gia vào mối quan hệ. Ví dụ như để biểu diễn cho thông tin mua
hàng hóa của khách hàng, mỗi lượt khách hàng mua sắm sẽ được đặc trưng bởi một thể
hiện của thực thể hóa đơn. Số lượng hàng hóa mua ở mỗi hóa đơn được biểu diễn bởi
thuộc tính SOLUONG. Để ý rằng giá trị của thuộc tính SOLUONG sẽ phụ thuộc vào
cả hai yếu tố là người mua và hàng hóa. Khi đó thuộc tính SOLUONG phải là thuộc
tính của quan hệ giữa hai thực thể HOADON và HANGHOA.

Trang 31
Tập khái niệm Crow’s foot không cho phép biểu diễn quan hệ có thuộc tính, ta có thể
sử dụng khái niệm thực thể yếu để thay thế. Thật vậy thực thể yếu sẽ phụ thuộc vào các
thực thể mạnh mà nó có quan hệ vì thế giá trị của các thuộc tính của thực thể yếu sẽ phụ
thuộc vào các thực thể mạnh này.
HOADON CHITIET_HOADON HANGHOA
HD_CHITIET HH_CHITIET
SOLUONG <Undefined>

Tổng quát hóa – Chuyên biệt hóa


Bản số của thực thể đối với mỗi quan hệ cho chúng ta nhận biết mỗi thể hiện của thực
thể có thể tham gia kết hợp với tối thiểu là bao nhiêu, và tối đa là bao nhiêu thể hiện của
thực thể khác. Nhưng trong thực tế, một lớp các đối tượng trong tổ chức có khi tồn tại
tình trạng là: một số đối tượng (tập con) của nó tham gia vào một quan hệ này, số còn
lại có thể tham gia hoặc không tham gia vào những quan hệ khác, trong khi có thể tất
cả các đối tượng của lớp đó lại cùng tham gia vào một quan hệ khác nữa. Hoặc một tập
con này có những đặc tính này, còn những phần tử khác thì có thêm những đặc tính
khác hoặc không.
Chẳng hạn cùng là công chức viên chức trong trường đại học, thì số viên chức thuộc
ngạch giảng viên có thể tham gia công tác giảng dạy, số còn lại (ngạch chuyên viên) thì
không, nhưng mỗi người đều làm việc tại một đơn vị nào đó của nhà trường. Đối với
giảng viên người ta quan tâm đến chức danh hiện tại, còn đối với nhân viên hành chánh
thì người ta lại quan tâm đến nghề nghiệp hay nghiệp vụ của họ. Để phản ánh tình trạng
đó trong phương pháp mô hình hóa, người ta dùng khái niệm chuyên biệt hóa/tổng quát
hóa.
Định nghĩa: Chuyên biệt hóa nghĩa là phân hoạch một thực thể thành các tập con (các
thực thể chuyên biệt), còn Tổng quát hóa là gộp các thực thể thành một thực thể bao
hàm tất cả các thể hiện của các thực thể con.
Các chuyên biệt được thừa hưởng tất cả các thuộc tính của thực thể tổng quát hóa (thực
thể tiền bối) và chính nó có thể có những thuộc tính khác. Các chuyên biệt cũng thừa
hưởng tất cả các quan hệ của thực thể tổng quát.
Các thực thể chuyên biệt có thể có những mối kết hợp khác nhau với những thực thể
khác và do đó các xử lý sẽ có thể khác nhau tùy theo từng chuyên biệt thành phần.

Trang 32
CONGCHUC_VIENCHUC
MSCB <pi> <Undefined> <M>
HOTEN <Undefined>
NGAYSINH <Undefined>
Identifier_1 <pi>

Inheritance_1

GIANGVIEN CHUYENVIEN
CHUCDANH <Undefined> NGHIEPVU <Undefined>

3.2. Từ điển dữ liệu

Mô hình thực thể - quan hệ cung cấp cho ta một cái nhìn trực quan về những thành phần
chính của dữ liệu. Từ điển dữ liệu là hồ sơ mô tả chi tiết và tóm tắt các phần tử trong
mô hình: các thực thể, các thuộc tính của các thực thể. Tên thực thể, thuộc tính nên được
sắp xếp theo thứ tự từ điển để sau này dễ tra cứu. Từ điển dữ liệu sẽ rất hữu ích khi
người phân tích thiết kế thực hiện tổng hợp các mô hình dữ liệu từ các thành viên trong
nhóm phân tích thiết kế khi mà hệ thống xây dựng là một hệ thống lớn và phức tạp. Thật
vậy, khi “đương đầu” với một hệ thống lớn thì người ta thường phân chia hệ thống đó
thành nhiều phân hệ nhỏ hơn, mỗi phân hệ đại diện cho một nhóm chức năng (nhóm
các hoạt động nghiệp vụ của đơn vị tổ chức), mỗi phân hệ vì thế sẽ được thiết kế một
mô hình dữ liệu riêng tuy nhiên giữa chúng vẫn tồn tại những phần giao cắt. Khi tổng
hợp các mô hình người phân tích sẽ gặp phải các trường hợp của từ đồng nghĩa và đa
nghĩa, khi đó từ điển dữ liệu sẽ giúp nhận biết các vấn đề trên.
Bảng mẫu danh mục các thực thể

Trang 33
<Tên dự án> Ngày lập hồ sơ:………
<Tên tiểu dự án> Người lập:……………………..

STT Tên thực thể Diễn giải Ghi chú

Bảng mẫu mô tả chi tiết thực thể


BẢNG MÔ TẢ THỰC THỂ
<Tên thực thể>
<Tên dự án> Ngày lập hồ sơ:………
<Tên tiểu dự án> Hiện Người lập:……………………..
trạng:…………………….
Tương lai:…………………………………….

Diễn giải về thực thể:………………………………………………………………....


………………………………………………………………………………………...
 Khóa của thực thể:
STT Tên thuộc tính Diễn giải Kiểu Miền giá trị Chiều dài

Số thể hiện (ước tính)/đơn vị thời gian:………… Tổng cộng chiều dài

3.3. Các bước xây dựng mô hình dữ liệu mức quan niệm

Các bước xây dựng mô hình dữ liệu mức quan niệm được giới thiệu sau đây sẽ phù hợp
khi hệ thống cần xây dựng là một hệ thống lớn, tổng thể của một đơn vị tổ chức với độ
phức tạp về dữ liệu, thông tin cần lưu trữ xử lý cũng như tính đa dạng chức năng nghiệp
vụ. Các bước cần trải qua bao gồm:
Bước 1 - Phân chia hệ thống lớn thành các phân hệ theo lĩnh vực nghiệp vụ.
Tiêu chuẩn để phân hoạch thường căn cứ vào tính chất chức năng, nghiệp vụ của tổ
chức. Theo đó, khi phân chia hệ thống thành các phân hệ theo lĩnh vực nghiệp vụ thì
các dữ liệu của lĩnh vực này thường ít liên quan đến dữ liệu của các lĩnh vực khác.
Ví dụ Hệ thống kế toán có thể phân chia thành các phân hệ:
- Phân hệ tiền tệ: thu – chi tiền mặt, tiền gửi ngân hàng.

Trang 34
- Phân hệ hàng hóa: mua – bán hàng hóa.
- Phân hệ nguyên liệu: nhập – xuất nguyên liệu chính, nguyên liệu phụ, công
cụ sản xuất.
- Phân hệ sản phẩm: sản xuất và bán sản phẩm.
- Phân hệ công cụ: nhập - xuất, khấu hao công cụ.
- Phân hệ tài sản cố định: cập nhật, tính khấu hao.
- Phân hệ thuế: lập báo cáo thuế giá trị gia tăng đầu vào, đầu ra.
- Phân hệ thanh toán - các loại công nợ.
- Phân hệ kết chuyển, tổng hợp, lập các báo cáo tài chính.
Có những tổ chức mà chức năng công việc của bộ phận này là kết quả của bộ phận kia
mà nếu biết điều chỉnh chúng ta có thể cải tiến cơ cấu và quy trình quản lý để tổ chức
hoạt động có hiệu quả hơn. Chẳng hạn, phân hệ các loại công nợ liên quan tới các phân
hệ thu chi tiền mặt, tiền gửi ngân hàng, mua bán hàng hóa, thanh toán …
Bước 2 - Xây dựng mô hình thực thể - quan hệ cho mỗi lĩnh vực
Nghĩa là xác định các thực thể, quan hệ, thuộc tính, bản số của mỗi thực thể đối với mỗi
quan hệ mà nó tham gia cùng các ràng buộc toàn vẹn giữa chúng (các ràng buộc này
không thể hiện được trong mô hình thực thể - quan hệ).
Bước 3 - Tổng hợp các mô hình thực thể - quan hệ từ tất các lĩnh vực để có một mô
hình cho hệ thống tổng thể.
Thường mỗi lĩnh vực có tính chất nghiệp vụ riêng, khi tổng hợp lại chúng có thể có
những thực thể chung. Ví dụ: các phân hệ trong hệ thống kế toán luôn liên quan đến
những lớp đối tượng chung như hệ thống tài khoản, khách hàng, nhân viên…
Mỗi mô hình thực thể - quan hệ cho một lĩnh vực thường do một nhóm xây dựng, cho
nên có thể cùng một lớp đối tượng liên quan tới nhiều phân hệ, mỗi nhóm lại có định
danh riêng. Vì vậy khi tổng hợp lại các nhóm phải thống nhất với nhau để có một cách
quan niệm thống nhất.
Do đó mà công việc của giai đoạn này bao gồm xóa bỏ những từ đồng nghĩa và đa
nghĩa:
Từ đồng nghĩa: 2 vật thể (object) mang 2 tên khác nhau, nhưng thực chất là như nhau.
Ví dụ: thực thể “SINH VIÊN” và “HỌC VIÊN” hay “HỌC SINH”; thuộc tính "ĐIỂM"
và “KẾT QUẢ” môn thi.
Từ đa nghĩa: 2 vật thể khác nhau mang cùng một tên. Ví dụ: Trong trường Đại học, khi
sau này có phân biệt liên quan đến chức năng, cùng là “NHÂN VIÊN” nhưng sẽ không
phân biệt được đó là “CÁN BỘ GIẢNG DẠY” hay “NHÂN VIÊN HÀNH CHÁNH”.
Cũng trong ngữ cảnh trường đại học, hay lớp đối tượng cùng được quản lý đó là
“GIẢNG VIÊN” và “SINH VIÊN”, cả hai thực thể này đều có thuộc tính “Họ Tên”
nhưng thực chất thì biểu diễn cho 2 đối tượng thông tin khác nhau: 1- họ tên của giảng
viên; 2- họ tên của sinh viên.
Xây dựng tự điển dữ liệu để thống nhất các từ ngữ, khái niệm dùng trong mô hình, các
danh mục cần xây dựng bao gồm:
- Danh mục các thực thể.

Trang 35
- Danh mục các thuộc tính.
Bước 4 - Kiểm tra tính hợp lý của mô hình tổng thể
Sau khi xây dựng xong mô hình, ta phải trao đổi lại với những người lãnh đạo, người
quản lý và những người sử dụng (những người có trách nhiệm và những người có liên
quan trong hệ thống), cũng như với các đồng nghiệp, những nhà tin học khác. Những ý
kiến của họ cần được phân tích và nếu thấy hợp lý thì phải điều chỉnh cho phù hợp.
Bài toán ứng dụng
Một cửa hàng mua bán hàng hóa tổ chức hoạt động gồm 3 bộ phận: nhập hàng, bán
hàng và điều hành quản lý. Bộ phận nhập hàng có nhiệm vụ quản lý mọi hoạt động
liên quan đến khâu nhập hàng từ nhà cung cấp, bộ phận bán hàng có nhiệm vụ quản lý
mọi hoạt động liên quan đến bán hàng và bộ phận quản lý kinh doanh phụ trách điều
hành chung mọi hoạt động của cửa hàng (theo dõi nhập hàng, bán hàng, các doanh số
nhập hàng, doanh số bán bán hàng, cũng như định hướng chiến lược nhập hàng và quyết
định giá bán từng mặt hàng ...)
Mỗi nhân viên của cửa hàng đều được quản lý qua mã nhân viên, họ tên, ngày sinh, số
chứng minh nhân dân, phái, địa chỉ, số điện thoại, email, số tài khoản, mã số thuế của
nhân viên. Mỗi nhân viên làm việc ở một bộ phận và một bộ phận có nhiều nhân viên,
đồng thời mỗi nhân viên đều có một chức vụ (các chức vụ như trưởng/phó bộ phận, kế
toán trưởng ...). Mỗi chức vụ cần được quản lý bởi một mã chức vụ, tên chức vụ và hệ
số phụ cấp chức vụ.
Mỗi loại hàng hóa mà cửa hàng được phép kinh doanh thường gồm nhiều mặt hàng.
Mỗi một mặt hàng được nhận biết qua tên hàng, đơn vị tính, công dụng, đặc điểm và
được gán cho một mã số gọi là mã mặt hàng để tiện việc theo dõi. Mỗi loại hàng cũng
được quản lý bởi một mã loại, tên loại hàng và ghi chú.
Mỗi khi hàng hóa được nhập về, bộ phận nhập hàng tiến hành lập phiếu nhập hàng. Mỗi
phiếu nhập hàng phải ghi đầy đủ: số thứ tự phiếu nhập, nhà cung cấp, ngày lập, nhân
viên lập phiếu, tổng tiền nhập các mặt hàng, tổng tiền thuế giá trị gia tăng (GTGT) và
tổng trị giá phiếu nhập (gồm tổng tiền nhập các mặt hàng và tổng tiền thuế GTGT). Với
mỗi mặt hàng ghi trên phiếu nhập phải ghi đầy đủ các thông tin như: mã hàng, tên hàng,
đơn vị tính, số lượng, đơn giá nhập và thành tiền. Mỗi phiếu nhập hàng chỉ được lập
ứng với một nhà cung cấp và một nhà cung cấp được lưu trữ trong hệ thống phải có ít
nhất một hay nhiều phiếu nhập hàng tương ứng. Mỗi nhà cung cấp được ghi nhận gồm
các thông tin như: mã nhà cung cấp, tên nhà cung cấp, địa chỉ, số điện thoại, mã số thuế,
số tài khoản, email (xem mẫu phiếu nhập hàng ở phần minh họa biểu mẫu). Ngoài ra
trên mỗi phiếu nhập còn ghi số các chứng từ gốc (thường là số các hoá đơn mà công ty
phải thanh toán cho nhà cung cấp).
Khi trả tiền cho nhà cung cấp, một phiếu chi tiền được lập tương ứng với số tiền của
một hay nhiều phiếu nhập hàng của cùng một nhà cung cấp và mỗi phiếu nhập chỉ có
một phiếu chi tiền duy nhất. Trên phiếu chi có ghi số thứ tự của phiếu chi tiền, ngày lập
phiếu chi tiền, thông tin về nhà cung cấp, số tiền thanh toán và diễn giải chi tiền. Mỗi
phiếu chi tiền phải do một nhân viên bộ phần nhập hàng lập.
Khi khách đến mua hàng và làm thủ tục thanh toán, nhân viên bộ phận bán hàng tiến
hành việc lập hóa đơn bán hàng. Trên hóa đơn bán phải ghi đầy đủ các thông tin như:
số hóa đơn, ngày lập hóa đơn, khách hàng (họ tên, địa chỉ, mã số thuế, số tài khoản của
khách hàng), các mặt hàng khách mua (ghi mã mặt hàng, tên mặt hàng, số lượng bán,
Trang 36
đơn giá bán, thành tiền), tổng trị giá hóa đơn và nhân viên lập. Một khách hàng có thể
có nhiều hóa đơn nhưng một hóa đơn chỉ của duy nhất một khách hàng (xem mẫu hóa
đơn bán ở phần minh họa biểu mẫu).
Đơn giá bán có thể thay đổi tùy theo thời điểm bán, tuy nhiên các khách hàng mua cùng
mặt hàng và cùng thời điểm thì đơn giá tính là như nhau. Cuối ca bán hàng, nhân viên
phải báo cáo thống kê doanh số mà mình bán được để lập chứng từ nộp hết số tiền bán
được cho thủ quỹ. Thủ quỹ sẽ lập biên nhận (giống như phiếu thu) cho nhân viên bán
hàng của ca đó.
Các chức năng cơ bản mà hệ thống cần có để hỗ trợ cho ba bộ phận nhập hàng, bán
hàng và quản lý kinh doanh là:
Cho phép nhân viên bộ phận nhập hàng thực hiện các nghiệp vụ sau:
- Cập nhật dữ liệu danh mục như: loại hàng, mặt hàng, nhà phân phối
- Thực hiện các nghiệp vụ quản lý nhập hàng như: lập phiếu nhập, lập phiếu
chi tiền nhập hàng, và lập các báo cáo thống kê như: thẻ kho, báo cáo tồn
kho, báo cáo chi tiền.
Cho phép nhân viên bộ phận bán hàng thực hiện các nghiệp vụ sau:
- Tra cứu thông tin hàng hóa (số lượng tồn và thông tin liên quan)
- Lập hóa đơn và in hóa đơn cho khách hàng
- Lập báo cáo doanh thu cuối ca bán hàng
Cho phép nhân viên bộ phận quản lý kinh doanh thực hiện các nghiệp vụ sau:
- Cập nhật dữ liệu danh mục: chức vụ, bộ phận, nhân viên, quyền sử dụng hệ
thống, cấp và thu hồi quyền sử dụng của nhân viên.
- Cập nhật giá bán từng mặt hàng
- Lập phiếu thu tiền của nhân viên bán hàng, thống kê thu tiền từ nhân viên.
- Kết xuất các báo cáo (tháng, quí, năm) như: thẻ kho, báo cáo tồn kho, báo
cáo doanh số nhập hàng, thông kê doanh số bán hàng, báo cáo lợi nhuận trước
thuế và chi phí khác.
Các chức năng cấp quyền cho phép nhân viên thực hiện các chức năng phải được cấp
quyền từ nhân viên quản trị hệ thống thuộc bộ phận quản lý kinh doanh cửa hàng.

Trang 37
Các biểu mẫu có liên quan
Mẫu phiếu nhập hàng

Mẫu phiếu chi tiền nhập hàng

Trang 38
Mẫu hóa đơn bán hàng

Mô hình gợi ý

Trang 39
Thông tin nhà cung cấp, thông tin hàng hóa, các hàng hóa mà nhà cung cấp có thể cung
ứng, cũng như phiếu nhập nhập hàng hóa từ các nhà cung cấp, người chịu trách nhiệm
lập phiếu nhập, chi trả tiền mua hàng hóa với đối tác cung ứng được biểu diễn bằng mô
hình bên trên.
Do thông tin địa chỉ của nhà cung cấp, của nhân viên được quản lý theo số nhà, tên
đường, quận/huyện và tỉnh/thành phố vì thế thuộc tính DIACHINHACUNGCAP (thực
thể NHACUNGCAP) và thuộc tính DIACHINHANVIEN (thực thể NHANVIEN) sẽ
bao gồm thông tin về số nhà và tên đường. Thông tin quận/huyện và tỉnh/thành phố sẽ
được biểu diễn bởi thực thể, tuy nhiên do các tỉnh/thành phố khác nhau có thể có các
quận/huyện trùng tên với nhau nên thực thể QUANHUYEN sẽ là thực thể yếu, phụ
thuộc thực thể TINHTHANHPHO.
TINHTHANHPHO QUANHUYEN
THUOC
TenTTP <pi> Variable characters (30) <M> TenQH <pi> Variable characters (30) <M>
Identifier_1 <pi> Identifier_1 <pi>

Thông tin khách hàng, hóa đơn mua sắm hàng hóa, đơn giá bán hàng hóa tại từng thời
điểm được quản lý bởi mô hình sau đây:

Thủ quỹ thu tiền của nhân viên bán hàng tại cuối mỗi ca bán hàng được biểu diễn như
mô hình bên dưới, trong đó quan hệ ThuCuaNhanVien giữa PHIEUTHU và
NHANVIEN thể hiện phiếu thu này thu tiền của nhân viên bán hàng nào, quan hệ
thuBoiNhanVien thể hiện thủ quỹ nào thực hiện việc thu tiền.

Trang 40
Thông tin nhân viên làm việc tại bộ phận nào, giữ chức vụ gì tại thời điểm nào được
biểu diễn như sau

4. MÔ HÌNH DỮ LIỆU MỨC LUẬN LÝ

Mô hình dữ liệu mức luận lý được sinh từ mô hình dữ liệu mức quan niệm bằng cách
áp dụng các quy tắc chuyển đổi từ mô hình thực thể - liên kết sang mô hình quan hệ.
Trong các ví dụ sau đây, khóa chính sẽ được in đậm và khóa ngoại sẽ được in nghiêng.
Quy tắc 1: Mỗi thực thể trong mô hình thực thể - liên kết được chuyển thành một quan
hệ (bảng) trong mô hình quan hệ.
- Mỗi thực thể trở thành một quan hệ với tên quan hệ là tên thực thể và các
thuộc tính của thực thể trở thành các thuộc tính của quan hệ tương ứng.
- Khóa chính của thực thể trở thành khóa chính của quan hệ.
- Các khóa thay thế của thực thể trở thành các khóa thay thế của quan hệ.

Trang 41
Ví dụ chuyển thực thể NHANVIEN sang mô hình quan hệ
NHANVIEN
MaNV <pi>
HoTenNV
GioiTinh
NgaySinh
DiaChiNV
Identifier_1 <pi>

NHANVIEN (MaNV, HoTEnNV, GioiTinh, NgaySinh, DiaChiNV)


Quy tắc 2: Các thực thể tổng quát hóa/chuyên biệt hóa trong mô hình thực thể - liên kết
khi chuyển sang mô hình quan hệ có thể sử dụng 1 trong ba cách sau
- Cách 1 - Xóa đi các thực thể chuyên biệt hóa, chỉ sinh ra đúng một quan hệ
với tên là tên của thực thể tổng quát. Thuộc tính của quan hệ là tất cả các
thuộc tính của thực thể tổng quát hóa và các thuộc tính của các thực thể
chuyên biệt hóa. Các thuộc tính của thực thể chuyên biệt có thể nhận giá trị
rỗng. Khóa chính của quan hệ là khóa chính của thực thể tổng quát hóa.
- Cách 2 - Xóa thực thể tổng quát hóa. Các thực thể chuyên biệt được chuyển
thành các quan hệ tương ứng trong LDM. Các thuộc tính của mỗi quan hệ
bao gồm các thuộc tính của thực thể tổng quát hóa và các thuộc tính riêng
biệt tương ứng. Khóa chính của mỗi quan hệ là khóa chính của thực thể tổng
quát hóa.
- Cách 3 - Mỗi thực thể tổng quát hóa hay chuyên biệt hóa đều được chuyển
thành một quan hệ tương ứng trong LDM. Các thuộc tính của quan hệ tổng
quát hóa gồm các thuộc tính khóa chính và các thuộc tính không khóa của
nó. Các thuộc tính của các quan hệ chuyên biệt bao gồm các thuộc tính khóa
của thực thể tổng quát và các thuộc tính riêng biệt tương ứng của nó.
Ví dụ với mô hình thực thể - liên kết sau đây sẽ có thể được chuyển sang mô hình quan
hệ theo 3 cách

Cách 1
CANBO (MACB, HOTENCB, NSCB, NGHIEPVU, CHUCDANH)
Cách 2
CBHC (MACB, HOTENCB, NSCB, NGHIEPVU)
CBGD (MACB, HOTENCB, NSCB, CHUCDANH)
Cách 3
CANBO (MACB, HOTENCB, NSCB)
CBHC (MACB, NGHIEPVU)
Trang 42
CBGD (MACB, CHUCDANH)
Các tham chiếu
CBHC(MACB) → CANBO(MACB)
CBGD(MACB) → CANBO(MACB)
Quy tắc 3: Một quan hệ nhiều – nhiều (Many – to - Many) sẽ được chuyển thành một
bảng trong mô hình quan hệ
- Bảng này có tên là tên của quan hệ, các thuộc tính là các thuộc tính khóa của
các thực thể có liên quan. Khóa chính của bảng là tổ hợp tất cả các thuộc tính.
- Các tham chiểu tương ứng cũng được tạo

Mô hình quan hệ tương ứng là:


SINHVIEN (MSSV, HOTEN, PHAI, NG_SINH, QUEQUAN)
LOP_HP (MALOP_HP, TUANDAY, TIET_BD, THU, SOTIET)
DANGKY (MSSV, MALOP_HP)
Các tham chiếu
DANGKY(MSSV) -> SINHVIEN(MSSV)
DANGKY(MALOP_HP) -> LOP_HP(MALOP_HP)
Quy tắc 4: Với mỗi một quan hệ One-Many sẽ chuyển thành một tham chiếu trong mô
hình quan hệ.
- Một quan hệ One-Many sẽ trở thành một tham chiếu “bảng con đến bảng
cha”. Nghĩa là, khóa chính của thực thể bên 1 sẽ được đưa về bảng tương ứng
với thực thể bên nhiều để đóng vai trò khóa ngoại.

Mô hình quan hệ tương ứng là


SINHVIEN (MSSV, HOTEN, PHAI, NG_SINH, QUEQUAN, MALOP)
LOP (MALOP, TENLOP)
Các tham chiếu
Fk1: SINHVIEN(MALOP) → LOP(MALOP)
- Với mỗi một phụ thuộc hàm mạnh (quan hệ One-Many dạng phụ thuộc hàm)
khóa chính của thực thể bên 1 vừa đóng vai trò khóa ngoại, vừa là thành phần
của khóa chính bên nhiều.

Trang 43
Mô hình quan hệ tương ứng là
TANG (STT_TANG, DIENGIAI)
LOAI_THIETBI (MA_TB, DIENGIAI_TB)
PHONG (STT_PHONG, STT_TANG, SUCCHUA)
TRANGBI (STT_PHONG, STT_TANG, MA_TB)
Các tham chiếu
PHONG(STT_TANG) → TANG(STT_TANG)
TRANGBI(STT_PHONG, STT_TANG)→PHONG(STT_PHONG, STT_TANG)
TRANGBI(MA_TB) → LOAI_THIETBI(MA_TB)
Quy tắc 5: Chuyển quan hệ One-One thành quan hệ One-Many và áp dụng quy tắc 4.
- Quan hệ One-One cần thiết phải được chuyển về dạng One-Many vì nếu giữ
theo bản số ban đầu thì sẽ tồn tại tham chiếu vòng trong mô hình quan hệ,
điều này sẽ dẫn đến lỗi. Việc chuyển bản số 1 nào thành nhiều thường dựa
vào kinh nghiệm của người phân tích thiết kế. Tuy nhiên chúng ta cũng có
thể dựa vào việc nhận biết lớp đối tượng nào có trước, lớp đối tượng nào là
chủ sở hữu của lớp đối tượng nào để điều chỉnh bản số.

Mỗi học sinh tốt nghiệp tú tài sẽ được cấp một bằng tốt nghiệp duy nhất và một bằng
tốt nghiệp tú tài cũng chỉ cấp cho một học sinh mà thôi. Do đó, quan hệ giữa thực thể
HOCSINH và BANG_TN là quan hệ thuộc kiểu quan hệ 1-1. Trong trường hợp này
người phân tích phải quyết định chọn một bên nào đó được xem là 1 và bên còn lại là
nhiều. Chẳng hạn, ta chọn bên 1 tương ứng với thực thể HOCSINH, nghĩa là mỗi bằng
tốt nghiệp chỉ cấp cho một học sinh duy nhất và một học sinh được xem như có thể có
nhiều bằng tốt nghiệp. Điều này cũng đồng nghĩa với việc quyết định chuyển khóa chính
của thực thể HOCSINH vào quan hệ (bảng) BANG_TN làm khóa ngoại trong quá trình
chuyển đổi từ CDM sang LDM. Điều này cũng phù hợp với thực tế vì học sinh sẽ có
trước và là chủ thể sở hữu bằng tốt nghiệp.
Quy tắc 6: Một bản số của quan hệ có dạng là Optional-One thì quan hệ sẽ được chuyển
thành bảng.
- Bảng mới sẽ có tên là tên của quan hệ cùng khóa chính là các thuộc tính khóa
chính của thực thể có liên quan.

Trang 44
NHANVIEN
TONGIAO
MaNV <pi> Characters (6) <M> COTONGIAO MaTG <pi> Characters (5) <M>
HoTenNV Variable characters (30) <M>
TenTG Variable characters (30) <M>
GioiTinh Boolean <M>
NgaySinh Date <M> Identifier_1 <pi>
Identifier_1 <pi>

Mô hình quan hệ tương ứng là


---Cách 1:
NHANVIEN (MaNV, HoTenNV, GioiTinh, NgaySinh, CMND)
TONGIAO (MaTG, TenTG)
COTONGIAO (MaNV, MaTG)
---Cách 2:
NHANVIEN (MaNV, HoTenNV, GioiTinh, NgaySinh, MATG)
TONGIAO (MaTG, TenTG)
Chú ý: Trong trường hợp này MATG trong quan hệ NHANVIEN được phép
mang giá trị Null.

5. THIẾT KẾ DỮ LIỆU MỨC VẬT LÝ

5.1. Thiết kế cơ sở dữ liệu

Việc thiết kế cơ sở dữ liệu là phục vụ cho mục tiêu xây dựng được một CSDL có cấu
trúc ổn định và có thể mở rộng phù hợp với nhu cầu phát triển của đơn vị tổ chức. Một
hệ thống thông tin vận hành không ổn định, không thể mở rộng khi nhu cầu nghiệp vụ
thay đổi do nhiều nguyên nhân khác nhau trong đó việc CSDL được thiết kế “tồi” là
nguyên nhân quan trọng. Nói đến thiết kế CSDL là nói đến thiết kế dữ liệu ở mức luận
lý và mức vật lý. Tại giai đoạn này thì mô hình quan hệ được sử dụng. Mô hình dữ liệu
phải giúp đặc tả được mọi phần tử dữ liệu đầu vào cũng như dữ liệu đầu ra của hệ thống.
Mô hình dữ liệu ở mức luận lý phải được chuẩn hóa và ít nhất là đạt dạng chuẩn 3.
Việc thiết kế mô hình dữ liệu mức luận lý được thể hiện qua 4 bước chính
- Phát triển một mô hình dữ liệu mức luận lý từ mỗi giao diện người dùng được
biết đến (biểu mẫu và báo cáo) cho các ứng dụng trong việc sử dụng các
nguyên tắc chuẩn hóa.
- Kết hợp các yêu cầu dữ liệu đã chuẩn hóa từ tất cả các giao diện người sử
dụng vào một mô hình cơ sở dữ liệu luận lý; bước này được gọi là tích hợp
khung nhìn.
- Sinh mô hình dữ liệu mức luận lý từ mô hình quan niệm dữ liệu (E-R Model)
cho ứng dụng.
- So sánh, điều chỉnh cơ sở dữ liệu luận lý thiết kế với mô hình ER đã dịch
chuyển và thông qua tích hợp khung nhìn.
Một công việc thường xuyên diễn ra khi thiết kế mô hình dữ liệu mức luận lý đó là hợp
nhất các mô hình luận lý và đôi khi là hợp nhất các quan hệ bởi vì đôi khi mô hình dữ
liệu mức quan niệm được tổng hợp từ nhiêu mô hình E-R khác nhau khi mà hệ thống
cần xây dựng là lớn và mô hình do nhiều nhóm khác nhau phân tích. Một số các quan
Trang 45
hệ có thể là thừa, nó có thể chỉ đến các thực thể giống nhau. Nếu vậy, chúng ta nên hợp
nhất các quan hệ để loại bỏ các quan hệ thừa cũng như giúp tạo tính thống nhất cho dữ
liệu của hệ thống. Đây cũng có thể coi là bước cuối cùng trong thiết kế cơ sở dữ liệu
luận lý và trước khi thiết kế tập tin vật lý và cơ sở dữ liệu. Các vấn đề thường gặp phải
khi hợp nhất quan hệ bao gồm:
Từ đồng nghĩa (Synonyms)
Trong một số trường hợp, hai hoặc nhiều thuộc tính có thể được định danh với tên khác
nhau nhưng ý nghĩa như nhau khi nó mô tả cùng một thông tin, đặc điểm của cùng một
đối tượng. Trong trường hợp này chúng ta sẽ xác định một tên chuẩn, thay thế các từ
đồng nghĩa khác bởi tên chuẩn này.
Ví dụ, hãy xem xét các quan hệ sau đây:
STUDENT1 (Student_ID, Name)
STUDENT2 (Matriculation_Number, Name, Address)
Thực tế thì Student_ID và Matriculation_Number là từ đồng nghĩa. Một giải pháp là sử
dụng cách định danh của một trong hai thuộc tính, chẳng hạn như Student_ID. Cách
khác là sử dụng tên mới, chẳng hạn như SSN (social security number), để thay thế cả
hai từ đồng nghĩa. Giả sử với cách tiếp cận thứ hai này, việc hợp nhất hai quan hệ sẽ
cho kết quả như sau:
STUDENT (SSN, Name, Address)
Tên trùng nhau (Homonyms)
Đây là trường hợp mà các thuộc tính khác nhau của cùng một đối tượng hoặc của các
đối tượng khác nhau lại được định danh giống nhau.
Ví dụ:
STUDENTl (Student_ID, Name, Address) – Address lưu địa chỉ trường.
STUDENT2 (Student_ID, Name, Phone, Address) – Address lưu địa chỉ nhà.
Để giải quyết xung đột này chúng ta tạo các tên thuộc tính mới và hợp nhất lại:
STUDENT (Student_ID, Name, Phone, Campus_Address, Permanent_Address)
Phụ thuộc giữa các thuộc tính không phải khóa
Khi hai quan hệ thỏa dạng chuẩn 3 được hợp nhất thành một quan hệ, phụ thuộc giữa
các thuộc tính không phải là khóa có thể xảy ra. Ví dụ hãy xem xét hai quan hệ sau đây:
STUDENTl (Student_ID, Major)
STUDENT2 (Student_ID, Adviser)
Vì STUDENTl và STUDENT2 có cùng khóa chính, chúng ta có thể hợp nhất 2 quan hệ
này như sau:
STUDENT (Student_ID, Major, Adviser)
Tuy nhiên, giả sử rằng mỗi Major có một Adviser. Trong trường hợp này, Adviser phụ
thuộc vào Major.
Major → Adviser
Nếu tồn tại phụ thuộc trên thì STUDENT thỏa dạng chuẩn 2 nhưng không thỏa dạng

Trang 46
chuẩn 3. Để thỏa dạng chuẩn 3 chúng ta tách thành hai quan hệ:
STUDENT (Student_ID, Major)
MAJORADVISER (Major, Adviser)
Hai lớp đối tượng trong cùng một quan hệ
Giả sử chúng ta có hai quan hệ biểu diễn cho hai lớp đối tượng bệnh nhân khác nhau tại
một cơ sở điều trị, bệnh nhân ngoại trú và bệnh nhân nội trú.
PATIENTl (Patient_ID, Name, Address, Date_Treated)
PATIENT2 (Patient_ID, Room_Number)
Nếu thực hiện hợp nhất hai quan hệ sẽ xảy ra trường hợp hai lớp đối tượng cùng tồn tại
trong một quan hệ. Lúc này thay vì thực hiện hợp nhất hai quan hệ, chúng ta sẽ thực
hiện tách quan hệ.
PATIENT (Patient_ID, Name, Address)
INPATIENT (Patient_ID, Room_Number)
OUTPATIENT (Patient_ID, Date_Treated)

5.2. Mô hình dữ liệu mức vật lý

Khi thiết kế cơ sở dữ liệu mức vật lý mô hình dữ liệu mức luận lý sẽ được sử dụng để
đưa ra bản thiết kế mức vật lý đầy đủ. Các công việc cần thực hiện bao gồm:
- Xem xét các định nghĩa của từng thuộc tính để có thể đi đến lựa chọn kiểu
dữ liệu phù hợp. Xác lập các ràng buộc trên thuộc tính như: ràng buộc khóa
chính, ràng buộc khóa ngoại, miền giá trị, trị mặc nhiên, các kiểu chỉ mục có
thể xác lập trên thuộc tính cũng như các ràng buộc toàn vẹn.
- Mô tả nơi nào và khi nào dữ liệu được nhập vào hệ thống, được truy cập và
cập nhật. Đặc biệt cần xác định dữ liệu nào được xóa vật lý khỏi hệ thống hay
chỉ đánh dấu xóa luận lý. Xây dựng các kịch bản ứng xử khi ràng buộc toàn
vẹn bị vi phạm. Xác định cách thức sao lưu, phục hồi hệ thống khi có lỗi về
dữ liệu xảy ra.
- Lựa chọn cách thức tổ chức dữ liệu (tập trung hay phân tán). Quyết định rằng
hệ thống sẽ được tối ưu hóa về mặt xử lý (chấp nhận bản thiết kế dư thừa dữ
liệu) hay tối ưu hóa lưu trữ sẽ là một kênh tham khảo trong việc thiết kế dữ
liệu mức vật lý.
Khi thiết kế dữ liệu cũng cần chú ý phân loại dữ liệu vào các nhóm dữ liệu khác nhau
để có những chức năng xử lý phù hợp, đặc biệt là các thao tác cập nhật, xóa. Dữ liệu có
thể được phân nhóm theo tính chất như sau:
Dữ liệu thường trực (hay dữ liệu cơ sở, dữ liệu danh mục): Dữ liệu dùng làm cơ sở
cho những dữ liệu khác. Dữ liệu này thường là những đặc tính cơ bản của các lớp đối
tượng trong thế giới thực, không biến đổi hay nói cách khác là rất ít biến đổi theo thời
gian. Trong hệ thống thông tin chúng tồn tại vĩnh cửu và không thay đổi giá trị. Loại dữ
liệu này chỉ có thể bổ sung (thêm bộ hay thêm thuộc tính, ví dụ môn học) không nên
thay đổi giá trị, đặc biệt là không được xóa).
Ví dụ như trong ngữ cảnh hệ thống quản lý đào tạo tại một trường đại học, dữ liệu về
các môn học được xem là dữ liệu thường trực. Các môn học được nhận biết thông qua
Trang 47
mã số và vì thế có nhiều môn học cùng tên nhưng mã số khác nhau. Có rất nhiều môn
học hiện tại đã không còn xuất hiện trong chương trình đào tạo của bất kỳ ngành nào
nhưng chúng ta vẫn không thể xóa các môn học này khỏi CSDL. Vì sao như vậy? Chúng
ta thử xem xét trường hợp các bạn sinh viên đã ra trường lâu rồi và quay về trường in
bảng điểm. Nếu các môn học cũ đã bị xóa đi thì thông tin bảng điểm không thể in được.
Dữ liệu gốc thường thuộc loại dữ liệu lý lịch, dữ liệu lịch sử, hoặc dữ liệu tình trạng có
nghĩa là biểu diễn cho các sự kiện xảy ra theo thời gian, không gian. Dữ liệu dạng này
phát sinh hàng ngày vì liên quan đến các hoạt động nghiệp vụ của đơn vị/tổ chức nên
phải có cách thức lưu trữ hoặc xử lý thích hợp. Căn cứ vào thực tế để lựa chọn cách
thức tổ chức dữ liệu là tổ chức tập trung hay phân tán. Nếu tổ chức tập trung thì có bảo
đảm tính an toàn của dữ liệu không? Có thể sao chép dữ liệu gốc không còn thường
dùng ra hoặc phân mảnh dữ liệu theo định kỳ hay theo tính chất khác nào đó (theo trạm
làm việc chẳng hạn) để lưu trữ và đảm bảo hệ thống hoạt động một cách hiệu quả và
bảo đảm tính an toàn của dữ liệu.
Ví dụ một siêu thị có nhiều chi nhánh tại nhiều địa phương khác nhau thì dữ liệu nào
nên tổ chức tập trung, dữ liệu nào nên tổ chức phân tán? Dữ liệu báng hàng tại mỗi chi
nhánh thì cần được tổ chức phân tán vì nó chỉ hữu dụng với chi nhánh có liên quan. Dữ
liệu này cũng tăng nhanh từng ngày và khi đã hết thời gian hiệu lực thì có thể sao lưu
khỏi hệ thống hiện hành. Trong khi đó dữ liệu về khách hàng thân thiết thì có thể sẽ
phải tổ chức tập trung vì là khách hàng của hệ thống chứ không phải của chỉ một chi
nhánh.
Dữ liệu tạm thời chỉ dùng trong một thời gian nào đó hoặc phục vụ cho một chức năng
nào đó và vì thế khi không cần có thể xóa đi.
Bên cạnh đó cũng cần quan tâm đến những vấn đề sau đây khi thiết kế cơ sở dữ liệu
mức vật lý:
- Chọn hệ quản trị CSDL phù hợp.
- Định danh các đối tượng (tên cơ sở dữ liệu, tên bảng, tên thuộc tính). Việc
đặt tên các đối tựợng một cách có hệ thống sẽ đơn giản trong việc bảo trì,
nhất là khi làm việc theo nhóm.
- Xác định cách thức mã hóa dữ liệu, là định dạng của giá trị cho thuộc tính chỉ
định của một bảng nào đó (nó thường là khóa chính). Vì vậy khi tiến hành
mã hóa phải có sự phân loại để dễ dàng cho việc truy xuất và cập nhật sau
này. Nên dùng dữ liệu kiểu ký tự số để mã hóa, trừ những trường hợp đặc
biệt mới dùng ký tự phi số vì cần phải kiểm tra giá trị mã là chữ hoa hoặc chữ
thường.

Trang 48
Các bảng dữ liệu ở mức vật lý có thể được mô tả theo định dạng như trình bày sau đây:
Tên bảng
TT Tên Kiểu Kích Số Miền Trị MIN MAX Khóa Duy NOT RBTV RBTV Diễn
thước số giá mặc chính nhất NULL luận khóa giải
lẻ trị nhiên lý ngoại
MABN x x x Mã
bệnh
nhận

6. CÂU HỎI ÔN TẬP VÀ BÀI TẬP

6.1. Câu hỏi ôn tập

1. Nêu khái quát mục tiêu của mô hình hóa dữ liệu?


2. Nêu khái niệm vòng đời dữ liệu?
3. Dữ liệu được phân thành những loại nào?

6.2. Bài tập

1. Phân tích mô hình dữ liệu mức quan niệm cho hệ thống mô tả sau đây
Một trung tâm đào tạo tin học có nhiều lớp học. Mỗi lớp có một tên gọi và được gán
cho một mã số không trùng lắp. Trung tâm cũng có nhiều học viên và mỗi học viên
cũng có một mã số không trùng với mã số của học viên khác, một tên, ngày sinh, phái
và địa chỉ liên lạc. Trung tâm nhận đào tạo học viên theo nhiều trình độ khác nhau và
mỗi trình độ sẽ có một chương trình đào tạo riêng. Một chương trình đào tạo là một
danh sách các môn sẽ được học theo từng giai đoạn cũng như cho biết thứ tự các môn
sẽ học trong chương trình. Mỗi môn học gồm có mã môn học, tên môn học, tính chất
môn, số tiết lý thuyết, số tiết thực hành, hình thức thi. Mỗi học viên sẽ tự đăng ký các
môn học tùy theo khả năng của mình và sẽ nhận được bằng cấp khi đã hoàn thành hết
các môn trong chương trình đào tạo. Điểm trung bình của học viên được tính dựa trên
kết quả đạt được của các học viên ở các môn và tỉ lệ tiết học tính trong toàn khóa học.
2. Xây dựng mô hình dữ liệu mức luận lý của mô hình mức quan niệm đã phân tích
ở câu 4.
3. Phân tích mô hình dữ liệu mức quan niệm đồng thời xác định các ràng buộc toàn
vẹn trên dữ liệu cho hệ thống mô tả sau đây
Một bãi gửi xe có nhận gửi xe qua đêm được thiết kế gồm có 2 cổng: một cổng xe vào
và một cổng xe ra. Người ta chia bãi gửi xe thành 4 khu riêng biệt dành cho 4 loại xe
khác nhau: xe máy, xe buýt, xe tải và xe công-ten-nơ. Mỗi khu có nhiều chỗ đậu xe và
được đánh số thứ tự, số thứ tự của mỗi chỗ để xe là duy nhất. Khi khách đến gửi xe,
người coi xe nhận dạng xe, sau đó kiểm tra chỗ trống trong bãi. Nếu chỗ dành cho loại
xe đó đã hết thì thông báo cho khách. Ngược lại thì ghi vé đưa cho khách và hướng dẫn
xe vào bãi, đồng thời ghi những thông tin trên vé vào sổ xe vào.
Khi khách lấy xe, người coi xe kiểm tra vé xem vé là thật hay giả, đối chiếu vé với xe.
Nếu vé giả hay không đúng xe thì không cho nhận xe. Ngược lại thì viết phiếu thanh
toán và thu tiền của khách, đồng thời ghi các thông tin cần thiết vào sổ xe ra.

Trang 49
Khi khách đến báo cáo có sự cố thì kiểm tra xe trong sổ xe vào và sổ xe ra để xác minh
xe có gửi hay không và đã lấy ra chưa. Nếu không đúng như vậy thì không giải quyết.
Trong trường hợp ngược lại tiến hành kiểm tra xe ở hiện trường. Nếu đúng như sự việc
xảy ra thì tiến hành lập biên bản giải quyết và trong trường hợp cần thiết thì viết phiếu
chi bồi thường cho khách.

Trang 50
Chương 3. THIẾT KẾ THÀNH PHẦN XỬ LÝ

1. GIỚI THIỆU

Thiết kế thành phần xử lý chính là việc xác định các chức năng xử lý của hệ thống,
chính là các hoạt động xử lý thông tin, tác động lên dữ liệu vào và dữ liệu lưu trữ để
cho ra dữ liệu ra (kết quả của quá trình xử lý). Giai đoạn phân tích hiện trạng hệ thống
tổ chức cho người làm tin học các tài liệu sưu tập là: sơ đồ hiện trạng, bảng mô tả công
việc, bảng mô tả quy tắc và bảng các dòng luân chuyển thông tin. Ở giai đoạn thiết kế
xử lý mức quan niệm, người làm tin học phải chuyển các tài liệu sưu tập đó sang các
mô hình để mô tả thành phần xử lý, đặc tả các hoạt động của hệ thống. Nội dung chúng
của chương này trình bày các công việc chính của giai đoạn thiết kế thành phần xử lý
mức quan niệm, gồm hai nội dung chính: Lưu đồ dòng dữ liệu và Mô hình chức năng ở
mức quan niệm.
Các nội dung chính của chương:
- Phương pháp tiếp cận thành phần xử lý
- Lưu đồ dòng dữ liệu (Data Flow Diagram-DFD)
- Bài tập rèn luyện kỹ năng xây dựng lưu đồ dòng dữ liệu
- Thiết kế module xử lý

2. PHƯƠNG PHÁP TIẾP CẬN THÀNH PHẦN XỬ LÝ

2.1. Phương pháp cổ điển

Cách tiếp cận thành phần xử lý theo phương pháp cổ điển là cách tiếp cận dựa theo ý
tưởng: mỗi bộ phận đều có chức năng xử lý nhiệm vụ nào đó. Cách tiếp cận thành phần
xử lý theo phương pháp cổ điển được xem là cách tiếp cận theo kiểu tĩnh, không xét đến
mối liên hệ giữa các chức năng xử lý cũng như sự phối hợp giữa chúng như thế nào.
Phương pháp tiếp cận thành phần xử lý cổ điển dùng sơ đồ phân cấp tổ chức và sơ đồ
phân cấp chức năng để mô tả thành phần xử lý của hệ thống. Ví dụ hình 6 mô tả sơ đồ
tổ chức và hình 7 mô tả các chức năng nghiệp vụ của một tổ chức cơ quan, từ đó thể
hiện các thành phần xử lý của hệ thống.

Trang 51
Hình 6. Sơ đồ phân cấp tổ chức

Hình 7. Sơ đồ phân cấp chức năng

Sơ đồ phân cấp chức năng là công cụ đầu tiên được dùng để mô tả hệ thống về mặt chức
năng, gồm các thành phần:
- Các chức năng xử lý
- Các kết nối
Đặc điểm của sơ đồ phân cấp chức năng là:
- Đơn giản, dễ vẽ
- Mang tính khái quát, dễ hiểu
- Có tính chất tĩnh
- Không thể hiện được sự trao đổi thông tin giữa các chức năng xử lý
Sơ đồ phân cấp tổ chức và sơ đồ phân cấp chức năng là khác nhau về mặt bản chất,
nhưng giữa chúng luôn có sự tương đồng với nhau.

2.2. Phương pháp tiếp cận mới

Phương pháp tiếp cận mới thành phần xử lý là xem xét khía cạnh động của chức năng
xử lý của hệ thống. Phương pháp tiếp cận này mô tả chức năng xử lý ở các khía cạnh
Trang 52
như sau:
- Lúc nào khởi động một xử lý.
- Việc phối hợp của một xử lý với các xử lý khác như thế nào, có cần chờ đợi
một xử lý khác hay không, có các xử lý song song nào khác hay không.
- Mỗi xử lý cần dữ liệu vào gì, sinh ra dữ liệu kết quả gì, dữ liệu kết quả có phục
vụ xử lý nào khác không.
- Việc phối hợp giữa các xử lý xảy ra ở đâu (không gian), lúc nào (thời gian).
Có hai trường phái chính đối với phương pháp cách tiếp cận thành phần xử lý đó là: tiếp
cận thành phần xử lý của các nước Châu Âu và tiếp cận thành phần xử lý của các nước
Bắc Mỹ.
a. Phương pháp tiếp cận thành phần xử lý của các nước Châu Âu
Các nước Châu Âu trình bày thành phần xử lý với dựa theo phương pháp MERISE trên
cơ sở các khái niệm: biến cố, hoạt động, sự đồng bộ hóa, ... Ở mức tổ chức (logic), cách
tiếp cận này đi sâu thêm về tổ chức các xử lý thông qua các khái niệm như: trạm làm
việc, bản chất của các xử lý, thủ tục chức năng, đơn vị xử lý, ...
b. Phương pháp tiếp cận thành phần xử lý của các nước Bắc Mỹ
Các nước Bắc Mỹ tiếp cận thành phần xử lý của hệ thống thông qua Lưu đồ dòng dữ
liệu (Data flow diagram-DFD), dựa trên các khái niệm như: ô xử lý, dòng dữ liệu
(vào/ra), nguồn / đích, và kho dữ liệu. Lưu đồ dòng dữ liệu là cách tiếp cận thành phần
xử lý của hệ thống ở hai mức: quan niệm và vật lý. Phương pháp tiếp cận là dựa trên sự
phân tích hệ thống đi từ tổng quát đến mức chi tiết mà người lập trình có thể hiểu và
triển khai được.
Nội dung chính của chương này trình bày cách tiếp cận thành phần xử lý của hệ thống
dựa theo các nước Bắc Mỹ.

3. LƯU ĐỒ DÒNG DỮ LIỆU

Như đã đề cập ở trên, phương pháp cách tiếp cận thành phần xử lý dựa theo trường phái
Bắc Mỹ là mô hình hóa thành phần xử lý của hệ thống thông qua lưu đồ dòng dữ liệu.
Phân tích mối liên quan giữa lưu đồ dòng dữ liệu và mô hình thực thể - quan hệ ở mức
quan niệm của hệ thống, làm cơ sở cho việc kiểm tra tính đầy đủ, hợp lý của lưu đồ
dòng dữ liệu của hệ thống, cách thức đặc tả nội dung một ô xử lý, phân loại các ô xử lý
của một lưu đồ dòng dữ liệu.
Thông qua các nguyên lý và các thí dụ trình bày trong phần này người đọc có thể vận
dụng để từng bước xây dựng lưu đồ dòng dữ liệu cho một hệ thống thông tin tương tự
dựa trên sự mô tả hệ thống đã trình bay ở các phần trước.
Các yêu cầu cần nắm vững là các khái niệm như ô xử lý, dữ liệu vào/dữ liệu ra của một
ô xử lý, nguồn/đích và kho dữ liệu. Cách thức phân hoạch thành phần xử lý, phân rã ô
xử lý, nguyên tắc ngừng phân rã cũng cần nghiên cứu một cách cẩn thận.
Lưu đồ dòng dữ liệu (Jeffrey A. Hffer, Joey F. George, Joseph S. Valacich, Modern
System Analysis and Design, Prentice Hall, 2002.) được giới thiệu trong chương này
còn làm cơ sở để phân tích và xây dựng mô hình chức năng của hệ thống.

Trang 53
3.1. Các khái niệm cơ bản

Lưu đồ dòng dữ liệu biểu diễn sự kết nối giữa các quá trình xử lý (hay các hoạt động)
của hệ thống, thông qua việc trao đổi dữ liệu. Trong lưu đồ dòng dữ liệu phải thể hiện
các xử lý nào khởi đầu, xử lý nào phụ thuộc vào những xử lý khác và mỗi xử lý cần
những dữ liệu vào gì và tạo ra những dữ liệu ra nào (kết quả của xử lý). Tùy từng mức
độ mà lưu đồ dòng dữ liệu được phân rã từ tổng quát đến chi tiết dần, quá trình phân rã
chi tiết dừng lại ở cấp mà có thể chuyển cho người lập trình để triển khai (Nguyễn Văn
Vỵ, Phân tích và Thiết kế Hệ thống thông tin quản lý, 2007).
Có hai loại ký pháp chuẩn được dùng để biểu diễn lưu đồ dòng dữ liệu, và cả hai loại
ký pháp đều có bốn ký pháp để biểu diễn cho các khái niệm: ô xử lý, dòng dữ liệu,
nguồn/đích và kho dữ liệu. Nội dung này sử dụng các ký pháp của hai nhóm tác giả:
Gane và Sarson (1979), Demarco và Yourdon (1979).
Bảng 1. Các ký pháp sử dụng để vẽ lưu đồ dòng dữ liệu

Khái niệm Ký pháp của Gane và Ký pháp DeMarco và


Sarson (1979) Yourdon (1979)
Ô xử lý
STT
(process) Tên ô xử
Tên ô xử lý lý
Số điện

Luồng dữ liệu Tên luồng Tên luồng


(Data flow)

Nguồn/Đích Nguồn/Đích Nguồn/Đích


(Source/Target)

Kho dữ liệu
Tên kho dữ liệu Tên kho dữ liệu
(Data store)

a. Quá trình xử lý (process)


Một quá trình xử lý là một hệ thống con của một hệ thống nào đó. Việc nhận biết các
quá trình xử lý trong một hệ thống còn tuỳ theo từng cấp tiếp cận và cũng có thể tuỳ
cách thức tổ chức xử lý.
Ở cấp tiếp cận ban đầu, có thể toàn thể hoạt động của hệ thống là một quá trình xử lý.
Khi đó nó có thể nhận nhiều đối tượng đầu vào và cho nhiều sản phẩm đầu ra. Ở những
bước tiếp theo, người ta lại phân chia quá trình xử lý tạo ra các kết quả đó theo nhiều
tiêu chí khác nhau, có thể theo từng loại sản phẩm, có khi lại theo từng công đoạn. Ở
cấp chi tiết có thể xem mỗi quá trình xử lý chỉ tạo ra một loại kết quả hay đơn thuần là
hoàn thành một công đoạn nào đó cho kết quả.
Ở khía cạnh tổ chức xử lý thì người ta cũng có thể phân loại theo nhiều tiêu chí khác
nhau. Có thể tổ chức theo tính chất của xử lý, chẳng hạn một nhà máy cơ khí có thể chia
ra các phân xưởng theo các loại xử lý như: hàn, tiện, làm nguội… hay một trường đại
Trang 54
học có thể phân chia quá trình xử lý theo các chức năng: phòng giáo vụ (quản lý tất cả
các mặt giáo vụ của toàn trường), phòng tài vụ, phòng tổ chức…
Cũng có thể tổ chức quá trình xử lý theo quy trình sản xuất tạo ra một loại sản phẩm
nào đó, chẳng hạn một nhà máy may mặc được tổ chức thành các phân xưởng may áo,
phân xưởng may quần… hay một trường đại học có thể phân chia thành các khoa mỗi
khoa đào tạo một số chuyên ngành và thực hiện tất cả các chức năng của quá trình đào
tạo.
Một quá trình xử lý thường gồm nhiều thao tác trong một lĩnh vực nào đó có đầu vào
và đầu ra xác định. Một quá trình xử lý trong thế giới thực được mô hình hóa tương ứng
với một ô xử lý trong lưu đồ dòng dữ liệu của một hệ thống thông tin. Các quá trình xử
lý trong hệ thống thông tin thường là việc ghi nhận dữ liệu của các đối tượng tham gia
vào quá trình xử lý trong thực tế hoặc là sự biến đổi dữ liệu đã có để tạo ra dữ liệu mới,
nó thường bỏ qua những thao tác khó lượng hóa được trong thế giới thực.
Khi định danh một ô xử lý nên tìm thuật ngữ thích hợp đặc tả đúng bản chất của quá
trình xử lý, nó phải là một động từ.
Điều khó khăn là cùng một bản chất nhưng có thể nó được đặc tả bằng những thuật ngữ
khác nhau, cho nên các thành phần tham gia xây dựng hệ thống phải thống nhất với
nhau về việc định danh (đặt tên) cho một ô xử lý. Chẳng hạn dùng “quản lý hàng hóa”
hay “quản lý mua bán hàng hóa”, “ghi nhận sự nhập hàng” hay “lập phiếu nhập kho”,…
Mỗi ô xử lý thường được ký hiệu bằng một hình oval hay hình chữ nhật góc tròn, bên
trong có đánh một số thứ tự kèm theo một tên của nó.
Ký hiệu: Ví dụ:
STT 2

Tên ô xử lý Lập hóa đơn


Số điện Số điện

b. Dữ liệu vào (Input)


Tham gia vào một quá trình xử lý phải có những đối tượng đầu vào. Các đối tượng này
thường được kiểm soát bằng việc thõa mãn những điều kiện nào đó mà ta gọi là tiêu
chuẩn nạp nhập. Như đã trình bày ở trên, một quá trình xử lý trong thế giới thực được
ứng với một ô xử lý trong lưu đồ dòng dữ liệu.
Dữ liệu vào cho một ô xử lý liên quan đến các đối tượng tham gia vào quá trình xử lý,
đó chính là tập hợp những giá trị của các thuộc tính cần thiết của các đối tượng đó.
Dòng dữ liệu vào thường được ký hiệu bằng các mũi tên để chỉ hướng vào đối với một
ô xử lý và có nhãn đặc tả dữ liệu đó. Nhãn đặc tả dữ liệu cho một ô xử lý cũng được cụ
thể hoá từng cấp. Cấp ban đầu có thể là tên của đối tượng, cấp chi tiết có thể là tên các
thuộc tính của các đối tượng. Tuy nhiên, trừ những xử lý phức tạp nếu không sợ nhầm
lẫn để tránh rườm rà người ta chỉ ghi tên đối tượng là đủ. Có thể có nhiều dữ liệu tham
gia vào cùng một quá trình xử lý.
Ký hiệu: STT
Dữ liệu vào
Tên ô xử lý
Số điện

Trang 55
Ví dụ: các dữ liệu vào của ô xử lý: “lập hoá đơn” gồm có: dữ liệu về khách hàng,
dữ liệu về mặt hàng được khách hàng mua (hoá đơn bán những mặt hàng nào), Ngày
lập,…
Khách hàng
2
Mặt hàng mua
Nhân viên lập Lập hóa đơn
Số điện

Chú ý: dữ liệu vào của một ô xử lý phải do một nguồn, một kho hay một ô xử lý
khác cung cấp (trong ví dụ trên chưa quan tâm đến vấn đề này).
c. Dữ liệu đầu ra (output)
Một quá trình xử lý phải cho ít nhất một kết quả đầu ra. Kết đầu ra là kết quả của một
quá trình xử lý trong thế giới thực. Tương ứng với chúng, dữ liệu ra là kết quả của một
ô xử lý ứng với quá trình xử lý xử lý đó. Dữ liệu thường là một vật chứng nào đó (chẳng
hạn: phiếu nhập, hóa đơn bán hàng, bảng kê, danh sách…) mà giá trị các thuộc tính phải
được xác định.
Dòng dữ liệu ra cũng được ký hiệu bằng các mũi tên phát sinh ra từ một ô xử lý nào đó
và được định danh bằng tên. Cũng tương tự như đối với dữ liệu vào, tên của dữ liệu ra
thường là tên của vật chứng tương ứng với kết quả của quá trình xử lý được mô hình
hoá thành ô xử lý.
Ký hiệu: STT
Dữ liệu vào Dữ liệu ra
Tên ô xử lý
Số điện

Ví dụ: các dữ liệu vào của ô xử lý: “lập hoá đơn” gồm có: dữ liệu về khách hàng,
dữ liệu về mặt hàng được khách hàng mua (hoá đơn bán những mặt hàng nào), Nhân
viên lập hóa đơn,…
Khách hàng
2 Hoá đơn
Mặt hàng mua
Lập hóa đơn
Nhân viên lập
Số điện
Nếu cùng một dữ liệu được dùng cho nhiều ô xử lý thì người ta trình bày:

Cần phân biệt: đầu vào cho một quá trình xử lý trong thế giới thực là các đối tượng vật
chất nào đó và kết quả của nó cũng là những đối tượng vật chất khác (hoặc có những
đặc tính hay cấp độ khác); còn đầu vào và đầu ra của mỗi ô xử lý cũng đều là dữ liệu
nhưng dữ liệu vào và dữ liệu ra của mỗi ô xử lý là luôn khác nhau.

Trang 56
Chú ý: dữ liệu đi ra từ một ô xử lý phải đi đến một đích, một kho hay một xử lý khác.
d. Nguồn / đích
Nguồn / đích là những thực thể bên ngoài hệ thống. Nguồn tác động vào hệ thống làm
cho hệ thống khởi tạo các quá trình xử lý, còn đích là những đối tượng mà hệ thống phải
cung cấp các kết quả xử lý. Chúng được ký hiệu bằng những hình chữ nhật bên trong
có gán tên.
Tên nguồn/ đích là tên thực thể tương ứng với lớp đối tượng trong thế giới thực. Trong
một số trường hợp một đối tượng có thể vừa là nguồn dữ liệu vào, cũng vừa là đích.
Nguồn/ đích được đặt tên là một danh từ, nguồn/ đích là một trong các trường hợp sau:
- Con người (như khách hàng, nhân viên, giáo viên, sinh viên…)
- Một tổ chức hay cơ quan chức năng đòi hỏi hoặc yêu cầu kết quả của quá trình
xử lý (như Phòng đào tạo, Phòng tổ chức cán bộ,…).
- Một hệ thống thông tin khác có giao tiếp với hệ thống thông tin đang phân tích
Ký hiệu:
Dữ liệu vào Dữ liệu ra
Nguồn Đích

Ví dụ:

Khách hàng
Khách hàng

Mặt hàng mua


2 Hóa đơn
Nhân viên Nhân viên lập Lập hóa đơn

Hình 8. Minh họa nguồn và đích của một DFD

Trong ví dụ này, có đối tượng nhân viên là nguồn và đối tượng khách hàng vừa là nguồn
vừa là đích của hệ thống (hình 8).
e. Kho dữ liệu (data store)
Kho dữ liệu là nơi chứa dữ liệu mà ô xử lý cần tham khảo hay cần lưu trữ lại sau quá
trình xử lý. Chúng được ký hiệu bằng những hình chữ nhật một bên đóng, hoặc cả hai
bên đều mở và bên trong có gán tên của kho dưới dạng một danh từ.
Ký hiệu: Kho dữ liệu Kho dữ liệu
hay

Một quá trình xử lý có tham khảo dữ liệu từ một kho (như truy xuất danh mục mặt hàng,
đơn giá bán) hay lưu lại dữ liệu kết quả sau quá trình xử lý (như lưu lại hóa đơn sau khi
lập). Ví dụ sau sẽ minh họa cụ thể:

Trang 57
Khách hàng Khách hàng

Mặt hàng mua


2 Hóa đơn
Nhân viên lập
Nhân viên Lập hóa đơn

Mặt hàng Đơn giá bán Hóa đơn

Hình 9. Minh họa các kho dữ liệu: mặt hàng, đơn giá và hóa đơn

3.2. Các cấp của lưu đồ dòng dữ liệu

a. Lưu đồ dòng dữ liệu cấp ngữ cảnh


Lưu đồ dòng dữ liệu cấp ngữ cảnh (context diagram) hay còn gọi là lưu đồ dòng dữ liệu
cấp 0 là mô hình biểu diễn quá trình nghiệp vụ của tổ chức. Trong lưu đồ dòng dữ liệu
cấp 0, toàn bộ hệ thống thông tin được xem như một quá trình xử lý. Do đó, Lưu đồ
dòng dữ liệu cấp 0 chỉ có một ô xử lý duy nhất, cùng với tất cả các nguồn, đích, các dữ
liệu vào đi từ các nguồn đến ô xử lý và các từ liệu ra đi từ ô xử lý đến các đích của hệ
thống. Trong lưu đồ dòng dữ liệu cấp 0 không vẽ các kho dữ liệu.
Ví dụ 1: Lưu đồ dòng dữ liệu cấp ngữ cảnh cho “Hệ thống đặt thức ăn” được
biểu diễn như sau:
Đơn hàng Nhà bếp
Khách 0
Thực đơn
hàng Hệ thống đặt yêu cầu
Hóa đơn
thức ăn

Báo cáo Bộ phận


quản lý

Hình 10. DFD cấp 0 hay cấp ngữ cảnh của Hệ thống đặt thức ăn

b. Lưu đồ dòng dữ liệu cấp n


Các lưu đồ dòng dữ liệu cấp cao hơn có được bằng cách phân rã từng ô xử lý của cấp
trước đó. Lưu đồ dòng dữ liệu ở cấp n có được bằng cách phân rã từng ô xử lý của lưu
đồ dòng dữ liệu ở cấp n-1.
Ví dụ 2: Lưu đồ dòng dữ liệu cấp 1 bên dưới có được bằng cách phân rã lưu đồ
dòng dữ liệu cấp 0 trong ví dụ 1 ở trên.

Trang 58
Đơn hàng Thực đơn
Khách 1 yêu cầu
hàng Nhận và xử lý Nhà bếp
Hóa đơn
đơn hàng

3
Cập nhật thực
2 Món ăn bán Thực phẩm cần phẩm sử dụng
Cập nhật món
ăn đã bán

Thực phẩm dùng


Thẻ kho thực phẩm
Món ăn đã bán
4
Báo cáo
Lập báo cáo Bộ phận
quản lý quản lý
Món ăn bán trong ngày

Hình 11. DFD cấp 1 được phân rã từ DFD cấp 0 của Hệ thống đặt thức ăn

3.3. Luật vẽ lưu đồ dòng dữ liệu

a. Các luật cơ bản của DFD


- Mỗi ô xử lý phải có một tên duy nhất (chỉ được vẽ một lần). Nguồn/đích, kho dữ
liệu có thể được vẽ lặp lại nhiều lần.
- Mỗi ô xử lý phải có dữ liệu vào và cả dữ liệu ra, đồng thời dữ liệu vào và dữ liệu
ra của một ô xử lý phải luôn luôn khác nhau. Điều này đảm bảo các dữ liệu đưa
vào phải được biến đổi để cho ra một hay nhiều kết quả là các dữ liệu đầu ra khác
với các dữ liệu đầu vào.
- Mỗi dòng dữ liệu chỉ có một hướng và không thể: di chuyển trực tiếp từ một kho
này sang một kho khác, di chuyển trực tiếp từ một nguồn vào một kho, di chuyển
trực tiếp từ một kho đến một đích, di chuyển trực tiếp từ một nguồn sang một
đích.
- Một ký hiệu phân nhánh của dòng dữ liệu cho biết cùng một dữ liệu xuất ra từ
một nơi và có thể đi đến hai hay nhiều ô xử lý hay nguồn/đích khác
- Một điểm kết cho biết cùng một dữ liệu đến từ bất kỳ hai hay nhiều ô xử lý, kho
dữ liệu hay nguồn/đích và đi đến cùng một nơi.
- Một dòng dữ liệu không thể đi trở lại chính ô xử lý đã xuất ra nó một cách trực
tiếp.
- Một dòng dữ liệu đi đến một kho dữ liệu có nghĩa đây là một hoạt động cập nhật.
- Một dòng dữ liệu đi ra từ một kho dữ liệu có nghĩa đây là một hoạt động truy
xuất dữ liệu.
Trang 59
- Qui tắc đặt tên: tên của một ô xử lý phải có dạng là một động từ, riêng tên kho
dữ liệu, nguồn/đích, dòng dữ liệu vào/ra phải có dạng là một danh từ.
b. Luật cân bằng của DFD
Khi phân rã một DFD, ta phải bảo toàn tính cân bằng giữa các cấp của một DFD, theo
3 nguyên tắc sau:
- Các nguồn/đích của các cấp phải giống nhau.
- Các dòng dữ liệu vào của hệ thống xuất phát từ mỗi nguồn trên các cấp phải
giống nhau.
- Các dòng dữ liệu ra từ hệ thống đến mỗi đích trên các cấp phải giống nhau.
Ví dụ DFD cấp 0 (hình 12) và DFD cấp 1 (hình 13) bên dưới là hai DFD không
cân bằng, vì DFD cấp 0 chỉ có một nguồn và một dòng dữ liệu vào nhưng sau khi phân
rã DFD cấp 1 có đến 2 nguồn (nguồn 1 và nguồn 2) với hai dữ liệu đầu vào (dữ liệu vào
1 và dữ liệu vào 2). Điều này dẫn đến vi phạm nguyên tắc 1 và nguyên tắc 2 đã nêu ở
trên.
- DFD cấp 0

Dữ liệu vào Dữ liệu ra


Nguồn Ô xử lý Đích 1

Hình 12. Minh họa DFD cấp 0 không cân bằng với DFD cấp 1

- DFD cấp 1

Dữ liệu vào 1
Nguồn 1 Ô xử lý 1

Dữ liệu vào 2
Nguồn 2

Dữ liệu ra
Ô xử lý 2 Đích 1

Hình 13. Minh họa DFD cấp 1 không cân bằng với DFD cấp 0

Trang 60
Ví dụ DFD cấp 0 (hình 14) và DFD cấp 1 (hình 15) bên dưới là hai DFD cân bằng
giữa cấp 0 và cấp 1.
- DFD cấp 0:

Dữ liệu vào 1
Nguồn 1 Dữ liệu ra
Ô xử lý
Dữ liệu vào 2 Đích 1

Nguồn 2

Hình 14. Minh họa DFD cấp 0 cân bằng với DFD cấp 1

- DFD cấp 1:

Dữ liệu vào 1
Nguồn 1
Ô xử lý 1

Dữ liệu vào 2
Nguồn 2

Dữ liệu ra
Ô xử lý 2 Đích 1

Hình 15. Minh họa DFD cấp 1 cân bằng với DFD cấp 0

3.4. Phương pháp phân rã lưu đồ dòng dữ liệu

a. Phương pháp phân rã DFD


Phương pháp phân tích thành phần xử lý bằng lưu đồ dòng dữ liệu là phương pháp phân
tích đi từ tổng quát đến chi tiết và được thực hiện qua nhiều cấp phân rã, bắt đầu từ lưu
đồ dòng dữ liệu cấp ngữ cảnh hay còn gọi là cấp 0.
Một cách trực quan, sơ đồ tổng quát cho sự phân rã một lưu đồ dòng dữ liệu từ cấp 0
đến cấp n (n>0) có thể minh họa bên dưới (hình 16).

Trang 61
0 Đ

Hệ thống
DFD Cấp 0

Đ
2 4

1
3
N
DFD Cấp 1

Đ
2.2
4.1
2.1
4.2
2.3

1.2
3.1
1.3

1.1
3.2 3.3

1.4

N DFD Cấp 2

Hình 16. Mô hình tổng quát hóa phương pháp phân rã DFD

b. Tiêu chuẩn dừng phân rã DFD


Việc dừng phân rã các ô xử lý ở cấp nào là tùy vào mỗi hệ thống, thường là dừng phân
rã ở cấp mà người phân tích hệ thống cũng như các thành phân tham gia đều chấp nhận
trong việc nhận biết được tất cả các ô xử lý trong thành phần xử lý của hệ thống (Đinh
Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003).
Hai tiêu chuẩn để dừng việc phân rã là:
1) Mỗi ô xử lý có thể nhận nhiều dữ liệu vào nhưng chỉ có một dữ liệu ra;
Trang 62
2) Mọi thành phần tham gia xây dựng hệ thống thông tin đều hiểu biết tất cả các ô
xử lý trong thành phần xử lý của hệ thống.
Tuy nhiên các tiêu chuẩn trên cũng mang tính tương đối. Việc phân rã cũng không nên
quá chi tiết làm cho lưu đồ rườm rà. Chẳng hạn với ô xử lý: “lập báo cáo tồn kho” (bằng
phương pháp bình quân gia quyền) có thể phân rã thành 3 ô xử lý:
- Ô xử lý thứ 1: “xác định đơn giá vốn”, xác định đơn giá vốn từng mặt hàng, muốn
vậy phải lấy từ tồn kho tháng trước và tất cả các phiếu nhập trong tháng cả số lượng và
số tiền tổng hợp lại theo công thức: đơn giá vốn mỗi mặt hàng tại mỗi cửa hàng = (số
tiền tồn cuối + tổng số tiền nhập)/(số lượng tồn cuối + tổng số lượng nhập).
- Ô xử lý thứ 2: “xác định trị giá vốn”, xác định trị giá vốn từng mặt hàng với số
lượng bán trên từng hóa đơn = số lượng bán * đơn giá vốn đã xác định ở bước 1.
- Ô xử lý thứ 3: “Tổng hợp tồn kho”: tổng hợp tồn kho cả số lượng tồn cuối và số
tiền tồn cuối từng mặt hàng.
Việc phân rã như vậy sẽ dễ hiểu hơn nhưng khi thực thi phải đúng và đủ quy trình như
vậy, vì nếu chỉ cần có sự điều chỉnh một phiếu nhập nào đó mà quên không tiến hành
thực thi xử lý thứ nhất, chỉ tiến hành các xử lý thứ hai và thứ ba thì sẽ dẫn tới kết quả
không chính xác. Nếu đơn vị thương mại đó áp dụng cách thức hạch toán giá vốn bằng
phương pháp nhập trước xuất trước thì đây là một thủ tục phức tạp, việc phân rã cũng
như trình bày sẽ khó khăn hơn.

3.5. Hướng dẫn xây dựng lưu đồ dòng dữ liệu

Phương pháp phân tích và thiết kế một lưu đồ dòng dữ liệu cho một hệ thống thông tin
(Đinh Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003) được thực
hiện theo phương pháp phân tích đi từ tổng quát đến chi tiết và được thực hiện qua nhiều
cấp phân rã, bắt đầu từ lưu đồ dòng dữ liệu cấp ngữ cảnh hay còn gọi là cấp 0 như đã
đề cập ở trên. Tuy nhiên để rõ hơn, chúng ta có thẻ thực hiện theo các bước gợi ý như
sau:
- Bước 1: Phân chia toàn bộ hệ thống thành các lĩnh vực nhỏ hơn. Việc phân
chia hệ thống thành các lĩnh vực nhỏ hơn, cô lập từng thành phần một cách tương đối
để nghiên cứu nhằm giảm bớt tính phức tạp, nhất là đối với thành phần xử lý trong các
hệ thống thông tin lớn.
- Bước 2: Xây dựng lưu đồ dòng dữ liệu cho mỗi lĩnh vực được phân chia từ
bước 1. Thông thường khi hệ thống lớn và phức tạp, sau khi đã được phân hoạch thành
các lĩnh vực nhỏ hơn thì mỗi lĩnh vực như vậy thường do một nhóm hoặc một người
phụ trách xây dựng mô hình thực thể - quan hệ và lưu đồ dòng dữ liệu.
- Bước 3: Kết hợp tất cả các lưu đồ dòng dữ liệu từ tất cả các lĩnh vực.
Sau khi xây dựng lưu đồ dòng dữ liệu cho tất cả các lĩnh vực cần phải kết hợp để thấy
được mối liên quan giữa các xử lý. Những ô xử lý trùng tên cần phải được xem xét vì
có thể việc phân hoạch thành các lĩnh vực chưa hợp lý, hoặc việc định danh các ô xử lý
như vậy chưa phù hợp. Thông thường trong một hệ thống lớn các kết quả xử lý của lĩnh
vực này lại là đầu vào của lĩnh vực kia và đối với hệ thống thông tin cũng vậy. Dữ liệu
ra của ô xử lý trong phân hệ này lại là dữ liệu vào của một ô xử lý nào đó trong lĩnh vực
kia.
Chẳng hạn, các dữ liệu ra như hoá đơn bán hàng trong phân hệ hàng hoá, hoá đơn bán
Trang 63
vật tư trong phân hệ vật tư, hoá đơn bán nguyên liệu trong phân hệ nguyên liệu, cùng
các phiếu thu tiền mặt, thu ngân hàng là đầu vào của xử lý “xác định nợ phải trả của
người mua” trong phân hệ công nợ. Hay các dữ liệu ra như phiếu nhập hàng trong phân
hệ hàng hoá, phiếu nhập mua vật tư trong phân hệ vật tư, phiếu nhập mua nguyên liệu
trong phân hệ nguyên liệu, cùng các phiếu chi tiền mặt, chi ngân hàng là đầu vào của
xử lý “xác định nợ phải trả cho người bán” trong phân hệ công nợ.

3.6. Hướng dẫn đặc tả ô xử lý của DFD

Để làm rõ nội dung của mỗi ô xử lý đòi hỏi phải có sự giải thích, hướng dẫn hay còn
gọi là đặc tả ô xử lý. Ở những cấp thấp như cấp 0 hoặc cấp 1 không nên đi sâu vào các
trường hợp đặc biệt, chi tiết nên trình bày từ cấp thứ hai trở đi. Việc đặc tả các ô xử lý
không chỉ để cho các thành phần nhận thức về thành phần xử lý mà còn giúp cho người
thiết kế cũng như người lập trình triển khai trong các bước tiếp theo (Đinh Khắc Quyền,
Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003).
Do đó, việc đặc tả nội dung ô xử lý là cần thiết để hiểu rõ bản chất các ô xử lý. Nội dung
của bước này là phải trình bày cụ thể mỗi ô xử lý như vậy làm cái gì? Quá trình xử lý
trong thế giới thực phức tạp thì ô xử lý tương ứng với chúng cũng phức tạp. Có hiểu rõ
bản chất của ô xử lý mới có thể thực hiện các bước thiết kế cũng như lập trình tiếp theo
trong quá trình xây dựng một hệ thống thông tin.
Thông thường khi trình bày đặc tả các ô xử lý người ta phải kết hợp các công cụ sau:
văn bản chặt chẽ, bảng quyết định, cây quyết định và lưu đồ giải thuật.
Điều quan trọng trong việc đặc tả các ô xử lý là phải nêu được trình tự logic các thao
tác, tính chất mỗi thao tác: tuần tự, lựa chọn hoặc lặp. Mỗi thao tác có thể liên quan tới
các quy tắc quản lý, những điều kiện để phát sinh kết quả, những ứng xử mà có khi phải
gọi thực thi một ô xử lý khác, cùng kết quả tạo ra sau khi xử lý.
Chẳng hạn việc đặc tả nội dung xử lý “lập hóa đơn bán hàng” có thể trình bày theo các
bước sau:
- Phát sinh tự động số thứ tự hóa đơn.
- Cập nhật loại hóa đơn (thường có loại mặc nhiên phổ biến).
- Ghi ngày phát hành hóa đơn (giá trị mặc nhiên là ngày hiện tại).
- Cập nhật mã số của khách hàng.
 Nếu khách hàng đã có trong cơ sở dữ liệu thì tìm kiếm từ thông tin (họ tên
hay địa chỉ) rồi gán mã số vào.
 Nếu khách hàng chưa có trong cơ sở dữ liệu thì gọi xử lý “bổ sung khách
hàng” rồi gán mã số mới vào.
- Nạp tỷ lệ thuế giá trị gia tăng (thuế suất).
- Với mỗi mặt hàng:
 Nạp mã hàng. Nếu mặt hàng đã có trong cơ sở dữ liệu thì tìm kiếm từ thông
tin (tên hàng cùng đơn vị tính) rồi gán mã số vào (chọn mã số tương ứng).
 Kiểm tra số lượng tồn kho của mặt hàng vừa nạp.
 Nạp số lượng bán. Nếu số lượng bán > số lượng tồn kho thì từ chối (nạp lại).
 Nạp đơn giá bán.
- Tính số tiền bán mặt hàng đó.
- Tính tổng số tiền bán hàng.
- Tính thuế giá trị gia tăng.
- Tính tổng số tiền bán hàng + thuế giá trị gia tăng.
Trang 64
- Đổi tổng số tiền ra chuỗi.
- In hóa đơn.
Trong hệ thống thông tin quản lý việc mua bán hàng, xử lý “lập hóa đơn bán hàng” có
chức năng ghi nhận thông tin về các hóa đơn. Kết thúc việc lập một hóa đơn các giá trị
của các thuộc tính vừa thực hiện được lưu trong hai quan hệ HOADON và
CHITIET_HD. Cụ thể các giá trị của các thuộc tính (số thứ tự hóa đơn, ngày bán, thuế
suất bán, ngày thanh toán, mã khách hàng) sẽ được đưa vào quan hệ HOADON, còn
các giá trị của các thuộc tính (số thứ tự hóa đơn, mã hàng, số lượng bán, đơn giá bán)
được đưa vào quan hệ CHITIET_HD. Việc đặc tả ô xử lý cùng các ứng xử với mỗi
thành phần trình bày như trên là cơ sở cho việc triển khai lập trình phát triển hệ thống.

3.7. Hướng dẫn phân loại các xử lý

Khi phân loại các xử lý, thường người ta phân loại theo tính chất, chức năng và có thể
kết hợp nhiều tiêu chí. Dưới đây là một gợi ý phân loại các xử lý trong một hệ thống
thương mại nói chung (Đinh Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần
Thơ, 2003).
a. Phân loại theo tính chất
Dựa theo tính chất, ta có thể chia các xử lý làm 2 loại: loại cập nhật dữ liệu và loại xử
lý biến đổi dữ liệu. Ví dụ với bài toán quản lý mua bán hàng đã trình bày ở trên.
Loại cập nhật dữ liệu có thể:
- Lập phiếu nhập kho.
- Lập hoá đơn bán hàng.
- Lập phiếu chi.
- Lập phiếu thu.
- Cập nhật khách hàng.
- Cập nhật loại hàng.
- Cập nhật mặt hàng.
Loại xử lý biến đổi dữ liệu có thể:
- Lập báo cáo nhập - xuất - tồn kho theo tháng.
- Lập báo cáo tình hình kinh doanh bán hàng theo tháng.
- Lập thẻ kho theo từng mặt hàng - từng kho theo tháng.
- Lập bảng kê chứng từ hàng hoá mua vào theo tháng.
- Lập bảng kê chứng từ hoá đơn hàng hoá bán ra theo tháng.
- Lập báo cáo công nợ phải trả cho người bán theo tháng.
- Lập báo cáo công nợ phải thu của khách hàng theo tháng.
- Lập báo cáo tình hình sử dụng hoá đơn theo tháng.
b. Phân loại theo chức năng
Khi phân hoạch hệ thống thành các hệ thống con thì các chức năng xử lý cũng có thể
được phân loại theo lĩnh vực của từng phân hệ. Thí dụ một hệ thống kế toán có thể phân
loại các xử lý theo các phân hệ như:
- Tiền tệ (lập các phiếu thu, phiếu chi, phiếu chuyển khoản, báo cáo tồn quỹ)
- Hàng hoá (như đã trình bày trên)
- Vật tư (tương tự như phần hàng hoá)
- Nguyên liệu (tương tự như phần hàng hoá)
Trang 65
- Sản phẩm (tương tự như phần hàng hoá)
- Công cụ - dụng cụ (tương tự như phần hàng hoá)
- Công nợ (các khoản phải tthu, các khoản phải trả, tạm ứng…)
- Thuế giá trị gia tăng (lập bảng kê hàng hoá dịch vụ mua vào, bán ra, kê khai
thuế).
- Tổng hợp (lập các phiếu kết chuyển, tổng hợp, lập các báo cáo tài chính…).
- Lập các sổ sách báo cáo (các sổ nhật ký chung, nhật ký mua hàng, bán hàng, thu
tiền mặt, chi tiền mặt, tiền gửi, tiền vay, sổ cái, chứng từ ghi sổ…)
c. Phân loại kết hợp nhiều tiêu chí
Người ta có thể kết hợp nhiều tiêu chí để phân loại các xử lý. Thí dụ một hệ thống kế
toán gồm các xử lý được phân loại như sau:
Nạp dữ liệu: Các xử lý nạp dữ liệu thông qua việc lập các chứng từ như:
 Phân hệ tiền tệ:
- Phiếu Thu tiền mặt.
- Phiếu Chi tiền mặt (bình thường)
- Phiếu chi mua hàng.
- Phiếu chi vận chuyển nguyên liệu chính.
- Phiếu chi vận chuyển nguyên liệu phụ.
- Phiếu Thu ngân hàng.
- Phiếu Chi ngân hàng.
 Phân hệ hàng hóa.
- Phiếu nhập hàng mua.
- Hoá đơn bán hàng
- Phân hệ nguyên liệu.
- Hóa đơn bán nguyên liệu.
- Phiếu nhập mua nguyên liệu.
- Phiếu chuyển kho nguyên liệu.
 Phân hệ sản phẩm.
- Hóa đơn bán sản phẩm.
- Hạch toán giá thành sản phẩm.
Báo cáo tháng
 Phân hệ tiền tệ.
- Báo cáo tồn các loại quỹ tiền VNĐ.
- Báo cáo tồn các loại quỹ tiền USD.
- Báo cáo tổng hợp phí.
 Phân hệ hàng hoá
- Hạch toán giá vốn hàng bán (dùng để kết chuyển).
- Báo cáo nhập xuất tồn hàng hóa.
- Tình hình kinh doanh bán hàng.
- Thẻ kho hàng hóa.
 Phân hệ nguyên liệu
- Hạch toán giá vốn bán nguyên liệu(dùng để kết chuyển).
- Báo cáo nhập xuất tồn nguyên liệu.
- Tình hình kinh doanh bán nguyên liệu.
- Thẻ kho nguyên liệu.
 Phân hệ sản phẩm

Trang 66
- Hạch toán giá vốn bán sản phẩm (dùng để kết chuyển).
- Báo cáo nhập xuất tồn sản phẩm.
- Tình hình kinh doanh bán sản phẩm.
- Thẻ kho sản phẩm.
 Phân hệ công nợ.
- Tổng hợp các loại công nợ: nợ tạm ứng, phải thu, phải trả, thanh toán với
người bán, thanh toán với người mua theo từng tháng.
- Lập biểu chi tiết và tổng hợp cho các loại công nợ.
 Phân tích nợ quá hạn.
 Phân tích thuế giá trị gia tăng.
- Tổng hợp và in biểu thuế giá trị gia tăng đầu vào theo từng tháng.
- Tổng hợp và in biểu thuế giá trị gia tăng đầu ra theo từng tháng.
 Phân hệ tổng hợp.
- Cập nhật và lưu trử các chứng từ kế toán: Phiếu kế toán – kết chuyển.
- Lập sổ chi tiết và sổ cái các tài khoản.
- Lập bảng cân đối tài khoản.
- Lập bảng cân đối kế toán.
- Lập bảng kết quả kinh doanh.
- Lập bảng lưu chuyển tiền tệ.
- Lập các báo cáo quí.
- Lập bảng cân đối tài khoản.
- Lập bảng cân đối kế toán.
- Lập bảng kết quả kinh doanh.
- Lập bảng lưu chuyển tiền tệ.
- Lập các báo cáo năm.
- Lập bảng cân đối tài khoản.
- Lập bảng cân đối kế toán.
- Lập bảng kết quả kinh doanh.
- Lập bảng lưu chuyển tiền tệ.
Mỗi chức năng xử lý trên là một thủ tục nó thường phối hợp nhiều thao tác mà nếu đặc
tả chi tiết thêm thì quá phức tạp. Sự kết hợp giữa lưu đồ dòng dữ liệu và mô hình thực
thể - quan hệ là cơ sở cho người thiết kế và sau này là người lập trình có thể triển khai
tiếp trong quá trình xây dựng một hệ thống thông tin. Tuy nhiên khi trình bày lưu đồ
dòng dữ liệu và mô hình thực thể - quan hệ và sự liên quan giữa chúng, ta chưa đề cập
đến việc khi nào thì khởi tạo một xử lý, ai thực hiện và thực hiện trong không gian, thời
gian nào. Hơn nữa việc chi tiết hoá các ô xử lý thành các thủ tục chức năng để có thể
chuyển cho bộ phận thiết kế và lập trình có thể triển khai chưa được đề cập ở đây.

4. BÀI TẬP XÂY DỰNG LƯU ĐỒ DÒNG DỮ LIỆU

Nội dung chính được trình bày trong phần này giúp sinh viên hiểu rõ hơn về lưu đồ
dòng dữ liệu. cũng như giúp sinh viên tập rèn luyện xây dựng một lưu đồ dòng dữ liệu
dựa theo đặc tả của một hệ thống thông tin.

4.1. Xác định yêu cầu

Quá trình xây dựng một lưu đồ dòng dữ liệu được thực hiện dựa trên đặc tả của hệ thống
thông tin mua bán hàng đã nêu trong chương 2. Theo đó, các nghiệp vụ chức năng của
Trang 67
hệ thống mua bán hàng được tóm tắt qua sơ đồ câp phân cấp bên dưới (hình 17). Yêu
cầu được đặt ra cho bài tập này là cần xây dựng lưu đồ dòng dữ liệu trong phạm vi đặc
tả của hệ thống.

HỆ THỐNG MUA BÁN HANG HÓA

BỘ PHẬN ĐIỀU HÀNH QUẢN LÝ

Cập nhật dữ liệu danh mục: bộ phận, chức vụ, nhân viên

Quản lý nghiệp vụ: theo dõi đơn giá nhập hàng, cập nhật giá bán

Quản lý kinh doanh: thẻ kho, tồn kho, doanh số nhập hàng,
doanh số bán, lợi nhuận,

Quản lý thu chi

Quản lý người dùng, quyền và phân quyền người dùng

BỘ PHẬN NHẬP HÀNG

Quản lý dữ liệu danh mục: mặt hàng, loại hàng, nhà phân phối

Quản lý nghiệp vụ: nhập hàng và chi tiền

BỘ PHẬN BÁN HÀNG

Quản lý doanh số bán theo ca

Quản lý bán hàng

Hình 17. Sơ đồ nghiệp vụ chức năng của hệ thống mua bán hàng

4.2. Thiết kế DFD cấp ngữ cảnh

Lưu đồ dòng dữ liệu cấp ngữ cảnh (cấp 0) được xây dựng trên cơ sở xem toàn bộ hoạt
động của hệ thống chỉ là một quá trình xử lý, tương ứng với một ô xử lý duy nhất trên
mô hình. Lúc này, nguồn là các đối tượng bên trong hay bên ngoài có vai trò cung cấp
dữ liệu đầu vào khởi tạo các quá trình xử lý của hệ thống, đích là các đối tượng bên
trong hay bên ngoài mà hệ thống phải gửi các kết quả của quá trình xử lý.
Theo đặc tả của hệ thống thông tin quản lý mua bán hàng nói trên, các đối tượng sau
vừa là nguồn vừa là đích: Nhà cung cấp, Khách hàng, Bộ phận nhập hàng (hay nhân
viên nhập hàng), Bộ phận bán hàng (hay nhân viên bán hàng) và Bộ phận điều hành
(hay nhân viên điều hành kinh doanh). Theo đó, DFD cấp ngữ cảnh được xây dựng như
bên dưới (hình 18).
Trang 68
PHIEU CHI
NHA CUNG
CHUNG TU HOA DON MUA HANG
CAP

PHIEU NHAP HANG

BAO CAO CHI TIEN HANG THANG


THONG TIN MUA HANG BO PHAN
KHACH NHAP HANG
HANG

BAO CAO DOANH SO NHAP HANG THEO THANG

HOA DON BAN HANG

1 NHA PHAN PHOI

THONG TIN KHACH HANG MAT HANG


LOAI HANG
NHAN VIEN
HE THONG MUA BAN HANG HOA
CHUC VU

BAO CAO DOANH SO THEO CA BO PHAN

DON GIA BAN

BO PHAN BAO CAO TONG KET CHI TIEN


NHAN VIEN BAN HANG
BAN HANG

PHIEU THU TIEN NHAN VIEN

BAO CAO LOI NHUAN TRUOC CHI PHI

BANG KE DON GIA NHAP HANG


BO PHAN DIEU HANH
BAO CAO DOANH SO NHAP HANG

BAO CAO DOANH SO BAN

BAO CAO TON KHO

THE KHO

Hình 18. DFD cấp ngữ cảnh (cấp 0) của hệ thống mua bán hàng

4.3. Thiết kế DFD cấp 1

DFD cấp 1 được xây dựng dựa theo phương pháp phân rã từ DFD cấp 0 theo các chức
năng xử lý nghiệp vụ của các bộ phận trong hệ thống quản lý mua bán hàng nói trên.
Khi đó ô xử lý tổng quát của DFD cấp 0 có thể phân rã ra ít nhất thành ba ô xử lý sau:
“Quản lý nhập hàng”, “Quản lý bán hàng” và “Quản lý kinh doanh” (hình 19).

Trang 69
BAO CAO DOANH SO NHAP HANG THEO THANG

BAO CAO CHI TIEN THEO THANG BO PHAN


NHAP
PHIEU NHAP HANG HANG

NHA CHUNG TU HOA DON MUA HANG


CUNG
THONG TIN MUA HANG CAP PHIEU CHI

KHACH THONG TIN KHACH HANG


HANG
HOA DON BAN HANG

1
LOAI HANG
MAT HANG
MAT HANG DA LUU
MAT HANG
NHAN VIEN NHAP HANG QUAN LY NHAP HANG
MAT HANG BAN NHA PHAN PHOI
PHIEU CHI DA LUU

2 NHAN VIEN
+
THONG TIN HANG TON KHO
NHAN VIEN LAP HD
PHIEU NHAP HANG DA LAP

BAO CAO DOANH SO THEO CA QUAN LY BAN HANG

NHAN VIEN BAN HANG PHIEU NHAP


+ DM PHIEU NHAP
PHIEU CHI
NHAN VIEN DA LUU

DON GIA BAN

BO PHAN
BAN HANG DON GIA BAN DON GIA BAN DA LUU
HOA DON DA LUU DM PHIEU NHAP HANG
3 DM PHIEU CHI

BAO CAO LOI NHUAN TRUOC CHI PHI

DM HOA DON DA BAN BAO CAO DOANH SO NHAP HANG


BAO CAO DOANH SO BAN
QUAN LY KINH DOANH THE KHO
BAO CAO TON KHO
HOA DON
PHIEU THU DOANH SO THEO CA

BANG KE DON GIA NHAP HANG


+

BAO CAO TONG KET CHI TIEN

NHAN VIEN

BO PHAN BO PHAN DIEU HANH


DON GIA BAN

CHUC VU

Hình 19. DFD cấp 1 của hệ thống mua bán hàng

4.4. Thiết kế DFD cấp 2

DFD cấp 2 được xây dựng dựa theo phương pháp phân rã các ô xử lý của DFD cấp 1
theo các chức năng nghiệp vụ của mỗi bộ phận trong hệ thống.
Khi phân rã ô xử lý “Quản lý nhập hàng”, ta được DFD cấp 2 thứ nhất gồm các ô xử
lý sau: cập nhật loại hàng, cập nhật mặt hàng, cập nhật nhà cung cấp, lập phiếu nhập
hàng, lập phiếu chi tiền nhập hàng, lập báo cáo chi tiền nhập hàng theo tháng và lập báo
cáo tình hình nhập hàng (hình 20). Khi đó, các chứng từ, biểu mẫu được bộ phận nhập
hàng sử dụng gồm có:
- Mẫu 1: Phiếu nhập hàng
- Mẫu 2: Phiếu chi tiền nhập hàng cho nhà cung cấp
- Mẫu 3: Báo cáo chi tiền nhập hàng tháng (của bộ phận nhập hàng)
- Mẫu 4: Báo cáo doanh số nhập hàng theo tháng

Trang 70
CHUNG TU HOA DON MUA HANG
NHA CUNG CAP

1
PHIEU CHI CAP NHAT LOAI HANG
LOAI HANG LOAI HANG DA LUU LOAI HANG
5

LAP PHIEU CHI DM LOAI HANG


TIEN PHIEU NHAP CHII TIEN

LAP PHIEU NHAP PHIEU NHAP HANG


PHIEU NHAP HANG DA LAP BO PHAN
HANG
PHIEU NHAP NHAP HANG
NHA PHAN PHOI

NHAN VIEN NHAP HANG

NPP NHAP HANG


NHAN VIEN 3
DS PHIEU NHAP MAT HANG NHAP CAP NHAT
NPP DA LUU
NHA PP
PHIEU CHI DA LUU NHA PP
NV LAP BC NHAP HANG

MAT HANG
NPP DA NHAP HANG MAT HANG 2

CAP NHAT
7
MAT HANG
LAP BAO MAT HANG DA LUU
CAO NHAP
MAT HANG BAO CAO
HANG

BAO CAO DOANH SO NHAP HANG THEO THANG


6
LAP BAO NPP DA NHAP HANG
DM PHIEU NHAP CAO CHI
PHIEU CHI
TIEN
BAO CAO CHI TIEN THEO THANG

Hình 20. DFD cấp 2, phân rã từ ô xử lý “Quản lý nhập hàng”

Khi phân rã ô xử lý “Quản lý bán hàng” của DFD cấp 1, ta được DFD cấp 2 thứ hai
gồm các ô xử lý sau: tra cứu hàng tồn kho, lập hóa đơn bán hàng và lập báo cáo doanh
số theo ca (hình 21). Khi đó, các chứng từ, biểu mẫu được bộ phận bán hàng sử dụng
gồm có:
- Mẫu 5: Hóa đơn bán hàng
- Mẫu 6: Báo cáo doanh số bán theo ca

THONG TIN MUA HANG


2
BO PHAN
NHAN VIEN BAN HANG
THONG TIN KHACH HANG BAN HANG
LAP HOA DON BAN BAO CAO DOANH SO THEO CA
HOA DON BAN HANG MAT HANG BAN

MAT HANG THONG TIN HANG TON KHO

KHACH 3 1
NHAN VIEN LAP HD
HANG LAP BC THU
DON GIA BAN HOA DON DA LUU TRA CUU HANG
TIEN THEO CA TON KHO

NHAN VIEN

DON GIA BAN DS HOA DON BAN THEO CA

HOA DON DM PHIEU NHAP


DM HOA DON

PHIEU NHAP

Hình 21. DFD cấp 2, phân rã từ ô xử lý “Quản lý bán hàng”

Khi phân rã ô xử lý “Quản lý kinh doanh” của DFD cấp 1, ta được DFD cấp 2 thứ ba

Trang 71
gồm các ô xử lý sau: cập nhật bộ phận, cập nhật chức vụ, cập nhật nhân viên, cập nhật
đơn giá bán, lập bảng kê đơn giá nhập, lập phiếu thu doanh số bán theo ca, lập thẻ kho,
lập báo cáo tồn kho, lập báo cáo doanh số nhập hàng, lập báo cáo doanh số bán, lập báo
cáo lợi nhuận trước chi phí, lập báo cáo tổng kết chi tiền nhập hàng (hình 22). Khi đó,
các chứng từ, biểu mẫu được bộ phận kinh doanh sử dụng gồm có:
- Mẫu 7: Bảng kê đơn giá nhập các mặt hàng
- Mẫu 8: Phiếu thu doanh số theo ca
- Mẫu 9: Thẻ kho
- Mẫu 10: Báo cáo tồn kho
- Mẫu 11: Báo cáo doanh số nhập hàng
- Mẫu 12: Báo cáo doanh số bán hàng
- Mẫu 13: Báo cáo lợi nhuận trước chi phí
- Mẫu 14: Báo cáo tổng kết chi tiền nhập hàng

1 BO PHAN

CAP NHAT 2 CHUC VU


BO PHAN
CAP NHAT 3 NHAN VIEN
CHUC VU
CAP NHAT DON GIA BAN
4
NHAN VIEN
BO PHAN DA LUU CAP NHAT
CHUC VU DA LUU DON GIA
BAN
NHAN VIEN DA LUU
BO PHAN
CHUC VU DON GIA BAN DA LUU 5
LAP BANG
NHAN VIEN
KE DON GIA
DON GIA BAN NHAP

DM PHIEU NHAP HANG

BANG KE DON GIA NHAP HANG


9 DM PHIEU NHAP HANG PHIEU NHAP
LAP BC
DOANH SO
NHAP BAO CAO DOANH SO NHAP HANG

12
LAP BC LOI
NHUAN BAO CAO LOI NHUAN TRUOC CHI PHI
DOANH SO NHAP BO PHAN DIEU HANH
TRUOC CHI
8 PHI
LAP BC DOANH SO BAN
DOANH SO
BAN BAO CAO DOANH SO BAN

10 DM PHIEU NHAP LAP THE KHO

LAP THE KHO DM PHIEU NHAP HANG


DM HOA DON DA BAN
THE KHO
DM HOA DON LAP THE KHO
11

Flow_240 LAP BC TON


HOA DON
KHO

6 BAO CAO TON KHO

LAP PHIEU
DS HOA DON BAN THEO CA THU TIEN NV PHIEU THU DOANH SO THEO CA
13
DM PHIEU CHI
PHIEU CHI LAP BC CHI
TIEN BAO CAO TONG KET CHI TIEN

Hình 22. DFD cấp 2, phân rả từ ô xử lý “Quản lý kinh doanh”

Lưu đồ dòng dữ liệu cấp 2 (hình 20, 21 và 22) được xem như lưu đồ dòng dữ liệu cấp
chi tiết và ta có thể dừng phân rã vì lưu đồ dòng dữ liệu cấp 2 thỏa hai tiêu chuẩn dừng
phân rã ở trên.
Trang 72
5. THIẾT KẾ MODULE XỬ LÝ

Các công việc chính của thiết kế module xử lý gồm có:


- Xác định các module xử lý
- Phân cấp và liên kết các module xử lý
- Thiết lập các module lập trình
- Thiết lập sơ đồ tổng thể các module lập trình

5.1. Xác định các module xử lý

Module xử lý là thành phần cơ bản của xử lý bên trong. Trong quá trình thiết kế màn
hình giao diện, người ta có thể xác định được các module xử lý vì mỗi module xử lý
gắn liền với một chức năng của hệ thống và chức năng này gắn liền với một giao diện
nào đó. Ví dụ tương ứng với màn hình đăng nhập thì hệ thống sẽ có chức năng xử lý
đăng nhập.
Hơn nữa, ở giai đoạn thiết kế xử lý mức tổ chức chúng ta đã xác định các thủ tục chức
năng, qua đó người sử dụng sẽ tác động đến hệ thống thông tin. Trong giai đoạn thiết
kế xử lý mức logic, các module xử lý được xác định từ các thủ tục chức năng, mỗi
module xử lý tương ứng vói một thủ tục chức năng.

Mô hình trong

Thủ tục chức


Giao diện năng
Module xử lý
Đầu vào 1
Module xử lý
Đầu ra 2
Module xử lý
3

Hình 23. Mô hình minh họa một module xử lý bên trong đơn giản
Việc xác định các module xử lý bao gồm:
1. Xác định chức năng bên trong một thủ tục chức năng, việc xác định này dựa vào các
tiêu chuẩn:
- Có sự thống nhất của hành động: thêm mới, chỉnh sửa, hoặc tra cứu.
- Thực hiện với một loại dữ liệu duy nhất
- Tối thiểu hóa các dữ liệu xử lý (Tiêu chuẩn này nhằm tránh việc thiết kế giao
diện quá lớn).
2. Xây dựng module xử lý, mỗi module xử lý sẽ được xây dựng để thực hiện một chức
năng của hệ thống, dựa trên giao diện đã được thiết lập.
3. Đặc tả module xử lý, mỗi module xử lý đều được đặc tả :
- Đầu vào gồm các dữ liệu nhập
Trang 73
- Đầu ra gồm các dữ liệu xuất
- Thuật toán xử lý
Ví dụ, đối với công việc quản lý kho, để thực hiện chức năng xử lý xác định yêu cầu
xuất kho, cần bốn thủ tục chức năng sau:
- Tra cứu tồn kho
- Tra cứu danh mục hàng hóa
- Cập nhật các yêu cầu
- Hợp thức hóa yêu cầu
Do đó, chúng ta thiết kế bốn module xử lý tương ứng là

Tra cứu tồn kho

Tra cứu danh mục hàng hóa

Cập nhật các yêu cầu

Hợp thức hóa yêu cầu

5.2. Phân cấp và liên kết các module xử lý

Các module xử lý được sắp xếp theo trình tự các chức năng trong thủ tục chức năng
tương ứng, chúng tạo thành sơ đồ phân cấp các module xử lý. Để xây dựng sơ đồ phân
cấp các module xử lý chúng ta cần:
- Xác định các module xử lý phân cấp theo chức năng của các thủ tục chức năng.
- Phân hoạch các module xử lý theo từng chức năng cụ thể.
- Sắp xếp phân cấp theo hình cây các module xử lý dựa trên mô tả hành động của thủ
tục chức năng. Module xử lý cấp 0 mang tên của thủ tục chức năng.
Ví dụ, thủ tục chức năng “xác định đặt hàng” được thể hiện bằng sơ đồ phân cấp dưới
đây. Theo đó, gốc là thủ tục chức năng và các nút còn lại là các module xử lý (hình 24).

Xác định đặt


hàng

Tra cứu nhà Tra cứu Tra cứu kho Xây dựng
cung cấp đặt hàng
đặt hàng

Các đặt hàng Các đặt hàng chưa Cập nhật Hợp thức hóa
hợp thức hóa hợp thức hóa đặt hàng đặt hàng

Hình 24. Sơ đồ phân cấp cho thủ tục chức năng “xác định đặt hàng”

Trang 74
5.3. Thiết lập các module lập trình

Thiết lập các module lập trình nhằm đề cập đến việc lập trình sau này cho các module
xử lý. Chúng ta cần xem xét các dữ liệu được thao tác và khả năng của máy tính để phân
rã các module xử lý thành các đơn vị lập trình. Đồng thời chúng ta cũng ấn định những
quy tắc và tiêu chuẩn viết chương trình cho máy tính. Để thiết lập các module lập trình
chúng ta cần:
- Xây dựng các đơn vị lập trình nhỏ, độc lập để dễ dàng kiểm tra.
- Phân chia module lập trình ra đủ nhỏ để có thể sử dụng trong nhiều thủ tục
chức năng khác nhau. Ví dụ, module xử lý cập nhật được chia thành các module thêm,
sửa, xóa, tra cứu.
- Xem xét đến khả năng trợ giúp cho việc lập trình mà hệ thống thông tin hoặc
công cụ lập trình có thể cung cấp.
- Tích hợp các khả năng xử lý mà máy tính có thể cung cấp.
- Xem xét đến các ràng buộc về mặt xử lý
Để tách một module xử lý thành các module lập trình người ta thường trả lời câu hỏi:
xử lý như thế nào? Nếu câu trả lời đơn giản thì module lập trình được xác lập, ngược
lại nếu câu trả lời gắn với nhiều quy tắc quản lý thì module xử lý sẽ được phân rã tiếp.

5.4. Thiết lập sơ đồ tổng thể các module lập trình

Các sơ đồ phân cấp của các thủ tục chức năng được liên kết lại với nhau để tạo thành
sơ đồ tổng thể các module lập trình duy nhất mô tả của hoạt động của tổ chức.
Ví dụ, hoạt động của một xí nghiệp được trình bày bằng sơ đồ tổng thể các module lập
trình như hình 25.
Xí nghiệp

Kế toán Kho Nhân sự

Nhà cung cấp Danh Đặt hàng Kho hàng


mục hàng
hóa

Hình 25. Sơ đồ tổng thể các module lập trình cho hoạt động của xí nghiệp

Ví dụ, mô hình tổng thể các module chức năng của hệ thống quản lý mua bán hàng (đặc
tả trong chương 2) được trình bày như hình 26.

Trang 75
HỆ THỐNG QUẢN LÝ MUA BÁN HÀNG

QUẢN TRỊ HỆ THỐNG QUẢN LÝ BÁN HÀNG QUẢN LÝ NHẬP HÀNG QUẢN LÝ ĐIỀU HÀNH

ĐĂNG NHẬP/ĐĂNG
LẬP HÓA ĐƠN LẬP PHIẾU NHẬP HÀNG LẬP BK ĐƠN GIÁ NHẬP
XUẤT

QUẢN TRỊ LẬP PHIẾU CHI TIÊN CẬP NHẬT ĐƠN GIÁ BÁN
NGƯỜI DÙNG C. NHẬT KHÁCH HÀNG

QUẢN TRỊ QUYỀN LẬP BC NHẬP HÀNG LẬP PHIẾU THU DS CA


NGƯỜI DÙNG
TRA CỨU HÀNG TỒN
LẬP BC CHI TIÊN LẬP BÁO CÁO CHI TIỀN

LẬP BCDS THEO CA CẬP NHẬT MẶT HÀNG LẬP THẺ KHO

CẬP NHẬT LOẠI HÀNG LẬP BÁO CÁO TỒN KHO

CẬP NHẬT NHÀ PP LẬP BCDS NHẬP HÀNG

LẬP BCDS BÁN HÀNG

LẬP BC LỢI NHUẬN

CẬP NHẬT DM: NV, CV, BP

Hình 26. Mô hình tổng thể các module chức năng của hệ thống mua bán hàng

6. CÂU HỎI ÔN TẬP VÀ BÀI TẬP

6.1. Câu hỏi ôn tập

1. Trình bày tóm tắt các phương pháp tiếp cận thành phần xử lý?
2. Nêu các khái niệm: ô xử lý, dữ liệu vào/dữ liệu ra, kho dữ liệu trên DFD. Cho ví
dụ minh họa các khái niệm này?
3. Nêu khái niệm: nguồn/đích trên DFD và cho ví dụ? Làm thế nào để xác định
được tất cả nguồn/đích cho một DFD cấp ngữ cảnh?
4. Khi vẽ DFD cấp ngữ cảnh, chúng ta không vẽ khái niệm nào?
5. Trình bày luật vẽ DFD và cho ví dụ minh họa?
6. Khi nào thì dừng phân rã DFD?
7. Nêu các bước xây dựng một DFD? Trình bày các phương pháp/công cụ để đặc
tả ô xử lý của DFD?

6.2. Bài tập

1. Hãy tìm hiểu về Hệ thống quản lý của Trường Đại học Cần Thơ, từ đó thực hiện
các yêu cầu sau:
a. Xây dựng DFD cấp 0 (cấp ngữ cảnh) cho Hệ thống quản lý.
b. Xây dựng DFD cấp 1 sau khi phân rã DFD cấp 0 dựa theo các phân hệ người
dùng (hệ thống con), ví dụ như người dùng là sinh viên, giảng viên, giáo vụ
khoa,…

Trang 76
2. Từ kết quả xây dựng DFD cấp 1, ta có sẽ ô xử lý “Phân hệ quản lý dành sinh
viên”, hãy phân rã tiếp ô xử lý này đến cấp chi tiết dựa trên các chức năng của
phân hệ quản lý dành sinh viên hiện đang có (sinh viên đang sử dụng). Phân tích
và vẽ mô hình tổng thể các module chức năng của phân hệ quản lý dành sinh
viên.
3. Hãy tìm hiểu các nghiệp vụ của công tác Đoàn thanh niên CSHCM tại Trường
Đại học Cần Thơ, từ đó đề xuất xây dựng một DFD từ cấp 0 đến cấp chi tiết cho
hệ thống quản lý công tác đoàn tại trường Đại học Cần Thơ. Phân tích và vẽ mô
hình tổng thể các module chức năng của hệ thống.
4. Hãy tìm hiểu các nghiệp vụ của công tác quản lý khám và điều trị bệnh ngoại trú
tại một cơ sở y tế, từ đó đề xuất xây dựng một DFD từ cấp 0 đến cấp chi tiết cho
hệ thống thông tin quản lý khám và điều trị bệnh ngoại trú. Phân tích và vẽ mô
hình tổng thể các module chức năng của hệ thống.
5. Hãy tìm hiểu các nghiệp vụ của công tác quản lý các tours du lịch lữ hành, từ đó
đề xuất xây dựng một DFD từ cấp 0 đến cấp chi tiết cho hệ thống thông tin quản
lý các tours du lịch. Phân tích và vẽ mô hình tổng thể các module chức năng của
hệ thống.
6. Hãy tìm hiểu các nghiệp vụ của công tác quản lý cho vay mua nhà dự án của một
ngân hàng, từ đó đề xuất xây dựng một DFD từ cấp 0 đến cấp chi tiết cho hệ
thống thông tin quản lý cho vay mua nhà dự án. Phân tích và vẽ mô hình tổng
thể các module chức năng của hệ thống.

Trang 77
Chương 4. GIỚI THIỆU CÁC KIỂU GIAO DIỆN

1. GIỚI THIỆU

Giao diện người dùng không còn là một yếu tố phụ của phần mềm nói chung và hệ
thống thông tin nói riêng mà đã trở thành một trong những nhân tố quan trọng ảnh
hưởng đến sự thành bại khi hệ thống được triển khai. Chương này sẽ giới thiệu các kiểu
giao diện người dùng trong đó tập trung giới thiệu và phân tích các thành phần của một
giao diện đồ họa người dùng (Graphical User Interface - GUI). Chúng tôi cũng trình
bày các mẫu thiết kế cơ bản cho thành phần nhập liệu cũng như thành phần kết xuất
thông tin của hệ thống.
Nội dung chính của chương gồm có:
- Lịch sử phát triển giao diện người dùng
- Các nguyên tắc thiết kế giao diện người dùng
- Các thành phần của giao diện
- Thiết kế giao diện cho thành phần nhập liệu
- Thiết kế giao diện cho thành phần kết xuất thông tin

2. LỊCH SỬ PHÁT TRIỂN GIAO DIỆN NGƯỜI DÙNG

Khi chúng ta ngồi trước màn hình của một máy tính đang chạy, chúng ta đối diện với
giao diện người dùng (User Interface). Như tên gọi của nó, một giao diện người dùng
là một giao diện cho phép người sử dụng máy tính giao tiếp với máy tính. Kiểu giao
diện người dùng đầu tiên khi máy tính mới được phổ biến là giao diện dòng lệnh nơi
mà chúng ta chỉ có thể giao tiếp với máy tính bằng cách gõ lệnh trên bàn phím (một số
người dùng Unix vẫn còn sử dụng loại giao diện này). Hiện nay nếu chúng ta là người
dùng Mac, Linux và Windows thì chúng ta đã luôn có thể tương tác với máy tính bằng
cách sử dụng chuột, khởi động một chương trình bằng cách nhấp vào biểu tượng của
chương trình đó, và có thể tương tác với nhiều chương trình khác nhau thông qua các
cửa sổ khác nhau trên màn hình bằng cách sử dụng điều khiển đồ họa. Như thế giao
diện người dùng được gọi là giao diện đồ họa người dùng kể từ khi người dùng và máy
tính tương tác với nhau, đưa dữ liệu vào và nhận kết quả xử lý từ một chương trình
thông qua đồ họa và các hình ảnh đại diện của chương trình đó.

2.1. Giao diện dòng lệnh

Giao diện dòng lệnh còn được biết đến với tên gọi khác là command language
interpreter (CLI) là kiểu giao diện mà người dùng sử dụng tập các lệnh (command) để
giao tiếp với máy tính. Dạng giao diện người dùng này xuất hiện lần đầu tiên vào những
năm 1960 và tiếp tục được sử dụng ở các hệ điều hành dùng cho máy tính cá nhân những
năm thập niên 70 và 80 như MS-DOS hay Apple DOS. Sau này khi mà dạng giao diện
đồ họa người dùng được phát triển và sử dụng rộng rãi hơn thì một số hệ thống vẫn còn
dùng giao diện dòng lệnh vì những ưu điểm của nó.
Ưu điểm

Trang 78
- Không yêu cầu quá nhiều tài nguyên để thực thi
- Ngắn gọn và mạnh mẽ
- Gần gũi với người dùng chuyên nghiệp
- Dễ dàng tự động hóa
Nhược điểm
- Không trực quan
- Không gần gũi với người dùng thông thường
- Khó nhớ

Hình 27. Giao diện dòng lệnh của hệ điều hành MS-DOS (trái) và Ubuntu (phải)

2.2. Giao diện đồ họa

Năm 1973 Xerox Palo Alto Research Center giới thiệu kiểu mẫu giao diện đồ họa đầu
tiên nhưng lại bao gồm đầy đủ tất cả các thành phần của một giao diện người dùng hiện
đại.
Năm 1981 Xerox giới thiệu hệ thống “Star” với các tính năng chính như kích hoạt
chương trình qua icon, cửa sổ chương trình, dialog boxes và màn hình hiển thị với độ
phân giải 1024*768.
Năm 1983 Apple giới thiệu thế hệ máy tính LISA với 2 thành phần giao diện mới là
thanh thực đơn (Menu bar) và pull down menus.
Năm 1984 Apple giới thiệu thế hệ máy tính Macintosh có giao diện người dùng hiện
đại.
Hiện nay giao diện đồ họa người dùng phát triển mạnh mẽ và được hầu hết các hệ thống
dùng để người sử dụng tương tác với hệ thống.
Giao diện đồ họa người dùng là giao diện mà người sử dụng tương tác với máy tính
thông qua hình ảnh hơn là thông qua lệnh. Các chương trình, hệ thống có giao diện đồ
họa người dùng sẽ sử dụng cửa sổ (window), trình đơn (menu), hộp thoại (dialog box),
các điều khiển nhập liệu (radio button, checkbox, textbox, …), nút lệnh (button) để
người dùng có thể tương tác (nhập liệu, rút trích kết quả) với hệ thống bằng cách sử
dụng chuột và bàn phím.
Ưu điểm
- Dễ sử dụng và phù hợp với người dùng mới
- Không cần phải học các lệnh khô khan để có thể giao tiếp với hệ thống
Trang 79
- Có thể nhận được các trợ giúp
- Nhìn thấy kết quả ngay khi thao tác
Nhược điểm
- Sử dụng nhiều tài nguyên (bộ nhớ, đĩa cứng, CPU)
- Không có thời gian đáp ứng nhanh như kỳ vọng của những người sử dụng
thành thạo

Hình 28. Màn hình desktop của hệ điều hành MacOS

3. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG

Nhiều người quan niệm rằng thiết kế giao diện người dùng là một công việc đơn giản
và chỉ là một khía cạnh của phát triển hệ thống thông tin nói riêng hay phát triển phần
mềm nói chung. Tuy nhiên trong thực tế thì thiết kế giao diện là một khâu quan trọng
của phát triển phần mềm và quyết định đến sự thành bại khi triển khai ứng dụng một hệ
thống thông tin. Marinilli (Marinilli 2002) cho rằng: “Thiết kế giao diện người dùng
chuyên nghiệp không chỉ là công việc của người thiết kế đồ họa với một vài ý tưởng
thiết kế tốt, không phải cố gắng để cho ra được sản phẩm mà phải nhận thức được rằng
có cả những lý thuyết cơ bản ẩn chứa bên trong.” Khi thiết kế giao diện người dùng cần
quan niệm rằng chúng ta thiết kế để người khác sử dụng vì thế không nhất thiết phải tạo
ra một giao diện thật đẹp, sử dụng các kỹ thuật phức tạp mà chỉ nên hướng đến tính
dùng được và dễ dùng đối với người dùng cuối.

3.1. Các nguyên tắc thiết kế giao diện người dùng

Tính nhất quán. Người sử dụng sẽ mất nhiều thời gian để có thể sử dụng được hệ thống
nếu như các cửa sổ chương trình không được thiết kế một cách nhất quán. Tuy nhiên
đây lại là một trong những tính chất bị vi phạm nhiều nhất bởi vì có nhiều loại nhất
quán. Tính nhất quán về mặt trình tự của các thao tác trong những tình huống tương tự

Trang 80
nhau; nhất quán về mặt thuật ngữ sử dụng; nhất quán về việc sử dụng màu sắc, kiểu
chữ, kích thước font chữ. Ví dụ dưới đây minh họa cho việc vi phạm tính nhất quán khi
thiết kế điều hướng trang.

Hình 29. Điều hướng trang thiết kế không nhất quán


Tính phổ dụng. Hệ thống thông tin đáp ứng nhu cầu sử dụng của nhiều đối tượng người
dùng khác nhau với những sự khác biệt về tuổi tác, quan điểm, kỹ năng sử dụng máy
tính vì thế việc thiết kế giao diện người dùng đáp ứng được yêu cầu của tất cả các nhóm
người dùng khác nhau là điều cần thiết. Có thể sẽ cần bổ sung thêm những chú giải cho
người dùng thông dụng hoặc các chức năng nâng cao cho những người dùng “chuyên
gia”. Ví dụ như chức năng tìm kiếm nâng cao cho người dùng chuyên gia của hệ thống
tìm kiếm Google.

Hình 30. Giao diện dành cho người dùng chuyên gia của trang tìm kiếm Google
Cung cấp thông tin phản hồi. Hệ thống nhất thiết phải cung cấp thông tin phản hồi
ứng với từng tương tác của người dùng. Đối với những thao tác nhỏ và thường xuyên

Trang 81
thì sự phản hồi của hệ thống là “khiêm tốn” trong khi những thao tác lớn thì thông tin
phản hồi cần rõ ràng và tạo được sự chú ý nơi người dùng.
Thông báo khi kết thúc một hành động. Chuỗi các hành động để thực hiện một chức
năng nào đó cần được tổ chức thành nhóm với mở đầu, giữa và kết thúc. Việc hệ thống
cung cấp thông tin xác nhận đã hoàn thành một chức năng nào đó sẽ tạo được sự “yên
tâm” và “hài lòng” từ phía người dùng. Ví dụ đối với các hệ thống bán hàng trực tuyến,
hệ thống cần cung cấp thông tin là người dùng đã thanh toán thành công và chuyển đến
trang thông báo đơn mua hàng đã được đặt thành công.
Ngăn chặn lỗi. Nhiều nhất có thể hệ thống cần được thiết kế sao cho người dùng không
thể mắc lỗi khi sử dụng hệ thống. Ví dụ như các trình đơn sẽ chuyển sang màu xám và
không được kích hoạt khi ở trạng thái không phù hợp hoặc người dùng không thể nhập
ký tự chữ cái vào ô dữ liệu phải nhập ký tự số. Nếu có lỗi xảy ra thì hệ thống cần phát
hiện được lỗi đó đồng thời có những chỉ dẫn đơn giản, hữu hiệu để người dùng khắc
phục lỗi và tiếp tục công việc.
Hỗ trợ hoàn tác. Một cách nhiều nhất có thể được hệ thống cần cung cấp được chức
năng hoàn tác một hành động nào đó. Chức năng này sẽ giảm thiểu sự âu lo nơi người
sử dụng và kích thích người sử dụng khám phá hệ thống. Chức năng này có thể là một
hành động đơn riêng lẻ hoặc một chuỗi các thao tác phức tạp.
Giảm thiểu việc ghi nhớ. Lượng thông tin con người có thể xử lý được trong một
khoảng thời gian ngắn là giới hạn. Như thế yêu cầu các hiển thị phải ở mức đơn giản,
nên hợp nhất các cửa sổ hiển thị lại làm một, việc chuyển đổi qua lại giữa các cửa sổ
cần tránh. Khi thích hợp, nên có trợ giúp “thời gian thực” cho các hành động phức tạp.

3.2. Biểu diễn thông tin trong thiết kế giao diện người dùng

Khi biểu diễn thông tin cần chú ý rằng người sử dụng trong ngữ cảnh cụ thể đang quan
tâm đến giá trị chính xác của thông tin hay mối quan hệ tương đối giữa các thông tin
với nhau. Giá trị của thông tin có thay đổi nhanh chóng hay không (giá trị của một mã
cổ phiếu sẽ thay đổi thời gian thực so với đơn giá bán của một cái ti vi) và sự thay đổi
này có cần thiết phải biểu diễn tức thời hay không? Thông tin hiển thị là thông tin dạng
số hay dạng văn bản text.
Nếu là biểu diễn kiểu số thì nên biểu diễn chính xác giá trị, nên sử dụng cách biểu diễn
không đòi hỏi quá nhiều không gian hiển thị. Khi biểu diễn mối tương quan giữa các
thông tin cần có giải pháp làm nổi bật các giá trị quan trọng, cần giúp cho người sử dụng
nhận ra được mối tương quan giữa các thông tin.
Trong thiết kế giao diện người dùng màu sắc cũng thường được sử dụng như một
phương pháp giúp người sử dụng nhận biết thông tin cần thiết một cách dễ dàng hơn.
Tuy nhiên việc sử dụng màu sắc không phù hợp sẽ gây cho người dùng nhiều khó khăn,
đôi khi là không thể sử dụng hệ thống hơn là việc không nhận thức rõ thông tin hiển thị
(hình 31). Khi sử dụng màu sắc nên: không sử dụng quá nhiều màu sắc và cần phối màu
một cách cân đối (bảng 2); sử dụng sự thay đổi màu để chỉ ra sự thay đổi tình trạng của
hệ thống; sử dụng màu sắc một cách nhất quán.

Trang 82
Bảng 2. Gợi ý cách phối màu nền trước sau

Màu nền sau Các màu nền trước nên dùng Các màu nền trước nên tránh
Trắng Đen, xanh da trời đậm, đỏ Xám nhạt, màu lục lam
Xanh da trời trắng, vàng, màu lục lam Xanh lá cây
Hồng trắng, vàng Xanh lá cây, lục lam
đỏ vàng, trắng lục lam, xanh lá cây
Vàng đỏ, xanh da trời, đen lục lam
Xanh lá cây Đen, đỏ, xanh da trời lục lam, hồng, vàng
Lục lam Xanh da trời, đen, đỏ Xanh lá cây, vàng, trắng
Xám nhạt Đen, xanh da trời đậm, hồng Xanh lá cây, lục lam, vàng
đậm
Xám Vàng, trắng, xanh da trời Xám đậm, lục đậm
Xám đậm lục lam, vàng, xanh lá cây đỏ, xám
Đen trắng, lục, xanh lá cây, vàng lục đậm
Xanh da trời đậm Vàng, trắng, hồng, xanh lá cây Xanh lá cây đậm
Hồng đậm Xanh lá cây, vàng, trắng lục đậm

Hình 31. Giao diện thiết kế lỗi khi sử dụng quá nhiều màu sắc
Trong thiết kế giao diện việc thiết kế thông báo lỗi là hết sức quan trọng vì nó sẽ giúp
Trang 83
người dùng sử dụng hệ thống đúng cách hơn ở lần sau. Thông báo lỗi cần lịch sự, ngắn
gọn và mang tính chất xây dựng (không nên gây cho người dùng cảm giác khó chịu khi
gây ra lỗi). Nền tảng và kinh nghiệm về sử dụng máy tính của người dùng nên là một
trong các căn cứ cho việc thiết kế thông báo lỗi. Khi thiết kế thông điệp thông báo lỗi
cần chú ý đến các nhân tố:
Ngữ cảnh: Hệ thống cần tạo ra các thông điệp phản ánh đúng ngữ cảnh mà người dùng
đang ở trong đó. Hệ thống cần nhận biết được người dùng đang thao tác gì và nên phát
sinh các thông điệp lỗi liên quan đến hoạt động hiện tại của họ. Ví dụ như cũng cùng là
việc chọn ngày không hợp lệ nhưng nếu chọn ngày sinh cho nhân viên thì nên thông
báo lỗi là tuổi của nhân viên phải nằm trong khoảng từ 18 đến 60 tuổi. Nếu là chọn ngày
đặt vé xe thì thay vì thông báo ngày không hợp lệ thì nên thông báo cụ thể hơn đó là
ngày đặt vé phải lớn hơn ngày hiện tại.
Kinh nghiệm: Sau một thời gian sử dụng hệ thống người dùng sẽ trở nên quen thuộc
với hệ thống vì thế những thông điệp mang thông tin nhắc nhở hay cảnh báo sẽ trở thành
“phiền toái” với người dùng kinh nghiệm nhưng vẫn cần thiết với người dùng mới. Một
hệ thống được thiết kế tốt nên cung cấp khả năng kích hoạt/ngừng kích hoạt các loại
thông điệp.
Kỹ năng: Hệ thống được sử dụng bởi nhiều loại người dùng khác nhau với những kỹ
năng, hiểu biết về CNTT khác nhau vì thế thông điệp nên được thiết kế riêng cho nhiều
loại người dùng khác nhau với những thuật ngữ mà họ quen dùng.
Hướng đến người sử dụng: Thông điệp lỗi nên hướng đến người sử dụng, nên lấy
người sử dụng làm trung tâm, không nên hướng đến hệ thống.

Hình 32. Thông điệp lỗi hướng đến hệ thống (trái), hướng đến người dùng (phải)

3.3. Thành phần giao diện

Với giao diện đồ họa người dùng thì người dùng giao tiếp với hệ thống chủ yếu qua các
thành phần giao diện được thiết kế bên trong cửa sổ (window) làm việc. Window cho
phép phân chia màn hình hiển thị ra thành nhiều vùng làm việc khác nhau kiểu như là
các tập tài liệu trải dài trên bàn làm việc. Window đã trở thành giao diện chuẩn mực
trong nhiều hệ điều hành cũng như nhiều hệ thống phần mềm từ xưa đến nay. Thông
thường một cửa sổ làm việc sẽ được chia làm 3 vùng: vùng điều hướng ở trên, vùng làm
việc ở giữa và vùng trạng thái ở đáy.
Các thành phần giao diện được phân làm 3 nhóm chính: nhóm điều khiển nhập liệu,
nhóm thành phần điều hướng, nhóm thành phần cung cấp thông tin.
Nhóm điều khiển nhập liệu gồm có: checkboxes, radio buttons, dropdown lists, list
boxes, buttons, toggles, text fields, date fields.
Nhóm thành phần điều hướng gồm có: breadcrumb, slider, search field, pagination,
Trang 84
tags, icons, menu.
Nhóm thành phần cung cấp thông tin gồm có: tooltips, icons, progress bar,
notifications, message boxes, modal windows.
Checkboxes: sử dụng điều khiển này khi chúng ta mong muốn cung cấp cho người
dùng khả năng chọn hoặc không chọn một đối tượng nào đó để tiến hành các thao tác
xử lý tiếp theo. Người sử dụng có thể chọn lựa cùng lúc nhiều đối tượng.

Hình 33. Checkboxes được sử dụng để xác định các liên hệ cần xóa
Radio buttons: cho phép người dùng đưa ra sự lựa chọn duy nhất đó là một trong số
các phương án/thông tin được thiết kế sẵn. Thông thường sẽ có một phương án được
đánh dấu chọn một cách mặc định.

Hình 34. Minh họa sử dụng radio butons để hiển thị ảnh tương ứng với con vật được chọn
Dropdown list: cho phép người dùng chọn lựa một phần tử tại một thời điểm. Chức
năng này cũng giống như radio buttons nhưng cho phép chúng ta tiết kiệm được không
gian hiển thị. Khi sử dụng điều khiển này nên cân nhắc việc đưa thêm vào một phần tử
“select one” để giúp người sử dụng nhận thức được là mình cần chọn 1 trong số các
phần tử có sẵn.

Trang 85
Hình 35. Dropdown list cho việc chọn ngôn ngữ hiển thị
Listboxes: giống như điều khiển checkboxes cho phép người dùng chọn cùng lúc nhiều
phần tử nhưng tiết kiệm không gian hiển thị.

Hình 36. Thiết lập chức năng trên thanh công cụ của MS Excel thông qua listbox
Button: thực hiện một hoạt động thích hợp khi mà người dùng bấm chọn. Button thường
được gán nhãn bằng chuỗi hoặc hình ảnh hoặc cả hai.

Hình 37. Lựa chọn tài khoản để đăng nhập hệ thống bằng cách sử dụng button
Toggles: cho phép người dùng chuyển đổi cấu hình qua lại giữa hai trạng thái. Điều
khiển này thật sự hiệu quả khi trạng thái on/off cần được biểu diễn một cách trực quan.

Trang 86
Hình 38. Minh họa sử dụng toggles để thiết lập tính năng cho hệ thống
Text field: Cho phép người dùng nhập vào chuỗi ký tự, nó có thể là một dòng đơn hoặc
nhiều dòng. Đối với đối tượng này chúng ta có thể thiết lập các tùy chọn để người dùng
có thể nhập vào mật khẩu hoặc một định dạng bất kỳ nào đó.

Hình 39. Text field dùng nhập chuỗi thông thường và chuỗi mật khẩu
Date and Time picker: cho phép người dùng chọn ngày hoặc giờ cụ thể. Ngày giờ
được chọn sẽ được chuyển vào hệ thống theo đúng định dạng được thiết lập bởi hệ
thống.

Hình 40. Một kiểu thiết kế cho đối tượng Date and Time picker
Breadcrumb: cho phép người dùng xác định được vị trí hiện tại của mình bên trong hệ
thống đồng thời cũng cung cấp khả năng quay lui lại các vị trí người dùng đã duyệt qua.

Trang 87
Hình 41. Một kiểu thiết kế breadcrumb
Slider: Cho phép người dùng thay đổi hoặc thiết lập một giá trị kiểu số. Khi giá trị này
thay đổi thì không làm ảnh hưởng gì đến giao diện của hệ thống cũng như những thông
tin khác trên màn hình.

Hình 42. Các dạng điều khiển slider


Search field: Hộp thoại tìm kiếm cho phép người dùng nhập vào một từ khóa hoặc một
câu truy vấn và hệ thống sẽ thực hiện tìm và trả về kết quả phù hợp nhất với yêu cầu
của người dùng. Search field thông thường bao gồm một text field và một button.

Hình 43. Minh họa thiết kế search field


Pagination: Trong trường hợp lượng lớn thông tin thì pagination là giải pháp phân chia
thông tin cần biểu diễn ra thành nhiều trang hiển thị khác nhau trong đó người dùng có
thể chuyển qua lại giữa các trang thông tin.

Trang 88
Hình 44. Một kiểu phân trang với thông tin về trang hiện tại, số trang tổng cộng
Tags: cho phép người dùng tìm kiếm nội dung thông tin của cùng một thể loại. Một số
hệ thống cho phép người dùng tự tạo các thẻ của riêng mình. Về khía cạnh biểu diễn,
các hệ thống có thể sử dụng màu sắc hoặc kích thước chữ để biểu diễn số lượng thông
tin của thể loại đó.

Hình 45. Một kiểu thiết kế tags cloud


Icons: là một hình ảnh đơn giản mang tính biểu tượng cho phép người dùng điều hướng
hệ thống hoặc thực hiện một thao tác nào đó. Thông thường icon sẽ được gắn kết với
một siêu liên kết.

Hình 46. Các icons đại diện cho các chức năng của hệ thống quản lý điểm
Menu: là một dạng thành phần điều hướng được sử dụng rộng rãi nhất hiện nay. Menu
là một danh sách phân cấp các lệnh hoặc các tùy chọn được thiết kế sẵn và sẵn dùng đối
với người dùng. Menu thường được hiển thị từ một thanh trình đơn bao gồm một danh
sách các nhãn.

Trang 89
Bảng 3. Các loại menu mẫu

Loại Diễn giải


Menu bars

Menu bar hiển thị lệnh


và tùy chọn bằng các
drop-down menus

Toolbar menus Toolbar menu là một thanh toolbar với chỉ một số ít các lệnh
chính được thể hiện dưới dạng nút lệnh (button).

Menu bar được thiết


kế như một tool bar.

Context menu Context menu sẽ hiển thị khi người dùng ấn chuột phải vào
vùng thông tin có hỗ trợ context menu.

Là một drop-down
menu hiển thị một tập
nhỏ các lệnh hoặc tùy
chọn theo ngữ cảnh
hiện hành.

Trong trường hợp có nhiều lệnh và tùy chọn trong cùng một nhóm menu thì Fish-eye
menu sẽ được dùng để đảm bảo hiển thị đầy đủ các lệnh và tùy chọn trong vùng biểu
diễn được phép. Với Fish-eye menu chỉ những mục menu gần vị trí con trỏ chuột mới
được hiển thị với kích thước lớn.

Hình 47. Fish-eye menu biểu diễn tên các quốc gia

Trang 90
Tooltips: cho phép người dùng xem được thông tin gợi ý (tên hoặc ý nghĩa) của một
phần tử nào đó khi người dùng rê chuột qua phần tử đó.

Hình 48. Tooltip được sử dụng như thông tin hướng dẫn
Progress bar: cung cấp thông tin cho người dùng về việc họ đã tiến triển đến đâu trong
quy trình thực hiện một hành động nào đó. Có hai loại progress bar: determinate
progress bar, indeterminate progress bar.

Hình 49. Determinate progress bar (trái) và indeterminate progress bar (phải)
Notification: là thông điệp thông báo cho người dùng biết có thông tin mới cần xem.
Notification cũng có thể được sử dụng để thông báo một tác vụ đã được thực hiện thành
công hoặc có lỗi gì đó đã xảy ra.

Hình 50. Các dạng thông báo của Facebook


Message box: là một cửa sổ nhỏ cung cấp thông tin cho người dùng và yêu cầu họ thực
hiện một hành động nào đó trước khi có thể tiếp tục.

Trang 91
Hình 51. Một hộp thông điệp dược thiết kế với 3 tùy chọn
Modal window (pop-up window): bắt buộc người dùng phải thao tác với nó trước khi
quay trở lại hệ thống.

Hình 52. Modal window được thiết kế để yêu cầu người dùng đăng nhập trước khi sử dụng hệ thống

4. THIẾT KẾ THÀNH PHẦN NHẬP LIỆU

Một hệ thống bất kỳ dù là lớn hay nhỏ đều có hai thành phần chính đảm nhiệm việc
giao tiếp với người sử dụng đó là thành phần input để nhận dữ liệu do người dùng hoặc
hệ thống khác cung cấp, thành phần output để kết xuất thông tin sau xử lý đến người
dùng hoặc hệ thống khác. Việc thiết kế giao diện người dùng sẽ tập trung vào thiết kế
các thành phần input và output.
Thành phần input cho phép người dùng tương tác với hệ thống để đưa dữ liệu vào hệ
thống. Tùy theo ngữ cảnh của hệ thống cũng như thiết bị được sử dụng để tương tác mà
giao diện cần được thiết kế cho phù hợp. Một quy tắc quan trọng của việc thiết kế giao
diện cho thành phần nhập liệu đó là phải đảm bảo được dữ liệu đưa vào hệ thống là dữ
liệu đúng. Điều này có nghĩa là hệ thống không giao phó việc kiểm tra dữ liệu đúng hay
sai về phía người dùng mà hệ thống cần có giải pháp kiểm tra tính đúng đắn của dữ liệu.

Trang 92
Thiết bị dùng để tương tác
Bàn phím là thiết bị sử dụng cơ bản và rộng rãi nhất, đây là cơ sở chính của hầu hết các
ứng dụng của máy tính cho các mục nhập thông tin chữ, số. Sự phát triển của môi trường
đồ họa người dùng đã thúc đẩy việc sử dụng rộng rãi hơn các thiết bị trỏ như chuột, cần
điều khiển, bi lăn, bản vẽ đồ họa. Việc tạo ra máy tính xách tay và máy tính sử dụng bút
cảm ứng với bi lăn, cần điều khiển, bút cảm ứng được gắn trực tiếp vào máy tính cũng
đã mang đến một sự đổi mới trong cách sử dụng các thiết bị này.
Nghiên cứu nhận thấy rằng mỗi thiết bị có ưu, nhược điểm riêng của nó, vì vậy tùy theo
trường hợp mà lựa chọn thiết bị thích hợp để hỗ trợ người dùng trong việc tương tác với
hệ thống. Việc lựa chọn thiết bị sử dụng cho việc tương tác phải được thực hiện trong
quá trình thiết kế một cách hợp lý bởi vì thiết bị khác nhau đòi hỏi giao diện khác nhau.
Bảng 11 tóm tắt các đánh giá về khả năng sử dụng của mỗi thiết bị liên quan đến các
vấn đề tương tác giữa người và máy. Ví dụ, đối với nhiều ứng dụng, bàn phím không
cho người dùng cảm nhận chính xác như khi di chuyển con trỏ, không cung cấp thông
tin phản hồi trực tiếp trên mỗi thao tác và có thể là phương pháp chậm chạp để nhập dữ
liệu (tùy thuộc vào kỹ năng đánh máy của người dùng). Cần phải có sự hiểu biết về cách
sử dụng của các thiết bị để đánh dấu thiết bị nào hữu ích nhất cho việc hoàn thành các
thao tác cụ thể.
Bảng 4. Các thiết bị nhập liệu

Thiết bị Mô tả và các đặc điểm chính hay sử dụng


Bàn phím Người dùng nhấn một loạt các nút nhỏ, mỗi nút được thể hiện phía
trên mặt là các ký tự, khi nhấn các nút đó sẽ chuyển thành các từ
hoặc các lệnh tương ứng. Bàn phím được sử dụng rộng rãi và cung
cấp sự linh hoạt đáng kể cho vấn đề tương tác.
Chuột Một hộp nhựa nhỏ được sử dụng để chuyển động trên một bề mặt
phẳng đồng thời tạo thành sự di chuyển con trỏ trên màn hình máy
tính. Các nút bấm trên chuột báo với hệ thống khi một biểu tượng
(item) được chọn. Những kiểu chuột mới hơn dạng như cây viết giúp
cho người dùng có cảm giác như đang viết theo kiểu truyền thống.
Cần điều khiển Một cái đòn bẩy nhỏ thẳng đứng đặt trên một cái bệ để điều khiển
con trỏ trên màn hình máy tính. Cung cấp chức năng tương tự con
trỏ.
Bi lăn Một khối cầu đặt ở một bệ đỡ ổn định để điều khiển con trỏ trên màn
hình máy tính. Một sự thay thế phù hợp cho chuột khi con chuột
không thể sử dụng trong không gian làm việc đó.
Màn hình cảm Màn hình cảm ứng thông thường sẽ cung cấp cho người dùng 2
ứng phương thức tương tác như chuột và bàn phím. Màn hình cảm ứng
thích hợp với những thao tác phải ít nhập dữ liệu từ bàn phím.
Bút cảm ứng Chọn phần tử nào đó bằng ấn cây viết vào màn hình. Bút cảm ứng
làm việc tốt khi người dùng cần có nhiều sự tương tác trực tiếp với
nội dung trên màn hình.
Bàn vẽ đồ họa Di chuyển một thiết bị như cây viết trên bề mặt của bàn vẽ để điều
khiển con trỏ trên màn hình máy tính. Thiết bị hoạt động tốt cho các

Trang 93
ứng dụng đồ họa và vẽ.
Âm thanh Từ được nói sẽ được máy tính thu lại và chuyển thành văn bản hay
lệnh tương ứng. Đây là thiết bị phù hợp nhất cho những người dùng
có các hạn chế trong sinh hoạt hàng ngày do thể chất hoặc tay cần tự
do để làm việc khác trong khi đang tương tác với ứng dụng.
Bảng 5. Đặc tính của mỗi loại thiết bị nhập liệu

Thiết bị Phác họa Gây mệt Tỷ lệ di Độ bền Phản hồi Tốc độ


một cách mỏi cho chuyển đầy đủ
trực quan người
dùng
Bàn phím X X X
Chuột X X
Cần điều khiển X X
Bi lăn X X X
Màn hình cảm X X X
ứng
Bút cảm ứng X X
Bàn vẽ đồ họa X X
Âm thanh X X

Thiết kế giao diện nhập liệu


Ở một số tổ chức, người cung cấp dữ liệu đôi khi không thể tương tác trực tiếp lên hệ
thống (ví dụ khách hàng rút tiền, gửi tiết kiệm tại một ngân hàng) nên vì thế dữ liệu
trước tiên sẽ được ghi trên giấy sau đó mới nhập lại vào hệ thống ứng dụng. Giao diện
nhập liệu khi đó sẽ thể hiện thông tin điền trên giấy và vì thế cần được thiết kế cho cả
hai càng giống nhau càng tốt.
Bên cạnh đó, một mối quan tâm khác khi thiết kế giao diện nhập liệu đó là thứ tự thao
tác giữa các mục. Hướng nhập liệu tiêu chuẩn nên đi từ trái sang phải và trên xuống
dưới giống như khi chúng ta làm việc trên giấy. Nếu được, chúng ta cũng nên nhóm các
nhóm dữ liệu có liên quan vào các mục hợp lý với nhãn mô tả nội dung của nhóm dữ
liệu đó. Các vùng trên màn hình không được sử dụng cho việc nhập liệu không nên để
người dùng tiếp cận.
Một số quy tắc cần được xem xét khi tổ chức các trường dữ liệu để nhập vào trên một
biểu mẫu nhập liệu (form). Để giảm thiểu sai sót trong việc nhập dữ liệu và tránh gây
sự thất vọng nơi người dùng, quy tắc đầu tiên cần nhớ là không bao giờ yêu cầu người
dùng nhập thông tin mà nó đã có sẵn trong hệ thống hoặc các thông tin đó có thể dễ
dàng tính toán được bởi hệ thống. Ví dụ, không bao giờ yêu cầu người sử dụng nhập
ngày và giờ hiện tại vì dữ liệu này có thể dễ dàng nhận được từ hệ thống lịch và giờ
trong máy tính. Để cho hệ thống thực hiện được điều này, người dùng chỉ cần xác nhận
rằng lịch và đồng hồ đang làm việc đúng cách. Không yêu cầu người dùng nhập giá trị
tổng hóa đơn để tránh sai sót và vì giá trị này không thể khác so với tổng giá trị của các
món hàng thành phần của hóa đơn đó.
Trang 94
Tiếp đến khi nhập dữ liệu không nên yêu cầu người dùng xác định đơn vị của một giá
trị cụ thể. Ví dụ, không nên bắt buộc người dùng phải ghi rõ số tiền đó bằng “đô la”
hoặc có trọng lượng là “tấn”. Việc định dạng các trường và dấu nhắc nhập dữ liệu nên
làm rõ các loại dữ liệu đang được yêu cầu. Nói cách khác, một chú thích mô tả các dữ
liệu được nhập vào nên nằm gần với từng trường dữ liệu. Trong nội dung phần chú thích
này nên được làm rõ ràng để người sử dụng áp dụng những loại dữ liệu phù hợp với yêu
cầu.
Hình 53 minh họa một biểu mẫu nhập liệu cho một hóa đơn bán hàng bao gồm 3 thành
phần cơ bản: thành phần nhập liệu, thông tin kết quả và tổ hợp nút lệnh.

Hình 53. Giao diện nhập liệu cho hóa đơn bán hàng
Một trong những mục tiêu của thiết kế giao diện là giảm lỗi nhập dữ liệu. Với những
dữ liệu được nhập vào hệ thống thông tin, các bước phải được thực hiện để đảm bảo
rằng dữ liệu đầu vào là hợp lệ. Là một người phân tích hệ thống, bạn phải lường trước
được những lỗi mà người dùng mắc phải và thiết kế những tính năng bên trong giao
diện hệ thống để phòng tránh, phát hiện và làm đúng những dữ liệu nhập vào bị lỗi. Một
vài lỗi dữ liệu khi nhập vào được trình bày ở bảng 6 Về bản chất, các lỗi dữ liệu có thể
xảy ra từ việc thêm dữ liệu phụ vào một trường, cắt bỏ các ký tự tắt một trường, sao
chép các ký tự sai lầm vào trường, hoặc chuyển vị một hoặc nhiều ký tự trong một
trường.
Bảng 6. Một số lỗi nhập liệu thường gặp

Kiểm tra tính hợp lệ Mô tả


Kiểu dữ liệu Kiểm tra để chắc rằng dữ liệu nhập đúng kiểu (ví dụ, tất
cả phải nhập kiểu số, hoặc kiểu chữ, hoặc có thể vừa chữ
vừa số)
Kết hợp Kiểm tra các dữ liệu kết hợp từ 2 hay nhiều trường là thích
hợp hoặc có ý nghĩa (ví dụ, thực hiện tính toán số lượng

Trang 95
bán của 1 loại sản phẩm)
Giá trị mong đợi Dữ liệu có liên quan cần phải phù hợp (ví dụ, cần có sự
phù hợp giữa tên khách hàng đã tồn tại với tổng số tiền
khách hàng đó sẽ phải thanh toán…)
Mất dữ liệu Kiểm tra sự tồn tại của các thành phần dữ liệu trong tất cả
các trường của 1 mẫu tin (ví dụ, có trường số lượng trên
mỗi dòng của hóa đơn khách hàng chưa?)
Hình ảnh/Mẫu Kiểm tra để dữ liệu tuân theo định dạng chuẩn (ví dụ đã
có ký hiệu @ trong địa chỉ mail chưa?)
Miền trị Kiểm tra để dữ liệu ở trong miền trị (ví dụ điểm thi của
sinh viên phải nằm trong khoảng từ 0 đến 10 hoặc một số
giá trị đặc biệt theo quy định cho trường hợp vắng thi, rút
đăng ký môn học, …)
Ràng buộc luận lý Kiểm tra để đảm bảo dữ liệu hợp lý trong từng trường hợp
(ví dụ, tỷ lệ tiền lương cho nhân viên)
Kích thước Kiểm tra tối thiểu hoặc tối đa bao nhiêu ký tự được nhập
(ví dụ, số chứng minh nhân dân chính xác là 9 chữ số)
Giá trị Kiểm tra để đảm bảo nhập đúng chuẩn dữ liệu được quy
định trước (ví dụ, nhập mã bang gồm 2 ký tự…)
Trong rất nhiều trường hợp tính đúng đắn của dữ liệu không chỉ thể hiện qua định dạng
của dữ liệu nhập vào mà còn thể hiện qua chính giá trị của dữ liệu đó. Trong bối cảnh
này trước tiên dữ liệu cần được kiểm tra định dạng và sau đó là giá trị của dữ liệu đó.
Ví dụ xét chức năng đăng ký tài khoản người dùng mới của một hệ thống trong đó địa
chỉ email được sử dụng để xác thực người dùng.

Hình 54. Minh họa giao diện nhập liệu với các bước kiểm tra dữ liệu
Dữ liệu do người dùng nhập vào cho thông tin email sẽ được kiểm tra thông qua 3 bước:
- Kiểm tra định dạng của email: có ký tự @, sau ký tự ‘@’ phải có ký tự ‘.’
- Kiểm tra xem email do người dùng nhập vào đã được sử dụng để đăng ký tài
khoản nào trước đây không.
Trang 96
- Xác thực xem email có đúng là email của người dùng hay không? Để làm
được điều này đa phần các hệ thống đều thực hiện theo cách gửi một liên kết
kích hoạt đến địa chỉ email người dùng nhập vào. Nếu người dùng có thể kích
hoạt được tài khoản thì địa chỉ email đó được xem là của người dùng mới.
Giao diện người dùng được thiết kế tốt sẽ phải giúp cho người dùng nhanh chóng hoàn
thành công việc của mình cũng như cung cấp cho người dùng nhiều thông tin nhất có
thể. Xét trường hợp đặt vé xe của một hãng vận tải, cùng xem xét hai ví dụ sau đây để
thấy việc thiết kế giao diện người dùng ảnh hưởng nhiều đến tính khả dụng của hệ thống.
Với hệ thống đặt vé ở hình 55 chúng ta dễ dàng nhận thấy rằng sau khi xác định thông
tin của chuyến đi như tuyến đi và ngày giờ đi thì người dùng nhận được ngay lập tức
thông tin các ghế còn trống để người dùng có thể đặt mua.

Hình 55. Giao diện đặt vé xe được thiết kế hợp lý


Với cách thiết kế ở hình 56 thì người dùng không thể có được thông tin về chỗ ngồi khi
người dùng tiến hành đặt vé. Hơn thế nữa có thể là người dùng phải mất nhiều lần lựa
chọn mới chọn được thời điểm còn vé để có thể đặt mua.

Trang 97
Hình 56. Giao diện đặt vé xe được thiết kế không thân thiện

5. THIẾT KẾ THÀNH PHẦN KẾT XUẤT

Thành phần kết xuất cho phép người dùng tương tác với hệ thống để nhận về các thông
tin cần thiết. Cũng như thành phần nhập liệu đó là hệ thống phải đảm bảo tính đúng đắn
của thông tin chuyển tải đến người dùng mà giao diện của thành phần kết xuất còn phải
giúp cho người dùng nhanh chóng “nhận biết” được thông tin mà mình quan tâm. Thông
tin người dùng quan tâm đa phần không sẵn có mà phải tổng hợp từ nhiều nguồn (bảng
dữ liệu khác nhau) và thay đổi theo mỗi một người dùng cụ thể (trưởng phòng kinh
doanh thì mong muốn có được bảng thống kê tổng hợp số lượng sản phẩm bán ra mỗi
tuần, trưởng phòng nhân sự thì quan tâm đến tình hình đảm bảo ca làm việc của nhân
viên).
Thiết bị dùng để chuyển tải thông tin đến người dùng thông dụng nhất đó là màn hình
và máy in. Tùy vào đặc tính của hai thiết bị này mà giao diện thành phần kết xuất cần
được thiết kế cho phù hợp. Ví dụ như việc sử dụng màu sắc để làm nổi bật các thành
phần thông tin khác nhau của một biểu đồ chỉ có thể cho kết quả tốt khi hiển thị trên
màn hình mà không thể có cùng hiệu quả khi in ra giấy khi mà đơn vị tổ chức sử dụng
máy in trắng đen.
Trước khi thiết kế thành phần kết xuất chúng ta cần thiết làm rõ những vấn đề sau đây:
- Mục tiêu của thành phần kết xuất này là để làm gì: liệt kê danh mục dữ liệu
được lưu trong hệ thống, trình bày kết quả tìm kiếm theo yêu cầu người dùng,
trình bày kết quả thống kê dữ liệu theo nhiều nhóm …
- Ai là người cần thông tin, tại sao họ cần, họ có thể truy cập đến thông tin kết
xuất thông qua thiết bị gì và bằng cách nào thì thông tin sẽ có ích đối với họ.
- Khi nào thì người dùng cần thông tin, thông tin luôn được cập nhật hay cập
nhật định kỳ?
- Có những ràng buộc gì về vấn đề bảo mật thông tin hay không?
Tùy theo mục tiêu của thành phần kết xuất mà chúng ta sẽ thiết kế cách thức trình bày
dữ liệu theo nhiều cách khác nhau, mỗi cách thức trình bày gắn liền với một số quy tắc
nhất định giúp cho người dùng nhanh chóng nắm bắt được thông tin truyền tải trong đó.

5.1. Hiển thị thông tin văn bản


Trang 98
Trong hệ thống liên quan đến kinh doanh, đầu ra văn bản đang ngày càng quan trọng
khi các ứng dụng dựa trên văn bản như là thư điện tử, bảng thông báo và dịch vụ thông
tin rất phổ dụng. Hiển thị và định dạng của hệ thống trợ giúp thông tin, thường chứa các
dòng nguyên bản mô tả và ví dụ theo các nguyên tắc cụ thể. Để dễ dàng nắm bắt nội
dung của văn bản thì nên phối hợp chữ hoa, chữ thường và dấu chấm thích hợp. Văn
bản về mặt nguyên tắc nếu được canh trái với lề phải không đều sẽ giúp dễ dàng để tìm
tới dòng văn bản mới hơn.
Khi hiển thị thông tin văn bản, thông tin và thuật ngữ nhiều khi không được hiểu bởi
người dùng có thể sẽ ảnh hưởng đáng kể đến tính dễ sử dụng của hệ thống. Vì vậy, nên
sử dụng từ viết tắt chỉ khi chúng ngắn hơn nhiều so với toàn văn và được biết đến rộng
rãi bởi người dùng hệ thống. Ví dụ bên dưới giới thiệu hai mẫu thiết kế, một được thiết
kế không tốt nên người dùng rất khó có thể tiếp nhận được nội dung trợ giúp trong khi
mẫu còn lại được thiết kế rất tốt giúp người dùng dễ dàng tiếp cận được thông tin chuyển
tải trong đó.

Hình 57. Văn bản hiển thị không đúng dẫn đến việc khó nắm bắt nội dung

Hình 58. Văn bản được hiển thị tốt

Trang 99
5.2. Hiển thị thông tin dạng bảng

Khi thông tin hiển thị là tập hợp các dòng (mẫu tin) với cấu trúc giống nhau thì bảng là
định dạng hiển thị thường được sử dụng. Xem xét ví dụ được trình bày trong hai hình
dưới đây để thấy được một số nguyên tắc thiết kế thông tin hiển thị dạng bảng.
Báo biểu được trình bày trong hình 59 minh họa cho mẫu thiết kế không tốt. Mẫu thiết
kế này vi phạm một số lỗi thiết kế cơ bản như:
- Tiêu đề của báo biểu không rõ ràng, thiếu các thông tin như: tên của tổ chức,
ngày tạo lập báo biểu, số trang của báo biểu
- Không có sự phân biệt giữa thông tin chung và thông tin chi tiết (các dòng
thông tin với cấu trúc giống nhau).
- Thông tin dư thừa (payment, purchase lặp đi lặp lại).
- Dữ liệu kiểu số canh trái gây khó khăn trong việc nhận biết sự lớn nhỏ của
các giá trị.

Hình 59. Một thiết kế báo biểu không tốt


Trong khi đó báo biểu được minh họa ở hình 60 rõ ràng được thiết kế tốt hơn rất nhiều.
Các hạn chế của báo biểu thiết kế ở hình 59 đều đã được khắc phục.
- Tiêu đề của báo biểu được thiết kế rõ ràng bao gồm tên tổ chức (Pine Valley
Furniture), loại báo biểu (thông tin chi tiết tài khoản), ngày lập báo biểu (11-
10-2001), số trang của báo biểu (2 trang).
- Có sự phân biệt giữa thông tin chung và thông tin chi tiết. Thông tin chi tiết
được thiết kế dưới dạng bảng với tiêu đề rõ ràng.
- Không có sự dư thừa về thông tin, purchase và payment đã được chuyển
thành cột.
- Dữ liệu kiểu số được canh phải giúp dễ dàng nhận biết sự khác biệt về giá trị.

Trang 100
Hình 60. Một thiết kế báo biểu tốt
Bên cạnh đó thiết kế mới còn bổ sung cột thông tin “current balance” cho biết số tiền
còn lại của tài khoản khách hàng mỗi khi có một giao dịch thành công. Thực tế thiết kế
ở hình 60 sẽ cung cấp nhiều thông tin hơn nếu như các giá trị ở cột “payment” được bổ
sung dấu ‘-‘ vì khi đó người dùng sẽ dễ dang nhận thấy mối tương quan giữa giá trị
current balance và payment.
Khi thiết kế một báo biểu dạng bảng cần xác lập các thông tin sau:
- Report header and footer
- Page header and footer
- Column heading alignment
- Colum spacing
- Field order
- Grouping detail lines
- Repeating fields
- Consistent design

Trang 101
Hình 61. Các thành phần của một báo biểu

5.3. Thiết kế biểu đồ (chart)

Khi thiết kế báo biểu hiển thị thông tin dạng số, đôi khi chúng ta phải quyết định sử
dụng bảng hay là biểu đồ hay kết hợp cả hai. Bảng cho phép hiển thị lượng lớn thông
tin (chi tiết) trong khi biểu đồ có thế mạnh khi thể hiện mối tương quan giữa các mục
dữ liệu (tổng quan). Việc lựa chọn dạng biểu diễn nào hay kết hợp cả hai thì sẽ tùy thuộc
vào mục tiêu cảu báo biểu. Ví dụ như cung cấp thông tin chi tiết giao dịch trên tài khoản
ngân hàng thì không thể sử dụng biểu đồ mà phải sử dụng dạng bảng. Khi thiết kế báo
cáo về tình hình kinh doanh ở một cửa hàng, thì bộ phận kinh doanh sẽ quan tâm nhiều
hơn đến chi tiết số lượng từng mặt hàng bán ra trong tháng. Cũng với báo cáo kinh
doanh tháng này, người cửa hàng trưởng đôi khi lại quan tâm đến doanh số của mỗi loại
mặt hàng cũng như so với những tháng trước thì tình hình kinh doanh biến chuyển ra
sao. Với yêu cầu thông tin của bộ phận kinh doanh thì dạng bảng sẽ thích hợp trong khi
biểu đồ kết hợp với dữ liệu tổng hợp sẽ phù hợp hơn với nhu cầu thông tin của người
cửa hàng trưởng. Trước khi xem xét các loại biểu đồ chúng ta cùng điểm qua các dạng
dữ liệu cũng như các kiểu so sánh có thể xác lập trên dữ liệu.
Theo (Lankow et al, 2012) hai kiểu dữ liệu chúng ta thường gặp nhất bao gồm: dữ liệu
số hay còn gọi là dữ liệu có tính chất định lượng (quantitative) và dữ liệu hạng mục
(categorical). Dữ liệu số được phân làm hai loại là dữ liệu số rời rạc và dữ liệu số liên
tục. Dữ liệu số rời rạc (discrete) là loại dữ liệu có thể nhận các giá trị số chắc chắn và
rời rạc. Dữ liệu số liên tục (continuous) là loại dữ liệu có thể nhận các giá trị bất kỳ
trong một khoảng xác định. Dữ liệu hạng mục là loại dữ liệu có thể được sắp xếp dựa
vào nhóm hoặc hạng mục mà nó thuộc vào.
Xuất phát từ nhu cầu thực tế mà chúng ta có thể định nghĩa nhiều kiểu so sánh khác
nhau giữa các thành phần dữ liệu.
- Nominal comparison: so sánh danh nghĩa, là kiểu đơn giản nhất. Ví dụ như
sự khác biệt giữa số lượt khách viếng thăm các website khác nhau.
- Deviation: dạng so sánh cho thấy sự khác biệt giữa các thành phần dữ liệu và
đặc biệt chú trọng đến độ lệch của mỗi thành phần dữ liệu với giá trị trung
bình.

Trang 102
- Time series: khi xét đến yếu tố thời gian thì chúng ta có thể thực hiện so sánh
sự thay đổi về mặt giá trị của một thành phần dữ liệu nào đó theo thời gian,
ví dụ như doanh số bán ra hàng tháng của một sản phẩm.
- Distribution: cho thấy sự phân bố của các giá trị của một biến nào đó, đặc
biệt là sự khác biệt với giá trị trung tâm.
- Correlation: khảo sát sự biến thiên về mặt giá trị của một biến trên cơ sở sự
thay đổi về giá trị của một biến khác (correlation), ví dụ như mức lương có
quan hệ như thế nào với trình độ học vấn.
- Part-to-whole relationships: thể hiện tỷ lệ của tập con so với tổng thể. Ví dụ
phần trăm khách hàng quan tâm đến một sản phẩm nào đó.
Biểu đồ thanh (Bar chart)
Biểu đồ thanh biểu diễn dữ liệu rất linh hoạt và được dùng để biểu diễn sự biến đổi của
dữ liệu theo thời gian, so sánh sự khác biệt giữa các nhóm danh mục hoặc giữa bộ phận
và tổng thể. Cụ thể hơn, dạng thanh dọc (vertical column chart) sẽ phù hợp với dữ liệu
có yếu tố thời gian (sẽ được bố trí từ trái qua phải) hoặc các giá trị âm (hiển thị bên dưới
trục X). Dạng thang ngang (horizontal column chart) phù hợp với dữ liệu có nhãn dài.
Biểu đồ dạng stacked sẽ hữu dụng khi cần biểu diễn sự khác biệt giữa tổng thể và bộ
phận và có thể được dùng cho các loại dữ liệu rời rạc hoặc liên tục. Biểu đồ 100%
stacked sẽ được lựa chọn khi mà giá trị tổng của mỗi loại danh mục không quan trọng
mà sự phân bố của mỗi danh mục con trong đó mới là thông tin chính cần biểu diễn.

Hình 62. Biểu đồ dạng thanh dọc

Hình 63. Biểu đồ dạng thanh ngang

Trang 103
Hình 64. Biểu đồ thanh dạng stacked

Hình 65. Biểu đồ thanh dạng 100% stacked


Một số điểm cần lưu ý:
- Nhãn dữ liệu phải hiển thị theo chiều ngang.
- Khoảng cách giữa các cột tối ưu là ½ bề rộng của cột
- Trục Y nên bắt đầu từ giá trị 0
- Chỉ nên sử dụng một màu
- Dữ liệu nên xếp thứ tự theo nhãn

Trang 104
Hình 66. Nên và không nên khi sử dụng biểu đồ dạng thanh
Biểu đồ tròn (pie chart)
Biểu đồ tròn rất thích hợp để biểu diễn mối quan hệ giữa toàn thể và bộ phận. Có hai
loại biểu đồ tròn đó là dạng tiêu chuẩn và cải tiến. Dạng cải tiến cho phép biểu diễn giá
trị tổng hoặc hình ảnh đại diện ở trung tâm.

Hình 67. Hai dạng biểu đồ tròn


Một số điểm cần lưu ý:
- Mặc dù biểu đồ dạng tròn được sử dụng khá rộng rãi tuy nhiên cần lưu ý rằng
biểu đồ tròn sử dụng độ lớn của góc để biểu diễn sự khác biệt và con người
không nhạy khi cảm nhận sự khác biệt này.
- Không biểu diễn nhiều hơn 5 danh mục trong một biểu đồ
- Không dùng nhiều biểu đồ tròn để biểu diễn sự thay đổi giá trị của các danh
mục theo thời gian.
- Sắp xếp các phần theo thứ tự giảm dần của giá trị, bắt đầu phần lớn nhất tại
vị trí 12 giờ, đi theo chiều kim đồng hồ hoặc ngược chiều kim đồng hồ.

Trang 105
Hình 68. Nên và không nên khi sử dụng biểu đồ tròn
Biểu đồ đường (line chart)
Biểu đồ đường được sử dụng để biểu diễn dữ liệu có yếu tố thời gian và liên tục. Nó có
thể biểu diễn xu hướng, sự tăng/giảm giá trị của dữ liệu qua thời gian cũng như các biến
đổi của dữ liệu.

Hình 69. Biểu đồ đường


Một số điểm cần lưu ý
- Không nên đưa vào biểu đồ nhiều hơn 4 chuỗi dữ liệu
- Không nên dùng đường kẻ đứt để vẽ biểu đồ
- Nhãn dữ liệu nên gắn “trực tiếp” với đường biểu diễn tương ứng
- Điểm cao nhất của đường biểu diễn nên vào khoảng 2/3 độ cao của trục Y.

Trang 106
Hình 70. Nên và không nên khi sử dụng biểu đồ đường
Scatter plot
Scatter plot cho phép biểu diễn mối quan hệ về mặt giá trị của 2 biến số và thường được
sử dụng để biểu diễn mối tương quan của các thành phần dữ liệu bên trong một khối dữ
liệu lớn.

Hình 71. Biểu đồ dạng scatter plot


Một số điểm cần lưu ý
- Sử dụng kích thước, màu sắc để có thể biểu diễn nhiều hơn 2 biến số
- Trục Y nên bắt đầu với giá trị 0

Hình 72. Nên và không nên khi sử dụng scatter plot

6. CÂU HỎI ÔN TẬP

1. Nêu khái quát ưu nhược điểm của giao diện dòng lệnh và giao diên đồ họa.
2. Cho biết các nguyên tắc thiết kế giao diện người dùng
Trang 107
3. Tóm lược các kiểu lỗi thường mắc phải khi thiết giao diện cho thành phần nhập
liệu.
4. Cho biết các kiểu dữ liệu số thường gặp trong thiết kế hệ thống thông tin.

Trang 108
Chương 5. ÔN TẬP

1. ĐÁNH GIÁ TÍNH KHẢ THI CỦA GIẢI PHÁP ĐỀ XUẤT

Các tỉnh ven biển vùng ĐBSCL thường bị nước biển xâm nhập vào mùa khô gây khó
khăn cho việc sản xuất nông nghiệp. Để có thể dự báo được tình hình xâm nhập mặn
cần phải triển khai một mạng lưới các điểm quan trắc độ mặn tại các cửa biển và vùng
lân cận. Một mạng lưới 500 điểm quan trắc như thế đã được triển khai tại 3 tỉnh Trà
Vinh, Bến Tre và Bạc Liêu. Tại mỗi điểm sẽ có một cộng tác viên thực hiện việc đo dộ
mặn hàng ngày 2 lần vào lúc 8h sáng và 14h chiều rồi sau đó gửi thông tin này về trung
tâm tại Cần Thơ. Giải pháp để gửi thông tin độ mặn tại các điểm đo về trung tâm như
sau:
- Xây dựng một trang web để các cộng tác viên nhập thông tin độ mặn đo được
hàng ngày.
- Xây dựng phần mềm để tiếp nhận thông tin do cộng tác viên gửi thông qua
SMS.
Hãy đánh giá tính khả thi của 2 giải pháp trên để đi đến quyết định lựa chọn một giải
pháp triển khai mạng lưới trên. Tính khả thi của giải pháp được đánh giá dựa trên các
yếu tố:
- Tính khả thi về mặt kỹ thuật: có nghĩa là với công nghệ và kỹ thuật hiện tại
có cho phép thực hiện được các chức năng của hệ thống không.
- Tính khả thi về mặt kinh tế: chi phí xây dựng phần mềm, chi phí mua sắm
thiết bị, chi phí duy trì hoạt động của hệ thống.
- Tính khả thi về mặt triển khai: điều kiện thực tế có cho phép dễ dàng duy trì
hệ thống hay không?

2. ĐÁNH GIÁ TÍNH ĐÚNG ĐẮN CỦA MÔ HÌNH DỮ LIỆU

Một kỹ năng không thể thiếu của người làm phân tích hệ thống đó là phải đọc hiểu và
đánh giá được tính đúng đắn của mô hình dữ liệu tương ứng với đặc tả yêu cầu của một
hệ thống. Khi đánh giá một mô hình cần thiết lý giải được các điểm không hợp lý của
mô hình và chỉ ra cách điều chỉnh.
Xem xét yêu cầu của hệ thống được mô tả như dưới đây
Một trường trung học phổ thông mong muốn tin học hóa khâu quản lý điểm của học
sinh. Chỉ có giáo viên giảng dạy môn học đó cho lớp mới có quyền nhập điểm cho lớp.
Các loại điểm đối với từng môn học bao gồm: điểm kiểm tra miệng, điểm kiểm tra 15
phút, điểm kiểm tra 1 tiết và điểm thi kết thúc học kỳ.
Mô hình dữ liệu mức quan niệm được thiết kế như hình bên dưới

Trang 109
- Hãy nêu một số thể hiện của thực thể LOP và thực thể MONHOC
- Cho biết những điểm không hợp lý của mô hình, lý do, và cách điều chỉnh lại
cho phù hợp.
- Giải thích vì sao quan hệ DAY giữa hai thực thể GIAOVIEN và
LOPMONHOC vì sao có bản số là (0, n) và (1, n).

3. XÂY DỰNG LƯU ĐỒ DÒNG DỮ LIỆU

Xây dựng một lưu đồ dòng dữ liệu đúng là công việc khó khăn với rất nhiều người lần
đầu tiếp cận với lĩnh vực phân tích thiết kế hệ thống. Ở khía cạnh ngược lại, để kiểm tra
tính đúng đắn của lưu đồ dòng dữ liệu, đặc biệt là ở mức ngữ cảnh cũng là một công
việc khó khăn. Khó khăn vì ở mức ngữ cảnh chỉ có một ô xử lý duy nhất vì thế người
kiểm tra khó nhận biết được các chức năng của hệ thống để có thể biết được input nào,
output nào liên quan đến chức năng gì của hệ thống.
Công việc sẽ trở nên dễ dàng hơn nếu như chúng ta xây dựng bảng sự kiện trong đó mỗi
sự kiện liên quan đến một ô xử lý trong lưu đồ dòng dữ liệu. Ví dụ chúng ta có bảng mô
tả các sự kiện như sau
Sự kiện Kích hoạt Nguồn phát Hoạt động Kết xuất Đích đến
sinh
Phát sinh cập Thông tin mặt Bộ phận quản Cập nhật mặt
nhật mặt hàng hàng cập nhật lý hàng
Phát sinh cập Thông tin Khách hàng Cập nhật
nhật khách khách hàng khách hàng
hàng
Báo cáo trị giá Tháng báo cáo Bộ phận quản In báo cáo trị Bảng báo cáo Bộ phận quản
hàng bán trị giá hàng lý giá hàng bán hàng bán lý
trong tháng bán

Trang 110
Phát sinh cập Thông tin đơn Khách hàng Cập nhật đơn Đơn hàng Khách hàng
nhật đơn hàng hàng hàng
Như vậy ở mức ngữ cảnh chúng ta chỉ quan tâm đến các cột Kích hoạt, Nguồn phát
sinh, Kết xuất, Đích đến.

Chúng ta có thể gom nhóm các sự kiện cùng loại thành nhóm sự kiện để xây dựng DFD
ở mức tiếp theo. Trong trường hợp hệ thống không quá lớn, mỗi một dòng sự kiện có
thể tương ứng với một ô xử lý ở mức 1.

4. ĐÁNH GIÁ MẪU THIẾT KẾ GIAO DIỆN

Giao diện người dùng không còn là một khía cạnh của phát triển phần mềm mà đã trở
thành một khâu quan trọng quyết định đến sự thành bại của phần mềm. Để đánh giá
giao diện chương trình có phù hợp với nhu cầu của người sử dụng hay không thật sự
khó khăn vì một số nguyên nhân:
- Người dùng hệ thống đa dạng về độ tuổi, sở thích, công việc cũng như khả
năng sử dụng máy tính.
- Yêu cầu về giao diện chương trình của người sử dụng sẽ thay đổi khi được
trực tiếp sử dụng hệ thống.
Vì những lý do đó việc thiết kế giao diện người dùng sẽ trải qua nhiều giai đoạn khác
nhau trong đó giai đoạn đánh giá và điều chỉnh mẩu thử giao diện người dùng là quan
trọng. Mẫu thử cho phép người sử dụng hệ thống có được những kinh nghiệm trực tiếp

Trang 111
khi tương tác với giao diện chương trình. Những kinh nghiệm trực tiếp như vậy sẽ giúp
đánh giá khả năng có thể sử dụng được hay không của giao diện chương trình.
Chúng ta nên thực hiện đánh giá bản thiết kế giao diện người dùng để xác định nó có
phù hợp và thân thiện với người dùng không. Tuy nhiên, việc đánh giá trên phạm vi
rộng (nhiều người sử dụng tham gia) sẽ tốn nhiều chi phí và hầu như không thể thực
hiện được đối với mọi hệ thống. Một số kỹ thuật đánh giá cơ bản bao gồm:
- Xem xét lại các phản hồi của người sử dụng khi dùng mẫu thử.
- Ghi nhận lại các lỗi xảy ra trong quá trình sử dụng để điều chỉnh bản thiết kế
giao diện.
- Tích hợp mã lệnh vào hệ thống để có thể thu thập những phản hồi của người
sử dụng một cách trực tuyến.
Để đánh giá được giao diện chương trình có phù hợp không chúng ta cần đặt mình vào
vai trò của người sử dụng, để “quên” đi những phức tạp của các đoạn mã chương trình
mà chỉ quan tâm đến tính khả dụng của hệ thống. Chúng ta cùng xét ví dụ về giao diện
của phân hệ quản lý phòng khách sạn dùng cho nhân viên tiếp tân.

Hình 73. Giao diện quản lý phòng cung cấp nhiều thông tin

Hình 74. Giao diện quản lý phòng “nghèo” thông tin


Dễ dàng nhận thấy rằng giao diện quản lý phòng khách sạn ở hình 73 cung cấp được
Trang 112
cho nhân viên tiếp tân rất nhiều thông tin bao gồm: phòng đang có người ở (ở từ thời
điểm nào, hình thức thuê, thời gian bắt đầu ở khi nào, có đặt cọc không, số tiền còn lại
phải thanh toán), phòng trống nhưng đang dọn vệ sinh và sẽ sẵn sàng cho thuê trong
khoảng thời gian bao lâu nữa, phòng đang sửa chữa hoặc phòng sẵn sàng cho thuê. Với
giao diện quản lý phòng minh họa ở hình 74 thì thông tin nhận được chỉ là hiện tại
phòng trống hoặc không. Là một nhân viên tiếp tân khách sạn thì chắc chắn sẽ lựa chọn
loại giao diện ở hình 73, tuy nhiên việc có hài lòng hay không với giao diện hiện tại
cũng khó được xác định khi mà người dùng không biết hoặc không có “cơ hội” trải
nghiệm một thiết kế tốt hơn.

Trang 113
Chương 6. THỰC HÀNH PHÂN TÍCH VÀ THIẾT KẾ

1. GIỚI THIÊU

Mục đích chính của chương này là giúp sinh viên rèn luyện các kỹ năng sau:
- Vận dụng kiến thức học phần Quản trị yêu cầu người dùng để phân tích và đặc
tả yêu cầu cho một hệ thống thông tin trong thực tế.
- Thiết kế thành phần dữ liệu, gồm các mô hình: mô hình dữ liệu mức quan niệm,
mô hình dữ liệu mức luận lý và mô hình dữ liệu mức vật lý.
- Phân tích và xác định các ràng buộc toàn vẹn cho thành phần dữ liệu.
- Thiết kế thành phần xử lý, gồm các mô hình sau: lưu đồ dòng dữ liệu (cấp 0 đến
cấp chi tiết), mô hình tổng thể các module chức năng của hệ thống.

Phương pháp thực hiện:


- Sinh viên thực hành theo nhóm (3 sinh viên / 1 nhóm), mỗi nhóm sinh viên thực
hiện một dự án phân tích thiết kế một hệ thống thông tin thực tế.
- Giảng viên đề ra tiến độ thực hiện, mỗi nhóm sinh viên lập kế hoạch thực hiện
chi tiết.
- Đại diện nhóm báo cáo kết quả thực hiện theo tiến độ (dựa theo kế hoạch học tập
do giảng viên đề ra). Việc báo cáo kết quả thực hiện theo tiến độ phải được thực
hiện xoay vòng giữa các sinh vien trong nhóm.
- Giảng viên góp ý những kết quả chưa hợp lý để nhóm sinh viên chỉnh sửa các
mô hình.

Công cụ / phần mềm hỗ trợ:


- Sysbase Power Designer
- WinDesign
- Microsoft Office: Word, Excel; Microsoft Viso Office

2. BÀI THỰC HÀNH 1

Mục tiêu:
Học cách sử dụng công cụ phần mềm để vẽ các mô hình khi thiết kế thành phần
dữ liệu và thành phần xử lý.
Nội dung:
Thực hành vẽ CDM và DFD của hệ thống quản lý mua bán hàng (chương 2 và
chương 3) bằng công cụ Sysbase Power Designer hay WinDesign.
Kết quả cần đạt được:
Sinh viên sử dụng được một công cụ để vẽ:
- CDM, chuyển CDM sang PDM và sinh CSDL,
- DFD từ cấp 0 đến cấp chi tiết.
Trang 114
Kế hoạch:
- Giờ 1: Giảng viên hướng dẫn công cụ vẽ:
 CDM, chuyển CDM sang PDM, sinh CSDL.
 DFD cấp 0 và cách phân rã các cấp tiếp theo.
- Giờ 2: Sinh viên vẽ CDM.
- Giờ 3: Sinh viên chuyển CDM sang LDM (trên giấy), Chuyển CDM sang
PDM bằng công cụ và kiểm tra đối chiếu tính hợp lý giữa CDM, LDM và
PDM.
- Giờ 4: Sinh viên vẽ DFD các cấp.
- Giờ 5: Giảng viên kiểm tra kết quả đạt được và đánh giá.

3. BÀI THỰC HÀNH 2

Mục tiêu:
Thiết kế thành phần dữ liệu.
Yêu cầu:
Mỗi nhóm sinh viên cần chuẩn bị trước buổi thực hành:
 Bản đặc tả hệ thống và phát biểu các ràng buộc toàn vẹn dữ liệu,
 Bản thiết kế CDM.
Nội dung thực hiện:
Giảng viên thảo luận và góp ý cho nhóm sinh viên:
 Bản đặc tả hệ thống và phát biểu các ràng buộc toàn vẹn dữ liệu,
 Bản thiết kế CDM.
Phương pháp thực hiện:
- Mỗi nhóm cử đại diện báo cáo: tóm tắt đặc tả hệ thống và bản thiết kế CDM.
- Giảng viên góp ý những điển chưa hợp lý và cách giải quyết vấn đề, để nhóm
sinh viên hoàn thiện đặc tả hệ thống và bản thiết kế CDM.
Kết quả cần đạt được:
Sinh viên hiểu được các nội dung chưa hợp lý và biết cách giải quyết vấn đề, để
hoàn thiện:
 Đặc tả hệ thống và phát biểu các ràng buộc toàn vẹn dữ liệu,
 Bản thiết kế CDM.

4. BÀI THỰC HÀNH 3

Mục tiêu:
Hoàn thiện bản thiết kế thành phần dữ liệu.
Yêu cầu:
Mỗi nhóm sinh viên cần chuẩn bị trước buổi thực hành:

Trang 115
 Bản thiết kế CDM (do nhóm chỉnh sửa theo góp ý của giảng viên ở buổi
thực hành 2).
 Bản thiết kế LDM, PDM.
Nội dung:
Giảng viên góp ý cho nhóm sinh viên:
 Bản thiết kế CDM
 Bản thiết kế LDM, PDM
Phương pháp thực hiện:
- Mỗi nhóm cử đại diện báo cáo:
 Kết quả chỉnh sửa CDM,
 Bản thiết kế LDM, PDM.
- Giảng viên góp ý những điển chưa hợp lý và cách giải quyết vấn đề, để nhóm
sinh viên hoàn thiện CDM, LDM và PDM.
Kết quả cần đạt được:
Sinh viên hiểu được các nội dung chưa hợp lý và biết cách giải quyết vấn đề, để
hoàn thiện CDM, LDM và PDM.

5. BÀI THỰC HÀNH 4

Mục tiêu:
Thiết kế thành phần xử lý.
Yêu cầu:
Mỗi nhóm sinh viên cần chuẩn bị trước buổi thực hành:
 Bản thiết kế DFD cấp ngữ cảnh,
 Bản thiết kế DFD cấp 1.
Nội dung:
Giảng viên thảo luận và góp ý cho nhóm sinh viên:
 Bản thiết kế DFD cấp ngữ cảnh,
 Bản thiết kế DFD cấp 1.
Phương pháp thực hiện:
- Mỗi nhóm cử đại diện báo cáo:
 Bản thiết kế DFD cấp ngữ cảnh,
 Bản thiết kế DFD cấp 1.
- Giảng viên góp ý những điển chưa hợp lý và cách giải quyết vấn đề, để nhóm
sinh viên hoàn thiện:
 Bản thiết kế DFD cấp ngữ cảnh,
 Bản thiết kế DFD cấp 1.
Kết quả cần đạt được:
Sinh viên hiểu được các nội dung chưa hợp lý và biết cách giải quyết vấn đề, để
hoàn thiện bản thiết kế DFD cấp ngữ cảnh và DFD cấp 1.
Trang 116
6. BÀI THỰC HÀNH 5

Mục tiêu:
Hoàn thiện bản thiết kế thành phần xử lý.
Yêu cầu:
Mỗi nhóm sinh viên cần chuẩn bị trước buổi thực hành:
 Bản thiết kế DFD cấp ngữ cảnh và DFD cấp 1 đã được chỉnh sửa theo
góp ý của giảng viên ở buổi thực hành 4,
 Bản thiết kế DFD cấp 2 đến cấp chi tiết.
Nội dung:
Giảng viên góp ý cho nhóm sinh viên:
 Bản thiết kế DFD cấp ngữ cảnh và DFD cấp 1 (do nhóm chỉnh sửa theo
góp ý của giảng viên ở buổi thực hành 4),
 Bản thiết kế DFD cấp 2 đến cấp chi tiết.
Phương pháp thực hiện:
- Mỗi nhóm cử đại diện báo cáo:
 Bản thiết kế DFD cấp ngữ cảnh và DFD cấp 1 (do nhóm sinh viên chỉnh
sửa theo góp ý của giảng viên ở buổi thực hành 4).
 Bản thiết kế DFD cấp 2 đến cấp chi tiết.
- Giảng viên góp ý những điển chưa hợp lý và cách giải quyết vấn đề, để nhóm
sinh viên hoàn thiện:
 Bản thiết kế DFD các cấp.
Kết quả cần đạt được:
Sinh viên hiểu được các nội dung chưa hợp lý và biết cách giải quyết vấn đề, để
hoàn thiện bản thiết kế DFD (từ cấp ngữ cảnh đến cấp chi tiết).

7. BÀI THỰC HÀNH 6

Mục tiêu:
Thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống.
Yêu cầu:
Mỗi nhóm sinh viên cần chuẩn bị trước buổi thực hành:
 Bản thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống.
Nội dung:
Giảng viên góp ý cho nhóm sinh viên:
 Bản thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống.
Phương pháp thực hiện:
- Mỗi nhóm cử đại diện báo cáo:
 Bản thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống.

Trang 117
- Giảng viên góp ý những điển chưa hợp lý và cách giải quyết vấn đề, để nhóm
sinh viên hoàn thiện:
 Bản thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống..
Kết quả cần đạt được:
Sinh viên hiểu được các nội dung chưa hợp lý và biết cách giải quyết vấn đề, để
hoàn thiện:
 Bản thiết kế mô hình thổng thể các module chức năng xử lý của hệ thống.

8. CÁC KẾT QUẢ CẦN ĐẠT ĐƯỢC

Mỗi nhóm thực hiện dự án phải viết một báo cáo, gồm các nội dung chính sau:
- Bản đặc tả hệ thống thông tin,
- Bản thiết kế thành phần dữ liệu: CDM, LDM, PDM và Các ràng buộc toàn vẹn,
- Bản thiết kế thành phần xử lý: DFD, Mô hình thổng thể các module chức năng
của hệ thống.

Trang 118
BÀI TẬP
Phân tích và thiêt kế các hệ thống thông tin sau:
1. Hệ thống quản lý các chương trình đào tạo của trường đại học Cần Thơ
2. Hệ thống quản lý các kế hoạch học tập mẫu của các ngành học cho mỗi khóa học
tại trường đại học Cần Thơ.
3. Hệ thống quản lý các kế hoạch học tập và đăng ký lớp học phần của sinh viên
trường đại học Cần Thơ.
4. Hệ thống quản lý kết quả học tập của sinh viên trường đại học Cần Thơ.
5. Hệ thống quản lý công tác đoàn tại trường Đại học Cần Thơ.
6. Hệ thống quản lý khám và điều trị bệnh ngoại trú tại một cơ sở y tế.
7. Hệ thống quan lý xuất nhập thuốc tại một bệnh viên
8. Hệ thống quan lý mua bán thuốc tại một nhà thuốc
9. Hệ thống quản lý thẻ bảo hiểm y tế.
10. Hệ thống quản lý các tours du lịch.
11. Hệ thống quản lý quán cafe và ăn sáng (hay nhà hàng / khách sạn).
12. Hệ thống quản lý cho vay mua nhà dự án của một ngân hàng.
13. Hệ thống quản lý cho vay tín chấp đối với công chức viên chức của một ngân
hàng.
14. Hệ thống quan lý gửi tiết kiệm tại một ngân hàng.
15. Hệ thống quản lý giảng dạy ở trường trung học phổ thông.
16. Hệ thống quản lý hồ sơ điểm ở trường trung học phổ thông.
17. Hệ thống quản lý đăng ký và tổ chức thi trung học phổ thông quốc gia.
18. Hệ thống quản lý đăng ký và xet tuyển đầu vào đại học dựa trên kết quả kỳ thi
trung học phổ thông quốc gia.
19. Hệ thống quản lý nuôi dạy trẻ tại một trường mẫu giáo.
20. Hệ thống quản lý mua bán hàng trực tuyến.
21. Hệ thống hỗ trợ giảng dạy và học tập trực tuyến (E-learning)
22. Hệ thống thông tin địa lý:
a. Cơ sở hạ tầng giao thông của một tỉnh/thành phố.
b. Cơ sở hạ tầng cấp thoát nước của một tỉnh/thành phố.
c. Cơ sở hạ tầng bưu chính viễn thông của một tỉnh/thành phố
d. Cơ sở hạ tầng điện lực của một tỉnh/thành phố

Trang 119
TÀI LIỆU THAM KHẢO
1. Peter Pin-Shan Chen, The entity-relationship model—toward a unified view of
data, ACM Transactions on Database Systems (TODS), v.1 n.1, p.9-36, March
1976 [doi>10.1145/320434.320440]
2. Jeffrey A. Hffer, Joey F. George, Joseph S. Valacich, Modern System Analysis and
Design, Prentice Hall, 2002.
3. Jason Lankow, Josh Ritchie, Ross Crooks (2012). Infographics: The Power of
Visual Storytelling. ISBN: 978-1-118-31404-3, Wiley.
4. Marinilli, M. (2002). The Theory Behind User Interface Design, Part One,
http://www.developer.com/design/article.php/1545991.
5. Đinh Khắc Quyền, Giáo trình Phân tích hệ thống, Đại học Cần Thơ, 2003
6. Phạm Thị Xuân Lộc, Giáo trình Phân tích thiết kế hệ thống, Đại học Cần Thơ.
7. Nguyễn Văn Vỵ, Phân tích và Thiết kế Hệ thống thông tin quản lý, 2007
8. Trần Thành Trai, Giáo trình Phân tích và thiết kế hệ thống thông tin quản lý, Nhà
xuất bản thống kê, 1994.

Trang 120

You might also like