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


              

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

Базисные механизмы надежности
О корректности ПО
О корректности ПО - 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
Содержание