Термин «архитектура» IT-команды заимствовали из архитектуры зданий. Чтобы построить дом, архитекторы готовят множество чертежей и документацию к ним — это модели реального дома. Чтобы разработать приложение, IT-архитекторы, так же как и архитекторы зданий, готовят набор моделей будущей системы.
Вопрос 2
Выберите из списка подходящий под определение термин.
Описание части выбранных по определённому принципу элементов архитектуры системы и их связей.
Представление архитектуры
Общепринятый способ организации элементов архитектуры системы, направленный на решение определённой проблемы.
Стиль архитектуры
Набор элементов, которые объединяют для удобства представления информации о системе.
Архитектурная структура
Набор документов, содержащий часть информации о программном обеспечении системы. Этот набор появляется в результате проектирования архитектуры ПО.
Описание архитектуры
В уроке «Описание архитектуры» вы познакомились с ключевыми терминами архитектуры ПО. Рекомендуем повторить глоссарий основных терминов, он пригодится вам в следующих спринтах.
Вопрос 3
Определите, какие из представленных элементов архитектуры относятся к программному обеспечению, а какие — к аппаратному обеспечению.
Логика представления
Программное обеспечение
Клиент
Аппаратное обеспечение
Хранилище данных
Программное обеспечение
Бизнес-логика
Программное обеспечение
Логика доступа к данным
Программное обеспечение
Сервер
Аппаратное обеспечение
Сеть
Аппаратное обеспечение
В уроке «Компоненты системы» вы узнали, из каких элементов состоит программное и аппаратное обеспечение. К программному обеспечению относится логика представления, бизнес-логика, логика доступа к данным и хранилище данных. К аппаратному обеспечению — клиент, сервер и сеть.
Вопрос 4
Определите по описанию, о каком элементе ПО идёт речь.
Предоставляет пользователю возможности ввода и просмотра информации.
Логика представления
Сохраняет данные и информацию.
Хранилище данных
Выполняет бизнес-процессы с учётом набора условий.
Бизнес-логика
Выполняет функции чтения, записи, обновления и удаления данных.
Логика доступа к данным
В уроке «Компоненты системы» вы узнали, из каких элементов состоит программное обеспечение. Возможности ввода и просмотра информации предоставляет логика представления. Бизнес-логика выполняет бизнес-процессы с учётом набора условий. Логика доступа к данным выполняет функции чтения, записи, обновления и удаления данных, а хранилище данных сохраняет данные и информацию.
Вопрос 5
Вспомните, какие из стилей архитектуры к каким типам стилей относятся.
Сервис-ориентированная
Распределённый
Клиент-серверная
Фундаментальный
Микросервисная
Распределённый
Многослойная
Монолитный
Серверная
Фундаментальный
К фундаментальным стилям относятся клиент-серверная и серверная архитектура. К монолитным — многослойная архитектура. К распределённым — сервис-ориентированная архитектура (SOA) и микросервисная архитектура.
Вопрос 6
Исходя из описания приложения, выберите подходящий ему фундаментальный стиль архитектуры.
Приложение каршеринга, позволяющее бронировать машины поблизости в режиме реального времени.
Клиент-серверная архитектура
Приложение, установленное на терминал в МФЦ для получения талончика на приём на необходимую для вас услугу.
Серверная архитектура
Сайт для просмотра фильмов Amediateka.
Клиент-серверная архитектура
В теме «Фундаментальные стили» вы узнали об особенностях реализации клиент-серверной и серверной архитектуры. Приложение для МФЦ использует в своей архитектуре терминал — это элемент АО, используемый только в серверной архитектуре. Для других двух примеров подходит клиент-серверная архитектура.
Вопрос 7
Какой тип клиент-серверной архитектуры подойдёт для внутренней системы бухгалтерии, данные которой расположены на сервере базы данных компании, бизнес-логика находится на сервере приложений, а пользователи обращаются к ним из внутренней сети?
В уроке «Звенья клиент-серверной архитектуры» вы узнали о разных конфигурациях клиент-серверной архитектуры. В приведённом примере рассматривается трёхзвенный тип клиент-серверной архитектуры, состоящий из клиента, сервера приложений и сервера базы данных.
Вопрос 8
Исходя из того, где находится бизнес-логика, определите тип клиента, представленный на иллюстрации.
Ультратонкий клиент
Тонкий клиент
Толстый клиент
У толстого клиента вся бизнес-логика находится на клиенте. Тонкий клиент содержит лишь небольшую часть бизнес-логики на клиенте, а остальная часть расположена на сервере. Ультратонкий клиент выполняет только логику представления.
Вопрос 9
Какая технология подойдёт мобильному приложению для рисования, которое уже реализовано для iOS, но для которого необходимо разработать Android-версию?
В уроке «Архитектура мобильного приложения» вы узнали о технологиях, используемых для разработки мобильных приложений. В приведённом примере правильно было бы использовать нативное приложение. Ведь из-за различных операционных систем команде разработки не остаётся иного выхода, кроме как реализовать отдельные мобильные приложения для каждой конкретной ОС. Такие приложения называют нативными.
Вопрос 10
Определите слой, к которому относится та или иная функция ПО в многослойной архитектуре.
Сжатие данных
Слой доступа к данным
Хранение данных
Слой хранилища данных
Алгоритмы, математические расчёты
Бизнес-слой
Визуализация данных
Слой представления
В уроке «Многослойная архитектура» вы узнали, из каких компонентов и слоёв состоит данный стиль. Визуализация данных осуществляется на слое представления, алгоритмы и математические расчёты — на бизнес-слое, сжатие данных — на слое доступа к данным, а хранение данных — на слое хранилища данных.
Вопрос 11
Какие типы сервисов выделяют в сервис-ориентированной архитектуре (SOA)?
Вспомните урок «Распределённые стили: SOA», в котором вы познакомились с сервис-ориентированным стилем в архитектуре. В SOA выделяют следующие типы сервисов: бизнес-сервис, сервис предприятия, сервис приложения, инфраструктурный сервис.
Вопрос 12
Выберите утверждения, которые характеризуют микросервисную архитектуру.
В уроке «Распределённые стили: микросервисная архитектура» вы познакомились с характеристиками микросервисов. Микросервисный стиль не предъявляет требований к формату хранилищ данных, но, в соответствии с концепцией «делиться как можно меньшим», предполагает наличие отдельного хранилища данных для каждого сервиса. Для выполнения одного запроса со стороны клиента в SOA, как правило, требуется участие множества сервисов, в микросервисной архитектуре наоборот — один сервис выполняет один запрос.
Вопрос 13
Определите, какой стиль архитектуры лучше использовать в той или иной ситуации.
Начало разработки небольшого и простого приложения для рекламы нового курса
Многослойная архитектура
Приложение для крупного предприятия, над разработкой которого будет работать несколько команд разработки одновременно
Сервис-ориентированная архитектура
Высоконагруженное приложение с большим количеством функций
Микросервисная архитектура
В уроках по многослойной архитектуре и распределённым стилям вы узнали, когда лучше использовать тот или иной стиль. Многослойную архитектуру используют для небольших и простых приложений, а также в начале разработки приложений. Сервис-ориентированную архитектуру (SOA) часто используют в крупных предприятиях, а также для работы нескольких команд разработки. Микросервисную архитектуру используют для высоконагруженных приложений или для приложений с большим количеством функций.
Вопрос 14
Из предложенных характеристик ПО найдите те, которые больше проявляются в монолитном стиле.
В уроках по многослойной архитектуре и распределённым стилям вы познакомились с рейтингом архитектурных характеристик. В монолитном стиле хорошо проявляется простота разработки и простота тестирования. В распределённом стиле SOA хорошо проявляется масштабируемость. А в микросервисной архитектуре хорошо проявляются все показатели, кроме простоты разработки.
Часть 2. Работа с диаграммами
На протяжении уроков в этом спринте вы наблюдали, как Даня разбирался с устройством архитектуры ПО на примере стримингового сервиса Оtium. Дальше вы увидите ряд диаграмм, которые входят в документацию Оtium. Все они являются важными архитектурными представлениями, и СА должен разбираться во всех этих диаграммах, чтобы предоставлять нужную информацию архитектору. С некоторыми из этих диаграмм вы знакомились в предшествующих спринтах, с некоторыми вы познакомились только в этом спринте.
Вопрос 15
Для стримингового сервиса Оtium Ксения реализовала ряд диаграмм и отправила Дане и Айгуль для изучения. Первую диаграмму вы уже знаете, внимательно её изучите и ответьте на несколько вопросов.
Какой тип архитектурной структуры изображён в этом представлении?
На картинке представлена ER-диаграмма в нотации Crow’s Foot, где изображена структура данных, с которой вы познакомились в четвёртом спринте.
Вопрос 16
Какой атрибут является первичным ключом в сущности «Пользователь»?
Первичный ключ в нотации Crow’s Foot выделяется символом «звёздочка» (*). В сущности «Пользователь» атрибут «Электронная почта» выделен именно таким символом.
Вопрос 17
Выберите правильные утверждения, которые соответствуют диаграмме.
Исходя из связей, используемых в диаграмме, верны три утверждения: 1) «У пользователя должна быть минимум одна банковская карта» — ведь модальность банковской карты обозначена чертой. 2) «У пользователя может не быть добавлено ни одного избранного медиа» — ведь у избранного модальность обозначена как опциональная связь. 3) «В сезон может входить несколько видео» — ведь у видео кардинальность обозначена как «воронья лапка». Лишь одно утверждение неверно «К медиа всегда должен относиться сезон», ведь в связи между медиа и сезоном около сезона использована опциональная связь — она обозначается кругом.
Вопрос 18
Теперь перейдём к следующей диаграмме для стримингового сервиса Otium. С этим представлением архитектуры вы тоже знакомы из прошлых спринтов.
Какой тип архитектурной структуры изображён в этом представлении?
На картинке представлена диаграмма классов в нотации UML Class Diagram, где изображена структура классов, с которой вы познакомились в одном из уроков в четвёртом спринте.
Вопрос 19
Какой связью соединён класс «Медиа» с классами «Фильм» и «Сериал»?
Класс «Медиа» с классами «Фильм» и «Сериал» соединяет стрелка с пустым наконечником, это связь «Наследование». Это отношение между родительским классом и его наследниками. Наследные классы являются частной формой родительского (обобщённого) класса.
Вопрос 20
Выберите правильные утверждения, которые соответствуют диаграмме.
Давайте разберём по порядку. На диаграмме представлено 20 различных классов, учитываются как родительские, так и наследуемые классы. Медиа соединено с сезоном, и у сезона указана кратность «*», а значит, количество сезонов может быть любым: от 0 и до бесконечности. Между классами «Пользователь» и «Банковская карта» у пользователя указана кратность 1, это означает, что банковская карта всегда будет относиться к конкретному пользователю. У класса «Тариф» на диаграмме указано четыре наследника, наследники соединены с родительским классом стрелкой с пустым наконечником.
Вопрос 21
Теперь перейдём к новым для вас диаграммам, с которыми вы познакомились в этом спринте.
Ксения предоставила черновики диаграммы внутренней структуры одного из компонентов стримингового сервиса. Выберите правильные утверждения.
На диаграмме представлено внутреннее устройство компонента «Медиатека», состоящего из 6 компонентов с двумя портами. Компонент «Каталог медиа» имеет один требуемый интерфейс, изображенный в виде круга и один предоставляемый, изображенный в виде полусферы. Компонент «Фильмы» использует требуемый интерфейс для взаимодействия с компонентом «Проигрыватель». Компонент «Сериалы» использует две базы данных — «Видео» и «Сезоны» они подписаны стереотипом dataBase.
Вопрос 22
Изучите полную диаграмму компонентов Otium и определите, какой стиль архитектуры используется в приложении Otium.
На представленной диаграмме изображен микросервисный стиль, у которого выделен слой API и микросервисы с большим количеством требуемых и предоставляемых интерфейсов.
Вопрос 23
Последняя диаграмма, которую предоставила Ксения — диаграмма развёртывания. Это черновик, который она готовила для стримингового приложения Otium. Какие выводы об архитектуре Otium можно сделать из этой диаграммы?
У приложения Otium трехзвенная клиент-серверная архитектура. Представленная диаграмма состоит из клиента, сервера приложений и хранилища данных. На сервере располагаются четыре ноды с подпиской, оплатой, учетной записью и медиатекой, а в хранилище данных расположены четыре базы данных.
00:00:00
Всего вопросов:23
Верных ответов:21
Тест пройден! Поздравляем, можно двигаться дальше.