РОССИЙСКАЯ
ФЕДЕРАЦИЯ
МИНИСТЕРСТВО
ОБРАЗОВАНИЯ И НАУКИ
ГОСУДАРСТВЕННОЕ
ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО
ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«ТЮМЕНСКИЙ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
ИНСТИТУТ
ДИСТАНЦИОННОГО ОБРАЗОВАНИЯ
СПЕЦИАЛЬНОСТЬ
«ПРИКЛАДНАЯ ИНФОРМАТИКА В ЭКОНОМИКЕ»
К
У Р С О В
А Я
Р А Б О Т
А
По предмету:
Разработка и стандартизация программных
средств и информационных технологий
Тема: Рациональный
унифицированный процесс. Характеристики
процесса. Фазы, итерации и циклы разработки.
Рабочие процессы.
Выполнил:
Шеремет С. М
Студент _5___
курса
_______4____
семестр
Нягань,
2011
Оглавление
Введение
В
настоящее время широкое применение
получают так называемые промышленные
технологии создания программного продукта.
Эти технологии были разработаны
фирмами, накопившими большой опыт
создания ПО. Технологии представлены
описаниями принципов, методов, применяемых
процессов и операций. Такие технологии,
как правило, поддерживаются набором CASE
– средств (Computer Aided System Engineering), охватывают
все этапы жизненного цикла продукта и
успешно применяются для решения практических
задач. Но развитие технологии разработки
программного обеспечения, методов моделирования,
появление CASE-технологий не решило проблему
определения и формализации требований
к информационным системам, но способствовало
возникновению нескольких основных подходов.
В
настоящее время сложность промышленных
приложений и систем такова, что
процесс их разработки стал практически
неуправляемым. Кроме того, их развертывание
на сотнях компьютеров, расположенных
в разных местах, значительно раздвигает
границы процесса разработки.
Один
человек не способен создать приложение
масштаба предприятия. Ни один разработчик
просто не удержит в голове все
требования к системе и варианты
проекта. Поэтому сегодня разработкой
промышленных систем занимаются проектные
группы, и все обязанности распределяются
среди членов группы.
Для
успешного выполнения ИТ-проекта
недостаточно выбрать эффективные
технологии и средства разработки,
обеспечить необходимый бюджет и
найти квалифицированных разработчиков.
В любой организации существуют
правила и методики, по которым участники
проекта (заказчики, аналитики, разработчики,
тестеры, технические писатели) распределяют
между собой задачи, взаимодействуют друг
с другом, создают проектные артефакты
(спецификации, исходный код, документацию).
Эти правила могут быть четко организованными
или хаотичными, быть формально документированными
или существовать в головах проектной
команды, но в любом случае именно их совокупность
называется процессом разработки.
Процесс
– частный случай более общего
понятия методологии разработки ПО.
Примерами методологий являются структурное
программирование или объектно-ориентированный
анализ и дизайн.
Следовательно,
была выявлена острая необходимость
в эффективных методологиях управления
программными проектами. Они позволяют
максимизировать успешность и эффективность
IT-проектов на протяжении всего жизненного
цикла информационных технологий.
Таким
образом, целью данной курсовой работы
является рассмотрение RUP(Rational Unified Process).
Модель Rational
Unified Process (RUP)
Предназначение
RUP
Rational
Unified Process – это модель создания
программного обеспечения, оформленная
в виде размещаемой на Web базы
знаний, которая снабжена поисковой
системой.
Продукт
Rational Unified Process (RUP) разработан и поддерживается
Rational Software. Он регулярно обновляется с
целью учета передового опыта и улучшается
за счет проверенных на практике результатов.
RUP
обеспечивает строгий подход
к распределению задач и ответственности
внутри организации-разработчика. Его
предназначение заключается в том, чтобы
гарантировать создание точно в срок и
в рамках установленного бюджета качественного
ПО, отвечающего нуждам конечных пользователей.
RUP
способствует повышению производительности
коллективной разработки и предоставляет
лучшее из накопленного опыта по созданию
ПО, посредством руководств, шаблонов
и наставлений по пользованию инструментальными
средствами для всех критически важных
работ, в течение жизненного цикла создания
и сопровождения ПО. Обеспечивая каждому
члену группы доступ к той же самой базе
знаний, вне зависимости от того, разрабатывает
ли он требования, проектирует, выполняет
тестирование или управляет проектом
- RUP гарантирует, что все члены группы
используют общий язык моделирования,
процесс, имеют согласованное видение
того, как создавать ПО. В качестве языка
моделирования в общей базе знаний используется
Unified Modeling Language (UML), являющийся международным
стандартом.
Особенностью
RUP является то, что в результате
работы над проектом создаются и
совершенствуются модели. Вместо создания
громадного количества бумажных документов,
RUP опирается на разработку и развитие
семантически обогащенных моделей, всесторонне
представляющих разрабатываемую систему.
RUP – это руководство по тому, как эффективно
использовать UML. Стандартный язык моделирования,
используемый всеми членами группы, делает
понятным и для всех описания требований,
проектирование и архитектуру системы.
RUP
поддерживается инструментальными
средствами, которые автоматизируют
многие элементы процесса разработки.
Они используются для создания и совершенствования
различных промежуточных продуктов на
различных этапах процесса создания ПО,
например, при визуальном моделировании,
программировании, тестировании и т.д.
RUP
– это конфигурируемый процесс,
поскольку, вполне понятно, что невозможно
создать единого руководства на все случаи
разработки ПО. RUP пригоден как для маленьких
групп разработчиков, так и для больших
организаций, занимающихся созданием
ПО. В основе RUP лежит простая и понятная
архитектура процесса, которая обеспечивает
общность для целого семейства процессов.
Более того, RUP может конфигурироваться
для учета различных ситуаций. В его состав
входит Development Kit, который обеспечивает
поддержку процесса конфигурирования
под нужды конкретных организаций.
RUP
описывает, как эффективно применять
коммерчески обоснованные и практически
опробованные подходы к разработке
ПО для коллективов разработчиков,
где каждый из членов получает
преимущества от использования
передового опыта в:
•
итерационной разработке ПО,
•
управлении требованиями,
•
использовании компонентной архитектуры,
•
визуальном моделировании,
•
тестировании качества ПО,
•
контроле за изменениями в ПО.
RUP
организует работу над проектом
в терминах последовательности
действий (workflows), продуктов деятельности,
исполнителей и других статических аспектов
процесса с одной стороны, и в терминах
циклов, фаз, итераций и временных отметок
завершения определенных этапов в создании
ПО (milestones), т.е. в терминах динамических
аспектов процесса, с другой [5].
Жизненный
цикл RUP
Модель жизненного
цикла RUP является довольно сложной,
детально проработанной итеративно –
инкрементной моделью с элементами каскадной
модели. В модели RUP выделяются 4 основные
фазы, 9 видов деятельности (процессов).
Кроме того, в модели описывается ряд практик,
которые следует применять или руководствоваться
для успешного выполнения проекта. RUP ориентирован
на поэтапное моделирование создаваемого
продукта с помощью языка UML (Рис.5).
Рис.5.
Жизненный цикл RUP
Основными
фазами RUP являются:
- Фаза
начала проекта (Inception). Определяются
основные цели проекта, бюджет проекта,
основные средства его выполнения – технологии,
инструменты, ключевой персонал, составляются
предварительные планы проекта. Основная
цель этой фазы – достичь компромисса
между всеми заинтересованными лицами
относительно задач проекта.
- Фаза
проработки (Elaboration). Основная цель этой
фазы – на базе основных, наиболее существенных
требований разработать стабильную базовую
архитектуру продукта, которая позволяет
решать поставленные перед системой задачи
и в дальнейшем используются как основа
разработки системы.
- Фаза
построения (Construction). Основная цель этой
фазы – детальное прояснение требований
и разработка системы, удовлетворяющей
им, на основе спроектированной ранее
архитектуры.
- Фаза
передачи (Transition). Цель фазы – сделать
систему полностью доступной конечным
пользователям. Здесь происходит окончательное
развертывание системы в ее рабочей среде,
подгонка мелких деталей под нужды пользователей.
В
рамках каждой фазы возможно проведение
нескольких итераций, количество которых
определяется сложностью выполняемого
проекта.
Деятельности
(основные процессы) RUP делятся на 5 рабочих
и 4 поддерживающие. К рабочим деятельностям
относятся:
- Моделирование
предметной области (бизнес – моделирование,
Business Modeling). Цели этой деятельности – понять
бизнес – контекст, в котором должна будет
работать система (и убедиться, что все
заинтересованные лица понимают их одинаково),
понять возможные проблемы, оценить возможные
их решения и их последствия для бизнеса
организации, в которой будет работать
система.
- Определение
требований (Requirements). Цели – понять,
что должна делать система, определить
границы системы и основу для планирования
проекта и оценок ресурсозатрат в нем.
- Анализ
и проектирование (Analysis
and Design). Выработка архитектуры системы
на основе ключевых требований, создание
проектной модели, представленной в виде
диаграмм UML, описывающих продукт с различных
точек зрения.
- Реализация
(Implementation). Разработка исходного кода,
компонент системы, тестирование и интегрирование
компонент.
- Тестирование
(Test). Общая оценка дефектов продукта,
его качество в целом; оценка степени соответствия
исходным требованиям.
Поддерживающими
деятельностями являются:
- Развертывание
(Deployment). Цели – развернуть систему в
ее рабочем окружении и оценить ее работоспособность.
- Управление
конфигурациями (Configuration and Change Management).
Определение элементов, подлежащих хранению
и правил построения из них согласованных
конфигураций, поддержание целостности
текущего состояния системы, проверка
согласованности вносимых изменений.
- Управление
проектом (Project Management). Включает планирование,
управление персоналом, обеспечения связей
с другими заинтересованными лицами, управление
рисками, отслеживание текущего состояния
проекта.
- Управление
средой проекта (Environment). Настройка процесса
под конкретный проект, выбор и смена технологий
и инструментов, используемых в проекте.
Методология
RUP
Безусловно,
RUP - итеративная методология. Хотя выполнение
всех фаз или какого-то минимального
числа итераций нигде в RUP не оговаривается,
весь подход ориентирован на то, что
их достаточно много. Только при этом
можно настроить процесс для
последующих итераций, основываясь
на результатах начальных. Ограниченное
количество итераций не позволяет использовать
в полной мере все преимущества RUP. Вместе
с тем, RUP можно использовать и в "практически
каскадных" проектах, включающих реально
всего пару итераций: одну в фазе Построение
и одну в фазе Передача. Именно такое количество
итераций, как правило, реально используется
в каскадных проектах. Ведь проведение
испытаний и опытной эксплуатации системы
предполагает внесение исправлений, которые
могут предполагать определенные действия,
связанные с анализом, проектированием
и разработкой, то есть фактически являются
еще одним проходом через все фазы разработки.