Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Техника безопасности при работе на пароконвектомате: К обслуживанию пароконвектомата допускаются лица, прошедшие технический минимум по эксплуатации оборудования...
Интересное:
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
5.00
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
|
|
Возможности разработчиков сложных систем ограничиваются возможностями статистически среднего человека. Понятно, что одному человеку невозможно в тонкостях иметь представление о сложной системе, и поэтому человечество уже давно пользуется способом управления сложными системами, который звучит так: «РАЗДЕЛЯЙ и ВЛАСТВУЙ!!!».
Применительно к вопросу проектирования сложной программной системы это означает необходимость разделять ее на все меньшие и меньшие подсистемы, каждую из которых можно в дальнейшем независимо доводить до нужного уровня совершенства. В этом случае разработчикам и пользователям приходится одновременно держать в уме информацию лишь о немногих частях системы. Такой процесс называется декомпозицией.
Применительно к разработке ПО декомпозиция может осуществляться по-разному. Используя технологию структурного программирования (или проектирования), декомпозицию воспринимают как обычное разделение алгоритмов, когда каждый модуль системы выполняет один из этапов общего процесса. В данном случае говорят об алгоритмической декомпозиция. Альтернативный способ декомпозиции основан на использовании объектов и называется объектно-ориентированной декомпозицией. Сложная система представляется совокупностью автономных действующих объектов, которые взаимодействуют друг с другом, чтобы обеспечить поведение системы, соответствующее более высокому абстрактному уровню.
Опыт использования этих двух способов при проектировании сложных программных систем показал, что объектно-ориентированная декомпозиция имеет ряд важных преимуществ перед алгоритмической. Во-первых, объектная декомпозиция позволяет уменьшить размер программных систем за счет повторного использования общих механизмов, что приводит к значительной экономии выразительных средств. Во-вторых, объектно-ориентированные системы более гибки и проще эволюционируют со временем, поскольку их схемы базируются на устойчивых промежуточных формах. В-третьих, использование объектов позволяет применять технологию преодоления сложности на основе абстрагирования. Будучи не в состоянии полностью воссоздать сложную систему, удается игнорировать не слишком важные детали и иметь дело с обобщенной моделью системы, которая носит прозрачный характер. Использование абстракции позволяет манипулировать единицами информации существенно большего объема. Это особенно подтверждается, когда рассмотрение окружающего мира происходит через призму объектно-ориентированного подхода, поскольку объекты как абстракции реального мира представляют собой отдельные насыщенные связные информационные единицы.
Следует обратить внимание и на то, что при проектировании сложных систем число абстракций может быть большим, а потому значительные упрощения в понимании сложных систем достигается за счет образования из абстракций иерархической структуры. В данном случае, иерархия – упорядочение абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным программным системам является структура классов и структура объектов.
Объектная модель.
Объектно-ориентированная технология основывается на так называемой объектной модели. Основными ее принципами являются: абстрагирование, инкапсуляция, модульность, иерархичность. Указанные четыре принципа являются главными в том смысле, что без любого из них модель не будет объектно-ориентированной.
Абстрагирование связано с выделением существенных характеристик некоторого объекта, отличающих его от всех других видов объектов. Оно позволяет четко определять концептуальные границы объекта с точки зрения наблюдателя. Абстрагирование фокусирует внимание на внешних особенностях объекта и позволяет отделить самые существенные особенности от несущественных.
Инкапсуляция представляет собой процесс отделения друг от друга элементов объекта, определяющих его устройство и поведение. Она служит для того, чтобы скрыть механизм реализации абстракций. Абстракция и инкапсуляция являются взаимодополняющими в том смысле, что абстрагирование направлено на наблюдаемое поведение объекта, а инкапсуляция занимается его внутренним устройством.
Модульность подразумевает разделение программы на фрагменты, которые компилируются по отдельности, но могут устанавливать связи с другими модулями. Модульность позволяет хранить абстракции раздельно. В программировании модули играют роль физических контейнеров, в которые помещаются определения классов и объектов при логическом проектировании системы. В большинстве языков, поддерживающих принцип модульности как самостоятельную концепцию, интерфейс модуля отделен от его реализации. Так в языке C++ модулями являются раздельно компилируемые файлы, когда интерфейсная часть размещается в отдельных файлах с расширением .h (файлы-заголовки), а реализация модуля хранится в файлах с расширением .c. В языке ObjectPascal принцип модульности формализован несколько строже, в частности, в нем определен особый синтаксис для интерфейсной части и реализации модуля.
Говоря о взаимоотношениях принципов абстрагирования, инкапсуляции и модульности следует указать на то, что они являются взаимодополняющими. Объект логически задает границы определенной абстракции, а инкапсуляция и модульность делают их физически незыблемыми.
Принцип иерархичности обсуждался в конце предыдущего пункта и связан он с тем, что значительное упрощение в понимании сложных систем может быть достигнуто за счет образования из абстракций иерархии.
|
|
|
Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpediasu.com 2017-2026 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!