Основы объектно-ориентированного программирования


11


Базисные механизмы надежности
О корректности ПО
О корректности ПО - часть 2
Выражение спецификаций
Формула корректности
Сильные и слабые условия
Сильные и слабые условия - часть 2
Введение утверждений в программные тексты
Предусловия и постусловия
Класс стек
Предусловия
Постусловия
Педагогическое замечание
Контракты и надежность ПО
Права и обязательства
Интуиция (Дзен) и искусство программной надежности: больше гарантий и меньше проверок
Интуиция (Дзен) и искусство программной надежности: больше гарантий и меньше проверок - часть 2
Интуиция (Дзен) и искусство программной надежности: больше гарантий и меньше проверок - часть 3
Утверждения не являются механизмом проверки вводимых данных
Утверждения это не управляющие структуры
Ошибки, дефекты и другие насекомые
Работа с утверждениями
Класс стек
Класс стек - часть 2
Императив и аппликатив (применимость)
Императив и аппликатив (применимость) - часть 2
Замечание о пустоте структур
Проектирование предусловий: толерантное или требовательное?
Проектирование предусловий: толерантное или требовательное? - часть 2
Проектирование предусловий: толерантное или требовательное? - часть 3
Предусловия и статус экспорта
Предусловия и статус экспорта - часть 2
Толерантные модули
Толерантные модули - часть 2
Толерантные модули - часть 3
Инварианты класса
Определение и пример
Форма и свойства инвариантов класса
Инвариант в момент изменения
Кто должен обеспечить сохранность инвариантов
Роль инвариантов класса в программной инженерии
Инварианты и контракты
Инварианты и контракты - часть 2
Когда класс корректен?
Корректность класса
Роль процедур создания
Ревизия массивов
Связывание с АТД
Не просто коллекция функций
Компоненты класса и АТД функции
Выражение аксиом
Функция абстракции
Инварианты реализации
Инварианты реализации - часть 2
Инструкция утверждения
Инструкция утверждения - часть 2
Инструкция утверждения - часть 3
Инварианты и варианты цикла
Трудности циклов
Трудности циклов - часть 2
Сделаем циклы корректными
Ингредиенты доказательства корректности цикла
Ингредиенты доказательства корректности цикла - часть 2
Синтаксис цикла
Синтаксис цикла - часть 2
Использование утверждений
Утверждения как средство для написания корректного ПО
Использование утверждений для документирования: краткая форма класса
Использование утверждений для документирования: краткая форма класса - часть 2
Использование утверждений для документирования: краткая форма класса - часть 3
Мониторинг утверждений в период выполнения
Мониторинг утверждений в период выполнения - часть 2
Каков оптимальный уровень мониторинга?
Каков оптимальный уровень мониторинга? - часть 2
Каков оптимальный уровень мониторинга? - часть 3
Каков оптимальный уровень мониторинга? - часть 4
Каков оптимальный уровень мониторинга? - часть 5
Обсуждение
Нужен ли мониторинг в период выполнения?
Выразительная сила утверждений
Выразительная сила утверждений - часть 2
Включение функций в утверждения
Включение функций в утверждения - часть 2
Включение функций в утверждения - часть 3
Инварианты класса и семантика ссылок
Инварианты класса и семантика ссылок - часть 2
Инварианты класса и семантика ссылок - часть 3
Что дальше
Ключевые концепции
Библиографические замечания
Библиографические замечания - часть 2
У11.1 Комплексные числа
У11.2 Класс и его АТД
У11.3 Полные утверждения для стеков
У11.4 Экспортирование размера
У11.6 Утверждения и экспорт
У11.7 Поиск жучков (bugs)
У11.8 Нарушение инварианта
У11.9 Генерация случайных чисел
У11.10 Модуль "очередь"
У11.11 Модуль "множество"
Постскриптум: Катастрофа Ариан 5
Постскриптум: Катастрофа Ариан 5 - часть 2



Начало