1.3 Обязанности студента-практиканта на технологической (проектно-технологической) практике
Студент при прохождении практики обязан:
оформить письмо и договор на прохождение практики в случае индивидуального прохождения производственной практики;
полностью выполнять задания, предусмотренные программой практики;
подчиняться действующим на предприятии правилам внутреннего трудового распорядка;
изучить и строго соблюдать правила пожарной безопасности, охраны труда, техники безопасности;
систематически вести дневник производственной практики и своевременно составить отчет о ее прохождении (Приложение);
представить руководителю практики письменный отчет о выполнении заданий, оформленный дневник производственной практики и сдать отчет по практике (Приложение);
сдать на кафедру отчет по практике, дневник и программу практики.
Перечень планируемых результатов обучения при прохождении практики представлен в таблице 2.
Таблица 2 – Перечень планируемых результатов обучения при прохождении практики
|
Индикатор |
Наименование индикатора достижения |
|
УК3 Способен осуществлять социальное взаимодействие и реализовывать свою роль в команде |
|
|
УК-3.1 |
Знать: основные приемы эффективного управления собственным временем; основные методики самоконтроля, саморазвития и самообразования на протяжении всей жизни |
|
УК-3.2 |
Уметь: устанавливать и поддерживать контакты, обеспечивающие успешную работу в коллективе; применять основные методы и нормы социального взаимодействия для реализации своей роли и взаимодействия внутри команды |
|
УК-3.3 |
Владеть: простейшими методами и приемами социального взаимодействия и работы в команде |
|
ОПК1 Способен применять естественнонаучные и общеинженерные знания, методы математического анализа и моделирования, теоретического и экспериментального исследования в профессиональной деятельности |
|
|
ОПК-1.1 |
Знать: основы математики, физики, вычислительной техники и программирования |
|
ОПК-1.2 |
Уметь: решать стандартные профессиональные задачи с применением естественнонаучных и общеинженерных знаний, методов математического анализа и моделирования |
|
ОПК-1.3 |
Иметь навыки: теоретического и экспериментального исследования объектов профессиональной деятельности |
|
ОПК2 Способен понимать принципы работы современных информационных технологий и программных средств, в том числе отечественного производства, и использовать их при решении задач профессиональной деятельности |
|
|
ОПК-2.1 |
Знать: принципы работы современных информационных технологий и программных средств, в том числе отечественного производства при решении задач профессиональной деятельности |
|
ОПК-2.2 |
Уметь: выбирать современные информационные технологии и программные средства, в том числе отечественного производства, при решении задач профессиональной деятельности |
|
ОПК-2.3 |
Владеть: навыками применения современных информационных технологий и программных средств, в том числе отечественного производства, при решении задач профессиональной деятельности |
|
ОПК3 Способен решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно- коммуникационных технологий и с учетом основных требований информационной безопасности |
|
|
ОПК-3.1 |
Знать: принципы, методы и средства решения стандартных задач профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований информационной безопасности |
|
ОПК-3.2 |
Уметь: решать стандартные задачи профессиональной деятельности на основе информационной и библиографической культуры с применением информационно-коммуникационных технологий и с учетом основных требований ин-формационной безопасности |
|
ОПК-3.3 |
Владеть: навыками подготовки обзоров, аннотаций, составления рефератов, научных докладов, публикаций и библиографии по научно-исследовательской работе с учетом требований информационной безопасности |
|
ОПК4 Способен участвовать в разработке технической документации, связанной с профессиональной деятельностью с использованием стандартов, норм и правил |
|
|
ОПК-4.1 |
Знать: основные стандарты оформления технической документации на различных стадиях жизненного цикла информационной системы |
|
ОПК-4.2 |
Уметь: применять стандарты оформления технической документации на различных стадиях жизненного цикла информационной системы |
|
ОПК-4.3 |
Владеть: составления технической документации на различных этапах жизненного цикла информационной системы |
|
ОПК5 Способен инсталлировать программное и аппаратное обеспечение для информационных и автоматизированных систем |
|
|
ОПК-5.1 |
Знать: основы системного администрирования, администрирования СУБД, современные стандарты информационного взаимодействия систем |
|
ОПК-5.2 |
Уметь: выполнять параметрическую настройку информационных и автоматизированных систем |
|
ОПК-5.3 |
Иметь навыки: инсталляции программного и аппаратного обеспечения информационных и автоматизированных систем |
|
ОПК6 Способен разрабатывать алгоритмы и программы, пригодные для практического применения в области информационных систем и технологий |
|
|
ОПК-6.1 |
Знать: методы алгоритмизации, языки и технологии программирования, пригодные для практического применения в области информационных систем и технологий |
|
ОПК-6.2 |
Уметь: применять методы алгоритмизации, языки и технологии программирования при решении профессиональных задач в области информационных систем и технологий |
|
ОПК-6.3 |
Владеть: навыками программирования, отладки и тестирования прототипов программно-технических комплексов задач |
|
ОПК7 Способен осуществлять выбор платформ и инструментальных программно-аппаратных средств для реализации информационных систем |
|
|
ОПК-7.1 |
Знать: основные платформы, технологии и инструментальные программно- аппаратные средства для реализации информационных систем |
|
ОПК-7.2 |
Уметь: осуществлять выбор платформ и инструментальных программно-аппаратных средств для реализации информационных систем, применять современные технологии реализации информационных систем |
|
ОПК-7.3 |
Владеть: владения технологиями и инструментальными программно-аппаратными средствами для реализации информационных систем |
|
ОПК8 Способен применять математические модели, методы и средства проектирования информационных и автоматизированных систем |
|
|
ОПК-8.1 |
Знать: методологию и основные методы математического моделирования, классификацию и условия применения моделей, основные методы и средства проектирования информационных и автоматизированных систем, инструментальные средства моделирования и проектирования информационных и автоматизированных систем |
|
ОПК-8.2 |
Уметь: применять на практике математические модели, методы и средства проектирования и автоматизации систем на практике |
|
ОПК-8.3 |
Владеть: моделирования и проектирования информационных и автоматизированных систем |
|
ПК1 Способность выполнять интеграцию программных модулей и компонент |
|
|
ПК-1.1 |
Знать: методы и способы интеграции программных модулей и компонент |
|
ПК-1.2 |
Уметь: выполнять интеграцию программных модулей и компонент |
|
ПК-1.3 |
Владеть: методами и способами выполнения интеграции программных модулей и компонент |
|
ПК7 Способность проводить анализ требований к программному обеспечению, выполнять работы по проектированию программного обеспечения |
|
|
ПК-7.1 |
Знать: требования к программному обеспечению, технологии по проектированию программного обеспечения |
|
ПК-7.2 |
Уметь: проводить анализ требований к программному обеспечению, выполнять работы по проектированию программного обеспечения |
|
ПК-7.3 |
Владеть: навыками проведения анализа требований к программному обеспечению, выполнению работы по проектированию программного обеспечения |
|
ПК8 Способность оценивать и следить за выполнением концептуального, функционального и логического проектирования систем малого и среднего масштаба и сложности |
|
|
ПК-8.1 |
Знать: концептуальное, функциональное и логическое проектирование систем малого и среднего масштаба и сложности |
|
ПК-8.2 |
Уметь: оценивать и следить за выполнением концептуального, функционального и логического проектирования систем малого и среднего масштаба и сложности |
|
ПК-8.3 |
Владеть: навыками оценки и мониторинга выполнения концептуального, функционального и логического проектирования систем малого и среднего масштаба и сложности |
2 ТЕОРЕТИЧЕСКИЙ МАТЕРИАЛ
ASP.NET MVC является многофункциональной платформой для создания веб-приложений и API-интерфейсов с помощью структуры проектирования Model-View-Controller.
Шаблон MVC
Структура архитектуры MVC разделяет приложение на три основных группы компонентов: модели, представлении и контроллеры. Это позволяет реализовать принципы разделения задач. Согласно этой структуре запросы пользователей направляются в контроллер, который отвечает за работу с моделью для выполнения действий пользователей и (или) получение результатов запросов. Контроллер выбирает представление для отображения пользователю со всеми необходимыми данными модели.
На рисунке 1 показаны три основных компонента и существующие между ними связи.

