exam09 - stankin/inet-2022 GitHub Wiki

Билет 9 Реферат к вопросам экзамена по дисциплине Интернет-технологии 1 курса магистратуры ▶️

Выполнили: Смышляев Г. Е. ИДМ-22-03; Хикматов У. С. ИДМ 22-04; Темури К. ИДМ-22-04; Сухоруков Илья ИДМ-22-07; Чернышов Александр ИДМ-22-01; Маришин Владислав ИДМ-22-06; Галкин Д.А. ИДМ-22-02; Бондаренко С.В. ИДМ-22-08

1. Понятия автоматизированной системы, информационной системы. Стадии создания автоматизированных систем.

1.1 Определение автоматизированной системы

Автоматизированная система представляет собой организационно-техническую систему, обеспечивающую выработку решений на основе автоматизации информационных процессов в различных сферах деятельности (управление, проектирование, производство и тому подобное) или их сочетаниях

Виды автоматизированных систем

Автоматизированные производственные системы

Когда нужно дать определение автоматизированной системы, предназначенной для обработки материальных или энергетических ресурсов (изготовления, сборки, транспортирования), можно привести такое определение по ДСТУ 2960-94:

Автоматизированная система — организационно-техническая система, состоящая из средств автоматизации определенного вида или нескольких видов деятельности людей и персонала, осуществляющего эту деятельность.

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

Автоматизированные информационные системы

Для автоматизированных систем, используемых в управлении, исследованиях, проектировании и др., смысл которых заключается в обработке информации, дано такое определение (ДСТУ 2941-94):

Автоматизированная система (в информационных технологиях) — система, реализующая информационную технологию выполнения установленных функций с помощью персонала и комплекса средств автоматизации.

В этом случае автоматизированные системы рассматриваются как информационные системы. В целом АС — это система, состоящая из персонала и комплекса средств автоматизации его деятельности и реализует информационную технологию выполнения установленных функций.

Свойства автоматизированных систем

1)Эффективность автоматизированной системы - Свойство АС, характеризуемое степенью достижения целей, поставленных при ее создании. К видам эффективности АС, например, относят экономическую, техническую, социальную и др.

2)Совместимость автоматизированных систем - Комплексное свойство двух или более АС, характеризуемое их способностью взаимодействовать при функционировании. Совместимость АС включает техническую, программную, информационную, организационную, лингвистическую и, при необходимости, метрологическую совместимость.

2.1)Техническая совместимость автоматизированных систем - Частная совместимость АС, характеризуемая возможностью взаимодействия технических средств этих систем.

2.2)Программная совместимость автоматизированных систем - Частная совместимость АС, характеризуемая возможностью работы программ одной системы в другой и обмена программами, необходимыми при взаимодействии АС.

2.3)Информационная совместимость автоматизированных систем - Частная совместимость АС, характеризуемая возможностью использования в них одних и тех же данных и обмена данными между ними.

2.4)Организационная совместимость автоматизированных систем - Частная совместимость АС, характеризуемая согласованностью правил действия их персонала, регламентирующих взаимодействие этих АС.

2.5)Лингвистическая совместимость автоматизированных систем - Частная совместимость АС, характеризуемая возможностью использования одних и тех же языковых средств общения персонала с комплексом средств автоматизации этих АС.

2.6)Метрологическая совместимость автоматизированных систем; метрологическая совместимость АС: Частная совместимость АС, характеризуемая тем, что точность результатов измерений, полученных в одной АС, позволяет использовать их в другой.

2.7)Адаптивность автоматизированной системы - Способность АС изменяться для сохранения своих эксплуатационных показателей в заданных пределах при изменениях внешней среды.

3)Надежность автоматизированной системы - Комплексное свойство АС сохранять во времени в установленных пределах значения всех параметров, характеризующих способность АС выполнять свои функции в заданных режимах и условиях эксплуатации.

