Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.



refinement (уточнение)

Отношение, которое представляет собой более полную спецификацию того, что уже было специфицировано на некотором уровне детализации или на другом семантическом уровне.
См. abstraction.

Семантика

Уточнение - это историческая или вычисляемая связь между двумя элементами, которые соотносятся (не обязательно полностью) между собой. Зачастую эти два элемента находятся в разных моделях. Например, класс уровня проектирования может быть уточнением аналитического класса - у него будут те же самые логические атрибуты, однако значения классов для этих атрибутов в этом случае Можно брать из каких-либо специфических библиотек. Один элемент может служить для уточнения другого элемента, находящегося в той же самой модели. Так, оптимизированная версия класса является уточнением простой, но неэффективной его версии. Отношение уточнения может включать в себя описание соответствия классов, которое создается на формальном языке (например, на языке OCL, логическом языке или языке программирования). Оно может также представлять собой неформальный текст (который, разумеется, сделает невозможной автоматическую обработку и который поэтому принято применять только на ранних стадиях разработки проекта). Уточнение также можно использовать для моделирования пошаговой разработки, оптимизации, преобразования и указания на использование каркаса системы.

Структура

Отношение уточнения - это один из видов зависимости. Оно связывает клиент (более проработанный) и поставщик (основу, в которую вносятся уточнения).

Нотация

Уточнение изображается в виде стрелки зависимости (пунктирная стрелка, наконечник указывает на более общий элемент, а хвост на более конкретный), у которой стоит ключевое слово "refine" (уточнять). Описание соответствия между элементами может быть прикреплено к маршруту зависимости пунктирной линией, соединяющейся другим концом с примечанием. Существует много различных видов уточнений, каждое из которых имеет свой собственный стереотип. Впрочем, нередко отношения уточнения связывают элементы различных моделей, поэтому их невозможно изобразить графически.

Пример

Типичным примером уточнения является оптимизация. На рис. 156 изображена шахматная доска, представление которой выглядит достаточно просто в аналитической модели, однако на уровне проектирования оно уже, куда более сложное и замысловатое. Класс проектирования не является спецификацией класса аналитического уровня, поскольку он имеет уже совершенно другую форму. При этом класс аналитической модели и класс модели проектирования носят одно и то же имя, поскольку обозначают одну и ту же концепцию, но на различных семантических уровнях.

Алфавитный указатель