Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ответы

.doc
Скачиваний:
109
Добавлен:
08.03.2016
Размер:
97.28 Кб
Скачать
  1. Дайте толкование понятия «архитектура» применительно к информационным системам. В чем суть доменного подхода?

Архитектура ИС – набор решений, наиболее существенным образом влияющих на совокупную стоимость владения инфой. Под доменной архитектурой понимают эталонную модель, описывающую множество систем, которые реализуют похожую структуру, функциональность и поведение.

  1. Назовите основные классификационные признаки ИС.

  1. Информационно-управляющие системы (ИУС)

  2. Управляющие системы (УС)

  3. Системы мониторинга и управления ресурсами (СМУД)

  4. Системы управления производством (СУП)

  5. Системы управления доступом (СУД)

3. Укажите отличительные характеристики информационно-управляющих систем. Реализуется процесс сбора данных, поступающих из разных источников, в частности от датчиков. Затем данные обрабатываются и выдаются различным категориям пользователей в форме отчета. Данные из отчета учитываются при принятии решений.

4.Перечислите основные элементы управляющих систем. 1)Основной процесс (ОП) 2)Датчики (Д) 3)Исполнительный механизм (ИМ) 4)Контроллер (К)

5.Каково назначение систем мониторинга и управления ресурсами? Назначение: на производстве, бизнесе, финансах Примеры: 1) Системы управления складами 2)Банковские системы 3)Системы управления документооборотом 4)Системы управления транспортным потоком 5)Системы управления глобальными сетями

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

7. На какой эталонной модели базируется система управления доступом? К данному типу относятся системы, на которых возлагаются решения задач, связанных с обеспечением доступа субъектов к объектам и ресурсам с использованием четко определенных политик и процедур. Субъект обращается к движку, который обращается в базу данных авторизации (БДА), далее подсистему аудита безопасности (ПАБ), после чего предоставляет доступ к объектам.

8. Укажите стили проектирования ИС.

  • Календарный стиль (Calendar-driven);

  • Стиль в основе которого положен процесс разработки документации (Documentation-driven);

  • Стиль основанный на управлении требованиями (Requirements-driven);

  • Стиль основанный на управлении качеством (Quality-driven);

  • Архитектурный стиль (Architecture-driven);

9.Перечислите набор характеристик качества ПО.

  • Функциональность – способность ПО в определенных условиях решать задачи нужные пользователям.

  • Надежность – способность ПО поддерживать определенною работоспособность в заданных условиях.

  • Производительность (эффективность) – способность ПО при заданных условиях обеспечивать необходимую работоспособность по отношению к выделяемым для этого ресурсам.

  • Удобство использования (практичность) – способность ПО быть удобным в обучении и использовании, а также привлекательным для пользователей.

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

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

10. Каковы особенности централизованной архитектуры? Все программы выполняются на хост-ЭВМ, а терминалы являются лишь устройствами ввода-вывода, таким образом в минимальной степени поддерживают интерфейс пользователя. Центральная ЭВМ должна иметь большую память и высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей.

11. Каковы особенности распределенной архитектуры? Открытость – возможность расширения системы путем добавления новых ресурсов;

  • Поддерживают совместное использование;

  • Параллельность вычислений;

  • Масштабируемость – возможность добавления новых свойств и методов;

  • Отказоустойчивость;

  • Прозрачность;

12.Какие существуют виды распределенных архитектур ИС?

  • Архитектура «файл-сервер»;

  • Архитектура «клиент-сервер»;

  • Архитектура Web-приложений;

13. Укажите достоинства архитектуры «файл-сервер».

  • Многопользовательский режим работы с данными;

  • Удобство централизованного управления доступом;

  • Низкая стоимость разработки;

  • Высокая скорость разработки;

  • Невысокая стоимость обновления и изменения ПО.

Недостатки:

  • Последовательный доступ, отсутствие гарантии целостности;

  • Низкая производительность (зависит от производительности сети, сервера, клиента);

  • Плохая возможность подключения новых клиентов;

  • Ненадежность системы.

14. Охарактеризуйте понятие «архитектурный стиль».

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

15. Перечислите и охарактеризуйте основные архитектурные стили. Стиль пакетно-последовательной обработки Cтиль конвейеры и фильтры

Cтиль программа-сопрограммы

Cтиль объектно-ориентированные системы

Cтиль клиент-серверные системы

Cтиль иерархические многоуровневые системы

Cтиль система взаимодействующих процессов

Cтиль системы, управляемой событиями

Cтиль системы, основанной на использовании централизованной базы данных

Cтиль системы, использующей принцип классной доски

Cтиль интерпретаторы

Cтиль системы, основанной на правилах

16. Перечислите и охарактеризуйте группы архитектурных стилей. 1)Потоки данных: системы пакетно-посследовательной обработки; системы типа конвейер- фильтры. Системы пакетно-посследовательной обработки – набор взаимосвязанных модулей, образующие линейную структуру.

