Лишь в очень редких случаях построенная объектная модель сразу
же оказывается корректной. Модель должна быть исследована и отлажена. Некоторые
ошибки могут быть найдены при исследовании модели без компьютера, другие - при
ее интерпретации совместно с динамической и функциональной моделями на
компьютере (эти модели строятся после того, как объектная модель уже построена).
Здесь мы рассмотрим приемы бескомпьютерного поиска и
исправления ошибок в объектной модели. В их основе лежат внешние признаки, по
которым можно находить ошибки в модели; эти признаки могут быть объединены в
следующие группы.
Признаки пропущенного объекта (класса):
- несимметричности связей и обобщений (наследований); для исправления ошибки
необходимо добавить пропущенные классы;
- несоответствие атрибутов и операций у класса; для исправления ошибки
необходимо расщепить класс на несколько других классов, так чтобы атрибуты и
операции новых классов соответствовали друг другу;
- обнаружена операция, не имеющая удовлетворительного целевого класса; для
исправления ошибки необходимо добавить пропущенный целевой класс;
- обнаружено несколько зависимостей с одинаковыми именами и назначением; для
исправления ошибки необходимо сделать обобщение и добавить пропущенный
суперкласс.
Признаки ненужного (лишнего) класса:
- нехватка атрибутов, операций и зависимостей у некоторого класса; для
исправления ошибки необходимо подумать, не следует ли исключить такой класс.
Признаки пропущенных зависимостей:
- отсутствуют пути доступа к операциям; для исправления ошибки необходимо
добавить новые зависимости, обеспечивающие возможности обслуживания
соответствующих запросов.
Признаки ненужных (лишних) зависимостей:
- избыточная информация в зависимостях; для исправления ошибки необходимо
исключить зависимости, не добавляющие новой информации, или пометить их как
производные зависимости;
- не хватает операций, пересекающих зависимость; для исправления ошибки
необходимо подумать, не следует ли исключить такую зависимость.
Признаки неправильного размещения зависимостей:
- имена ролей слишком широки или слишком узки для их классов; для исправления
ошибки необходимо переместить зависимость вверх или вниз по иерархии классов.
Признаки неправильного размещения атрибутов:
- нет необходимости доступа к объекту по значениям одного из его атрибутов;
для исправления ошибки необходимо рассмотреть нужно ли ввести квалифицированную
зависимость.
Примеры практического применения описанных признаков см. в п.
2.3.6.
|