- •Введение
- •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. Антишаблоны проектирования
систем могут выступать банкоматы, торговые автоматы, системы безо-
пасности.
СУД включает следующие основные компоненты [18]:
–субъект, т.е. активную сущность, запрашивающую доступ к объекту от имени пользователя, при этом для входа в систему требуются имя и пароль;
–объект, т.е. хранилище информации или ресурса, которое необ-
ходимо защищать от несанкционированного доступа;
–базу данных авторизаций, содержащую информацию о правах доступа субъекта к объекту;
–подсистему контроля безопасности, обеспечивающую отсле-
живание всех попыток входа в систему и фиксирующую их в специальном журнале;
–процессор авторизации, который реализует процедуру автори-
зации пользователя.
Примерами СУД могут служить LDAP [19], ActiveDirectory [20], ApacheDirectory [21].
1.3. Уровни реализации архитектуры ИС
Архитектура данных подразумевает как логические, так и физиче-
ские методы хранения данных, их использования, а также управления.
Существуют следующие уровни архитектуры [2].
1.Бизнес-архитектура подразумевает бизнес-идеи, основные биз-
нес-процессы и организацию предприятия.
2.ИТ-архитектура обеспечивает достижение бизнес-целей, предос-
тавляя программно-аппаратные средства, на которых базируется та или иная информационная система.
10
3.Архитектура данных и знаний определяет логические и физиче-
ские средства хранения данных, а также средства управления ими.
4.Архитектура приложений или архитектура программных средств есть совокупность прикладных программ, используемых для ре-
шения конкретных задач конечного пользователя.
5.Архитектура аппаратных средств есть описание организации ап-
паратного обеспечения информационной системы и таких компо-
нентов, как процессоры, память, накопитель информации, сете-
вые устройства.
Архитектура информационной системы в целом представляет со-
бой многоуровневую композицию архитектур вышеперечисленных уровней. За реализацию каждого из уровней отвечает отдельный архи-
тектор.
Главный архитектор (CA – chief architect) занимается описанием и организацией основных информационных или технологических про-
цессов компании. Вырабатывает стратегии развития компании в кон-
тексте информационных технологий, определяет ИТ-ландшафт пред-
приятия.
Корпоративный архитектор (enterprise architect) в основном от-
вечает за согласованность высокоуровневых вещей между доменами.
Он не знает всех деталей реализации конкретного решения, но как это решение влияет на всю структуру информационной системы и взаимо-
действует с другими системами – это его задача и обязанность.
Архитектор решений (solution architect) отвечает за результаты работы архитекторов, привлекаемых в рамках отдельной информаци-
онной системы. Зона его ответственности велика: от контроля бизнес-
процессов до влияния решения на ИС. 11
Архитектор программного обеспечения (software architect) отве-
чает за проектирование и разработку программного обеспечения, соз-
дание его архитектуры, при этом определяя внутреннюю систему и внешний вид.
Архитектор инфраструктуры (infrastructure architect) занима-
ется организацией физического взаимодействия серверов компании,
кластеров серверного оборудования и межсерверного сетевого взаимо-
действия. В задачи архитектора инфраструктуры также входит обеспе-
чение межсервисного взаимодействия программного обеспечения сто-
ронних поставщиков ИС.
1.4. Атрибуты качества информационных систем
Первоочередной задачей архитектора информационных систем яв-
ляется обеспечение качества разрабатываемой системы.
Под качеством ИС понимается программное обеспечение, которое входит в состав этой ИС. Качество программного обеспечения (ПО) –
совокупность характеристик, отражающих способность ПО удовлетво-
рить установленным или предполагаемым потребностям.
Разные группы пользователей могут оценивать качество ИС по-
разному. В соответствии с международным стандартом ИСО/МЭК
9126-2001 [22] для оценки качества ПО предлагается использовать сле-
дующие основные характеристики (вместе с субхарактеристиками для детализации), рис. 1.
12
Рисунок 1 – Атрибуты качества ИС ISO
У атрибутов качества есть недостатки. Существует проблема не-
верной трактовки качества при архитектуре ИС. Проблема в том, что разработчик фокусируется на одном наиболее важном, по его мнению,
атрибуте качества, игнорируя (откладывая) реализацию других атрибу-
тов качества.
В случае если ведётся разработка информационной системы для поддержки бизнес-процессов, характеризующихся высокой волатиль-
ностью функциональных требований, предъявляемых к ИС, в первую очередь, целесообразно обеспечить информационную систему удобст-
вом сопровождения, так как только возможность быстрого внесения
13