Системы типа конвейер-фильтры – близок к (1) системам и может быть рассмотрен, как его обобщения. Представляют собой множество модулей, каждому из которых в соответствии ставится выполнение одного или нескольких процессов. 2)Вызов с возвратом: программы-сопрограммы; объектно-ориентированные системы; клиент-серверные системы; иерархические многоуровневые системы.

3)Независимые компоненты: системы взаимодействующих процессов; системы, управляемые событиями. 4)Централизованные данные: системы, основанные на использовании БД; системы, использующие принцип классной доски.

5)Виртуальные машины: интерпретаторы; системы, основанные на правилах.

17. Охарактеризуйте архитектурный стиль пакетно-последовательная обработка, приведите примеры его использования.

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

18. Охарактеризуйте архитектурный стиль конвейеры и фильтры и приведите примеры его использования. Стиль типа конвейеры и фильтры – близок к стилю пакетно-последовательской обработки и может быть рассмотрен, как его обобщения. Представляют собой множество модулей, каждому из которых в соответствии ставится выполнение одного или нескольких процессов. Модули бывают одинаковыми, различными и уникальными. Выполняются в пределах одного или разных хостов. Пример использования: Утилиты UNIX;.

19. Охарактеризуйте архитектурный стиль программа-сопрограммы и приведите примеры его использования. Самый старый стиль. Программа выполняет функцию контроллера, который выполняет управление вычислительным процессом, а вся функциональность реализуется в сопрогах. При этом сопроги могут выполняться на локальном или удаленном хосте. Отличительные особенности: наличие единственной нити управления между прогой и сопрогой. Реализуется в структурном программировании. Основная прога и сопрога выполняются одновременно/параллельно. При этом на основную прогу возлагается функция диспетчеризации. Пример использования: многопроцессорные системы.

20. Охарактеризуйте архитектурный стиль объектно-ориентированные системы и приведите примеры его использования. Это частные случаи систем типа программы-сопрограммы, при этом каждый объект может находиться как на разных хостах, так и на одном. Отличительная особенность: Способность к полному инкапсулированию кода и данных, при этом общение между объектами реализуется посредством процедур либо механизма сообщений. Поддерживается механизм наследования и телегирования. Недостатки: необходимость знать расположение каждого объекта другим объектам, с которым предполагается взаимодействие. Положительные стороны: Возможность закрытия данных от пользователя, что позволяет изменять внутреннее представление объекта без уведомления клиента. Пример использования: компьютерная анимация.

21. Охарактеризуйте архитектурный стиль клиент-серверные системы и приведите примеры его использования. Один из разновидностей традиционных систем, в которой число и типы производства фиксированы. В случае увеличения числа запросов такие системы могут масштабироваться. 2 типа КСС: с толстым и тонким клиентом. Толстый содержит программный код, отвечающий за представлении данных. Содержит большую долю кода, реализует бизнес-логические системы. Тонкий содержит программный код, который реализует исключительно функции по предоставлению инфы. КСС могут быть построены по разным принципам. Примеры использования: Основная модель бизнес-приложений: клиентские приложения, воспринимающие запросы пользователей и сервера, выполняющие эти запросы.

22. Охарактеризуйте архитектурный стиль иерархические многоуровневые системы и приведите примеры его использования. Это системы с отдельно выделенными, иерархически расположенными, блоками (подсистемами), которые организованы по определенной структуре. Подсистемы, характеризующиеся рядом однородных характеристик по отношению к вышестоящим подсистемам, определяют уровень иерархической системы. Многоуровневые иерархические системы относятся к классу больших систем. Многоуровневая экономическая система обычно сформирована в структуру, в которой выделяются взаимосвязанные иерархически расположенные подсистемы. Разделение иерархической экономической системы (ИС) по уровням позволяет более детально исследовать взаимосвязи между отдельными подсистемами, находящимися на одном уровне, а также подсистемами, которые являются частью иерархической системы, состоящей из нескольких уровней. Обычно ИС представляют в виде направленного графа.Чем ниже спускаемся по уровням иерархической системы, тем глубже понимаем деятельность каждой локальной экономической подсистемы. На более высоких уровнях иерархии становится более понятным механизм функционирования всей ИС в целом. При этом подсистемы верхнего уровня обычно решают более сложные задачи, связанные с распределением капиталовложений и лимитированных ресурсов по нижестоящим локальным подсистемам.  Примеры использования: Телекоммуникацион-ные протоколы в модели OSI; реальные протоколы сетей передачи данных; cистемы автоматизации предприятий.

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

