Главная » UML » Технологический процесс распространения

0

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

Цель

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

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

•       Тестирование   программного  обеспечения   в  целевой   операционной  среде
(бета-тестирование)

•       Оформление программного обеспечения для предоставления пользователям

•       Распространение программного обеспечения

•       Установка программного обеспечения

•       Подготовка конечных пользователей и продавцов

•       Замещение существующего программного обеспечения или преобразование
баз данных

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

 

Типы распространения

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

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

2.          Развертывание архивированного программного обеспечения

3.          Развертывание программного обеспечения, загруженного из Internet

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

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

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

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

Синхронизация распространения

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

Целью фазы развертывания и технологического процесса распространения является обеспечение плавного перехода пользователя на новое программное обеспечение. Rational Unified Process приветствует привлечение заказчиков и, как часть "взлетной полосы" для успешного финального распространения продукта, включает бета-тестирование ранних версий, проводимое конечными пользователями.

 

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

При хорошем планировании и участии заказчиков на момент сдачи окончательного продукта не должно быть никаких неожиданностей — ни для разработчика, ни для пользователя!

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

Исполнители и артефакты

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

•       Управляющий распространением планирует и организовывает распространение.
Он отвечает за программу обратной связи по вопросам бета-тестирования и
обеспечивает надлежащее оформление продукта для отправки заказчику.

•       Руководитель  проекта является  основным  посредником  между заказчиком  и
разработчиками, отвечает за утверждение распространения (решение прини
мается на основе результатов тестов и обратной связи) и принятие заказчиком
конечного продукта.

•       Технический редактор создает материалы поддержки конечного пользователя.

•       Разработчик курса создает обучающие материалы.

•       Художник отвечает за всю иллюстративную работу.

•       Испытатель запускает приемочные тесты и отвечает за достаточное тестиро
вание продукта.

•       Конструктор создает сценарии установки и сопутствующие артефакты, призван
ные помочь конечному пользователю в установке продукта.

Артефакты распространения

В понятие распространения, как оно определено в Rational Unified Process, входит многое — от распространения заказных систем до загрузки конечным пользователем программного обеспечения с конкретного Web-узла. В зависимости от типа распространения могут понадобиться (или не понадобиться) следующие артефакты. Ключевым артефактом является версия, которая может включать следующее.

•       Исполняемое программное обеспечение (включается в любом случае)

•       Артефакты установки: сценарии, инструментальные средства, файлы, руковод
ства, информация по лицензированию

•       Материалы поддержки, такие как руководство пользователя и эксплуатацион
ное руководство

•       Обучающие материалы

В случае архивированного продукта, могут потребоваться дополнительные артефакты.

•       Ведомость материалов  (полный перечень объектов,  которые должны быть
включены в произведенный продукт)

•       Среды версии (материалы, на которых выпускается продукт, например
компакт-диски)

•       Мастер версии (копии сред версии, выполненные с оригинала)

•       Оформление продукта (упаковка продукта)

•       Иллюстративный   материал   продукта   (часть   оформления,   которая  должна
снабдить товар торговой маркой и помочь его идентифицировать)

•       Печатные спецификации (текстовые материалы, сопровождающие продукт)

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

•       Результаты тестирования (полученные из тестов в целевых системах и систе
мах организации-разработчика)

•       Итоги обратной связи (полученные в результате бета-тестирования)

•       Заключительная оценка тестов

Исполнители и ключевые артефакты процесса распространения представлены на рис. 15.1.

Технологический процесс

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

Планирование распространения

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

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

Разработка материалов поддержки

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

Тестирование продукта в системе разработчика

Тестирование в системе организации-разработчика определяет, готов ли продукт к окончательной сдаче или к передаче бета-тестерам.

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

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

Создание версии

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

Бета-тест версии

Бета-тестирование требует установки конечным пользователем предоставленного программного обеспечения. Благодаря этим пользователям впоследствии организовывается обратная связь по вопросам производительности и практичности.

 

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

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

Оформление продукта

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

Обеспечение доступа к узлу загрузки

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

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

Технология Web — это великолепный механизм, позволяющий организовать обратную связь с пользователями, сообщить об обновлениях продукта или обеспечить доступ (возможно, посредством паролей) к другим корпоративным службам.

Резюме

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

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

•       сильно зависит от типа разрабаты
ваемого продукта и от состояния в отрасли производства, поэтому организация,
принявшая Rational Unified Process, сама должна определить его вид.

 

По теме:

  • Комментарии