Система визуального проектирования и разработки приложений. Визуальное программирование

Среды разработки программ

Интегрированные среды программирования являются различными средами программирования объединенными в один пакет программ и использующие одни и те же средства(пример Microsoft Visual Studio включает в себя несколько языков программирования, но с объединенным компилятором т.е. на каком либо языке программирования(из включенных в пакет) пишется программа затем собирается(сборка происходит у каждого языка своя) и передается компилятору(компилятор один) или используют одни и те же средства отладки программ и т.д.).

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

Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик. Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов - для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков - такие как Eclipse или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования - как например, Visual Basic.

Примеры сред разработки - NetBeans, Eclipse, Sun Studio, Turbo Pascal, Borland C++, GNU toolchain, DrPython, Borland Delphi, PascalABC.NET, Dev-C++, Lazarus, KDevelop, QDevelop, QNX Momentics IDE, XCode

Визуальное программирование - способ создания программы для ЭВМ путём манипулирования графическими объектами вместо написания её текста.

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

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

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

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

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

языки, в интегрированной среде разработки которых на этапе проектирования интерфейса применяются формы, с возможностью настройкой их свойств. Примеры: Delphi и C++ Builder фирмы Borland, С#


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

С изобретением визуального программирования, первой ласточкой которого была среда разработки Visual Basic, создание графического пользовательского интерфейса стало под силу даже новичку. В среде Visual Basic можно было быстро создать приложение для операционной системы Windows, в котором были все присущие графическому пользовательскому интерфейсу элементы: окна, меню, кнопки, поля ввода и т.д. Все эти элементы превратились в строительные блоки программы - компоненты - объекты, имеющие визуальное представление на стадии проектирования и во время работы.

Проектирование пользовательского интерфейса упростилось на порядок, однако, для профессиональных программистов язык Basic оказался явно слабоват. Отсутствие в нем контроля типов данных и механизма их расширения оказалось камнем преткновения на пути создания серьезных программ. Создание нестандартных компонентов в среде Visual Basic было крайне затруднено (для этого приходилось прибегать к другим средствам разработки, в частности, к языку C++). В общем, среда Visual Basic отлично подходила для создания прототипов приложений, но не для разработки коммерческих программных продуктов

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

Визуальное программирование (от лат. visualis - зрительный) - это технология программирования, предусматривающая создание приложений с помощью наглядных средств.

К визуальному программированию можно отнести также Rapid Application Development (RAD) - быструю разработку программ. RAD - технология программирования, обеспечивающая ускоренную разработку и модификацию приложений за счет использования объектно-ориентированного и визуального программирования.

Средствами визуального программирования обычно решают задачи построения пользовательского интерфейса и упрощения разработки приложения путем замены метода "написания программы" на метод конструирования.

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

Так, например, фирма IBM наиболее полно реализовала концепцию визуального программирования в среде VisualAge Smalltalk.

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

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

Поддержка графического интерфейса, предоставляемая готовыми компонентами, отвечает CUA (Common User Access) спецификациям и содержит ряд расширений для организации гибкого ввода-вывода в сложных формах и таблицах. Библиотека готовых компонент предоставляет также поддержку устройств мультимедиа, коммуникаций через протоколы APPC, TCP/IP, NetBIOS, программных интерфейсов CICS External Call Interface, EHLLAPI, Message Queue Interface (MQI), работу с реляционными базами данных семейств DB2, Oracle, Sybase и многое другое.

Фирма Microsoft, разрабатывая концепцию.NET Framework, создала Visual Studio.NET Enterprise Architect 2003, в которой реализовала все последние достижения в области программирования и в частности, в технологии визуального программирования.

Visual Studio.NET - полная многоязычная среда разработки для платформы Microsoft.NET. Visual Studio.NET предоставляет набор технологий, упрощающих создание, развертывание и последующее усовершенствование безопасных, масштабируемых и высокодоступных веб-приложений и веб-служб XML.

Фирма Borland Software Corporation традиционно развивает интегрированную среду программирования, имеющую несомненный успех на рынке профессиональных программных продуктов. Эта среда всегда поддерживала методы визуального программирования, предлагала разработчику мощные библиотеки, интерактивные мастера-построители, готовые элементы графического интерфейса. На сегодняшний день Borland Developer Studio - программный продукт от Borland Software Corporation, представляющий собой среду быстрой разработки приложений (RAD) для платформ Win32 и.NET на языках Delphi (Object Pascal), C++ и C#.

Еще один пакет от фирмы Borland - Delphi Enterprise Edition 7.0. Этот пакет обеспечивает поддержку новейших перспективных технологий Веб-служб, включает предварительную версию средств работы с Microsoft.NET Framework.

