Добавил:
Я и кто? Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на экз 2.docx
Скачиваний:
4
Добавлен:
10.09.2023
Размер:
236.42 Кб
Скачать
  1. Понятие архитектуры программного обеспечения и причины возникновения такого понятия в рамках процесса создания информационных систем

Архитектура ПО – набор ключевых правил, определяющих организацию системы:

  1. Совокупность структурных элементов системы и связей между ними;

  2. Поведение элементов системы в процессе их взаимодействия;

  3. Иерархия подсистем, объединяющих структурные элементы;

  4. Архитектурный стиль (типовой способ организации системы).

  1. Понятие "сложности" в современном проектировании информационных и способы её преодоления

Одна из основных проблем создания больших систем это проблема сложности. В современном проектировании ИС различают 2 вида сложности:

  • Техническая.

  • Сложность управления.

Техническая сложность вызывается:

  1. Структурная сложность. Количество элементов и сложностью взаимосвязи между ними.

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

  3. Необходимость интеграции существующих и вновь разрабатываемых решений.

  4. Функционирование в неоднородной среде, например на нескольких аппаратных платформах;

  5. Высокими требованиями к надежности и производительности

Сложность управления порождается следующими причинами:

  1. Сильное воздействие внешней среды (политика, экономическая ситуация, контракты, много заинтересованных лиц, противоречивые требования);

  2. большой коллектив разработчиков (много различных проектов и продуктов).

  3. разобщенность и разнородность отдельных групп разработчиков по уровню квалификации и традициям использования инструментальных средств;

  4. значительная временная протяженность проекта.

Основным подходом к преодолению сложности в современном проектировании является принцип декомпозиции. То есть сложная программная система должна быть разделена на небольшие подсистемы, каждую из которых можно разрабатывать независимо (в какой-то степени) от других.

  1. Использование принципа декомпозиции в процессе проектирования информационных систем

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

  1. Количество связей между подсистемами должно быть минимальным («низкая связанность» или «слабое зацепление» – Low Coupling);

  2. Степень взаимодействия внутри каждой подсистемы должна быть максимальной («сильная связность» или «высокая прочность» – High Cohesion).

При разбиении системы на подсистемы необходимо добиться выполнения следующих условий:

  1. Каждая подсистема должна инкапсулировать свое содержимое (скрывать его от других подсистем);

  2. Каждая подсистема должна иметь четко определенный интерфейс с другими подсистемами, устанавливающий стандартные ограничения на взаимодействие.

Существуют два основных подхода к декомпозиции систем:

  1. функционально-модульный подход, основывается на функциональной декомпозиции, при которой структура системы описывается в терминах иерархии ее функций и иерархии структур данных;

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

Подходы имеют много общего. Достоинством второго подхода является то, что есть единая иерархия, и нет необходимости отслеживать соответствие между двумя иерархиями функционально-модульного подхода.

В рамках обоих подходов используется понятие архитектуры ПО.

  1. Проектирование архитектуры информационной системы в соответствии с моделью представлений "4+1", понятие модели ПО

Различные представления архитектуры служат различным целям (модель «4+1»):

  • представление вариантов использования отображает функциональные возможности использования ПО ( содержит сценарии взаимодействия системы с внешней средой и роли, играемые пользователями ПО и внешними системами);

  • логическое представление отображает логическую организацию ПО (пакеты, подсистемы, классы, связи между ними);

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

  • представление процессов отображает структуры потоков управления, моделирует аспекты параллельной работы ПО (потоки управления, нити);

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

Каждое архитектурное представление – это модель системы с определенной точки зрения, в которой отражены лишь существенные аспекты и опущено все, что несущественно при данном взгляде на систему.