- •Введение
- •1. Цели и задачи архитектора информационных систем
- •1.1. Цели создания информационных систем
- •1.2. Базовые структуры информационных систем
- •1.3. Уровни реализации архитектуры ИС
- •1.4. Атрибуты качества информационных систем
- •1.5. Сопровождение бизнес-ориентированных ИС
- •2.2. Структурное программирование
- •2. Парадигмы программирования
- •2.1. Модульное программирование
- •2.4. Функциональное программирование
- •2.5. Общие тенденции развития парадигм программирования
- •3. Чистая архитектура
- •3.1. Кричащая архитектура
- •3.2. Принципы SOLID
- •3.2.1. Принцип единственной ответственности
- •3.2.2. Принцип открытости/закрытости
- •3.2.3. Принцип подстановки Б. Лисков
- •3.2.4. Принцип разделения интерфейсов
- •3.2.5. Принцип инверсии зависимостей
- •3.3. Программные компоненты и принципы их организации
- •3.3.1. Диаграмма компонентов
- •3.3.2. Принципы взаимосвязи компонентов
- •3.3.3. Принцип эквивалентности повторного использования и выпусков
- •3.3.4. Принцип согласованного изменения
- •3.3.5. Принцип совместного повторного использования
- •3.3.6. Сравнение принципов взаимосвязи компонентов
- •3.4. Компонентный подход как способ динамического изменения архитектуры ИС
- •3.4.1. Принцип ацикличности зависимостей
- •3.4.2. Принцип устойчивых зависимостей
- •3.4.3. Принцип устойчивости абстракций
- •3.4.4. Графическая интерпретация принципов SDP и SAP
- •3.5. Вычислительные архитектуры ИС
- •3.5.1. Клиент-серверная архитектура
- •3.5.2. Трёхзвенная архитектура
- •3.5.3. Микросервисная архитектура
- •3.6. Шаблоны и антишаблоны проектирования ИС
- •3.6.1. Шаблоны проектирования
- •3.6.2. Антишаблоны проектирования
1. Цели и задачи архитектора информационных систем
1.1. Цели создания информационных систем
Существует множество различных информационных систем, каж-
дая из которых создана с определённой целью. Необходимость инфор-
мационной системы заключается в автоматизации целенаправленной деятельности конечных пользователей, обеспечении возможности по-
лучения, изменения и хранения информации в соответствии с заложен-
ной в неё логикой работы и поддержки динамической информационной модели части реального мира с целью удовлетворения информацион-
ных потребностей пользователя.
Информационные системы обладают многообразием типов и име-
ют собственную классификацию, в качестве признаков которой исполь-
зуется функциональность ИС, т.е. решаемые проблемы и особенности их реализации [2].
Классификация ИС по их назначению и функциональности может быть проведена по нескольким признакам.
По характеру решаемых задач различаются:
–системы для решения задач трудоёмкого вычислительного ха-
рактера;
–информационно-справочные информационные системы, ис-
пользуемые для поиска и выдачи информации пользователю;
–информационные системы, обеспечивающие предоставление доступа к данным и вычислительным ресурсам, доступа в Ин-
тернет, хранение данных;
–системы поддержки принятия решений;
–коммуникационные системы.
4
По функциональному назначению выделяются следующие виды
ИС:
–информационно-управляющие системы (Management Information Systems), обеспечивающие выдачу обобщённых данных,
которые реализуют поддержку принятия решений пользовате-
лем;
–системы мониторинга и управления ресурсами (Resource Allocation and Tracking Systems), позволяющие осуществлять кон-
троль и изменение состояния системы;
–управляющие системы (Process Control Systems), обеспечи-
вающие отслеживание и управление параметрами системы;
–системы управления производством (Manufacturing Systems),
необходимые для поддержки производственных процессов;
–системы управления доступом (Access Control Systems), обес-
печивающие контроль доступа к различным объектам и ресур-
сам.
Информационные системы в основном ориентированы на исполь-
зование в определённой предметной области. Ниже приведён пере-
чень наиболее широко использующихся информационных систем:
–системы управления организацией / предприятием [3];
–системы поддержки продаж (системы этого типа включают в себя как интернет-магазины, так и биллинговые системы) [4, 5];
–телекоммуникационные системы (обеспечивают функциониро-
вание систем передачи данных) [6];
–геоинформационные системы (осуществляют сбор, хранение,
анализ и визуализацию пространственных данных) [7];
5
–информационные системы управления технологическими объ-
ектами (например, атомными станциями, конвейерными и сбо-
рочными линиями) [8];
–информационные системы управления транспортными средст-
вами (например, летательными и космическими аппаратами,
автомобилями и морскими судами) [9];
–медицинские информационные системы (к ним относят как системы поддержания жизнедеятельности человека, так и сис-
темы поддержки принятия решений при постановке диагноза) [10];
–образовательные информационные системы (предназначены для интерактивного обучения, тестирования) [11, 12, 13].
По степени автоматизации выделяют:
–автоматизированные ИС (для функционирования требуется участие человека);
–автоматические ИС (для функционирования не требуется уча-
стие человека).
По масштабности применения различают следующие виды ин-
формационных систем:
–персональные: системы, предназначенные для личного исполь-
зования одним человеком;
–коллективные: системы, предназначенные для совместного ис-
пользования несколькими пользователями;
–корпоративные: системы, предназначенные для использования в рамках отдельной организации;
–глобальные: системы, ориентированные на использование в масштабе некоторого множества организаций.
6
Информационные системы также могут быть классифицированы
по архитектуре аппаратных средств [2]:
–информационные системы, предназначенные для одной вычис-
лительной машины;
–информационные системы, предназначенные для нескольких вычислительных машин;
–информационные системы, представленные в виде сетевого ре-
сурса («облачные» информационные системы).
1.2. Базовые структуры информационных систем
Информационные системы могут иметь различную структуру, оп-
ределяемую кругом решаемых ими задач. Ниже перечислены основные базовые структуры информационных систем [2].
Информационно-управляющие системы (ИУС) применяются преимущественно для административного управления и управления в технических системах. ИУС предназначены для сбора данных, посту-
пающих из разных источников, обработки данных и выдачи результа-
тов в виде отчёта.
ИУС имеет следующие структурные компоненты:
–источники данных, обрабатываемые при выполнении транзак-
ций;
–промежуточную базу данных, предназначенную для временно-
го хранения результатов обработки данных;
–основную базу данных, используемую для накопления данных
в течение длительного промежутка времени, при этом содер-
жимое базы регулярно пополняется;
–подсистему обработки, обеспечивающую работу с транзакция-
ми;
7
–подсистему генерации отчётов, позволяющую предоставлять пользователю информацию в более наглядном виде;
–интерфейсную подсистему, обеспечивающую ввод и редакти-
рование данных при использовании их транзакциями.
ИУС могут иметь оперативные, тактические и стратегические дан-
ные.
Оперативные данные извлекаются из данных, поступающих от ис-
точников данных, и необходимы для поддержки принятия решений на краткосрочные цели.
Тактические данные являются результатом обобщения оператив-
ных данных и предназначены для поддержки принятия решений на среднесрочные цели.
Стратегические данные формируются путём обобщения тактиче-
ских данных и предназначены для поддержки принятия решений на долгосрочные цели.
Примером ИУС является информационная система, разработанная для торговли акциями на бирже [14, 15].
Системы мониторинга и управления ресурсами (СМУР) исполь-
зуются для решения задач управления на производстве, в торговле и осуществляют отслеживание состояния сущности (физического объек-
та) в течение некоторого заданного времени.
Ключевые термины «мониторинг» и «управление» подразумевают определение текущего состояния отслеживаемого объекта и возмож-
ность изменения этого состояния соответственно.
Процесс работы таких систем можно описать следующим образом:
фиксируется информация, далее отслеживается её состояние и на осно-
ве результатов мониторинга выполняется её перемещение и удаление.
8
В качестве примеров СМУР можно привести системы управления производственными складами, торговыми сетями, компьютерными се-
тями [16].
Системы управления производством (СУП): работа данных сис-
тем заключается в превращении первичного сырья (полуфабриката) в
конечный продукт, т.е. в сложную систему с многоуровневой структу-
рой, включающей различные элементы и узлы. Превращение может осуществляться в несколько стадий, в зависимости от потребностей за-
казчика. В качестве производимого продукта может выступать как фи-
зический объект, так и информация о физических сущностях.
СУП имеет следующие характерные особенности:
–поддержание больших объёмов данных различной природы;
–высокую сложность алгоритмов управления СУП;
–важность соответствия входных и выходных данных сущест-
вующим эталонным данным.
СУП обрабатывают три вида потоков:
–материальные потоки, т.е. потоки сырья, ресурсов, обеспечи-
вают динамику ресурсов с целью создания готового продукта;
–информационные потоки, т.е. потоки, связанные, в первую очередь, с планированием и управлением производством;
–стоимостные потоки учитывают изменение стоимости продук-
ции на каждом этапе производства на основе учёта соответст-
вующих расходов.
Ксистемам управления производством можно отнести так назы-
ваемые MES-системы [17].
Системы управления доступом (СУД) используются для обеспе-
чения доступа субъектов к объектам и ресурсам. В качестве данных
9
