1. Trang chủ
  2. » Công Nghệ Thông Tin

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

6 6 0

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

THÔNG TIN TÀI LIỆU

Cấu trúc

  • LỜI NÓI ĐẦU

  • TỔNG QUAN

  • Giới thiệu về Eiffel

    • Giới thiệu

    • Design By Contract trong Eiffel

    • EiffelStudio

      • Giao diện

      • Các thao tác căn bản trên EiffelStudio

  • Một số cơ chế mang lại tính đáng tin cậy cho phần mềm

  • Tính đúng đắn của phần mềm

  • Biểu diễn một đặc tả

    • Những công thức của tính đúng đắn

    • Những điều kiện yếu và mạnh

  • Giới thiệu về sự xác nhận trong văn bản của phần mềm

  • Tiền điều kiện và hậu điều kiện

    • Lớp ngăn xếp

    • Tiền điều kiện

    • Hậu điều kiện

  • Giao ước cho tính đáng tin cậy của phần mềm

    • Quyền lợi và nghĩa vụ

      • Những quyền lợi

      • Những nghĩa vụ

    • Nghệ thuật của sự tin cậy phần mềm: kiểm tra ít hơn, bảo đảm

    • Những xác nhận không phải là một cơ chế kiểm tra đầu vào

  • Làm việc với những xác nhận

    • Lớp stack

    • Mệnh lệnh và yêu cầu

    • Lưu ý về những cấu trúc rỗng

    • Thiết kế tiền điều kiện: tolerant hay demanding?

    • Một môđun tolerant

  • Những điều kiện bất biến của lớp

    • Định nghĩa và ví dụ

    • Định dạng và các thuộc tính của điều kiện bất biến của lớp

    • Điều kiện bất biến thay đổi

    • Ai phải bảo quản điều kiện bất biến?

    • Vai trò của những điều kiện bất biến của lớp trong kỹ thuật

    • Những điều kiện bất biến và hợp đồng

  • Khi nào một lớp là đúng?

    • Tính đúng đắn của một lớp

    • Vai trò của những thủ tục khởi tạo

    • Xem lại về mảng

  • Kết nối với kiểu dữ liệu trừu tượng

    • So sánh đặc tính của lớp với những hàm ADT

    • Biểu diễn những tiên đề

    • Hàm trừu tượng

    • Cài đặt những điều kiện bất biến

  • Một chỉ thị xác nhận

  • Vòng lặp có điều kiện bất biến và điều kiện biến đổi

    • Vấn đề vòng lặp

    • Những vòng lặp đúng

    • Những thành phần của một vòng lặp đúng

    • Cú pháp của vòng lặp

  • Sử dụng những xác nhận

    • Những xác nhận như một công cụ để viết phần mềm chính xác

    • Sử dụng những xác nhận cho việc viết tài liệu: thể rút gọn c

  • Giới thiệu công cụ XC#

    • Giới thiệu

    • XC# hoạt động như thế nào

    • Khai báo các xác nhận

      • Tiền điều kiện

      • Hậu điều kiện

      • Một số thuộc tính mà XC# qui ước sẵn

    • Ví dụ lớp Stack

  • Kết quả thực nghiệm: công cụ DCS

    • Nguyên lý làm việc

    • Thiết kế

      • Tổng thể

      • Chi tiết các lớp đối tượng

        • Màn hình Configuration

        • Lớp Connect

        • Lớp ProjectInfo

        • Lớp ClassInfo

        • Lớp FunctionInfo

        • Lớp Assertion

        • Lớp Extra

          • KẾT LUẬN

            • HƯỚNG PHÁT TRIỂN

            • TÀI LIỆU THAM KHẢO

            • Ý KIẾN CỦA GIÁO VIÊN PHẢN BIỆN

Nội dung

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ệ...

Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# khác với 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 Kết Tham số Xử lý Kiểm tra xem dòng Line IsContractor string Line bool có phải khai báo contructor khơng Kiểm tra xem dịng s có chứa từ IsAccessibilityL evelFound string s bool khóa {"private", "public", "protected", "internal","protected internal", "static" } IsContain string large, string small bool 109 Kiểm tra chuỗi large có chứa chuỗi small Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# Kiểm tra hàm điểm IsHaveContract EditPoint e, TextDocument t EditPoint e, văn bool TextDocument t có chứa PreCondition PostCondition GetReturnType string FuncName string Lấy kiểu trả FuncName Từ khai báo hàm (vd: string GetFuncName FuncDec,int public int A(int x) ), trả string Flag IsHaveVar string FName bool dạng: ¾ Flag=1: A(x) ¾ Flag=2: A(int x) Kiểm tra FName có tham số khơng Sửa tên hàm FName(…) thành FName_[Type](…), đó, Type FixFuncName string FName, string Type string PreCondition, PostCondition, Invariant hay BasePreCondition, BasePostCondition, BaseInvariant OLDVar mảng biến AddOLDVar string FName1, kiểu liệu tương ứng, string FName2, sửa đổi FName1 string[][] FName2 cách thêm OLDVar thông tin OLDVar vào tham số 110 Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# KẾT LUẬN Sau nghiên cứu đề tài, chúng em hiểu rõ công nghệ Design By Contract khả ứng dụng lập trình hướng đối tượng Đồng thời, để phục vụ cho yêu cầu đề tài giúp cho việc hồn thiện kiến thức tìm hiểu được, chúng em xây dựng công cụ hỗ trợ Design By Contract dạng Add-In cho C# 111 Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# HƯỚNG PHÁT TRIỂN − Xây dựng công cụ hỗ trợ Design By Contract cho môi trường lập trình khác − Mở rộng khả kiểm tra cơng cụ, kiểm tra điều kiện thiết thực − Mở rộng kiểu liệu kiểm tra cơng cụ, kiểm tra kiểu đối tượng không dừng lại kiểu liệu sở 112 Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# 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 http://www.eiffel.com/doc/manuals/technology/contract/ [3] ResolveCorp, eXtensible C# - Design by contract Add-In for C# http://www.mmsindia.com/JMSAssert.html [4] Man Machine Systems, Design by contract tool for Java—JMSAssert http://www.mmsindia.com/JMSAssert.html [5] Kevin McFarlane, Design by Contract Framework for C# http://www.codeproject.com/csharp/designbycontract.asp [6] Parasoft Corp, Jcontract home page http://www.parasoft.com/jsp/products/home.jsp?product=Jcontract [7] R Kramer, iContract home page http://www.reliable-systems.com/tools/iContract/iContract.htm 113 Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# Ý KIẾN CỦA GIÁO VIÊN PHẢN BIỆN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… 114 ... vụ cho yêu cầu đề tài 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 công cụ hỗ trợ Design By Contract dạng Add-In cho C# 111 Tìm hiểu cơng nghệ Design By Contract Xây dựng. .. OLDVar thông tin OLDVar vào tham số 110 Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# KẾT LUẬN Sau nghiên cứu đề tài, chúng em hiểu rõ công nghệ Design By Contract khả ứng dụng... Design By Contract Xây dựng công cụ hỗ trợ cho C# HƯỚNG PHÁT TRIỂN − Xây dựng công cụ hỗ trợ Design By Contract cho mơi trường lập trình khác − Mở rộng khả kiểm tra công cụ, kiểm tra điều kiện thiết

Ngày đăng: 08/05/2021, 15:56