|
2001 г
Особенности применения технологий Lotus Domino и Notes в современных информационных системах, проблемы проектирования сложных приложений и причины их возникновения
Владимир Богданов, Владимир Старых РГУИТП, 2000
Аннотация
Программное обеспечение (ПО) Domino и Notes компании Lotus Development, подразделение корпорации IBM, является одной из наиболее распространённых технологических платформ в качестве инструментария совместной работы (Groupware), и как ПО электронной передачи сообщений (Email), календарного планирования (Scheduling), корпоративной интегрированной среды функционирования Internet-приложений (Internet/Intranet application server). Однако, по мере роста зависимости организации от приложений, функционирующих в корпоративной среде Lotus Domino/Notes, и сложности самих приложений, стоимость поддержки и модернизации информационной системы (ИС) нелинейно повышается, а удовлетворенность ей на всех уровнях организационной иерархии и во всех подразделениях неуклонно снижается. В статье рассматриваются основные причины этого процесса, а также типичные ошибки при проектировании ИС вообще и в среде Lotus Domino/Notes в частности, которые приводят к снижению производительности труда пользователей, замедлению окупаемости ИС и т. д., то есть, в итоге, к финансовым потерям.
Статья адресована разработчикам ИС, ПО в среде Lotus Domino/Notes и их заказчик Заказчик — лицо (физическое или юридическое), заинтересованное в выполнении исполнителем работ, оказании им услуг или приобретении у продавца какого-либо продукта (в широком смысле). Иногда при этом предполагается оформление заказа, но не обязательно.ам.
ПО "двойного назначения"
Современные требования к ИС масштаба предприятия настолько многообразны и подчас противоречивы, что удовлетворение их в полном объеме практически невозможно. Однако, вполне понятно желание разработчиков удовлетворить максимально возможное количество требований потребителей. Речь в данном случае идет не только о технических и функциональных требованиях, но также и о финансовых, временных и даже эстетических. Именно поэтому в последнее время очень широкое распространение получили комплексные программные продукты, ориентированные на очень быстрое развертывание первой очереди ИС, реализующий базовый функционал, и последующую разработку приложений, повышающую степень автоматизации работ, выполняемых персоналом.
Подобным свойством "двойного назначения" обладает, по-видимому, вообще любое ПО из представленных на рынке: от офисных пакетов до сложнейших систем управления базами данных и онлайнового анализа информации. Таким образом, вообще все ПО можно разделить на три довольно неравных (по количеству представителей, их стоимости и распространенности на рынке) группы по степени выраженности его "двойного назначения".
В первую группу попадает ПО, на 90-95% ориентированное на использование базового функционала, но допускающее некоторое дополнение его самостоятельно создаваемыми возможностями. К этой категории относятся большинство широко используемых офисных наборов - текстовых процессоров, электронных таблиц, пакетов презентационной графики, персональных органайзеров и т.п. Так, например, текстовый процессор Центральный процессор (ЦП, или центральное процессорное устройство— ЦПУ; англ.central processing unit, сокращенно— CPU, дословно— центральное обрабатывающее устройство)— электронный блок либо микросхема — исполнитель машинных инструкций (кода программ), главная часть аппаратного обеспечения компьютера или программируемого логического контроллера. Иногда называют микропроцессором или просто процессором. Изначально термин центральное процессорное устройство описывал специализированный класс логических машин, предназначенных для выполнения сложных компьютерных программ. Вследствие довольно точного соответствия этого назначения функциям существовавших в то время компьютерных процессоров, он естественным образом был перенесён на сами компьютеры. Начало применения термина и его аббревиатуры по отношению к компьютерным системам было положено в 1960-е годы. Устройство, архитектура и реализация процессоров с тех пор неоднократно менялись, однако их основные исполняемые функции остались теми же, что и прежде. Microsoft Word содержит очень большое количество встроенных функций, которые, при необходимости, могут дополняться пользователем. Для этого предусмотрена возможность создания макропрограмм с применением языка Visual Basic и даже встроенной (являющейся неотъемлемой частью ПО Word) среды визуального программирования. Для подавляющего большинства пользователей уже встроенных функций достаточно (точнее говоря, из них используется не более 20-50%). И "допрограммирование" нового функционала является действительно опциональным: ПО полностью сохраняет свою ценность Ценность — значимость (польза, полезность) некоторого множества объектов для множества живых существ. и без него. Важно, что ПО первого типа в основном персональное, то есть не требующее (или даже не поддерживающее) сетевого взаимодействия.
Ко второй группе относится ПО, на 95-100% ориентированное на использование функционала, задаваемого (программируемого) пользователем или, чаще, третьей стороной - разработчиком, для конечного пользователя. К этой категории относится сложное и дорогое ПО: ERP, RDBMS, OLAP, Middleware, серверы приложений и т. д. Но, тем не менее, эти продукты сохраняют возможность Возможность — направление развития, присутствующее в каждом явлении жизни; выступает и в качестве предстоящего, и вполне объяснимо рациональным путем: в каждой возможности присутствует вероятная невозможность, «возможность невозможного». Возможность не определяется познанием того, что может быть. Познание вероятностей, возможностей не всегда влияет на нашу возможность. На изучении возможности основывается, главным образом, исследование бытия и события. (относительно) быстрого развертывания и использования стандартных шаблонов. Другое дело, что практическое применение их в такой конфигурации бессмысленно. Более того, бюджет Бюджет (от старонормандского bougette— кошель, сумка, кожаный мешок)— схема доходов и расходов определённого лица (семьи, бизнеса, организации, государства ит.д.), устанавливаемая на определённый период времени, обычно на один год. Бюджет— это важнейшая концепция как в микроэкономике, так и в макроэкономике (государственный бюджет). Изучением бюджета занимается наука финансы. подобных проектов всегда включает настройку базового ПО, создание заказных приложений в новой среде, обучение пользователей, поддержку и т. д. ПО этого типа практически всегда требует сетевого взаимодействия, то есть оно всегда многопользовательское.
ПО Lotus Domino/Notes относится к третьей группе. Domino можно успешно, без какого либо ущерба, использовать как в качестве ПО быстрого развертывания для создания системы электронной почты и календарного планирования, совмещенной с телеконференциями, общим каталогом пользователей и т. д., так и для разработки и внедрения достаточно сложной, комплексной заказной ИС для организации практически любого масштаба. Более того, не существует теоретических ограничений на использование Domino и Notes в обоих качествах одновременно в одной организации. Такая перспектива, безусловно, и явилась причиной значительного распространения Lotus Domino/Notes, ведь она обещает экономию материальных средств на ПО и оборудование, обслуживающий персонал, обучение Обучение (в педагогике)— целенаправленный процесс двусторонней деятельности педагога и учащегося по передаче и усвоению знаний, умений, навыков. Одна из основных категорий педагогики. пользователей и т. п., то есть снижение так называемой совокупной стоимости владения (Total Cost of Ownership - TCO).
Следует отметить тот факт, что в случае с истинным ПО "двойного назначения", невозможно оценить насколько встроенные или созданные пользователем функции превосходят друг друга. В подавляющем большинстве случаев соотношение между ними постоянно меняется вследствие постоянного стремления пользователя понизить TCO как раз за счет повторного использования установленных и сконфигурированных компонентов для реализации собственного функционала.
В третью группу также входит и ряд других программных продуктов других производителей. Это, например, Microsoft Exchange Microsoft Exchange Server— программный продукт для обмена сообщениями и совместной работы., или персонал Персонал (от лат. persona— личность)— это совокупность всех работников предприятия, занятых трудовой деятельностью, а также состоящих на балансе (входящих в штатный состав), но временно не работающих в связи с различными причинами (отпуск, болезнь, присмотр за ребенком ит.д.); это совокупность трудовых ресурсов, которые находятся в распоряжении предприятия и необходимы для исполнения определенных функций, достижения целей деятельности и перспективного развития.ьные СУБД, такиt как Microsoft Access или Lotus Approach, входящие в так называемые "профессиональные" версии офисных пакетов. Но все эти продукты скорее можно оценить, как имеющие соотношение от 30-70% до 70-30% между встроенными и программируемыми функциями. Причем этот процент не меняется или меняется очень незначительно в процессе эксплуатации ПО, что сильно отличает их от Lotus Domino/Notes. Но все соображения, которые изложены ниже и получены в результате работы с Domino и Notes, вполне относятся и другим продуктам третьей группы, хотя и в несколько меньшей степени. Все продукты этой группы поддерживают сетевое взаимодействие, многие имеют два варианта установки и работы - одно- и многопользовательские.
Особенности ПО "двойного назначения"
Вследствие возможности двойного применения, Lotus Domino кажется простым продуктом, готовым к использованию по прямому назначению после простой инсталляции ПО (то есть, что называется Out of the Box). Это довольно распространенное заблуждение. В отличие от ПО первой группы, которое действительно можно использовать после инсталляции для выполнения работы, ПО третьей группы намного сложнее. Даже однопользовательский персональный режим зачастую требует определенных настроек. Что уж говорить о сетевом многопользовательском варианте - по сложности развертывания, конфигурирования и управления Lotus Domino лишь немного уступает большинству представителей второй группы ПО.
Однако, схожая ситуация наблюдается и в случае создания с применением Lotus Domino и Notes заказных приложений для пользователя. В этом случае кажущаяся простота и легкость программирования, так же как и мнимая легкость настройки и управления, может не привести к ожидаемым результатам. Действительно, в любом случае, используется ли Lotus Domino в качестве почтовой системы или сервера собственных приложений, он является сложным сетевым продуктом, требующим, в первую очередь, знания и представления о нем, как о технологической платформе проектирования, квалифицированного сопровождения и развития разработанной ИС.
Да, Lotus Domino дешевле. Но от электронной почты или системы Система (от др.-греч. — «сочетание»)— множество взаимосвязанных элементов, обособленное от среды и взаимодействующее с ней, как целое. документооборота также зачастую непосредственно зависит успех коммерческой деятельности компании. Да, Lotus Notes имеет "интуитивно понятный интерфейс". Но ведь обучать пользователя надо не тому, на какие кнопки нажимать для выполнения тех или иных действий, а тому, как работать в новой для него информационной среде, обеспечивающей принятую или измененную функциональность.
Таким образом, первый вывод, который можно сделать из вышесказанного, это то, что ПО третьей группы объединяет достоинства (и недостатки) предыдущих в обозначенном делении групп, предоставляя при этом некоторые дополнительные возможности, преимущественно за счет экономии материальных средств. Важно помнить, что эта экономия не так значительна, как может показаться на первый взгляд Взгляд— один из способов невербальной передачи информации с помощью глаз.. Lotus Domino - это далеко не "сетевая СУБД по цене офисного пакета Пакета (порт. Paquet) — муниципалитет в Бразилии, входит в штат Пиауи. Составная часть мезорегиона Юго-восток штата Пиауи. Входит в экономико-статистический микрорегион Пикус. Население составляет 4430 человек на 2006 год. Занимает площадь 448,457км. Плотность населения - 9,9 чел./км.".
Проблемы разработки приложений с применением ПО "двойного назначения"
Какие же ошибки допускают разработчики в среде Lotus Notes и администраторы Lotus Domino? Все ли они приводят к невозможности нормальной эксплуатации ИС? Каким образом ИС деградирует в результат Результат— заключительное последствие последовательности действий или событий, выраженных качественно или количественно. Возможные результаты включают преимущество, неудобство, выгоду, потерю, ценность и победу.е тех или иных ошибок разработки и администрирования? Существует ли заранее известная стратегия "выигрыша в Domino", то есть успешного администрирования и разработки? Попытаемся ответить на эти вопросы.
Наложение абстракций
Начнем с разработки и вновь обратимся к предложенному делению ПО на три группы. В случае, когда разработка имеет место в продуктах первой группы, она (и ее результат) целиком и полностью остается в поле тех понятий и абстракций, с которыми работает пользователь базового ПО. Действительно, если разработчик желает, например, автоматизировать заполнение свойств документа при его редактировании и сохранении новой версии, то он пишет макропрограмму, которая оперирует сама, и, что важнее, предлагает пользователю работать с полями, текстом, комментариями, исправлениями, абзацами и т. п. Для пользователя не вводятся новые объекты работы и термины для них. В крайнем Крайнем (нидерл.Kraainem; фр.Crainhem)— муниципалитет во Фландрии, часть провинции Фламандский Брабант, расположен в двуязычном избирательном и судебном районе Брюссель-Халле-Вилворде, в непосредственной близости от г. Брюссель, фактически представляя собой часть его восточной периферии. случае, новым термином называется уже существующий объект.
В случае разработки приложения для работы с сетевой базой данных (БД) через сервер приложений, разработчик целиком и полностью изолирует пользователя от реальных объектов (таблицы, кортежи, SQL-запросы и т.п.) при помощи введенных им абстракций: учетных карточек, документов и так далее. И это, безусловно, правильно.
При создании приложений Lotus Domino у разработчика зачастую появляется соблазн использовать второй подход. Действительно, зачем пользователю работать с репликами БД, видами и агентами? Его ведь интересуют документы, поля и действия над ними. Такой подход не учитывает, что Lotus Notes уже содержит в себе абстракции пользовательского уровня. Документы и поля - это абстракции записей в неструктурированной базе данных, виды - выборок записей по определенному критерию, реплики - синхронизируемых БД с механизмом разрешения конфликтов одновременного совместного доступа к различным копиям одной информации и т. д. Введение второго уровня абстракций с большой Государственный академический Большой театр России (ГАБТ), Государственный академический театр оперы и балета России, или просто Большой театр— один из крупнейших в России и один из самых значительных в мире театров оперы и балета. Расположен в центре Москвы, на Театральной площади. вероятностью может привести к полной неработоспособности созданного приложения. Почему? Как и любое другое ПО Lotus Domino и Notes оптимизированы для работы со своими структурами и абстракциями. И отличие его от RDBMS состоит не только в способе организации доступа и хранения данных, но и в том, что последние не содержат абстракций пользовательского уровня, предоставляя разработчику свободу их выбора (и наименования), а Lotus Notes - содержит, и, что очень важно, рассчитан на работу именно с этими пользовательскими абстракциями.
Хорошо это или плохо? И то, и другое - это особенность, с которой надо считаться. Конечно, набор абстракций, которые предлагает Lotus Notes не всегда в точности соответствует тому, что хотелось бы предоставить конечному пользователю. Но эту проблему можно решить путем обучения пользователей. Да, это почти всегда будет стоить дороже разработки собственной модели с набором понятий и абстракций и ее реализации, но это, по-видимому, единственный путь получить работающее приложение. Что, по-вашему, выберет заказчик более дорогую систему, к которой надо привыкать или более дешевую, которая ему уже знакома, если первая работает, а вторая нет? Ответ очевиден. И, видимо, следует убедить заказчика в необходимости обучения, а не пытаться оживить неработающее приложение путем наращивания мощности аппаратной платформы, перепроектирования системы или написания заплат(как правило - не документированных), которые, как показывает практика, только усугубляют ситуацию.
Вывод из вышесказанного таков - необходимость обучения пользователя работе с Lotus Notes - это признак, общий для ПО второй и третьей группы, и попытка избежать обучения путем введения нового уровня абстракций для пользователя не приведет к ожидаемому результату, так как не учитывает особенностей, присущих используемому ПО.
Однопользовательское ПО в сети
Еще одна проблема Проблема (др.-греч. ) — положение, причинность, условие, вопрос, объект, который создаёт затруднение, побуждает к действию и связан с избыточностью или недостатком чего либо для сознания субъекта,например: процессора (движителя, калькулятора, компьютера,специалиста), знаний, ресурсов, регламента (упорядоченности, алгоритма, программы) и побуждает к действию или ограничивает его и соответственно неразрешён или нежелателен. В природе, вне деятельности человека, проблемы находят естественное разрешение и в последовательности движения форм материи есть этап в наблюдениях формализуемый человеком. Отличие природного процесса, разрешение проблемы как результат законов природы. Сущность проблемы для человека такова, что требует анализа, оценки, формирования идеи, концепции для поиска ответа (решение проблемы) с проверкой и подтверждением опытом. В природе это: Вода течёт вниз. Ветер качает деревья. Вода камень точит. и др., что естественно и непротиворечиво. ПРОБЛЕМОЙ преимущественно называется вопрос, не имеющий однозначного решения (степень неопределённости). Неопределённостью проблема отличается от задачи. Совокупность возможных вопросов взаимосвязанных объектом рассмотрения называется проблематикой. разработки в Lotus Domino и Notes также связана с кажущейся простотой, присущей ПО третьей группы. По аналогии с макропрограммами в однопользовательском ПО, приложения Lotus Notes также зачастую не учитывают сетевой сущности этого продукта. Ситуация усугубляется еще и тем, что в Notes действительно можно писать однопользовательские несетевые приложения. И они будут работать. Не в сети. И пока ими будет пользоваться один человек Человек разумный (лат.Homo sapiens) (в биологии)— вид рода Люди (Homo) из семейства гоминид в отряде приматов, единственный живущий в настоящее время. От современных человекообразных, помимо ряда анатомических особенностей, отличается значительной степенью развития материальной культуры (включая изготовление и использование орудий), способностью к членораздельной речи и абстрактному мышлению. Человек, как биологический вид— предмет исследования физической антропологии. Природа и сущность человека является предметом как философского, так и религиозного диспута..
Некоторые разработчики уверены, что они должны правильно запрограммировать логику работы пользовательского приложения, а работу его в сети, "всякие там репликации" должны обеспечить администраторы, или, еще лучше, сервер Lotus Domino. Это не так. Разработчик всегда должен учитывать те условия, в которых будет эксплуатироваться его приложение. Его работа в сети накладывает дополнительные ограничения на усилия разработчика при программировании, чем, безусловно, усложняет его задачу многократно. Однако отмахнуться от этих проблем нельзя - персональное приложение просто не заработает в сети. Разработчик, таким образом, должен знать возможности Lotus Notes как сетевой технологии, то есть технологии реализации архитектуры "клиент-сервер Клиент-сервер (англ.Client-server)— вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемыми серверами, и заказчиками услуг, называемыми клиентами. Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением.", модели сетевого взаимодействия OSI/ISO, и т. д.
У этой ошибки возможно и другое проявление Проявление— часть фотографического процесса для получения видимого изображения из скрытого (полученного экспонированием фотоматериала) посредством химического или физического процесса., несколько перекликающееся с первой ошибкой, описанной в предыдущем параграфе - наложение Изометрия, или движение, или (реже) наложение— биекция (преобразование), которая сохраняет расстояние между соответствующими точками, то есть если A' и B'— образы точек A и B, то | A'B' | = | AB | . абстракций. Иногда разработчик, создавая сетевое приложение самостоятельно реализует в нем те функции, которые уже обеспечиваются клиентским ПО, сервером приложений или используемыми протоколами. При этом, естественно, серверные средства требуется в лучшем случае отключить, а в худшем - они становятся помехой для функционирования приложения. Проблема заключается не только в том, что разработчик выполняет лишнюю работу, но и в том, что имеющиеся в системе средства всегда намного (на порядки) эффективнее, чем "самодельные" аналоги. Почему? Системные сервисы реализуются при программировании на языке высокого уровня и являются отлаженной интегрированной частью всего ПО. Разработчики же создают свои заменители на макроязыке еще более высокого уровня, всегда интерпретируемом (иногда из исходного текста, иногда - из промежуточного байт-кода). Если к этому добавить еще и то, что в большинстве случаев разработчики прикладного ПО не имеют достаточного опыта и знаний по созданию сетевых многопользовательских приложений низкого уровня, каковыми являются системные сервисы, то полная неработоспособность таких приложений или их крайне неэффективная работа оказываются печальным, но закономерным итогом трудоемкой и дорогостоящей разработки.
Решением указанной проблемы может быть обеспечение тесного взаимодействия программистов и опытных системных администраторов на всех этапах создания прикладного ПО для Lotus Domino/Notes, а также обязательное обучение разработчиков технологии проектирования и разработки именно сетевых программных средств. Со своей стороны, администраторы должны предоставлять разработчикам всю информацию о сервисах, которые могут быть ими использованы, конфигурации Конфигурация — характерное взаимное положение Солнца, планет, других небесных тел Солнечной системы на небесной сфере. сети и ее влиянии на эксплуатируемое ПО.
Вывод из этого раздела можно сформулировать так: при разработке приложений в Lotus Domino/Notes необходимо учитывать сетевую многопользовательскую специфику этого ПО. И, если в случае персонального приложения, Lotus Notes проявляет себя как ПО первой группы, то в случае сетевого - как второй. Такая двойственность является расплатой за универсальность и относительную дешевизну.
"Изощренные решения"
Изощренным решением (sophisticated solution) обычно называют нетрадиционное, сложное, но, зачастую, красивое решение какой либо проблемы. Однако, применительно к Lotus Domino и Notes (как и к любому другому достаточно сложному ПО), такие решения таят в себе и потенциальную опасность Опасность— это возможность возникновения обстоятельств, при которых материя, поле, информация или их сочетание могут таким образом повлиять на сложную систему, что это приведёт к ухудшению или невозможности ее функционирования и развития. Опасность— наступление, или появление заметной вероятности наступления нежелательных событий.. Проблемы, с этим связанные, возникают на границе доменов ответственности администраторов и разработчиков, что дополнительно усложняет их выявление и устранение.
В лицензионном соглашении IBM для ПО Lotus Domino или Notes (как и в любом другом лицензионном соглашении сегодня Сегодня — наречие, указывающее (кроме телевизионных рекламных анонсов) на «текущий» 24-часовой отрезок времени (с 00 до 24 часов по местному времени).) сказано: "Данное ПО - достаточно сложное, и в нем наверняка есть ошибки. Мы это признаем и заранее Вас предупреждаем." Это означает, что даже без постороннего вмешательства (снаружи или изнутри, то есть администратора или разработчика) система находится в состоянии неустойчивого равновесия. Внутренние ошибки (сбой памяти, ошибки программистов и т. п.) способны привести к сбою в случае, например, перехода системы в определенный режим работы или пребывания в каком-либо режиме в течение определенного времени.
Разработчики обычно стараются постоянно улучшать свои приложения. И заказчик обычно склонен добиваться удовлетворения всех своих требований. В результате, зачастую, складывается ситуация Ситуация— одноактность и неповторимость наступления множества событий, стечения всех жизненных обстоятельств и положений, открывающихся восприятию и деятельности человека., когда для реализации какой-либо функции требуется то самое "изощренное решение". Это может быть код в несколько десятков строк, код, который делает что-то такое, чего не было предусмотрено в системе, конфигурация или параметр, которые не описаны в документации и т. д. Часто подобные решения применяются, так как иначе какое-либо требование осталось бы неудовлетворенным. Однако, в свете вышесказанного, следует понимать, что подобные эксперименты хороши для исследования потенциальных возможностей ПО или демонстрации потенциальных возможностей программиста. Но в случае промышленной версии надо (в разумных пределах, разумеется) стремиться к принципу: "Чем проще - тем надежнее".
Применительно к Lotus Domino/Notes - это правило означает следующее. Любую функцию следует реализовывать, по возможности, с помощью простых действий (Simple Actions). Если это невозможно, то писать простой и короткий код, который всесторонне отлаживать во всех режимах работы системы. Кроме того, полезно иметь упрощенный вариант приложения, который бы исключал сложные функции, заменяя их рядом простых. Опять же, заказчик предпочтет приложение, в котором надо чаще щелкать мышкой, вводить что-либо с клавиатуры и т. п., если оно работает, - красивой, удобной и лаконичной программе, которая пригодна только для демонстрации возможностей ПО и разработчиков.
Отличным образцом для подражания могут служить приложения, которые поставляются вместе с ПО Lotus Domino: почтовый ящик, адресная книга, телеконференция и т. д. Конечно, все они далеки от идеала (по удобству использования, скорости работы, красоте исполнения), но они работают. И в этом их главное преимущество.
Закономерности внедрения ПО трех различных групп
Еще одним доводом в пользу простых приложений может служить то, что ПО трех названных групп внедряется по разным законам. Рост затрат на внедрение ПО первой группы соответствуют примерно такому графику:
То есть, по мере увеличения количества требуемых от ПО функций, возрастает и стоимость, причем не линейно, а в основном в области большого количества функций и их повышенной сложности.
Для ПО второй группы график роста стоимости внедрения примерно таков:
То есть, основные затраты приходятся на реализацию небольшого набора функций в начале работ, а потом рост стоимости дополнения функционала снижается, например, за счет повторного использования.
Отличия в графиках для первой и второй групп легко объяснимы: ПО первой группы обычно внедряется "прямо из коробки", при этом, как правило, не проводится ни обучение пользователей, ни разработка и внедрение дополнительных функций. В случае необходимости создания своих собственных функций стоимость внедрения начинает расти, и, так как ПО первой группы не сильно ориентировано на допрограммирование, то чем больше функций добавляется, тем больше стоимость и тем быстрее она растет.
Для ПО второй группы немыслимо внедрение без предварительного планирования и разработки, которое может занимать несколько месяцев Николай Николаевич Месяцев (3 июля 1920, Вольск, Саратовская губерния)— советский государственный и партийный деятель, председатель Государственного комитета Совета Министров СССР (Комитета при СМ СССР) по радиовещанию и телевидению (1964—1970). и требовать дополнительных финансовых затрат, соизмеримых со стоимостью самого ПО. Кроме того, после разработки требуется обучение пользователей и администраторов. Однако, по мере того, как ПО оказывается внедренным, скорость роста стоимости замедляется, так как используется уже разработанный и отлаженный пользовательский интерфейс, дополнительные функции повторно используют уже созданный код и т. д.
Для Lotus Domino и Notes, как и для любого ПО третьей группы график роста затрат на внедрение выглядит приблизительно так:
Характерный излом между линиями A и B объясняется следующим образом: ряд функций уже встроен в ПО Lotus Domino и Notes, и программирование и обучение для них не требуется - это график на участке левее A (подобный графику для ПО первой группы). На участке между A и B происходит (или должно происходить) та самая разработка, отладка и внедрение приложений, обучение пользователей и т. д., которые не требовались ранее. На участке кривой Кривой (укр. Кривий) — село в Хустском районе Закарпатской области Украины., расположенном правее B, Lotus Domino/Notes ведет себя как ПО второй группы - действительно, пользователи уже обучены, приложения функционируют, накоплено значительное количество пригодного для повторного использования программного материала и т. д.
Проблемой очень часто является как раз преодоление "ступеньки" A-B. Ее высота напрямую зависит от того, насколько успешно решены названные выше проблемы. К сожалению, лишь небольшое число проектов преодолевает ее. Большая часть застревает посередине, то есть пользователи получают незаконченное ПО, которое требует дополнительных финансовых затрат. К тому же, в силу того, что обычно вышеперечисленным вопросам в процессе разработки приложений и внедрения Lotus Notes изначально не уделяется достаточного внимания, преодоление ступеньки возможно только при отказе от ряда уже созданных компонентов и приложений (то есть, при возврате в точку A).
Вывод из вышесказанного следующий - не следует создавать в Lotus Domino/Notes сложных приложений, это позволит понизить высоту ступеньки на графике зависимости роста затрат от количества реализованных функций, в то время как изощренные решения способны не только увеличить ее (и, следовательно, усложнить жизнь и разработчикам и пользователям), но и вообще привести систему к неработоспособному состоянию.
Кроме перечисленных ранее ошибок, характерных для ПО третьей группы, при разработке, внедрении, эксплуатации и поддержке ИС с использованием Lotus Domino/Notes часто допускаются ошибки, характерные для разработки в области ИТ в целом, то есть для ПО всех трех групп. К ним относятся: отсутствие планирования жизненного цикла ПО, недостаточное внимание к аспектам производительности, безопасности и масштабируемости, отсутствие единой концептуально-целостной технической архитектуры ИС (Enterprise-Wide Technical Architecture - EWTA) и т. д. Мы не будем подробно останавливаться на них, так как их рассмотрение выходит за рамки данной статьи и их влияние на Lotus Domino и Notes аналогично влиянию на любую другую ИС.
Хочется отметить, однако, что из-за двойственности, свойственной Lotus Domino/Notes, очень часто возникает соблазн уклониться от решения этих проблем на первом этапе внедрения ИС, так как, якобы, в это время Domino ведет себя как ПО первой группы. Это, конечно, не так. Подобная практика приводит только к росту высоты ступеньки A-B, что, в свою очередь, может привести к краху внедрения. Избежать этого роста можно единственным способом: предвидеть и предупредить появление названных проблем, то есть принять меры к планированию сети, разработке политики безопасности, согласовать и официально принять EWTA и т. д.
Конечно, подобная практика потребует дополнительных финансовых затрат и усилий от разработчика на первом этапе внедрения ИС, что несколько снижает финансовую привлекательность Lotus Domino по сравнению с ПО второй группы. В данном случае важно не обманывать себя и заказчика. Либо внедрение остановится на первом этапе и не пойдет дальше, либо ступеньку придется преодолеть, что приведет к росту стоимости внедрения и владения ИС.
Заключение
Приведенные в статье соображения позволяют сделать еще ряд интересных выводов. Так, например, характерная форма графика зависимости роста затрат на внедрение от количества реализуемых функций подсказывает те преимущества Lotus Domino и Notes, которые часто теряются из вида при принятии решения об использовании данного ПО.
Обладая свойствами ПО первой и второй группы, Lotus Domino/Notes, может, при грамотном подходе и учете особенностей, на первом этапе экономить средства, частично заменяя ПО второй группы. При этом, в случае четкого понимания всех плюсов и минусов такого использования и готовности модифицировать требования к ИС в соответствии с ограничениями, накладываемыми ПО Domino и Notes, возможна действительно существенная экономия, обусловленная гораздо более низким положением графика для Lotus Domino/Notes.
На этапе глубокого проникновения в ИС пользователя, и при условии успешного преодоления ступеньки A-B, Lotus Domino и Notes могут, в первую очередь за счет сетевой ориентации и хорошей интеграции с офисным и другим ПО, существенно снизить затраты Затраты — размер ресурсов (для упрощения измеренный в денежной форме), использованных в процессе хозяйственной деятельности за определённый временной этап. на модернизацию ИС или дополнение ее новыми функциями, что обеспечивается более пологим графиком зависимости роста затрат на внедрение от количества реализуемых функций правее точки B для Lotus Domino/Notes по сравнению с графиком для ПО первой группы. Иными словами, наращивание функций ИС за счет Domino и Notes будет дешевле, чем допрограммирование Программирование— одновременно наука и искусство создания компьютерных программ и\или программного обеспечения с помощью языков программирования. Программирование сочетает в себе элементы искусства, фундаментальных наук (прежде всего информатика и математика). Цель программирования состоит в том, чтобы создать программу, которая показывает определенное желательное поведение в ответ на действия пользователя либо автономно - независимо от пользователя. ПО первой группы, причем тем дешевле, чем больше изменений требуется внести.
Получение количественных показателей является темой для отдельного исследования, однако даже без него, понимание Понимание — психологическое состояние, верное восприятие или интерпретация какого-либо события, явления, факта, принятое в определенном кругу. реального положения вещей может оказаться весьма полезным как разработчикам ИС, так и их заказчикам.
|