Шаблон «Многоуровневая (многослойная) архитектура»



Многоуровневая архитектура обеспечивает группировку связанной функциональности приложения в разных слоях, выстраиваемых вертикально, поверх друг друга. Функциональность каждого слоя объединена общей ролью или ответственностью. Слои слабо связаны, и между ними осуществляется явный обмен данными.

(слой обозначает логическое разделение функциональности, а уровень физическое разворачивание на разных системах).

При строгом разделении на слои компоненты одного слоя могут взаимодействовать только с компонентами того же слоя или компонентами слоя, расположенного прямо под данным слоем. Более свободное разделение на слои позволяет компонентам слои взаимодействовать с компонентами того же и всех нижележащих слоев.

Многослойная архитектура поддерживается рядом шаблонов проектирования. Например, под названием Отделение представления объединяется ряд шаблонов, разделяющих взаимодействие пользователя с UI, представление, бизнес-логику и данные приложения, с которыми работает пользователь.

Структура

Применимость

- имеются готовые уровни, подходящие для повторного использования в других приложения;

- имеются приложения, предоставляющие подходящие бизнес-процессы через интерфейсы сервисов;

- создается сложное приложение и предварительное проектирование требует разделения, чтобы группы могли сосредоточиться на разных участках функциональности;

- приложение должно поддерживать разные типы клиентов и разные устройства;

- требуется реализовать сложные и/или настраиваемые бизнес-правила и процессы.

 


Унифицированный процесс разработки ПО (RUP)

Основные черты. Фазы и основные потоки работ.

RUP (рациональный унифицированный процесс) – совокупность рекомендаций к выполнению различной деятельности, необходимых для преобразований требований к системе в ПО.

Основные черты RUP:

1.использование UML (унифицированный язык моделирования).

2.Компонентно-ориентированная технология.

3.Процесс разработки программ управляется прецедентами.

Прецедент – часть функциональности системы, необходим для получения пользователем полезного и приятного результата.

Прецедентэто последовательность действий актанта и реакция системы, приводящая к полезному для актанта результату (последовательность действий пользователя и реакции системы).

Актанты – внесистемные агенты, которые взаимодействуют с системой.

Созданием прецедента мы задаем функциональные требования к системе.

Требования -> Анализ-> Проектирование-> Реализация. Прецедент используется для написания тестов. По прецедентам создаются тесты. Формируется модель прецедента. Они являются основой для разработки системы. В процессе тестирования сравниваются результаты действия системы и результаты тестов.

Унифицированный процесс ориентирован на архитектуру.

Архитектура – набор решений по организации программной системы (выбор элементов структуры ПС, их интерфейсов и правил взаимодействий).

Примеры

а) Брокер (механизм управления интерфейсов и правил взаимодействия).

б) Слои (абстрактные машины) – приложение разбивается на уровни. Каждый уровень имеет сведения об организации следующего нижнего уровня.

в) Клиент-сервер – клиентская часть взаимодействует с пользователем, а все действия выполняются на сервере.

4.процесс является интерактивным и инкрементным. Сначала создается скелет, а потом добавляются элементы

Цели выполнения на конец фаз разработки:

- Начало: Определение целей и задач разработки. Понимание проблем заинтересованных лиц.

- Развитие: Определение требований к системе, разработка базовой архитектуры системы. Определение стоимости разработки, составление плана разработки.

- Конструирование: Создание программного продукта.

- Переход: Доводка системы. Внедрение системы в эксплуатацию.

Виды работ (разработка ПО)

- Бизнес-моделирование

- Оформление требований к системе – описание того, что система должна делать

- Анализ требований и проектирование – создание статических и динамических моделей системы, выполняющей выявленные требования

- Реализация – производство программного кода, который превращается в исполняемую систему.

- Тестирование – проверки системы в целом.

- Размещение

Процесс разработки представляется как серия итераций. На каждой итерации выполняются все виды работ, поэтому каждая итерация заканчивается версией системы. В отдельной итерации реализуется некоторое подмножество функциональных требований. Система эволюционирует – количество реализованных требований увеличивается с каждой итерацией.

Роль требований в жизненном цикле разработки программного обеспечения:

Модель вариантов использования разрабатывается посредством нескольких приращений. Каждая итерация добавляет к модели новые варианты использования и добавляет новые подробности к описанию уже существующих.

 


Дата добавления: 2018-06-01; просмотров: 322; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!