Обзор текущего процесса разработки ПО в НИУ ВШЭ - Пермь и методик его улучшения, Обзор текущего процесса разработки ПО в рамках учебных проектов в НИУ ВШЭ - Пермь - Методика моделирования основных процессов разработки программного обеспечения
В данной главе рассмотрены основные проблемы, решение которым будет предложено в данной работе. Помимо этого, описаны основные понятия и принципы организации процесса разработки, на основании которых будет построена модель процесса разработки для НИУ ВШЭ.
Обзор текущего процесса разработки ПО в рамках учебных проектов в НИУ ВШЭ - Пермь
В течение своего обучения в НИУ ВШЭ студенты пишут огромное количество различных научных и исследовательских работ, при этом часть из них подразумевает разработку какого-либо программного инструмента. Каждая из этих работ является своеобразным учебным проектом, близким к реальным проектам, но отличающимся определенными особенностями. Так, в данном случае упор делается на укрепление и подтверждение знаний студентов, а сам программный продукт вторичен. К учебным проектам относятся как курсовые и дипломные работы, так и любые рейтинговые задания, выполняемые в командах.
Подобные работы охватывают длительный промежуток времени, так как процесс разработки включает в себя множество различных задач, включающих не только написание кода, но создание технических описаний разрабатываемого решения, поиск и исправление ошибок и так далее.
Однако одной из наиболее сложных, но при этом неявных задач в подобных работах является выстраивание плотного взаимодействия студентов с преподавателями и другими студентами, если проект является групповым. Эта задача является неявной, потому что выстраивание эффективного взаимодействия происходит со временем, то есть как можно более долго группа работает в одном составе, тем более слаженной и эффективной будет ее работа. При этом организация согласованной работы требует постоянного обмена информацией внутри проектной группы, а время, затраченное на такой обмен информацией, может существенно увеличивать сроки выполнения самого проекта [2].
Считается, что для задач, которые могут быть разбиты на части, но требуют обмена данными между подзадачами, затраты на обмен данными должны быть добавлены к общему объему необходимых работ. При этом, если все задачи должны быть скоординированы между собой, то затраты возрастают как n(n-1)/2 (где n число работников, выполняющих эти задачи) [3]. То есть, если проектная группа состоит из трех человек, то требуется втрое больше попарного общения, чем для двух, для четырех человек - уже вшестеро.
Таким образом, взаимодействие студентов с преподавателями и другими студентами внутри своих проектных групп является затратным по времени процессом. Но также следует отметить, что состав таких групп постоянно меняется - одну работу студенты могут выполнить в одной группе, а другую в другой, либо они могут сменить преподавателя на того, чьи методы работы будут разительно отличаться. Помимо этого, у одного преподавателя может быть несколько групп студентов, с каждой из которых он должен постоянно взаимодействовать и помогать с их проектами.
Исходя из этого, работа внутри проектных групп в университете зачастую не является слаженной и достаточно эффективной, так как сам процесс организации такой работы и набор задач участников будут разниться в каждом отдельно взятом случае, что, в свою очередь, приводит к увеличению времени, необходимого на реализацию самого проекта.
При этом качественное планирование и отлаженное взаимодействие участников каждой проектной группы в условиях ограниченного времени также напрямую влияет на результат работы, насколько в полном объеме проработана сама идея и насколько корректно работает созданный программный продукт. Следует отметить, что для развития университета за счет внутренних ресурсов крайне важно, чтобы результат такой работы был максимально качественным, так как, при должной проработке решения, оно может внедряться в стенах университета и использоваться в дальнейшем. Иными словами, руководство университета заинтересовано в том, чтобы подобное развитие было устойчивым.
Поскольку длительность выполнения работ по тем или иным причинам (технологическим, организационным и т. д.) не всегда можно уменьшить, а распараллеливание выполнения задач ведет к дополнительным затратам времени на обмен информацией, то сокращение именно непроизводительных затрат времени на обмен информацией является резервом, позволяющим существенно сократить срок выполнения проекта [2].
Таким образом, основной проблемой, влияющей на длительность работы над проектами и на качество конечного решения, является низкий уровень планирования и организации работы внутри проектной группы, чему способствуют трудности при взаимодействии между членами таких проектных групп, включающих и студентов, и преподавателей. Решением такой проблемы может быть создание единой общей модели взаимодействия для подобных групп, целью которых является разработка определенного программного продукта.
Такая модель позволит определить роли участников проектной группы, общие принципы при их взаимодействии между собой, а также общие этапы процесса разработки программного обеспечения внутри университета с разбивкой данного процесса на конкретные задачи и подзадачи для каждой из ролей. Так, следуя данной модели в процессе своей работы, участникам проектной группы не нужно будет тратить время на обсуждение организации и распределения своих задач, а также дальнейших этапов работ.
При этом грамотное распределение ролей между участниками и их совмещение в процессе разработки позволит досконально освоить соответствующий каждой роли набор компетенций. Это отличается от случая, когда студенты распределяют задачи как попало, что приводит не только к снижению уровня организации рабочего процесса и его прозрачности для всех участников, но и негативно влияет на качество получаемых ими знаний.
Помимо помощи при планировании и организации текущих работ, данная модель также может помочь при работе с будущими и планируемыми проектами.
Дело в том, что многие учебные проекты связаны между собой и вытекают из друг друга. Так, например, в последнее время становится распространенной практика разбиения учебных работ на несколько лет или циклов, которые будут выполнять различные группы студентов. То есть, например, несколько дипломных или курсовых работ будут постепенно, год за годом дополнять друг друга. Таким образом, в настоящее время разработка программных продуктов в рамках учебных проектов ведется итерационно, то есть весь большой проект разбивается на отдельные задачи, которые и выдаются определенным студенческим проектным группам в виде их основной учебной работы.
При этом не существует определенных обязательств между студентами по прямой передаче знаний и технологий, используемых в решениях, и данная работа ложится на плечи преподавателей, причем зачастую в устной форме, что, при большом количестве студентов у каждого из них, может быть проблематично.
Разрабатываемая модель включает основные шаги по документированию своих действий и наработок, что позволит облегчить процесс передачи знаний между разными поколениями студентов. В данном случае, например, не нужно будет просматривать весь текст работы других студентов, достаточно будет прочитать отдельно составленные техническое описание и план работ.
Похожие статьи
-
Введение - Методика моделирования основных процессов разработки программного обеспечения
В последнее время во многих предприятиях происходит внедрение новых моделей управления и различных информационных систем, обеспечивающих увеличение...
-
При работе над проектом разрабатывались два основных компонента системы: база данных (далее - БД) и интерфейс клиентского приложения. Затем необходимо...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Следующей задачей было изучение литературы по теме и ее анализ. Для этого использовались публикации из российских источников с целью учета особенностей...
-
При составлении бизнес-плана решаются задачи, которые можно сгруппировать в два раздела: собственно планирование, анализ результатов/ подготовка...
-
Важнейшим вопросом при создании САПР после формализации процесса проектирования является вопрос отображения проектно-конструкторской деятельности...
-
Общая характеристика технологии создания программного обеспечения К программно-инструментальным средствам в первую очередь относятся алгоритмические...
-
Предметная область IoT (Интернет вещей) - это сеть физических объектов - устройств, транспортных средств, зданий и других вещей со встроенной...
-
Организационная система управления проектами
Контрольная работа Тема 9 В зависимости от специфики, размера и сложности программного проекта в его реализации могут принимать участие от одной до...
-
Формы и характеристики параллелизма Параллелизм -- это возможность одновременного выполнения нескольких арифметико-логических или служебных операций. На...
-
Обзор модулей системы - Моделирование и анализ процессов внутреннего документооборота предприятия
Структурно модули системы представляют собой наборы компонент различных типов. Компоненты имеют характерный интерфейс и наборы данных, определяемые их...
-
Автоматизированное тестирование программного обеспечения - это процесс проверки программного обеспечения, который включает в себя такие шаги как запуск,...
-
Бизнес - планирование, являясь нормой любой предпринимательской деятельности, необходимо для предвидения будущей ситуации, стратегических решений и для...
-
Для проекта предусматривающего наличие большого количества задач, отображение показателей и составление отчетов, ручное ведение проекта не является...
-
После выполнения задачи по Подбору и анализу литературы, настало время поиска и сравнительного анализа уже существующих решений задачи контроля...
-
Математическое и программное обеспечение (МО, ПО)- совокупность математических методов, моделей, алгоритмов и программ для реализации целей и задач...
-
Этапы компьютерного моделирования при исследовании термодинамических процессов в композиционных материалах Композиционные материалы, состоящие из...
-
Считается, что правильно организованный документооборот и электронный архив документов становятся необходимыми условиями эффективной работы современного...
-
Предлагаемая библиотека хранит все данные в отдельных таблицах, таким образом он не обязан использовать ту же СУБД, что и основное приложение. В качестве...
-
Процесс тестирования, Разработка тест-кейсов - Тестирование программного обеспечения
Тестирование представляет собой процесс проверки того, насколько программное обеспечение соответствует требованиям, заявленным заказчиком. Он...
-
На данный момент существует множество аналогов данного приложения, можно выделить такие как стандартный проводник Windows и Total Commander. Заказчику...
-
Выбор средств реализации информационной системы Названные в параграфе 1.4. настоящей работы задачи могут быть решены тремя типами средств автоматизации:...
-
Введение - Разработка объектов Хранилища
Ни для кого не секрет, что проблема хранения и обработки информации является одной из самых важных на данный момент во всем мире. Особенно актуальной эта...
-
Языки и методы параллельного программирования - Администрирование параллельных процессов
Применение параллельных архитектур повышает производительность при решении задач, явно сводимых к обработке векторов. Автоматическое распараллеливание...
-
Говоря о мониторинге показателей эффективности выполнения проектов в ИТ-консалтинге, стоит четко определить все термины и понятия, затрагивающие данную...
-
Преимущества, которые дает тестировщику автоматизация тестирования: - Исключен "человеческий фактор". Существует некоторая гарантия того, что не один...
-
При внедрении СЭД необходимо придерживаться следующих основных принципов: *активное участие высшего руководства Заказчика в решении организационных...
-
Компания MERA Networks - является одним из крупнейших мировых поставщиков услуг в сфере информационно-коммуникационных технологий. MERA предлагает...
-
Данная глава посвящена описанию автоматизированного тестирования, его типам, выявлению достоинств и недостатков в автоматизации тестирования. Более того...
-
Целью практики является закрепление знаний, полученных в процессе изучения дисциплин "Конструирование программ и языки программирования" и "Основы...
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Данная глава посвящена решению таких задач, как выявление теоретических основ тестирования, классификация и описание видов тестирования, анализ и...
-
Общие сведения о тестировании Данный раздел посвящен проведению тестирования клиентского приложения. Тестирование для серверной части системы не...
-
Разработка требований к программному модулю При разработке программного модуля следует опираться на требования и спецификации, определенные для...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Заключение - Разработка программного средства, позволяющего оптимизировать SQL-скрипты
Оптимизация потребления ресурсов (хранение данных, ресурсы CPU) - важная задача при реализации ETL-процессов. Чем больше ресурсов системы будет свободно,...
-
Обзор и анализ нормативных документов Для начала решения поставленных задач необходимо было изучить нормативную документацию НИУ ВШЭ, которая касается...
-
Лоцман: КБ относится к классу PDM-систем и предназначен для быстрого формирования и поддержания в актуальном состоянии электронного архива...
-
Классификация видов тестирования - Тестирование программного обеспечения
При тестировании программного продукта применяется огромное количество различных видов тестов. Наиболее широкую и подробную классификацию предложил автор...
-
Основания для разработки Система разрабатывается в соответствии с планом учебного процесса Института менеджмента и Информационных технологий (ИМИТ...
Обзор текущего процесса разработки ПО в НИУ ВШЭ - Пермь и методик его улучшения, Обзор текущего процесса разработки ПО в рамках учебных проектов в НИУ ВШЭ - Пермь - Методика моделирования основных процессов разработки программного обеспечения