- •КРИТЕРИИ ОБЪЕКТНО- ОРИЕНТИРОВ АННОЙ СИСТЕМЫ
- •Метод и язык (Method and Language) - охватывают мыслительные процессы и нотацию, использующуюся
- •Критерии категории «Метод и язык»
- •Бесшовность (seamlessness)
- •Классы
- •Утверждения (Assertions)
- •Классы как модули
- •Классы как типы
- •Вычисления, основанные на компонентах
- •Скрытие информации (information hiding)
- •Обработка исключений (Exception handling)
- •Статическая типизация (static typing)
- •Универсальность (genericity)
- •Одиночное наследование (single inheritance)
- •Множественное наследование (Multiple inheritance)
- •Дублируемое наследование (Repeated inheritance)
- •Ограниченная универсальность (Constrained genericity)
- •Переопределение (redefinition)
- •Полиморфизм
- •Динамическое связывание
- •Выяснение типа объекта в период выполнения
- •Отложенные (deferred) свойства и классы
- •Управление памятью (memory management) и сборка мусора (garbage collection)
- •Критерии категории «Реализация и среда»
- •Автоматическое обновление (automatic update)
- •Быстрое обновление (fast update)
- •Живучесть (persistence)
- •Документация
- •Быстрый просмотр (browsing)
- •Критерии категории «Библиотеки»
- •Базовые библиотеки
- •Графика и пользовательские интерфейсы
- •Механизмы эволюции библиотек
- •Механизмы индексации в библиотеках
КРИТЕРИИ ОБЪЕКТНО- ОРИЕНТИРОВ АННОЙ СИСТЕМЫ
Метод и язык (Method and Language) - охватывают мыслительные процессы и нотацию, использующуюся для анализа, проектирования и программирования ПО
Реализация и среда (Implementation and Environment) - критерии в этой категории описывают основные свойства инструментария, позволяющего разработчикам применять ОО-идеи
Библиотеки (Libraries) - объектная технология основана на повторном использовании компонентов ПО.
Критерии в этой категории описывают как наличие базовых библиотек, так и механизмы, необходимые для их использования и создания новых библиотек.
Категории
критериев
оценки
объектной
ориентированно сти системы
Критерии категории «Метод и язык»
Бесшовность
(seamlessness)
Скрытие
информации
(information
hiding)
Дублируемое
наследование
(Repeated
inheritance)
Классы
Обработка
исключений
(Exception
handling)
Ограниченная
универсальность
(Constrained
genericity)
Утверждения
(Assertions)
Статическая
типизация (static typing)
Переопределени
е
(redefinition)
Отложенные
(deferred) свойства и классы
Классы как модули
Универсальность
(genericity)
Полиморфизм
Управление
памятью
(memory management) и сборка мусора (garbage collection)
Классы как типы |
Вычисления, |
основанные на |
|
|
компонентах |
Одиночное |
Множественное |
наследование |
наследование |
(single |
(Multiple |
inheritance) |
inheritance) |
Динамическое |
Выяснение типа |
объекта в |
|
связывание |
период |
|
выполнения |
Бесшовность (seamlessness)
•ОО-язык и ОО-среда, вместе с поддерживающим их методом, должны быть применимы ко всему жизненному циклу, минимизируя сложность переходов между последовательными шагами
Классы
•Понятие класса должно быть центральной концепцией метода и языка
Утверждения (Assertions)
•Язык должен давать возможность: поставлять класс и его компоненты вместе с утверждениями (предусловиями, постусловиями и инвариантами); включать инструментарий для получения документации из этих утверждений; осуществлять мониторинг утверждений во время выполнения программы
Классы как модули
• Классы должны быть единственным видом модулей
Классы как типы
• Каждый тип должен быть основан на классе
Вычисления, основанные на компонентах
•Вызов компонента должен быть основным механизмом вычисления
Скрытие информации (information hiding)
•Автор класса должен иметь возможность указать, что компонент доступен: всем клиентам, ни одному клиенту или избранным клиентам