Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Software Engineering2010.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
539.8 Кб
Скачать

Преимущества использования аоп

  • Улучшение декомпозиции системы на отдельные модули

  • Упрощение сопровождения программной системы и внесения в нее изменений.

  • Появление возможностей повторного использования кода, реализующего сквозную функциональность.

Недостатки аспектного подхода

  • Не полностью проработана методология АОП-разработки программ. В данный момент законченный и оттестированный компилятор имеется только для нескольких языков, что ограничивает применение данной технологии.

  • Недостаточно качественная реализация расширений языков. В настоящее время существующие реализации АОП-расширений для различных языков и платформ различаются по своим возможностям.

  • Недостаточно проработан механизм привязки аспектов к компонентам.

  • Не полностью исследованы случаи, когда аспекты удобно и целесообразно было бы применить.

Визуально-ориентированное программирование

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

Необходимо различать:

  • графический язык программирования - который прежде всего язык программирования (со своим синтаксисом)

  • визуальные средства разработки - как правило под ними подразумевают средства проектирования интерфейсов для быстрой разработки приложений.

Языки ВОП могут быть дополнительно классифицированы в зависимости от типа и степени визуального выражения, на следующие типы:

  • языки на основе объектов, когда визуальная среда программирования предоставляет графические или символьные элементы, которыми можно манипулировать интерактивным образом в соответствии с некоторыми правилами;

  • языки на основе форм, когда программирование осуществляется помещением на специальные формы объектов и настройкой их свойств и поведения. Примеры: Delphi и C++ Builder фирмы Borland, С#

  • языки схем, основанные на идее «фигур и линий», где фигуры (прямоугольники, овалы и т. п.) рассматриваются как субъекты и соединяются линиями (стрелками, дугами и др.), которые представляют собой отношения. Пример: UML.

Другие парадигмы Процедурное (императивное) программирование

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

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

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

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

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

Примеры языков: Аda (язык общего назначения), Basic (версии начиная с Quick Basic до появления Visual Basic), Си, КОБОЛ, Фортран, Pascal.

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