Справочные материалы · оформление работ

Структура отчёта по практике и ВКР

О чём эта справка
Что писать в каждом разделе отчёта по проектно-технологической практике — от введения до списка источников. Структура отчёта повторяет структуру выпускной квалификационной работы (ВКР), принятой в нашем вузе, поэтому справка пригодится дважды: сейчас — для отчёта, на выпускном курсе — для диплома.
Как пользоваться
Не обязательно читать подряд. Начните с таблицы-скелета ниже, чтобы увидеть работу целиком, затем открывайте раздел, над которым сейчас работаете, — в каждом собраны требования, примеры формулировок и типичные ошибки. Перед сдачей пройдитесь по чек-листу самопроверки в конце страницы.

1. Работа целиком: скелет и логика

Отчёт по практике меньше диплома по объёму, но это не «текст о том, как я programмировал», а цельный технический документ: постановка задачи → анализ предметной области → проектирование → разработка → проверка работоспособности. У каждого раздела есть один главный вопрос, на который он отвечает читателю:

РазделГлавный вопрос раздела
Введение Зачем этот проект нужен и что будет сделано?
Глава 1. Теоретические основы и анализ предметной области Что уже существует и на какие знания опирается решение?
Глава 2. Проектирование и разработка ПО Как устроена система и почему именно так?
Глава 3. Тестирование и валидация ПО Чем подтверждено, что система работает корректно?
Заключение Что достигнуто и выполнены ли задачи из введения?
Список использованных источников На что опирался автор?
Приложения (при необходимости) Что слишком объёмно для основного текста (листинги, экраны)?

Обратите внимание на сквозную нить: задачи из введения становятся главами, а заключение отчитывается по каждой задаче. Если держать эту нить в голове с самого начала, работа соберётся сама; если нет — читатель заметит швы первым же вопросом на защите.

2. Введение

Введение — один из самых важных разделов: именно он формирует у читателя понимание, зачем создаётся проект, какую проблему он решает, почему тема актуальна и каких результатов планируется достичь. Пишется введение по устойчивой схеме: актуальность → цель → задачи.

2.1. Актуальность: без мифа о «новизне»

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

В большинстве случаев актуальность — это честный рассказ о практической потребности:

Разрабатываете интернет-магазин — не утверждайте, что аналогов нет (их сотни); покажите, почему готовые платформы не подходят в вашем случае:

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

2.2. Цель: всегда одна

Цель описывает итоговый результат проекта, и она всегда одна. Хорошая цель конкретна, понятна, достижима и связана с разработкой системы:

Так формулировать
  • разработать веб-приложение для учёта заявок;
  • создать мобильное приложение для планирования задач;
  • реализовать систему анализа изображений с использованием нейронных сетей.
Так не надо
  • «изучить программирование»;
  • «освоить современные технологии»;
  • «создать лучший сервис».

Проверка проста: по формулировке цели должно быть понятно, что предъявить на защите как доказательство её достижения. «Изучить программирование» предъявить нельзя, работающее веб-приложение — можно.

2.3. Задачи: этапы достижения цели

Задачи — это шаги, из которых складывается путь к цели. Обычно они отражают структуру будущих глав и последовательность выполнения проекта. Три правила:

Пример связки «цель → задачи» (заметьте, как задачи предвосхищают главы: анализ — глава 1, проектирование и реализация — глава 2, тестирование — глава 3):

Цель: разработать веб-приложение для автоматизации учёта заявок. Задачи: 1) проанализировать существующие системы учёта заявок; 2) выбрать технологии разработки; 3) спроектировать архитектуру приложения; 4) реализовать серверную и клиентскую части системы; 5) разработать структуру базы данных; 6) провести тестирование программного обеспечения.

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

3. Глава 1. Теоретические основы и анализ предметной области

Первая глава отвечает на вопрос «на что опирается решение»: здесь описывается теоретический минимум, необходимый для понимания и реализации проекта. В зависимости от темы сюда входят:

