|
Раздел 5. Технология создания программного обеспечения. Rational Unified Process (RUP) ⇐ ПредыдущаяСтр 6 из 6 Технология создания ПО (ТС ПО) – это упорядоченная совокупность взаимосвязанных технологических процессов в рамках ЖЦ ПО. Технологический процесс – это совокупность взаимосвязанных технологических операций. Технологическая операция – это основная единица работы, выполняемая определенной ролью, которая: 1 подразумевает четко определенную ответственность роли; 2 дает четко определенный результат (набор рабочих продуктов), базирующийся на определенных исходных данных (другом наборе рабочих продуктов); 3 представляет собой единицу работы с жестко определенными границами, которые устанавливаются при планировании проекта. Рабочий продукт – информационная или материальная сущность, которая создается, модифицируется или используется в некоторой технологической операции (модель, документ, код, тест и т.п.). Роль – определение поведения и обязанностей отдельного лица или группы лиц в среде организации-разработчика ПО, осуществляющих деятельность в рамках некоторого технологического процесса и ответственных за определенные рабочие продукты. Руководство – практическое руководство по выполнению одной или совокупности технологических операций. Руководства включают методические материалы, инструкции, нормативы, стандарты и критерии оценки качества рабочих продуктов. Инструментальное средство (CASE-средство) – программное средство, обеспечивающее автоматизированную поддержку деятельности, выполняемой в рамках технологических операций. Основным требованием, предъявляемым к современным ТС ПО, является их соответствие стандартам жизненного цикла (ЖЦ) ПО и оценкой технологической зрелости организаций-разработчиков (ISO 12207, ISO 9000, CMM и др.). Согласно этим нормативам, ТС ПО должна поддерживать следующие процессы ЖЦ: 1 управление требованиями; 2 анализ и проектирование ПО; 3 разработка ПО; 4 эксплуатация; 5 сопровождение; 6 документирование; 7 управление конфигурацией и изменениями; 8 тестирование; 9 управление проектом. Полнота поддержки процессов ЖЦ ПО должна поддерживаться комплексом инструментальных средств (CASE-средств). В качестве примера ТС ПО рассмотрим Rational Unified Process (RUP). RUP в значительной степени соответствует указанным выше требованиям. Ее основными принципами являются: 1. Итерационный и инкрементный (наращиваемый) подход к созданию ПО. 2. Планирование и управление проектом на основе вариантов использования. 3. Построение системы на базе архитектуры ПО. На рисунке показано общее представление RUP в двух измерениях: 1 горизонтальное измерение представляет время, отражает динамические аспекты процессов и оперирует такими понятиями, как стадии, итерации и контрольные точки; 2 вертикальное измерение отражает статические аспекты процессов и оперирует такими понятиями, как виды деятельности, рабочие продукты, исполнители и дисциплины. Динамический аспект Согласно технологии RUP, ЖЦ ПО разбивается на отдельные циклы, в каждом из которых создается новое поколение продукта. Каждый цикл, в свою очередь, разбивается на четыре последовательные стадии: начальная стадия (inception); стадия разработки (elaboration); стадия конструирования (construction); стадия ввода в действие (transition). Каждая стадия завершается в четко определенной контрольной точке (milestone). В этот момент времени должны достигаться важные результаты и приниматься критически важные решения о дальнейшей разработке. Первыми двумя стадиями являются начальная стадия проекта и разработка. Во время начальной стадии вырабатывается бизнес-план проекта, определяется, сколько приблизительно он будет стоить и какой доход принесет. Определяются также границы проекта, и выполняется некоторый начальный анализ для оценки размеров проекта. Результатами начальной стадии являются: 1 общее описание системы: основные требования к проекту, его характеристики и ограничения; 2 начальная модель вариантов использования (степень готовности - 10-20%); 3 начальный проектный глоссарий (словарь терминов); 4 начальный бизнес-план; 5 план проекта, отражающий стадии и итерации; 6 один или несколько прототипов. Рис. Общее представление RUP На стадии разработки выявляются более детальные требования к системе, выполняется высокоуровневый анализ предметной области и проектирование для построения базовой архитектуры системы, создается план конструирования и устраняются наиболее рискованные элементы проекта. Результатами стадии разработки являются: 1 модель вариантов использования (завершенная по крайней мере на 80%), определяющая функциональные требования к системе; 2 перечень дополнительных требований, включая требования нефункционального характера и требования, не связанные с конкретными вариантами использования; 3 описание базовой архитектуры будущей системы; 4 работающий прототип; 5 уточненный бизнес-план; 6 план разработки всего проекта, отражающий итерации и критерии оценки для каждой итерации. Стадия разработки занимает около пятой части общей продолжительности проекта. RUP представляет собой итерационный и пошаговый процесс разработки, в котором программное обеспечение разрабатывается и реализуется по частям. На стадии конструирования построение системы выполняется путем серии итераций. Каждая итерация является своего рода мини-проектом. На каждой итерации для конкретных вариантов использования выполняются анализ, проектирование, кодирование, тестирование и интеграция. Итерация завершается демонстрацией результатов пользователям и выполнением системных тестов с целью контроля корректности реализации вариантов использования. При итеративной разработке на каждой итерации выполняется весь процесс, что позволяет оперативно справляться со всеми возникающими проблемами. Итерации на стадии конструирования являются одновременно инкрементными и повторяющимися. В конце каждой итерации должна выполняться полная интеграция. С другой стороны, интеграция может и должна выполняться еще чаще. Приложения следует интегрировать после выполнения каждой сколько-нибудь значительной части работы. Во время каждой интеграции должен выполняться полный набор тестов. Главная особенность итерационной разработки заключается в том, что она жестко ограничена временными рамками, и сдвигать сроки недопустимо. Смысл таких ограничений – поддерживать строгую дисциплину разработки и не допускать переноса сроков. Результатом стадии конструирования является продукт, готовый к передаче конечным пользователям. Как минимум, он содержит следующее: 1 ПО, интегрированное на требуемых платформах; 2 руководства пользователя; 3 описание текущей реализации. Назначением стадии ввода в действие является передача готового продукта в распоряжение пользователей. Данная стадия включает: 1 бета-тестирование, позволяющее убедиться, что новая система соответствует ожиданиям пользователей; 2 параллельное функционирование с существующей (legacy) системой, которая подлежит постепенной замене; 3 конвертирование баз данных; 4 оптимизацию производительности; 5 обучение пользователей и специалистов службы сопровождения. На стадии ввода в действие продукт не дополняется никакой новой функциональностью (кроме самой минимальной и абсолютно необходимой). Здесь только вылавливаются ошибки. Хорошим примером для стадии ввода в действие может служить период времени между выпуском бета-версии и окончательной версии продукта. Статический аспект Статический аспект RUP представлен четырьмя основными элементами: 1 роли; 2 виды деятельности; 3 рабочие продукты; 4 дисциплины. Понятие «роль» (role) определяет поведение и ответственность личности или группы личностей, составляющих проектную команду. Одна личность может играть в проекте много различных ролей. Под видом деятельности конкретного исполнителя понимается единица выполняемой им работы. Вид деятельности (activity) соответствует понятию технологической операции. Дисциплина (discipline) соответствует понятию технологического процесса и представляет собой последовательность действий, приводящую к получению значимого результата. В рамках RUP определены шесть основных дисциплин: 1 построение бизнес-моделей; 2 определение требований; 3 анализ и проектирование; 4 реализация; 5 тестирование; 6 развертывание; и три вспомогательных: 1 управление конфигурацией и изменениями; 2 управление проектом; 3 создание инфраструктуры. Содержание основных дисциплин мы рассмотрели на предыдущих лекциях. RUP опирается на интегрированный комплекс инструментальных средств Rational Suite, обеспечивающий поддержку полного жизненного цикла ПО. В состав Rational Suite, кроме самой технологии RUP как продукта, входят следующие компоненты: 1. Rational Rose - средство визуального моделирования (анализа и проектирования); 2. Rational XDE - средство анализа и проектирования, интегрируемое с платформами MS Visual Studio.NET и IBM WebSphere Studio Application Developer; 3. Rational Requisite Pro - средство управления требованиями, предназначенное для организации совместной работы группы разработчиков; 4. Rational Rapid Developer - средство быстрой разработки приложений на платформе Java 2 Enterprise Edition; 5. Rational ClearCase - средство управления конфигурацией ПО; 6. Rational SoDA - средство автоматической генерации проектной документации; 7. Rational ClearQuest - средство для управления изменениями и отслеживания дефектов в проекте на основе средств e-mail и Web; 8. Rational Quantify - средство количественного определения узких мест, влияющих на общую эффективность работы программы; 9. Rational Purify - средство для локализации трудно обнаруживаемых ошибок времени выполнения программы; 10. Rational PureCoverage - средство идентификации участков кода, пропущенных при тестировании; 11. Rational TestManager - средство планирования функционального и нагрузочного тестирования; 12. Rational Robot - средство записи и воспроизведения тестовых сценариев; 13. Rational TestFactory - средство тестирования надежности; 14. Rational Quality Architect - средство генерации кода для тестирования. Литература к разделу 5 1. Вендров А. М. Проектирование программного обеспечения экономических информационных систем. 2-е изд. – М.: Финансы и статистика, 2005. – Глава 5. 2. Кратчен Ф. Введение в Rational Unified Process. 2-е изд.: Пер. с англ. – М.: Вильямс, 2002. 3. Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки программного обеспечения.: Пер. с англ. – СПб.: Питер, 2002. Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... Что делает отдел по эксплуатации и сопровождению ИС? Отвечает за сохранность данных (расписания копирования, копирование и пр.)... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|