Công nghệ design by contract
-
Trong ngành công nghệ thông tin, thay đổi là một tất yếu diễn ra hết sức thường xuyên mà ta phải chấp nhận và cố gắng điều chỉnh nó. Phần mềm này ra đời thay thế phần mềm khác là một điều vô cùng bình thường, dễ hiểu.
0p bigstar19 25-11-2013 59 5 Download
-
Soạn thảo văn bản trực tuyến Đối với dân văn chương thời CNTT, những ứng dụng như Microsoft Word, Open Office hay trình chỉnh sửa văn bản đơn giản hơn như Notepad của Windows, Text Edit của Mac OS X đã không còn xa lạ. Nhưng khi thời gian sử dụng các trình duyệt ngày càng nhiều, nhu cầu viết trên chính trình duyệt của người dùng cũng tăng lên. Trong trường hợp này, những gợi ý sau đây có thể là lựa chọn thích hợp: Google Docs - Đây có lẽ là tiện ích soạn thảo văn bản trực tuyến được...
3p bibocumi27 16-01-2013 48 2 Download
-
Trong một thế giới do thiết bị di động, mạng xã hội, Instagram và những công nghệ hiện đại khác, người ta luôn cảm thấy áp lực cần phải phản ứng lại “ngay và luôn” mọi yêu cầu của vòng luẩn quẩn tin nhắn/email/Facebook từ phía bạn bè hay đối tác. Khi bị “lỗi nhịp” với một trong những điều trên, nhiều người xem đây là lỗi lầm “kinh khủng” và tự đánh giá tiêu cực về chính bản thân mình. Tuy nhiên, một bí mật nhỏ của cuộc sống chính là thi thoảng nên tự “nhún vai” cho những sơ...
3p bibocumi26 12-01-2013 75 6 Download
-
Khóa luận tìm hiểu về công nghệ thiết kế theo hợp đồng (Design by Contract) [3] và trình bày những khái niệm cơ bản. Đây là công nghệ giúp cho chúng ta xây dựng đặc tả giữa các lớp trong một thành phần và xem xét sự kết hợp giữa chúng với nhau. Mở rộng hơn nữa là đặc tả các thành phần trong một phần mềm và các thành phần phải thỏa mãn những điều kiện nào đó mới có thể liên kết với nhau để tạo thành phần mềm có tính tin cậy, tính đúng đắn cao ...
61p truongnghen 30-08-2012 106 16 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# khác với những trường hợp còn lại. 16.2.2.7 Lớp Extra Hình 16-9: Lớp Extra Danh sách hàm thành phần: STT Tên Tham số Kết quả bool Xử lý Kiểm tra xem dòng Line 1 IsContractor string Line có phải là khai báo của một contructor không. Kiểm tra xem dòng s có chứa một trong những từ 2 IsAccessibilityL evelFound string s bool khóa {"private", "public", "protected", "internal","protected internal", "static" } 3 IsContain string large, string small bool Kiểm tra chuỗi large có chứa chuỗi small. 109 Tìm hiểu công nghệ...
6p caott3 20-05-2011 115 7 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# Danh sách các đối tượng xử lý: STT 1 2 3 Tên PreConditionCheck PostConditionCheck InvariantCheck Lớp/Kiểu bool bool bool Ý nghĩa Xác định có sử dụng PreCondition hay không. Xác định có sử dụng PostCondition hay không. Xác định có sử dụng Invariant hay không. Xác định có sử dụng 4 BasePreConditionCheck bool PreCondition của những lớp dẫn xuất hay không. Xác định có sử dụng 5 BasePostConditionCheck bool PostCondition của những lớp dẫn xuất hay không. Xác định có sử dụng Invariant 6 BaseInvariantCheck...
12p caott3 20-05-2011 104 8 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# nhỏ hơn một giá trị cho trước Yêu cầu đối tượng nhập vào LessThanOrEqual hoặc trả về phải nhỏ hơn hoặc cho trước Yêu cầu số thành phần của đối tượng nhập MaxCount vào hoặc trả về phải nhỏ hơn hoặc bằng một giá trị cho trước Quy ước chiều dài tối đa của MaxLength một chuỗi là một giá trị cho trước Yêu cầu số thành phần của đối tượng nhập MinCount vào hoặc trả về phải lớn hơn hoặc bằng một giá trị...
12p caott3 20-05-2011 114 6 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# Hình 13-1: Một vòng lặp tính toán Một tính toán bằng vòng lặp gồm những thành phần sau: Mục tiêu post, là một hậu điều kiện, được định nghĩa như là một thuộc tính mà bất cứ trạng thái cuối nào của sự tính toán đều phải thỏa mản. Ví dụ như: “Result là giá trị lớn nhất của mảng”. Mục tiêu này được biểu diễn trong hình minh họa là một tập hợp những trạng thái POST thỏa mãn post. Điều kiện bất biến inv,...
12p caott3 20-05-2011 106 4 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# trong giới hạn cho phép. Điều kiện bất biến biểu diễn mối quan hệ giữa count, lower và upper; nó cho phép count được cài đặt như một hàm chứ không phải một thuộc tính. indexing description: "Mảng giá trị cùng kiểu, truy xuất các phần tử thông qua các chỉ số mảng" class ARRAY [G] creation make feature -- Khởi tạo make (minindex, maxindex: INTEGER) is -- Xác định 2 biên của mảng với minidex và maxindex -- Mảng rỗng nếu minindex maxindex. require meaningful_bounds: maxindex...
12p caott3 20-05-2011 76 6 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# giữa những hàm với những thuộc tính. Ví dụ, điều kiện bất biến của STACK2 có thể mô tả sự liên quan giữa thuộc tính empty và count như sau: empty = (count = 0) Trong ví dụ này, xác nhận về điều kiện bất biến liên quan đến một thuộc tính và một hàm. Nó không riêng là việc lặp lại xác nhận ở hậu điều kiện của hàm (empty). Một xác nhận sẽ trở nên hữu ích hơn nếu nó có liên quan đến nhiều...
12p caott3 20-05-2011 111 7 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# require not_empty: not empty -- i.e. count 0 do Result := representation @ count end feature – Status report empty: BOOLEAN is -- Kiểm tra Stack rỗng? do Result := (count = 0) ensure empty_definition: Result = (count = 0) end full: BOOLEAN is -- Kiểm tra Stack đầy? do Result := (count = capacity) ensure full_definition: Result = (count = capacity) end feature – Element change put (x: G) is -- Thêm phần tử x vào Stack. require not_full: not full --i.e. count...
12p caott3 20-05-2011 93 7 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# n0; x/=Void Lưu ý cách dùng dấu chấm phẩy (“;”). Ý nghĩa của dấu chấm phẩy ở đây tương đương với phép and. Dấu chấm phẩy có thể đặt giữa phần khai báo và chỉ thị. Khi những mệnh đề của xác nhận nằm trên những dòng khác nhau, ta không cần dùng dấu chấm phẩy (xem như có một phép and mặc định giữa các dòng liên tiếp). Những quy ước này giúp ta có thể nhận biết các thành phần riêng biệt của một...
12p caott3 20-05-2011 97 7 Download
-
Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# var loop body end Demo: Project stack STACK_CLASS: lớp stack chính, chứa các định nghĩa các thao tác trên stack. make: Hàm khởi tạo của stack. item: hàm lấy phần tử trên cùng stack. get(t): hàm lấy phần tử thứ t empty: kiểm tra stack có rỗng. full: kiểm tra stack có đầy put(x): thêm phần tử x vào stack remove: bỏ phần tử trên cùng stack TEST_CLASS: lớp chính(main), lớp gọi các hàm của lớp STACK_CLASS. Ta sẽ thử vài trường hợp cho thấy...
12p caott3 20-05-2011 85 6 Download
-
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM TÌM HIỂU CÔNG NGHỆ DESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# GIÁO VIÊN HƯỚNG DẪN Th.s: NGUYỄN ĐÔNG HÀ NIÊN KHÓA 2001 – 2005 Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# LỜI CẢM ƠN Đầu tiên, xin chân thành cảm ơn cô Nguyễn Đông Hà đã trực tiếp hướng dẫn cũng như cung cấp tài liệu để chúng em có thể tiếp cận và tìm hiểu về công nghệ Design By Contract hữu ích...
12p caott3 20-05-2011 142 14 Download