2. 2
1.1. Эволюция систем
программирования
Средства разработки приложений для ЭВМ
как основной инструмент программиста
должны обеспечивать возможность
написания эффективного кода с точки
зрения современных технологий и при
этом предоставлять комфортные условия
для работы программиста, позволяя ему
сосредоточиться на решении стоящих
перед ним задач./
3. 3
Основные этапы эволюции СП на
основе языка С
Первой ступенью эволюции систем программирования
стало появление языка программирования C++ и
библиотек классов C++, которые заключали в себе сотни
строк кода, необходимых даже для простейшего
отображения окна на экране, однако обращение к этим
классам занимало в программе на C++ всего несколько
строк. Этот этап эволюции характеризуется наличием
раздельных элементов системы программирования –
текстового редактора, компилятора, линковщика,
отладчика, справочника по функциям языка С. Процесс
разработки приложения здесь заключается в
последовательном вызове этих элементов из командной
строки операционной системы. Это, очевидно, сильно
замедляет процесс программирования.
4. 4
Вторым поколением средств разработки для
Windows стало появление средств
интегрированной среды разработки (Integrated
Development Environment, IDE). Эти средства
позволяют программисту редактировать,
компилировать, компоновать, отлаживать
программы непосредственно в одном
приложении. Интегрированные средства
отладки появились чуть позже и были быстро
взяты на вооружение программистами.
Практически все современные ИСП строятся
по принципу IDE.
5. 5
Следующий шаг эволюции средств
разработки стал результатом развития
концепции каркасов (framework).
Каркас — это основа, скелет вашего
приложения, на основе которого
разрабатывается как структура программы,
так и детали ее пользовательского
интерфейса.
6. 6
Каркасы представляют собой библиотеки
классов, которые предлагаются
разработчику как строительные блоки для
создания его приложения. Каждый класс
такой библиотеки представляет собой уже
готовый к использованию элемент
программного или пользовательского
интерфейса приложения (окно, меню,
таймер). При этом каркасные приложения
имеют стандартную структуру,
реализующую типовой алгоритм
функционирования программы.
7. 7
Достоинства такого подхода очевидны –
типовые элементы приложения
предоставляются программисту в готовом
виде, и вместо многих десятков строк кода,
создающих, например, обычное окно, он
может воспользоваться классом «Окно»,
который содержит в себе все необходимые
для работы окна методы и данные. В
качестве примера каркасов можно назвать
библиотеки MFC (Microsoft Foundation
Class), OWL (Object Windows Library).
8. 8
Настоящей проблемой технологии каркасов являются
их ограничения. Несмотря на то, что каркасы
действительно ускоряют разработку приложений,
предоставляя в распоряжение разработчика многие
из основных функций нормального Windows-
приложения, они сразу же встают на пути
приложения, которое не укладывается в привычные
рамки, требует нестандартного решения, не
предусмотренного разработчиками каркаса. Еще одно
неудобство каркасных технологий – плохая
визуализация процесса сборки приложения из
классов, когда и внешний вид элемента
пользовательского интерфейса, и связи между
отдельными элементами становятся видны
разработчику только на этапе работы программы.
9. 9
Развитием концепции каркасов
стало появление компонентной
модели ИСП, применяемой в
таких системах, как Delphi,
C++ Builder. В основу
программирования здесь также
положена библиотека, но это
уже библиотека компонент
(VCL, Visual Component
Library).
10. 10
Компоненты не диктуют строгую структуру
программы, они могут использоваться
программистом по его усмотрению для
достижения поставленной цели. Благодаря
своей многофункциональной внутренней
архитектуре, основанной на использовании
свойств и событий, компоненты можно
гораздо гибче адаптировать к требованиям
той или иной задачи.
11. 11
Помимо использования компонентной модели,
многие современные ИСП строятся по
технологии RAD (Rapid Application Development),
характеризующейся наличием визуальной среды
проектирования, представляющей еще на этапе
проектирования приложения весь его
графический интерфейс в виде, аналогичном
тому, каким он будет на этапе работы программы.
Также на этапе проектирования в визуальной
форме (в инспекторе объектов) задаются
основные свойства компонент, связи компонент
друг с другом.
12. 12
1.2. Основные достоинства системы
программирования C++ Builder
Система объектно-ориентированного
программирования C++Builder
производства корпорации Borland
предназначена для операционных систем
платформы Win32. С++Builder –это
законченный, гибкий инструмент RAD,
сочетающий мощь современного
компилятора языка С++, удобство
средств визуальной разработки
приложений, достоинства компонентного
подхода к проектированию с открытыми
возможностями пополнения имеющихся в
распоряжении разработчика компонент
13. 13
Интегрированная среда
разработки объединяет редактор
форм, инспектор объектов, палитру
компонент, администратор проекта и
полностью интегрированные редактор
кода и отладчик - инструменты
быстрой разработки программных
приложений, обеспечивающие полный
контроль над кодом и ресурсами.
14. 14
Профессиональные средства
языка C++ интегрированы в
визуальную среду разработки.
C++Builder предоставляет
быстродействующий компилятор
языка Borland C++,
соответствующий стандарту
ANSI.
15. 15
Для повышения скорости работы в системе
используется эффективный инкрементальный
загрузчик и гибкие средства отладки как
на уровне исходных инструкций, так и на
уровне ассемблерных команд.
Компилятор системы С++Builder поддерживает
технологии шаблонов (templates),
именованных областей видимости
(namespaces), обработки исключительных
ситуаций (exception handling), библиотеки
стандартных шаблонов STL (Standard
Template Library), информации о типах
времени выполнения RTTI (Run Time Type
Information).
16. 16
Инкрементальный компилятор
и линковщик системы
обрабатывают при повторной
сборке проекта только те
его строки, которые
изменялись с момента
предыдущей компиляции, тем
самым экономя время сборки
приложения.
17. 17
Конструирование по способу "drag-and-
drop"
позволяет создавать приложение простым
перетаскиванием захваченных мышью
визуальных компонент из палитры
компонент на форму приложения.
Инспектор объектов предоставляет
возможность оперировать со свойствами и
событиями компонент уже на этапе
разработки приложения, автоматически
задавая значения свойств компонент,
создавая заготовки функций обработки
событий, которые необходимо наполнять
кодом.
18. 18
Механизмы двунаправленной
разработки (two-way-tools)
позволяют синхронизировать процесс
визуального проектирования форм и
генерацию исходного кода, когда
манипулирование с визуальными
средствами редактора форм или
инспектора объектов приводит к
автоматическим изменениям
структуры программы, объявлений
объектов программы.
19. 19
Библиотека Визуальных Компонент
VCL.
Компоненты библиотеки VCL
составляют основу программного
инструментария программиста на С+
+Builder.
Компонент – это объект, который
своими свойствами, методами и
событиями описывает поведение
некоторого элемента
пользовательского (кнопка, список
строк в окне, меню) или
программного (соединение с базой
данных, сокет, таймер) интерфейса
программы.
20. 20
Так как каждый компонент является
законченным программным объектом,
то, конструируя свое приложение как
совокупность взаимодействующих
компонент, программист избавляется
от необходимости писать большие
фрагменты кода – они уже реализованы
разработчиками компонент.
Находясь в среде объектно-
ориентированного программирования C+
+Builder, компоненты можно
использовать непосредственно, менять
их свойства, облик и поведение или
порождать производные элементы,
обладающие нужными отличительными
характеристиками.
21. 21
Использование модели “свойства-
методы-события” PEM ,
реализованное в С++ Builder как
расширение языка С++, определяет
внутреннюю структуру компонент,
превращая их в удобный инструмент
визуального проектирования.
22. 22
Компонент в этой модели является расширением
понятия «класс» стандартного языка С++ с
добавлением понятий «свойство» и «событие».
Свойство является расширением понятия
«компонентные данные класса», оно
устанавливает способ получения и сохранения
значений характеристик компонент при
манипулировании ими как на этапе
проектирования, так и в процессе работы
программы. Событие определяет способ реакции
компонента на внешние «раздражители»,
которыми могут стать сообщения, приходящие от
пользователя, других компонент, операционной
системы.
23. 23
Доступ к функциям API позволяет
расширять функциональность
разрабатываемых приложений за
счет возможностей,
предусмотренных операционной
системой, которые, возможно, не
реализованы компонентами VCL, но
которые, таким образом, не
выпадают из арсенала
программиста.
24. 24
Хранилище объектов является
инструментом новой методики хранения и
повторного использования модулей данных,
объектов, форм и программной бизнес-
логики. Поскольку построение нового
приложения на существующем фундаменте
значительно экономит временные затраты,
хранилище объектов предоставляет для
повторного использования готовые
структуры: формы и законченные
программные модули.
25. 25
Используя хранилище объектов,
программист может начинать
новый проект на твердой
платформе предшествующих
разработок, лишь добавляя в них
фрагменты, характерные для
стоящей перед ним задачи.
26. 26
Поддержка промышленных
стандартов ActiveX, OLE, СОМ,
MAPI, Windows Sockets TCP/IP, ISAPI,
NSAPI, ODBC, Unicode и MBCS
существенно повышает
функциональную мощь системы
программирования, превращает ее в
универсальное средство разработки
приложений различной практической
направленности.
27. 27
Возможности работы с базами
данных. С++Builder содержит полный
набор компонент для работы с базами
данных, которые вообще не требуют
программирования. Разработка по
способу "drag-and-drop" многократно
упрощает и ускоряет обычно
трудоемкий процесс
программирования СУБД в
архитектуре клиент/сервер.
28. 28
Широкий выбор компонент управления
визуализацией и редактированием позволяет
легко изменять вид отображаемой
информации и поведение программы.
Механизм BDE (Borland Database Engine)
поддерживает высокопроизводительный 32-
разрядный доступ к базам данных dBASE,
Paradox, Sybase, Oracle, DB2, Microsoft SQL
Server, Informix, InterBase, MySQL. C++Builder
использует контроллер ODBC (Open Database
Connectivity) производства Microsoft для связи
с серверами баз данных Excel, Access,
FoxPro.
29. 29
Начиная с версии 6 поддерживается
технология SOAP для многоуровневых
приложений баз данных, добавлен
независимый от архитектуры BDE
набор компонентов dbExress,
позволяющий создавать приложения
клиент/сервер, работающие с базами
данных различных форматов,
поддерживается технология доступа к
базам данных ADO.
30. 30
Вывод
Система программирования С++Builder является
современным средством разработки приложений,
поддерживающим компонентный подход и
построенный по принципу визуального
проектирования.
Удобные встроенные средства проектирования и
поддержка большинства современных технологий
в области разработки баз данных, сетевых
приложений, мультимедийных приложений
превращают С++Builder в универсальный
инструмент программиста любой специализации.