При помощи пакета Delphi 7 разработчики, использующие Delphi, могут приобрести навыки программирования для.NET, готовить свои приложения к работе под управлением.NET, не теряя при этом имеющихся наработок и навыков работы на платформе Windows. Среда разработки Delphi 7 - это проектирование; развертывание архитектуры, управляемой моделью (MDA); интегрирующее моделирование, разработка и развертывание приложений и систем электронного бизнеса для платформы Windows.

Фирма Borland Software Corporation является первой компанией, открывшей независимый путь к.NET с Delphi 7, межплатформенной средой быстрой разработки приложений (RAD) для платформы Windows. Характерной чертой Delphi 7 является возможность разработки и развертывания корпоративных приложений. Это позволяет разработчикам создавать корпоративные приложения, от концепции к готовому продукту, еще быстрее с использованием нового UML™-дизайнера и технологии Model Driven Architecture™ (MDA™).

Мы рассмотрели роль и место визуального программирования в области современного программирования. Теперь перейдем к рассмотрению конкретных приемов и методов, относящихся к визуальному программированию. Рассмотрим использование компонентов и приемов визуального программирования в рамках Visual Studio.NET Framework фирмы Microsoft.

Основы визуального программирования

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

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

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

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

Возможно, именно наличие визуальных средств построения интерфейсов в таких языках, как Microsoft Visual Basic и Delphi, а также создаваемые с помощью этих языков визуальные программные интерфейсы, закрепили за ними термин "визуальное программирование". Безусловно, существует много других аналогичных продуктов (Visual C++, Borland C++ начиная с версии 4, Symantec Visual Cafe, C++ Builder и др.), но они не смогли завоевать такой популярности, как Visual Basic и Delphi. Именно благодаря Visual Basic, мир узнал о возможности визуального построения интерфейсов программ для Windows.