Здесь же уместен конкурентный анализ: обзор существующих программных решений и состояния рынка в выбранной области. Разрабатываете систему управления задачами — рассмотрите существующие аналоги, выделите их достоинства и недостатки: именно этот разбор потом подкрепит актуальность из введения.

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

4. Глава 2. Проектирование и разработка ПО

Вторая глава — основная техническая часть отчёта. Если в первой главе вы показываете понимание предметной области, то здесь — непосредственно инженерную работу: как устроено приложение, из каких компонентов состоит, как реализованы функции и почему выбраны именно такие архитектурные решения. Сверхзадача главы — убедить читателя, что разработка велась осознанно и последовательно, а структура проекта логична и расширяема. Обычно глава складывается из подразделов ниже — берите те, что применимы к вашему проекту.

4.1. Функциональные возможности

Первым делом ответьте на вопрос: что умеет делать разработанная система? Функциональность описывается с точки зрения пользователя: регистрация и авторизация; создание, редактирование и удаление данных; поиск; фильтрация и сортировка; загрузка файлов; формирование отчётов; взаимодействие между пользователями; управление ролями. Важно не просто перечислить функции, а кратко пояснить их назначение:

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

Если система большая — сгруппируйте функциональность по модулям: модуль авторизации, модуль управления товарами, модуль аналитики, модуль уведомлений.

4.2. Диаграмма вариантов использования (Use Case)

Возможности системы наглядно представляет UML-диаграмма вариантов использования: какие типы пользователей существуют, какие действия им доступны, как они взаимодействуют с приложением. На диаграмме присутствуют акторы (пользователь, администратор, модератор, внешний API-сервис), варианты использования (вход в систему, оформление заказа, просмотр статистики, управление пользователями) и связи между ними. Как строить такие диаграммы — разобрано на занятии «UML, часть 1» общего курса.

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

Типичная ошибка Перегруженная диаграмма, где на одном листе сорок овалов и не читается ничего. Диаграмма — средство понимания, а не инвентаризация: если функций много, сделайте несколько диаграмм для разных подсистем.

4.3. Ролевая модель

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

РольВозможности
Гостьпросмотр каталога
Пользовательсоздание заказов
Администраторуправление пользователями и товарами

Покажите, как разграничивается доступ и какие проверки выполняются при обращении к защищённым функциям. Для веб-приложений укажите механизм: JWT-токены или сессионная авторизация, как осуществляется аутентификация.

4.4. Архитектура системы

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

ЧастьЗа что отвечает
Клиентская часть (frontend) отображение интерфейса, взаимодействие с пользователем, отправка запросов на сервер, обработка пользовательских действий
Серверная часть (backend) бизнес-логика, обработка запросов, взаимодействие с базой данных, аутентификация, управление данными
База данных хранение информации, целостность данных, быстрый доступ
Внешние сервисы платёжные системы, почтовые рассылки, сторонние API — если используются

Иллюстрируют архитектуру диаграммой компонентов или клиент-серверной схемой; если проект объектно-ориентированный — диаграммой классов: основные классы, их свойства и методы, связи (наследование, агрегация, композиция, ассоциации). И снова правило меры: не выводите все классы проекта — только ключевые сущности, важные для понимания архитектуры (User, Product, Order, NotificationService, AuthController). После диаграммы поясните назначение основных классов, причины разделения ответственности и использованные паттерны проектирования.

4.5. Организация программного кода

Покажите структуру проекта: как он разбит, какие директории существуют, за что отвечает каждый модуль:

src/
├── controllers/    # обработчики запросов
├── services/       # бизнес-логика
├── repositories/   # доступ к данным
├── models/         # модели предметной области
├── middleware/     # промежуточная обработка (авторизация, логирование)
└── utils/          # вспомогательные функции

