
- •Архитектуры баз данных. Преимущества и недостатки
- •Реляционные базы данных, основные понятия.
- •Понятия и терминология, связанные с таблицей реляционной базы данных
- •1.4.1. Отношение "один-ко-многим"
- •Отношение "один-к-одному"
- •Отношение "многие-ко-многим"
- •Понятия терминология, связанные с полем таблицы
- •Понятия ключевых атрибутов для таблиц и индексов.
- •1.7. Индексы и методы доступа
- •Реляционные отношения и целостность данных. Пример
- •1.4.1. Отношение "один-ко-многим"
- •1.4.2. Отношение "один-к-одному"
- •1.4.3. Отношение "многие-ко-многим"
- •1.4.4. Связь между записями одной таблицы
- •1.5. Ссылочная целостность и каскадные воздействия
- •Навигационный и sql ориентированный подход к обработке данных.
- •Нормализация данных. Первая нормальная форма. Пример
- •Нормализация данных. Третья нормальная форма. Пример
- •Индексы. Определение, назначение, характеристики.
- •Жизненный цикл программного обеспечения. Модели жизненного цикла.
- •Основные этапы программирования (структурный, rad технологии, case технологии). Кризис программирования.
- •Методология системного анализа и системного моделирования. Диаграммы idefo.
- •Язык uml. Назначение.
- •Статические диаграммы uml (варианты использования, классов)
- •Диаграммы поведения uml ( состояний, последовательности, деятельности).
- •Основные принципы организации процесса разработки по по rup.
- •Понятие rup. Основные принципы. Структура процесса проектирования. Инструментальная поддержка.
- •Статическая структура описания rup. Понятия исполнителей и артефактов. Основные технологические процессы.
- •Технологический процесс управления проектом.
- •Технологический процесс процесса моделирования производства. 6 сценариев разработки моделей.
- •Технологический процесс управления требованиями
- •Технологический процесс анализа и проектирования
- •Технологический процесс реализации
- •Технологический процесс тестирования
- •Технологический процесс управления конфигурацией и изменениями
- •Технологический процесс управления средой
- •Технологический процесс распространения
- •Конфигурирование и реализация rup
Технологический процесс распространения
Целью технологического процесса распространения является передача пользователям завершенного программного обеспечения. Этот технологический процесс включает следующие виды деятельности.
Тестирование программного обеспечения в целевой операционной среде (бета-тестирование)
Оформление программного обеспечения для предоставления пользователям
Распространение программного обеспечения
Установка программного обеспечения
Подготовка конечных пользователей и продавцов
Замещение существующего программного обеспечения или преобразование баз данных
Типы распространения
Rational Unified Process может применяться в программных проектах различных профилей. С целью иллюстрации разнообразия вопросов, которые могут возникать при распространении программного обеспечения различных типов, рассмотрим три специфических примера.
Развертывание программного обеспечения в заказные системы
Развертывание архивированного программного обеспечения
Развертывание программного обеспечения, загруженного из Internet
Ключевые факторы, определяющие различия этих типов распространения, — степень участия организации-разработчика в оформлении и распространении программного обеспечения, а также способы ознакомления конечного пользователя с принципами использования этого программного обеспечения.
Синхронизация распространения
Большинство действий, связанных с распространением, производится в фазе развертывания; эти действия являются кульминацией процесса разработки программного обеспечения. Успех развертывания, а следовательно, и общий успех разработки определяется готовностью заказчика использовать новое программное обеспечение.
Целью фазы развертывания и технологического процесса распространения является обеспечение плавного перехода пользователя на новое программное обеспечение.
Планирование распространения, как и другие виды деятельности, связанные с планированием, может начинаться на ранних этапах жизненного цикла проекта: можно рассматривать стратегии распространения продукта и подготовки заказчиков, проводить оценку ресурсов, необходимых для сдачи проверенного продукта, и материалов поддержки пользователя. Работа над артефактами распространения, такими как руководства пользователя и обучающие руководства, может начинаться в конце фазы уточнения плана, непосредственно перед вехой архитектуры жизненного цикла, как только будут стабилизированы архитектура и требования.
Исполнители и артефакты
В технологическом процессе распространения обычно участвуют следующие исполнители.
Управляющий распространением планирует и организовывает распространение. Он отвечает за программу обратной связи по вопросам бета-тестирования и обеспечивает надлежащее оформление продукта для отправки заказчику.
Руководитель проекта является основным посредником между заказчиком и разработчиками, отвечает за утверждение распространения (решение принимается на основе результатов тестов и обратной связи) и принятие заказчиком конечного продукта.
Технический редактор создает материалы поддержки конечного пользователя.
Разработчик курса создает обучающие материалы.
Художник отвечает за всю иллюстративную работу.
Испытатель запускает приемочные тесты и отвечает за достаточное тестирование продукта.
Конструктор создает сценарии установки и сопутствующие артефакты, призванные помочь конечному пользователю в установке продукта.
Артефакты распространения
Ключевым артефактом является версия, которая может включать следующее.
Исполняемое программное обеспечение (включается в любом случае)
Артефакты установки: сценарии, инструментальные средства, файлы, руководства, информация по лицензированию
Замечания к версии для конечного пользователя
Материалы поддержки, такие как руководство пользователя и эксплуатационное руководство
Обучающие материалы
В случае архивированного продукта могут потребоваться дополнительные артефакты.
Ведомость материалов (полный перечень объектов, которые должны быть включены в произведенный продукт)
Среды версии (материалы, на которых выпускается продукт, например компакт-диски)
Мастер версии (копии сред версии, выполненные с оригинала)
Оформление продукта (упаковка продукта)
Иллюстративный материал продукта (часть оформления, которая должна снабдить товар торговой маркой и помочь его идентифицировать)
Печатные спецификации (текстовые материалы, сопровождающие продукт)
К артефактам, используемым при распространении продукта, но не обязательно предоставляемым заказчику, относятся следующие.
Результаты тестирования (полученные из тестов в целевых системах и системах организации-разработчика)
Итоги обратной связи (полученные в результате бета-тестирования)
Заключительная оценка тестов
Исполнители и ключевые артефакты процесса распространения представлены на рис. 15.1.
Рис 15.1 Исполнители и ключевые артефакты технологического процесса распространения
Технологический процесс
Диаграмма, приведенная на рис. 15.2, показывает основные виды деятельности, которые необходимы для эффективной передачи программного обеспечения в руки пользователей.
Рис. 15.2 Технологический процесс распространения
Планирование распространения
при планировании распространения следует учитывать не только решения о времени и способах разработки всех комплектующих узлов; кроме того, необходимо обеспечить наличие у конечного пользователя всей необходимой информации для принятия нового программного обеспечения. Для обеспечения плавного перехода планы распространения включают бета-тестирование программы с целью многократной оценки ранних версий разрабатываемого программного обеспечения.
Общее планирование распространения системы требует сотрудничества с заказчиком и тщательной его подготовки. Успешному завершению программного проекта могут воспрепятствовать некие факторы, внешние по отношению к области разработки, такие как изменения основоположной аппаратной инфраструктуры или недостаточная подготовка пользователей к использованию новой системы.
Тестирование продукта в системе разработчика
Тестирование в системе организации-разработчика определяет, готов ли продукт к окончательной сдаче или к передаче бета-тестерам.
Бета-тестирование конструктивно оформленного продукта выполняется посредством опроса значительного числа конечных пользователей и организации обратной связи. В случае системы, устанавливаемой пользователем, бета-тестирование может являться пробной установкой в целевой системе.
Для того чтобы максимально "сблизить" виды деятельности, связанные с тестированием, платформы компьютерной системы организации-разработчика делаются максимально близкими к пользовательской компьютерной системе, поэтому виды деятельности процесса тестирование продукта абсолютно идентичны при тестировании в целевой системе и системе разработчика, за единственным исключением — при тестировании в системе разработчика могут использоваться средства тестирования или симуляторы. При тестировании в целевой системе будет применяться только действительное целевое программное обеспечение.
Создание версии
Целью этого элемента технологического процесса является подготовка продукта к сдаче заказчику. Версия включает все, что понадобится конечному пользователю для установки и запуска исполняемого программного обеспечения.
Бета-тест версии
Бета-тестирование требует установки конечным пользователем предоставленного программного обеспечения. Благодаря этим пользователям впоследствии организовывается обратная связь по вопросам производительности и практичности.
В контексте итеративной разработки бета-тестирование является важным моментом, позволяющим убедиться в удовлетворении заказчика и обеспечить включение в следующую итерацию результатов обратной связи с пользователем.
Тестирование продукта в целевой системе
После успешного прохождения внутреннего тестирования и бета-тестирования продукт должен быть установлен в будущий пункт использования и протестирован заказчиком. Поскольку все предполагаемые тесты уже выполнялись ранее (причем с привлечением заказчиков), тестирование в финальной системе должно пройти без сюрпризов; как привило, это простая формальность для принятия заказчиком системы.
Оформление продукта
Этот набор необязательных видов деятельности описывает, что нужно для создания "конструктивно законченного" продукта. В этом случае версия готовится к массовому производству, запаковывается с ведомостью материалов и поставляется заказчику.
Технологический процесс распространения заботится обо всех артефактах, которые предоставляются конечному пользователю, заказчику или организациям, обеспечивающим организационную поддержку, маркетинг, распространение и продажу продукта.
В технологическом процессе распространения описываются виды деятельности, связанные с бета-тестированием и сдачей устанавливаемого программного обеспечения. Установка может выполняться поставщиком (в случае сложной, распределенной системы) или пользователем (если программное обеспечение распространяется как полностью укомплектованный продукт или через Internet).
Технологический процесс распространения сильно зависит от типа разрабатываемого продукта и от состояния в отрасли производства, поэтому организация, принявшая Rational Unified Process, сама должна определить его вид.