Экономим на СУБД и средствах разработкиИсточник: КомпьютерПресс Наталия Елманова
СерверныеСУБД
Средства моделирования
Средства разработки
Об инструментах для последующих этаповМы уже неоднократно говорили о том, что разработка программного обеспечения состоит из нескольких этапов: предпроектного обследования, управления требованиями и бизнес-моделирования, проектирования данных и приложений, написания кода, тестирования, внедрения. Каков бы ни был проект - крупный, охватывающий несколько подразделений огромного предприятия, средний, рассчитанный на относительно небольшое количество пользователей, или даже доморощенный, вроде утилиты для личного применения, написанной любителем-программистом, - во всех случаях эти этапы в том или ином виде должны присутствовать (в последнем случае - хотя бы на уровне формулирования ответов на вопросы: «Зачем мне это нужно?», «Что должно быть на форме?», «Где я буду хранить данные?» и «Как перенести мое приложение на другой компьютер?»). сли же иметь в виду главным образом профессиональную разработку, вполне очевидно, что реализация перечисленных этапов обычно требует применения предназначенных для них инструментов, и потому формулировки ответов на перечисленные вопросы будут слишком длинными, да и не каждому пользователю придется по душе инструкция по установке продукта из нескольких десятков пунктов или текстовое описание структуры базы данных, состоящей из нескольких десятков таблиц. К тому же инструменты, которые удобно применять при работе над проектом, обычно стоят недешево, и нередко после сравнения их стоимости с бюджетом проекта приобретается только средство разработки, а все остальные этапы выполняются, так сказать, по старинке: требования и отчеты о тестировании представляются в виде текста, структура базы данных рисуется на бумаге, а о UML-моделировании никто и не помышляет. В результате даже при наличии нормального («промышленного») подхода к созданию ПО и при правильном разделении труда между участниками проекта набор применяемых ими инструментов не слишком отличается от инструментария программиста-любителя. К тому же есть у наших соотечественников одна особенность: многие из нас, обзаводясь программным обеспечением, всегда стремятся приобрести самую дорогую версию продукта, не задумываясь о целесообразности такого приобретения. И тогда контрафактная редакция Enterprise (неважно, какого продукта) безо всяких на то оснований становится предпочтительнее, чем уже купленная и пылящаяся на полке версия Professional. Но всегда ли оправданно приобретение самой дорогой версии? Опыт показывает, что далеко не всегда. Нередко многие задачи, стоящие перед исполнителями даже в достаточно крупных проектах, легко решаются с помощью недорогих или даже бесплатных редакций СУБД, инструментов моделирования, средств разработки. Ниже мы приведем некоторые примеры возможного применения таких продуктов. Серверные СУБДMSDE и Microsoft SQL Server Express 2005Microsoft SQL Server в проектах используют многие. Бывает, что и сами проекты невелики, и пользователей у этих приложений мало. Но при этом порой вообще не задумываются о применении вместо SQL Server бесплатного продукта Microsoft SQL Server 2000 Desktop Engine. А ведь это, по сути, тот же Microsoft SQL Server, только имеющий ограничение на число одновременно обрабатываемых запросов и не содержащий административных утилит и OLAP-сервера. Его можно включать в свои решения без дополнительных отчислений, будучи пользователем любого средства разработки Microsoft, например Visual Basic Standard, цена которого, если я не ошибаюсь, не превышает 100 долл., либо бесплатного ASP .NET WebMatrix. СУБД Microsoft SQL Server 2005 Express Edition представляет собой дальнейшее развитие Microsoft SQL Server 2000 Desktop Engine (MSDE) и, как и ее предшественница, является бесплатной. Данный продукт основан на том же самом ядре, что и другие версии Microsoft SQL Server 2005, хотя и обладает определенными ограничениями по сравнению с коммерческой версией SQL Server 2005: использует только один процессор, обладает ограничением на размер буферов - 1 Гбайт и ограничением на размер самой базы данных - 4 Гбайт, не имеет средств полнотекстового поиска, поддержки кластеров и зеркалирования данных, средств Business Intelligence. Однако существует большое количество задач, где совершенно не нужны ни огромные базы данных, ни полнотекстовый поиск, ни тем более кластеры и поддержка нескольких процессоров. Sybase Adaptive Server Enterprise Express EditionSybase также выпycтилa бecплaтнyю вepcию Adaptive Server Enterprise Express Edition for Linux. Функциональные возможности этой СУБД ограничены применением одного процессора, поддержкой не более 2 Гбайт оперативной памяти и oбъeмом xpaнимых данных 5 Гбайт. Interbase 6.5 и его потомкиИсходный код коммерческой СУБД Interbase 6.0 компании Borland был открыт в начале 2000 года. После этого на ее основе была создана СУБД FireBird, включающая некоторое количество технических нововведений по сравнению с InterBase 6.0. Обе СУБД доступны для платформ Windows, Linux и нескольких коммерческих версий UNIX и обладают характеристиками, присущими большинству коммерческих СУБД, - это поддержка стандарта ANSI SQL 92, поддержка триггеров, хранимых процедур, функций, определяемых пользователем, вычисляемых полей, достаточно большой объем хранимых данных. Существуют и другие клоны InterBase, например российская СУБД Yaffil. MySQLMySQL разрабатывается компанией MySQL AB (Швеция). Эта СУБД существует в версиях для Windows и ряда коммерческих реализаций UNIX. MySQL не поддерживает хранимые процедуры, триггеры и представления, но поддерживает репликации. Данный продукт широко применяется в качестве СУБД для хранения данных в Web-проектах, не предъявляющих особых требований к способу хранения данных и их целостности. PostgreSQLСвободно распространяемая PostgreSQL, разработанная в Университете Беркли, реализована для платформы Windows и большинства коммерческих версий UNIX и поддерживает ANSI SQL 92, транзакции, триггеры, вложенные запросы, определяемые пользователем типы данных, но не поддерживает репликации. Данная СУБД довольно часто применяется в крупных и средних проектах, поскольку архитекторов приложений привлекает простота ее обслуживания.
Средства моделированияоворя об UML-моделировании, многие почему-то вспоминают исключительно Rational Rose. Может быть, это происходит потому, что именно в Rational, ныне являющейся подразделением корпорации IBM, работают основоположники UML, а может быть, еще и потому, что маркетинговая активность российских партнеров этой компании всегда была хорошо заметна. Но факт остается фактом: все говорят об инструментах IBM/Rational, несмотря на их «IBM’овские» (то есть немалые по меркам небольших компаний) цены. А ведь существует немало недорогих альтернатив Rational Rose, вполне пригодных для решения целого ряда задач моделирования. Together Designer Community EditionTogether Designer Community Edition - средство создания диаграмм UML 2.0, свободно доступное на сайте компании Borland. Этот продукт обладает минимальными возможностями, такими как инструменты импорта моделей Rational Rose и моделей в формате XML Metadata Interchange (XMI), средства создания всех видов диаграмм и сохранения моделей в виде графических изображений. Ограничений на его применение в коммерческих проектах не существует. Borland Together Designer Community Edition Этот продукт не поддерживает коллективную работу над моделью, не позволяет осуществлять синхронизацию модели с кодом и генерацию документации. Но если, к примеру, нужно создать 32-разрядное приложение с помощью Delphi 6 или Delphi 7 (а таких проектов в России ведется немало), то средства синхронизации модели с кодом все равно не нужны - для Delphi 6 и 7 их не существует. А когда в проекте участвует не десяток аналитиков, а 1-2, то вполне можно обойтись и без поддержки коллективной работы, и без генерации документации. Для приложения, создаваемого с помощью Visual Studio, существует соответствующая версия Together 2.0 for Visual Studio .NET, которая стоит около 200 долл., и за эту сумму можно получить средства синхронизации модели с кодом, сопоставимые по качеству с теми, что предоставляют продукты Rational. Другие средства UML-моделированияНа рынке программного обеспечения выбор средств UML-моделирования сегодня весьма широк, и среди них имеется достаточно большое количество недорогих или вообще бесплатных инструментов. Можно назвать, в частности, такие инструменты, как Visual Paradigm for UML Personal Edition компании Visual Paradigm, Poseidon for UML Community Edition компании Gentleware и др. Нельзя не отметить, что создание UML-диаграмм доступно и пользователям Microsoft Visio - продукта, который также не относится к классу дорогостоящих.
Средства разработкиASP .NET WebMatrixНачало проекту WebMatrix положило небольшое C# приложение, предназначенное для тестирования серверных компонентов ASP .NET, а затем обросшее инструментарием для разработки кода. Над этим проектом группа разработчиков ASP .NET трудилась в свободное время, а затем полученный результат был предоставлен для всеобщего доступа и бесплатной загрузки. ASP .NET WebMatrix Продукт WebMatrix предназначен для всех желающих создавать ASP .NET-приложения и Web-сервисы, включая приложения, использующие ADO .NET. Этот инструмент позволяет создавать Web-сервисы XML и Web-приложения, являющиеся их клиентами. Помимо этого с его помощью можно создавать Web-приложения, поддерживающие мобильные устройства, включая мобильные телефоны, пейджеры и PDA (для создания таких приложений имеется специальная версия Mobile Internet Toolkit). С помощью этого продукта удобно осуществлять поддержку существующих Web-сайтов, а также создавать пользовательский интерфейс Web-приложений. Семейство продуктов Express компании MicrosoftСемейство продуктов Express, планируемое к выпуску в ближайшее время, включает средства разработки Visual Web Developer Express Edition, Visual C# Express Edition, Visual C++ Express Edition, Visual J# Express Edition, Visual Basic Express Edition. Это семейство продуктов, в отличие от профессиональных версий Visual Studio, предназначено не для профессиональных, а для всех остальных разработчиков: студентов и преподавателей, программистов-любителей. Данные продукты, будучи недорогими, тем не менее позволяют создавать довольно широкий спектр типов приложений, а поскольку они ориентированы на непрофессионалов, то обладают обширным набором возможностей, упрощающих разработку. Впрочем, понять, пригодны ли они для конкретного проекта, можно только на основе внимательного изучения их возможностей и правил использования. C#Builder PersonalBorland C#Builder Personal представляет собой средство разработки приложений для платформы Microsoft .NET на языке C#. Этот инструмент позволяет создавать GUI-приложения, ASP .NET-приложения и Web-сервисы с настольными базами данных и предназначен для реализации небольших проектов индивидуальными разработчиками. Borland C#Builder Personal Borland JBuilder FoundationРедакции Borland JBuilder X Foundation и JBuilder 2005 Foundation - это бесплатные продукты для начинающих Java-разработчиков. Указанные инструменты, конечно, не позволят создать J2EE-приложения для WebSphere или WebLogic, но ведь не все Java-приложения относятся к этому классу, а вот создать с их помощью настольное приложение вполне возможно. Borland JBuilder 2005 Foundation Компиляторы C++ компаний Borland и MicrosoftЗа последнее время мы привыкли к визуальным средам разработки, однако требуются они отнюдь не всегда. Существует довольно широкий спектр приложений, для создания которых нужен только компилятор. Возможно, не всем известно, что компилятор Borland C++ 5.5 сейчас доступен для бесплатной загрузки с сайта компании Borland, и ничто не мешает создавать подобные приложения с его помощью. Помимо компилятора Borland для создания Windows-приложений с помощью C++ доступен бесплатный комплект средств разработки Microsoft Visual C++ Toolkit 2003. Он включает основные компоненты, необходимые для компиляции и сборки приложений, написанных на C++ и предназначенных для работы под Windows. В состав комплекта входят компоненты, в том числе оптимизирующий компилятор C/C++, C Runtime Library и Standard Template Library, а также библиотека времени выполнения Microsoft .NET Common Language Runtime (CLR). Следует особо подчеркнуть, что перечисленными продуктами список бесплатных и недорогих инструментов и компиляторов не ограничивается. Для данного обзора были выбраны недорогие и бесплатные продукты, коммерческие версии которых наиболее широко распространены на рынке средств разработки, что позволяет в случае необходимости легко заменить недорогой инструмент на его более функциональный аналог без дополнительного переобучения разработчиков.
Об инструментах для последующих этапови один проект, как известно, не исчерпывается только выбором СУБД, моделированием и написанием кода приложения - разработка приложения предполагает контроль версий кода, тестирование и отслеживание дефектов, документирование, создание дистрибутивов. Некоторые из перечисленных видов работ могут быть выполнены вообще без применения каких-либо инструментов, а кроме того, дистрибутивное приложение можно при желании создать с помощью того же самого средства разработки, что использовалось в самом проекте. Однако стоит заметить, что бесплатные и недорогие инструменты сейчас доступны для всех перечисленных видов работ, причем ассортимент их достаточно широк. |