Продолжается подписка на наши издания! Вы не забыли подписаться?

ООО “Компас”

МАСТЕРА КОМПАСА


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

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

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

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

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

Такой универсальный и одновременно доступный вариант за недолгую историю бизнес-программирования пытались создать уже не раз. Да что там далеко ходить — когда фирма Ashton Tate выпустила первую версию DBase, она считала, что вопрос создания экономических программ (и не только их) решен раз и навсегда. Их больше не будет! Останется только одна DBase, на которой конечные пользователи будут вести собственные базы данных, извлекая из них всю информацию, необходимую для анализа хозяйственной деятельности и принятия стратегических решений на ближайшее будущее. Несмотря на то, что некоторые основания так считать у разработчиков действительно были, к чему это привело на самом деле? Да к тому, что на рынке программистского (sic!) труда появился повышенный спрос на разработчиков приложений баз данных. Рядовой пользователь не справился с поставленной перед ним задачей.

Сегодня аналогичная ситуация сложилась с продвигаемым фирмой MicroSoft стандартом Visual Basic. Он вроде бы предназначен для того, чтобы непосредственный юзер быстро пополнял новыми функциями такие популярные офисные приложения, как Word, Excel, Access, но... В американском перечне “требуется” специалисты по VB занимают ведущие позиции. Причем в их обязанности на рабочих местах ничего, кроме создания VB-приложений, не входит — какие уж тут конечные пользователи!

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

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

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

Как следствие пользователя всячески призывают покупать новую технику: смените компьютер или добавьте оперативной памяти, или установите новый винчестер — и все будет хорошо! Так по мере развития ПО мы оказываемся втянутыми во все ускоряющуюся гонку, оплачивая ее своими кровными денежками. Идеи Билла Гейтса живут и торжествуют!

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

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

Имеются ли другие методы создания универсальных систем, кроме встроенных в прикладную программу интерпретаторов? Еще одним способом решения проблемы “активного пользователя” является распространение так называемых CASE-средств, логическим развитием которых я считаю средства визуального программирования. Вы не пишете программу, а собираете ее из заранее заготовленных (и оптимизированных) решений — кубиков. Покупатель получает СУБД и CASE-средства для построения приложений. Такую тактику предлагает своим клиентам, например, фирма Oracle. За счет оптимизации этих готовых кубиков и вызывающих их процедур быстродействие, как правило (но не всегда), выше, чем при использованиии интерпретаторов.

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

Ничего удивительного: за все в мире приходится платить. За простоту создания приложений — неудобствами в интерфейсе. За универсальность — быстродействием. Вот все создатели информационных систем и находятся в постоянном поиске компромисса.

Новый вариант сочетания “жестко/гибко” предлагает санкт-петербургская фирма “Компас” в новом проекте “Компас + SQL”. Создатели системы прописывают основную массу расчетных алгоритмов и функций валидности информации на достаточно быстром языке C++, уделяя много времени оптимизации процедур. Пользователю не придется в очередной раз программировать на псевдо-бухгалтерском диалекте списание товаров по средним ценам, расчет подоходного налога или учетных цен по инвойсу и ГТД, реализовывать алгоритмы начисления амортизации и многое-многое другое. Все это сделано заранее. Попросту говоря, в проект включены исходные блоки для автоматизации практически всех сторон финансового и управленческого учета, логистики, анализа состояния предприятия...

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

Но, как уже говорилось, всякая КИС имеет свои индивидуальные черты. Для их реализации предусмотрены средства визуальной настройки — так называемые “мастера”: мастер таблиц и табличных форм, мастер экранных форм, мастер меню, мастер отчетов и документов.

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

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

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

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

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

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

Вот тут в игру вступает мастер SQL-запросов, на котором можно, с одной стороны, откорректировать алгоритмы работы своей КИС и даже настроить ее на непредусмотренные разработчиками бизнес-процедуры, а с другой — провести настройку на новый SQL-сервер, оптимизировав все запросы в соответствии с его технической документацией.

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

Вы думаете, я буду уверять вас, что использовать мастер запросов очень просто? Ничего подобного! Писать на SQL достаточно сложно. Все дело в том, что этот инструмент и не предназначен для конечного пользователя. Это оружие службы АСУ. Даже просто лицезреть на экране соответствующий пункт меню может только оператор, которому администратор системы выдал самый высокий уровень доступа.

Тут уже идет игра на человеческой психологии: “То, чего я не вижу, и не существует!” Поэтому на нормальном пользовательском уровне программа кажется простой и доступной в освоении.

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

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

Данный пакет включает в себя множество функций не только для управления предприятием (например, в его состав входит мощная подсистема контроля закупок и продаж), но и для анализа хозяйственной деятельности. Тем не менее в целях расширения возможностей предусмотрена оперативная связь не только со стандартными программами MicroSoft Office, но и с аналитическим пакетом “Мастер финансов” фирмы “Воронов и Максимов”. Кроме того, сейчас прорабатываются варианты стыковки с различными системами АСУ ТП, что позволит проводить полную комплексную автоматизацию больших производственных корпораций.

Как уже говорилось, “Компас+SQL” принадлежит к классу сравнительно дорогих программных продуктов, которые внедряются “под ключ” в каждой компании-заказчике. Однако удобство и скорость использования мастеров для создания новых версий программ позволили, быстро локализуя необходимые функциональные возможности, создавать и недорогое, чисто “коробочное” ПО для автоматизации малых и средних фирм. Естественно, что они не могут позволить себе приобретение дорогого SQL-сервера, поэтому такие “мини-версии” функционируют в файл-серверном варианте, а сами мастера в состав конечной программы не включаются. Зато и стоимость подобного ПО — предельно низкая. В середине 1998 года планируется третий выпуск CD “Помощник бухгалтера +”— совместное производство фирм ЦКР (“Кодекс”) и “Компас”, на котором по смехотворно низкой цене будет распространяться программа расчета заработной платы для малого и среднего предприятия. Во второй выпуск включена работающая ДЕМО-версия этого программного продукта. Конечно, в ней обрезаны многие функции и ограничено число сотрудников и кодов начислений/удержаний. Тем не менее, можно будет составить представление о том, что вас ждет впереди, и одновременно приобрести полноценную сетевую рабочую версию программы “Компас-бухгалтерия для Windows”, в функции которой входит ведение сводной бухгалтерии и делопроизводства, контроль взаиморасчетов с начислением штрафных санкций, контроль исполнения хозяйственных договоров и многое другое, а также информационно-справочную систему “Помощник бухгалтера” из семейства продуктов “Кодекс”.

к.т.н. Якобсон Игорь,
гл.эксперт



Copyright © 1994-2016 ООО "К-Пресс"