4)Живучесть автоматизированной системы - Свойство AC, характеризуемое способностью выполнять установленный объем функций в условиях воздействий внешней среды и отказов компонентов системы в заданных пределах.2(https://studfile.net/preview/4170334/)

В зависимости от вида деятельности различают следующие разновидности АС:

  1. АСУ (автоматизированные системы управления), которые в свою очередь в зависимости от вида объекта управления разделяются на: 1.1. АСУ технологическими процессами (АСУ ТП); 1.2. АСУ предприятиями (АСУП), производством (АСУП) и т. д;
  2. САП (системы автоматизированного проектирования): 2.1. САПР (системы автоматизированного проектирования и расчета); 2.2. САРР ТП (системы автоматизированного проектирования технологических процессов) и тому подобное;
  3. АСНИ (автоматизированные системы научных исследований);
  4. АС обработки и передачи информации: 4.1. АИПС (автоматизированная информационно-поисковая система); 4.2. АСИТО (автоматизированная система информационно-терминологического обслуживания) и тому подобное;
  5. САМ (АС технологической подготовки производства);
  6. автоматизированные системы контроля и испытаний;
  7. АС, объединяющие функции перечисленных выше систем.

АС реализуют информационную технологию в виде определенной последовательности информационно связанных функций, задач или процедур, выполняемых в автоматизированном (интерактивном) или автоматическом режиме.

Основные компоненты автоматизированных систем.

1)Пользователь автоматизированной системы - Лицо, участвующее в функционировании АС или использующее результаты ее функционирования.

2)Эксплуатационный персонал автоматизированной системы.

3)Организационное обеспечение автоматизированной системы - Совокупность документов, устанавливающих организационную структуру, права и обязанности пользователей и эксплуатационного персонала АС в условиях функционирования, проверки и обеспечения работоспособности АС.

4)Методическое обеспечение автоматизированной системы - Совокупность документов, описывающих технологию функционирования АС, методы выбора и применения пользователями технологических приемов для получения конкретных результатов при функционировании АС.

5)Техническое обеспечение автоматизированной системы - Совокупность всех технических средств, используемых при функционировании АС.

6)Математическое обеспечение автоматизированной системы - Совокупность математических методов, моделей и алгоритмов, примененных в АС.

7)Программное обеспечение автоматизированной системы - Совокупность программ на носителях данных и программных документов, предназначенная для отладки, функционирования и проверки работоспособности АС.

8)Информационное обеспечение автоматизированной системы - Совокупность форм документов, классификаторов, нормативной базы и реализованных решений по объемам, размещению и формам существования информации, применяемой в АС при ее функционировании.

9)Лингвистическое обеспечение автоматизированной системы - Совокупность средств и правил для формализации естественного языка, используемых при общении пользователей и эксплуатационного персонала АС с комплексом средств автоматизации при функционировании АС.

