Skip to content

Система мониторинга на тракторном заводе

Notifications You must be signed in to change notification settings

Untouchabl3Pineapple/iu7-ppo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Система мониторинга на тракторном заводе

Идея проекта

Создание системы мониторинга на тракторном заводе, содержащей информацию об инцидентах на станках и визуальное интерпретирование работы завода на табло. Главное табло содержит информацию о статусе каждого поста (идет работа, работа выполнена, работа остановлена в результате инцидента). Статус поста определяется нажатием кнопки, которая установлена на каждом рабочем посту, что переключает статус поста на табло. Разрабатываемое ПО должно предоставлять интерфейс для взаимодействия с базой данных с возможностью создания новых инцидентов и редактирования их описания. Требуется реализовать функциональность для разных категорий пользователей

Предметная область

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

Аналогичные решения

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

Целесообразность и актуальность

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

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

Use-Case - диаграмма

Use-Case - диаграмма guest

Use-Case - диаграмма foreman

Use-Case - диаграмма shop manager

Use-Case - диаграмма admin

ER - диаграмма сущностей

ER - диаграмма сущностей

Пользовательские сценарии

Гость:

  1. Просмотр табло;
  2. Выход из аккаунта.

Мастер:

  1. Классификация происшествий;

    а) Выбор типа происшествия из предложенных.

  2. Редактирование описаний происшествий;

  3. Просмотр табло и истории происшествий;

  4. Выход из аккаунта.

Начальник цеха:

  1. Классификация происшествий;

    а) Добавление нового типа происшествий;

    б) Выбор типа происшествия из предложенных.

  2. Редактирование описаний происшествий;

  3. Просмотр табло и истории происшествий;

  4. Выход из аккаунта.

Администратор:

  1. Классификация происшествий;

    а) Добавление нового типа происшествий;

    б) Выбор типа происшествия из предложенных.

  2. Редактирование описаний происшествий;

  3. Просмотр табло и истории происшествий;

  4. Управление доступом, создание удаление пользователей;

  5. Выход из аккаунта.

Формализация бизнес-правил

Формализация бизнес-правил

Тип приложения и выбранный технологический стек

Тип приложения: Web SPA.

Технологический стек:

  • Backend:
    • C#
    • ASP.NET Core
  • Frontend:
    • HTML
    • CSS
    • C#
  • База данных:
    • PostgreSQL

Верхнеуровневое разбиение на компоненты

В процессе проектирования выделяются 3 основных компонента:

  • компонент доступа к данным;
  • компонент бизнес-логики;
  • компонент реализации UI.

UML-диаграмма классов компонента бизнес-логики и компонента доступа к данным

UML диаграмма классов бизнес логики и доступа к данным

Триггеры базы данных

При создании базы данных были определены два триггеры. Оба срабатывают после добавления в таблицу ButtonsEvents новой записи (нажатие кнопки), но один заносит запись в список происшествий, а второй обновляет цвета на постах (сущность ButtonsPosts) для отображения на табло.

Схема работы триггеров

Схема работы триггеров

Схема функции вставки нового происшествия в список

Схема функции вставки нового происшествия в список

Схема функции обновления блоков на табло

Схема функции обновления блоков на табло

Диаграмма классов сущностей базы данных

Диаграмма классов сущностей БД

Тесты (Lab 3-4)

Unit-тесты для компонента бизнес-логики находятся в папке UnitDBL.

Интеграционные тесты для компонента доступа данных находятся в папке UnitDAL.

Результат прохождения Unit-тестов:

Unit-тесты

Логгер, демонстрация работы приложения и покрытия всех use-case'ов (Lab 5-7)

Внедрена система логирования методов контроллеров с записью в лог-файл папки /db_cp/logs.

Авторизация (общая)

auth

Регистрация (общая)

reg

Мониторинг для гостя

guest_monitoring

Добавление типа происшествия для гостя

guest_addEventType

Удаление типа происшествия для гостя

guest_delEventType

Панель админа (добавление нового пользователя) для гостя

guest_addNewUser

Панель админа (изменения прав доступа пользователя) для гостя

guest_updatePermission

Редактирование таблицы происшествий (выставление типа происшествия и добавление описания) для гостя

guest_editing

Мониторинг для мастера

foreman_monitoring

Добавление типа происшествия для мастера

foreman_addEventType

Удаление типа происшествия для мастера

foreman_delEventType

Панель админа (добавление нового пользователя) для мастера

foreman_addNewUser

Панель админа (изменения прав доступа пользователя) для мастера

foreman_updatePermission

Редактирование таблицы происшествий (выставление типа происшествия и добавление описания) для мастера

foreman_editing

Мониторинг для начальника цеха

manager_monitoring

Добавление типа происшествия для начальника цеха

manager_addEventType

Удаление типа происшествия для начальника цеха

manager_delEventType

Панель админа (добавление нового пользователя) для начальника цеха

manager_addNewUser

Панель админа (изменения прав доступа пользователя) для начальника цеха

manager_updatePermission

Редактирование таблицы происшествий (выставление типа происшествия и добавление описания) для начальника цеха

manager_editing

Мониторинг для администратора

admin_monitoring

Добавление типа происшествия для администратора

admin_addEventType

Удаление типа происшествия для администратора

admin_delEventType

Панель админа (добавление нового пользователя) для администратора

admin_addNewUser

Панель админа (изменения прав доступа пользователя) для администратора

admin_updatePermission

Редактирование таблицы происшествий (выставление типа происшествия и добавление описания) для администратора

admin_editing

Обновленная диаграмма классов сущностей базы данных (Lab 8)

Была добавлена новая сущность News

Обновленная диаграмма классов сущностей БД

Демонстрация работы за гостя

newsGuest

Демонстрация работы за мастера

newsForeman

Демонстрация работы за начальника цеха

newsManager

Демонстрация работы за администратора

newsAdmin

Поддержка новой СУБД (Lab 9)

Добавлена поддержка новой СУБД (MongoDB)

About

Система мониторинга на тракторном заводе

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published