Рисунок 1 – Основные компоненты Model-View-Controller.
Структура MVC
Такое распределение обязанностей позволяет масштабировать приложение в контексте сложности, так как проще писать код, выполнять отладку и тестирование компонента (модели, представления или контроллера) с одним заданием. Гораздо труднее обновлять, тестировать и отлаживать код, зависимости которого находятся в двух или трех этих областях. Например, логика пользовательского интерфейса, как правило, подвергается изменениям чаще, чем бизнес-логика. Если код представления и бизнес-логика объединены в один объект, содержащий бизнес-логику, объект необходимо изменять при каждом обновлении пользовательского интерфейса. Это часто приводит к возникновению ошибок и необходимости повторно тестировать бизнес-логику после каждого незначительного изменения пользовательского интерфейса.
Представление и контроллер зависят от модели. Однако сама модель не зависит ни от контроллера, ни от представления. Это является одним из ключевых преимуществ разделения. Такое разделение позволяет создавать и тестировать модели независимо от их визуального представления.
Функции модели
Модель в приложении MVC представляет состояние приложения и бизнес-логику или операций, которые должны в нем выполняться. Бизнес-логика должна быть включена в состав модели вместе с логикой реализации для сохранения состояния приложения. Как правило, строго типизированные представления используют типы ViewModel, предназначенные для хранения данных, отображаемых в этом представлении. Контроллер создает и заполняет эти экземпляры ViewModel из модели.
Функции представления
Представления отвечают за представление содержимого через пользовательский интерфейс. Они используют подсистему представления для внедрения кода .NET в разметку Razor HTML. Представления должны иметь минимальную логику, которая должна быть связана с представлением содержимого. Если есть необходимость выполнять большую часть логики в представлении для отображения данных из сложной модели, рекомендуется воспользоваться компонентом представления, ViewModel или шаблоном представления, позволяющими упростить представление.
Функции контроллера
Контроллеры — это компоненты для управления взаимодействием с пользователем, работы с моделью и выбора представления для отображения. В приложении MVC представление служит только для отображения информации. Обработку введенных данных, формирование ответа и взаимодействие с пользователем обеспечивает контроллер. В структуре MVC контроллер является начальной отправной точкой и отвечает за выбор рабочих типов моделей и отображаемых представлений (именно этим объясняется его название — он контролирует, каким образом приложение отвечает на конкретный запрос).
Контроллеры не должны быть чересчур сложными из-за слишком большого количества обязанностей. Чтобы не перегружать логику контроллера, перенесите бизнес-логику из контроллера в модель предметной области.
Если ваш контроллер часто выполняет одни и те же виды действий, переместите эти действия в фильтры.
ASP.NET Core MVC
ASP.NET Core MVC представляет собой упрощенную, эффективно тестируемую платформу с открытым исходным кодом, оптимизированную для использования с ASP.NET Core.
ASP.NET Core MVC предоставляет основанный на шаблонах способ создания динамических веб-сайтов с четким разделением задач. Она обеспечивает полный контроль разметки, поддерживает согласованную с TDD разработку и использует новейшие веб-стандарты.
Маршрутизация
Платформа ASP.NET Core MVC создана на основе маршрутизации ASP.NET Core — мощного компонента сопоставления URL-адресов, который позволяет создавать приложения с понятными и поддерживающими поиск URL-адресами. Вы можете определять шаблоны именования URL-адресов приложения, эффективно работающие для оптимизации для поисковых систем (SEO) и для создания ссылок, независимо от способа организации файлов на веб-сервере. Вы можете определять маршруты с помощью понятного синтаксиса шаблонов маршрутов, который поддерживает ограничения значений маршрутов, значения по умолчанию и необязательные значения.
Маршрутизация на основе соглашений позволяет глобально определять форматы URL-адресов, которые принимает приложение, и как каждый из этих форматов сопоставляется с определенным методом действий на заданном контроллере. При поступлении входящего запроса модуль маршрутизации выполняет синтаксический анализ URL-адреса и соотносит его с одним из определенных форматов URL-адресов, а затем вызывает метод действия связанного контроллера.

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

