Byte/RE ИТ-издание

Разработка приложений

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

2. Как часто приходится заниматься разработкой ПО в рамках реализации проектов системной интеграции? Для решения каких задач это обычно делается? Какие платформы (Java, .NET, WebSphere и т. п.) и инструменты вы используете? Выполняете вы такие работы сами или отдаете их на внешний аутсорсинг компаниям-разработчикам?

3. Если вы занимаетесь разработкой заказного ПО, то каков характер этих разработок? Какие платформы и инструменты вы используете? Кто определяет базовую платформу и инструменты — вы или заказчик?

4. Какие средства разработки наиболее часто используются в вашей компании (назовите одно-два)? Каковы, на ваш взгляд, их сильные и слабые стороны? Что бы вы хотели увидеть в их следующих версиях?

5. В какой степени в вашей компании применяются средства управления жизненным циклом приложений (управление требованиями, управление версиями и поддержка групповой работы, моделирование, тестирование, управление проектами и т. п.)?

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


Photo Андрей Понеделко,
директор департамента разработки информационно-аналитических систем,
«Ай-Теко» (http://www.i-teco.ru)

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

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

В качестве основных платформ для создания ПО мы используем продукты Oracle, Microsoft, .NET, Web, а также такие средства разработки, как C#, C++, Java, Delphi.

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

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

4. Я уже упоминал, что в качестве основных направлений мы используем платформы Oracle, Microsoft, а из средств разработки — C#, C++, Java, Delphi. И все-таки основную часть работ пока обеспечивают Oracle Forms, Reports, C#, Delphi. Обсуждение сильных и слабых сторон указанных средств разработки — это тема отдельного разговора. Однако в общем хотелось бы отметить то, что на рынке существуют различные средства разработки от разных производителей, которые дополняют друг друга и имеют свои особенности. Да и назначение каждого средства разработки имеет свою специфику. Хотелось бы, чтобы при выпуске новых версий средств разработки учитывались их прежние недостатки, а мы в своей работе полагались бы просто на их качество.

5. Сказать, что в компании уже идеально реализован процесс управления жизненным циклом разработки ПО в соответствии с ИСО-12207, было бы некорректно, но мы постоянно работаем над этим и совершенствуем подход к разработке. Это процесс длительный и трудоемкий. В своей деятельности мы используем ПО для управления требованиями, управления версиями, CASE-средства для моделирования, а также осуществляем тестирование и сопровождение. В общем, мы стремимся соответствовать высоким требованиям и работать на самом современном уровне, от этого зависит наш успех.


Photo Анатолий Гайдай,,
технический директор,
«Аплана» (http://www.aplana.ru, группа
компаний «АйТи»)

1. Я бы разделил все наши проекты разработки ПО на три основные группы. Во-первых, это заказная разработка ПО как для российских, так и для зарубежных заказчиков. Наш опыт в этой области достаточно широк и включает создание корпоративных систем управления, систем автоматизации бизнес-процессов, информационных и бизнес-порталов, систем поддержки продаж, систем электронного документооборота и многое другое. Вторая группа проектов — это разработка собственных тиражируемых решений, в частности, системы «БОСС-Референт». И в-третьих, мы довольно часто создаем дополнительные модули при интеграции различных систем.

2. По нашим оценкам, не более 15% проектов системной интеграции включают дополнительную заказную разработку. Чаще всего требуется создание пользовательского интерфейса либо нового модуля системы при внедрении решения. Кроме того, нашим экспертам часто приходится расширять функциональные возможности собственного продукта — программного комплекса «БОСС-Референт», реализованного на платформе IBM Lotus/Domino — с учетом специфических потребностей заказчиков. Среди других платформ, активно используемых для разработки приложений, — Microsoft .NET и Java.

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

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

4. Специалисты нашей компании обычно используют Microsoft Visual Studio. На наш взгляд, этот программный продукт предоставляет разработчикам достаточно широкие возможности, он прост и легок в использовании. Кроме того, Microsoft Visual Studio имеет на редкость полную документацию для библиотек и средств разработки, а также содержит удобные инструменты для работы с базами данных.

5. В качестве базовых средств управления жизненным циклом приложений мы используем набор средств IBM Rational, в том числе Rational Request Pro, Rational Clear Quest и другие. Для управления проектами, на наш взгляд, достаточно удобен инструмент Microsoft Project Server.


Photo Алексей Добровольский,,
директор по разработке ПО,
КРОК (http://www.croc.ru)

1. КРОК занимается всеми перечисленными видами разработки.

2. Задачи разработки ПО в рамках проектов системной интеграции возникают эпизодически и делятся на две основные группы. Первая — когда используемые в проекте базовые средства не реализуют все функции, необходимые заказчику, и их приходится дорабатывать или разрабатывать дополнительное ПО. Например, мы делали ПО маршрутизации факсов для совместной работы с используемым заказчиком факс-сервером и многофункциональными устройствами копир-ксерокс-принтер. Вторая группа задач — когда необходима интеграция базовых средств, обмен данными и т. п. Например, при внедрении call-центров обычно возникает задача интеграции ПО оператора, которое поставляется с оборудованием call-центра, с информационными системами заказчика.

Выбор платформы и инструментов разработки в таких проектах определяется в основном базовыми средствами, которые мы должны доработать и/или интегрировать. Мы применяем и технологии Microsoft, и технологии Java. Разработку ПО в рамках интеграционных проектов КРОК обычно выполняет самостоятельно, так как во многих случаях для разработки и отладки этого ПО необходим конкретный специфический набор оборудования и ПО, часто уникальный и дорогостоящий.

2. КРОК разрабатывает крупные информационные системы, автоматизирующие индивидуальные бизнес-процессы заказчика, т. е. такие, для автоматизации которых на рынке не существует коробочного ПО. Например, это фрагменты ГАС «Выборы», системы для автоматизации деятельности судов, загсов и т. п. Кроме того, КРОК реализует достаточно много проектов внедрения систем документооборота, корпоративных порталов на платформах IBM и Microsoft и т. д.

Используются разнообразные платформы и инструменты, выбор в каждом конкретном случае определяется множеством факторов — это требования заказчика (в том числе касающиеся использования конкретных средств и инструментов), функциональные возможности базового ПО, имеющаяся инфраструктура заказчика, тип серверов (Intel, RISC), наличие у заказчика обученных специалистов, бюджет и т. п. Иногда в рамках одного проекта используются совершенно разные средства от разных производителей. Были и экзотические комбинации: например, ПО, написанное на языке Microsoft C#, работает в среде Mono на Linux, и эта «гремучая смесь» установлена на 2000 встроенных компьютеров…

4. Мы используем два основных «комплекса» для разработки ПО — Microsoft Visual Studio и IBM Rational Software Architect.

Microsoft Visual Studio — превосходный и дружелюбный инструмент для разработчиков, но практически не содержит средств поддержки коллективной разработки и жизненного цикла производства ПО. Эти функции появились только в последней версии (Microsoft Visual Studio 2005 Team System), но во многих областях (например, управление требованиями) находятся пока в зачаточном состоянии. Расширение и «взросление» поддержки жизненного цикла разработки и есть наше основное пожелание к Visual Studio.

IBM Rational Software Architect менее дружелюбен к разработчику, но быстро прогрессирует. Если еще пару лет назад наши Java-разработчики использовали «альтернативные» среды разработки, то сейчас предпочитают продукцию компании IBM.

5. Мы практически в каждом проекте применяем средства IBM Rational для проектирования и моделирования информационных систем (Rational Rose), для управления требованиями (Rational Requisite Pro) и тестирования (Rational Robot + TestManager). Для управления версиями КРОК сейчас использует Microsoft Visual Source Safe и планирует переход на более мощную и масштабируемую систему конфигурационного управления. Для автоматизированного модульного тестирования мы также применяем превосходное средство csUnit, для планирования — Microsoft Project. Для регистрации дефектов и оперативного управления у нас используется программное средство собственной разработки.


Photo Алексей Скоробогатов,,
директор отделения разработки информационных систем,
«ФОРС — Центр разработки» (http://www.fdc.ru)

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

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

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

Мы используем платформы Java, .NET, Oracle Application Server и базовые продукты Oracle (Oracle Discoverer, Oracle Warehouse Builder, Oracle BI и другие). В качестве инструментов — соответственно BPEL, Casewise Corporate Modeler, Oracle Workflow. Кроме того, в последнее время мы начали работать и с другими инструментальными средствами, как с разработанными нами самостоятельно (S&M_Art), так и с теми, которые поставляют партнеры (TeamTrack компании Serena Software).

Преимущественно разработкой занимаемся мы сами, но в случае особо крупных и сложных проектов привлекаем и другие ИТ-компании.

3. Характер выполняемых нами заказных разработок определяется, во-первых, отраслевой спецификой компании, во-вторых, масштабом бизнеса и, в-третьих, кругом решаемых задач. В качестве таких задач может выступать автоматизация бизнес-процессов предприятия, создание хранилищ данных, реестров, справочников и т. д. При этом используются преимущественно средства разработки Oracle JDeveloper, Oracle Developer, Delphi и Microsoft Visual Studio (C#). Как правило, заказчик самостоятельно принимает решение о выборе платформы, особенно если в компании уже имеется развитая ИТ-инфраструктура.

4. Наиболее часто используемые средства разработки — это Oracle JDeveloper и Microsoft Visual Studio (C#). Delphi используется значительно меньше. Одна из сильных сторон Oracle JDeveloper — поддержка современных и общепринятых стандартов в этой сфере. Хотелось бы, чтобы и другие производители ПО следовали этим стандартам так же, как корпорация Oracle в своих средствах разработки. Еще одно большое преимущество — возможность визуальной разработки, что облегчает труд программистов. От последующих версий этого ПО мы ждем еще большей простоты и доступности в использовании, а также удобного интерфейса.

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

6. В связи с тем, что ИТ-рынок в России становится все более зрелым, какие новые задачи встают перед разработчиками приложений?

Вместе с ростом доли интеграционных проектов увеличивается их сложность и масштаб. Если раньше стояла задача создания полнофункциональной информационной системы, то сегодня предстоит интегрировать множество разнородных прикладных систем, баз данных, унаследованных приложений, развернуть аналитические и управляющие BI-системы. Для того чтобы это стало возможным, мы разработали специальные программы-конверторы для переноса описанных бизнес-процессов в другую информационную среду — к примеру, из Oracle Workflow и Casewise в BPEL.

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


Photo Игорь Густомясов,
начальник отдела заказной разработки ПО,
NVision Group (http://www.nvisiongroup.ru)

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

Однако при необходимости мы берем на себя и разработку новых законченных решений. Так, в 2005 г. нами было создано специализированное приложение NVision SMAP — полностью интегрированный с OSS-системой Micromuse Netcool интерактивный графический редактор пользовательских сетевых карт со сложной структурой. Он предназначен для работы в составе Micromuse Netcool — интегрированной системы управления крупными сетями и ИТ-инфраструктурой. Основное назначение этой разработки — упростить внедрение и использование Netcool для операторов связи или предприятий, имеющих распределенную сетевую и телекоммуникационную структуру.

2. Хотя в рамках проектов системной интеграции специалисты компании нацелены на максимальное использование функционала готовых решений таких производителей, как IBM (WebSphere Application Server, WebSphere Portal, WebSphere MQ), Sun, EMC (Documentum), Oracle (Oracle Database, Oracle Application Server) и т. д., в этих проектах регулярно возникает необходимость разработки заказного ПО. В основном это связано с интеграционными задачами, задачами доработки и расширения функционала, предоставляемого стандартными решениями. Поскольку наши решения работают на широком спектре оборудования/прикладного ПО, при разработке мы отдаем предпочтение платформе J2EE.

3. Как уже отмечалось, заказной разработкой мы занимаемся прежде всего в рамках комплексных проектов. Разрабатывать готовые системы «с нуля» нам приходится крайне редко. В основном заказная разработка — это модификация и настройка стандартных решений, а также написание интеграционных модулей для различных информационных компонентов. В качестве базовой платформы для подобных решений мы, как правило, используем J2EE, из инструментария — IntelliJ IDEA, Ant, CVS/Subversion, Rational ClearQuest и т. д. Но определяющим фактором при выборе базовой платформы и инструментария всегда выступают задачи заказчика.

4. Для разработки серверного ПО мы, как правило, используем IntelliJ IDEA; в ряде проектов — Oracle JDeveloper и Borland JBuilder. На наш взгляд, в настоящее время средства разработки по предоставляемому функционалу приблизились друг к другу. Отличие состоит в основном в функционале интегрированных в среду компонентов, например, в возможности «прозрачной» интеграции со специфичным сервером приложений. Состав подобных компонентов, собственно, и определяет выбор той или иной среды в конкретном проекте.

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

Вам также могут понравиться