Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
4 курс (заочка) / Экзамен / Ответы на экзамен МиСПИСиТ.docx
Скачиваний:
29
Добавлен:
08.01.2022
Размер:
612.6 Кб
Скачать
  1. Понятие архитектуры программного обеспечения и причины возникновения такого понятия в рамках процесса создания информационных систем

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

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

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

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

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

Архитектура ПО многомерна. Различные представления архитектуры служат различным целям

(модель «4+1»):

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

  • играемые пользователями ПО и внешними системами);

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

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

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

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

  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»):

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

  • играемые пользователями ПО и внешними системами);

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

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

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

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

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

которой отражены лишь существенные аспекты и опущено все, что несущественно при данном

взгляде на систему.

Модель ПО – это формализованное описание системы ПО на определенном уровне абстракции.

Для облегчения труда разработчиков и автоматизированного выполнения некоторых рутинных

действий используются CASE-средства (Computer Aided Software Engineering). В настоящее время

CASE-средства обеспечивают поддержку большинства процессов жизненного цикла ПО, что

позволяет говорить о CASE-технологиях разработки ПО. CASE-технология – это совокупность

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

области, анализа моделей на всех стадиях жизненного цикла ПО и разработки ПО.