Шаг 45.
Унифицированный язык моделирования UML.
Взаимосвязь классов и объектов

    На этом шаге рассмотрим взаимосвязь классов и объектов.

    Классы и объекты — это отдельные, хотя и тесно связанные понятия. В частности, каждый объект является экземпляром какого-либо класса, а любой класс может порождать произвольное число объектов или не порождать ни одного. В большинстве практических приложений классы статичны, т.е. все их периоды существования, семантика и зависимости фиксируются до выполнения программы. Аналогично, класс любого созданного объекта фиксируется заранее. В противоположность этому, объекты интенсивно создаются и уничтожаются в процессе выполнения программы.

    В качестве примера рассмотрим классы и объекты, существующие в системе управления воздушным движением. К наиболее важным абстракциям этой системы относятся самолеты, планы полетов, взлетно-посадочные полосы и коридоры в воздушном пространстве. Смысл этих классов и объектов по самому их определению является статичным. В противном случае было бы невозможно создать приложение, использующие на практике знания о том, как самолеты взлетают, летают и приземляются, не сталкиваясь друг с другом. В противоположность этому, экземпляры данных классов носят динамический характер. К медленно изменяющиеся факторам относится строительство новых взлетно-посадочных полос и реконструкция старых. Быстро изменяющиеся факторы включают в себя появление новых планов полетов и отмену старых маршрутов. Наиболее динамичные аспекты системы управления воздушным движением описывают вход новых самолетов в воздушный коридор и вылет самолетов из воздушного коридора.

    На этапе анализа и ранних стадиях проектирования перед разработчиками систем программного обеспечения стоят две задачи:

  1. Идентификация классов, образующих словарь предметной области.
  2. Изобретение структур, в которых объекты взаимодействуют друг с другом, обеспечивая поведение, соответствующее требованиям задачи.

    Классы и объекты называются основными абстракциями (key abstraction), а взаимодействующие структуры — механизмами реализации (mechanisms of the implementation).

    На ранних стадиях проектирования внимание разработчиков должно быть сосредоточено на внешних проявлениях основных абстракций и механизмов. Это представление образует логическую основу системы и должно учитывать структуру ее классов и объектов.

    На последующих фазах проекта и на этапе реализации задача проектировщика изменяется и в центре внимания оказывается внутреннее представление основных абстракций и механизмов, включая их физическое воплощение. Принимаемые в процессе проектирования решения задают архитектуру системы: и архитектуру процессов, и архитектуру модулей.

    На следующем шаге рассмотрим качество классов и объектов.




Предыдущий шаг Содержание Следующий шаг