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# - 5

12 9 0

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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

Tìm hiểu cơng nghệ Design By Contract Xây dựng công cụ hỗ trợ cho C# hàm với thuộc tính Ví dụ, điều kiện bất biến STACK2 mơ tả liên quan thuộc tính empty count sau: empty = (count = 0) Trong ví dụ này, xác nhận điều kiện bất biến liên quan đến thuộc tính hàm Nó khơng riêng việc lặp lại xác nhận hậu điều kiện hàm (empty) Một xác nhận trở nên hữu ích có liên quan đến nhiều thuộc tính ví dụ nhiều hàm Tiếp theo, ta có ví dụ tiêu biểu khác Liên quan đến khái niệm tài khoản ngân hàng, ta giả sử có lớp BANK_ACCOUNT có đặc tính deposits_list, withdrawals_list balance Lúc đó, điều kiện bất biến lớp mệnh đề sau: consistent_balance: deposits_list.total – withdrawals_list.total = balance Hàm total cho biết giá trị tích lũy danh sách hoạt động (số tiền gửi hay số tiền rút) Ví dụ cho thấy tình trạng quán giá trị truy cập thơng qua thuộc tính deposits_list, withdrawals_list balance 9.2 Định dạng thuộc tính điều kiện bất biến lớp Về mặt cú pháp, điều kiện bất biến lớp xác nhận, nằm phần invariant, sau phần feature trước end class STACK4[G] creation …As in STACK2 feature As in STACK2 invariant count_non_negative:

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

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w