- •Билет 2
- •Понятие Stateless vs Stateful, Synchronous vs Asynchronous.
- •Определение Project vision и Project scope. Привести пример для своей дипломной работы.
- •Билет 5
- •2. Композиция имеет важные преимущества над наследованием.
- •Билет 6
- •1 Описание Commitments, примеры
- •2 Перечислить ключевые принципы проектирования
- •Дать определение функциональных и нефункциональных требований. Привести критерии качества требований.
- •Communication patterns. Рассказать про типы интерфейсов (Message oriented architecture vs Service oriented architecture)
- •Билет №8
- •Билет 9
- •Билет №11
- •Рассказать о способе проведения эстимейта wag Generator
- •2. Особенности архетипов ис. Описать Web Applications
- •Билет №12
- •Перечислить все принципы проектирования пользовательского интерфейса
- •Особенности архетипов ис. Описать Desktop Application
- •Билет №16
- •Рассказать о ключевых сценариях на этапе проектирования. Рассказать о sad документах, описать основные его секции.
- •Билет №17
- •Фаза проектирования.
- •5 Примеров для паттерна Navigation
- •Билет 18
- •1 Фазы проекта:
- •Билет 29
- •Билет 30
- •Бизнес требования
- •Билет № --
- •Архетип приложения. Mobile Applications
- •2) Общие разделы для всех эстимейтов
- •Билет № --
- •Что такое Life scope of components, примеры?
- •2. Понятие Request for proposal и Proposal. Привести описание всех основных секций.
Билет 29
1. Обосновать необходимость введения паттерна Abstract Factory.
2. Что такое Project Constraints? Таблица степеней своботы project constraints.
1. Abstract factory — порождающий шаблон проектирования, позволяющий изменять поведение системы, варьируя создаваемыми объектами, при этом сохраняя интерфейсы. Он позволяет создавать целые группы взаимосвязанных объектов, которые, будучи созданными одной фабрикой, реализуют общее поведение. Шаблон реализуется созданием абстрактного класса Factory, который представляет собой интерфейс для создания компонентов системы (например, для оконного интерфейса он может создавать окна и кнопки). Затем пишутся наследующиеся от него классы, реализующие этот интерфейс.
Достоинства паттерна Abstract Factory
Скрывает сам процесс порождения объектов, а также делает систему независимой от типов создаваемых объектов, специфичных для различных семейств или групп (пользователи оперируют этими объектами через соответствующие абстрактные интерфейсы).
Позволяет быстро настраивать систему на нужное семейство создаваемых объектов. В случае многоплатформенного графического приложения для перехода на новую платформу, то есть для замены графических элементов (кнопок, меню, полос прокрутки) одного стиля другим достаточно создать нужный подкласс абстрактной фабрики. При этом условие невозможности одновременного использования элементов разных стилей для некоторой платформы будет выполнено автоматически.
2. Определение ограничений проекта Project Constraints
Чтобы расставить приоритеты и определить рамки проекта, собирают информацию об ограничениях вашего проекта. Есть три типа ограничений проекта: технологические, ресурсные и физический. Технологические ограничения относятся к последовательности, в которой отдельные виды деятельности проекта должны быть завершены. Например, в строительства дома, заливка фундамента должна происходить перед построением. Ресурсные ограничения связаны с отсутствием адекватных ресурсов. Следствием такого изменения является задержка даты завершения проекта. Физические ограничения вызваны договором или условиями окружающей среды. Например, из-за ограниченности пространства деятельности.
В целом, с точки зрения планирования, проекты могут быть классифицированы как ограниченный по времени или с ограниченными ресурсами. Проект классифицируется как ограниченный по времени в ситуациях, когда срок задерживается и добавление ресурсов может вернуть выполнение проекта в соответствии с графиком. В тех ситуациях, когда проект ограничен ресурсно, задержка проекта является приемлемым, но задержка должна быть минимальной. В центре планирования в таких ситуациях - распределение ресурсов таким образом, чтобы свести к минимуму задержки проекта.
Билет 30
Инверсия управления (Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения связанности в компьютерных программах. Inversion of Control это принцип, в котором поток управления программой инвертирован: вместо програмиста управление забирают на сея внешние источники (frameworks, сервисыб другие компоненты).
Формулировка:
Модули верхнего уровня не должны зависеть от модулей нижнего уровня. Оба должны зависеть от абстракции.
Абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций.
Одной из реализаций IoC является внедрение зависимостей (англ. Dependency Injection). Dependency Injection используется во многих framework'ах, которые называются IoC контейнерами.
Инверсия управления Шаблон Dependency InjectionDI является одной из форм IoC, где реализаций передаются в объект через конструкторов / сеттеров / услуга вид окна, которое объект будет "зависеть" от того, чтобы вести себя правильно.
Достоинства и недостатки:
DI как правило нельзя использовать для создания абсолютно всех объектов приложения.
DI является заменой для патерна проектирования Abstract Factory.
DI удобно использовать как способ для подмены различных компонент без изменения исходного кода приложения.