10)Правовое обеспечение автоматизированной системы - Совокупность правовых норм, регламентирующих правовые отношения при функционировании АС и юридический статус результатов ее функционирования.2(https://studfile.net/preview/4170334/)

Стадии создания автоматизированных систем.

ГОСТ 34.601-90 Автоматизированные системы. Стадии создания[1]

Стадии Этапы работ
1. Формирование требований к АС Обследование объекта и обоснование необходимости создания АС; Формирование требований пользователя к АС; Оформление отчёта о выполненной работе и заявки на разработку АС (тактико-технического задания).
2. Разработка концепции АС. Изучение объекта; Проведение необходимых научно-исследовательских работ; Разработка вариантов концепции АС, удовлетворяющего требованиям пользователя; Оформление отчёта о выполненной работе.
3. Техническое задание. Разработка и утверждение технического задания на создание АС.
4. Эскизный проект. Разработка предварительных проектных решений по системе и её частям; Разработка документации на АС и её части.
5. Технический проект. Разработка проектных решений по системе и её частям; Разработка документации на АС и её части; Разработка и оформление документации на поставку изделий для комплектования АС и (или) технических требований (технических заданий) на их разработку; Разработка заданий на проектирование в смежных частях проекта объекта автоматизации.
6. Рабочая документация. Разработка рабочей документации на систему и её части; Разработка или адаптация программ.
7. Ввод в действие. Подготовка объекта автоматизации к вводу АС в действие; Подготовка персонала;Комплектация АС поставляемыми изделиями (программными и техническими средствами, программно-техническими комплексами, информационными изделиями);Строительно-монтажные работы; Пусконаладочные работы; Проведение предварительных испытаний; Проведение опытной эксплуатации; Проведение приёмочных испытаний.
8. Сопровождение АС Выполнение работ в соответствии с гарантийными обязательствами; Послегарантийное обслуживание.

1.2 Определение информационной системы

Система - это образующая единое целое совокупность материальных и нематериальных объектов, объединенных некоторыми общими признаками, назначениями, свойствами, условиями существования, жизнедеятельности, функционирования и т.д.

Функционирование системы - процесс переработки входной информации в выходную, носящий последовательный характер во времени.

Подсистема - часть любой системы.

Свойства системы (в т.ч. ИС):

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

Термин "Информационная система" имеет несколько определений, используемых в международных и российских стандартах. Согласно Федеральному закону Российской Федерации "Об информации, информационных технологиях и о защите информации" № 149 от 27.07.2006 понятие "информационная система" имеет следующее определение:информационная система - совокупность содержащейся в базах данных информации и обеспечивающих ее обработку информационных технологий и технических средств.

Стандарт ISO/IEC 2382-1 дает следующее определение: «Информационная система − система обработки информации, работающая совместно с организационными ресурсами, такими как люди, технические средства и финансовые ресурсы, которые обеспечивают и распределяют информацию». Российский ГОСТ РВ 51987 определяет информационную систему как «автоматизированную систему, результатом функционирования которой является представление выходной информации для последующего использования»[1].

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

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

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

Этапы развития информационных систем

Первые информационные системы появились в 50-х гг. В эти годы они были предназначены для обработки счетов и расчета зарплаты, а реализовывались на электромеханических бухгалтерских счетных машинах. Это приводило к некоторому сокращению затрат и времени на подготовку бумажных документов.

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

В 70-х — начале 80-х гг. информационные системы начинают широко использоваться в качестве средства управленческого контроля, поддерживающего и ускоряющего процесс принятия решений.

К концу 80-х гг. концепция использования информационных систем изменяется. Они становятся стратегическим источником информации и используются на всех уровнях организации любого профиля. Информационные системы этого периода, помогают организации достичь успеха в своей деятельности, создавать новые товары и услуги, находить новые рынки сбыта, обеспечивать себе достой­ных партнеров, организовывать выпуск продукции по низкой цене и многое другое.

Процессы, протекающие в информационной системе

Процессы, обеспечивающие работу информационной системы:

  1. ввод информации из внешних или внутренних источников;
  2. обработка входной информации и представление ее в удобном виде;
  3. вывод информации для представления потребителям или передачи в другую систему;
  4. обратная связь — это информация, переработанная людьми данной организации для коррекции входной информации.

Информационные системы можно разбить на три класса:

  • учетные (следящие, прогнозирующие, справочные);
  • аналитические (советующие, прогнозирующие, диагностические);
  • решающие (управляющие, планирующие).

Как видно из приведенной классификации информационные системы разделяются на следующие уровни:

  • не производящие качественного изменения информации (учетные системы);
  • анализирующие информацию (аналитические системы);
  • вырабатывающие решения (решающие системы).

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

Информационная система определяется следующими свойствами:

  1. любая информационная система может быть подвергнута анализу, построена и управ­ляема на основе общих принципов построения систем;
  2. информационная система является динамичной и развивающейся;
  3. при построении информационной системы необходимо использовать системный под­ход;
  4. выходной продукцией информационной системы является информация, на основе ко­торой принимаются решения;
  5. информационную систему следует воспринимать как человеко-компьютерную систему обработки информации.

Внедрение информационных систем может способствовать:

  1. получению более рациональных вариантов решения управленческих задач за счет внедрения математических методов и интеллектуальных систем ;
  2. освобождению работников от рутинной работы за счет ее автоматизации;
  3. обеспечению достоверности информации;
  4. замене бумажных носителей данных на современные информационные носители данных (флеш-накопители и др.);
  5. совершенствованию структуры потоков информации и системы документооборота в фирме(системы электронного документооборота);
  6. уменьшению затрат на производство продуктов и услуг;
  7. предоставлению потребителям уникальных услуг;
  8. отысканию новых рыночных ниш;
  9. привязке к фирме покупателей и поставщиков за счет предоставления им разных ски­док и услуг.

Структура информационной системы

Структуру информационной системы составляет совокупность отдельных ее частей, назы­ваемых подсистемами. Подсистема - это часть системы, выделенная по какому-либо признаку.

Общую структуру информационной системы можно рассматривать как совокупность подсистем независимо от сферы применения. Такие подсистемы называют обеспечивающими. Структура любой информационной системы может быть представлена совокупнос­тью обеспечивающих подсистем(Рис. 1): image


По степени автоматизации ИС делятся:

  • на автоматизированные: информационные системы, в которых автоматизация может быть неполной (то есть требуется постоянное вмешательство персонала);
  • автоматические: информационные системы, в которых автоматизация является полной, то есть вмешательство персонала не требуется или требуется только эпизодически.
  • «Ручные ИС» :(«без компьютера») существовать не могут, поскольку существующие определения предписывают обязательное наличие в составе ИС аппаратно-программных средств. Вследствие этого понятия «автоматизированная информационная система», «компьютерная информационная система» и просто «информационная система» являются синонимами[1].

2. Технологии отрисовки (rendering) в браузере. Возможности программного управления порядком отрисовки.

Процесс отображения страниц можно разбить на следующие основные этапы:

  1. Начало разбора HTML
  2. Получение внешних ресурсов
  3. Разбор CSS и создание CSSOM
  4. Выполнение JavaScript
  5. Объединение DOM и CSSOM, для построения дерева рендеринга
  6. Расчет макета и отрисовка результата

2.1 Начало разбора HTML

Когда браузер начинает получать данные HTML страницы по сети, он немедленно запускает свой синтаксический анализатор parser для преобразования HTML в объектную модель документа (DOM - Document Object Model). Объектная модель документа (DOM) — это представление данных объектов, которые составляют структуру и содержимое документа в Интернете. Первый шаг этого процесса синтаксического анализа — разбить HTML на токены, которые представляют начальные теги (start tags), конечные теги (end tags) и их содержимое (contents). Из этого он строит DOM.

2.2 Получение внешних ресурсов

Когда парсер встречает внешний ресурс, такой как файл CSS или JavaScript, он пытается, получить его. Синтаксический анализатор будет продолжать работу по мере загрузки файла CSS, но он заблокирует рендеринг до тех пор, пока файл не будет загружен и проанализирован (подробнее об этом чуть позже). Файлы JavaScript немного отличаются — по умолчанию они так же блокируют синтаксический анализ HTML, на время загрузки. Но у них есть два атрибута, которые могут быть добавлены в теги сценария, чтобы изменить это: defer и async. Оба позволяют синтаксическому анализатору продолжать работу, пока файл JavaScript загружается в фоновом режиме. Они отличаются друг от друга тем, как они выполняются. Подробнее об этом тоже немного ниже, но вкратце: defer означает, что выполнение файла будет отложено до завершения синтаксического анализа документа. Если несколько файлов имеют атрибут defer, то они будут выполняться в том порядке, в котором они были обнаружены в HTML.

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

Предварительная загрузка ресурсов

Кроме того, современные браузеры будут продолжать сканировать HTML-код, пока анализатор блокирован, и «смотреть вперед» на то, какие внешние ресурсы появляются, а затем загружать их предположительно. То, как они это делают, варьируется в зависимости от браузера, поэтому нельзя полагаться на то, что они будут вести себя определенным образом. Чтобы пометить ресурс как важный и, следовательно, с большей вероятностью он должен быть загруженным на ранней стадии процесса рендеринга, можно использовать тег ссылки с rel = «preload».

2.3 Разбор CSS и создание CSSOM

CSS (Cascading Style Sheets) — это код, который вы используете для стилизации вашей веб-страницы. Основы CSS помогут вам понять, что вам нужно для начала работы. Как и HTML, CSS на самом деле не является языком программирования. Это не язык разметки - это язык таблицы стилей. Это означает, что он позволяет применять стили выборочно к элементам в документах HTML. Вся структура называется набором правил (но зачастую для краткости "правило"). Отметим также имена отдельных частей:

Селектор (Selector) Имя HTML-элемента в начале набора правил. Он выбирает элемент(ы) для применения стиля (в данном случае, элементы p ). Для стилизации другого элемента, просто измените селектор.

Объявление (Declaration) Единственное правило, например color: red; указывает, какие из свойств элемента вы хотите стилизовать.

Свойства (Properties) Способы, которыми вы можете стилизовать определённый HTML-элемент (в данном случае, color является свойством для элементов p ). В CSS вы выбираете, какие свойства вы хотите затронуть в вашем правиле.

Значение свойства (Property value) Справа от свойства, после двоеточия, у нас есть значение свойства, которое выбирает одно из множества возможных признаков для данного свойства (существует множество значений color, помимо red).

Обратите внимание на важные части синтаксиса:

Каждый набор правил (кроме селектора) должен быть обёрнут в фигурные скобки ({}). В каждом объявлении необходимо использовать двоеточие (:), чтобы отделить свойство от его значений. В каждом наборе правил вы должны использовать точку с запятой (;), чтобы отделить каждое объявление от следующего.

Возможно, вы слышали о DOM, но слышали ли вы о CSSOM (CSS Object Model) (объектной модели CSS)? До того, как я начал исследовать эту тему, я об этом ничего не знал!


Объектная модель CSS (CSSOM) — это карта всех селекторов CSS и соответствующих свойств для каждого селектора в форме дерева с корневым узлом, родственником, потомком, дочерним элементом и другими отношениями. CSSOM очень похож на объектную модель документа (DOM). Оба они являются частью пути рендеринга, который представляет собой серию шагов, которые должны пройти для правильного рендеринга веб-сайта. CSSOM вместе с DOM используется для построения дерева рендеринга, которое, в свою очередь, используется браузером для компоновки и раскраски веб-страницы.Подобно файлам HTML и DOM, когда файлы CSS загружаются, они должны быть проанализированы и преобразованы в дерево — на этот раз CSSOM. Он описывает все селекторы CSS на странице, их иерархию и их свойства. Чем CSSOM отличается от DOM, так это тем, что он не может быть построен постепенно, поскольку правила CSS могут перезаписывать друг друга в разных точках из-за specificity (порядка применения свойства). Вот почему загрузка CSS блокирует рендеринг, поскольку до тех пор, пока весь CSS не будет проанализирован и не будет построен CSSOM, браузер не может знать, где и как разместить каждый элемент на экране.

2.4 Выполнение JavaScript

Как и когда ресурсы JavaScript будут загружены, определяет, в какой-то момент они будут проанализированы, скомпилированы и выполнены. В разных браузерах для выполнения этой задачи используются разные механизмы JavaScript. Анализ JavaScript может быть дорогостоящим процессом с точки зрения ресурсов компьютера, в большей степени, чем другие типы ресурсов, поэтому его оптимизация так важна для достижения хорошей производительности. Прочтите этот фантастический пост, чтобы подробнее узнать, как работает движок JavaScript. События загрузки После того, как синхронно загруженный JavaScript и DOM будут полностью проанализированы и готовы, будет сгенерировано событие document.DOMContentLoaded. Для любых сценариев, которым требуется доступ к DOM, например, для управления им или прослушивания событий взаимодействия с пользователем, рекомендуется сначала дождаться этого события перед выполнением сценариев.

2.5 Объединение DOM и CSSOM, для построения дерева рендеринга

Дерево рендеринга представляет собой комбинацию DOM и CSSOM и представляет всё, что будет отображаться на странице. Это не обязательно означает, что все узлы в дереве рендеринга будут визуально присутствовать, например узлы со стилями opacity: 0 или visibility: hidden будут включены и могут быть прочитаны программой чтения с экрана и т. д., тогда как те, которые настроены на display: none будет исключены. Кроме того, такие теги, как head, не содержащие визуальной информации, всегда будут пропущены. Как и в случае с движками JavaScript, разные браузеры имеют разные механизмы рендеринга. Дерево специальных возможностей создается с помощью DOM, и позже его будут использовать вспомогательные устройства для анализа и интерпретации содержимого страницы, которую мы посещаем. ACT — семантическая версия DOM, которая обновляется каждый раз, когда обновляется DOM. У каждого элемента DOM, который подвергается воздействию вспомогательных технологий, будет соответствующий узел в ACT. Пока ACT не построен, его содержание недоступно для экранного считывающего устройства.

2.6 Расчет макета и отрисовка результата

Теперь, когда у нас есть полное дерево рендеринга, браузер знает, что рендерить, но не знает, где рендерить. Следовательно, необходимо рассчитать макет страницы (то есть положение и размер каждого узла). Механизм рендеринга проходит дерево рендеринга, начиная с вершины и идя вниз, вычисляет координаты, в которых должен отображаться каждый узел.Процесс вычисления позиции и размеров называется Layout. Layout может быть глобальный, когда требуется рассчитать положение объектов всего дерева, и инкрементальный, когда требуется рассчитать только часть дерева. Глобальный layout происходит, например, при изменении размеров шрифта или при изменении размера окна сайта(поэтому существувуют декстопные и мобильные версии сайтов) . Инкрементальный layout происходит только для объектов, помеченных как «dirty»(т.е. изменённый объект). При изменении какого-либо объекта он и его дочерние элементы помечаются этим флагом («dirty»). Данная технология позволяет экономить ресурсы, перерисовывая только ту часть объектов, которые были изменены. Как только процесс Layout завершится, последний шаг — используя эту информацию о макете отрисовать пиксели на экране.

1) Возможности программного управления порядком отрисовки.

