- •Ответы на государственный экзамен по анализу и проектированию информационных систем
- •1. Исследование операций. Основные понятия. Виды задач.
- •2. Теория игр. Основные понятия. Виды задач.
- •3. Понятие и назначение программной архитектуры. Виды программных структур.
- •4. Атрибутный метод разработки программной архитектуры. Атрибуты качества по. Сценарии и тактики реализации качества по.
- •5. Шаблоны архитектуры. Представление централизованных данных. Шаблоны «Общий репозиторий», «Активный репозиторий», «Классная доска».
- •6. Шаблоны проектирования. Структурные шаблоны. Шаблон «Адаптер», «Заместитель».
- •7. Принципы эргономического проектирования по.
5. Шаблоны архитектуры. Представление централизованных данных. Шаблоны «Общий репозиторий», «Активный репозиторий», «Классная доска».
Шаблоны архитектуры — описание типов элементов, отношений между ними, а также правила и ограничения их использования.
Классификация по классу решаемых задач:
Представление по уровню
Представление потоков данных
Представление централизованных данных
Представление адаптации
Взаимодействие с пользователем
Представление языков программирования
Представление взаимодействия компонентов
Представление распределений
Представление централизованных данных определяет как организуется доступ компонентов к централизованному хранилищу.
Общий репозиторий
К центральному хранилищу данных осуществляют доступ все другие независимые компоненты. Общий репозиторий должен:
Предоставлять специфические средства доступа
Быть масштабируемым
Решать проблемы совместного доступа к данным
Предоставлять механизм управления транзакцией
Активный репозиторий
Может информировать некоторое количество подписчиков об определенных событиях происходящих в репозиторий.
Классная доска
Используется для совместного использования данных при вычислениях, когда точный алгоритм вычисления неизвестен. Задача делится на более мелкие подзадачи, для которых общий алгоритм известен.
Классная доска — общий репозиторий, который использует результат работы клиентов для вычислений и пошагового улучшения решений.
Каждый клиент получает доступ к классной доске и проверяет наличие новых входных данных для последней обработки, а также размещает результат после нее. Управление компонентами отслеживает состояние классной доски и координирует в соответствие с им действия компонентов.
6. Шаблоны проектирования. Структурные шаблоны. Шаблон «Адаптер», «Заместитель».
В разработке программного обеспечения, шаблон проектирования — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.
Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться.
Структурные шаблоны предлагают решения задач по средствам структурирования классов программы.
Адаптер (обертка, враппер) — структурный шаблон проектирования, предназначенный для организации использования функций объекта, недоступного для модификации, через специально созданный интерфейс.
Заместитель (proxy) является заменителем другого объекта и контролирует доступ к нему.
Proxy хранит ссылку, которая позволяет ему общаться с RealSubject. Так же предоставляет интерфейс Subject, контроль доступа к RealSubject и может выполнять дополнительные функции.
Удаленный заместитель. Кодирует запрос и отправляет объекту в другом адресном пространстве.
Виртуальный заместитель. Позволяет отделить создание объекта.
Защищающий заместитель. Проверяет, имеет ли вызывающий необходимые права доступа.
Умный заместитель. Выполняет дополнительные действия до или после действия.
Шаблон Facade (Фасад) — Шаблон проектирования, позволяющий скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Предоставляет единый высокоуровневый интерфейс вместо набора интерфейсов некоторой подсистемы, чтобы упростить её использование.
Классы подсистемы реализуют функциональность не зная о существовании фасада, а фасад адресует запросы клиентов подходящему объекту внутри системы.
