ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
BÀI THU HOẠCH
MÔN PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC TRONG TIN HỌC
TÌM HIỂU VÀ ÁP DỤNG CÁC NGUYÊN LÝ GIẢI QUYẾT VẤN ĐỀ
TRONG CÁC ỨNG DỤNG TIN HỌC
GIẢNG VIÊN HƯỚNG DẪN
GS.TSKH HOÀNG KIẾM
HỌC VIÊN THỰC HIỆN
NGUYỄN SỬ VIỆT
MSSV: CH1101156
TPHCM 04-2012
Trang 1
MỤC LỤC
1. Đặt vấn đề 3
2. Mục đích của bài thu hoạch 3
3. Nội dung của bài thu hoạch 3
3.1. Nguyên lý phân nhỏ 4
3.2. Nguyên lý tách khỏi 5
3.3. Nguyên lý phẩm chất cục bộ 6
3.4. Nguyên lý phản đối xứng 7
3.5. Nguyên lý kết hợp 8
3.6. Nguyên lý vạn năng 9
3.7. Nguyên lý chứa trong 10
3.8. Nguyên lý dự phòng 11
3.9. Nguyên lý đảo ngược 13
3.10. Nguyên lý vượt nhanh 14
3.11. Nguyên lý rẻ thay cho đắt 14
3.12. Nguyên lý đổi màu 15
3.13. Nguyên lý sử dụng trung gian 17
3.14. Nguyên lý sao chép(copy) 17
3.15. Nguyên lý loại bỏ và tái sinh từng phần 18
3.16. Nguyên lý đồng nhất 19
3.17. Nguyên lý thay thế sơ đồ cơ học 19
3.18. Nguyên lý tự phục vụ 20
3.19. Nguyên lý quan hệ phản hồi 20
3.20. Nguyên lý chuyển bại thành thắng 21
3.21. Nguyên lý thực hiện sơ bộ 21
3.22. Nguyên lý năng động 22
3.23. Nguyên lý tác động theo chu kỳ 24
3.24. Nguyên lý gây ứng suất sơ bộ 25
3.25. Nguyên lý chuyển sang chiều khác 25
3.26. Nguyên lý tác động bộ phận và dư thừa 26
3.27. Nguyên lý đổi các thông số hóa lý của đối tượng 27
3.28. Nguyên lý phản trọng lượng 28
3.29. Nguyên lý sử dụng các kết cấu thủy và khí 29
3.30. Nguyên lý tác động liên tục hữu hiệu 30
Trang 2
3.31. Nguyên lý đẵng thế 30
3.32. Nguyên lý sử dụng vỏ dẻo và màng mỏng 31
3.33. Nguyên lý sử dụng vật liệu nhiều lỗ 32
3.34. Nguyên lý sử dụng nở nhiệt 34
3.35. Nguyên lý sự dao động cơ học 35
3.36. Nguyên lý sử dụng chuyển pha 36
3.37. Nguyên lý cầu(tròn) hóa 39
3.38. Nguyên lý sử dụng các chất oxy hóa 39
3.39. Nguyên lý sử dụng môi trường trơ 40
3.40. Nguyên lý sử dụng vật liệu tổng hợp(composit) 40
3.41. Ứng dụng các nguyên lý vào việc tin học quản lý hành chính nhà nước 41
4. Tài liệu tham khảo 43
5. Lời kết 43
Trang 3
MỞ ĐẦU
1. Đặt vấn đề
Như chúng ta đã biết mỗi một ngành khoa học điều tồn tại những đối tương, vấn đề và
mục đích nghiên cứu khác nhau, vì vậy mà mỗi ngành khoa học điều có những
phương pháp tiếp cận và giải quyết vấn đề của chuyên ngành. Tuy nhiên các phương
pháp tiếp cận đặt thù của chuyên ngành ấy bao giờ cũng được xây dựng và dựa trên
một số nguyên lý giải quyết vấn đề cơ bản như: nguyên lý phân nhỏ, nguyên lý tách
khỏi, nguyên lý kết hợp… Hiện nay các nguyên lý giải quyết vấn đề này đã được
nghiên cứu và áp dụng rộng rãi vào trong tất cả các lĩnh vực khoa học và đời sống
hàng ngày. Tuy nhiên đối với lĩnh vực tin học hiện nay thì các nguyên lý này sẽ được
áp dụng như thế nào? Và áp dụng cụ thể vào trong những trường hợp nào? Chúng ta
hãy cùng tìm hiểu và giải quyết vấn đề đặt ra.
2. Mục đích của bài thu hoạch
Hệ thống lại kiến thức của môn học, giúp cho chúng ta hiểu và vận dụng được các
nguyên lý trong việc giải quyết các bài toán tin học, làm cơ sở và nền tảng cho việc
nghiên cứu và ứng dụng vào một số lĩnh vực như: công nghệ tri thức, công nghệ phần
mềm, hệ thống thông tin…, đồng thời cũng giúp cho chúng ta có được những nguyên
lý khoa học cơ bản, khi tiếp cận và tìm kiếm các phương pháp mới hơn nhằm giải
quyết các vấn đề tin học mà bấy lâu con người vẫn chưa giải quyết được.
3. Nội dung của bài thu hoạch
Bài thu hoạch chủ yếu tập trung vào việc tìm hiểu và áp dụng các nguyên lý giải quyết
vấn đề vào trong tin học, nêu rõ một số trường hợp áp dụng vào các lĩnh vực như: hệ
thống thông tin, thương mại điện tử, chính phủ điện tử…Toàn bộ nội dung bài thu
hoạch bao gồm 40 nguyên lý như sau:
Trang 4
3.1. Nguyên lý phân nhỏ
Nội dung(nguồn internet):
- Chia các đối tượng thành các thành phần độc lập.
- Làm cho đối tượng trở nên tháo ráp được.
- Tăng mức độ phân nhỏ của đối tượng.
Nhận xét:
- Từ "đối tượng" trong 40 nguyên tắc, cần hiểu theo nghĩa rộng. Đó có thể bất kỳ cái
gì có khả năng phân nhỏ được, không nhất thiết phải là đối tượng kỹ thuật.
- Thủ thuật này thường dùng trong những trường hợp khó làm "trọn gói", "nguyên
khối", "một lần". Nói cách khác, phân nhỏ ra cho vừa sức, cho dễ thực hiện, cho
phù hợp với những phương tiện hiện có
- Phân nhỏ đặc biệt hay dùng trong những trường hợp cần có bề mặt tiếp xúc lớn
như trong các phản ứng hoá học, tạo sự cháy nổ, trao đổi nhiệt.
- Tháo lắp làm cho đối tượng trở nên nhỏ gọn, thuận tiện cho việc chuyên chở, xếp
đặt và khả năng thay thế từng bộ phận đối tượng, kể cả việc mở rộng chức năng
của từng bộ phận đó.
- Cần tưởng tượng: nhờ phân nhỏ mà đối tượng, ban đầu ở thể rắn, chuyển dần sang
dẻo, lỏng khí, plasma , nói chung, có thể phân nhỏ đến vi mô.
- Sự thay đổi về lượng dẫn đến sự thay đổi về chất, cho nên, phân nhỏ có thể làm đối
tương có thêm những tính chất mới, thậm chí, ngược với tính chất đã có.
Áp dụng vào trong tin học:
Nguyên lý phân nhỏ được áp dụng rất nhiều trong lĩnh vực tin học, khi ta giải quyết
một bài toán lớn thì có thể phân rã bài toán lớn thành nhiều bài toán nhỏ hơn, phân rã
thành các hàm, thủ tục, phân hệ, chức năng, gói Việc phân rã này giúp ta kiểm tra
được tính đúng đắn của từng lời giải và điều quan trọng là ta có thể dùng lại các hàm
và thủ tục sau khi phân rã.
- Để viết một hàm tìm số lớn nhất trong 3 số nguyên x,y,z ta có thể phân rã thành
các hàm như sau:
o Hàm tìm Max giữa hai số bất kỳ a và b: int Max(int a, int b).
o Sau đó để tìm Max giữa 3 số nguyên x, y, z ta có thể gọi hàm như sau:
Max(Max(a,b),Max(b,c).
Trang 5
- Để xây dựng một phần mềm quản lý nhân sự ta có thể chia phần mềm thành các
phân hệ: tuyển dụng, nhân sự, đào tạo, đánh giá, chấm công, tiền lương, bảo
hiểm…
- Để thiết kế cơ sở dữ liệu cho một hệ thống thông tin ta có thể thiết kế riêng từng
packet tương ứng với các nhóm chức năng(use case).
- Để gởi 1 tập tin có kích thước lớn từ máy tính A sang máy tính B ta có thể chia
nhỏ tập tin thành các byte, kilobyte, …
- Để đảm bảo được tính nhất quán của các đơn vị dữ liệu, khi thêm, xóa hay sửa một
đơn vị dữ liệu ta thường phân rã các giao tác(transaction) thành các thao tác riêng
biệt.
- Lĩnh vực điện toán đám mây(cloud computing), khi xây dựng một hệ thống phần
mềm, các nhà phát triển đã phân tách ra thành nhiều thành phần module hoặc
service khác nhau, cùng chia sẻ tài nguyên. Với công nghệ ảo hóa, thì mỗi thành
phần có thể được phát triển trên các máy ảo khác nhau, khi cần thì kết nối và chia
sẻ tài nguyên. Một ví dụ là về xây dựng một ứng dụng web: cơ sở dữ liệu được đặt
trong một máy ảo, server web đặt trong một máy ảo, việc phát triển lại được thực
hiện trong một máy ảo riêng(nguồn từ internet).
3.2. Nguyên lý tách khỏi
Nội dụng:
- Tách thành phần gây phiền phức ra khỏi đối tượng hoặc ngược lại, tách lấy phần
phân biệt.
Áp dụng vào trong tin học:
- Áp dụng vào việc xây dựng các phần mềm nhận dạng tiếng nói, hình ảnh… trước
khi đưa âm thanh hay hình ảnh vào nhận dạng ta thường phải thực hiện một số
thao tác như: loại bỏ nhiễu, các tạp âm,…
- Áp dụng vào các bài toán duyệt danh sách, ví dụ ta có thể tách 1 mảng các số
nguyên thành 2 mảng âm và dương, ta có thể tìm và xóa 1 nhân viên ra khỏi hệ
thống…
- Để tiết kiệm thời gian và chi phí ta có thể xây dựng các website đào tạo trực tuyến,
học sinh, sinh viên không phải đến trường mà vẫn nghe được bài giảng, lời nói của
giáo viên.
Trang 6
- Để khai thác được các tri thức tìm ẩn bên trong các kho dữ liệu lớn, người ta có
thể dùng 1 số thuật toán để rút trích được các thông tin có ích, áp dụng vào việc
xây dựng các phần mềm chẩn đoán bệnh, hỗ trợ các hệ thống ra quyết định…
- Lĩnh vực điện toán đám mây(cloud computing), với điện toán đám mây, người
dùng không còn phải trực tiếp cài đặt phần mềm hay lưu trữ dữ liệu trên thiết bị cá
nhân vì tất cả đã được xử lý trên máy chủ và người dùng chỉ cần thông qua Internet
để truy cập và xử lý. Nhờ đó các máy tính cá nhân hay smartphone, PDA không
cần phải có cấu hình quá mạnh hay có khả năng lưu trữ nhiều mà chủ yếu chỉ cần
có thể kết nối Intenet, truy cập dữ liệu thông qua trình duyệt.Trong công nghệ ảo
hóa, để giảm thời gian khởi động hoặc tắt máy cũng như tăng hiệu suất thực thi
một dịch vụ nào đó, ta có thể tách những dịch vụ không cần thiết phải chạy song
song sang một máy ảo, và khi cần thì chỉ cần chạy máy ảo đó để kết nối đến. Một
ví dụ cơ bản là khi lập trình phần mềm có truy cập cơ sở dữ liệu, ta có thể cài đặt
cơ sở dữ liệu trong một hệ điều hành ảo, như vậy khi máy thật khởi động hay đang
chạy sẽ nhanh hơn vì không tốn tài nguyên cho dịch vụ của cơ sở dữ liệu mà khi
nào cần sử dụng, chỉ cần chạy máy ảo và kết nối đến(nguồn internet).
3.3. Nguyên lý phẩm chất cục bộ
Nội dung:
- Chuyển đối tượng(hay môi trường bên ngoài, tác động bên ngoài) có cấu trúc đồng
nhất thành không đồng nhất.
- Các thành phần khác nhau của đối tượng phải có các chức năng khác nhau.
- Mỗi phần của đối tượng phải có các chức năng khác nhau.
- Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp nhất của công việc
Áp dụng vào trong tin học:
- Khi phân tích và thiết kế một thuật toán, ta phải xác định những chổ nào ảnh
hưởng đến thời gian thực hiện hay độ phức tạp của thuật toán.
- Trong quá trình quản trị một dự án phần mềm ta phải xác định được giai đoạn nào
cần nhiều nguồn lực và thời gian nhất?, xác định được đâu là rũi ro của dự án.
- Trong quá trình triển khai một phần mềm, nếu như phần mềm không áp dụng được
thì ta phải xác định được nguyên nhân: các chức năng của phần mềm không đáp
ứng, phần mềm có nhiều lỗi, con người không biết sử dụng…
Trang 7
- Khi phân tích và thiết kế một hệ thống thông tin ta thường áp dụng phương pháp
“vết dầu loang”, có nghĩa là ta xác định được vấn đề trong tâm của hệ thống, rồi từ
đó có thể loang sang các vấn đề khác.
- Lĩnh vực điện toán đám mây, trong công nghệ ảo hóa, nguyên lý này được thực thi
một cách rất rõ ràng: hệ thống phần mềm hay lưu trữ được phân tách ra làm nhiều
module, và một module được phát triển trên một nền tảng hệ điều hành riêng biệt
để tối ưu hóa khả năng thực thi của chương trình(nguồn internet).
3.4. Nguyên lý phản đối xứng
Nội dung:
- Chuyển đối tượng có hình dạng, tính chất đôí xứng thành phản đối xứng.
Nhận xét:
- Từ "hình dạng", phát biểu trong thủ thuật này cần hiểu rộng, không chỉ thuần tuý
theo nghĩa hình học.
- Giảm bậc đối xứng, ví dụ chuyển từ hình tròn thành hình ôvan, hình vuông sang
hình chữ nhật,
- Thủ thuật này rất có tác dụng trong việc khắc phục tính ì tâm lý, cho rằng các đối
tượng phải có hình dạng đối xứng.
- Khi đối tượng chuyển sang dạng ít đối xứng hơn, có thể làm xuất hiện những tính
chất mới lợi hơn. Ví dụ tận dụng được những nguồn dự trữ về không gian (nói
chung là các khả năng tìm ẩn), làm đối tượng ổn định hơn, bền vững hơn,
Áp dụng vào tin học
- Áp dụng nguyên lý phản đối xứng để kiểm tra 1 quan hệ có phải là quan hệ thứ tự
hay không?.
- Áp dụng nguyên lý phản đối xứng vào việc xây dựng các thuật toán mã hóa.
- Áp dụng nguyên lý phản đối xứng vào việc kiểm tra các ma trận lưu trữ trọng số
trong các bài toàn tìm đường đi.
- Áp dụng nguyên lý phản đối xứng trong việc xây dựng các thuật toán đồ họa máy
tính.
Trang 8
3.5. Nguyên lý kết hợp
Nội dung:
- Kết hợp các đối tượng(có thể hiểu là các bộ phận, dụng cụ, nhu cầu…) hay kết hợp
về mặt thời gian các hoạt động nhằm mang lại tính năng vượt trội cho sản phẩm
hay giải pháp đó. Nguyên tắc này được vận dụng rất phổ biến trong hầu hết mọi
lĩnh vực của cuộc sống. Trong thực tế, các quá trình, sự kiện, yếu tố thường đan
xen và có những mối quan hệ hữu cơ với nhau, do đó luôn tồn tại khả năng kết hợp
để nâng cao hiệu quả.
Áp dụng vào tin học:
- Kết hợp nhiều máy tính nối mạng với nhau để truyền nhận dữ liệu.
- Xây dựng các thuật toán xử lý song song trên các server khác nhau, sau đó tổng
hợp kết quả để có lời giải cuối cùng.
- Xây dựng các phần mềm có thể kết hợp(giao tiếp) được với các dịch vụ phần mềm
khác như: window service, webservice,
- Xây dựng các website có thể sử dụng được nhiều loại trình duyệt như internet
explorer, Firefox… bằng cách kết hợp nhiều source code javascipt tương ứng.
- Xây dựng các data provider có thể kết nối được với nhiều hệ quản trị cơ sở dữ liệu:
Access, SQL server, My SQL, DB2, Oracle…
- Trong quá trình phân tích và thiết kế các hệ thống thông tin ta thường sử dụng mô
hình thực thể kết hợp(ER) để thể hiện mối quan hệ giữa các đối tượng với nhau.
- Trong ngôn ngữ truy vấn cơ sở dữ liệu SQL server ta thường sử dụng các phép kết
để rút trích thông tin giữa các table.
- Trong kỹ thuật lập trỉnh để làm 1 bài toán khó ta thường phân rã bài toán đó ra
thành nhiều bài toán nhỏ hơn bằng phương pháp “chia để trị”, sau đó tiến hành cài
đặt từng hàm, thủ tục, và cuối cùng là phối hợp tất cả các hàm lại với nhau để cho
ra lời giải cuối cùng.
- Ứng dụng vào các hệ thống giao dịch trực tuyến(internet banking, core banking)
của các ngân hàng. Ngày nay đa số các ngân hàng đã liên minh với nhau trong việc
xử lý các giao dịch của khách hàng. Vì vậy đòi hỏi ở mỗi ngân hàng phải có các
phần mềm xử lý giao dịch cho phép liên thông, kết nối, phối hợp và đồng bộ với
các ngân hàng khác.
Trang 9
- Ứng vào trong lĩnh vực thương mại điện tử(thanh toán trực tuyến), xây dựng các
website mua bán trực tuyến trên internet, cho phép kết hợp với các hệ thống ngân
hàng để có thể thanh toán qua mạng.
- Kết hợp tin học với các ngành khác như: toán học, vật lý, sinh học,y học…nhằm
xây dựng một số công cụ, máy móc có thể giúp con người giải quyết được một số
vấn đề như: chẩn đoán bệnh, chụp X quang, CT, siêu âm…
- Kết hợp nhiều màu sắc để xây dựng một số phần mềm mô tả thế giới thực.
- Kết hợp nhiều bộ thư viện(DLL, module…) thuộc các hãng(microsoft, oracle,
ibm…) khác nhau để cho ra các sản phẩm mới.
- Xây dựng các phần mềm cho phép chia sẽ, dùng chung, nhằm kết hợp nhiều người
với nhau để lập trình, ví dụ như phần mềm source safe, quản lý các file theo cơ chế
check in, check out, cho phép nhiều người cùng lập trình.
- Lĩnh vực điện toán đám mây, trong công nghệ ảo hóa, một máy chủ thật sẽ được
cài đặt nhiều máy chủ ảo để thực thi những công việc khác nhau và có thể dễ dàng
kết nối, chia sẻ tài nguyên. Trong điện toán đám mây, người ta đã kết hợp được
sức mạnh của công nghệ ảo hóa, Internet băng thông rộng và sự phát triển của viễn
thông với các công nghệ kết nối như Wifi, 3G,… để ngày càng cho ra đời những
dịch vụ, phần mềm trực tuyến mạnh mẽ mà người dùng có thể ở bất cứ đâu, vào
bất cứ thời điểm nào, dùng bất cứ thiết bị gì có thể kết nối Internet đều có thể truy
cập và sử dụng(nguồn internet).
3.6. Nguyên lý vạn năng
Nội dung:
- Đối tượng thực hiện một số chức năng khác nhau, do đó không cần sự tham gia
của đối tượng khác.
- Nguyên tắc vạn năng là trường hợp riêng của nguyên tắc kết hợp: kết hợp về mặt
chức năng trên cùng một đối tượng.
- Nguyên tắc vạn năng, trước tiên và hay được dùng trong các lĩnh vực, tại đó có
những sự hạn chế việc phát triển theo “chiều rộng” như khó có thể tăng thêm về
trọng lượng, thể tích, diện tích… Các lĩnh vực đó là quân sự, hàng không, vũ trụ,
thám hiểm, du lịch, các trang thiết bị dùng tại những nơi chật chội…
Trang 10
- Nguyên tắc vạn năng đóng vai trò quan trọng trong thiết kế, chế tạo, dự báo…, vì
nó phản ánh khuynh hướng phát triển, tăng số chức năng mà đối tượng có thể thực
hiện được.
Áp dụng trong tin học:
- Trong kỹ thuật lập trình ta có thể xây dựng một hàm hay một thủ tục thực hiện
nhiều yêu cầu khác nhau dựa vào các tham số đầu vào. Ví dụ ta có thể thiết kế 1
hàm đồ họa có thể vẽ hình tròn hay hình elip dựa vào các tham số truyền vào.
- Trong một số ngôn ngữ lập trình cấp cao như c#, visual basic.net ta có thể viết
nhiều hàm, thủ tục có tên giống nhau, mỗi hàm và thủ tục thực hiện các yêu cầu
khác nhau.
- Xây dựng các phần mềm có thể chạy trên nhiều hệ điều hành khác nhau, ví dụ như
ngôn ngữ lập trình java, hệ quản trị cở sở dữ liệu MySQL, Oracle, DB2… có thể
chạy trên hệ điều hành windows và linux.
- Xây dựng một hệ điều hành đa nhiệm có thể xử lý cùng lúc nhiều tiến trình, ví dụ
như hệ điều hành window, ta có thể vừa nghe nhạc vừa soạn thảo văn bản.
- Lĩnh vực điện toán đám mây, nguyên lý này được thể hiện rõ nét trong công nghệ
ảo hóa. Trên một máy tính vật lý, người ta có thể tạo nhiều máy ảo chạy những hệ
điều hành khác nhau từ thông thường đến server để thực hiện nhiều tác vụ cùng
một lúc. Một ví dụ như sau: một máy tính thật cài hệ điều hành Windows 7, một
máy ảo Linux Server để làm máy chủ web, một máy ảo Windows Server 2003 để
cài đặt cơ sở dữ liệu, một máy ảo Windows XP để thử nghiệm và giải trí,… điều
này đặc biệt thuận lợi cho người dùng hoặc những công ty vừa và nhỏ muốn có
một hệ thống mạng để xử lý công việc và lưu trữ dữ liệu. Nhờ vậy chúng ta không
còn phải bận tâm quá nhiều đến việc mua bổ sung thêm những máy tính vật lý,
đồng thời làm tăng hiệu suất hoạt động của máy lên nhiều lần(nguồn internet).
3.7. Nguyên lý chứa trong
Nội dung:
- Một đối tượng được đặt bên trong đối tượng khác và bản thân nó lại chứa đối
tượng thứ ba
- Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.
Trang 11
Nhận xét:
- "Chứa trong" cần hiểu theo nghiã rộng, không chỉ đơn thuần theo nghĩa không
gian. Ví dụ, khái niệm này nằm trong khái niệm khác, lý thuyết này nằm trong lý
thuyết khác, chung hơn
- "Chứa trong" chỉ ra hướng tận dụng những nguồn dự trữ có sẵn trong đối tượng,
cụ thể là phần thể tích bên trong đối tượng. Nếu để ý quan sát ta sẽ thấy rất nhiều
đối tượng vẫn còn chưa được khai thác "tiềm năng" này.
- "Chứa trong" làm cho đối tượng có thêm những tính chất mới mà trước đây chưa
có như : gọn hơn, tăng độ an toàn, bền vững, tiết kiệm năng lượng, linh động hơn
Áp dụng trong tin học:
- Dữ liệu đường truyền dẫn bên trong các sợi dây cáp.
- Bên trong một hàm hay một thủ tục có thể gọi một hàm hay một thủ tục khác.
- Các tập tin được chứa bên trong các thư mục.
- Sau khi đăng nhập thành công vào phần mềm, web site ta mới được phép truy cập
vào các chức năng bên trong.
- Bên trong các file ảnh là các điểm ảnh rời rạc.
- Khi thiết kế các màn hình ứng dụng web ta thường áp dụng chuẩn view\edit, nghĩa
là từ màn hình danh sách ta có thể đi vào màn hình edit bên trong.
- Lĩnh vực điện toán đám mây, nguyên lý này được thể hiện rất rõ trong công nghệ
ảo hóa: bên trong một máy chủ vật lý sẽ được cài đặt nhiều máy chủ ảo để có thể
lưu trữ và xử lý những tác vụ chuyên biệt.
3.8. Nguyên lý dự phòng
Nội dung:
- Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị các phương tiện
báo động, ứng cứu, an toàn
Nhận xét:
- Ít có cộng việc nào có thể thực hiện với độ tin cậy tuyệt đối. Đấy là chưa kể điều
kiện, mội trường, hoàn cảnh với thời gian cũng thay đổi. Do vậy cần phải tiên liệu
trước những mạo hiểm, rủi ro, tai nạn, ốm đau, bệnh tật, thiên tai có thể xảy ra mà
có phương pháp phòng ngừa từ trước.
Trang 12
- Có thể nói, chi phí dự phòng là chi phí thêm, không mong muốn, khuynh hướng
phát triển là tăng độ tin cậy của đối tượng, công việc. Để làm điều đó cần sử dụng
các vật liệu mới, các hiệu ứng mới, cách tổ chức mới …
- Tinh thần chung của nguyên tắc này là cảnh giác và chuẩn bị biện pháp đối phó từ
trước.
Áp dụng vào tin học:
- Để đảm bảo độ an toàn cho các hệ thống phần mềm, tránh trường hợp xảy ra các
sự cố như: thiên tai, hỏa hoạn, ỗ cứng, server bị hư, tin tặc tấn công, ta có thể xây
dựng các chức năng backup dữ liệu tự động định kỳ. Ví dụ như các hệ thống dữ
liệu về ngân hàng, chứng khoán…
- Khi lập kế hoạch dự án triển khai phần mềm, để đảm bảo cho dự án triển khai
thành công ta cần phải lưu ý đến việc backup nhân sự, dự phòng cho trường hợp
nhân viên thôi việc, đau bệnh…
- Sau khi chỉnh sửa các lỗi phần mềm hay bổ sung thêm các yêu cầu mới, trước khi
update phiên bản mới ta cần backup phiên bản cũ. Nếu phiên bản mới không hoạt
động được thì ta phải khôi phục lại phiên bản cũ, tránh trường hợp bị dán đoạn
công việc của khách hàng.
- Khi kiểm thử các phần mềm, ta cần phải thử trên nhiều môi trường, đơn vị dữ liệu
khác nhau, tránh trường hợp khi đem triển khai thực tế thì bị lỗi, Ví dụ khi test
phần mềm ta phải test tên nhiều hệ điều hành khác nhau.
- Lĩnh vực điện toán đám mây(cloud computing), thất thoát dữ liệu là một trong
những vấn đề nóng bỏng nhất trong thế giới công nghệ hiện nay. Những nhà cung
cấp dịch vụ điện toán đám mây tin rằng với việc người dùng không lưu trữ bất kỳ
dữ liệu nào trên máy cá nhân, mà tất cả được tập trung và xử lý trên máy chủ của
nhà cung cấp sẽ làm hạn chế tổn thất về dữ liệu vì nhà cung cấp sẽ có nhiệm vụ và
tập trung hơn trong việc đảm bảo an toàn.Thêm nữa, việc sử dụng các phần mềm
nền web sẽ giảm thiểu khả năng xung đột giữa các phần mềm trong máy vì người
dùng không cần phải cài đặt mà chỉ cần thông qua trình duyệt để xử dụng các dịch
vụ online.Trong công nghệ ảo hóa, người dùng dễ dàng tạo ra những máy chủ lưu
trữ và backup thông tin. Ví dụ chúng ta có thể tạo ra 3 máy ảo khác nhau, một máy
dùng để truy cập Internet, một máy không truy cập Internet mà chỉ nối mạng nội
Trang 13
bộ để xử lý công việc, một máy không truy cập Internet mà chỉ nối mạng nội bộ để
thực hiện việc backup dữ liệu. Điều này có thể dễ dàng thực hiện mà không cần
tốn thêm tiền để mua các máy vật lý cùng các thiết bị kết nối mạng(nguồn
internet).
3.9. Nguyên lý đảo ngược
Nội dung:
- Thay vì hành động theo nhu cầu của bài toán, hành động ngược lại (ví dụ không
làm nóng mà làm lạnh đối tượng).
- Làm phần chuyển động của đối tượng (hay mội trường bên ngoài) thành đứng yên
và ngược lại phần đứng yên thành chuyển động.
- Lật ngược đối tượng
Nhận xét:
- Việc xét khả năng lật ngược vấn đề, trên thật tế là xem xét “nữa kia” của hiện thực
khách nhằm mục đích tăng tính bao quát, toàn diện, đầy đủ và khắc phục tính ì tâm
lý.
- Về mặt suy nghĩ, khi giải bài toán cho trước (bài toán thuận), người giải nên xem
xét giải quyết bài toán ngược và khả năng đem lại lợi ích của việc giải ngược trong
những điều kiện, hoàn cảnh cụ thể nào, để tận dụng nó.
Áp dụng vào trong tin học:
- Một bài toán tin học về logic mệnh đề, khi cần chứng minh một đề là đúng ta
thường dùng phương pháp phản chứng, giả sử rằng mệnh đề đó là sai, và ta đi tìm
cái mẫu thuẫn, và cuối cùng kết luận mệnh đề đó là đúng.
- Trong một số ngôn ngữ lập trình(C, Visual basic…) thay vì đi xét một số biểu thức
logic có giá trị “true” thì ta lại xét có giá trị “false”.
- Ngôn ngữ lập trình java cho phép ta tự xây dựng 1 framework đảo ngược điều
khiển(Inversion of Control) bằng cách dùng Java Reflection để khởi tạo đối tượng
động.
- Áp dụng vào một số thuật toán mã hóa va hàm băm thông tin
Trang 14
3.10. Nguyên lý vượt nhanh
Nội dung:
- Vượt qua những giai đoạn có hại hoặc nguy hiểm với vận tốc lớn
- Vượt nhanh để có được hiệu ứng cần thiết
Nhận xét:
- Nếu tác động là có hại thì có thể làm cho nó không còn có hại nữa bằng cách giảm
thời gian tác động đến tối thiểu, hay nói cách khác phải vượt qua nó càng nhanh
càng tốt để có được độ an toàn cao.
- Trong nhiều trường hợp, đối tượng phải làm việc với những quá trình xảy ra
nhanh. Để có sự phù hợp, để có được những kết quả cần thiết, bản thân đối tượng
phải chuyển sang trạng thái "vượt nhanh".
Áp dụng vào tin học:
- Để nâng cao hiệu quả của việc xử lý và tính toán, ta thiết kế các cpu có thể thực
hiện vài tỷ phép tính trên 1 giây.
- Đễ hỗ trợ cho việc kinh doanh, dự đoán, dự báo… ta có thể xây dựng các hệ hỗ trợ
ra quyết định thay vì phải làm bài toán thống kê truyền thống.
- Để cho thuật toán chạy nhanh hơn, ta có thể tối ưu các thuận toán với độ phức tạp
thấp nhất.
- Trong các ngôn ngữ lập trình(c, pascal, visual basic, T-SQL…) ta có thể sử dụng
các lệnh như: go to, break, exit… để thời gian thực thi nhanh hơn.
- Khi xây dựng các hàm, thủ tục ta cần phải tối ưu thuật toán bằng cách đánh giá độ
phức tạp của thuật toán.
3.11. Nguyên lý rẻ thay cho đắt
Nội dung:
- Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng kém hơn.
Nhận xét:
- Có nhiều nguyên nhân để ta phải thay thế đối tượng đắt tiền bởi đối tượng rẻ tiền,
ví dụ: dùng một lần để khỏi mất thời gian bảo hành, sửa chữa… Đáp ứng được nhu
cầu nhiều người sử dụng (vừa túi tiền)…
Trang 15
Áp dụng trong tin học:
- Thay vì sử dụng các phần mềm có bản quyền, chúng ta có thể sử dung các phần
mềm open source.
- Thay vì mua các phần mềm nước ngoài ta có thể mua các phần mềm trong nước.
- Thay vì dùng con người để làm các công việc nguy hiểm, ta có thể lập trình cho
các robot thực hiện thay công việc.
- Thay vì dùng hàng tấn giấy để lưu trữ dữ liệu, ta có thể dùng 1 ỗ cứng vài trăm GB
- Thay vì dùng bác sỹ để khám bệnh ta có thể dùng 1 số phần mềm để chẩn đoán
bệnh dựa vào các triệu chứng.
- Dịch vụ điện toán đám mây có thể giúp cho các doanh nghiệp tiết kiệm được rất
nhiều chi phí, doanh nghiệp không cần phải đầu tư nhiều vào hạ tầng phần cứng và
phần mềm, các dịch vụ này có thể thuê từ các công ty cung cấp dịch vụ. Trong
điện toán đám mây, các dịch vụ được cung cấp theo nhiều phiên bản khác nhau.
Với người dùng thông thường có thể dùng phiên bản miễn phí hoặc giá rẻ tuy phải
chịu một số phiền phức như dung lượng lưu trữ, quảng cáo. Người dùng cao cấp
hơn hoặc công ty có thể sử dụng theo thuê bao hàng tháng hoặc hàng năm với chất
lượng tốt hơn. Tuy vậy, với sự phát triển như vũ bão hiện nay của công nghệ, thì
sự cạnh tranh giữa những nhà cung cấp dịch vụ càng lớn, vì thế rất nhiều website
cung cấp dịch vụ miễn phí mà chất lượng rất cao ra đời, đáp ứng nhu cầu của đại
đa số người dùng. Với công nghệ ảo hóa, người dùng thông thường hoặc công ty
vừa và nhỏ có thể giảm thiểu chi phí phải trả cho việc thiết lập hệ thống mạng hoặc
máy chủ, thay vào đó chỉ cần đầu tư một máy chủ vật lý tốt, và trên đó có thể cài
đặt nhiều hệ thống máy chủ khác, đáp ứng tốt nhu cầu công việc.(nguồn internet)
3.12. Nguyên lý đổi màu
Nội dung:
- Thay đổi màu sắc của đối tượng hay môi trường bên ngoài.
- Thay đổi độ trong suốt của của đối tượng hay môi trường bên ngoài.
- Để có thể quan sát được những đối tượng hoặc những quá trình, sử dụng các chất
phụ gia màu, hùynh quang.
- Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử đánh dấu.
- Sử dụng các hình vẽ, ký hiệu thích hợp
Trang 16
Áp dụng vào tin học:
- Một số ứng dụng phần mềm có tính chất mô phỏng, để tăng tính tính trực quan ta
thường dùng các màu sắc khác nhau để minh họa.
- Áp dụng thuật toán tô màu bản đồ thế giới với số màu ít nhất.
- Trong các ứng dụng phần mềm, các câu thông báo có tính chất nhắc nhở, thông
báo lỗi… ta thường dùng màu đỏ để hiển thị.
- Trong một số phần mềm ứng dụng ta thường dùng màu sắc đi kèm với các con số,
ví dụ như:
o Dùng các màu sắc khác nhau để thống kê số lượng các hóa đơn “còn hạn”
và hóa đơn “chờ thanh lý”
o Phần mềm quản lý lịch công tác tuần, ta thường dùng các màu sắc khác
nhau để phân biệt lịch nào đã họp xong, lịch chờ duyệt, lịch dự kiến…
o Phần mềm quản lý bầu cử quốc hội năm 2011, mục tiêu là xây dựng 1 phần
mềm nhằm giúp sở nội vụ TPHCM thực hiện các giai đoạn: chuẩn bị bầu
cử, tiến hành và báo cáo kết quả bầu cử. Để giúp cho các lãnh đạo Thành
phố theo dõi được tiến độ, số lượng cư tri đi bầu, tình hình kiểm phiếu ở các
điểm bầu cử, ta thường áp dụng các màu sắc như sau:
Màu xanh lục: các điểm mà số cử tri đi bầu >50% và <90%
Màu đỏ: các điểm mà số cử tri đi bầu <50%
Màu xanh lam: các điểm mà số cử tri đi bầu >90%
Dựa vào các màu sắc này mà các lãnh đạo có thể nắm được số liệu và có
những chỉ đạo kịp thời.
Trang 17
3.13. Nguyên lý sử dụng trung gian
Nội dung:
- Sử dụng đối tượng trung gian, chuyển tiếp.
Nhận xét:
- Mới thoạt nhìn, ta cảm thấy không thuận lắm, vì trung gian chuyển tiếp thường
gây phiền phức, tốn thêm chi phí …
- Mặt khác, có những trường hợp trung gian là sự đòi hỏi khách quan mà nếu thiếu
đối tượng trung gian thì hoạt động của hệ thống sẽ kém hiệu quả. Ví dụ: Tiền là
hàng hoá trung gian, nếu không có tiền thì sẽ chẳng có sự lưu thông kinh tế nào cả
Áp dụng vào tin học:
- Trong kỹ thuật lập trình ta thường sử dụng các biến trung gian để lưu trữ dữ liệu,
ví dụ như bài toán hoán đổi 2 số nguyên x,y, ta có thể khai báo như sau: int x, y ,
tmp, tmp=x, x=y, y=tmp biến tmp là biến trung gian dùng để lưu trữ giá trị x.
- Xây dựng hệ thổng quản lý văn bản và hồ sơ công việc cho UBND TPHCM, hệ
thống được mô tả như sau: Các đơn vị Sở ban ngành và Quận huyện sẽ gởi và
nhận các văn bản đi thông qua 1 hệ thống mạng metronet, các văn bản đi này sẽ
được truyền đến một server trung gian(Gate way) trước khi nó được gởi đến các
đơn vị khác.
- Trong lập trình SQL server thay vì phải đọc trực tiếp dữ liệu trên các table, ta có
thể đưa dữ liệu của 1 table vào một table tạm, sau đó có thể dùng lại table tạm này
nhiều lần, điều này có thể làm cho việc xử lý tính toán nhanh hơn.
- Một số ứng dụng phần mềm như ngân hàng, chứng khoán, thương mại điện tử…có
một số giao dịch có tính chất tạm thời, chờ xử lý, chờ xác nhận… thường ta lưu trữ
vào trong các table tạm, sau khi hoàn tất các giao dịch ta có thể đưa dữ liệu vào
các table chính thức.
3.14. Nguyên lý sao chép(copy)
Nội dung:
- Thay vì sử dụng cái không được phép, phức tạp đắt tiền, không tiện lợi dễ vỡ, sử
dụng bản sao.
- Thay thế đối tượng hay hệ các đối tượng bằng các bản sao quang học (ảnh, hình
vẽ) với các tỉ lệ cần thiết.
Trang 18
- Nếu không thể sử dụng bản sao quang học ở vùng biểu kiến (vùng ánh sáng nhìn
thấy được bằng mắt thường), chuyển sang sử dụng bản sao hồng ngoại hoặc tử
ngoại.
Áp dụng vào trong tin học:
- Có thể nói nguyên lý sao chép là nguyên lý chủ đạo nhất trong tin học, các ngành
nghề khác để sản xuất được 1 sản phẩm thứ 2 thì yêu cầu ta phải tiêu hao nguyên
vật liệu, con người và thời gian, tuy nhiên đối với phần mềm thì không, ta có thể
sao chép ra rất nhiều phiên bản giống nhau.
- Các chức năng copy, paste tập tin hay thư mục có sẵn trong các hệ điều hành
window, linux…
- Phần mềm soạn thảo Microsoft office word có các chức năng copy, paste cho phép
ta có thể sao chép nhiều đoạn văn bản và hình ảnh.
- Phần mềm một cửa điện tử, để tin học hóa các quy trình giải quyết hồ sơ, từ lúc
tiếp nhận cho đến lúc trả kết quả, ta thường phải định nghĩa và lưu trữ tất cả các
bước xử lý của 1 quy trình. Tuy nhiên việc định nghĩa này rất mất thời gian, vì vậy
khi phát sinh 1 quy trình mới ta thường copy 1 quy trình đã có, rồi sau đó hiệu
chỉnh lại.
3.15. Nguyên lý loại bỏ và tái sinh từng phần
Nội dung:
- Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không cần thiết phải tự phân
hủy (hoà tan,bay hơi…).
- Các phần mất mát của đối tượng phải được phục hồi trực tiếp trong quá trình làm
việc.
Áp dụng vào trong tin học:
- Các ngôn ngữ lập trình như C, visual basic, SQL server… sau khi sử dụng xong
một số đôí tương như con trỏ, dataset… ta thường phải khôi phục lại bộ nhớ bằng
cách hủy các đối tượng này.
- Một số hệ điều hành như window, linux… cho phép ta hủy một số tiến trình nhằm
tiết kiệm bộ nhớ trong của máy tính.
- Trong kỹ thuật lập trình khi ta gọi các hàm hay thủ tục, sau khi thực thi xong thì
các biến được khai báo cục bộ bên trong các hàm sẽ tự động hủy.
Trang 19
3.16. Nguyên lý đồng nhất
Nội dung:
- Những đối tượng, tương tác với các đối tượng cho trước, phải được làm từ cùng
vật liệu (hoặc từ vật liệu gần về các tính chất) với các vật liệu để tạo đối tượng cho
trước.
Áp dụng vào trong tin học:
- Khi thiết kế cơ sở dữ liệu quan hệ, để đảm bảo thông tin được lưu trữ đồng nhất
với nhau thì các table phải liên kết với nhau thông qua các khóa ngoại, tránh
trường hợp thông tin của một đối tượng mà lưu trữ ở nhiều table.
- Khi thiết kế các website, các đối tương như textbox, button, lable, grid… phải
đồng nhất với nhau về css.
- Trong kỹ thuật khai thác dữ liệu thường người ta áp dụng các phương pháp phân
nhóm và gom cụm các đối tượng đồng nhất với nhau.
- Ngôn ngữ lập trình T-SQL cho phép ta group by các đối tượng đồng nhất lại với
nhau.
3.17. Nguyên lý thay thế sơ đồ cơ học
Nội dung:
- Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.
- Sử dụng điện trường, từ trường và điện từ trường trong tương tác đối với đối
tượng.
- Chuyển các trường đứng yên sang chuyển động, các trường cố định sang thay đổi
theo thời gian, các trường đồng nhất sang có cấu trúc nhất định.
Áp dụng trong tin học:
- Ứng dụng trí tuệ nhân tạo để lập trình điểu khiển các robot làm những công việc
nguy hiểm thay cho con người.
- Dùng phần mềm để làm 1 số bài toán thống kê, báo cáo thay vì con người phải làm
thủ công, tốn nhiều thời gian.
- Công nghệ internet 3G thay cho ADSL
- Các máy tính bản không cần phải dùng bàn phím và chuộc để nhập liệu
Trang 20
- Xây dựng các hệ thống dự đoán và cảnh báo, máy tính có thể nhận biết và tự động
thi hành một số công việc. Ví dụ như hệ thống cảnh báo sóng thần, hệ thống phòng
thủ tên lửa…
- Lĩnh vực điện toán đám mây(cloud computing), với điện toán đám mây, người
dùng thông thường không cần phải quá để tâm đến việc đầu tư phần cứng để lưu
trữ dữ liệu và xử lý công việc. Tất cả mọi thứ đã được lưu trữ trên máy chủ của
nhà cung cấp dịch vụ web. Bằng cách này, nhiều người có thể truy cập và chia sẻ
dữ liệu cùng nhau. Trong tương lai, một viễn cảnh được đưa ra là người dùng chỉ
cần một thiết bị cài sẵn trình duyệt, không cần ổ cứng, kết nối Internet và truy cập,
xử lý dữ liệu từ bất kỳ đâu. Trong công nghệ ảo hóa, nếu như trước kia, mỗi hệ
điều hành cần phải cài trên một máy vật lý riêng biệt, thì giờ đây chỉ cần một máy
tính vật lý có thể chạy nhiều hệ điều hành cùng lúc. Trong tương lai, ngay cả điện
thoại thông minh cũng có thể khởi động cùng lúc nhiều hệ điều hành(nguồn
internet).
3.18. Nguyên lý tự phục vụ
Nội dung:
- Đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ trợ, sửa chữa
- Sử dụng phế liệu, chất thải, năng lượng dư.
Áp dụng trong tin học:
- Các vệ tinh khi bay ngoài trái đất có thể được lập trình để tự động thu nhận ánh
sáng mặt trời làm năng lượng.
- Các tên lửa hành trình khi tìm kiếm mục tiêu có thể tự động thay đổi hành trình.
- Các máy bay không người lái khi bị sự cố có thể tự động phá hủy.
- Trong một số các trò chơi trên máy tính, phần mềm có thể tự động phát sinh ngẫu
nhiên 1 số tọa độ để hiển thị các đối tượng.
- Trong quá trình kiểm thử phần mềm, có thể phát sinh tự động 1 số mẫu để test.
3.19. Nguyên lý quan hệ phản hồi
Nội dung:
- Thiết lập quan hệ phản hồi
- Nếu có quan hệ phản hồi, hãy thay đổi nó.
Trang 21
Áp dụng trong tin học:
- Trong kỹ thuật lập trình window, khi nhấn vào các button như: Save, delete… ta
thường phản hồi lại các thông báo như: “bạn chưa nhập đầy đủ các thông tin !” hay
“bạn có thật sự muốn xóa thông tin này hay không?”
- Một số website khi ta tạo xong tài khoản thì nhận được 1 yêu cầu kích hoạt tài
khoản qua email
- Khi ta gởi 1 email thì nhận được 1 email phản hồi là đã nhận được mail.
- Dịch vụ internet baking, mobile banking khi ta gởi 1 yêu cầu tra cứu số dư thì nhận
được phản hồi số dư tài khoản.
- Xây dựng các cớ chế trả lời tự động cho 1 số tổng đài.
3.20. Nguyên lý chuyển bại thành thắng
Nội dung:
- Sử dụng các tác nhân có hại (ví dụ tác động có hại của môi trường) để thu được
hiệu ứng có lợi.
- Khắc phục tác nhân có hại bằng cách kết hợp với tác nhân có hại khác.
- Tăng cường tác nhân có hại đến khi nó không còn có hại nữa.
Áp dụng trong tin học:
- Trong quá trình kiểm thử phần mềm ta thường xây dựng 1 số test case đăt biệt để
test(dùng số lớn, nhập nhiều ký tự, nhập các ký tự đặt biệt…), sau khi test xong
phần mềm sẽ đảm bảo được chất lượng.
- Virus tin học được tạo ra để test các phần mềm diệt virus
- Ngày nay các quốc gia trên thế giới thường thực hiện phương thức chiến tranh điện
tử, các virus được lập trình để phá hoại các hệ thống phòng thủ, máy bay không
người lái…
3.21. Nguyên lý thực hiện sơ bộ
Nội dung:
- Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần đối với đối tượng.
- Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị trí thuận lợi
nhất, không mất thời gian dịch chuyển .
Nhận xét:
- Từ “thay đổi” cần hiểu theo nghĩa rộng.
Trang 22
- Có những việc, dù thế nào cũng cần phải thực hiện trước đi một phần hoặc toàn bộ
và sẽ được lợi hơn so với thực hiện ở hiện tại (theo nghĩa tương đối)
- Tinh thần của nguyên tắc này là trước khi làm việc gì ta cần phải chuẩn bị trước
một cách toàn diện, chu đáo và thực hiện trước những gì có thể thực hiện được –
“chuẩn bị tốt là một nửa của sự thành công”.
Áp dụng trong tin học:
- Trước khi cài đặt 1 thuật toán trên máy tính, ta thường viết các mã giả trên giấy
nháp để đánh giá sơ bộ tính đúng đắn của thuật toán.
- Khi thiết kế các hệ thống thông tin, trước khi đi vào thiết kế chi tiết giao diện và
database ta thường thiết kế tổng quan về kiến trúc của hệ thống(hệ thống bao gồm
những chức năng gì?, hạng tầng và mô hình triển khai như thế nào? …)
- Các hệ quản trị cơ sở dữ liệu(SQL server, Oracle…) , một câu truy vấn SQL
thường được tối ưu(loại bỏ các phép toán 2 ngôi, thực hiện các phép chọn…) trước
khi thực thi.
- Một số lĩnh vực khai thác tri thức(dataming), các đơn vị dữ liệu cần phải tiền xử
lý(làm sạch dữ liệu, tích hợp và chuyển dạng dữ liệu, rút gọn dữ liệu…)trước khi
đưa vào áp dụng các thuật toán để khai thác.
- Lĩnh vực điện toán đám mây(cloud computing), trong điện toán đám mây, chúng ta
sử dụng những công nghệ lập trình hiện đại như Ajax, Adobe Air, Google Gear,
HTML5,… để xây dựng những thế hệ phần mềm mới có thể chạy được trên mọi
nền tảng trình duyệt hay hệ điều hành. Chính nhờ đó, người dùng sẽ rất tiện lợi
trong việc sử dụng dịch vụ bằng những thiết bị khác nhau. Trong công nghệ ảo
hóa, một hệ điều hành ảo được cấu hình thật hoàn chỉnh có thể mang qua lại nhiều
máy vật lý khác nhau mà không cần chỉnh sửa lại hoặc chỉ cần cài đặt thêm những
phần mềm cần thiết. Điều này rất thuận lợi và nhanh chóng khi chúng ta muốn
thiết lập một hệ thống mạng thực hiện những tác vụ khác nhau(nguồn internet).
3.22. Nguyên lý năng động
Nội dung:
- Cần thay đổi các đặc trưng của đối tượng hay môi trường bên ngoài sao cho chúng
tối ưu trên từng giai đoạn công việc.
- Phân chia đối tượng thành từng phần có khả năng dịch chuyển đối với nhau.
Trang 23
Nhận xét:
- Thông thường công việc là quá trình xảy ra trong một khoảng thời gian nhất định,
gốm các giai đoạn với các tình huống khác nhau. Nguyên tắc linh động đòi hỏi
phải có cái nhìn bao quát của cả quá trình để làm đối tượng hoạt động tối ưu trong
từng giai đoạn. Muốn thế đối tượng không thể ở dạng cố định, cứng nhắc mà phải
trở nên điều khiển được. Xét về mặt cấu trúc các mối liên kết trong đối tượng phải
“mềm dẻo”, “có nhiều trạng thái”, để từng phần đối tượng có khả năng “dịch
chuyển” (hiểu theo nghĩa rộng) đối với nhau.
- Tinh thần chung của nguyên tắc linh động là, đối tượng phải có những đa dạng phù
hợp với sự thay đổi đa dạng ở bên ngoài để đem lại hiệu suất cao nhất.
- Nguyên tắc linh động phản ánh khuynh hướng phát triển cho nên nó có tính định
hướng cao, dùng rất có ích trong trường hợp đặt bài toán, phê bình cái đã có và dự
báo.
- Về mặt tư duy tránh được tính ì tâm lý, sao cho ý nghĩ, cách tiếp cận linh động
không cứng nhắc.
Áp dụng trong tin học
- Trong các ngôn ngữ lập trình cấp cao(C,C#, visual basic.net…), khi lập trình
hướng đối tượng ta thường xây dựng các lớp trừu tượng(lớp cơ sở) trong quá trình
thự thi ta có thể gán bất kỳ 1 thể hiện của lớp đối tượng khác cho lớp trừu tượng.
Ví dụ dụ ta có thể gán lớp trừu tượng nhân viên=giám đốc, nhân viên=kế toán
- Ngôn ngữ lập trình visual basic.net ta có kiểu dữ liệu “object” có thể chứa bất kỳ
giá trị nào thuộc kiểu int, string, double…
- Khi xây dựng các hệ thống phần mềm tích hợp, ví dụ xây dựng 1 portal dùng để
tích hợp 5 phần mềm khác nhau theo cơ chế single sign on(SSO), mỗi phần mềm
có 1 tài khoản để truy cập, vấn đề đặt ra là ta chỉ cần đăng nhập 1 lần vào portal
chính sau đó có thể truy cấp bất kỳ vào phần mềm nào ta muốn.
- Xây dựng 1 số phần mềm chỉnh phủ điện tử, giúp tinh giảm 1 số thủ tục hành
chính, tin học hóa tất cả các quy trình, mỗi khi thay đổi hay bổ sung thêm quy
trình, ta không cần phải chỉnh sửa phần mềm mà chỉ cần quản trị và định nghĩa
quy trình mới
Trang 24
- Lĩnh vực điện toán đám mây(cloud computing), trong điện toán đám mây, tính linh
động được thể hiện rất rõ. Dữ liệu được lưu trữ trên máy chủ của nhà cung cấp,
chúng ta sử dụng các dịch vụ phần mềm nền web thông qua trình duyệt để thực
hiện các tác vụ theo yêu cầu. Như vậy với bất kỳ thiết bị nào như máy vi tính cá
nhân, smartphone, pda hay các thiết bị tân thời như máy tính bảng, netbook, và ở
bất cứ nơi nào, vào thời gian nào thì chỉ cần kết nối Internet là có thể truy cập dịch
vụ. Không chỉ như thế, thế hệ web mới còn kết nối tất cả mọi người, cùng chia sẻ
dữ liệu, chỉnh sửa thông tin, thực hiện công việc cùng lúc một cách dễ dàng.
Chúng ta có thể thấy qua ví dụ sau: một người đi du lịch, chụp hình phong cảnh
bằng smartphone, lập tức bức ảnh được đánh dấu vị trí và thời gian, được post lên
trang web chia sẻ ảnh, đồng thời thông báo đến cho tất cả bạn bè đang kết nối, và
họ ngay lập tức bình luận hay nói chuyện ngay trên trang web đó. Trong công nghệ
ảo hóa, chúng ta tạo một máy ảo và thiết lập cấu hình chuẩn, khi cần có thể chép
vào USB và mang qua lại các máy thật vật lý khác nhau hoặc có thể nhân bản ra
nhiều máy ảo giống nhau để thực nghiệm. Chúng ta thực hiện điều đó dễ dàng và
nhanh chóng, không cần chú tâm quá đến cấu hình của máy thực vật lý cũng như
việc cài đặt driver điều khiển thiết bị(nguồn internet).
3.23. Nguyên lý tác động theo chu kỳ
Nội dung:
- Chuyển tác động liên tục thành tác động chu kỳ (xung)
- Nếu đã có tác động chu kỳ, hãy thay đổi chu kỳ
- Sử dụng thời gian giữa các xung để thực hiện tác động khác
Áp dụng trong tin học:
- Trong các hệ thống phần mềm, để tránh các sự cố về dữ liệu, ta thường xây dựng
cơ chế backup dữ liệu định kỳ theo ngày, tuần, tháng…
- Các dịch vụ ngân hàng, chứng khoán… thường gởi các bản sao kê số dư hay các
báo cáo tài chính định kỳ theo tuần, tháng, quý…
- Một số phần mềm ứng dụng web, việc kết xuất các dữ liệu thống kê thường bị time
out vỉ dữ liệu tính toán quá lớn, ta có thể xây dựng cơ chế xử lý định kỳ(cuối ngày,
cuối tuần…) ở server, sau đó đồng bộ dữ liệu lên website.