VTMine4Visio (проект)

Материал из Wiki - Факультет компьютерных наук
Перейти к: навигация, поиск
Ментор Шершаков Сергей
Учебный семестр Осень 2018
Учебный курс 2-й курс
Проект можно развивать на летней практике
Максимальное количество студентов, выбравших проект: 5



Что это за проект?

«VTMine4Visio» — это инструмент графического моделирования процессов, построенный на основе графического редактора Microsoft Visio. Инструмент представляет собой ядро в виде Visio Add-On, функционал которого, в свою очередь, расширяется плагинами, которые динамически загружаются при загрузке Add-On.

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

Основная область применения инструмента «VTMine4Visio» — дисциплина Process Mining (извлечение и анализ моделей процессов).

Ориентировочный размер проекта сейчас (ядро, основные плагины и связанная библиотека алгоритмов LDOPA) — ~100K SLOC.

Vtm4visio.jpg


Чему вы научитесь?

1) Проектировать архитектуру сложной программной системы таким образом, чтобы поддерживать ее прозрачной (незапутанной) и управляемой. 2) Разрабатывать модули расширения (plug-in-ы) для существующей системы, расширяя, тем самым, ее функциональное наполнение (язык программирования C#). 3) Познакомиться с дисциплиной process mining, которой сейчас сильно заинтересовались крупные индустриальные игроки: банки, консалтинговые агентства, страховые, технологические компании, производители оборудования и др.

Какие начальные требования?

1) Уверенное владение языками программирования C# (ядро VTM4Visio, базовые плагины) или C++ на уровне разработки концептов и мета-программирования (эффективная реализация алгоритмов process mining). 2) Организованность, дисциплинированность, способность ритмично работать над заданной темой в течение длительного времени (до лета). 3) Соблюдение NDA-соглашения, ограничивающего некоторые аспекты распространения информации о системе.

Какие будут использоваться технологии?

1) Так как большая часть кода написана под конкретные версии ПО, необходимо иметь MS Visual Studio 2013. 2) Использование git для версионирования базы программного кода. Репозитории на локальном сервере (_не_ внешние сервисы). 3) Обязательное использования системы менеджмента проектов Redmine, развернутой на локальном сервере.

Темы вводных занятий

1) Вводная о моделировании, моделировании процессов и process mining. 2) Структура разработанной системы. 3) Актуальные задачи для разработки.

Направления развития

1) Реализация различных функциональных возможностей (фич) существующей системы. 2) Реализация алгоритмов process mining.

Критерии оценки

Оценка бинарная. Студент, добросовестно работающий над проектом, в результате деятельности которого получается новая единица функциональности, получает оценку 8—10 в зависимости от сложности реализованной задачи/затраченного времени на ее реализацию. В противном случае студент получает оценку «незачтено» (рекомендуется сразу определиться с планами: работать или поискать другой проект).

Ориентировочное расписание занятий

В соответствии с расписание учебных занятий. ПН: до 13:40. ВТ: после 16:40. ПТ: до 15:00 и после 18:00.