Thông tin tài liệu:
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ỀMTÌ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 – 2005Tì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...
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# - 1 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 LÊ TRẦN HOÀNG NGUYÊN – 0112103 NGUYỄN BÁCH KHOA - 0112140 TÌM HIỂU CÔNG NGHỆDESIGN BY CONTRACT VÀ XÂY DỰNG CÔNG CỤ HỖ TRỢ CHO C# KHÓA LUẬN CỬ NHÂN TIN HỌC GIÁO VIÊN HƯỚNG DẪN Th.s: NGUYỄN ĐÔNG HÀ NIÊN KHÓA 2001 – 2005Tì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ướngdẫ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ôngnghệ Design By Contract hữu ích này. Bên cạnh đó, xin đồng gửi lời cảm ơn đến các thầy cô của bộ môn Côngnghệ Phần mềm Nâng cao đã tạo điều kiện cho chúng em dành nhiều thời giannghiên cứu đề tài này. Cuối cùng, quả là một điều thiếu sót nếu không kể đến sự ủng hộ to lớn vềmặt tinh thần cũng như sự giúp đỡ tận tình của gia đình, bạn bè, đặc biệt là bạnNguyễn Lương Ngọc Minh và Nguyễn Ngọc Khánh. Xin chân thành cảm ơn tất cả, những người đã góp phần giúp cho luận vănnày được hoàn thành. Thành phố Hồ Chí Minh, Tháng 7, 2005. 2Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C# MỤC LỤCLỜI NÓI ĐẦU 7TỔNG QUAN 8Chương 1: Giới thiệu về Eiffel 9 1.1. Giới thiệu 9 1.2. Design By Contract trong Eiffel 10 1.3. EiffelStudio 10 1.3.1. Giao diện 11 1.3.2. Các thao tác căn bản trên EiffelStudio 11Chương 2: Một số cơ chế mang lại tính đáng tin cậy cho phần mềm 17Chương 3: Tính đúng đắn của phần mềm 18Chương 4: Biểu diễn một đặc tả 20 4.1. Những công thức của tính đúng đắn 20 4.2. Những điều kiện yếu và mạnh 22Chương 5: Giới thiệu về sự xác nhận trong văn bản của phần mềm 24Chương 6: Tiền điều kiện và hậu điều kiện 25 6.1. Lớp ngăn xếp 25 6.2. Tiền điều kiện 28 6.3. Hậu điều kiện 28Chương 7: Giao ước cho tính đáng tin cậy của phần mềm 29 7.1. Quyền lợi và nghĩa vụ 29 7.1.1. Những quyền lợi 30 7.1.2. Những nghĩa vụ 30 7.2. Nghệ thuật của sự tin cậy phần mềm: kiểm tra ít hơn, bảo đảm nhiềuhơn 31 7.3. Những xác nhận không phải là một cơ chế kiểm tra đầu vào 33 3Tìm hiểu công nghệ Design By Contract và Xây dựng công cụ hỗ trợ cho C#Chương 8: Làm việc với những xác nhận 35 8.1. Lớp stack 35 8.2. Mệnh lệnh và yêu cầu 38 8.3. Lưu ý về những cấu trúc rỗng 41 8.4. Thiết kế tiền điều kiện: tolerant hay demanding? 42 8.5. Một môđun tolerant 43Chương 9: Những điều kiện bất biến của lớp 47 9.1. Định nghĩa và ví dụ 48 9.2. Định dạng và các thuộc tính của điều kiện bất biến của lớp 49 9.3. Điều kiện bất biến thay đổi 51 9.4. Ai phải bảo quản điều kiện bất biến? 52 9.5. Vai trò của những điều kiện bất biến của lớp trong kỹ thuật xây dựngphần mềm 53 9.6. Những điều kiện bất biến và hợp đồng 54Chương 10: Khi nào một lớp là đúng? 56 ...