Объясните, почему выбрана такая структура, как разделяются уровни приложения и как это помогает поддерживаемости. Здесь же уместно упомянуть архитектурные решения и паттерны: MVC, REST, внедрение зависимостей, Singleton, Factory, Repository, Observer. Смысл подраздела — показать, что архитектура не хаотична, а построена по принципам.

4.6. База данных

Если проект использует базу данных, её структуру нужно описать подробно: ER-диаграмма или схема БД, описание таблиц, связи между сущностями, ключевые поля, ограничения и индексы. Объясните выбор СУБД, используемые типы данных и механизмы целостности: первичные и внешние ключи, ограничения уникальности, каскадное удаление. Образец связного описания вместо голого перечисления:

Таблица Users хранит информацию о зарегистрированных пользователях системы. Первичный ключ id используется для уникальной идентификации записей. Связь один-ко-многим между Users и Orders позволяет одному пользователю иметь несколько заказов.

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

4.7. API

Для веб-приложений и клиент-серверных систем опишите программный интерфейс: список эндпоинтов, HTTP-методы, параметры запросов, формат ответов, коды состояния, примеры запросов. Удобнее всего — таблицей:

МетодURLНазначение
GET/api/productsполучение списка товаров
POST/api/productsсоздание товара
DELETE/api/products/{id}удаление товара

Дополнительно укажите, где требуется авторизация, формат токенов и обработку ошибок. Для сложных систем полезно описать последовательность запросов, взаимодействие frontend и backend, использование WebSocket или GraphQL.

4.8. Пользовательский интерфейс

Если у проекта есть графический интерфейс, посвятите ему подраздел: основные экраны, навигация, расположение элементов, сценарии взаимодействия. Допустимы скриншоты, схемы интерфейса, wireframe-макеты — но не вставляйте изображения молча: каждое сопровождается пояснением, что изображено, какие функции доступны и как пользователь взаимодействует с экраном. О принципах проектирования интерфейсов — занятие «UI/UX: законы» общего курса.

5. Глава 3. Тестирование и валидация ПО

Третья глава доказывает, что система действительно работает корректно.

Типичная ошибка Одна фраза «программа была протестирована» — это не глава, а отписка. Нужно продемонстрировать: что именно проверялось, каким образом проводилось тестирование и какие результаты получены.

Пользовательские сценарии. Покажите, как пользователь работает с системой, какие действия выполняет и какой результат получает, — пошагово:

1. Пользователь проходит авторизацию. 2. Добавляет товар в корзину. 3. Оформляет заказ. 4. Получает подтверждение.

Тестирование. Обычно проверяются корректность работы функций, обработка ошибок, работа интерфейса и корректность хранения данных. Допустимые виды: модульное, интеграционное, ручное, нагрузочное. Результаты желательно оформлять таблицами: «проверка — ожидаемый результат — фактический результат».

Анализ результатов. Если проект связан с машинным обучением, покажите качество модели: графики обучения и значения метрик — accuracy, precision, recall, F1-score (что они означают — разобрано в траектории «Нейросети»). И здесь то же правило, что со скриншотами: не просто вставить графики, а объяснить, что они показывают, какие выводы следуют и насколько результаты соответствуют поставленной задаче.

6. Заключение

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

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

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

7. Список использованных источников

Оформляется по ГОСТ или внутренним требованиям кафедры. Два правила: в список входят только те источники, на которые есть ссылки в тексте отчёта; рекомендуемый объём — не менее 10–15 актуальных позиций (статьи, документация, книги, стандарты, официальные руководства). «Актуальных» — значит и свежих по времени, и действительно относящихся к делу: документация используемого фреймворка уместнее случайного учебника десятилетней давности.

8. Чек-лист самопроверки перед сдачей

Пройдитесь по списку, отмечая готовое, — прогресс сохраняется в вашем браузере. Каждый пункт — сгусток требований из разделов выше.

готово: 0 из 0