- •Методологии разработки программного обеспечения. Введение Структура методологии разработки/внедрения программного обеспечения
- •Часть 1
- •От редакции
- •Введение
- •Этапы жизненного цикла по
- •Стратегия
- •Проектирование
- •Реализация
- •Тестирование
- •Внедрение
- •Эксплуатация и техническая поддержка
- •Каскадная модель
- •Поэтапная модель с промежуточным контролем
- •Спиральная модель
- •. Экстремальное программирование часть 2
- •Ускоренная и совместная разработка приложений
- •Экстремальное программирование Принципы xp и используемые методы ускорения разработки
- •Практики
- •Rational Unified Process Часть 3.
- •Введение
- •Структура rup
- •Продукты, поддерживающие rup
- •Артефакты и роли
- •Business modeling
- •Requirements
- •Analysis and design
- •Implementation
- •Deployment
- •Unified Modelling Language Часть 4.
- •История uml
- •Средства uml-моделирования
- •Для чего применяется uml
- •Элементы языка
- •Сущности
- •Отношения
- •Диаграммы uml
- •Microsoft Solutions Framework Часть 5.
- •Введение
- •Основные компоненты и модели msf
- •Процесс msf
- •Модель команды
- •Модель приложения
- •Проектирование компонентного по
- •Планирование архитектуры предприятия
- •Обзор методологии scrum
- •Product Owner
- •Команда (Team)
- •Артефакты Product Backlog
- •Sprint Backlog
- •Спринт (Sprint)
- •Жизненный цикл спринта Планирование спринта
- •Планирование спринта, митинг первый
- •Планирование спринта, митинг второй
- •Остановка спринта (Sprint Abnormal Termination)
- •Daily Scrum Meeting
- •Демо и ревью спринта
Модель команды
Модель, рекомендуемая SDD, предусматривает, что для выполнения проектов необходимо организовать команду специалистов по шести направлениям (ролям):
• управление продуктом;
• управление программой;
• разработка;
• тестирование;
• обучение пользователей;
• сопровождение (логистика).
Исходя из размера проекта определяется, может ли тот или иной член команды совмещать различные роли. В каждую из ролевых групп может входить не более шести человек; при этом один из них назначается руководителем (лидером) группы — он осуществляет руководство и согласование по всем работам, а остальные члены группы являются исполнителями.
Задачи, обязанности (ответственность) и требуемые профессиональные качества каждой роли четко определены, каждому члену группы и группе в целом делегированы достаточные полномочия в сочетании с высокой степенью ответственности.
Каждый исполнитель сам оценивает трудоемкость той части проекта, за которую он отвечает; консолидированная оценка трудоемкости проекта складывается на основе собственных оценок исполнителей, что делает реально достижимыми цели и планы-графики работ.
Работа групп последовательно ориентирована на удовлетворение требований и ожиданий конечных пользователей. Непроизводительные трудозатраты на поддержание формальных и субординационных связей сведены к минимуму.
Модель сравнительно легко масштабируется. Каждый элемент в схеме команды может быть, в свою очередь, циклом.
Таким образом, модель команды MSF очень демократична, поскольку в ней нет явно выделенного центра, строгой иерархической структуры. Модель команды MSF — это команда равных (peer). Схематически ее принято изображать в виде круга, где все роли равноправны и связаны друг с другом.
Модель приложения
Модель приложения MSF основана на трех основных понятиях.
Многослойное (Multi-tier) приложение — позволяет адекватным образом описать различные аспекты распределенных приложений. Модель приложения MSF выделяет три основных слоя:
• пользовательский интерфейс;
• бизнес-правила;
• управление данными.
Служба (Service) — позволяет описывать логическую структуру приложения в объектно-ориентированном стиле. Служба — это набор взаимосвязанных функций, выполняющих некоторые действия или доставляющих информацию в соответствии со спецификой службы. Функциональность службы доступна только через заранее описанный интерфейс, который скрывает все детали реализации. В рассматриваемой трехслойной модели приложения службы делятся на три категории:
• информационные службы;
• бизнес-службы;
• пользовательские службы.
Логически приложение представляет собой некую сеть служб. Затем логическая модель приложения в форме сети служб транслируется в физическую: все логические службы упаковываются в физические объекты — компоненты, которые реализуются затем в виде программных модулей. Получившаяся в результате такой компоновки архитектура называется физической архитектурой, или архитектурой реализации.
Компонент (Component) — описывает разбиение программного кода на модули, ориентированные на их многократное использование и предоставляющие описанные в спецификации сервисы через опубликованный интерфейс. Компонент представляет собой многократно используемый «черный ящик» и определяется тем, как он взаимодействует с другими компонентами, а не своей внутренней реализацией. Компонент реализует некоторое множество функций системы и имеет формальные и явно описанные интерфейсы.