24. Охарактеризуйте архитектурный стиль системы, управляемой событиями и приведите примеры его использования. На первый взгляд, концепция систем, управляемых событиями, близко родственна гармонически взаимодействующим процессам. Во всяком случае, одно из ключевых понятий этой архитектуры, очередь событий, мы упоминали в числе средств гармонического межпоточного взаимодействия. Различие между этими архитектурами состоит, скорее, во взгляде на то, что представляет собой программа. В модели гармонически взаимодействующих потоков процесс исполнения программного комплекса представляет собой совокупность взаимодействующих нитей управления. В системе, управляемой событиями, программа представляет собой совокупность объектов, обменивающихся сообщениями о событиях, а также реагирующих на сообщения, приходящие из внешних источников. В идеале, объекты взаимодействуют между собой только через сообщения. Приходящие сообщения побуждают объект изменить свое состояние и, возможно, породить некоторое количество сообщений, предназначенных для других объектов. При такой модели взаимодействия нам неважно, исполняются ли методы объектов как параллельные (или псевдопараллельные) нити, или же последовательно вызываются единой нитью, менеджером или диспетчером сообщений. Пример использования: создание интерактивных программ с динамичным пользовательским интерфейсом.

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

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

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

28. Охарактеризуйте архитектурный стиль системы, основанной на правилах и приведите примеры его использования. Алгоритм решения задачи можно описать в терминах множества правил и способов их применения. Правила могут меняться конечным пользователем. Системы, основанные на правилах, относятся к двум главным разновидностям: системы с прямым логическим выводом и системы с обратным логическим выводом. Система с прямым логическим выводом начинает свою работу с известных начальных фактов и продолжает работу, используя правила для вывода новых заключений или выполнения определённых действий. Система с обратным логическим выводом начинает свою работу с некоторой гипотезы, или цели, которую пользователь пытается доказать, и продолжает работу, отыскивая правила, которые позволят доказать истинность гипотезы. Для разбиения крупной задачи на мелкие фрагменты, которые можно будет более легко доказать, создаются новые подцели. Системы с прямым логическим выводом в основном являются управляемыми данными, а системы с обратным логическим выводом - управляемыми целями. В обратном механизме логического вывода работа начинается от поставленной цели. Если цель A согласуется с заключением продукции, то посылка принимается за подцель и делается попытка подтверждения истинности этого факта. Процесс повторяется до тех пор, пока не будут просмотрены все правила, имеющие в качестве заключения требуемый факт.

Антипаттерны и классификация

Антипаттерны (anti-patterns), также известные как ловушки (pitfalls) — это классы наиболее часто внедряемых плохих решений проблем. Они изучаются, как категория, в случае когда их хотят избежать в будущем, и некоторые отдельные случаи их могут быть распознаны при изучении неработающих систем. Термин происходит из информатики, из книги «Банды четырёх» Шаблоны проектирования, которая заложила примеры практики хорошего программирования. Авторы назвали эти хорошие методы «паттернами», и противоположными им являются «антипаттерны». Частью хорошей практики программирования является избегание антипаттернов.

Антипаттерны разработки

Антипаттерны архитектуры

Антипаттерны менеджмента

Антипаттерны в управлении разработкой ПО и их свойства «Дым и зеркала» (Smoke and mirrors)Демонстрация того, как будут выглядеть ненаписанные функции. Название происходит от двух излюбленных способов, которыми фокусники скрывают свои секреты «Раздувание» ПО (Software bloat)Разрешение последующим версиям системы требовать все больше и больше ресурсов «Функции для галочки»Превращение программы в конгломерат плохо реализованных и не связанных между собой функций (как правило, для того чтобы заявить в рекламе, что функция есть)

Антипаттерны в разработке ПО Неопределенная точка зрения (Ambiguous viewpoint) Представление модели без спецификации ее точки рассмотрения «Б ОЛЬШОЙ КОМОК грязи» (Big ball of mud)Система с нераспознаваемой структурой «Раздувание интерфейса» (Interface bloat)Изготовление интерфейса очень мощным и очень трудным для осуществления

Антипаттерны в объектно-ориентированном проектировании «Божественный» объект (God object)Концентрация слишком большого количества функций в одной части системы (классе) «Полтергейст» (Poltergeist)Объекты, чье единственное предназначение передавать информацию другим объектам

Антипаттерны в области программирования Ненужная сложность (Accidental complexity)Внесение ненужной сложности в решение «Действие на расстоянии» (Action at a distance) Неожиданное взаимодействие между широко разделенными частями системы «Накопить и запустить» (Accumulate and fire)Установка параметров подпрограмм в наборе глобальных переменных.

Захман

Существует слишком много проблем, которые необходимо устранить для успешного создания архитектуры MAM-EA, но невозможно устранить с помощью методологии Захмана. Методология Захмана не дает пошаговых инструкций по созданию архитектуры. Методология Захмана даже не позволяет определить, является ли создаваемая архитектура лучшей из возможных. Кроме того, методология Захмана не позволяет определить, необходимо ли вообще создавать новую архитектуру. Для решения этих и других проблем необходимо обратиться к другим методологиям.

