- •Введение
- •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. Антишаблоны проектирования
Министерство науки и высшего образования Российской Федерации
Рязанский государственный радиотехнический университет им. В.Ф. Уткина
Д.В. АНИКЕЕВ
АРХИТЕКТУРА ИНФОРМАЦИОННЫХ СИСТЕМ
Учебное пособие
Рязань 2022
УДК 004.41
Архитектура информационных систем: учеб. пособие / Д.В. Аникеев; Рязан. гос. радиотехн. ун-т. Рязань, 2022. 72 с.
Рассмотрены цели и задачи архитектора информационных систем. Приведён анализ основных парадигм программирования. Представлены понятия чистой и кричащей архитектуры. Рассмотрены принципы проектирования SOLID, понятие компонента информационной системы и основы компонентного подхода к разработке информационных систем.
Предназначено для студентов дневного и вечернего отделений направления 09.03.02 "Информационные системы и технологии".
Ил. 15. Библиогр.: 49 назв.
Архитектура информационных систем, парадигмы программирования, принципы SOLID, компонентно-ориентированное проектирование
Печатается по решению редакционно-издательского совета Рязанского государственного радиотехнического университета.
Рецензент: кафедра АСУ Рязанского государственного радиотехнического университета (зав. кафедрой С.И. Холопов)
А н и к е е в Дмитрий Владимирович
Архитектура информационных систем
Редактор Р.К. Мангутова Корректор И.В. Черникова
Подписано в печать 30.12.22. Формат бумаги 60×84 1/16. Бумага писчая. Печать трафаретная. Усл. печ. л. 4,5.
Тираж 20 экз. Заказ Рязанский государственный радиотехнический университет.
390005, Рязань, ул. Гагарина, 59/1. Редакционно-издательский центр РГРТУ.
(С)Рязанский государственный радиотехнический университет, 2022
Оглавление |
|
Введение............................................................................................................. |
3 |
1. Цели и задачи архитектора информационных систем .............................. |
4 |
1.1. Цели создания информационных систем ............................................ |
4 |
1.2. Базовые структуры информационных систем .................................... |
7 |
1.3. Уровни реализации архитектуры ИС................................................. |
10 |
1.4. Атрибуты качества информационных систем .................................. |
12 |
1.5. Сопровождение бизнес-ориентированных ИС ................................. |
14 |
2. Парадигмы программирования.................................................................. |
17 |
2.1. Модульное программирование........................................................... |
17 |
2.2. Структурное программирование ........................................................ |
18 |
2.3. Объектно-ориентированное программирование .............................. |
21 |
2.4. Функциональное программирование................................................. |
24 |
2.5. Общие тенденции развития парадигм программирования.............. |
26 |
3. Чистая архитектура ..................................................................................... |
27 |
3.1. Кричащая архитектура......................................................................... |
27 |
3.2. Принципы SOLID................................................................................. |
28 |
3.2.1. Принцип единственной ответственности................................... |
29 |
3.2.2. Принцип открытости/закрытости................................................ |
31 |
3.2.3. Принцип подстановки Б.Лисков.................................................. |
32 |
3.2.4. Принцип разделения интерфейсов.............................................. |
34 |
3.2.5. Принцип инверсии зависимостей................................................ |
36 |
3.3. Программные компоненты и принципы их организации ................ |
37 |
3.3.1. Диаграмма компонентов .............................................................. |
38 |
3.3.2. Принципы взаимосвязи компонентов......................................... |
39 |
3.3.3. Принцип эквивалентности повторного использования |
|
и выпусков .................................................................................. |
39 |
3.3.4. Принцип согласованного изменения .......................................... |
40 |
3.3.5. Принцип совместного повторного использования.................... |
41 |
3.3.6. Сравнение принципов взаимосвязи компонентов..................... |
42 |
3.4. Компонентный подход как способ динамического изменения |
|
архитектуры ИС .................................................................................. |
43 |
3.4.1. Принцип ацикличности зависимостей........................................ |
46 |
3.4.2. Принцип устойчивых зависимостей ........................................... |
47 |
3.4.3. Принцип устойчивости абстракций ............................................ |
47 |
3.4.4. Графическая интерпретация принципов SDP и SAP................. |
48 |
3.5. Вычислительные архитектуры ИС..................................................... |
50 |
3.5.1. Клиент-серверная архитектура.................................................... |
50 |
3.5.2. Трёхзвенная архитектура ............................................................. |
53 |
3.5.3. Микросервисная архитектура...................................................... |
55 |
3.6. Шаблоны и антишаблоны проектирования ИС ................................ |
58 |
3.6.1. Шаблоны проектирования ........................................................... |
58 |
3.6.2. Антишаблоны проектирования ................................................... |
63 |
Библиографический список ........................................................................... |
67 |
2
Введение
Под архитектурой в общем смысле понимается искусство проекти-
ровать и строить объекты, организующие пространственную среду жизнедеятельности человека [1]. Таким образом, архитектура информа-
ционных систем – это искусство проектировать и строить информаци-
онные системы (ИС). Понятие «искусство» в отношении ИС стоит вос-
принимать скорее в негативном ключе, так как оно отражает, во-
первых, отсутствие строгих формальных правил, позволяющих точно описать информационную систему, а во-вторых, значительную зависи-
мость качества итоговой ИС от квалификации и опыта архитектора.
Архитектор с греческого переводится как «главный строитель»,
что в отношении ИС является даже более точным определением, чем в случае с архитектором в общем смысле этого слова. «Главный строи-
тель» должен не только видеть всю картину в целом, но и сам быть строителем, т. е. уметь разрабатывать программные модули и владеть навыками настройки отдельных компонентов ИС.
Данное учебное пособие предназначено в первую очередь для обу-
чающихся, освоивших навыки программирования и разработки отдель-
ных компонентов информационной системы, но также может быть по-
лезно студентам, освоившим моделирование производственных и биз-
нес-процессов.
3
