Объектно-ориентированное проектирование
Цели Цель настоящей главы – познакомить с подходом к проектированию программного обеспечения, в котором система представляется в виде взаимодействующих объектов. Прочитав эту главу, вы должны: q знать, что структуру программы можно представить в виде совокупности взаимодействующих объектов, управляющих собственным состоянием и операциями; q иметь представление об основных этапах процесса объектно-ориентированного проектирования; q понимать различные модели, которые используются при документировании объектно-ориентированной структуры; q познакомиться с представлением этих моделей с помощью UML.
Объектно-ориентированное проектирование представляет собой стратегию, в рамках которой разработчики системы вместо операций и функций мыслят в понятиях объекты. Программная система состоит из взаимодействующих объектов, которые имеют собственное локальное состояние и могут выполнять определенный набор операций, определяемый состоянием объекта (рис. 12.1). Объекты скрывают информацию о представлении состояний и, следовательно, ограничивают к ним доступ. Под процессом объектно-ориентированного проектирования подразумевается проектирование классов объектов и взаимоотношений между этими классами. Когда проект реализован в виде исполняемой программы, все необходимые объекты создаются динамически с помощью определений Рис. 12.1. Система взаимодействующих объектов
Объектно-ориентированное проектирование – только часть объектно-ориентированного процесса разработки системы, где на протяжении всего процесса создания ПО используется объектно-ориентированный подход. Этот подход подразумевает выполнение трех этапов.
• Объектно-ориентированный анализ. Создание объектно-ориентированной модели предметной области приложения ПО. Здесь объекты отражают реальные объекты-сущности, также определяются операции, выполняемые объектами. • Объектно-ориентированное проектирование. Разработка объектно-ориентированной модели системы ПО (системной архитектуры) с учетом системных требований. В объектно-ориентированной модели определение всех объектов подчинено решению конкретной задачи. • Объектно-ориентированное программирование. Реализация архитектуры (модели) системы с помощью объектно-ориентированного языка программирования. Такие языки, например Java, непосредственно выполняют реализацию определенных объектов и предоставляют средства для определения классов объектов.
Данные этапы могут "перетекать" друг в друга, т.е. могут не иметь четких рамок, причем на каждом этапе обычно применяется одна и та же система нотации. Переход на следующий этап приводит к усовершенствованию результатов предыдущего этапа путем более детального описания определенных ранее классов объектов и определения новых классов. Так как данные скрыты внутри объектов, детальные решения о представлении данных можно отложить до этапа реализации системы. В некоторых случаях можно также не спешить с принятием решений о расположении объектов и о том, будут ли эти объекты последовательными или параллельными. Все сказанное означает, что разработчики ПО не стеснены деталями реализации системы. Объектно-ориентированные системы можно рассматривать как совокупность автономных и в определенной мере независимых объектов. Изменение реализации какого-нибудь объекта или добавление новых функций не влияет на другие объекты системы. Часто существует четкое соответствие между реальными объектами (например, аппаратными средствами) и управляющими ими объектами программной системы. Такой подход облегчает понимание и реализацию проекта.
Потенциально все объекты являются повторно используемыми компонентами, так как они независимо инкапсулируют данные о состоянии и операции. Архитектуру ПО можно разрабатывать на базе объектов, уже созданных в предыдущих проектах. Такой подход снижает стоимость проектирования, программирования и тестирования ПО. Кроме того, появляется возможность использовать стандартные объекты, что уменьшает риск, связанный с разработкой программного обеспечения. Однако, как показано в главе 14, иногда повторное использование эффективнее всего реализовать с помощью коллекций объектов (компонентов или объектных структур), а не через отдельные объекты. В книгах [74, 295, 186, 54, 137, 13*, 32*, 34*] предлагаются различные методы объектно-ориентированного проектирования. В этих методах на протяжении всего процесса проектирования используется единообразная нотация, принятая в UML [304]. В данной главе не предлагаются какие-либо особые методы проектирования, а рассматриваются лишь общие концепции объектно-ориентированного проектирования. В разделе 12.2 рассмотрены этапы процесса проектирования. По всей главе используется система обозначений, принятая в UML.
Читайте также: Архитектурное проектирование Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|