Привязка модели
Привязка модели в ASP.NET Core MVC преобразует данные запроса клиента (значения форм, данные маршрута, параметры строки запроса, заголовки HTTP) в объекты, которые может обрабатывать контроллер. В результате логике контроллера не требуется определять данные входящего запроса — данные просто доступны в виде параметров для методов действий.

Проверка модели
ASP.NET MVC поддерживает возможность проверки, дополняя модель объекта атрибутами проверки заметок к данным. Атрибуты проверки проверяются на стороне клиента до размещения значений на сервере, а также на сервере перед выполнением действия контроллера.

Действие контроллера:

Платформа обрабатывает проверку данных запроса на клиенте и на сервере. Логика проверки, указанная в типах модели, добавляется в готовые для просмотра представления в виде ненавязчивых заметок и реализуется в браузере с помощью подключаемого модуля jQuery Validation.
Внедрение зависимостей
ASP.NET Core имеет встроенную поддержку внедрения зависимостей (DI). В ASP.NET MVC Core контроллеры могут запрашивать необходимые служб через свои конструкторы, предоставляя им возможность следовать принципу явных зависимостей.
Кроме того, приложение может использовать внедрение зависимостей в файлы представления с помощью директивы @inject:

Фильтры
Фильтры помогают разработчикам решать общие задачи, такие как обработка исключений или авторизация. Фильтры активируют пользовательскую логику предварительной и завершающей обработки для методов действий и могут быть настроены для запуска в определенные моменты в конвейерном выполнении определенного запроса. Фильтры могут применяться к контроллерам или действиям в виде атрибутов (или могут выполняться глобально). В состав платформы входит несколько фильтров (например, Authorize). [Authorize] является атрибутом, который используется для создания фильтров авторизации MVC.

