Введение

Обновление конфигурации заказчика (CCU) — это методология разработки программного обеспечения, предназначенная для структурирования процесса предоставления клиентам новых версий продуктов и производственных обновлений. Данная методология разработана исследователями Утрехтского университета. Фаза поставки в методологии CCU охватывает процесс, начинающийся с момента завершения разработки продукта и заканчивающийся его фактической отправкой клиенту.

Введение в процесс доставки

Как описано в общем описании CCU, фаза поставки является второй фазой метода CCU. На рисунке 1 изображен метод CCU. Фазы CCU, не рассматриваемые в данной статье, скрыты прозрачным серым прямоугольником. Как видно на рисунке 1, фаза поставки находится между фазой выпуска и фазой развертывания. Разработчик программного обеспечения создает и выпускает программный продукт, после чего его необходимо доставить клиенту. Эта фаза представляет собой процесс доставки. Этот процесс весьма сложен, поскольку разработчику часто приходится иметь дело с продуктом, который имеет множество версий, различные функции, зависимость от внешних продуктов и различные варианты распространения. Метод CCU помогает разработчику программного обеспечения структурировать этот процесс. На рисунке 2 представлена диаграмма данных процесса фазы поставки в рамках CCU. Этот способ моделирования был разработан Саэки (2003). Слева вы видите модель метапроцесса, а справа – модель метаданных. Эти две модели связаны между собой отношениями, визуализированными пунктирными линиями. Модель метаданных (справа) показывает концепции, участвующие в процессе, и взаимосвязи между ними. Например, видно, что пакет состоит из нескольких компонентов: пакет программного обеспечения, описание системы, руководство пользователя, информация о лицензии и управлении. Числа между связями указывают на количественное соотношение между концепциями. Например, «1 1» между пакетом и пакетом программного обеспечения означает, что пакет должен содержать как минимум один пакет программного обеспечения и не более одного пакета программного обеспечения. Таким образом, в данном случае пакет должен содержать ровно один пакет программного обеспечения. На левой стороне изображения представлена модель данных процесса, включающая в себя все действия в процессе доставки. Данная статья основана на этой модели данных процесса. Метамодель процесса (левая сторона диаграммы данных процесса) разделена на несколько частей, которые представлены вместе с соответствующими разделами в статье для облегчения понимания. Таблицы, описывающие концепции модели метаданных и действия модели данных процесса, приведены ниже рисунка 2.

Описание системы

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

Руководство

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

Лицензия

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

Информация для руководства

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

Распространение

После сборки комплекта необходимо доставить его клиентам. Этот этап в процессе доставки касается непосредственной передачи комплекта клиентам.

Онлайн против офлайн

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

Подготовка к распространению

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

Фактическое распределение

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

Управление конфигурацией программного обеспечения

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

Система CRM

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

Пример

Пример успешного применения метода CCU можно найти в Exact Software (ES). ES – производитель программного обеспечения для бухгалтерского учета и планирования ресурсов предприятия, базирующийся в Нидерландах. ES объединила управление данными о продукте (PDM), управление взаимоотношениями с клиентами (CRM) и управление конфигурацией программного обеспечения (SCM) для более эффективного и простого поддержания конфигураций на стороне клиента. В своем программном обеспечении CRM, ES имеет модуль, содержащий все контракты каждого клиента, который связан с их системой PDM. Каждый контракт соответствует файлам, доступным для загрузки при выпуске новой версии или обновлении предыдущей. На этапе поставки это означает, что клиенты могут получать все продукты через онлайн-соединение. Таким образом, ES продает контракты (лицензии) и хранит их в системе CRM, а клиенты могут самостоятельно, в полностью автоматизированном режиме и с минимальными усилиями, получать доступ к самим продуктам. Система PDM, в свою очередь, связана с системой SCM, которая отслеживает используемые клиентами конфигурации. На этапе поставки это позволяет ES автоматически определять потребности клиента при поступлении запроса.