Где работает система
Организация, подразделение, процесс, участок деятельности: автосервис, библиотека, склад, учебный отдел, клиника.
Как понять предметную область, построить модель данных, связать её с пользователями и защитить курсовую на «отлично».
Это не просто памятка. Это маршрут выполнения курсовой: от выбора объекта до проверки интерфейса и защиты логики проекта.
В курсовой проектируется система, а не отдельная таблица и не набор экранов. База данных является важной частью, но она не заменяет систему целиком.
Если в работе есть только таблицы, но нет функций, пользователей, транзакций и интерфейса, это ещё не проектирование информационной системы.
Хорошая работа начинается с ясного ответа: что автоматизируем и для какой функции проектируем систему.
Организация, подразделение, процесс, участок деятельности: автосервис, библиотека, склад, учебный отдел, клиника.
Запись клиента, учёт заказов, выдача документов, обработка заявок, контроль оплаты, планирование расписания.
Пользователь быстрее получает данные, меньше ошибается, видит историю операций и формирует нужные документы.
Внутри границы находится то, чем проектируемая система реально управляет. Внешние сервисы, облака, сети и чужие системы описываются как окружение.
Описать процесс, документы, правила, пользователей, объект и функцию.
Выделить сущности, атрибуты, ключи, домены и связи.
Построить первую модель в ERwin, затем провести анализ и улучшить её.
Выбрать режим Logical/Physical, целевую СУБД, задать типы данных и показать реальную структуру.
Проектировать параллельно с БД: экранные поля, транзакции и атрибуты должны постоянно сверяться.
Интерфейс не откладывается «на потом»: он помогает проверить, хватает ли в модели данных для пользовательских сценариев.
Нужно показать, как сейчас выполняется функция, кто участвует, какие документы входят в процесс и какие документы появляются на выходе.
Что происходит по шагам и почему именно так.
Ограничения, условия, исключения, бизнес-логика.
Входные формы, выходные отчёты, примеры реквизитов.
Роли, которые выполняют действия в системе.
Методика простая: выписываем существительные и устойчивые словосочетания, затем проверяем их двумя вопросами.
| Вопрос | Решение |
|---|---|
| Важно ли это для выбранной функции? | Если нет, не включаем в модель. |
| Есть ли собственные атрибуты? | Если да, это кандидат в сущность. |
| Можно ли хранить экземпляры? | Если да, сущность должна быть описана. |
Берётся из описания процесса, реквизитов документов и данных, нужных пользователю.
Первичный ключ должен быть уникальным, минимальным, устойчивым и удобным для работы.
Тип, размер, диапазон, перечисление, значение по умолчанию или понятное ограничение.
Недостаточно соединить сущности линиями. Нужно назвать связь глаголом, определить кардинальность, степень участия и объяснить их бизнес-правилом.
Связь многие-ко-многим напрямую не оставляют. Её раскрывают через ассоциативную сущность.
Подозрительные связи один-к-одному требуют проверки: возможно, сущности надо объединить.
Если связь не нужна для функции и транзакций, она создаёт шум и снижает качество модели.
В ячейке одно значение, нет списков внутри одного поля.
Неключевые атрибуты зависят от полного первичного ключа.
Атрибуты не должны зависеть от других неключевых атрибутов.
В курсовой важно показать, кто работает с системой и какие действия выполняет с данными.
| Неудачно | Лучше |
|---|---|
| Сотрудник | Оператор заявок |
| Менеджер | Пользователь, который оформляет заказ |
| Администратор | Пользователь, который ведёт справочники |
| Директор | Пользователь, который получает отчёты |
Список транзакций связывает модель данных с функцией системы. Хороший ориентир: 20-30 операций, из них около 10 подробно показать на модели или в реализации.
Найти клиента по ФИО и телефону. Показать все заказы клиента. Узнать стоимость услуги. Сформировать накладную. Показать материалы по услуге.
Для каждой операции должно хватать сущностей, атрибутов и связей. Если запрос невозможен, модель нужно исправлять.
Макет интерфейса нужен не для красоты, а для проверки: пользовательская форма должна работать на данных, которые действительно есть в модели.
Тема есть, а что именно автоматизируется и зачем, не ясно.
Нет пользователей, транзакций, интерфейса и границ системы.
Диаграмма сразу «идеальная», без проверки связей и атрибутов.
Не введена ассоциативная сущность для раскрытия связи.
Поля формы не совпадают с атрибутами базы данных.
Невозможно доказать, что модель поддерживает реальные действия.
Чем раньше вы покажете объект, функцию, первую модель и список транзакций, тем проще исправить проект до защиты.
Заслуженный доцент Российского нового университета. Преподаватель дисциплин в области информационных систем, информационных технологий и информационной безопасности.
Telegram: @UnderLineSecurityФирменные элементы: логотип и палитра РосНОУ. Материалы: конспект занятия, методические указания к курсовому проекту и чек-лист проверки курсовой.