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