Курсовая по информационным системам и технологиям в МГТУ им. Баумана должна отвечать не на вопрос «какой фреймворк использовать», а на вопрос «какая информационная задача решается и как система подтверждает, что решает её правильно».
В МГТУ им. Н.Э. Баумана направление 09.03.02 «Информационные системы и технологии» представлено в образовательных планах университета. В официальном каталоге «Открытый МГТУ» оно связано, в частности, с кафедрой ИУ3.
Официальный каталог:
https://open.bmstu.ru/courses/
Начните с пользователя
Кто будет работать с системой?
Например:
- диспетчер;
- инженер;
- оператор;
- аналитик;
- студент;
- клиент.
Для каждого пользователя задайте конкретный сценарий. Не проектируйте «систему для предприятия» без ролей.
Проблема
Хорошая проблема измерима:
- ручной перенос данных;
- дублирование;
- потеря статусов;
- долгий поиск;
- несогласованность справочников.
Не пишите только «необходима цифровизация».
User journey
Покажите путь:
вход -> действие -> решение -> результат.
Для каждого шага отметьте экран, данные, правило и возможную ошибку.
Требования
Разделите функциональные, нефункциональные и ограничения.
Функциональное:
«Система формирует заявку».
Нефункциональное:
«95% запросов обрабатываются быстрее N секунд».
Acceptance criteria
Для каждого важного требования задайте условие проверки.
Например:
Given: пользователь авторизован.
When: загружает файл неверного формата.
Then: система отклоняет его и показывает понятное сообщение.
Так требования становятся тестируемыми.
Доменная модель
Определите сущности:
- пользователь;
- заявка;
- документ;
- статус;
- оборудование;
- событие.
Не начинайте схему БД с технических таблиц. Сначала нужен смысл предметной области.
ER-диаграмма
Для каждой связи покажите 1:1, 1:N или M:N.
M:N обычно требует отдельную связывающую сущность. Не храните список ID через запятую в одной ячейке.
Нормализация
Она уменьшает дублирование, аномалии обновления и противоречия. Но чрезмерная нормализация может усложнить аналитические запросы.
Обсудите баланс.
Ограничения БД
Используйте:
- NOT NULL;
- UNIQUE;
- FOREIGN KEY;
- CHECK.
Часть качества данных лучше гарантировать на уровне БД, а не только интерфейса.
Миграции
Схема системы развивается. Покажите, как изменение структуры данных переносится между версиями.
Не правьте production-таблицу вручную без истории.
API
Опишите несколько ключевых endpoint:
- метод;
- URL;
- вход;
- ответ;
- ошибки.
Не публикуйте весь Swagger на десяти страницах.
Интеграция
Информационная система часто не существует изолированно.
Возможны:
- ERP;
- CRM;
- LDAP;
- файловый обмен;
- внешнее API.
Для каждой интеграции укажите направление данных и частоту.
ETL
Если система загружает данные из внешнего источника, опишите:
1. extract;
2. transform;
3. validate;
4. load.
Не загружайте сырые данные сразу в основную таблицу без проверки.
Справочники
Одна и та же сущность должна иметь единый код.
Например, подразделение.
Не допускайте «Отдел продаж», «Sales», «Продажи» как три разных значения без маппинга.
Качество данных
Сделайте проверки:
- completeness;
- uniqueness;
- validity;
- consistency.
Покажите несколько метрик до и после очистки.
