
- •Архитектуры баз данных. Преимущества и недостатки
- •Реляционные базы данных, основные понятия.
- •Понятия и терминология, связанные с таблицей реляционной базы данных
- •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
Статическая структура описания rup. Понятия исполнителей и артефактов. Основные технологические процессы.
Модель Rational Unified Process
Четыре базовых постулата моделирования.
Исполнители: кто
Виды деятельности: как
Артефакты: что
Технологические процессы: когда
Первые три элемента изображены на рис. 3.1, а на рис. 3.5 показан технологический процесс.
Исполнители (в RUP 2001 — роли)
Основным понятием процесса является исполнитель. Исполнитель определяет поведение и обязанности отдельных лиц или групп, работающих в одной команде. Поведение выражается через виды деятельности, производимые исполнителями, причем каждый исполнитель соотносится с рядом связанных видов деятельности. В данном контексте "связанных" означает, что все эти действия рекомендуется выполнять одному человеку. Обязанности каждого исполнителя обычно выражаются по отношению к определенным артефактам, создаваемым, изменяемым или управляемым исполнителем.
Об исполнителе можно думать как о некоторой "шляпе", которую человек может одевать во время проекта. Смысл аналогии заключается а том, что каждый человек может надеть несколько шляп. Это важно, поскольку в повседневной жизни исполнителем принято считать отдельное лицо или команду, а и Rational Unified Process термин исполнитель относится к ролям, определяющим, как должна выполняться работа. Исполнитель играет одну или несколько ролей и является владельцем множества артефактов. Об исполнителе можно думать и как о партии в спектакле — партии, которая может исполняться множеством актеров. Приведем несколько примеров исполнителей.
Системный аналитик
Лицо, действующее как системный аналитик, направляет и координирует процессы определения требований и моделирования прецедентов. Для этого очерчиваются функциональные возможности системы и определяются границы системы.
Разработчик
Лицо, действующее как разработчик, определяет обязанности, операции, атрибуты одного или нескольких классов и взаимоотношения между классами. Кроме того, разработчик определяет способы их адаптации к среде реализации.
Разработчик тестов
Лицо, действующее как разработчик тестов, отвечает за планирование, проектирование, реализацию и оценку тестов, в том числе за создание плана и модели тестирования, реализацию методик испытаний и оценку тестового покрытия, его результатов и эффективности.
Отметим, что исполнители – это не физические лица; исполнители – это описание обязанностей физических лиц и того, как они должны действовать. Возвращаясь к приведенной ранее аналогии, можно сказать, что сотрудники организации-разработчика надевают различные шляпы или исполняют различные партии или роли. Соответствие между сотрудником и исполнителем устанавливает руководитель проекта на стадии планирования и обеспечения проекта кадрами. Это соответствие позволяет сотруднику действовать как несколько исполнителей, а также назначать на роль исполнителя нескольких сотрудников.
Исполнители процесса обычно называются с использованием слова "исполнитель", например Исполнитель: испытатель интеграции.
Виды деятельности
С исполнителями связаны конкретные виды деятельности, которые определяют работу, выполняемую исполнителем. Вид деятельности – это часть работы, выполнение которой может потребоваться от сотрудника, играющего некоторую роль, причем результат этой работы является значимым и контексте проекта. Вид деятельности имеет ясную цель, которая выражается, как правило, в создании или обновлении артефактов, таких как модель, класс или план. Каждый вид деятельности соотносится с определенным исполнителем.
Продолжительность вида деятельности колеблется от нескольких часов до нескольких дней. Как правило, в каждом виде деятельности задействован один исполнитель и затрагивается один два артефакта. Вид деятельности должен быть таким, чтобы его можно было использовать в качестве элемента планирования и развития; при слишком маленьком виде деятельности им можно будет пренебречь, а при слишком большом развитие придется выражать через части вида деятельности.
Виды деятельности могут повторно производиться над одними и теми же артефактами, особенно при совершенствовании и развитии системы в течение нескольких итераций. Повторяемые виды деятельности могут выполняться тем же исполнителем, по не обязательно тем же сотрудником.
Согласно объектно-ориентированной терминологии исполнитель – это активный объект, а производимые им виды деятельности – это операции, выполняемые объектом. Приведем несколько примеров видов деятельности.
Планирование, итерации. Выполняет Исполнитель: руководитель проекта.
Поиск прецедентов и акторов. Выполняет Исполнитель: системный аналитик,
Рецензирование проекта. Выполняет Исполнитель: рецензент проекта.
Проведение эксплуатационных испытаний. Выполняет Исполнитель: испытатель производительности.
Виды деятельности обычно называются с использованием слова "вид деятельности", например Вид деятельности: поиск прецедентов и акторов. Обзор всех видов деятельности Rational Unified Process дается в главах с 7 по 15.
Этапы видов деятельности
Виды деятельности разбиты на этапы, которые можно разделить на три основные категории,
Этапы, размышления
Исполнитель понимает характер задания, собирает и исследует исходные артефакты, определяет результирующие артефакты.
Этапы произведения
Исполнитель создает или модернизирует некоторые артефакты.
Этапы рецензирования
На основании некоторых критериев исполнитель проверяет результаты.
При произведении видов деятельности не все этапы являются обязательными, поэтому они могут выражаться в форме альтернативных технологических процессов. Например, Вид деятельности: поиск, прецедентов и акторов проходит в семь этапов.
Найти акторов.
Найти прецеденты.
Описать способы взаимодействия акторов и прецедентов.
Сопоставить актеров и прецеденты.
Представить модель прецедентов на диаграммах прецедентов.
Разработать отчет об использовании модели прецедентов.
Оценить результаты.
Поисковая часть вида деятельности (этапы 1-3) требует некоторого размышления; производящая часть (этапы 4-6) включает фиксацию результатов на модели прецедентов; обзорная часть (этап 7) требует от исполнителя оценки результатов в целях определении полноты, устойчивости, доступности или других показателей качества.
Артефакты
Виды деятельности имеют исходные и результирующие артефакты. Артефакт – это "порция" информации, порождаемая, модифицируемая или используемая процессом. Артефакты— это вещественные продукты проекта.: объекты, порождаемые или используемые проектом при работе над окончательным продуктом. Исполнителями видов деятельности артефакты используются как исходная информация и являются результатом или выходом этих видов деятельности. Согласно объектно-ориентированной проектной терминологии, где виды деятельности – это операции над активным объектом (исполнителем), артефакты — это параметры данных действий.
Артефактами могут быть:
модель, такая как модель прецедентов или модель проектирования;
элемент модели (элемент в рамках модели), такой как класс, прецедент или подсистема;
документ, такой как бизнес-план или документ архитектуры программного обеспечения;
исходный код;
исполняемые программы.
Отметим, что артефакт – это термин, используемый в Rational Unified Process (примеры нескольких основных артефактов Rational Unified Process приведены на рис. 3.3). Другие процессы для обозначения того же понятия используют термины результат работы, рабочий блоки т.п. Отметим также, что комплектующие узлы, поступающие в руки конечных пользователей, — это только подклассы всех артефактов.
Рис 3.3 Основные артефакты Rational Unified Process
Артефакты могут быть составляющими других артефактов. Например, модель проектирования содержит множественные классы; план разработки программного обеспечения включает несколько других планов: план кадрового обеспечения, план фаз, план метрик, планы итераций и т.д.
Артефакты довольно часто требуют управления их версиями и конфигурацией. Элементарные артефакты иногда бывает невозможно подчинить этой процедуре, поэтому приходится управлять версиями составного артефакта. Например, можно управлять версиями всей модели проектирования или пакетом проектирования (но не отдельными классами и их составляющими).
Как правили, артефакты – это не документы. Многие процессы акцентируют внимание на документах, в частности печатных документах. Rational Unified Process не одобряет планомерное создание печатных документов. Самым эффективным и практичным подходом к управлению артефактами проекта является поддержка артефактов в пределах соответствующих инструментальных средств, используемых для создания артефактов и управления ими. При необходимости эти средства позволяют мгновенно создавать нужные документы (снимки процесса).
Артефакты, поставляемые заинтересованным сторонам, также нужно рассматривать не па бумаге, л неразрывно с инструментальными средствами. Такой подход гарантирует "свежую'' информацию и то, что она будет основываться на действительной проектной работе и ее получение не будет требовать дополнительной работы.
Приведем примеры артефактов.
Проектная модель, сохраненная в Rational Rose
План проекта, сохраненный в Microsoft Project
Дефект, сохраненный is ClearQuest
База данных требований проекта в Requisite Pro
В то же время определенные артефакты должны быть простыми текстовыми документами, как, например, в случае поставки информации извне проекта. Кроме того, обычный текст – это иногда лучшее средство представления описательной информация.
За артефакты отвечает один исполнитель; это является развитием того, что за каждую "порцию" информации должно отвечать конкретное лицо. Несмотря на то что "владеть" артефактом может только одно лицо, использовать его могут многие люди, которые, при наличии соответствующего разрешения, могут даже модернизировать этот артефакт.
Артефакты называются с использованием слова "артефакт", например Артефакт: архив прецедентов.
Отчеты
Модели и элементы моделей могут сопровождаться отчетами. Отчет извлекает информацию о модели и элементах модели из инструментальных средств. Например, отчет предоставляет артефакт или множество артефактов для рецензирования. В отличие от обычных артефактов, отчеты не нуждаются в управлении версиями: их можно воспроизводить в любое время. Для этого нужно всего лишь вернуться к породившим их артефактам.
Множества артефактов
Артефакты Rational Unified Process сгруппированы в пять информационных множеств.
Множество управления
Множество требований
Множество проектирования
Множество реализации
Множество распространения
Множество управления объединяет артефакты, относящиеся к управлению проектом и сфере программного обеспечения.
Артефакты планирования, такие как план разработки программного обеспечения (software development plan — SDP), бизнес-план, действительный экземпляр процесса, используемый в проекте (план разработки) и т. д.
Операционные артефакты, такие как описание версии, оценка состояния, документация по распространению и информация о дефектах
Множество требований включает артефакты, связанные с определением разрабатываемой программной системы.
Документ видения
Требования в форме запросов заинтересованных сторон, модели прецедентов и дополнительных спецификаций
Модель производства, если она нужна для понимания процессов, поддерживаемых системой
Множество проектировании содержит описание создаваемой (или созданной) системы в форме:
модели проектирования;
описания архитектуры;
модели тестирования.
Множество реализации включает следующее.
Исходный код и исполняемые программы
Сопутствующие информационные файлы или файлы, необходимые для ихполучения
Множество распространения содержит всю поясняющую информацию.
Материалы по установке
Пользовательскую документацию
Обучающие материалы
Артефакты не являются чем-то завершенным или хотя бы зафиксированным в одной фазе итеративного процесса разработки до перехода к следующей фазе. Напротив, за время жизненного цикла разработки пять информационных множеств и эволюционируют, они растут, как показано на рис. 3.4. Все артефакты, определенные в Rational Unified Process для всех технологических процессов, перечислены в приложении Б.
Рис 3.4 Рост информационных множеств
Технологические процессы
Простое перечисление всех исполнителей, видов деятельности и артефактов — это еще не процесс. Помимо этого, требуется описание значимых последовательностей видов деятельности, лающих некоторый полезный результат, и отображение взаимодействий между исполнителями. Технологический процесс – это последовательность шагов деятельности, дающих результат с очевидным значением. В терминах языка UML технологический процесс можно выразить как диаграмму последовательностей, диаграмму взаимодействия или диаграмму видов деятельности. В данной книге использована форма диаграмм видов деятельности. На рис, 3.5 приведен пример технологического процесса3.
Отметим, что представить все отношения между видами деятельности не всегда представляется возможным или целесообразным. Довольно часто два вида деятельности переплетены теснее, чем показано на диаграмме, особенно если связаны с одним лицом или исполнителем. Люди – это не машины, и технологический процесс нельзя рассматривать буквально как программу, которой люди должны слепо придерживаться.
Существует множество способов, позволяющих задать структуру с разбитием большого числа видов деятельности на отдельные технологические процессы. В структуре Rational Unified Process использованы:
основные технологические процессы;
элементы технологических процессов;
планы итераций.
Основные технологические процессы
В Rational Unified Process существует девять основных технологических процессов, которые представляют собой логическое разбиение всех исполнителей и видов деятельности но группы: области интересов или дисциплины (рис. 3,5). Основные технологические процессы делятся на шесть основных технических процессов и три основных процесса поддержки,
Техническими процессами являются
Процесс моделирования производства;
Процесс управления требованиями;
Процесс анализа и проектирования;
Процесс реализации:
Процесс тестирования;
Процесс распространения.
основные технологические процессы – это классы технологических процессов, к которым принадлежат многочисленные экземпляры технологических процессов
Рис. 3.6 Девять основных технологических процессов
Тремя основными процессами поддержки являются
Процесс управления проектом;
Процесс управления конфигурацией и требованиями;
Процесс управления средой.
Хотя названия шести основных технических процессов и могут совпадать с названиями фаз традиционного водопадного процесса, в главе 4 будет показано, что данный процесс имеет несколько иные фазы и что но время жизненного цикла указанные технологические процессы постоянно перерабатываются. В реальном, полном технологическом процессе проекта указанные девять основных процессов чередуются и повторяются при каждой итерации с различными акцентами и уровнями глубины. Подробнее об основных технологических процессах рассказывается в главах 7-15.
Элементы технологических процессов
Каждый из основных технологических процессов является достаточно объемным. Для расчленения этих процессов в Rational Unified Process используются элементы технологических процессов, выражающие определенные группы тесно связанных действий. Например, виды деятельности, совместно выполняемые или циклически повторяемые; виды деятельности, производимые группой людей, работающих в одной секции; виды деятельности, дающие интересный промежуточный результат. С помощью информационных потоков элементов технологических процессов (артефактов, являющихся исходными или результирующими объектами видов деятельности) показывается, как виды деятельности взаимодействуют но среди различных артефактов.
Модель Rational Unified Process основана на трех основных элементах: испол нителях, видах деятельности и артефактах.
Технологические процессы связывают виды деятельности и исполнители для получения значимого результата.
Директивы, шаблоны и инструментальные наставники дополняют описание процесса путем предоставления исполнителю подробного руководства.
Rational Unified Process— это контур процесса, организация которого позволяет настроить статическую структуру процесса.
Исполнители (в RUP 2001 — роли)
Основным понятием процесса является исполнитель. Исполнитель определяет поведение и обязанности отдельных лиц или групп, работающих в одной команде. Поведение выражается через виды деятельности, производимые исполнителями, причем каждый исполнитель соотносится с рядом связанных видов деятельности. В данном контексте "связанных" означает, что все эти действия рекомендуется выполнять одному человеку. Обязанности каждого исполнителя обычно выражаются по отношению к определенным артефактам, создаваемым, изменяемым или управляемым исполнителем.
Об исполнителе можно думать как о некоторой "шляпе", которую человек может одевать во время проекта. Смысл аналогии заключается а том, что каждый человек может надеть несколько шляп. Это важно, поскольку в повседневной жизни исполнителем принято считать отдельное лицо или команду, а и Rational Unified Process термин исполнитель относится к ролям, определяющим, как должна выполняться работа. Исполнитель играет одну или несколько ролей и является владельцем множества артефактов. Об исполнителе можно думать и как о партии в спектакле — партии, которая может исполняться множеством актеров. Приведем несколько примеров исполнителей.
Системный аналитик
Лицо, действующее как системный аналитик, направляет и координирует процессы определения требований и моделирования прецедентов. Для этого очерчиваются функциональные возможности системы и определяются границы системы.
Разработчик
Лицо, действующее как разработчик, определяет обязанности, операции, атрибуты одного или нескольких классов и взаимоотношения между классами. Кроме того, разработчик определяет способы их адаптации к среде реализации.
Разработчик тестов
Лицо, действующее как разработчик тестов, отвечает за планирование, проектирование, реализацию и оценку тестов, в том числе за создание плана и модели тестирования, реализацию методик испытаний и оценку тестового покрытия, его результатов и эффективности.
Отметим, что исполнители – это не физические лица; исполнители – это описание обязанностей физических лиц и того, как они должны действовать. Возвращаясь к приведенной ранее аналогии, можно сказать, что сотрудники организации-разработчика надевают различные шляпы или исполняют различные партии или роли. Соответствие между сотрудником и исполнителем устанавливает руководитель проекта на стадии планирования и обеспечения проекта кадрами. Это соответствие позволяет сотруднику действовать как несколько исполнителей, а также назначать на роль исполнителя нескольких сотрудников.
Исполнители процесса обычно называются с использованием слова "исполнитель", например Исполнитель: испытатель интеграции.
Виды деятельности
С исполнителями связаны конкретные виды деятельности, которые определяют работу, выполняемую исполнителем. Вид деятельности – это часть работы, выполнение которой может потребоваться от сотрудника, играющего некоторую роль, причем результат этой работы является значимым и контексте проекта. Вид деятельности имеет ясную цель, которая выражается, как правило, в создании или обновлении артефактов, таких как модель, класс или план. Каждый вид деятельности соотносится с определенным исполнителем.
Продолжительность вида деятельности колеблется от нескольких часов до нескольких дней. Как правило, в каждом виде деятельности задействован один исполнитель и затрагивается один два артефакта. Вид деятельности должен быть таким, чтобы его можно было использовать в качестве элемента планирования и развития; при слишком маленьком виде деятельности им можно будет пренебречь, а при слишком большом развитие придется выражать через части вида деятельности.
Виды деятельности могут повторно производиться над одними и теми же артефактами, особенно при совершенствовании и развитии системы в течение нескольких итераций. Повторяемые виды деятельности могут выполняться тем же исполнителем, по не обязательно тем же сотрудником.
Согласно объектно-ориентированной терминологии исполнитель – это активный объект, а производимые им виды деятельности – это операции, выполняемые объектом. Приведем несколько примеров видов деятельности.
Планирование, итерации. Выполняет Исполнитель: руководитель проекта.
Поиск прецедентов и акторов. Выполняет Исполнитель: системный аналитик,
Рецензирование проекта. Выполняет Исполнитель: рецензент проекта.
Проведение эксплуатационных испытаний. Выполняет Исполнитель: испытатель производительности.
Виды деятельности обычно называются с использованием слова "вид деятельности", например Вид деятельности: поиск прецедентов и акторов. Обзор всех видов деятельности Rational Unified Process дается в главах с 7 по 15.
Этапы видов деятельности
Виды деятельности разбиты на этапы, которые можно разделить на три основные категории,
Этапы, размышления
Исполнитель понимает характер задания, собирает и исследует исходные артефакты, определяет результирующие артефакты.
Этапы произведения
Исполнитель создает или модернизирует некоторые артефакты.
Этапы рецензирования
На основании некоторых критериев исполнитель проверяет результаты.
При произведении видов деятельности не все этапы являются обязательными, поэтому они могут выражаться в форме альтернативных технологических процессов. Например, Вид деятельности: поиск, прецедентов и акторов проходит в семь этапов.
Найти акторов.
Найти прецеденты.
Описать способы взаимодействия акторов и прецедентов.
Сопоставить актеров и прецеденты.
Представить модель прецедентов на диаграммах прецедентов.
Разработать отчет об использовании модели прецедентов.
Оценить результаты.
Поисковая часть вида деятельности (этапы 1-3) требует некоторого размышления; производящая часть (этапы 4-6) включает фиксацию результатов на модели прецедентов; обзорная часть (этап 7) требует от исполнителя оценки результатов в целях определении полноты, устойчивости, доступности или других показателей качества.
Технологический процесс – это последовательность шагов деятельности, дающих результат с очевидным значением.
Основные технологические процессы
В Rational Unified Process существует девять основных технологических процессов, которые представляют собой логическое разбиение всех исполнителей и видов деятельности на группы: области интересов или дисциплины.
Технологический процесс управления проектом
Технологический процесс моделирования производства
Технологический процесс управления требованиями
Технологический процесс анализа и проектирования
Технологический процесс реализации
Технологический процесс тестирования
Технологический процесс управления конфигурацией и изменениями
Технологический процесс управления средой
Технологический процесс распространения
Основные технологические процессы делятся на шесть основных технических процессов и три основных процесса поддержки,
Техническими процессами являются
Процесс моделирования производства;
Процесс управления требованиями;
Процесс анализа и проектирования;
Процесс реализации:
Процесс тестирования;
Процесс распространения.
Тремя основными процессами поддержки являются
Процесс управления проектом;
Процесс управления конфигурацией и требованиями;
Процесс управления средой.