Tải bản đầy đủ (.pdf) (6 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (429.9 KB, 6 trang )









Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
109
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ả
Xử lý
1 IsContractor string Line bool
Kiểm tra xem dòng Line
có phải là khai báo của
một contructor không.
2
IsAccessibilityL
evelFound
string s bool
Kiểm tra xem dòng s có
chứa một trong những từ


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.








Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
110
4 IsHaveContract
EditPoint e,
TextDocument t
bool
Kiểm tra hàm tại điểm
EditPoint e, trong văn bản
TextDocument t có chứa
PreCondition hoặc
PostCondition.
5 GetReturnType

string
FuncName
string
Lấy kiểu trả về của
FuncName này.
6 GetFuncName
string
FuncDec,int
Flag
string
Từ khai báo của hàm (vd:
public int A(int x) ), trả về
2 dạng:
¾ Flag=1: A(x)
¾ Flag=2: A(int x)
7 IsHaveVar string FName bool
Kiểm tra FName có tham
số không.
8 FixFuncName
string FName,
string Type
string
Sửa tên hàm FName(…)
thành FName_[Type](…),
trong đó, Type là
PreCondition,
PostCondition, Invariant
hay BasePreCondition,
BasePostCondition,
BaseInvariant.

9 AddOLDVar
string FName1,
string FName2,
string[][]
OLDVar

OLDVar là mảng các biến
và kiểu dữ liệu tương ứng,
sửa đổi FName1 và
FName2 bằng cách thêm
những thông tin của
OLDVar vào tham số.








Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
111
KẾT LUẬN
Sau khi nghiên cứu đề tài, chúng em đã hiểu khá rõ về công nghệ Design By
Contract và khả năng ứng dụng của nó trong lập trình hướng đối tượng. Đồng thời,
để phục vụ cho yêu cầu của đề tài cũng như giúp cho việc hoàn thiện kiến thức đã
tìm hiểu được, chúng em đã xây dựng một công cụ hỗ trợ Design By Contract dưới
dạng Add-In cho C#.










Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
112
HƯỚNG PHÁT TRIỂN
− Xây dựng công cụ hỗ trợ Design By Contract cho những môi trường
lập trình khác.
− Mở rộng khả năng kiểm tra của công cụ, có thể kiểm tra những điều
kiện thiết thực hơn.
− Mở rộng những kiểu dữ liệu kiểm tra của công cụ, có thể kiểm tra
kiểu đối tượng chứ không chỉ dừng lại ở các kiểu dữ liệu cơ sở.








Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
113
TÀI LIỆU THAM KHẢO
[1] B. Meyer, Object-Oriented Software Construction, Prentice Hall, 2nd
edition, 1997.
[2] Eiffel Software

, Design By Contract.
/>
[3] ResolveCorp, eXtensible C# - Design by contract Add-In for C#
/>
[4] Man Machine Systems, Design by contract tool for Java—JMSAssert.
/>
[5] Kevin McFarlane
, Design by Contract Framework for C#.

[6] Parasoft Corp, Jcontract home page.
/>
[7] R. Kramer, iContract home page.
/>








Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#
114
Ý KIẾN CỦA GIÁO VIÊN PHẢN BIỆN

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

×