Добавлен: 17.03.2024
Просмотров: 60
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
СОДЕРЖАНИЕ
1 Индивидуальное задание по системному программированию
1.1 Спецификация решаемой задачи
1.2 Разработку функционала программного обеспечения
1.3 Описание структуры решаемой задачи и ее модулей
1.4 Описание алгоритмов реализации модулей
1.5 Тестирование и отладка программного продукта
2.1 Выбор среды программирования и ее описание
2.2 Разработка интерфейса прикладной программы
2.3 Компоненты, используемые для отображения информации
Министерство образования и науки Пермского края
ГБПОУ «Березниковский политехнический техникум»
Учебная практика
ПМ 03 Участие в интеграции программных модулей
Технический отчет
УП 03.01. 09.02.03 00.15. ТО
Выполнил
студент гр. ПКС-19.1 Лаптев А.С.
Проверил
преподаватель Лившиц В.Д.
Дата проверки _____________ Оценка _______
Подпись преподавателя_____________
2023
Содержание
Введение 3
1 Индивидуальное задание по системному программированию 4
1.1 Спецификация решаемой задачи 4
1.2 Разработку функционала программного обеспечения 4
1.3 Описание структуры решаемой задачи и ее модулей 5
1.4 Описание алгоритмов реализации модулей 5
1.5 Тестирование и отладка программного продукта 7
2 Прикладное программирование 8
2.1 Выбор среды программирования и ее описание 8
2.2 Разработка интерфейса прикладной программы 9
2.3 Компоненты, используемые для отображения информации 19
2.4 Разработка справочной информации 20
Заключение 22
Список источников 23
Введение
Учебная практика – это неотъемлемая часть учебного процесса, в ходе которого студенты самостоятельно выполняют определенные задачи учебной программы в условиях реально действующего организации, учреждения и т.д. и преследует цель приобретения студентами навыков профессиональной работы по профилю специальности.
Во время практики ведётся дневник, в котором пишется о проделанной работе за день. Место прохождения практики – ГБПОУ «Березниковский политехнический техникум».
Цель учебой практики – приобрести опыт работы:
-
выполнять разработку спецификаций отдельных компонентов; -
осуществить разработку кода программного продукта на основе готовых спецификаций на уровне модуля; -
выполнить отладку программных модулей с использованием специализированных программных средств; -
выполнить тестирование программных модулей; -
осуществлять оптимизацию программного кода модуля; -
разрабатывать компоненты проектной и технической документации с использованием графических языков спецификаций.
Так же, целью учебной практики является разработка индивидуального проекта.
Был выбран индивидуальный проект на тему «Телеграм-бот для Березниковского политехнического техникума». Суть данного Телеграм-бота заключается в том, чтобы по нажатию кнопок выводилось та информация, которую запросил пользователь. Одним из вариантов кнопок будет вывод файла расписания, картинки информации звонков.
1 Индивидуальное задание по системному программированию
1.1 Спецификация решаемой задачи
Цель проекта – создать телеграмм-бота, который будет по нажатию кнопки выполнять различные команды. Основными командами будут: вывод актуального расписания занятий, звонков, погоды и дополнительных кнопок информации.
Для того, чтобы достичь поставленную цель, необходимо решить следующе задачи:
-
проанализировать предметную область; -
определить язык и среду программирования; -
разработать скрипт отправки различного рода сообщений; -
разработать клиентскую часть; -
протестировать сервис; -
исправить ошибки, выявленные во время тестирования; -
продолжать поддерживать, вводя новые функции и исправления ошибок, с целью обеспечения работоспособности Телеграм бота.
1.2 Разработку функционала программного обеспечения
Данный продукт представляет собой автоматизированную систему, которая позволяет пользователям получать актуальное расписание по нажатию кнопки, так же вывод расписания звонков и различного рода информативные ссылки в мессенджере «Телеграм». Так же получать актуальное состояние погоды с шагом в 3 часа.
В планах на реализацию находится:
-
Обработка сообщений пользователя; -
Вывод расписания по запросу пользователя; -
Вывод погоды по запрос пользователя; -
Вывод информативных ссылок; -
Обновление погоды каждые 3 часа
1.3 Описание структуры решаемой задачи и ее модулей
Чтобы достичь поставленную цель, необходимо пройти все этапы разработки, которых четыре.
Первый этап – поиск и подготовка различного рода библиотек, позволяющих в разы упростить процесс создания бота.
Второй этап – разработка клиентской части, обработка команд, написанных пользователем и корректное выполнение и отображение их. Логику выполнения действий можно расписать так:
-
Процесс обращения к боту; -
процесс регистрации команды от пользователя; -
процесс получения данных в зависимости от команды; -
процесс вывода информации пользователю;
функционал для каждого пользователя одинаковый, обращения и регистрация команд не зависят от конкретного пользователя и его прав доступа.
Так же, на втором этапе получается актуальная погода с двух разных сервисов для предоставления погоды и записываются в переменные для дальнейшего хранения их.
Третий этап – реализация интерфейса пользователя, а именно:
-
информационные текст-блоки, необходимые для представления описания различного рода команд-меню и подпунктов; -
ссылки для перенаправления пользователей на страницы техникума; -
кнопки, необходимые для отправки и запроса информации с различных сервисов и отображение информации;
Так же, в третий этап входит отрисовка макета сайта.
1.4 Описание алгоритмов реализации модулей
У каждой кнопки есть своя выполняемая задача. Пользователь нажимает на любую из кнопок и происходит пересылка пользователя на различные блоки кнопок.
Для данного проекта была построена схема действий кнопок (Рисунок 1).
Рисунок 1 - Структурная схема информации кнопок
На данный момент, реализован только один алгоритм, для которого реализована логика кнопки действия (Рисунок 2). Данный алгоритм получает данные о погоде в различный форматах, такие как текстовый и цифирный. Далее алгоритм сверяет данные полученные от сервиса погоды и приравнивает ему более корректный вид.
Рисунок 2 - Блок-схема "Действие погоды"
1.5 Тестирование и отладка программного продукта
Веб-тестирование – это тщательная проверка сайта на наличие потенциальных ошибок. Это полное тестирование веб-приложений перед запуском. Веб-система должна быть полностью проверена от начала до конца, прежде чем она будет запущена для конечных пользователей. Также, в ходе тестирования определяется удобство и привлекательность сайта для пользователя, быстрота получения и доступность нужной информации, надежность и безопасность использования. И, самое главное, помогает ли он достичь тех бизнес-целей, которые были поставлены в начале проекта.
Общая цель веб-тестирования – найти проблемы, также известные как ошибки, проблемы или дефекты, которые могут оказать негативное влияние на веб-сайт или приложение.
На данном этапе разработки как-такового смысла в тестировании нет. Потому что, как правило, все ошибки обнаруживаются во время написания и проверки сервиса, и не требуют каких-либо тестирований.
Всё же есть ошибки, которые могут возникнуть и на стадии готового продукта, это ошибка заключается в том, если скрипт не найдёт указанный ему файл, так как на данный момент пока что идёт жёсткая привязка с имени файла и его расширению (Рисунок 3).
Рисунок 3 - Код ошибки
2 Прикладное программирование
2.1 Выбор среды программирования и ее описание
Integrated Development Environment (IDE) – интегрированная среда разработки. Это комплекс программных средств, используемый программистами для разработки различного программного обеспечения.
Среды разработки бывают универсальные и заточенные под конкретные языки программирования. IDE часто похожи по своим возможностям и позволяют увеличивать функциональность за счёт внешних дополнений.
Любая среда разработки включает в себя:
-
текстовый редактор; -
транслятор; -
средства автоматизации сборки программного продукта; -
отладчик.
Для реализации данного сервиса была выбрана среда разработки – PyCharm: IDE.
PyCharm — одна из лучших IDE для разработки приложений на языке программирования Python. Это полноценная среда разработки со множеством инструментов и плагинов, которые помогут сократить время написания, рефакторинга и форматирования кода. Программа включает базовый набор для разработчиков: анализатор кода, интерпретатор, отладчик, подсветка синтаксиса, терминал, поддержка других языков, VCS, функции создания виртуального окружения и автообновления. Дополнительные опции подключаются посредством установки плагинов. Например, для добавления функции управления зависимостями в проекте необходимо установить плагин Poetry из встроенного магазина приложений. Из плюсов Pycharm:
-
Автоматическая генерация кода с исправлениями; -
интеграция с Git, Docker, PostgreSQL, DataGrip и другими инструментами; -
автоматическое добавление закрывающих скобок и умная система подсказок; -
настройка схемы подсветки синтаксиса и горячих клавиш; -
возможность запуска разных версий интерпретатора в виртуальных средах; -
встроенный инструмент для просмотра документации; -
поддержка HTML/CSS/JavaScript и всех актуальных фреймворков для веб-разработки; -
безопасный рефакторинг кода; -
встроенные инструменты и библиотеки для специалистов по анализу данных и ученых; -
фреймворки для создания автоматических тестов
2.2 Разработка интерфейса прикладной программы
Макет интерфейса программы нужен для того, чтобы обозначить основные функции программного обеспечения и определить то, как будет выглядеть интерфейс будущей программы.
Во время практики был разработан интерфейс для всех частей.
Главное меню у телеграм бота является основным элементов управления всем функционалом.
На посадочной странице находятся:
-
меню бота (Рисунок 4). В меню отображены основные функции;
Рисунок 4 - Шапка страницы
-
Кнопка расписания (Рисунок 5). Используется для отображения актуального расписания;
Рисунок 5 – Меню расписания
-
Кнопка, отвечающая за отображение актуальной погоды в городе Березники (Рисунок 6);
Рисунок 6 – Погода
-
Кнопка, отвечающая за вывод информации о конкурсе «Берполитех» (Рисунок 7). Данная кнопка служит так же для отображения и перехода на различную информацию о конкурсе.;
Рисунок 7 – Кнопка о конкурсе
-
Кнопка «Чемпионаты» (Рисунок 8). Служит для отображения различного отображения участия техникума на чемпионатах.
Рисунок 8 – Кнопка «Чемпионаты»
-
Кнопка «О нас» (Рисунок 9). Используется для отображения главной информации о техникуме;
Рисунок 9 – Кнопка «О нас»
-
Кнопка «Партнёры» (Рисунок 10). Необходима, чтобы выводить актуальный список партнёров техникума;
Рисунок 10 – Кнопка «Партнёры»
-
Кнопка «Расписание занятий» (Рисунок 11). Необходима для вывода актуального расписания;