Курсовая работа

Курсовая по информационным системам и технологиям в МФТИ: как не выдумать направление и сделать сильную системную работу

Как делать курсовую по информационным системам в МФТИ: уточнить реальную программу, спроектировать архитектуру, данные, интеграции и проверить систему.

Содержание +

Запрос «курсовая по информационным системам и технологиям в МФТИ» нужно использовать аккуратно. В базовом наборе МФТИ на 2026 год отдельное направление 09.03.02 «Информационные системы и технологии» не указано. При этом разработка информационных систем является реальной частью программ по информатике и вычислительной технике, программной инженерии, прикладной математике и системному анализу.

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

Официальные страницы:
https://pk.mipt.ru/bachelor/2026_places/
https://hsse.mipt.ru/bachelor/software-systems

Сначала уточните образовательный контекст

В 2026 году в МФТИ есть:

  • 09.03.01 «Информатика и вычислительная техника»;
  • 09.03.04 «Программная инженерия»;
  • 01.03.02 «Прикладная математика и информатика»;
  • 27.03.03 «Системный анализ и управление».

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

Выберите систему, а не технологию

Плохо:

«Разработка веб-системы на React».

Сильнее:

«Разработка системы обработки экспериментальных данных лаборатории с контролем версий и воспроизводимостью анализа».

Сначала задача, потом стек.

Пользователь

Определите, кто работает с системой:

  • исследователь;
  • инженер;
  • оператор;
  • аналитик;
  • администратор.

У каждого сценарий и права.

Не проектируйте одного абстрактного «пользователя».

Use case

Например:

Исследователь загружает экспериментальный набор, запускает обработку и получает отчёт с параметрами запуска.

Это лучше списка функций без логики.

Требования

Разделите:

  • functional;
  • performance;
  • reliability;
  • security;
  • reproducibility.

В научной информационной системе воспроизводимость может быть важнее красивого UI.

Data model

Определите:

  • experiment;
  • dataset;
  • run;
  • model;
  • result;
  • user.

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

Не складывайте всё в один JSON без необходимости.

Версия данных

Если dataset изменился, старый результат должен оставаться воспроизводимым.

Сохраняйте:

  • dataset version;
  • timestamp;
  • hash;
  • parameters.

Иначе невозможно понять, на чём был получен график.

Provenance

Для научных данных полезно знать:

source -> preprocessing -> computation -> result.

Это data lineage.

Курсовая становится сильнее, если цепочку можно восстановить.

Metadata

Для файла недостаточно имени `data.csv`.

Сохраняйте:

  • источник;
  • единицы;
  • эксперимент;
  • дату;
  • прибор;
  • автора.

Без metadata информационная система превращается в файловое хранилище.

Database

Выбор SQL/NoSQL должен иметь причину.

SQL хорошо подходит для:

  • связей;
  • integrity;
  • transactions.

NoSQL может быть полезен для гибкой структуры.

Не выбирайте MongoDB только потому, что JSON удобно.

Transaction

Если операция меняет несколько таблиц, решите, должна ли она быть атомарной.

Например:

создать experiment + dataset + permissions.

Половина сохранённой операции может нарушить целостность.

Индексы

Для больших данных индекс должен соответствовать запросу.

Покажите:

  • query;
  • time before;
  • index;
  • time after.

Так оптимизация доказана.

API

Для программного интерфейса опишите несколько ключевых методов.

Например:

POST /datasets
POST /runs
GET /runs/{id}

Для каждого:

  • request;
  • response;
  • error.

Async job

Научный расчёт может длиться минуты или часы.

Не держите HTTP connection.

Используйте:

  • queue;
  • worker;
  • status.

Пользователь должен видеть прогресс.

Idempotency

Повторный запрос не должен случайно запускать дорогое вычисление дважды, если это запрещено логикой.

Для таких операций можно использовать idempotency key.

Это хороший инженерный нюанс.

Storage