Классификация паттернов

Предлагается следующая общая классификация паттернов по категориям их применения:

Архитектурные паттерны

Паттерны проектирования

Паттерны анализа

Паттерны тестирования

Паттерны реализации

Классификация фреймворков

Архитектурные фреймворки это«совокупность соглашений, принципов и практик, используемых для описаний архитектур и принятых применительно к некоторому предметному домену и (или) в сообществе специалистов (заинтересованных лиц)» Фреймворки уровня промежуточного ПО используются для интеграции распределенных приложений и компонентов. Фреймворки, ориентированные на приложения, используются, в первую очередь, для поддержания процесса разработки систем, ориентированных на конечного пользователя и принадлежащих некоторому конкретному предметному домену.

Использование инфраструктурных фреймворков упрощает разработку инфраструктурных элементов, таких как, например операционные системы. Обычно такие фреймворки используются внутри организации и не поступают в продажу. Фреймворки, используемые по принципу белого ящика, называют также архитектурными фреймворками (architecture- driving framework). Фреймворк, работающий по принципу белого ящика, определяется через интерфейсы объектов, которые разработчик может добавлять в систему.

Фреймворки, используемые по принципу черного ящика, называют также фреймворками, управляемыми данными. В качестве основных механизмов формирования приложения выступают композиция компонентов и параметризация. Фреймворки уровня приложения (application frameworks) обеспечивают полный набор функций, которые реализуются типовыми приложениями. Обычно сюда входят GUI, базы данных, документация. Примером таких фреймворков могут быть MFC (Microsoft Foundation Classes), которые служат для создания приложений, ориентированных на работу в среде MS Windows.

Фреймворки уровня домена (Domain frameworks) используются для создания приложений, относящихся к определенному предметному домену.

Паттерн Фреймворк

Шаблон проектирования или паттерн (англ. design pattern) в разработке программного обеспечения — повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.

Обычно шаблон не является законченным образцом, который может быть прямо преобразован в код; это лишь пример решения задачи, который можно использовать в различных ситуациях. Объектно-ориентированные шаблоны показывают отношения и взаимодействия между классами или объектами, без определения того, какие конечные классы или объекты приложения будут использоваться. Фреймворк (англ. framework — каркас, структура) — программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта

Распределение архитектуры

Открытость – возможность расширения системы путем добавления новых ресурсов;

•Поддерживают совместное использование;

•Параллельность вычислений;

•Масштабируемость – возможность добавления новых свойств и методов;

• Отказоустойчивость;

•Прозрачность;

Фреймворк Хафмана

Фреймворк Захмана В основе данного фреймворка лежит классификация (таксономия) артефактов. функционирование организации можно описать в терминах ответа на шесть простых вопросов: что, как, где, кто, когда, почему: используемые данные (что?); процессы и функции (как?); места выполнения процессов (где?); организации и персоналии (кто?); управляющие события (когда?); цели и ограничения, определяющие работу системы (почему?).

Фреймворк Захмана Ответы на эти вопросы можно давать с использованием различных понятий, т.е. с разной степенью детализации. При этом выделяется шесть уровней: уровень контекста; уровень бизнес-описаний; системный уровень; технологический уровень; технический уровень; уровень реальной системы.

ТОГАФ

В модели TOGAF архитектура предприятия подразделяется на четыре категории:

Архитектура бизнеса — описывает процессы, используемые для достижения бизнес-целей

Архитектура приложений — описывает структуру конкретных приложений и их взаимодействие друг с другом

Архитектура данных — описывает структуру корпоративных хранилищ данных и процедуры доступа к ним

Технологическая архитектура — описывает инфраструктуру оборудования и программного обеспечения, в которой запускаются и взаимодействуют приложения

Модель TOGAF позиционируется как «структура», однако наиболее важным ее компонентом является методика разработки архитектуры (ADM). Эта методика представляет собой рецепт по созданию архитектуры. Рецепт можно классифицировать как процесс. С учетом того, что методика разработки архитектуры является наиболее значимой составляющей модели TOGAF, я рассматриваю TOGAF в целом как архитектурный процесс, а не как архитектурную структуру (как позиционирует TOGAF консорциум The Open Group) или методологию (как позиционируется методика разработки архитектуры).

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

В модели TOGAF мир архитектуры предприятия рассматривается как континуум архитектур, от максимально обобщенных до максимально специализированных. Этот континуум называется континуумом предприятия. Процесс создания конкретной архитектуры предприятия, например MAM-EA, рассматривается как переход от общей архитектуры к специализированной. Методика разработки архитектуры в модели TOGAF представляет собой процесс осуществления такого перехода.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]