2) Модели разработки - Часть 2
Primary tabs
Forums:
[первая часть лекции]
далее вторая часть лекции "модели разработки" по ТП ФКН ВГУ
- Log in to post comments
- 6737 reads
[первая часть лекции]
далее вторая часть лекции "модели разработки" по ТП ФКН ВГУ
vedro-compota
Tue, 01/24/2012 - 21:17
Permalink
2-я часть
Распределение объемов работ (рабочие потоки каждой итерации - изображение)
схема =
подробнее о стадиях (этапах)читайте ниже
1) Этап начала проекта (Inception) = начальная стадия
Основная цель этой этапа — достичь компромисса между всеми заинтересованными лицами относительно задач проекта и выделяемых на него ресурсов
Определяются основные цели проекта, руководитель и бюджет, основные средства выполнения — технологии, инструменты, ключевые исполнители
Этап Inception может занимать около 10% времени и 5% трудоемкости одного цикла
Ход работ для этапа Inception на схеме=
2) Этап развития (Elaboration) = стадия Уточнения
(соответствует "стадии уточнения" на схеме по распределению объёмов работ выше)
Основная цель данного этапа — исходя из основных требований разработать стабильную базовую архитектуру продукта
Эта архитектура в дальнейшем используется как основа разработки системы
На этап проектирования может уходить около 30% времени и 20% трудоемкости одного цикл
Ход работ для этапа Elaboration на схеме =
3) Этап конструирования (Construction) = стадия Конструирования
Основная цель данного этапа — детальное прояснение требований и разработка системы, удовлетворяющей им, на основе спроектированной ранее архитектуры
В результате должна получиться система, реализующая все выделенные варианты использования
На этот этап уходит около 50% времени и 65% трудоемкости одного цикла
Ход работ для этапа(стадия) Конструирование Construction на схеме =
4) Этап перехода (Transition) = стадия Внедрения
Цель данного этапа — сделать систему полностью доступной конечным пользователям
Здесь происходит развертывание системы в ее рабочей среде, бета-тестирование, подгонка мелких деталей под нужды пользователей.
На этап внедрения может уходить около 10% времени и 10% трудоемкости одного цикла
Ход работ для этапа(стадия) Transition представлен на схеме =
============
Артефакты рабочего потока
Каждый рабочий поток определяет набор связанных с ним артефактов
Артефакты, вырабатываемые в ходе проекта, могут быть представлены:
Зависимости между артефактами представлены на схеме =
Модели RUP
Наиболее важные с точки зрения RUP артефакты проекта — это модели, описывающие различные аспекты будущей системы и представляемые наборами диаграмм UML
Виды моделей
Основными являются следующие виды моделей:
Модель вариантов использования
Определяет требования к ПО в виде набора вариантов использования
Каждый вариант использования задает набор сценариев (основной и альтернативные) взаимодействия системы с действующими лицами или ролями, дающий в итоге значимый для них результат
Модель вариантов использования служит основой для проектирования и оценки готовности системы к внедрению
Модель анализа
Включает основные классы, необходимые для реализации выделенных вариантов использования, а также возможные связи между классами
Выделяемые классы разбиваются на три разновидности:
В рамках других подходов модель анализа часто называется концептуальной моделью системы
Она состоит из набора классов, совместно реализующих все варианты использования и служащих основой для понимания работы системы и объяснения ее правил всем заинтересованным лицам
Интерфейсные классы
Интерфейсные классы (boundary classes) соответствуют устройствам или способам обмена данными между системой и ее окружением, в том числе пользователями.
Классы данных
Классы данных (entity classes) соответствуют наборам данных, описывающих некоторые однотипные сущности внутри системы
Эти сущности являются абстракциями представлений пользователей о данных, с которыми работает система
Управляющие классы
Управляющие классы (control classes) соответствуют алгоритмам, реализующим какие-то значимые преобразования данных в системе и управляющим обменом данными с ее окружением в рамках вариантов использования
--------------
Роли классов
Каждый класс может играть несколько ролей в реализации одного или нескольких вариантов использования
Каждая роль определяет его обязанности и свойства, тоже являющиеся частью модели анализа
----------------
Модель проектирования
Также состоит из классов, но более четко определенных, с более точным и детальным распределением обязанностей, чем классы модели анализа
Классы модели проектирования должны быть специализированы для конкретной используемой платформы
Используемая платформа может включать:
Модель реализации
Под моделью реализации в рамках RUP и UML понимают набор компонентов сборки результирующей системы и связей между ними
Связи между компонентами представляют собой зависимости между ними. Если компонент зависит от другого компонента, он не может быть поставлен отдельно от него
Часто компоненты представляют собой отдельные файлы с исходным кодом
Модель развертывания
Цель построения модели развертывания — определить физическое положение компонентов распределенной системы, обеспечивающее выполнение ею нужных функций в тех местах, где эти функции будут доступны и удобны для пользователей
Представляет собой набор узлов системы, являющихся физически отдельными устройствами, которые способны обрабатывать информацию —
Каждый узел может быть нагружен некоторым множеством компонентов, определенных в модели реализации
Модель тестирования
В рамках этой модели определяются тестовые варианты или тестовые примеры (test cases) и тестовые процедуры (test scripts)
Тестовые примеры являются определенными сценариями работы одного или нескольких действующих лиц с системой, разворачивающимися в рамках одного из вариантов использования
Тестовый вариант
Тестовый вариант включает в себя:
В отличие от вариантов использования тестовый вариант обычно не имеет альтернативных сценариев
Тестовая процедура
Представляет собой способ выполнения одного или нескольких тестовых вариантов и их составных элементов (отдельных шагов и проверок)
Это может быть инструкция по ручному выполнению входящих в тестовый вариант действий или программный компонент, автоматизирующий запуск тестов
=============================
Управление рисками в RUP
Риском называется возможность получения неудовлетворительного результата в том или ином виде деятельности
При разработке ПО неудовлетворительным результатом может быть:
Итерации и риски
С каждой итерацией связан некоторые начальные риски, которые уменьшаются при успешном завершении итерации
Началу следующей итерации предшествует пересмотр и новая оценка рисков
Показатель риска
Для ранжирования рисков по степени значимости используют величину показатель риска RE (Risk Exposure) , которая
определяется по формуле =
где =
Для оценки потерь обычно вводят 10 или 100-балльную шкалу
Управление рисками
Управление рисками Включает 6 действий:
Выбор модели разработки
Реальный процесс разработки никогда жестко не увязывается с какой-либо одной моделью, хотя одна из них может быть ведущей
Выбор модели определяется:
Руководство проектом
Руководство проектом определяет сущность процесса разработки от его начала до конца. Оно обеспечивает :
Начало проекта
В начале работы над проектом необходимо:
Процесс оценки
Оценка объема предстоящих работ производится в человеко-месяцах
Исходя из нее определяют необходимые ресурсы:
При оценках используется опыт предыдущих собственных разработок, либо опыт других разработчиков
Анализ рисков
Риском называется возможная потеря в процессе разработки. Это может быть=
Задачей руководства является анализ возможных рисков и планирование мер по минимизации их влияния на выполнение разработок.
Планирование процесса разработки
Основная задача планирования – определение структуры распределения работ. Типовая структура распределения работ включает:
типовая схема структуры распределения работ представлена на схеме =
1) Системный анализ
Проводится с целью:
Результаты системного анализа представляются в виде системной спецификации, которая содержит описания функции, характеристик системы, ограничений разработки, состав входной и выходной информации
Системная спецификация служит исходным документом при проведении анализа требований
Анализ требований
Имеет своей целью:
Результаты анализа требований сводятся к спецификации требований к программному продукту
Спецификация требований служит исходным документом при проектировании программного средства
Границы времени выполнения
Распараллеливание задач требует согласования процессов их выполнения во времени. Для каждой из них должно быть запланировано приемлемое время решения
Tproc, а также раннее Tmin и позднее Tmax время начала решения
Необходимо выделить задачи, образующие основу проекта, и определяющие временные рамки его выполнения
Распределение времени выполнения
Рекомендуемое распределение времени выполнения проекта:
-----------------------
Оценки, меры и метрики
Размерно-ориентированные метрики
Размерно-ориентированные метрики Основаны на LOC-оценках, т.е. на количестве строк в текстах программ (Lines Of Code (LOC)). К числу размерно-ориентированных метрик относятся:
Метрики производительности и качества
Метрики производительности и качества рассчитываются в виде следующих отношений:
Производительность =
где затраты измеряются в человеко-месяцах (работа одного человека в течении месяца)
Качество =
Метрики стоимости и документированности
Достоинства и недостатки Размерно-ориентированные метрик
Достоинства:
Недостатки:
-------------------
Функционально-ориентированные метрики (FP-оценки)
Исходят не из размера программного продукта, а из его функциональности.
Оценивают:
FP-оценки
Вместо количества строк в текстах используется количество функциональных указателей (Function Points)
следующая формула взята из слайдов лекций=
где =
FP-оценки
К числу параметров, учитываемых коэффициентами регулирования сложности относятся:
FP-оценки
Область применения метода функциональных указателей ((Function Points) – коммерческие информационные системы
Для продуктов с высокой алгоритмической сложностью (системного и встроенного ПО, ПО реального времени) используется метод указателей свойств (Features Points).
При расчете указателя свойств учитывается количество используемых в ПО алгоритмов
Функционально-ориентированные метрики
Функционально-ориентированные метрики аналогичны соответствующим размерно-ориентированным метрикам с точностью до замены =
Достоинства и недостатки Функционально-ориентированных метрик
Достоинства:
Недостатки:
Конец лекции
_____________
матфак вгу и остальная классика =)