This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
start [2016/09/07 06:52] kkv |
start [2018/09/01 03:21] kkv |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | === Курс: Программная инженерия === | + | <note> |
+ | </note> | ||
- | ===== Список проектов ===== | + | ====== МОЭВМ Вики ====== |
- | === 1. Плагин vagrant для клонирования виртуальных машин === | + | > //Ознакомиться с синтаксисом можно тут:// [[wiki:syntax|Справка по синтаксису]] |
+ | > //Попробовать свои силы без ущерба для проекта можно тут:// [[playground:start|Песочница]] | ||
+ | > //Общие сведения и рекомендации по работе с Wiki:// [[:wiki_rules]] | ||
- | * vagrant configuration cloning plugin (VCCP) | + | |
- | * Задачей проекта является создание расширения для vagrant, которое бы позволило клонировать конфигурации произвольного размера для следующих провайдеров виртуализации: docker, libvirt, virtualbox | + | |
- | * задействованные технологии: vagrant, docker, libvirt, virtualbox | + | |
- | * языки разработки: ruby, bash | + | |
- | * https://dev.osll.ru/projects/mdbci, https://github.com/OSLL/mdbci | + | |
- | * **deliverables**: исходный код плагина, тесты для плагина, публикация плагина в repo плагинов для vagrant | + | |
- | |||
- | === 2. Визуализация результатов опросов === | ||
- | |||
- | Необходимо написать плагин, который строит графики с помощью библиотеки языка Python matplotlib (http://matplotlib.org/). На вход подаются таблицы формата csv, результат работы программы - файл pdf c построенными графиками. | ||
- | |||
- | **deliverables**: библиотека функций и консольное приложение на python 2.7 для построения кастомизируемых (настраиваемых пользователем) графиков к различным таблицам формата csv. | ||
- | |||
- | === 3. Автоматизация развертывания OpenStreetMaps === | ||
- | |||
- | https://geo2tag.atlassian.net/wiki/pages/viewpage.action?pageId=49348611 | ||
- | |||
- | **deliverables**: описаны в документе | ||
- | |||
- | === 4. ИС Кафедры: Научная работа === | ||
- | |||
- | Приложение должно предоставлять возможность ввода/обработки/хранения/предоставление информации о: | ||
- | * публикациях/научных трудах (группировка по годам/людям) | ||
- | * участии (достижениях) в конференциях/конкурсах/НИОКР и т.д. | ||
- | * численности аспирантов, докторантов, соискателей и стажеров | ||
- | Также приложение должно обеспечивать разные уровни доступа к информации для различных пользователей. | ||
- | |||
- | **deliverables**: веб-приложение на языке Python2.7/Flask + MongoDb. | ||
- | |||
- | === 5. ИС Кафедры: Оборудование и ПО === | ||
- | |||
- | Приложение должно предоставлять возможность ввода/обработки/хранения/предоставление информации об основных средствах кафедры, их характеристиках/о списанных технических и нетехнических средствах; | ||
- | а также получении информации о: | ||
- | * инвентарных, заводских номерах и других идентификационных параметрах объектов; | ||
- | * наличии и/ или расположении некоторого технического или нетехнического средства, обладающего требуемыми параметрами; | ||
- | * объектах, подлежащих списанию; | ||
- | * ПК, на которых установлено определенное ПО; | ||
- | * сетевых данных компьютера (сетевое имя, IP); | ||
- | * списках программных, технических или др. материальных средств определенного типа, назначения, определенной фирмы и т.п. | ||
- | Также приложение должно обеспечивать разные уровни доступа к информации для различных пользователей. | ||
- | |||
- | **deliverables**: веб-приложение на языке Python2.7/Flask + MongoDb. | ||
- | |||
- | === 6. Инфраструктура курса "Программирование в ядре Linux" === | ||
- | |||
- | Главной задачей курса является освоение способов отладки и расширения ядра. Для того, чтобы сделать курс массовым, необходимо разработать технологию быстрой автоматизированной загрузки студенческих наработок в ядро Linux, запущенное в libvirt (qemu). | ||
- | |||
- | В процессе разработки вы получите знания в следующих областях: | ||
- | * Методы модификации ядра Linux (создание и загрузка модулей ядра/драйверов/ прочих расширений) | ||
- | * Методы перекомпиляции ядра | ||
- | * Создание baseimage для docker | ||
- | * Создание libvirt image | ||
- | * Модификация libvirt image для совместимости с vagrant | ||
- | |||
- | |||
- | **deliverables**: библиотека и консольное приложение на языке Ruby, позволяющая сгенерировать и запустить ядро Linux с пользовательскими доработками с помощью связки docker+vagrant. | ||
- | |||
- | === 7. Графовый фронтенд для трекеров задач === | ||
- | |||
- | Задача: сделать веб-приложение для популярных трекеров задач (Redmine/Jira/Trello ...), которое позволяет | ||
- | * отобразить графически связи между задачами и порядок их выполнения (в виде графа) | ||
- | * предоставить инструмент для графического редактирования задача (обмен местами в цепочках связей, перестановка задач, выделение критических групп задач/циклов/взаимозависимостей/недокомпозированных задач | ||
- | |||
- | **deliverables**: веб-приложение с регистрацией + настраиваемым подключением к одному из трекеров, возможностью редактировать и визуализировать связи между задачами. | ||
- | |||
- | === 8. Логистический сервис на базе Geo2Tag === | ||
- | |||
- | https://geo2tag.atlassian.net/wiki/pages/viewpage.action?pageId=45514805 | ||
- | |||
- | **deliverables**: веб-сервис для регистрации и управления автопарками + мобильное приложение водителей для передачи данных. | ||
- | |||
- | === 9. Планировщик туристических активностей === | ||
- | |||
- | Приложение, которое составляет подробный план отпуска (с возможностью офлайн-работы) в незнакомом городе/стране с учетом интересов пользователя, бюджета на отпуск, местоположения отеля, параметров начала/конца отпуска, желаемого темпа, климатических условий. | ||
- | |||
- | |||
- | **deliverables**: веб-сервис с функциями: | ||
- | - регистрации, | ||
- | - планирования, корректировки и сохранения планов отпуска. | ||
- | |||
- | === 10. Сбор статистики курса "Основы программирования для Linux" === | ||
- | |||
- | Необходимо разработать расширение (blueprint) для веб-сервера проверяющей системы курса "Основы программирования для Linux", которое бы позволяло решить следующие задачи: | ||
- | * потоковый (без записи всего лога в память) анализ лога, выявление отдельных событий и их длительности (опционально) в рамках заданного временного интервала | ||
- | * поступление заявки | ||
- | * обработка заявки | ||
- | * внутренние ошибки системы | ||
- | * произвольные события (задана подстрока начала и конца события) | ||
- | * вычисление статистических моментов от заданной выборки (максимальное, минимальное, среднее, частота события) | ||
- | * отображение и визуализация данных на веб-странице | ||
- | * страница имеет GET параметры | ||
- | * временной интервал (может быть открытым) | ||
- | * группировка значений (по часам, дням, неделям) | ||
- | * отображаемое событие или события | ||
- | * отображение в виде временной зависимости | ||
- | * визуализация с помощью библиотеки https://developers.google.com/chart/ | ||
- | * на графике необходимо отображать статистические моменты | ||
- | |||
- | **deliverables**: веб-сервис на Python2.7/Flask, содержащий веб-страницы для графического отображения статистики за заданный период с заданными настройками. | ||
- | |||
- | === 11. Сервис запуска docker-контейнеров по требованию === | ||
- | |||
- | Разработать веб-сервис на Python2.7/Flask для запуска docker-контейнеров по требованию c помощью vagrant. Требования: | ||
- | * REST интерфейсы | ||
- | * запуск/status/остановка контейнера | ||
- | * получение списка запущенных контейнеров | ||
- | * создание/редактирование/отображение Vagrantfile | ||
- | * веб-интерфейс для управления запущенными контейнерами: | ||
- | * требует авторизации | ||
- | * отображение таблицы с запущенными контейнерами и ссылками на их конфигурации | ||
- | * элементы управления для работы с контейнерами и Vagrantfile | ||
- | |||
- | **deliverables**: веб-сервис на Python2.7/Flask с поддержкой авторизации и содержащий веб-страницу для управления контейнерами и конфигурациями. | ||
- | |||
- | === 12. Remote AVR development IDE === | ||
- | |||
- | Разработать решение для удаленной загрузки и отладки программ в микроконтроллерах AVR. | ||
- | К серверу подключается несколько микроконтроллеров через программаторы отладчики по интерфейсу JTAG, доступные для пользователей. Каждый пользователь, используя клиентское приложение, может забронировать себе некоторый интервал времени, в который ему будет доступен один из микроконтроллеров. Клиентским приложением является Arduino IDE с добавленным функционалом для дистанционной отладки написанных в ней программ с использованием отладчика GDB. | ||
- | |||
- | **deliverables**: Модифицированнная среда разработки Arduino IDE, сервис управление сервером отладки, сервис резервирования контроллеров для удаленного доступа. | ||
- | |||
- | === 13. ИС Кафедры: индивидуальные планы преподавателей === | ||
- | |||
- | Требуется разработать компоненты информационной системы кафедры, обеспечивающие управление индифидуальными планами преподавателей | ||
- | * Планирование учебной нагрузки | ||
- | * Переподготовка и повышение квалификации | ||
- | * Участие в мероприятиях, конференциях, | ||
- | * Руководство НИР | ||
- | * Генерация отчетов | ||
- | * ... и другие параметры индивидуального плана | ||
- | |||
- | === 14. ИС Кафедры: учет студентов === | ||
- | |||
- | Требуется разработать компоненты информационной системы кафедры, обеспечивающие: | ||
- | * Управление студенческими данными | ||
- | * Импорт/экспорт данных | ||
- | * Рейтинги по предметам, курсовые, практки. | ||
- | * Генерация отчетов. | ||