В Visual Basic и Delphi выполняется визуальное построение интерфейса программы, но не самого кода. Определяющими элементами процесса визуализации являются:

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

  • Окно инструментов (ToolBox) - окно, содержащее набор элементов, из которых строится визуальная модель. Обычно элементы разделяются по их назначению на отдельные группы, размещающиеся на отдельных закладках окна инструментов.

  • Окно свойств (PropertyBox) - окно, в котором отображаются параметры (свойства) выбранного элемента визуальной модели. Термин "свойство" пришел из объектно-ориентированного программирования и обозначает параметр объекта (элемента).
  • Визуализируемой моделью в Visual Basic и Delphi является окно (форма, диалог) Windows, а не код программы.

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

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

    Рис.8.1. Визуализация разработки кода программы

    Присоединение модуля, созданного средствами визуального программирования выполняется также визуальными средствами - в режиме конструирования (рис.8.2).

    Рис.8.2. Средства визуального программирования

    Другим примером визуализации создания кода программы может служить процесс создания макро программ в Microsoft Excel (рис.8.3).

    Рис.8.3. Диалог MS Excel при автоматической записи действий пользователя

    Визуализируемой моделью в данном случае является рабочий лист Excel, в котором программист выполняет действия по обработке данных. Программный код пишется автоматически в фоновом режиме, при этом происходит описание в операторах языка VBA (Visual Basic for Application) всех визуальных действий пользователя.

    Окно свойств Properties присутствуют, но не в самом рабочем листе, а в среде VBA (рис.8.4). Окно инструментов при выборе объекта Module выключается, но в случае редактирования программного кода для каждого программного объекта появляется раскрывающийся список со свойствами, методами и событиями, т.е. в каждой строке записи макроса в отдельности имеется возможность выбора или смены текущей команды макроса.

    Пример получаемой программы, вызов которой в рабочем листе Excel можно организовать по командной кнопке или непосредственно по имени записанного макроса, приведен на рис.8.4.

    Рис.8.4. Результат автоматической записи программного кода как протокола действий пользователя

    Применение визуального программирования при построении интерфейса приложения в Visual Studio.Net

    Visual Studio.NET - это универсальная среда разработки всех типов приложений на базе.NET и на основе единого визуального интерфейса. Платформа.NET Framework представляет собой набор объектов и планов (blueprints, то есть описание объектов), созданных корпорацией Microsoft для разработки приложений (Windows и Internet). Большая коллекция визуальных объектов позволяет конструировать различные элементы управления: Надпись, Надпись с гиперссылкой, Кнопку, Поле, Флажок и многие другие. Все эти элементы располагаются на панели инструментов (рис.8.5). Настройка свойств элементов выполняется с помощью списка свойств.

    Элементы управления, как и все другие объекты среды.NET, реализованы в виде классов в определенном пространстве имен, в данном случае - System.Windows.Forms.

    Рис.8.5. Визуальное программирование средствами Visual Studio.NET

    Методы элементов программируются пользователем "вручную", но и тут имеются визуальные помощники: после двойного щелчка по элементу управления в конструкторе автоматически открывается окно редактора кода и автоматически пишется заголовок процедуры обработки события. Боле того, после набора имени объекта автоматически появляется список свойств и методов объекта (рис.8.6). Таким образом, процесс написания программного кода также частично визуализирован.

    Рис.8.6. Визуализация свойств и методов объекта

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

    Отдельный класс Dialog в.NET не предусмотрен. Диалоговое окно - это форма (рис.8.7.), обладающая некоторыми специальными характеристиками. Программирование диалоговых окон, как и многих других стандартных компонент, в Visual Studio поддерживается визуальными средствами программировании (рис.8.8).

    Рис.8.7. Пример стандартного диалога

    Рис.8.8. Программирование стандартных элементов средствами Visual Studio

    Концепция.NET Framework и Visual Studio.NET предоставляют в распоряжение программистов огромную библиотеку объектов, ускоряющую процесс разработки приложений. Многие объекты в этой библиотеке имеют визуальное представление и дают возможность назначения свойств объекта в режиме конструирования с помощью окна Properties или диалогов с мастером-построителем.

    Выводы

    Визуальное программирование предусматривает создание приложений с помощью наглядных средств.

    Средства визуального программирования обычно решают задачи построения пользовательского интерфейса и упрощения разработки приложения путем замены метода "написания программы" на метод конструирования.

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

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

    Визуальные средства поддержки программирования в Visual Studio.NET превращают программистов в разработчиков Windows и Internet приложений.

    Вопросы для самопроверки

    1. В чем принципиальное отличие визуального программирования от любого другого программирования?
    2. Возможно, ли средствами визуального программирования создать законченное программное приложение?
    3. Какие достоинства и недостатки присущи визуальному программированию?
    4. Какие языки программирования поддерживают визуальный стиль программирования?
    5. В каких средах программирования реализован визуальный стиль программирования?
    6. Какие фирмы-разработчики пакетов программирования имеют наиболее удачные решения для визуального программирования?
    7. Можно ли сказать, что визуальное программирование - это построение графического интерфейса пользователя?
    8. Какие элементы процесса визуализации вы можете перечислить?
    9. Что такое "визуализируемая модель"?
    10. Приведите примеры визуального программирования в известных вам программных средах.

    Литература

    1. Гарнаев Ф.Ю. Самоучитель Visual Studio.NET 2003.- СПб.: БХВ-Петербург, 2005.- 688.с.: ил.
    2. Подлин Ш. Освой самостоятельно программирование для Micrsoft Excel 2000. Пер. с англ.: Уч. Пос. - М.: Издательский дом "Вильямс", 2006. - 304 с.: ил.- Парал. тит. англ.
    3. Харитонова И.А., Михеева В.Д. Microsoft ACCESS 2000: Разработка приложений. - СПб.: БХВ-Петербург, 2004. - 832 с.: ил.

    форма контроля: зачет

    семестр 4 (очная форма)

    семестр 5 (заочная форма)

    1. Визуальное и вербальное в культуре: проблема соотношения.

    2. «Машинерия» в культуре Ренессанса и Постренессанса (камера-обскура, профильная машина, латерна-магика).

    3. Системы перспективы: сравнительный анализ.

    4. Архитектура как коммуникативная система.

    5. Технологии репродуцирования доиндустриальной эпохи.

    6. Происхождение фотографии (опыты Ньепса, Дагера, Тальбота и их результаты).

    7. Дагеротипия и калотипия: сравнительный анализ.

    8. Фотография середины XIX в. (на базе мокроколлодионного процесса).

    9. Портрет в фотографии 1850 – 1870-х гг. (на примере работ Надара, Диздери, Дж.-М. Кэмерон, А. Карелина).

    10. Пикториальная фотография и проблема взаимоотношений искусства и фотографии.

    11. Фотография движения (эксперименты Майбриджа и Маре).

    12. Концепция Нового зрения в авангардной культуре 1920 – 1930-х гг. (на примере деятельности Дзиги Вертова, Л. Мохой-Надя, Лисицкого, Родченко и др.).

    13. Фотография в системе производственно-утилитарного искусства.

    14. Вальтер Беньямин и его эссе о фотографии и репродукции.

    15. Социальная фотография 1930-х годов (А. Зандер, Д. Ланге, У. Эванс, Б. Шан).

    16. Фотография во французском сюрреализме (Ман Рэй, Буаффар, Беллмер и др).

    17. Фотография середины XX в. – ведущие мастера.

    18. Ролан Барт и его книга о фотографии.

    19. Место фотографии в современном искусстве (поп-арт, концептуализм, Синди Шерман, Шерри Ливайн, Ричард Принс, А. Гурски, Д. Уолл, Б. Штройли и др.).

    20. Влияние новых технологий на фотографию. Компьютерная фотография.

    21. Фотография и живопись: история взаимоотношений (от «художественных опытов» в фотографии 1850 – 1860-х гг. до современной ситуации).

    22. Предыстория появления кино.

    23. Особенности кино как средства массовой коммуникации.

    24. Кино: визуальные и повествовательные аспекты.

    25. Основные новации раннего кинематографа (1890-е – 1910-е гг.).

    26. Творчество Д.-У. Гриффита.

    27. Немецкий киноэкспресисонизм 1920-х годов.

    28. Киноавангард 1920 – 1930-х гг.: общие тенденции развития.

    29. Советское монтажное кино 1920-х гг.: основные произведения.

    30. Проблема соотношения звука и изображения в кино. Становление звукового кинематографа.

    31. Кинематограф 1930-х – 1940-х гг.: общая характеристика.

    32. Кинематограф 1950 – 1960-х гг.: общая характеристика.

    33. Современное кино: основные направления развития.

    34. Происхождение и история мультипликации.

    35. Маршалл Маклюэн и его теория медиа.

    36. Теория авангарда и кича. Роль визуальности в современной массовой культуре.

    37. Жанр видео-инсталляции.

    Введение в визуальное проектирование

    Визуальное проектирование

    Delphi, являясь визуальной средой разработки приложений, ориентирована на тех программистов, которые из готовых ком­понент «собирают» конкретные приложения для конечных поль­зователей. Визуальные средства Delphi построены на концеп­ции двойного инструментария (Two-Way Tools), позволяющей изменять свойства объектов как в процессе визуального конст­руирования на этапе «сборки» (Design time), так и программно, в процессе работы приложения (Run time). В Delphi эта концеп­ция реализуется с помощью компонентов.

    С другой стороны, являясь расширяемым объектно-ориенти­рованным инструментарием, Delphi позволяет создавать собст­венные компоненты.

    Компонент - это оформленный специальным образом класс. Его свойства могут меняться на этапе «сборки» программы с помощью Инспектора объектов (Object Inspector). Все измене­ния сразу же отображаются на экране монитора, поэтому такой подход позволяет быстро создавать интерфейсную часть прило­жения. Как известно, эта часть занимает обычно до 80% рабо­ты программиста.

    Компоненты Delphi объединены в библиотеку VCL - Visual Component Library (библиотека визуальных компонентов). Все компоненты Delphi можно классифицировать следующим образом:

    Невидимые (невизуальные) компоненты представляют со­бой, как правило, компоненты, с помощью которых осуществляется доступ к системным ресурсам, например к системному таймеру. Они отображаются во время конструирования интер­фейса, но не видны во время работы приложения.

    Элементы управления дают возможность пользователю во время работы программы получать информацию и/или управ­лять работой программы.

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

    Графические компоненты отличаются от предыдущих тем, что не имеют идентификатора и, соответственно, не могут по­лучать сообщения от Windows. Они отнимают у системы гораз­до меньше ресурсов, чем все другие.

    Иерархия классов Delphi представляет собой удачно подо­бранную иерархию базовых классов. Во многом это объясняет­ся тем, что традиционно в среде Windows было достаточно сложно реализовывать пользовательский интерфейс. Событий­ная модель в Windows всегда была сложна для понимания и от­ладки. Но именно разработка интерфейса в Delphi является са­мой простой задачей для программиста.

    Среда Delphi включает полный набор визуальных инстру­ментов для быстрой разработки приложений (Rapid Application Development - RAD), поддерживающей разработку пользова­тельского интерфейса и подключение к корпоративным базам данных. VCL - библиотека визуальных компонент - включа­ет стандартные объекты построения пользовательского интер­фейса, объекты управления данными, графические объекты, объекты мультимедиа, диалоги и объекты управления файла­ми, управление OLE.

    Палитра компонентов (рис. 4.1.2) позволяет выбрать нужные объекты для размещения их на Дизайнере форм. Для использова­ния Палитры компонент просто первый раз щелкните мышкой на одном из объектов в палитре компонент и потом второй раз - на Дизайнере форм. Выбранный объект появится на проектируе­мом окне, и им можно манипулировать с помощью мыши.

    Палитра компонентов использует постраничную группиров­ку объектов. Вверху палитры находится набор закладок - Standard, Additional, Dialogs и т. д. Для выбора страницы па­литры компонентов используются стрелки перемещения, рас­положенные в правом верхнем углу.

    Полиморфизм (имеющий много форм)

    Наследование

    Инкапсуляция

    Три основных принципа ООП

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

    С одной стороны объект, обладает определенными свойствами, которые характеризуют его состояние в данный момент. С другой стороны над объектами возможны операции, которые приводят к изменению этих свойств. Доступ к изменению свойств осуществляется только с помощью методов, присущих данному классу объектов. Есть метод, данное свойство данного объекта можно изменить, нет метода – нельзя. Методы как бы «окружают» свойства объекта, говорят, что свойства «инкапсулированы» в объект. Для обеспечения инкапсуляции класс не должен позволять прямого доступа к своим данным. Инкапсуляция – механизм скрытия всех внутренних деталей объекта, не влияющих на его поведение.

    Классы-наследники могут наследовать характеристики классов-родителей. Т.е. один объект приобретает свойства другого объекта, добавляя к ним свойства, характерные только для него.

    Наследование определяет отношение между классами: объекты класса-наследник обладают всеми свойствами и методами объектов класса-родитель и не должны их повторно реализовывать.

    К объектам разных классов можно применять один и тот же метод, вот только действовать этот метод будет по-разному. Например, к большинству объектов в Windows&Office можно применять одни и те же методы: копирование, перемещение, переименование, удаление и т.п. Однако, механизмы реализации этих методов для разных классов (файл в Windows и документ Word) неодинаковы.

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

    Для преодоления трудностей на этапе создания интерфейса пользователя широкое распространение получило визуальное программирование. Работа стала производиться в Интегрированных средах разработки (IDE - ИСР) приложений, которые предоставляют программисту набор средств для наглядного конструирования интерфейса. Этот набор средств заранее программно разработан, определен перечень их свойств, методов и режимов использования. Содержатся эти средства в стандартных библиотеках.



    К таким средам ИСР и относятся такие среды программирования как Visual Basic и Delphi, которые предоставляют программисту проект экранной формы, на которой он может помещать различные компоненты, имеющиеся в стандартных библиотеках этих сред. С помощью простых манипуляций мышью можно изменять размеры и расположение этих компонентов. Результаты проектирования тут же отражаются на экране. При необходимости разработчик приложения может менять с помощью специального диалогового окна свойства компонентов, заданные по умолчанию.

    Но самое главное достоинство визуального программирования заключается в том, что во время проектирования формы и размещения на ней компонентов редактор кода ИСР автоматически генерирует код программы, включая в нее соответствующие фрагменты, описывающие данный компонент.

    Подобная среда существенно сокращает время и облегчает процесс создания графического интерфейса приложения. Но это только первая часть проблемы. Вторая часть – написание программного кода, соответствующего смыслу решаемой задачи – остается за разработчиком и решается стандартными средствами языка программирования ИСР (VB или Pascal).

    Использование методовавтоматического проектирования ивизуального моделирования позволяет значительно улучшить качество, сократить стоимость и время разработки ИС. В настоящее время эти методы включают в себя:

    компонентную технологию разработки моделей ИС,

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

    использование образцов (patterns) при проектировании ИС,

    визуальное представление различных аспектов проекта (визуальное моделирование, CASE - средства)

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

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

    элементы модели - фундаментальные концепции моделирования и их семантику;

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

    принципы использования - правила применения элементов в рамках построения тех или иных типов моделей ИС.

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

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

    Необходимо выполнение проекта в сжатые сроки. Быстрое выполнение проекта позволяет создать систему, отвечающую требованиям сегодняшнего дня. Если система проектируется долго, то весьма высока вероятность, что за это время существенно изменятся фундаментальные положения, регламентирующие деятельность организации, то есть, система морально устареет еще до завершения ее проектирования.

    Нечетко определены требования к ПО. В большинстве случаев заказчик весьма приблизительно представляет себе работу будущего программного продукта и не может четко сформулировать все требования к ПО. Требования могут быть вообще не определены к началу проекта либо могут изменяться по ходу его выполнения.

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

    Интерфейс пользователя (GUI) есть главный фактор. Нет смысла заставлять пользователя рисовать картинки. RAD-технология дает возможность продемонстрировать интерфейс в прототипе, причем достаточно скоро после начала проекта.

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