Области
Области позволяют разделить большое веб-приложение ASP.NET Core MVC на более мелкие функциональные группы. Область является структурой MVC внутри приложения. В проекте MVC логические компоненты, такие как модель, контроллер и представление, находятся в разных папках, и для создания связи между этими компонентами MVC использует соглашения об именовании. Крупное приложение может быть целесообразно разделить на отдельные высокоуровневые области функциональности. Например, приложение электронной коммерции с несколькими бизнес-единицами, такими как получение, выставление счетов и поиск и т. д. У каждого из этих блоков есть собственные представления логических компонентов, контроллеры и модели.
Веб-API
Помимо того, что ASP.NET Core MV прекрасно подходит для создания веб-сайтов, эта платформа располагает мощной поддержкой для построения веб-API. Создавайте службы, доступные для широкого круга клиентов, включая браузеры и мобильные устройства.
Платформа поддерживает согласования содержимого HTTP со встроенной поддержкой для форматирования данных в виде JSON или XML. Пишите пользовательские модули форматирования для добавления поддержки собственных форматов.
Используйте функции создания ссылок для поддержки гипермедиа. Легко включить поддержку общего доступа к ресурсам между источниками (CORS), чтобы веб-API можно совместно использовать для нескольких веб-приложений.
Возможность тестирования
Благодаря используемым интерфейсам и внедрению зависимостей платформа хорошо подходит для модульного тестирования. Кроме того, с помощью таких компонентов, как TestHost и поставщик InMemory для Entity Framework, можно быстро и просто выполнять интеграционные тесты. Узнайте больше о тестировании логики контроллеров.
Razor подсистема просмотра
ASP.NET представления Core MVC используют обработчик представлений Razor для отрисовки представлений. Razor — это компактный, экспрессивный и гибкий язык разметки шаблона для определения представлений с помощью встроенного кода C#. Razor используется для динамического создания веб-содержимого на сервере. Серверный код можно полностью комбинировать с содержимым и кодом на стороне клиента.

С помощью обработчика представлений Razor можно определить макеты, частичные представления и заменяемые разделы.
Строго типизированные представления
Razor Представления в MVC могут быть строго типизированы на основе модели. Контроллеры передают строго типизированную модель в представления для поддержки в них IntelliSense и проверки типов.
Например, следующее представление отображает модель типа IEnumerable<Product>:

Вспомогательные функции тегов
Вспомогательные функции тегов позволяют серверным коду участвовать в создании и отрисовке HTML-элементов в Razor файлах. Вспомогательные функции тегов используются для определения настраиваемых тегов (например, <environment>) или для изменения поведения существующих тегов (например, <label>). Вспомогательные функции тегов привязываются к определенным элементам на основе имени элемента и его атрибутов. Они предоставляют преимущества отрисовки на стороне сервера, сохраняя при этом возможности редактирования HTML.
Существует множество встроенных вспомогательных функций тегов для общих задач — например, для создания форм, ссылок, загрузки ресурсов и т. д. Кроме того, огромное количество функций доступно в общедоступных репозиториях GitHub и в качестве пакетов NuGet. Вспомогательные функции тегов разрабатываются на C# и предназначены для HTML-элементов на основе имени элемента, имени атрибута или родительского тега. Например, встроенную функцию LinkTagHelper можно использовать для создания ссылки на действие AccountsController для Login:

С помощью EnvironmentTagHelper можно включать в приложения различные сценарии (например, необработанные или минифицированные) для конкретной среды выполнения (разработки, промежуточной или производственной):
