Часть 2. Ты скажи, ты скажи, че те надо, может, дам, может, дам че ты хошь+

Наталья Никитина, Юлия Гараева, Юрий Юдкин

Продолжение. Начало см. PC Week/RE, №11/2002, с. 29.

 

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

 

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

 

Елена Монахова

На “треугольном столе” разгорелись бурные дебаты по поводу того, какие программные продукты считать конструкторами, а какие нет. Приводились самые разнообразные критерии отбора, было высказано много дельных замечаний, но к единому мнению присутствующие так и не пришли. Спор пришлось прекратить командно-административными мерами, так как продолжительность встречи была все же ограничена.

Как заметил один из участников семинара: “Если мы дадим точное определение, что такое конструктор, чем он отличается от неконструкторов, какие у него технологические особенности, позиционирование и пр., то на этом мы исчерпаем повестку дня”.

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

С технологической (архитектурной) точки зрения конструктор - это программный продукт, включающий:

2 ядро, в котором определена принципиальная модель предметной области, а также базовый набор классов (максимально абстрактных) и основных методов работы с ними;

2 конфигурацию (для общности назовем это так), которая представляет собой реализацию информационной системы, построенной из классов и методов ядра;

2 инструментарий, позволяющий пользователю строить свой собственный вариант конфигурации.

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

Сделаю сам, но отвечать будем вместе!

Обращаясь к потребительским свойствам конструкторов, попробуем вкратце обрисовать область их применения.

Требования рынка сегодня звучат примерно так. Клиенты желают сокращать сроки создания, внедрения и, что особенно важно, внесения изменений в сложные ИС, предназначенные для управления деятельностью предприятий. Это диктуется необходимостью адаптации систем управления к непрерывно меняющемуся объекту управления и его системному окружению.

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

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

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

Лев Тришанков, исполнительный директор “Алеф Консалтинг & Софт”: +Мне кажется, что мы сейчас живем в мире, где крупносерийные производства во всех областях постепенно исчезают.

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

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

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

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

Отличительные черты

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

Елена Дворникова, руководитель отдела продвижения ИС фирмы “Цефей”: +У нас были случаи, когда клиент при помощи нашей системы, точнее её инструментария решал задачу, абсолютно не относящуюся к экономике... Например, с нуля и практически не из наших базовых классов была создана система для учета ядерного топлива+

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

Понятно, что уникальность ИС достигается и просто разработкой системы на заказ. При чем же здесь конструкторы?

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

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

Потребительское свойство № 2. Адаптируемость во времени, возможность непрерывного внесения изменений в систему (доработки, настройки на специфические и уникальные задачи управления).

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

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

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

Потребительское свойство № 3. Возможность внесения изменений в систему собственными силами потребителя для ее адаптации к специфическим и уникальным задачам управления.

Из дискуссии: “Даже если ему [пользователю] выполняет внедрение системы кто-то со стороны, то он уверен, что у него остается инструмент. ...Естественно, какой-то партнер может уйти, но придут другие. И система может быть передана”.

Рассмотрим технологический аспект реализации этого свойства.

Вопрос: какие изменения в системе разработчик может разрешить пользователю и стоит ли разрешать вносить изменения в ядро? Тут мнения разработчиков сильно различаются. Одни - однозначно против, другие более лояльны, но ответственность за внесенные изменения четко разделяют с клиентом.

У первых ядро - это святая святых. Это исполняемый модуль, исходные тексты которого недоступны для конечного пользователя (“1С”, “Алеф”).

“Алеф Консалтинг & Софт” (из ответов на вопросы): “В системе “Алеф” ядерные понятия, такие, как документ, регистр, недоступны для изменений. В то же время понятия предметного уровня (контрагент, накладная) не входят в ядро и могут быть модифицированы с помощью дизайнеров и программной оболочки”.

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

Другие разработчики предоставляют пользователям полную свободу действий, передавая им (если нужно) все исходные тексты (“ИнтелГрупп”). Третьи подходят гибко: что разрешается, а что запрещается изменять, определяется условиями договора (“Цефей”).

“Цефей” (из ответов на вопросы): “В зависимости от условий договора и уровня квалификации персонала заказчика ему могут быть доступны как все функции изменения модели, так и часть этих функций... К программному ядру системы (exe-модулю), обеспечивающему работу базовых классов системы и встроенного CASE-инструментария, пользователь доступа не имеет”.

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

Хочется снова вернуться к вопросу о том, какая же система является конструктором (в нашем смысле этого слова), а какая нет.

Несколько слов о системе Navision Axapta: можно ли ее отнести к конструкторам? (Напомним, что на “треугольном столе” эта система присутствовала условно.) В ней реализованы достаточно богатые возможности по перенастройке и разнообразный встроенный инструментарий, конфигурация состоит из 16 слоев бизнес- и системной логики, имеется возможность переноса конфигурации с компьютера на компьютер как целиком, так и послойно. Так что по архитектурно-технологическим свойствам система Navision Axapta действительно очень близка к конструкторам. Ее отличия от прочих рассматриваемых в этом обзоре систем, разработанных отечественными программистами, лежат в другой плоскости - у нее более развитая функциональность и соответственно более высокая цена решения. Но об этом пойдет речь в других частях нашего обзора.

Не секрет, что современные западные крупные (для простоты назовем их так) информационные системы (например, Oracle Applications или SAP R/3) обладают значительными возможностями по перенастройке и созданию дополнительной функциональности, а также развитым инструментарием по разработке и внесению этих изменений. Может быть, они тоже являются конструкторами?

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

Изменение функциональности крупных систем и создание новых типовых решений - в основном прерогатива самих разработчиков или их представительств. Изменением же конфигурации конструкторов занимается огромный круг людей. Даже если не брать в рассмотрение конечных пользователей, которые просто перенастраивают систему под свои нужды, то впечатляет количество партнеров фирмы “1С” (типовых решений, ими созданных, - более 200!).

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

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

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

Участники “треугольного стола”

Угол № 1 (от имени “предложения”):

 

Угол № 2 (от имени “спроса”):

Лумпов Николай Алексеевич, аналитик московской торговой компании “Консул”.

Угол № 3 (от имени “независимого и немного критичного взгляда”), СМИ и эксперты:

- Елена Монахова, зам. гл. редактора PC Week/RE;

- представители научно-консалтинговой корпорации “МетаСинтез”:

Наталья Никитина, генеральный директор, канд. тех. наук;

Юрий Юдкин, руководитель Центра развития ИТ;

Юлия Гараева, консультант-аналитик в области ИТ;

- Сергей Брускин, руководитель Департамента управленческого консалтинга компании Robertson & Blums.

(Продолжение в PC Week/RE №14)

Версия для печати