Читайте также
Ключевые концепции
[x]. Целью программной инженерии является нахождение путей построения ПО высокого качества. [x]. Качество ПО лучше всего видится как компромисс между целым рядом различных целей, а не как единый фактор. [x]. Внешние факторы, понятные пользователям и
Ключевые концепции
[x]. Выбор надлежащей структуры модуля является ключом к достижению целей его возможного повторного использования и расширяемости. [x]. Модули служат как для декомпозиции программного обеспечения (проектирование сверху вниз), так и для его композиции
Ключевые концепции
[x]. Для разработки ПО характерна повторяющаяся деятельность, включающая частое использование общих образцов (common patterns). Но имеются существенные вариации того, как используются и комбинируются эти образцы, так примитивные попытки работать с
Ключевые концепции
[x]. Вычисление включает три вида ингредиентов: процессоры (или потоки управления), действия (или функции) и данные (или объекты). [x]. Архитектуру системы можно получить исходя из функций или из типов объектов. [x]. Описание, основанное на типах объектов, с
Ключевые концепции
[x]. Теория абстрактных типов данных (АТД) примиряет необходимость в точности и полноте спецификаций с желанием избежать лишних деталей в спецификации.[x]. Спецификация абстрактного типа данных является формальным математическим описанием, а не текстом
Ключевые концепции
[x]. ОО-вычисления характеризуются высоко динамичной структурой времени выполнения, в которой объекты создаются только по запросу.[x]. Некоторые объекты, используемые ПО, являются моделями внешних объектов (обычно косвенными). Другие объекты служат
Ключевые концепции
[x]. Существует три основных режима создания объектов: статический, основанный на стеке, динамический. Последний характерен для ОО-языков, но встречается везде, например, в Lisp, Pascal (указатели и new), C (malloc), Ada (типы доступа).[x]. В программах, создающих много
Ключевые концепции
[x]. Классы могут иметь формальные родовые параметры, представляющие типы.[x]. Родовые классы служат для описания общих контейнерных структур данных, реализуемых одинаково, независимо от элементов, которые они содержат.[x]. Универсализация требуется
Ключевые концепции
[x]. Утверждения - это булевы выражения, задающие семантические свойства класса и вводящие аксиомы и предусловия соответствующего абстрактного типа данных.[x]. Утверждения используются в предусловиях (требования, при выполнении которых программы
Ключевые концепции
[x]. Обработка исключений - это механизм, позволяющий справиться с неожиданными условиями, возникшими в период выполнения.[x]. Отказ - это невозможность во время выполнения программы выполнить свой контракт.[x]. Программа получает исключение в результате:
Ключевые концепции
[x]. Внешние программы доступны через хорошо определенный интерфейс.[x]. Объектная технология может служить в качестве механизма упаковки наследуемого ПО.[x]. Подпрограммы не могут модифицировать свои аргументы, хотя они могут изменять объекты,
Ключевые концепции
[x]. С помощью наследования можно определять новые классы как расширение, специализацию и комбинацию ранее определенных классов.[x]. Класс, наследующий другому классу, называется его наследником, а исходный класс - его родителем. Распространенные на
Ключевые концепции
[x]. Подход к конструированию ПО, подобный конструированию из кубиков, требует возможности объединения нескольких абстракций в одну. Это достигается благодаря множественному наследованию.[x]. В самых простых и наиболее общих случаях множественного
Ключевые концепции
[x]. К инварианту класса автоматически добавляются инварианты его родителей.[x]. В подходе Проектирования по Контракту наследование, переопределение и динамическое связывание приводят к идее субподрядов.[x]. Повторное объявление подпрограммы
Ключевые концепции
[x]. Статическая типизация - залог надежности, читабельности и эффективности.[x]. Чтобы быть реалистичной, статической типизации требуется совместное применение механизмов: утверждений, множественного наследования, попытки присваивания, ограниченной и
Ключевые концепции
[x]. При любом подходе к конструированию ПО возникает проблема работы с глобальными объектами, совместно используемыми компонентами разных модулей, и инициализируемыми в период выполнения, когда какой-либо из компонентов первым к ним обратился.[x].