1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng của 40 nguyên lý sáng tạo trong công nghệ phần mềm

33 10 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐH KHOA HỌC TỰ NHIÊN TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ––––––––––––––– BÀI THU HOẠCH ỨNG DỤNG CỦA 40 NGUYÊN LÝ SÁNG TẠO TRONG CÔNG NGHỆ PHẦN MỀM GIẢNG VIÊN HƯỚNG DẪN: GS TS HOÀNG VĂN KIẾM SINH VIÊN THỰC HIỆN: MAI HỮU THIỆN 12 11 072 TP.HỒ CHÍ MINH – 2012 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC I GIỚI THIỆU II 40 NGUYÊN LÝ SÁNG TẠO VÀ CÔNG NGHỆ PHẦN MỀM Phân nhỏ (Segmentation) Tách khỏi (Extraction) Phẩm chất cục (Local Quality) Bất đối xứng (Asymmetry) Kết hợp (Consolidation) Vạn (Universality) Chứa (Nesting) 8 Phản trọng lượng (Counterweight) 9 Gây ứng suất sơ (Prior counteraction) 10 10 Thực trước sơ (Prior action) 10 11 Đề phòng (Cushion in advance) 11 12 Đẳng (Equipotentiality) 12 13 Đảo ngược (Do it in reverse) 12 14 Cầu trịn hóa (Spheroidality) 13 15 Linh động (Dynamicity) 14 16 Tác động thiếu thừa (Partial or excessive action) 15 17 Chuyển sang chiều khác (Transition into new dimension) 16 18 Dao động học (Mechanical Vibration) 16 19 Tác động theo chu kỳ (Periodic Action) 17 20 Liên tục tác động có ích (Continuity of useful action) 18 21 Vượt nhanh (Rushing through) 19 22 Biến hại thành lợi (Convert harm into benefit) 19 23 Phản hồi (Feedback) 20 24 Sử dụng trung gian (Mediator) 20 25 Tự phục vụ (Self-service) 21 26 Sao chép (Copying) 22 27 Rẻ thay cho đắt (Inexpensive short-lived objects) 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 28 Thay hệ học (Replacement of Mechanical System) 23 29 Sử dụng kết cấu thủy khí (Pneumatic or hydraulic construction) ** 23 30 Sử dụng vỏ dẻo màng mỏng (Flexile films or thin membranes) 24 31 Sử dụng vật liệu nhiều lỗ (Porous materials) ** 24 32 Đổi màu (Changing the color) 25 33 Đồng (Homogeneity) 26 34 Loại bỏ tái sinh phần (Rejecting and regenerating parts) 26 35 Thay đổi thơng số hóa lý đối tượng (Transformation properties) 26 36 Chuyển pha (Phase transition) ** 27 37 Sử dụng nở nhiệt (Thermal expansion) ** 27 38 Sử dụng chất oxy hóa (Accelerated oxidation) ** 28 39 Sử dụng môi trường trơ (Inert Environment) ** 29 40 Sử dụng vật liệu tổng hợp (Composite materials) 30 III KẾT LUẬN 31 IV TÀI LIỆU THAM KHẢO 32 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com I GIỚI THIỆU 40 nguyên tắc sáng tạo Altshuller tìm cách phân tích lượng lớn sáng chế nhằm mục đích xây dựng công cụ giải mâu thuẫn kỹ thuật, thường nảy sinh trình thực sáng tạo đổi Đây xem tổng hợp kiến thức nhân loại Vào năm 2001, Kevin C Rea cho đăng viết gồm phần, mang tên “TRIZ and Software – 40 Principle Analogies, Part I and II” để trình bày tương đồng lĩnh vực công nghệ phần mềm (CNPM) với 40 nguyên lý sáng tạo Altshuller Tuy nhiên, Rea không liệt kê tương đồng ví dụ cụ thể số nguyên lý Cụ thể nguyên lý: 29 (sử dụng kết cấu thủy khí), 31 (sử dụng vật liệu nhiều lỗ), 36 (chuyển pha), 37 (sử dụng nở nhiệt), 38 (sử dụng chất oxy hóa) 39 (sử dụng môi trường trơ) Bài viết cố gắng hồn thiện danh sách Rea thơng qua việc đưa tương đồng công nghệ phần mềm sáu nguyên lý này, đồng thời bổ sung ví dụ cụ thể cho nguyên lý khác Do bố cục Rea viết ông hữu ích, nên sử dụng lại bố cục này, ví dụ tương đồng so sánh kết hợp lại dễ dàng Những nguyên lý bị bỏ sót viết Rea đánh dấu ** LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II 40 NGUYÊN LÝ SÁNG TẠO VÀ CÔNG NGHỆ PHẦN MỀM Phân nhỏ (Segmentation) a Chia đối tượng thành nhiều phần độc lập b Làm cho đối tượng dễ dàng tháo rời c Tăng mức độ chia nhỏ Liên hệ CNPM: Phân chia hệ thống, thiết kế, đối tượng luồng liệu thành phần độc lập Chẳng hạn phương pháp thiết kế module hướng đối tượng Tăng độ chi tiết tìm giải pháp Các bit xem nguyên tử ngữ cảnh mã hóa Ví dụ CNPM: Ví dụ thấy rõ hướng tiếp cận thiết kế ứng dụng từ xuống (top down) Khi thiết kế ta chia hệ thống thành khúc nhỏ, nhờ giúp chia hệ thống phức tạp thành module nhỏ đỡ phức tạp Q trình lặp lại với module đến khối chức khơng cịn phức tạp Người ta xây dựng ứng dụng dựa dịch vụ độc lập có sẵn tổ chức thơng qua Internet Web-service Ta xây dựng ứng dụng component thương mại có sẵn Tách khỏi (Extraction) a Tách thành phần (đặc tính) gây cản trở khỏi đối tượng, lấy thành phần (đặc tính) cần thiết đối tượng Liên hệ CNPM: Cho ngôn ngữ, định nghĩa biểu diễn văn phạm với trình thơng dịch sử dụng cách biểu diễn để rút câu ngôn ngữ Loại bỏ phần vô giá trị luồng thông tin LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ví dụ CNPM: Trong xử lý tín hiệu có nhiều cách để giảm nhiễu Ví dụ ta tính tốn đo độ nhiễu phơng ảnh, khử khỏi ảnh để tăng độ tương phản tín hiệu thực Phương pháp nén âm MP3 loại bỏ phần tín hiệu âm mà hầu hết người nghe đặc điểm thính giác người Phương pháp nén ảnh thông tin, chẳng hạn JPEG, loại bỏ thông tin để có tỉ lệ nén tốt mà khơng làm biến dạng ảnh mức Bộ tạo token parser thay từ khóa mã gọn để chuyển mã người đọc thành mã xử lý máy Bộ tạo token đơn giản parser đối số dòng lệnh (command line argument) đổi đối số dòng lệnh (một chuỗi) thành kiểu liệu sở integer hay boolean Phẩm chất cục (Local Quality) a Đổi cấu trúc đối tượng từ đồng sang không đồng nhất, đổi mơi trường bên ngồi (hoặc tác động bên ngồi) từ đồng sang không đồng b Đặt thành phần đối tượng điều kiện hoạt động tối ưu c Cho thành phần đối tượng thực chức hữu ích khác Liên hệ CNPM: Đổi phân loại đối tượng hệ thống kỹ thuật từ hệ phân cấp đồng thành không đồng Ví dụ CNPM: Trong ứng dụng trí thơng minh nhân tạo sử dụng mơ hình bảng đen (blackboard), nhiều người cố gắng giải vấn đề phần vấn đề theo nhiều cách, chẳng hạn số người theo hướng tiếp cận từ xuống (top down), số khác theo hướng từ lên (bottom up) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Thay danh sách liên kết đối tượng “Sư tử” danh sách liên kết đối tượng “Động vật” Mức trừu tượng cao cho phép đối tượng không đồng lưu lớp container ngược lại Bất đối xứng (Asymmetry) a Đổi hình dạng đối tượng từ đối xứng sang bất đối xứng b Nếu đối tượng bất đối xứng, tăng mức độ bất đối xứng Liên hệ CNPM: Đưa bất đối xứng vào ứng dụng Thay đổi tính bất đối xứng hệ thống kỹ thuật để tác động không lên kết tính tốn mong muốn Ví dụ CNPM: Cho chương trình có lọc để xử lý định dạng đầu vào khác mà tăng số lượng định dạng đầu định dạng đầu vào, nhiều định dạng đầu Giả sử cần tính trung bình danh sách dài Thơng thường ta phải đếm tất giá trị chia tổng cho kích thước danh sách Nếu đáp án khơng cần phải xác ta làm với tập nhỏ chọn ngẫu nhiên Cách xấp xỉ thường đủ tốt nhanh Giải thuật quicksort kinh điển lấy phần tử làm điểm chốt (pivot) Bằng cách sử dụng trung vị ba (median of three) ta thường đạt hiệu suất tốt Thay tìm kiếm nhị phân kiểm tra phần tử mảng thành tìm kiếm nhị phân có trọng số cách sử dụng tri thức thống kê độ phân bố phần tử Ví dụ tận dụng đặc điểm phân bố ký tự bảng chữ tìm kiếm loại từ điển LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết hợp (Consolidation) a Đặt đối tượng tương đồng tương tự lại gần (hoặc kết hợp chúng); lắp ghép thành phần tương đồng tương tự để thực tác vụ song song b Cho tác vụ nối tiếp song song với nhau; đặt chúng gần mặt thời gian Liên hệ CNPM: Cho q trình chạy song song Ví dụ CNPM: Các hệ điều hành đa nhiệm, ứng dụng đa luồng, đa xử lý Seti@home dự án điện toán song song khổng lồ phân phối hàng triệu máy tính giới Các máy tính yêu cầu phần liệu để phân tích gửi kết cho server Dự án boinc.org sản phẩm phụ Seti@home nhằm cung cấp framework cho dạng xử lý song song Một mạng chuyển gói (packet switching network) cho phép nhiều luồng liệu chạy song hành dây Trên thực tế chúng không thực song song mà xen kẽ Một dây cáp quang thực truyền tin song song nhiều sóng tần số khác gửi qua sợi quang đồng thời Một trang web xây dựng từ nhiều frame Mỗi frame đến từ server khác Đẩy liệu cho trang web loại nhanh nhiều kết nối sử dụng song song In nhiều tài liệu thực nhanh in song song nhiều máy Hệ thống đĩa cứng raid-5 chia tập tin nhiều đĩa truy xuất lưu tập tin nhanh truy xuất/lưu trữ song song LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Một số ứng dụng chia sẻ tập tin peer-to-peer thấy tập tin cần lấy có nhiều máy tính truy cập từ xa Những khúc khác tập tin tải từ nhiều máy tính khác ghép chúng lại chỗ Kết lưu lượng cao Vạn (Universality) a Cho thành phần đối tượng thực nhiều chức năng; loại bỏ thành phần khác Liên hệ CNPM: Làm cho hệ thống kỹ thuật hỗ trợ nhiều phân loại phân loại động dựa ngữ cảnh Ví dụ CNPM: Trình Norton commander nhúng nhiều chức khác ứng dụng Một hàm tìm kiếm giá trị lớn dễ dàng mở rộng để tìm giá trị nhỏ Đặc biệt có nhiều I/O việc đọc liệu từ tập tin Chứa (Nesting) a Đặt đối tượng vào đối tượng khác; đặt đối tượng vào b Cho thành phần qua khoảng trống thành phần khác Liên hệ CNPM: Kế thừa tính đối tượng khác cách lồng lớp tương ứng vào lớp Sử dụng nhiều mức trừu tượng Sử dụng cấu trúc liệu giải thuật đệ quy Ví dụ CNPM: Các kiến trúc phần mềm phân tầng mơ hình OSI cho giao tiếp mạng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hướng tiếp cận phân tích thiết kế từ xuống (top down): thiết kế component cấp cao trước, sau component trở thành dự án độc lập với interface định nghĩa Ma trận mảng mảng Ta định nghĩa mảng nhiều chiều Các cấu trúc liệu đệ quy: cây, danh sách liên kết, kể cấu trúc thư mục quen thuộc với nhiều thư mục Các giải thuật đệ quy: quicksort, giải thuật duyệt cây, quay lui Phản trọng lượng (Counterweight) a Để bù đắp trọng lượng đối tượng, kết hợp với đối tượng khác cung cấp lực nâng b Để bù đắp trọng lượng đối tượng, cho tương tác với mơi trường sử dụng khí động lực, thủy động lực lực khác Liên hệ CNPM: Chia sẻ để hỗ trợ hiệu đối tượng phân hạt tốt với số lượng lớn nhằm giảm tải động hệ thống kỹ thuật Sử dụng hàm băm để phân bố tải trọng Ví dụ CNPM: Để cải thiện hiệu suất web server ta chia trang nhiều frame lưu frame nhiều đĩa cứng chí nhiều server Ta phân bố ảnh data-blob (lớn) nhiều đĩa thay đặt chúng vào đĩa Hiệu suất tăng lên Với hàm băm ta phân bố đối tượng nhiều bucket giữ số lượng đối tượng bucket gần LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Cập nhật bảng người dùng sở liệu tính lại mục xếp lần ngày thay thực với lần cập nhật Tương tự loại bỏ entry đánh dấu xóa lần ngày Chuẩn bị trộn thư (mail merge) đĩa cứng trước gửi đến máy in Đặc biệt việc tính tốn trang nhiều thời gian in Bộ thu dọn rác thực thi “rác” vượt ngưỡng 20 Liên tục tác động có ích (Continuity of useful action) a Cho công việc diễn liên tục, tất thành phần đối tượng hoạt động hết công suất b Loại bỏ tất hành động, công việc đứng yên đứt đoạn Liên hệ CNPM: Phát triển giải pháp phân chi tiết tốt để tận dụng xử lý tối đa Ví dụ CNPM: Hệ điều hành đa nhiệm Mọi loại trình chạy nền, truy vấn, in ấn, chống phân mảnh đĩa cứng, quét virus… Trong chỉnh sửa văn ta cho kiểm tra ngữ pháp tả đồng thời Tự động chèn từ gõ, gợi ý tham số cho công thức bảng tính Liên tục biên dịch code phần mềm soạn thảo cho người lập trình Liên tục kiểm tra URL bookmarks trình duyệt xem cịn hợp lệ khơng Kiểm tra tính hợp lệ địa email ứng dụng email Trong máy scan phẳng, đèn quét di chuyển qua ảnh hai lần Dùng lần quét thứ để chuẩn bị tối ưu cho lần quét cuối (như hiệu chỉnh phông nền) Hoặc ta kết hợp hai ảnh để có độ phân giải cao Giải nén trước đọc luồng nén 18 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 21 Vượt nhanh (Rushing through) a Thực q trình, giai đoạn có hại nguy hiểm với tốc độ cao Liên hệ CNPM: Cho truyền liệu chế độ truyền khối (burst mode) trước gặp tình xấu Ví dụ CNPM: Cố gắng viết lại vòng lặp phần mềm cho vừa với nhớ cache xử lý Như xử lý khơng cần phải chờ I/O nhớ Ngắt truy cập đến sở liệu backup liệu Việc backup thực nhanh sau người dùng sử dụng sở liệu Khi phát điện cho dump nhớ đĩa cứng để cứu tất liệu Khi tần suất lỗi đĩa cứng tăng lên chép toàn đĩa cứng khác sớm tốt 22 Biến hại thành lợi (Convert harm into benefit) a Sử dụng nhân tố có hại, đặc biệt tác động có hại với mơi trường điều kiện xung quanh để đạt tác động tích cực b Loại bỏ hành động gây hại cách kết hợp với hành động gây hại khác để giải vấn đề c Khuếch tố có hại đến khơng cịn gây hại Liên hệ CNPM: Đảo ngược vai trị q trình có hại cho trở lại Ví dụ CNPM: Nếu phần mềm biết số tính tốn truy vấn tốn nhiều thời gian, cho hiển thị thơng điệp người dùng uống café tập thể dục co giãn gân cốt Công việc chí tốn nhiều thời gian người dùng trạng thái chờ 19 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Dùng nhiều cảm biến để đọc (= thêm công việc) lấy trung bình để khử nhiễu (= chất lượng tốt hơn) Nếu chương trình q chậm để tương tác, biến thành chương trình xử lý theo bó (batch), mong đợi người dùng khác hẳn Nếu chương trình phát đường truyền có chất lượng tồi giảm tốc độ giao tiếp xuống Mặc dù chậm kết cuối có đầu tốt lỗi Nếu chất lượng thiết bị lưu trữ thấp thêm số byte dư vào liệu cho liệu sửa lỗi 23 Phản hồi (Feedback) a Đưa vào thông tin phản hồi (tham chiếu ngược, kiểm tra chéo) để cải thiện trình hành động b Nếu thông tin phản hồi dùng thay đổi mức độ ảnh hưởng Liên hệ CNPM: Đưa biến phản hồi vào vịng lặp để cải thiện lần lặp phía sau Ví dụ CNPM: Khi số tính tốn truy vấn tốn nhiều thời gian cho hiển thị tiến độ (progress bar) Một lập lộ trình cho hiển thị kết cố gắng tối ưu lộ trình Một giải thuật xấp xỉ tính tốn giá trị đến độ xác giá trị trung gian hiển thị hình Giải thuật di truyền cho hiển thị kết tốt tìm tính đến thời điểm lặp tiếp qua nhiều hệ đáp án sau 24 Sử dụng trung gian (Mediator) a Sử dụng vật thể truyền tải trung gian trình trung gian 20 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com b Tạm thời kết hợp đối tượng với đối tượng khác mà dễ dàng tháo bỏ Liên hệ CNPM: Sử dụng lớp trung gian để cung cấp khung nhìn liệu cho trình phạm vi ứng dụng Ví dụ CNPM: Phương pháp thiết kế trung gian thực điều cách rõ ràng Thay phải biết trạng thái loạt đối tượng giữ cho chúng đồng với trạng thái thay đổi ta, ta phải báo cho lớp trung gian hỏi lớp trung gian Điều giúp giảm giao tiếp đối tượng giảm độ phức tạp Ví dụ, tạo đối tượng riêng để xử lý tất vấn đề cấu hình Khơng cho đối tượng nhớ giao tiếp trực tiếp với bảng sở liệu, mà cho chúng truy cập thông qua lớp trung gian để sở liệu thay đổi thay đổi khơng lan truyền tồn phần mềm Sử dụng server in ấn để giữ công việc tạm thời máy in bị ngắt mạng 25 Tự phục vụ (Self-service) a Làm cho đối tượng tự phục vụ cách thực chức có ích bổ trợ b Sử dụng tài nguyên, lượng chất thải bỏ Liên hệ CNPM: Như Ví dụ CNPM: Một ứng dụng an ninh, chẳng hạn firewall hay chương trình qt virus tự kiểm tra trước chạy Một sở liệu tự tu sửa nội dung nó nắm thơng tin transaction Một trình duyệt web chuyển hướng bạn đến web site khác server u cầu khơng có Ví dụ, Google tạm thời ngưng hoạt động chuyển hướng bạn đến Yahoo 21 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Một trình duyệt web gợi ý hốn vị/dẫn xuất hợp lý hostname khác hiển thị lựa chọn thay khơng tìm thấy hostname Một đối tượng đồng hồ tự đồng hóa giao thức NTP Một chương trình backup tự bao hàm chương trình khơi phục backup; ví dụ, tập tin zip tự giải nén Các virus hay sâu máy tính tự chép qua internet 26 Sao chép (Copying) a Thay sử dụng đối tượng hiếm, đắt tiền, dễ vỡ dùng đơn giản rẻ tiền b Thay đối tượng trình quang học c Nếu quang học dùng chuyển sang hồng ngoại cực tím Liên hệ CNPM: Thay tạo đối tượng tiêu tốn tài ngun khơng cần thiết thực chép sơ Ví dụ CNPM: Thay xây dựng ứng dụng từ đầu (= đắt tiền) tái sử dụng component có sẵn (= rẻ hơn) 27 Rẻ thay cho đắt (Inexpensive short-lived objects) a Thay đối tượng đắt tiền nhiều đối tượng rẻ tiền với ưu điểm (chẳng hạn tuổi thọ ngắn) Liên hệ CNPM: Như Ví dụ CNPM: Thay sử dụng nhiều nhớ tốc độ cao sử dụng đĩa cứng Chi phí lưu trữ đánh đổi với thời gian truy xuất 22 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Hiển thị trang phức tạp với không đủ chi tiết, để hiển thị xác tồn cần nhiều thời gian tính tốn Sử dụng độ phân giải thấp cho ảnh Tính tốn với số ngun thay số dấu phẩy động Nó nhanh nhiều đủ xác với ứng dụng bạn Thay hàm tốn nhiều thời gian bảng tra, chẳng hạn thay bảng ánh xạ mảng [0 45] Xây dựng siêu máy tính từ nhiều máy tính cũ 28 Thay hệ học (Replacement of Mechanical System) a Thay hệ học hệ tri giác (thị giác, thính giác, vị giác hay khứu giác) b Sử dụng điện, từ trường điện từ trường để tương tác với đối tượng c Đổi trường tĩnh thành động, trường khơng cấu trúc thành có cấu trúc d Kết hợp trường với hạt sắt từ Liên hệ CNPM: Như trên? Bản thân phần mềm ý nghĩa học Nhưng với hệ thống bao gồm thành phần học lẫn phần mềm có nhiều ví dụ Ví dụ CNPM: Ống nghe bác sĩ thay micro headphone Ưu điểm ghi âm lại, thực xử lý tín hiệu phức tạp, chẳng hạn phân tích tần suất, đếm nhịp tim… 29 Sử dụng kết cấu thủy khí (Pneumatic or hydraulic construction) ** a Sử dụng thành phần khí chất lỏng đối tượng thay thành phần rắn Liên hệ CNPM: Sử dụng kiểu liệu linh động tổng quát thay cho kiểu liệu cố định hay số Ví dụ CNPM: 23 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Lớp container với dung lượng thay đổi cấu trúc liệu cấp phát động Thông thường vào thời điểm biên dịch ta khơng biết chương trình cần phải xử lý liệu Với cấu trúc liệu cấp phát động, cần thêm nhiều phần tử, vùng nhớ cấu trúc liệu nở rộng co lại phần tử bị xóa Dùng biến thay dùng cứng code Khởi tạo biến vào lúc khởi động với giá trị thích hợp Khi số thay đổi hệ thống phải thay đổi chỗ 30 Sử dụng vỏ dẻo màng mỏng (Flexile films or thin membranes) a Sử dụng vỏ dẻo màng mỏng thay cho cấu trúc ba chiều b Cơ lập đối tượng khỏi mơi trường bên ngồi vỏ dẻo màng mỏng Liên hệ CNPM: Như Ví dụ CNPM: Các lớp hướng đối tượng với public interface định nghĩa (cố định) thay đổi cách trình bày bên Proxy đóng vai trò chắn cho nhiều đối tượng 31 Sử dụng vật liệu nhiều lỗ (Porous materials) ** a Làm cho đối tượng có nhiều lỗ thêm vào thành phần nhiều lỗ b Nếu đối tượng có lỗ dùng lỗ để đưa chức chất có ích vào Liên hệ CNPM: Thay đổi interface lớp để thể nhiều hay giấu bớt cấu trúc bên Ví dụ CNPM: “Vật liệu nhiều lỗ” hiểu cố tình làm cho ứng dụng phần mềm hồn hảo Ví dụ hệ thống dạy kèm thơng minh (Intelligent Tutoring 24 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com System - ITS) Giả sử người học chơi cờ với ITS Người chơi trở nên chán nản khơng hứng thú máy tính lúc thắng Ngồi ra, máy tính ln chơi hồn hảo, người chơi khơng học cách tận dụng sai lầm đối thủ - kỹ quan trọng chơi cờ với người Do đó, ITS cần phải “có lỗ” tạo sai lầm có chủ ý để xuống cấp với người chơi Một đối tượng để lộ cách thức làm việc bên nó, chẳng hạn ta thấy chi phối trực tiếp biến bên Mặc dù điều ảnh hưởng đến tính tồn vẹn đối tượng, tăng hiệu suất mức độ Ví dụ, ta lưu giá trị đối tượng mà khơng cần phải qua cơng đoạn kiểm tra tính hợp lệ giá trị 32 Đổi màu (Changing the color) a Đổi màu đối tượng môi trường bên ngồi b Đổi độ suốt đối tượng mơi trường bên ngồi Liên hệ CNPM: Như Ví dụ CNPM: Đồng hồ có độ suốt 90% desktop trở nên rõ gần đến thời điểm báo hẹn Một chương trình giám sát hiển thị suốt GUI máy tính trở nên rõ cần có ý Có ứng dụng cho nhà thiên văn thay đổi màu sắc giao diện người dùng sang đen đỏ thay đủ màu Điều cần thiết sử dụng trời tối mắt người cần thời gian để quen với bóng tối để nhìn thấy ngơi GUI màu đỏ khơng ảnh hưởng đến độ nhạy mắt Có thể dùng để tiết kiệm pin cho laptop, làm việc bóng tối mà khơng sử dụng back-light dùng ký tự màu đỏ 25 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 33 Đồng (Homogeneity) a Làm cho đối tượng tương tác với đối tượng vật liệu vật liệu có tính chất tương đồng Liên hệ CNPM: Tạo lớp không nằm riêng lẻ mà thuộc hệ phân cấp lớp, điều giúp lớp khác trông giống cấp Ở cấp chúng có số tính chất Ví dụ CNPM: Viết giải thuật nhận đối tượng làm tham số truyền vào để tất lớp dẫn xuất xử lý 34 Loại bỏ tái sinh phần (Rejecting and regenerating parts) a Loại bỏ thành phần đối tượng hồn thành chức sửa đổi chúng trình hoạt động b Ngược lại, phục hồi phần tiêu thụ đối tượng trình hoạt động Liên hệ CNPM: Giải phóng nhớ khơng dùng ứng dụng Ví dụ CNPM: Giữ vùng chứa đối tượng (phức hợp) không dùng đến thường xuyên tạo ra, sử dụng xóa Bằng cách giữ chúng trình tạo nhanh nhiều đối tượng lấy từ vùng chứa Nó giúp giảm bớt công việc cho thu dọn rác 35 Thay đổi thơng số hóa lý đối tượng (Transformation properties) a Thay đổi trạng thái vật lý đối tượng b Thay đổi mật độ độ đặc 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com c Thay đổi độ linh động d Thay đổi nhiệt độ Liên hệ CNPM: Như Ví dụ CNPM: Trộn ứng dụng phần mềm có sở liệu gần giống để giảm dư thừa Bằng cách làm việc với template trình soạn thảo có nhiều chức năng, chẳng hạn ta nạp template để highlight cú pháp giúp cho trình soạn thảo phù hợp với ngơn ngữ lập trình khác 36 Chuyển pha (Phase transition) ** a Sử dụng tượng xảy trình chuyển pha Liên hệ CNPM: Sử dụng kết đối tượng trung gian có sẵn q trình chuyển trạng thái đối tượng Ví dụ CNPM: Việc chuyển trạng thái đối tượng cần nhiều tính tốn phức tạp có chi phí tìm kiếm cao sở liệu Bằng cách gán kết trung gian cho biến (caching), đối tượng khác truy xuất kết trung gian này, nhờ cải thiện hiệu suất Ví dụ, danh sách liên kết giữ trỏ đến phần tử cuối thêm vào Khi cần tìm kiếm danh sách ta kiểm tra trỏ để xem nên node hay phải bắt đầu lại từ đầu danh sách Điều giúp tăng tốc tìm kiếm (tuyến tính) với hệ số 2, tính trung bình 37 Sử dụng nở nhiệt (Thermal expansion) ** a Sử dụng nở (hoặc co) nhiệt vật liệu 27 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com b Nếu nở nhiệt dùng sử dụng nhiều vật liệu với hệ số nở nhiệt khác Liên hệ CNPM: Nén (hoặc giải nén) liệu để giảm (hoặc tăng) kích thước liệu Cũng xem thay đổi độ xác Ví dụ CNPM: Khơng gian nhớ máy tính kết hợp nhớ hoạt động (trong CPU) nhớ phân trang (nằm phương tiện lưu trữ gần nhớ cache hay nhớ ảo) Việc co giãn tài nguyên để phục vụ trình cần dùng đến nhớ nhiều hay mơ hình hóa theo nhiệt động học cách gắn vào hệ đo tương đồng với “nhiệt độ” mà thể hiệu suất máy tính vào thời điểm Khi liệu nén lại (co nhiệt) gửi qua mạng nhanh hơn, tốn khơng gian lưu trữ Ta phải đốt nóng lên (giải nén) để biến hữu ích trở lại Khi phải tính tốn dollar, đơn vị tiền tệ khác cơng việc thường tính tốn số dấu phẩy động Bằng cách nhân tất số với 100 (đốt nóng với hệ số 100) ta tính tốn miền số ngun mà nhanh khơng có (hoặc ít) lỗi làm trịn số 38 Sử dụng chất oxy hóa (Accelerated oxidation) ** a Thay khơng khí thường khơng khí giàu oxy b Thay khơng khí giàu oxy mơi trường oxy c Cho xạ ion hóa khơng khí oxy d Sử dụng oxy ion hóa e Thay oxy ozon hóa ion hóa khí ozon Liên hệ CNPM: 28 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sử dụng cách biểu diễn tối ưu để xử lý nhanh Ví dụ CNPM: Hiển nhiên, phần mềm khơng có liên quan đến oxy hóa, ta trừu tượng hóa nguyên lý để chung hành động trộn lẫn thứ với thứ khác kết ngẫu nhiên Ta có tương đồng với giải thuật mã hóa “pha muối” Một giải thuật mã hóa khơng có thành phần ngẫu nhiên, “muối”, chạy văn rõ ràng (chẳng hạn mật người dùng) cho kết mã hóa Cùng mật ln mã hóa chuỗi máy tính chạy giải thuật mã hóa “khơng pha muối” Nếu bạn phá mật lần, bạn qua mặt an ninh máy tính cài đặt giải thuật Tuy nhiên, giải thuật mã hóa thêm vào hệ số ngẫu nhiên, gọi “muối”, vào tính tốn nó, văn mã hóa hợp lệ máy nhất, lý thuyết tất máy khác pha muối tính tốn chúng khác Thay giải thuật viết dạng ngôn ngữ lập trình cấp cao thường trình (routine) hợp ngữ điều chỉnh, tối ưu tay phù hợp với xử lý Hoặc chí dùng phần cứng thực chức năng, chẳng hạn nén video Dùng định dạng nhị phân để tăng hiệu xử lý, lưu trữ lưu lượng thông tin mạng 39 Sử dụng môi trường trơ (Inert Environment) ** a Thay môi trường thông thường môi trường trơ b Thêm vào đối tượng thành phần trung tính chất trơ Liên hệ CNPM: Thay mơi trường tính tốn thơng thường mơi trường hạn chế Ví dụ CNPM: 29 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Một môi trường trơ mơi trường khơng có phản ứng với đối tượng mơi trường Nghĩa suy rộng hợp lý môi trường trơ môi trường ơn hịa Với cách diễn dịch này, ta có tương đồng quy trình kiểm nghiệm phần mềm Trong phát triển phần mềm, cần phải kiểm nghiệm phần mềm phát triển môi trường giả lập với số (không phải tất cả) động thái môi trường thực mà phần mềm hoạt động Một ví dụ khác quy trình kiểm chuẩn (benchmark test), thường dùng để đo lường hiệu suất phần cứng phần mềm Môi trường chạy kiểm chuẩn kiểm soát cẩn thận để cách ly hệ thống khỏi ảnh hưởng khơng kiểm sốt giữ đặc tính quan trọng môi trường trơ Cài đặt máy tính bù nhìn (dummy) khơng bảo vệ Internet để sớm phát bùng nổ virus hay sâu máy tính Hạn chế tính thành phần thực thi trình duyệt web Chạy ứng dụng chế độ debug (khơng hồn tồn trơ kiểm soát tốt) 40 Sử dụng vật liệu tổng hợp (Composite materials) a Thay vật liệu đồng vật liệu tổng hợp Liên hệ CNPM: Đổi từ mức trừu tượng phần mềm đồng sang mức trừu tượng tổng hợp Ví dụ CNPM: Các phương pháp thiết kế tổng hợp trừu tượng hóa tảng đằng sau framework thành công thường gặp Phương pháp thiết kế tổng hợp mơ tả tốt tập phương pháp mà tích hợp chúng lại hiệu ứng hiệp lực khiến cho việc tổng hợp có ý nghĩa cao cộng thành phần lại 30 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com III KẾT LUẬN Trong lịch sử sáng tạo đổi mới, hay gần gũi sống thường nhật, ta thấy nguyên lý sáng tạo Altshuller đầy đủ để lý giải cho hầu hết phát minh sáng chế giới Các lợi ích “40 nguyên tắc sáng tạo bản” kể đến như: Giúp giải phóng tính ì tâm lý Phát triển ý tưởng cải tiến sản phẩm (giúp tăng suất, tiết kiệm lượng, tiền bạc thời gian ) Phát triển ý tưởng giải vấn đề Định hướng sử dụng kiến thức hiệu Cho đến nay, nhiều nỗ lực để cố gắng đưa định nghĩa chuẩn 40 nguyên lý sáng tạo cho cơng nghệ phần mềm Do khoa học máy tính lĩnh vực rộng lớn nên ví dụ viết rút từ giai đoạn khác vòng đời sản phẩm phần mềm, mức thiết kế, mức thực ứng dụng Mặc dù giới hạn phạm vi công nghệ phần mềm, với việc hệ thống đầy đủ 40 nguyên lý sáng tạo trên, ta tự tin nói nguyên lý sáng tạo nhận đâu lĩnh vực nào, dù khoa học thống hay phi thống Điều thúc đẩy thực hành sáng tạo mạnh dạn đưa ý tưởng thường xuyên Và cách mà giới thay đổi ngày 31 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com IV TÀI LIỆU THAM KHẢO [1] https://sites.google.com/site/sangtaotretho/the-gioi-sang-tao/40-thu-thuat-sang-che [2] Rea, K.C., TRIZ and Software 40 Principles Analogies, Part The TRIZ Journal Sep, 2001 Internet: http://www.triz-journal.com/archives/2001/09/e/index.htm [3] Rea, K.C., TRIZ and Software 40 Principles Analogies, Part The TRIZ Journal Nov, 2001 Internet: http://www.triz-journal.com/archives/2001/11/e/index.htm 32 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... đời sản phẩm phần mềm, mức thiết kế, mức thực ứng dụng Mặc dù giới hạn phạm vi công nghệ phần mềm, với việc hệ thống đầy đủ 40 nguyên lý sáng tạo trên, ta tự tin nói nguyên lý sáng tạo nhận đâu... kết hợp lại dễ dàng Những nguyên lý bị bỏ sót viết Rea đánh dấu ** LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com II 40 NGUYÊN LÝ SÁNG TẠO VÀ CÔNG NGHỆ PHẦN MỀM Phân nhỏ (Segmentation)... nhật, ta thấy nguyên lý sáng tạo Altshuller đầy đủ để lý giải cho hầu hết phát minh sáng chế giới Các lợi ích ? ?40 nguyên tắc sáng tạo bản” kể đến như: Giúp giải phóng tính ì tâm lý Phát triển

Ngày đăng: 01/11/2022, 20:26

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN

w