Большие файлы лучше хранить отдельно от основной relational DB.

В БД:

  • metadata;
  • path;
  • hash.

В object storage:

  • binary.

Но для маленькой курсовой локальное файловое хранилище тоже допустимо.

Integrity

Hash позволяет проверить, что файл не изменился.

Например:

SHA-256.

Но hash не является шифрованием.

Не смешивайте эти задачи.

Access control

Исследователь может видеть свои datasets, руководитель - проект, администратор - систему.

Задайте RBAC.

Не полагайтесь на скрытую кнопку в интерфейсе.

Audit log

Для изменения данных сохраняйте:

  • actor;
  • action;
  • object;
  • time.

Это помогает расследовать случайное изменение.

Reproducible run

Каждый запуск должен фиксировать:

  • code version;
  • dependency version;
  • parameters;
  • input hash.

Тогда результат можно повторить.

Git commit

Можно сохранять commit hash проекта в run metadata.

Это сильная связь программной инженерии и информационной системы.

Container

Docker помогает зафиксировать окружение.

Но образ должен иметь версию.

`latest` плохо подходит для воспроизводимости.

Workflow engine

Для сложного pipeline можно представить:

ingest -> clean -> compute -> validate -> publish.

Не обязательно использовать Airflow.

Важно показать этапы и зависимости.

Error handling

Ошибка расчёта не должна терять исходные данные.

Сохраняйте статус:

  • queued;
  • running;
  • failed;
  • completed.

Для failed сохраните безопасное сообщение.

Retry

Не все ошибки можно повторять.

Network timeout - возможно.

Ошибка формата входа - нет.

Опишите retry policy.

Monitoring

Для системы расчётов полезны:

  • queue length;
  • job duration;
  • failed jobs;
  • CPU/RAM.

Не отслеживайте 100 метрик без необходимости.

Производительность

Сформулируйте конкретную задачу:

  • загрузка 1 ГБ;
  • запрос 1 млн записей;
  • 50 параллельных jobs.

Измеряйте именно её.

Load test

Если сервис многопользовательский, создайте сценарий с реальными endpoint.

Покажите:

  • throughput;
  • p95;
  • errors.

Не ограничивайтесь «система выдержала нагрузку».

Fault tolerance

Что происходит, если worker падает?

Задача:

  • теряется;
  • повторяется;
  • зависает.

Для небольшой системы достаточно описать и протестировать один сценарий.

Backup

Определите:

  • БД;
  • файлы;
  • частоту;
  • restore test.

Backup без восстановления не проверен.

UI

Интерфейс научной системы должен уменьшать вероятность ошибки.

Например:

  • единицы;
  • validation;
  • preview;
  • подтверждение.

Не делайте UI главным результатом, если тема системная.

Dashboard

Для состояния системы показывайте:

  • active jobs;
  • errors;
  • datasets.

Не смешивайте operational dashboard и научные результаты.

Документация

README плюс API docs должны позволить другому человеку:

  • запустить;
  • загрузить пример;
  • выполнить run;
  • получить результат.

Это практический критерий качества.

Тесты

Проверьте:

  • duplicate dataset;
  • invalid file;
  • failed job;
  • permission;
  • successful flow.

Тестируйте не только happy path.

Практическая глава

Схема:

1. контекст программы;
2. user problem;
3. requirements;
4. domain;
5. architecture;
6. data;
7. API;
8. reproducibility;
9. tests;
10. benchmark.

Что учитывать в МФТИ

Поисковый запрос «ИСиТ» не совпадает с отдельным направлением набора МФТИ 2026 года. Но системная разработка реально представлена в ВШПИ и других IT-программах.

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

Защита

Будьте готовы показать data lineage, архитектуру, запуск задачи, версию данных, API, тест ошибки и benchmark.

Сильная курсовая по информационным системам в МФТИ показывает воспроизводимую систему для реальной научной или инженерной задачи.

Ещё по теме