Начиная с этой статьи, я разберу статьи про "системного архитектора" софт-экзамена. Если что не так, укажите на это.
Архитектура системыдаОбщее структурное представление системы на высоком уровне.
,дасистематическийскелет
ифундамент
,ЧтоОпределяет надежность и жизненный цикл системы.
。
Определение архитектуры взято из стандарта IEEE 1471-2000. Архитектура — это базовая организация системы, воплощенная в компонентах, их взаимосвязи друг с другом и окружающей средой, а также в принципах, лежащих в основе ее проектирования и разработки.
Например, Java Platform Standard Edition 8 также можно назвать архитектурой платформы Java. Структуру, связанную с Java, можно увидеть на рисунке.
Рисунок из: https://docs.oracle.com/javase/8/docs/index.html.
В качестве другого примера можно привести базу данных MySQL, которая часто используется разработчиками, систему управления файлами данных, в которой хранятся данные. Давайте посмотрим на диаграмму архитектуры InnoDB.
Изображение взято с: https://dev.mysql.com/doc/refman/8.4/en/innodb-architecture.html.
Не имеет значения, если вы не понимаете две приведенные выше диаграммы архитектуры. Мы не будем использовать приведенные выше диаграммы на экзамене. Мы здесь только для того, чтобы объяснить, что такое архитектура, и дать концепцию. С точки зрения непрофессионала,
【Архитектура системы】
Архитектура системы (System Architecture)даОбщее структурное представление системы на высоком уровне.
,Это скелет и основа системы.,Поддержка и ссылки на различные части,включатькомпоненты
、Разъем
、спецификация ограничения
а такжеПринципы, которые определяют дизайн и развитие этого контента.
,этода Тот, который изображает общую абстрактную структуру системы.добрыйозначает。Архитектура системыразработанныйЦель состоит в том, чтобы создать серию связанных абстракций для системы, которую необходимо разработать.
,Используется для руководства проектированием и внедрением всех аспектов системы.,Архитектурное проектирование играет ключевую роль в процессе разработки системы.,Архитектураразработанныйплюсы и минусы Определяет надежность и жизненный цикл системы.。
【Архитектура программного обеспечения】
Архитектура программного обеспечения (также называемая системной архитектурой) — это средство, используемое для описания общей абстрактной структуры программной системы. Проектирование архитектуры программного обеспечения также является важной частью процесса разработки программной системы.
1. Программное обеспечение является сложным и нестабильным, его поведенческие характеристики трудно предсказать, а в процессе разработки программного обеспечения отсутствует эффективная связь между требованиями и дизайном.
преобразование, что делает процесс разработки программного обеспечения сложным и неконтролируемым.
2. По мере того как программные системы становятся больше и сложнее, структура и характеристики всей системы становятся все более сложными.
Тем это важнее.
3. Для крупномасштабных сложных программных систем по сравнению с выбором вычислительных алгоритмов и структур данных общая структура системы
Дизайн и технические характеристики стали значительно более важными.
4. Углубленное исследование структуры программных систем станет наиболее перспективным способом повышения производительности программного обеспечения и решения проблем сопровождения программного обеспечения.
новые способы.
С учетом вышеперечисленных проблем архитектура программного обеспечения возникла в соответствии с требованиями времени. На основе этих проблем развитие архитектуры программного обеспечения можно разделить на четыре этапа, а именно этап фундаментальных исследований, этап совершенствования и разработки теоретической системы и концептуальная система. и этап формирования основной технологии, этап популяризации и применения.
Архитектура программного обеспечения — важный продукт жизненного цикла программного обеспечения, который влияет на все этапы разработки программного обеспечения.
● Этап требований. Введение определенных концепций архитектуры программного обеспечения на этапе анализа требований помогает обеспечить согласованность между спецификацией требований и проектом системы.
прослеживаемость и последовательность.
● Стадия проектирования. Стадия проектирования — это самый ранний и наиболее целенаправленный этап исследования архитектуры программного обеспечения. В основном архитектура программного обеспечения находится на этом этапе.
Включая описание архитектуры программного обеспечения, проектирование и анализ моделей архитектуры программного обеспечения, а также обзор и анализ опыта проектирования архитектуры программного обеспечения.
Используйте ожидание.
● Этап реализации: алгоритмы и типы данных, разработанные на этапе проектирования, выражаются на языке программирования в соответствии с требованиями проектирования и архитектуры.
В соответствии с требованиями анализа структуры и требований получается целевая система, удовлетворяющая проектным требованиям.
● Фаза сопровождения: чтобы гарантировать хорошую ремонтопригодность программного обеспечения, цели сопровождения анализируются в архитектуре программного обеспечения.
Когда архитектура проходит определенный период времени, необходимо предусмотреть некоторые атрибуты, связанные с удобством сопровождения (такие как масштабируемость и заменяемость).
Когда реализуется определенный процесс разработки и формируется программная система, эти атрибуты также соответственно отражают удобство сопровождения программного обеспечения.
Архитектурные дизайнеры также постепенно стали играть очень важную роль в процессе разработки программного обеспечения с постоянным развитием архитектурных концепций.
Роль.
典型的Архитектура模型включатьмногоуровневая архитектура
、архитектура, управляемая событиями
、микроядерная архитектура
、Микросервисная архитектура
иОблачная архитектура
Пять категорий。
1. Многоуровневая архитектура (Layered Architecture)да最常见的软件Архитектура,Это также стандартная архитектура де-факто. Общая ситуация,в наслоениях,будет разделен на четыре этажа:Уровень представления、бизнес-уровень、слой сохранения、база данных。
● Уровень представления: пользовательский интерфейс, отвечающий за визуальное и пользовательское взаимодействие;
●Бизнес-уровень: реализует бизнес-логику;
● Уровень сохраняемости: на этом уровне размещаются данные и операторы SQL;
● База данных (уровень базы данных): сохранение данных.
На самом деле, когда мы обычно пишем пояснительные документы, мы здесь часто выставляем напоказ техническую архитектуру, то есть пишем по многоуровневой архитектуре. Понять это можно, посмотрев на картинку.
архитектура, управляемая событиями
、микроядерная архитектура
Нетда Я жду, пока коровы и лошади позаботятся,Это все сложные,В обычных обстоятельствах эти двое не будут проверены.,Просто сосредоточьтесь на определении.
2. Микросервисная архитектура (Microservices Architecture) Это сервис-ориентированная архитектура. (Service-Oriented Обновление архитектуры, SOA). Каждая служба представляет собой независимую единицу развертывания. (Separately Deployed Единица). Эти устройства распределены и отделены друг от друга посредством протоколов удаленной связи (таких как REST, SOAP). соединять.
еще надо посмотреть картинку,Это можно понять, посмотрев на картинку,Но внизу некоторые наши компании уступают лошадям,,Большинство используемых микросервисных архитектур являются ложными предложениями.,этот Что Реальностьда Реальность现上所遗留的问题。Например, нельзя удовлетвориться однимВсе элементы распределены.Во многих случаяхда Использование одной единицы микросервисов имеет единственную точку риска.。
3. Облачная архитектура (Cloud Architecture)В основном решают масштабируемостьи Проблемы параллелизма,Это самая простая для расширения архитектура.
Облачная архитектура в основном разделена на две части: процессорное устройство и виртуализированное промежуточное программное обеспечение. Виртуальное промежуточное ПО содержит четыре компонента:
● Сетка сообщений: управляет запросами пользователей и контролем сеансов (сессий при поступлении запроса).
После прихода он решает, какому процессору его назначить.
● Промежуточное программное обеспечение данных (Data Grid): копирует данные в каждый процессор, то есть синхронизирует данные. гарантировать определенный процесс
Все устройства получают одни и те же данные.
● Сетка обработки: необязательно, если запрос включает в себя различные типы блоков обработки, это промежуточное программное обеспечение
Промежуточное программное обеспечение отвечает за координацию блоков обработки.
● Промежуточное программное обеспечение развертывания (менеджер развертывания): отвечает за запуск и завершение работы процессоров, мониторинг нагрузки и времени отклика.
В период, когда нагрузка увеличивается, блок обработки запускается заново, а когда нагрузка снижается, блок обработки выключается.
Модели архитектуры программного обеспечения делятся на4добрый:структурная модель
、рамочная модель
、динамическая модель
имодель процесса
。
● Структурная модель: это наиболее интуитивно понятный и распространенный метод моделирования. Этот метод характеризует конструкции с точки зрения архитектурных компонентов, соединителей и других концепций. И попытайтесь отразить важное семантическое содержание системы через структуру, включая конфигурацию, ограничения, неявные предположения, стиль и природу системы. Ядром исследовательской структурной модели является язык описания архитектуры.
● Каркасная модель. Каркасная модель похожа на структурную модель, но в ней меньше внимания уделяется описанию деталей конструкции, а больше - общей структуре. Рамочная модель в основном нацелена на некоторые специальные проблемы, чтобы создать структуру, ориентированную только на эту проблему и адаптированную к ней.
● Динамическая модель. Динамическая модель является дополнением к структурной или каркасной модели и в основном изучает природу поведения «крупных частиц» системы. Например, опишите реконфигурацию или эволюцию системы. Динамика здесь может относиться к конфигурации общей структуры системы, процессу установления или демонтажа связи или вычислений. Такие модели системы часто являются мотивационными.
● Модель процесса. Модель процесса изучает этапы и процессы построения системы, а ее структура является результатом следования определенным сценариям процессов.
Современное крупномасштабное программное обеспечение редко использует один архитектурный стиль для проектирования и разработки. Вместо этого оно смешивает несколько стилей для описания возможностей крупномасштабных программных систем с разных точек зрения и обеспечения надежности, масштабируемости, ремонтопригодности и т. д. программной системы. . Корректное описание нефункциональных свойств.
Главы занимают меньше баллов на реальном экзамене,В большинстве случаев будет вопрос с несколькими вариантами ответов.,Но чтобы мы, разработчики, понимали основы и предысторию.,Стремитесь стать дизайнером архитектурных систем,Но это ступенька.