Danh mục

TÌM HIỂU CÔNG NGHỆ DESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# - 8

Số trang: 12      Loại file: pdf      Dung lượng: 510.44 KB      Lượt xem: 8      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 4,000 VND Tải xuống file đầy đủ (12 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

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ị...
Nội dung trích xuất từ tài liệu:
TÌM HIỂU CÔNG NGHỆ DESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# - 8Tì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 Void hoặc trả về phải SetData([LessThanOrEqual (5)] LessThanOrEqual nhỏ hơn hoặc int value) {} bằng một giá trị //value Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# một chuỗi là //str.Length >= 10 một giá trị cho trước Yêu cầu đối tượng nhập vào Void SetData([NotEqual (5)] int hoặc trả về phải value) {} NotEqual “not equal” với //value != 5 một giá trị cho trước Quy ước giá trị nhập vào hay trả Void SetData([OneOf về của một giá (1,3,5,7,9,10)] int value) {} OneOf trị phải nằm //value có giá trị là một trong các trong các giá trị giá trị sau : [1,3,5,7,9,10] cho trước …. 15.4. Ví dụ lớp Stack private Object[] representation; public int count; // inv: count>=0 (countkhong am) public int capacity;// inv: count=0 // [Requires (size >= 0)] [Ensures (representation != null && capacity== size && IsEmpty())] public MyStack([GreaterThanOrEqual (0)]intsize) { 86Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# capacity = size; representation = new Object[capacity]; } [Requires (!IsFull())] [Ensures (!IsEmpty() &&(int)representation[count-1] == obj)] public void put(int obj) { representation[count++] = obj; } [Requires (!IsEmpty())] [Ensures (!IsFull())] public void remove() { --count; } [Ensures (result == (count == capacity))] public bool IsFull() { return count == capacity; } [Ensures (result == (count == 0))] public bool IsEmpty() { return count == 0; } 87Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# [Requires (position >= 0 && position = 0)] public Object nextItem() { return representation[current--]; } Chương 16: Kết quả thực nghiệm: công cụ DCS 16.1. Nguyên lý làm việc DCS là một Add-In trong môi trường Visual C#, nguyên lý làm việc củaDCS là bắt sự kiện OnBuildBegin của project, thực hiện những bước sau: Duyệt qua tất cả những lớp của project (mỗi lớp ứng với một file *.cs, trừfile AssemblyInfo.cs) và lưu thông tin của mỗi lớp (tên lớp, tên file, tên những lớpdẫn xuất). Trong mỗi lớp, chương trình thực hiện những bước sau: − Kiểm tra xem lớp có chứa những xác nhận (Invariant, PreCondition,PostCondition) hay không. Lưu thông tin của Invariant (các mệnh đề v ...

Tài liệu được xem nhiều: