На современном этапе развития общества наблюдается усложнение функций программных продуктов. Конкуренция на рынке программного и аппаратного обеспечения приводит к тому, что разработка любого программного продукта должна осуществляться в интересах потребителей и с учетом их мнения. Именно поэтому различные компании перед тем, как выпустить программный продукт непосредственно на рынок, проводят его презентацию пользователям. При этом следует учитывать, что разработка программного продукта должна укладываться в рамки «треугольника проекта», то есть нужно соблюдать заданные сроки и потратить необходимое количество ресурсов, в том числе денежных.
Отметим, что выпуску готового программного продукта обычно предшествуют этапы, которые зафиксированы в ГОСТ 34.601-90. К данным этапам относятся [1]:
- формирование требований к програм- мному продукту;
- разработка концепции программного продукта;
- техническое задание;
- эскизный проект;
- технический проект;
- рабочая документация;
- сопровождение программного продукта.
Проектирование как процесс представляет собой упорядоченную совокупность методологий и средств создания или модернизации программных продуктов. В проектировании принято выделять три важнейших области: проектирование баз данных, проектирование приложений и проектирование сетей [2]. Каждая область отличается методами и средствами. Однако, независимо от специфики перечисленных выше областей, важную роль в проектировании играет постановка цели. Именно от грамотной постановки цели зависит эффективность процесса проектирования. В исследовании [3] утверждается, что исправление ошибки на стадии проектирования стоит в 2 раза, на стадии тестирования – в 10 раз, а на стадии эксплуатации системы – в 100 раз дороже, чем на стадии анализа. Кроме того, ошибки анализа и проектирования обнаруживаются часто самими пользователями, что вызывает их недовольство и осложняет процесс сопровождения программных продуктов. Проектирование обычно связано с таким процессом, как моделирование. В основе моделирования лежит понятие «модель». Под моделью понимают абстракцию, которая используется для описания функций программного продукта. Благодаря моделям можно обозначить требования к нему и определить направление работы [4].
Учитывая определение понятия «Проектирование», можно сделать вывод, что основная работа проектировщика заключается в формировании требований к программному продукту, разработке концепции программного продукта, подготовке технического задания и эскизного проекта. Безусловно, в процессе работы над программным продуктом разработчики вынуждены постоянно возвращаться к тому или иному этапу, вносить необходимые изменения и постоянно оценивать эффективность своей работы. Это может привести к потерям времени и изменению сроков сдачи готового программного продукта. Целью данного исследования является анализ возможностей средств, которые позволят упростить труд проектировщиков и сэкономить время на выполнение различных операций.
Материалы и методы исследования
В данной статье мы рассмотрим особенности применения онлайн-сервисов для решения различных задач проектирования. Под онлайн-сервисами мы будем понимать широкий спектр инструментов для разработки различных ресурсов [5]. Достоинства и недостатки того или иного сервиса зависят от специфики задач, для решения которых он применяется. Например, визуализация основных этапов работы с помощью сервиса позволит следить за выполнением сроков работы.
Выше в статье было обозначено, что на первом этапе необходимо изучить потребности рынка, проанализировать программные продукты конкурентов и выяснить мнение пользователей о том или ином программном продукте. Следовательно, нашей задачей является проведение опроса как можно большего числа респондентов. В этом случае онлайн-сервисы будут выступать средством для разработки вопросов анкеты, проведения анкетирования и обработки полученных результатов.
Рассмотрим пример разработки анкеты для пользователей в сервисе Online Test Pad. Данный сервис представляет собой бесплатный многофункциональный сервис для проведения опросов [6].
Предположим, что нам необходимо провести опрос участников кружка по робототехнике и узнать их мнение по поводу целесообразности разработки информационного сайта. В процессе формулирования вопросов необходимо учесть, что сайт – это только проект, который планируется реализовать в будущем. Следовательно, мы должны выяснить мнение респондентов по поводу возможной логической структуры сайта, цветовой гаммы, работы форума и гостевой книги и др.
Пример одного вопроса, оформленного в сервисе Online Test Pad, представлен на рис. 1.
Рис. 1. Оформление вопросов в Online Test Pad
Отметим, что к достоинствам данного сервиса можно отнести наличие дашборда, на котором отображается количество созданных вопросов, дата создания теста, ссылка для скачивания. В разделе «Статистика» можно получить данные об ответах респондентов – количество ответов, статистику по дням и сводный отчет.
После проведения опроса возникает необходимость проанализировать сайты других кружков по робототехнике. Данная информация необходима для определения логической структуры сайта, которая отвечает за размещение информации и основных разделов на сайте [7]. Кроме того, анализ аналогов позволит обозначить эстетические и эргономические требования, от которых будет зависеть желание участников кружка работать с сайтом.
Логическую структуру сайта можно нарисовать в любом редакторе, предназначенном для создания схем, в том числе и редакторе draw.io. Данный сервис предназначен для моделирования диаграмм и блок-схем бизнес-процессов [8]. Пример логической структуры сайта, созданной в данном сервисе, представлен на рис. 2.
Рис. 2. Логическая структура сайта, созданная в сервисе draw.io
Рис. 3. Фрагмент диаграммы Гантта, разработанной в сервисе GANTTPRO
Рис. 4. Пример диаграммы прецедентов, построенной в редакторе Draw.io
Следующим этапом работы является составления плана деятельности. Обычно в проектировании средством наглядного представления трудовых процессов является диаграмма Гантта. На данной диаграмме отображаются этапы работы, даты их начала и завершения, продолжительность каждого этапа [9]. Отметим, что в настоящее время существует другой подход к планированию проектной деятельности [10]. С точки зрения гибкой (agile) методологии наличие «жесткого плана» работы ставит разработчика в такие условия, при которых он должен выполнить поставленные перед ним задачи точно в срок, зачастую в ущерб качеству. В этом случае рекомендуется применять другие подходы к составлению плана работы, например SCRUM или RUP.
Для построения диаграммы Гантта можно воспользоваться сервисом GANTTPRO [11]. Отметим, что этапы работы должны соответствовать этапам жизненного цикла, обозначенным в соответствующих ГОСТах. Пример диаграммы Гантта, разработанной в сервисе GANTTPRO, представлен на рис. 3.
Важную роль в проектировании играют диаграммы, построенные в различных нотациях. Например, унифицированный язык моделирования UML представляет собой семейство графических нотаций, в основе которых лежит единая метамодель [12]. Он помогает описывать требования к программным продуктам, последовательность этапов работы с ними посредством объектно-ориентированных технологий. Рассмотрим пример построения диаграммы прецедентов в сервисе Draw.io. С помощью диаграммы прецедентов можно показать требования к разрабатываемому продукту. Пример диаграммы прецедентов для иллюстрации требований к сайту кружка по робототехнике представлен на рис. 4.
С помощью этой диаграммы становится понятным, что пользователь на сайте сможет узнать интересную информацию, изменения в расписании и связаться с преподавателями. Кроме того, администрировать сайт будет менеджер. Аналогично посредством данного сервиса мы можем построить другие диаграммы в нотации UML.
Важную роль в проектировании играет разработка дизайна. В настоящее время популярным является адаптивный дизайн, который предполагает корректную работу сайта на всех без исключения устройствах. В исследованиях [13, 14] отмечается, что подходить к процессу разработки дизайна сайта нужно, с одной стороны, творчески, а с другой – помнить, что основной целью работы сайта является реализация всех его функций. Кроме того, основным моментом при создании дизайна является соотношение совокупности графических элементов, их смысловая нагрузка и расположение таких элементов на странице макета будущего сайта. Сайт должен вызывать у пользователей положительные эмоции. Для разработки дизайна можно использовать сервис Canva [15]. Пример дизайна главной страницы представлен на рис. 5.
Рис. 5. Пример дизайна главной страницы в сервисе Canva
Отметим, что предложенные в исследовании сервисы не являются единственными. Учитывая стремительное развитие рынка в ИТ-сфере, количество сервисов постоянно возрастает. В этом случае проектировщик должен выбрать наиболее удобный и понятный ему сервис.
Результаты исследования и их обсуждение
Интернет в настоящее время является не только средством предоставления информации для пользователей, но и местом их работы. Посредством онлайн-сервисов можно решать различные задачи на различных этапах жизненного цикла программного продукта. Если команда решает вопросы на этапе проектирования, то сервисы могут использоваться для разработки анкет, опросов, проведения расчетов, создания прототипа продукта и подготовки презентации. Применение сервисов позволяет сэкономить время для подготовки необходимых материалов и денежные средства, которые необходимо потратить на приобретение соответствующего программного обеспечения. Многие сервисы поддерживают функцию совместной работы, что немаловажно в условиях необходимости организации удаленной работы.
Для хранения достаточно большого количества материалов по проекту возникает необходимость в организации единого пространства [16]. Подобное пространство позволит всем участникам команды иметь доступ к материалам проекта, оценивать вклад каждого участника в проект и следить за ходом его реализации. Решить данную проблему позволяет использование сервисов командной работы. Например, использование сервисов Trello, Timer позволяет наблюдать за процессом работы участников команды в режиме реального времени, безопасно хранить и корректировать разработанные материалы, вносить изменения в план работы и др.
Заключение
На сегодняшний день существует большое количество редакторов, конструкторов, программ для решения различных задач проектирования. Их выбор, во-первых, зависит от уровня компетенций проектировщика, во-вторых – от специфики решаемых задач. Применение онлайн-сервисов позволяет быстро и качественно выполнить операции, связанные с проектированием. Однако работа с данными сервисами возможна только при наличии доступа в интернет. Данный аспект необходимо учитывать команде разработчиков не только при выполнении работы, но и в процессе подготовки и проведения презентаций проектов.
Библиографическая ссылка
Бужинская Н.В. ОБЗОР ОНЛАЙН-СЕРВИСОВ, ПРИМЕНЯЕМЫХ В ПРОЕКТИРОВАНИИ ПРОГРАММНЫХ ПРОДУКТОВ // Научное обозрение. Технические науки. – 2020. – № 6. – С. 11-16;URL: https://science-engineering.ru/ru/article/view?id=1320 (дата обращения: 23.11.2024).