Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТП - Краткие ответы.doc.doc
Скачиваний:
22
Добавлен:
15.04.2019
Размер:
479.74 Кб
Скачать
  1. Архитектура объектно-ориентированных языков программирования.

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

Естественным завершением реализации этих идей, начавшейся с языка Simula и развитой в последующих языках в 1970-1980-е годы, стало сравнительно недавнее появление таких языков, как Smalltalk, Object Pascal, C++, CLOS, Ada. По причинам, которые мы вскоре объясним, эти языки получили название объектных или объектно-ориентированных. Основным элементом конструкции в указанных языках служит модуль, составленный из логически связанных классов и объектов, а не подпрограмма, как в языках первого поколения. По этой же причине структура программ малой и средней сложности при объектно-ориентированном подходе представляется графом, а не деревом, как в случае алгоритмических языков. Кроме того, уменьшена или отсутствует область глобальных данных. Данные и действия организуются теперь таким образом, что основными логическими строительными блоками наших систем становятся классы и объекты, а не алгоритмы.

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

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

  1. Сложность, присущая по (основные причины). Проблемы, возникающие при создании сложных систем.

Сложность вызывается четырьмя основными причинами:

  • сложностью реальной предметной области, из которой исходит заказ на разработку;

  • трудностью управления процессом разработки;

  • необходимостью обеспечить достаточную гибкость программы;

  • неудовлетворительными способами описания поведения больших дискретных систем.

Чем сложнее система, тем легче ее полностью развалить. Н[еумение создавать сложные программные системы проявляется в проектах, которые выходят за рамки установленных сроков и бюджетов и к тому же не соответствуют начальным требованиям (кризис программного обеспечения).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]