Ключевые концепции

Ключевые концепции

[x]. Целью программной инженерии является нахождение путей построения ПО высокого качества.

[x]. Качество ПО лучше всего видится как компромисс между целым рядом различных целей, а не как единый фактор.

[x]. Внешние факторы, понятные пользователям и клиентам, следует отличать от внутренних факторов, понятных проектировщикам и конструкторам.

[x]. Действительное значение имеют внешние факторы, но управление системой возможно только через внутренние факторы, благодаря которым достигается нужный эффект.

[x]. Список основных внешних факторов качества приведен выше. ОО-метод направлен на улучшение качества тех факторов, которые прежде всего нуждаются в лучших подходах. К ним относятся факторы корректности и устойчивости, связанные с безопасностью, вместе известные как надежность, и факторы, требующие децентрализованной архитектуры ПО, - повторное использование и расширяемость, вместе известные как модульность.

[x]. Сопровождение ПО, потребляющее большую долю его стоимости, находится в невыгодном положении из-за трудности реализации изменений в ПО и из-за слишком большой зависимости программ от физической структуры данных, которыми они манипулируют.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Ключевые концепции

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

Ключевые концепции [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].