История
Некоторые из вас помнят Borland еще с тех пор, когда она выпустила первый turbo-компилятор для языка Паскаль. Для молодого же поколения программистов напомню, почему и при каких обстоятельствах "Борланд" стала легендой для разработчиков по всего мира.
Первым легендарным продуктом "Борланд" был Turbo-Pascal, созданный - точнее, лицензированный у немецкого разработчика Андерса Хейлсберга - в 1983 году. Впоследствии Андерс стал ведущим разработчиком "Борланд" и был архитектором всех версий Turbo-Borland и первых версий Delphi. Первая версия была очень быстрой, однако еще не использовала многих возможностей, появившиеся позже.
Следующим прорывом была настоящая оконная среда разработки, IDE и технология подстрочной компиляции. Идея была гениальной: поскольку ввод пользователя в тысячи и миллионы раз медленнее работы даже среднего процессора - получалось, что в момент ввода программы компьютер практически простаивал на 99%. Борланд изменила ситуацию: в момент, когда курсор покидает строку, среда разработки, IDE, частично компилировала эту строку независимо от остальных. В частности, в фоновом режиме проверялся синтаксис, строились таблицы символов. В момент, когда курсор покидал процедуру, компилятор производил оптимизацию на уровне процедуры, связывая коды для каждой отдельной строки в согласованный ассемблерный код. В результате, когда пользователь нажимал собственно Компилировать, результат появлялся немедленно - в отличие от других, пакетных компиляторов. До этого компиляция занимала несколько минут, а в некоторых случаях даже часов.
Дополнительно использовалось еще и инкрементное связывание: поскольку за один раз вы изменяете незначительное количество модулей, можно избежать полной "перелинковки" приложения и просто дополнить исполнимый файл новой версией модуля и перевести на него указатель в таблице модулей. Конечно, при этом старая версия оставалась на своем месте, так что с точки зрения дискового пространства это не самый оптимальный вариант, но для быстрой отладки он вполне подходит. Для последующего получения оптимизированной версии был придуман "чистильщик" - процесс, который удалял не используемые процедуры, на которые нет ссылок из call list. Таким образом, удалось удалять лишний код даже из статически слинкованных библиотек и отдельные не использующиеся методы классов.
Эти идеи были развиты "Борланд" - и вскоре появились Turbo Basic, Turbo Prolog и Turbo C. На сегодня идею предварительного синтаксического разбора, "подстрочной компиляции" и инкрементной линковки используют практически все IDE.
По мере развития объектной библиотеки Borland Object Pascal был задуман и затем реализован проект визуальной среды разработки для Windows, известный теперь как Delphi. Собственно, название это происходит от фразы: "If you want to talk to [the] Oracle, go to Delphi" и было предложено одним из ведущих разработчиков - Денни Торпом (Danny Thorpe). Таким образом особо подчеркивалось, что система с самого начала поддерживает набор объектов для связи с базами данным Oracle SQL - а в то время это было уникальной возможностью для разработки SQL-приложений с удобным интерфейсом пользователя.
Идея Delphi тоже получила стремительное продолжение - появился целый ряд последующих удачных релизов, а также других продуктов, построенных по аналогии, таких, например, как CBuilder, JBuilder и, наконец, Kylix.
Казалось бы: чего еще можно пожелать компании, которая ассоциируется с самыми передовыми продуктами, самыми смелыми инновациями и счастливыми моментами в жизни тысяч программных разработок? Оказывается, возможности развития еще есть - хотя и не в совсем привычной для Borland плоскости.
Время связывать все воедино
Основная проблема разработки во всем мире - высокий, критически высокий процент "брака" и, соответственно, низкий процент выхода конкурентоспособной продукции. Статистика гласит: из четырех проектов по создания программных продуктов один так и не будет завершен, перестав на каком-то из этапов получать финансирование. Еще два проекта находятся не в лучшем положении: деньги на завершение находятся, однако продукт, полученный в результате, оказывается неконкурентоспособным - то есть он просто не обладает необходимыми пользователю характеристиками, и эта ситуация не разрешается в приемлемый срок. И только около 25% программ доходят до рынка и занимают свое место в "потребительской корзине".
Было проведена масса исследований и результат уже ни у кого не вызывает сомнений: причина подобной ситуации - в недостаточном планировании, недостаточном исследовании целей разработки и неудовлетворительном производственном цикле. И именно на создание бесперебойного "конвейера" при создании ПО нацелены все новые разработки Борланд - как собственные, так и приобретенные в результате слияния компаний.
Процесс должен быть периодическим
Неверное представление о жизни (и о работе в частности) исподволь закладывается в нас еще во время обучения в вузе. Современная система обучения предполагает "однопроходный" подход: начало - прослушал курс - сдал зачет - конец. На самом же деле ситуация "конец" в реальной жизни не наступает никогда. Или, если выражаться точнее, является крайне нежелательной - для разработчика она означает завершение жизненного цикла продукта и уход его с рынка (или снятие с эксплуатации у заказчика). Нормальной должна быть ситуация, когда после определения требований к системе, анализа, разработки, реализации и тестирования (в том числе и в процессе эксплуатации) возникали бы новые требования на основе реакции пользователей - и, соответственно, цикл повторялся бы снова.
На уровне участников процесса (актантов) каждый специалист должен обладать хорошо формализованным интерфейсом: получать входные данные и генерировать нужный результат, вне зависимости от действий соседних участков.
Суть идеи - в разграничении полномочий и независимости операций: согласно Унифицированному Процессу, реализация и даже тестирование должны начинаться так же скоро, как скоро появляются первые данные от архитекторов. В результате запросы на исправления (Requests for Change) будут генерироваться на самых ранних этапах (в результате тестирования) и проходить с самого начала через цепочку анализа, реализации и снова тестирования. К тому времени как система начнет эксплуатироваться у заказчика, нормальный производственный цикл уже будет приведен в действие.
Таким образом, это не уход от решения проблем, но распределение их на более ранние периоды разработки - так сказать, "по небольшой проблеме каждый день". При этом становится невозможной ситуация "все деньги мы потратили, но ничего не получилось" - всегда можно контролировать количественные параметры прогресса. В худшем случае остается выбор: либо завершить работу на раннем этапе, частично защитив инвестиции, либо довести разработку до промежуточного финиша (например, создав рабочую библиотеку компонент, которую можно использовать в другом проекте или продавать независимо). По крайней мере, в результате использования Унифицированного Процесса будет создана уникальная база знаний (например, в виде UML-диаграмм) в предметной области, что само по себе является ликвидным активом.
Итак, задача сводится к организации циклического, формализованного и автоматизированного процесса разработки. Именно для организации такого процесса "Борланд" тщательно подобрала и доработала ряд продуктов, которые теперь составляют основу новых сред разработки.
CaliberRM: анализируй
В основе всех новых (или приобретенных) продуктов Borland лежит ряд эвристик, сгенерированных в университете Carnegie-Mellon, с которым у этой компании давние и прочные связи. Основной тезис всех исследований можно сформулировать таким образом: "чем больше будет думаться в начале, тем меньше придется переделывать в конце". Было исследовано достаточное количество проектов на предмет "предварительного изучения требований и количества последующих переделок в системе". В численном выражении это выглядит приблизительно так: если затраты на определение предварительных требований составляют 5-6%, то переделки обычно обходятся в сумму на уровне 70-80%! Если же на начальном уровне затратить около 15% ресурсов на определение и формализацию требований, то уровень переделок составит приблизительно 30-40%.
Конечно, на самом деле за всем этим стоят вполне конкретные и более осмысленные числовые величины, но общий смысл ясен: сроки разработки можно сократить, а стоимость снизить, если больше времени уделить предварительному планированию.
На этапе определения требований к системе важно придать полученным от пользователя сведениям формальный и детерминированный вид. Также важно разделить полномочия: отдельный человек или система собирает желаемые требования, Change Requests, такие как исправление ошибок или добавление/модификация функциональности и интерфейса. Команда архитекторов принимает решение по каждой позиции: реализовать ли в ближайшем багфиксе, отложить ли до новой версии или же вообще "до лучших времен". Ясно, что с точки зрения каждого пользователя его требования - самые важные. И если не создать барьер между пользователем и разработчиком, то последний может быть просто блокирован запросами на изменение, далеко не все из которых стоят внимания.
Для сбора и формализации требований к программному продукту (но фактически это может быть использовано и для любых других систем) предназначен новый (для "Борланд") инструмент - CaliberRM. В названии присутствует RM, что означает Requirement Manager - то есть система для учета, классификации и отслеживания жизненного цикла требований. Естественно, такой инструмент работает в сетевом окружении и предназначен для групповой работы с общим репозитарием. Также совершенно в духе времени существует несколько методов доступа к информации: отдельные инструменты, интегрированные в IDE "всплывающие" модули, межплатформенный графический интерфейс Java, доступ через веб-браузер.
Рассмотрим несколько подробнее функции CaliberRM, поскольку этот инструмент может быть полезен не только в разработке программных продуктов, но также и в любой другой отрасли.
Система состоит из двух компонент - клиентской и серверной части. Прежде чем начать работу, в вашей сети необходимо установить, как минимум, один сервер, доступный всем заинтересованным сторонам,- хотя он и использует в своей работе SQL-сервер, но для пользователей методом доступа является специальный метод CORBA IIOP для доступа к объектной базе данных. Сервер Caliber является сервером CORBA, а в качестве реализации CORBA в него встроен Borland VisiBroker. Настройки параметров сервера Caliber производятся через Control Panel.
Прежде чем клиенты смогут подключаться к серверу, администратор должен создать проект. В обязанности администратора входит также и создание служебных и мета данных: новых типов требований, новых типов документов, пользователей и их групп. Кроме того, с административной консоли можно наблюдать за текущей активностью системы.
Записи пользователей содержат информацию о пользователе, которая впоследствии может быть использована системой: например, адрес электронной почты - для автоматических рассылок и нотификаций по событиям, связанным с тем или иным проектом. Для более эффективного управления пользователи подключаются к группам.
Главной сущностью CaliberRM является проект. С ним связано текстовое описание, список групп, имеющих доступ к проекту, глоссарии и сроки завершения. Важной частью являются связи проекта с другими инструментами, такими как Borland Together, Test Director, SELECT, SCM или Caliber RBT. Быстрый переход между данными в различных системах, отслеживание связей и их автоматическая синхронизация (traceability), является ключевым качеством CaliberRM, существенно влияющим на качество получаемых результатов и общую производительность.
В процессе работы с клиентской частью вы с самого начала создания проекта можете загрузить в него папки для программных, аппаратных и бизнес-требований. Впрочем, ничто не мешает сделать это и позже - гибкость системы поразительна. Вы можете в любой момент создавать классы и подклассы, новые типы требований. При этом вы очень прецизионно настраиваете права доступа к новым классам требований: кто, как и когда будет выполнять с ними те или иные действия, такие как добавление, просмотр и удаление требований в категории. Новый класс может быть доступен как одному, так и сразу нескольким проектам.
Теперь - собственно о требованиях. С требованием связан ряд атрибутов, в частности имя, приоритет, статус. Каждому требованию сопоставлен список ответственных за реализацию данного требования. С требованием связан также список документов - это могут быть спецификации стандартов, рабочие документы типа заметок или докладов и, в конце концов, части программного продукта, такие как файлы исходного текста или файлы графического и мультимедийного контента. Очередная закладка посвящена связям с внешними документами: это трассы к другим точкам в графе требований и внешним данным. Если вы пользуетесь персональным организатором, то такой тип ассоциаций "к чему угодно" вам знаком.
Очень важным - при правильном использовании - является пункт Дискуссия. Это то место, куда все заинтересованные пользователи пишут свои posts, то есть замечания и соображения. Сообщения поступают в общую очередь, и желающие могут обсудить отдельные сообщения, подобно тому, как это происходит в группах новостей.
Для каждого из требований ведется история изменений, реализованная очень изящно: при каждом сохранении элемента требования порождается новая версия, снабженная комментарием и пометками о том, кто и когда внес изменение. На любом этапе вы можете "откатиться" и восстановить в памяти все стадии эволюции отдельного требования или всего проекта.
В результате, используя CaliberRM, вы попадаете в среду, которая управляет вашим "социально значимым поведением" как члена команды. Если до этого в вашей команде и практиковались неформализованные формулировки и нечетко выраженные "пожелания" в процессе работы, то, используя CaliberRM, вы поневоле будете подведены к необходимости четкой формулировки мыслей, а также к ясному пониманию своих обязанностей и автоматической документации всего процесса производства. Результат - повышенная ответственность в рамках компетенции каждого "субъекта разработки", причем не только подчиненных, но также и менеджеров, аналитиков и руководителей.
Другие продукты Borland для групповой разработки
CaliberRM является только первым (хронологически) инструментом для групповой разработки, соответствующий термину "Define" (то есть нацеленный на обнаружение и корректную всестороннюю обработку требований - вне зависимости от того, поступают ли они из внешних источников, таких как отраслевые стандарты, в результате внутреннего тестирования или же, как результат Запросов на Изменения от конечных пользователей системы). Но это только один компонент полного цикла разработки.
Прочие четыре стадии - Design, Develop, Test и Deploy - также нашли свое отражение в продуктах Borland, явно поставившей себе
В частности, Borland Together является новейшим инструментом объектного моделирования и проектирования, включающим средства автоматической генерации документации, анализа кода на основе аудита и метрик и интегрированный с новейшими средствами разработки, в частности JBuilder и Delphi 8. Основное преимущество - в использовании дополнительного "среза", дополнительного взгляда на ваш код. Если раньше мы могли синхронно работать с визуальным и текстовым представлением разрабатываемого модуля, то теперь можно параллельно работать также с UML-моделью. При этом, как обычно, осуществляется двусторонняя синхронизация - любые изменения в схеме, тексте или через редактор свойств немедленно получают отражение в других представлениях. Togather предоставляет развитые средства применения шаблонов проектирования (patterns) - благодаря им, вы можете начать работу сразу после установки программы.
Первым интегрированным продуктом, получившим такую функциональность, стал новый резлиз Borland Enterprise Studio for Java. Доступны также версии Together Control Centre для "встраивания" в продукты разработки Borland, и, кроме того, существует версия для синхронизации в Microsoft Visual Studio NET и в оболочки разработки от IBM: Eclipse, Web Sphere и SAP NetWeaver.
Другой продукт, StarTeam, предназначается для автоматизации слежения за версиями, автоматизацией сборки и всем тем, что включает в себя понятие SCCM, то есть Software Configuration and Change Management,- подобно тому как это делают системы вроде Ant и CVS, но только с несколькими важными дополнениями к обычному контролю версий. Настройка "прохождения" (workflow configuration), транзакций и правил позволяет настроить систему под нужды конкретных команд. Специальные средства следят за исправлением ошибок (bugfix tracking) и за построением стабильных релизов. Этот инструмент особо незаменим при взаимодействии разработчиков в основной группе с удаленными разработчиками. Все взаимодействия с StarTeam также интегрированы с другими средствами в единой согласованной среде. Следует отметить, что технология StarTeam не зависит от платформы и в равной степени поддерживает клиентов для Windows, UNIX и MacOS, а также межплатформенные на Java и с веб-интерфейсом. Серверы работают на Windows и Solaris. Кроме того, и у StarTeam, и у Caliber есть SDK, а Together располагает развитым Open Tools API.
Естественно, у Borland ярко представлены собственно средства разработки и "доставки" приложений пользователям (Software Development & Deploy) - но это уже более традиционная сфера, и я надеюсь, что вы достаточно знакомы с такого рода инструментами.
Где искать новые возможности?
Естественно, вы всегда можете приобрести и установить отдельные версии описанных продуктов, но, возможно, вас особенно заинтересует приобретение заранее интегрированной среды, включающей все нужные компоненты сразу. В этом случае вы будете застрахованы от проблем совместимости, поскольку такая среда уже прошла тестирование на совместимость.
Хотя это и не официальная версия самой "Борланд", но, тем не менее, существует негласная система приоритетов одних продуктов над другими. Более приоритетные в первую очередь получают новые возможности, в них реализуются наиболее передовые алгоритмы построения ПО. Естественно, приоритеты диктуются рынком, его потребностями, а не волей аналитиков. На сегодня можно наблюдать следующую градацию: JBuilder, Delphi 8, CBuilder, параллельные продукты для.NET (C++BuilderX, JBuilderX, C#Builder и Delphi 8 for.NET.), продукты для Eclipse (набирают силу), продукты для других компиляторов ANSI C. Это никак не дискредитирует решения, стоящие в конце списка, вместе с тем позволяя ответить на вопрос: "где я могу увидеть самые новые технологии в действии?". Ответ однозначен: в новых версиях Java Studio или, чуть погодя,- в следующих версиях Delphi.
Совершенно новые расширяемые и настраиваемые продукты Turbo Delphi, Turbo Delphi for .NET, Turbo C++ и Turbo C# содержат более 200 встроенных компонентов, которые можно добавить или удалить одним движением мыши. Они имеют все необходимое для того, чтобы пользователи могли сразу же приступить к разработке, а также включают в себя расширяемую среду для создания собственных компонентов и использования компонентов и надстроек IDE других поставщиков. Продукты серии Turbo, предназначенные для разработчиков-любителей, студентов и новичков в программировании, сочетают мощь и эффективность с возможностями создания приложений для настольных систем и Интернета на платформах .NET и Win 32. Предоставляя на выбор несколько языков и платформ, они позволяют программистам найти наиболее удобную для них среду разработки.
Turbo™ Delphi®
1. Быстрая разработка приложений с высокопроизводительным графическим пользовательским интерфейсом (GUI) Turbo™ Delphi® for Win32® — это единственное средство быстрой разработки приложений, предназначенное для платформы Windows®. С его помощью можно создавать высокопроизводительные приложения для самой популярной платформы в мире, используя быстрое компилирование и высокоэффективную интегрированную среду разработки (IDE), и не прибегая к runtime-модулям для созданных приложений. Turbo Delphi для Win32 позволит создавать приложения в самой надежной, функциональной и управляемой среде быстрой разработки приложений.
2. Расширяемая компонентная модель: более 200 компонентов приложений в комплекте поставки, возможность создания свои собственных компонентов и загрузки или приобретения компонентов сторонних разработчиков Библиотека визуальных компонентов Delphi (VCL) — это полнофункциональная и постоянно расширяемая платформа для разработки приложений. Широкий спектр компонентов — коммерческих, бесплатных и с открытым кодом — позволяет расширить функциональность существующей библиотеки, включающей более 200 встроенных компонентов. Весь код и все приложения, созданные при помощи Delphi VCL, совместимы с Delphi for .NET.
3. Ускоренное программирование при помощи модулей Refactorings, Live Templates, Code Completion, Code Insight и Block Completion Для реорганизации исходного кода можно использовать более десяти автоматических процедур, в том числе функции объявления переменной, извлечения метода и многих других инструментов, помогающих быстро и безопасно реорганизовать код. Редактор Turbo Delphi ускоряет написание нового кода, автоматизируя разработку распространенных фрагментов кода при помощи расширяемых и настраиваемых шаблонов Live Templates. При этом имена переменных и правильные методы, свойства и функции подбираются и подставляются автоматически. Модуль Block Completion обеспечивает правильность структуризации кода.
4. Быстрое создание веб-приложений Технология IntraWeb, входящая в комплект поставки Turbo Delphi для Win32, позволяет быстро создавать веб-приложения, не требуя навыков в области HTML, Javascript, CSS или HTTP. Набор компонентов InternetDirect (Indy) позволяет разрабатывать приложения, имеющие доступ к полному спектру протоколов связи через Интернет.
5. Удобный доступ к данным Приложение можно с легкостью связать с данными, хранящимися в базе данных InterBase®, MySQL, MSDE, Microsoft Access, Paradox или dBase. Используя прямое подключение к настольной системе, веб-серверу, или с помощью технологии клиент/сервер можно обеспечить доступ к данным извне посредством веб-служб.
Turbo™ C++
1. Быстрое создание сверхвысокопроизводительных приложений Win32® Turbo™ C++ ® — это единственное средство быстрой разработки приложений на языке C++ для платформы Win32®. С его помощью можно создавать приложения для самой популярной платформы в мире, используя быстрое компилирование и высокоэффективную интегрированную среду разработки (IDE), и не прибегая к runtime-модулям для созданных приложений. Уникальная функция CodeGuard™, существующая только в Turbo C++, позволяет без труда обнаруживать утечки памяти и ресурсов в коде. Turbo C++ позволит создавать приложения с графическим пользовательским интерфейсом (GUI), приложения для баз данных и веб-приложения в одной из самых надежных, функциональных и управляемых сред быстрой разработки приложений.
2. Расширяемая компонентная модель: более 200 компонентов приложений в комплекте поставки, возможность создания своих собственных компонентов, загрузки бесплатных компонентов или приобретения компонентов сторонних разработчиков Библиотека визуальных компонентов Turbo C++ (VCL) — это полнофункциональная и постоянно расширяемая платформа для разработки приложений. Широкий спектр компонентов — коммерческих, бесплатных и с открытым кодом — позволяет расширить функциональность существующей библиотеки, включающей более 200 встроенных компонентов.
3. Ускоренное программирование при помощи модулей Live Templates, Code Completion, Code Insight и Block Completion Расширяемые и настраиваемые шаблоны Live Templates ускоряют написание распространенных фрагментов кода. Модуль Block Completion обеспечивает правильность структуризации кода. Автоматическая подстановка имен переменных и подбор правильных методов, свойств и функций позволяет уменьшить затраты времени на создание кода.
4. Удобный доступ к данным Приложение можно с легкостью связать с данными, хранящимися в базе данных InterBase®, MySQL, Microsoft Access, Paradox и dBase. Используя прямое подключение к настольной системе, веб-серверу, или с помощью технологии клиент/сервер можно обеспечить доступ к данным извне посредством веб-служб.
5. Создание приложений на C/C++ в соответствии с отраслевыми стандартами Turbo C++ обеспечивает поддержку стандартных языков и библиотек ANSI C и ISO/ANSI C++. Turbo C++ также содержит стандартные библиотеки Dinkumware C++ и поддерживает популярную библиотеку Boost.
Turbo™ Delphi® for .NET
1. Быстрое создание приложений для Microsoft® .Net 1.1 Framework Turbo™ Delphi® for .NET позволяет разрабатывать приложения на языке Delphi для WinForms, VCL.NET и ASP.NET и создавать сборки .NET, полностью соответствующие требованиям строгой типизации. При этом обеспечивается доступ ко всей библиотеке классов .NET Framework 1.1. Можно создавать веб-службы .NET, серверные и клиентские приложения .NET Remoting, а также компоненты для Winforms, VCL.NET и ASP.NET.
2. Удобный доступ к любым данным Borland Data Provider (BDP) осуществляет взаимодействие с базами данных InterBase®, SQL Server™, MySQL, Paradox, dBase и Microsoft Access. BDP отвечает за реализацию и реферирование интерфейсов ADO.NET и обеспечивает управляемый доступ к данным, позволяя использовать один код для различных конечных баз данных.
3. Ускоренное программирование при помощи модулей Refactorings, Live Templates, Code Completion, Code Insight и Block Completion Для реорганизации исходного кода можно использовать более десяти автоматических процедур, в том числе функции объявления переменной, извлечения метода и другие инструменты, помогающие управлять иерархией классов. Расширяемые и настраиваемые шаблоны Live Templates позволяют быстро создавать распространенные фрагменты кода. Модуль Block Completion обеспечивает правильность структуризации кода. Автоматическая подстановка имен переменных и подбор правильных методов, свойств и функций позволяет уменьшить затраты времени на создание кода.
4. Быстрая модельно-ориентированная разработка приложений с помощью Enterprise Core Objects (ECO™) ECO™ III для Microsoft® .NET Framework — это воплощение концепции разработки, основанной на проектировании, которая позволяет перейти на новый уровень разработки при создании веб-служб и приложений ASP.NET и WinForms. С помощью встроенного моделирования можно увидеть, как изменится приложение при изменении модели. Объекты хранятся в базе данных XML. После модернизации объекты можно хранить в корпоративных базах данных с объектно-реляционными преобразованиями. Во время выполнения среда ECO использует информацию о модели для ее сохранения и представления в автономной и модульной архитектуре.
5. Скорость и простота разработки мощных веб-приложений С помошью ASP.NET можно создавать функциональные веб-узлы, управляемые данными, используя дополнительные элементы ASP.NET для управления данными. IntraWeb для .NET позволяет создавать веб-приложения так же, как и обычные клиентские приложения.
Turbo™ C#
1. Быстрое создание приложений для Microsoft® .NET 1.1 Framework С помощью Turbo™ C# можно разрабатывать приложения для WinForms и ASP.NET и создавать сборки .NET, полностью соответствующие требованиям строгой типизации. При этом обеспечивается доступ ко всей библиотеке классов .NET Framework 1.1. Можно создавать веб-службы .NET, серверные и клиентские приложения .NET Remoting, а также компоненты для Winforms и ASP.NET.
2. Ускоренное программирование при помощи модулей Refactorings, Live Templates, Code Completion, Code Insight и Block Completion Для реорганизации исходного кода можно использовать более десяти автоматических процедур, в том числе функции объявления переменной, извлечения метода и другие инструменты, помогающие управлять иерархией классов. Расширяемые и настраиваемые шаблоны Live Templates позволяют быстро создавать распространенные фрагменты кода. Модуль Block Completion обеспечивает правильность структуризации кода. Автоматическая подстановка имен переменных и подбор правильных методов, свойств и функций позволяет уменьшить затраты времени на создание кода.
3. Быстрая модельно-ориентированная разработка приложений с помощью Enterprise Core Objects (ECO™) ECO™ III для Microsoft® .NET Framework — это воплощение концепции разработки, основанной на проектировании, которая позволяет перейти на новый уровень разработки при создании веб-служб и приложений ASP.NET и WinForms. С помощью встроенного моделирования можно увидеть, как изменится приложение при изменении модели. Объекты хранятся в базе данных XML. После модернизации объекты можно хранить в корпоративных базах данных с объектно-реляционными преобразованиями. Во время выполнения среда ECO использует информацию о модели для ее сохранения и представления в автономной и модульной архитектуре.
4. Доступ к данным с помощью Borland Data Provider Borland Data Provider (BDP) осуществляет взаимодействие с базами данных InterBase®, SQL Server™, MySQL, Paradox, dBase и Microsoft Access. BDP отвечает за реализацию и реферирование интерфейсов ADO.NET и обеспечивает управляемый доступ к данным, позволяя использовать один код для различных конечных баз данных.
5. Визуализация и моделирование структуры приложения Можно создавать UML-модели классов, а затем преобразовывать их в исходный код. При изменении исходного кода происходит обновление модели. Возможно автоматическое создание документации на основе модели класса.
О компании Borland
Borland Software Corporation - лидирующий поставщик систем, упрощающих разработку, развертывание и интегрирование приложений. Обеспечивая лучшими решениями, направленными на возможность взаимодействия платформ, Borland дает доступ к созданию корпоративных систем на основе Веб-технологий, при этом гарантируя разработчику сохранение связи с унаследованными системами. Корпорация Borland основана в 1983, штаб-квартира расположена в Scotts Valley, California; компания имеет представительства более чем в 20 странах.