Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Роль декомпозиции, абстракции и иерархии при построении сложных систем

Double x1, mas[5], p1; //здесь объявлены вещественные переменные x1, p1 | Double x; // определяется вещественная переменная x | While (условие) инструкция | Член_класса_2 | Объясните основные архитектурные особенности ОС Windows XP/Vista | Объясните архитектурные особенности операционной системы Unix. | Проанализируйте структурную схему персонального компьютера, архитектурные свойства и принципы микропроцессоров. | Классифицируйте режимы работы микропроцессора. Объясните организацию оперативной памяти и систему прерываний. | Проанализируйте основные подходы к верстке веб-страниц. | Проанализируйте задачи искусственного интеллекта. |


Читайте также:
  1. III. АНАТОМИЯ КРОВЕНОСНОЙ СИСТЕМЫ.
  2. Internet/Intranet-технологии в корпоративных информа­ционных системах.
  3. IV. АНАТОМИЯ ЦЕНТРАЛЬНОЙ НЕРВНОЙ СИСТЕМЫ.
  4. IV. Загальна характеристика, елементи та класифікація виборчих систем………………………………………………………………... c.242-304
  5. joule [ʤu:l] Единица измерения работы, энергии и количества теплоты в Международной системе мер. J | дж | Дж
  6. QA-система Start
  7. Quot;НАЦІОКРАТІЯ" МИКОЛИ СЦІБОРСЬКОГО В СИСТЕМІ ІДЕЙНИХ ЗАСАД УКРАЇНСЬКОГО НАЦІОНАЛІЗМУ

Возможности разработчиков сложных систем ограничиваются возможностями статистически среднего человека. Понятно, что одному человеку невозможно в тонкостях иметь представление о сложной системе, и поэтому человечество уже давно пользуется способом управления сложными системами, который звучит так: «РАЗДЕЛЯЙ и ВЛАСТВУЙ!!!».

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

Применительно к разработке программного обеспечения (ПО) декомпозиция может осуществляться по-разному. Используя технологию структурного программирования (или проектирования), декомпозицию воспринимают как обычное разделение алгоритмов, когда каждый модуль системы выполняет один из этапов общего процесса. В данном случае говорят об алгоритмической декомпозиция. Альтернативный способ декомпозиции основан на использовании объектов и называется объектно-ориентированной декомпозицией. Сложная система представляется совокупностью автономных действующих объектов, которые взаимодействуют друг с другом, чтобы обеспечить поведение системы, соответствующее более высокому абстрактному уровню.

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

Следует обратить внимание и на то, что при проектировании сложных систем число абстракций может быть большим, а потому значительные упрощения в понимании сложных систем достигается за счет образования из абстракций иерархической структуры. В данном случае, иерархия – упорядочение абстракций, расположение их по уровням. Основными видами иерархических структур применительно к сложным программным системам является структура классов и структура объектов.


Дата добавления: 2015-11-14; просмотров: 400 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Пять признаков сложной системы.| Объектная модель, объектно-ориентированные программирование, проектирование, анализ

mybiblioteka.su - 2015-2024 год. (0.006 сек.)