Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Базовые архитектуры




 

Архитектурные модели классов систем отражают архитектуры уже существующих систем. В противоположность им базовые модели обычно появляются как результат исследований в определенной предметной области приложения. Они представляют собой идеализированную архитектуру, в которой отражены особенности, присущие системам, работающим в данной предметной области.

Примером базовой архитектуры может служить модель OSI [352], являющаяся стандартом взаимодействия открытых систем (краткое описание этой модели приведено в разделе 10.1.3). Если некоторая система совместима с этой моделью, она может взаимодействовать с любыми другими системами, поддерживающими этот стандарт. Таким образом, система управления ассортиментом товаров в супермаркете, разработанная на основе модели OSI, может непосредственно осуществлять обмен данными с системой заказов поставщиков, также разработанной на основе этой модели.

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

Изображенная на рис. 10.13 модель OSI является семиуровневой моделью взаимодействия открытых систем. Точное назначение разных слоев здесь не существенно. Заметим только, что нижние уровни обеспечивают физическое взаимодействие, средние уровни – передачу данных, а верхние уровни – передачу семантически значимой информации, например стандартизированных документов и т.п.

 

Рис. 10.13. Архитектура базовой модели OSI

 

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

На практике многоуровневый подход к архитектурному моделированию носит компромиссный характер. Если различия между компьютерными сетями слишком велики, простое взаимодействие между ними невозможно. Хотя функциональные характеристики каждого уровня четко определены, остаются неопределенными нефункциональные характеристики системы. Поэтому разработчики, реализуя собственные средства высокого уровня, могут "пропустить" некоторые уровни модели. Иначе говоря, чтобы повысить производительность системы, разработчики могут проектировать нестандартные средства, которые не укладываются в рамки модели. После этого простая замена уровней в такой модели вряд ли возможна. Однако от этого эффективность модели не снижается. Данная модель обеспечивает основу для общего структурирования системы и для реализации взаимодействий между системами.

Другими базовыми моделями являются CASE-среды [104, 6*] и модель разработки программного обеспечения [298, 14*]. Некоторые архитектурные шаблоны [124, 13*, 32*] также можно считать базовыми архитектурами. Эти модели обсуждаются в главе 14.

КЛЮЧЕВЫЕ ПОНЯТИЯ

 

• Архитектура ПО – это описание структуры программной системы. Различные архитектурные модели, такие как структурная модель, модель управления и модель модальной декомпозиции, разрабатываются архитектурного проектирования.

• Большие системы редко сводятся к одной архитектурной модели. Они неоднородны и на разных уровнях обобщения используют разные модели.

• К структурным моделям относятся модели репозитория, модели клиент/сервер и модели абстрактной машины. В модели репозитория совместно используемые данные находятся в общем хранилище (репозитории). В моделях клиент/сервер данные, как правило, распределены. Модели абстрактной машины являются многоуровневым, причем каждый уровень реализован с помощью средств, предоставляемых предыдущим уровнем.

К моделям управления относятся модели централизованного управления и модели, управляемые событиями. В централизованных моделях управление зависит от состояния системы; в моделях, управляемых событиями, системой управляют внешние события.

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

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

Упражнения

10.1. Объясните, почему архитектуру системы необходимо разработать до окончания создания спецификации.

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

10.3. Предложите подходящую структурную модель для перечисленных ниже систем. Обоснуйте свой выбор.

• Система автоматической продажи железнодорожных билетов.

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

• Робот-уборщик, который убирает относительно свободные пространства, например коридоры. Робот должен фиксировать стены и другие преграды.

10.4. На основе выбранной модели разработайте архитектуру для систем из предыдущего упражнения. Сделайте предположения о системных требованиях.

10.5. Объясните, почему модель управления вызова-возврата обычно не подходит для систем реального времени, управляющих определенным процессом.

10.6. Предложите подходящую модель управления для перечисленных ниже систем. Обоснуйте свой выбор.

• Пакетная система обработки данных, которая на основании информации об отработанных часах и ставок заработной платы формирует заявки на зарплату персонала и передает информацию в банк.

• Набор инструментальных программных средств от разных производителей, которые должны работать совместно.

• Телевизионный контроллер, который отвечает на сигналы, поступающие от удаленного блока управления.

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

10.8. Существует два набора инструментальных CASE-средств. Необходимо сравнить их. Продумайте, как это сделать с помощью базовой модели CASE-средств [61].

10.9. Предположим, существует конкретная должность "архитектор программного обеспечения"; его роль состоит в проектировании системной архитектуры независимо от того, для какого заказчика выполняется данный проект. Такая должность может быть, например, в компании, занимающейся разработкой ПО. Какие трудности могут возникнуть при введении данной должности?

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...