Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Билеты.docx
Скачиваний:
66
Добавлен:
14.04.2015
Размер:
375.5 Кб
Скачать

24 Процессы проектирования. Проектирование программной архитектуры.

Разработка архитектуры – процесс разработки подсистем, составляющих систему, и определение системы взаимодействия и контроля подсистем. (architecturaldesign)

Результатом является программная архитектура (softwarearchitecture)

Программная архитектура - слой между данными и платформой. Естественно, каждая отдельная платформа накладывает свои ограничения на процесс проектирования. Всегда существует вероятность, что ограничения окажутся слишком жесткими и не позволят реализовать необходимые функциональные требования. Например, из-за накладываемых ограничений может быть увеличено время отклика и пропускная способность.

Программную архитектуру разделяют по реализации:

  • Монолитное приложение (один модуль)

используется только для очень небольших приложений

  • Многомодульное приложение

модульность зависит от следующих характеристик:

  • размера модуля;

  • прочности (связности) модуля;

  • сцепления модуля с другими модулями;

  • рутинности (идемпотентность, независимость от предыдущих обращений) модуля.

Существует два подхода к обращению к данным: напрямую и через абстракцию (на консультации Иванов говорил, что захочет услышать плюсы и минусы этих подходов)

Существует два подхода к проектированию программной архитектуры:

  • Анализ выполнения функций с точки зрения пользователя, а затем преобразование вывода в логику работы с данными

Решение проверяют на:

  1. Оптимизацию алгоритмов

  2. Правильность

  3. Устойчивость

  4. Производительность

В результате получаем сложный, ресурсоемкий процесс, но на 100% отвечающий требованиям заказчика, этот подход устарел в связи с увеличением количества готовых решений.

  • Подход на основе шаблонов (примеры шаблонов можно найти в вопросе 26)

Стандартная структура подхода на основе шаблонов:

  1. Имя паттерна

  2. Задача паттерна

  3. Описание решения (алгоритм без привязки к реализации)

  4. Плюсы применения паттерна

  5. Минусы применения паттерна

Иногда 4 и 5 пункт заменяют рекомендацией.

Плюсы применения шаблонов проектирования:

Инструмент для решения простых задач на любом языке, разработчикам легче взаимодействовать, увеличивается скорость программирования.

Минусы применения шаблонов проектирования:

Зацикливание разработчика на готовых алгоритмах, усложнение конечных алгоритмов бизнес-логики у конкретного заказчика.

Шаблон проверяют на:

  1. Целостность и непротиворечивость

  2. Конструкция полностью покрывает заявленные требования к функционалу

  3. Устойчивость и производительность

Два подхода проектирования:

  1. От общих функций к реализации

  2. От частного к общему

При тестировании реализации проверяют:

  1. Покрытие функциональных требований

  2. Совместимость модулей и функций

  3. Программная архитектура полностью покрывает модель данных

  4. Реализуемость

25 Процессы проектирования. Модели описания программной архитектуры.

Рассказать про IEEE 1471, модель Захмана,TOGAF – указать, где там есть описание программной архитектуры + упомянуть в каких нотациях может быть выполнено описание.