Для программного управления порядком отрисовки может быть использован фреймворк MVC (Model-view-controller). Этот шаблон используется для чёткого разделения логики представления (интерфейса пользователя) и логики веб-приложения. Приложение разделяется на три основных компонента:Контроллер, Модель и Вид, каждый из которых отвечает за различные задачи.

  • Контроллер - управляет запросами пользователя (получаемые в виде запросов HTTP GET или POST, когда пользователь нажимает на элементы интерфейса для выполнения различных действий). Его основная функция — вызывать и координировать действие необходимых ресурсов и объектов, нужных для выполнения действий, задаваемых пользователем. Обычно контроллер вызывает соответствующую модель для задачи и выбирает подходящий вид.Контроллер не должен содержать SQL-запросов. Их лучше держать в моделях. Контроллер не должен содержать HTML и другой разметки. Её стоит выносить в виды.
  • Модель — содержит бизнес-логику приложения и включает методы выборки (это могут быть методы ORM), обработки (например, правила валидации) и предоставления конкретных данных.Модель не должна напрямую взаимодействовать с пользователем. Все переменные, относящиеся к запросу пользователя должны обрабатываться в контроллере. Модель не должна генерировать HTML или другой код отображения, который может изменяться в зависимости от нужд пользователя. Такой код должен обрабатываться в видах. Одна и та же модель, например: модель аутентификации пользователей может использоваться как в пользовательской, так и в административной части приложения. В таком случае можно вынести общий код в отдельный класс и наследоваться от него, определяя в наследниках специфичные для подприложений методы.
  • Вид - обеспечивает различные способы представления данных, которые получены из модели. Он может быть шаблоном, который заполняется данными. Может быть несколько различных видов, и контроллер выбирает, какой подходит наилучшим образом для текущей ситуации.Виды cодержат HTML-разметку и небольшие вставки PHP-кода для обхода, форматирования и отображения данных.Не должен напрямую обращаться к базе данных. Этим должны заниматься модели. Не должен работать с данными, полученными из запроса пользователя. Эту задачу должен выполнять контроллер. Может напрямую обращаться к свойствам и методам контроллера или моделей, для получения готовых к выводу данных. Виды обычно разделяют на общий шаблон, содержащий разметку, общую для всех страниц (например, шапку и подвал) и части шаблона, которые используют для отображения данных выводимых из модели или отображения форм ввода данных. Схема шаблона MVC может выглядеть следующим образом (Рис. 2):

MVC UML diagram


Типичную последовательность работы MVC-приложения можно описать следующим образом:

  1. При заходе пользователя на веб-ресурс, скрипт инициализации создает экземпляр приложения и запускает его на выполнение. При этом отображается вид главной страницы сайта,например.
  2. Приложение получает запрос от пользователя и определяет запрошенные контроллер и действие. В случае главной страницы, выполняется действие по умолчанию (index).
  3. Приложение создает экземпляр контроллера и запускает метод действия, в котором, к примеру, содержаться вызовы модели, считывающие информацию из базы данных.
  4. После этого, действие формирует представление с данными, полученными из модели и выводит результат пользователю.

ИСТОЧНИКИ

  1. 📑 Учебный материал (лекция, практикум...) или стандарт:
  1. 📃 Научно-популярная или техническая статья:
  2. 🎦 Видео-ролик;
  3. 💻 Веб-приложение;
  4. 💬 Рендеринг веб-сайтов;
  1. 📃 Научно-популярная или техническая статья
  2. 📃 Основы CSS
  3. 📃ГОСТ 34.003-90 Автоматизированные системы;