Сегодня существуют умные города, в которых за счет использования информационных технологий, датчиков и специализированной инфраструктуры повышается качество жизни жителей. При этом возникла потребность в анализе и представлении данных в некоторой системе, чтобы сделать их полезными и понятными для людей, для чего применяются информационные панели. Целью этих систем является предоставление пользователям информации для поддержки принятия решений, поэтому важно адаптировать визуализацию предоставляемой информации к их потребностям и предпочтениям. Однако анализ возможностей и преимуществ адаптивности посредством взаимодействия с пользователями – это тема, находящаяся на стадии изучения. В данной статье анализируется литература по визуализации информации в адаптируемых информационных панелях для умных городов. На основе элементов адаптируемых информационных панелей, выявленных в обзоре литературы, мы предлагаем архитектуру адаптируемой информационной панели, определяем основные характеристики пользователей информационной панели умного города и создаем прототип адаптируемой информационной панели с использованием методов, ориентированных на пользователей.
У людей с деменцией (PwD) ухудшаются исполнительные функции, в частности их кратковременная память, и поэтому им трудно выполнять повседневные многоэтапные задачи или действия. Нет сомнений в том, что во время пандемии инвалиды и лица, осуществляющие уход за ними, были особенно уязвимы, часто изолированы, что сказывалось на их психическом и физическом здоровье. Их способность жить независимо была ограничена, что провоцировало депрессию у людей с инвалидностью и эмоциональное истощение у неформальных опекунов. Информационные технологии могут способствовать лечению деменции, улучшая качество жизни людей с инвалидностью и облегчая нагрузку на лиц, осуществляющих уход. Растет потребность в поддержке неформальных опекунов и улучшении их благополучия за счет уменьшения серьезности проблем с деменцией. В этом исследовании используются качественные методы для разработки модели с использованием технологических стратегий, которые основываются на полуструктурированных интервью, примененных к семи неформальным опекунам из двух разных стран. На основе этих интервью мы разработали идеи по внедрению решений, которые помогут лицам, осуществляющим неформальный уход, заботиться об инвалидах дома с помощью диалоговых агентов. Мы надеемся, что результаты, представленные в этом исследовании, помогут исследователям и разработчикам разработать решения, которые могут помочь людям с инвалидностью и неформальным опекунам.
В начале 2020 года коронавирус COVID-19 распространился по всему миру, и работа на дому стала необходимостью. В индустрии программного обеспечения тысячи разработчиков программного обеспечения начали работать из дома, многие сделали это в короткие сроки, в сложных и напряженных условиях. Эта ситуация могла воздействовать на эмоции разработчиков. С другой стороны, стало понятно, что для удаленной работы необходимы некоторые хорошо известные навыки межличностного общения. Исследованиям в области программной инженерии не хватает теории и методологий для рассмотрения человеческих аспектов в разработке программного обеспечения. В этой статье мы представляем предварительное исследование, посвященное психофизическому состоянию разработчиков во время пандемии, выраженному в испытываемых эмоциях и понимании того уровня, на котором используются/требуются гибкие навыки при работе из дома. Результаты показывают, что эмоции большей части разработчиков были положительными, однако часть респондентов выразила отрицательные эмоции. Что касается гибких навыков, некоторые из них оказываются очень востребованными при работе из дома, но единого мнения нет.
Современная разработка программного обеспечения требует гибких методов для развертывания и масштабирования все более востребованных распределенных систем. Практики применяют архитектуру микросервисов, чтобы справиться с проблемами, связанными с современными требованиями к программному обеспечению. Однако использование этой архитектуры также создает технические и организационные проблемы, потенциально замедляя работу групп разработки и эксплуатации, которым требуется больше времени и усилий для реализации качественного процесса развертывания, позволяющего им постоянно выпускать новые функции в рабочую среду. Принятие культуры DevOps вместе с ее методами и инструментами смягчает некоторые из этих новых проблем. В этой статье мы предлагаем руководство по развертыванию систем с микросервисной архитектурой с позиции культуры DevOps, предоставляющей практикам путь к началц внедрения необходимой платформы для этой архитектуры. Мы провели эту работу в соответствии с Методологией исследований в области проектирования информационных систем. Таким образом, мы определили проблему, а также определили цели решения путем выполнения систематического обзора литературы, включая серую литературу. Эту работу можно резюмировать следующим образом: (I) определение методов и технологий, поддерживающих развертывание микросервисов; (II) определение рекомендаций, проблем и лучших практик для процесса развертывания; (III) моделирование процесса развертывания микросервисов с помощью; (IV) интеграция знаний в руководство по развертыванию микросервисов с применением практики DevOps.
Программный процесс изучался с различных точек зрения, среди которых человеческий фактор является одним из наиболее важных в связи с присутствующим социальным аспектом. Это исследование направлено на изучение преимуществ использования ролевой теории Белбина в задачах – командных и индивидуальных, – связанных с процессом разработки программного обеспечения, особенно в проектировании баз данных (БД). В этой статье представлены два контролируемых эксперимента с участием студентов. В первом эксперименте сравнивались интегрированные команды с совместимыми ролями, определенными у студентов, и команды, интегрированные с помощью традиционной стратегии, во время решения задачи концептуального проектирования БД. Во втором эксперименте испытуемыми выступали отдельные студенты, и сравнивалиось выполнение выявленных у них ролей Белбина в задаче логического проектирования БД. Зависимыми переменными в обоих экспериментах были трудозатраты при выполнении задачи и качество созданного дизайна. Результаты в первом эксперименте не показали существенных различий по обеим переменным, возможным ограничением была сложность задачи. Второй эксперимент также не показал существенных различий в переменной трудозатрат; однако в переменной, связанной с качеством логического плана, роль наблюдателя-оценщика показала значительные отличия по сравнению с другими шестью идентифицированными ролями; эти результаты согласуются с предыдущими исследованиями, указанными в литературе. Мы планируем продолжить эксперименты с другими задачами, чтобы получить более глубокое понимание применения теории Белбина в программном процессе для накопления опыта.
Scrum – один из многих гибких фреймворком, наиболее популярным и широко распространенным. Хотя Scrum имеет несколько преимуществ, его главной проблемой остается качество процесса и конечного продукта. Оценка качества должна быть важным элементом в процессе разработки программного обеспечения. Несколько авторов пытались улучшить качество проектов Scrum, изменив некоторые аспекты фреймворка, такие как включение новых методов обеспечения качества, роль качества и процессы обеспечения качества. Однако количественная оценка качества все еще остается проблемой. По этой причине авторы данной статьи предложили фреймворк под названием Scrumlity, который описывался в предыдущем исследовании. В этом фреймворке Scrum расширяется, включая добавление роли качества и некоторых артефактов для оценки качества посредством полного выполнения спринта. В описываемом исследовании авторы добавляют к фреймворку оценку качества пользовательских историй. Оценка качества пользовательских историй включает более 250 проанализированных пользовательских историй. Результаты, полученные после этого эксперимента, указывают на важность выполнения оценки качества пользовательских историй и на то, что члены команды Scrum готовы принять ее добавление во фреймворк.
Способность к системному мышлению стала чрезвычайно важной и широко изучаемой из-за возрастающей сложности систем. Из-за этого при обучении студентов очень полезно определить, обладают ли они способностями к системному мышлению, чтобы разработать конкретную стратегию обучения. В нашем исследовании применялся адаптированный целостный метод для оценки концептуальных карт, построенных аспирантами и студентами технических специальностей с целью выявления способностей к системному мышлению. Исследование состояло из двух фаз. На первой фазе студенты показали приемлемое знание факторов оценки затрат и некоторый уровень способности к системному мышлению. На втором этапе оба эти показателя были улучшены. Применялся U-критерий Манна-Уитни, чтобы определить, есть ли существенные различия между фазой 1 и фазой 2. Учитывались уровень достоверности 95% и уровень значимости 0,05.
В тендерном процессе участвуют конкурирующие предложения от разных кандидатов – поставщиков или их контрагентов. Победитель тендера должен поставить или оказать услугу на лучших условиях, чем конкуренты. Тендеры разрабатываются с использованием централизованных непроверенных систем, что снижает прозрачность, справедливость и доверие к процессу, а также снижает возможность обнаружения злонамеренных попыток манипулирования процессом. Системы, которые обеспечивают формальную проверку, децентрализацию, аутентификацию, доверие и прозрачность, могут снизить эти риски. Задача выполнимости формул в теориях обеспечивает формальный анализ для доказательства правильности свойств тендерных предложений, проверенные свойства обеспечивают надежность системы. Кроме того, одной из технологий, обеспечивающих децентрализацию, является блокчейн, цепочка распределенных и децентрализованных записей, связанных таким образом, что обеспечивается целостность. В нашей статье представлена формальная проверенная и децентрализованная система управления тендерными предложениями, основанная на задаче выполнимости формул в теориях и технологии блокчейн и направленная на то, чтобы сделать электронные тендеры на закупки более надежными, прозрачными и справедливыми.
Контекст: влияние правильной оценки на планирование, составление бюджета и контроль делает действия по оценке важным элементом успеха программного проекта. За последние семь десятилетий было разработано несколько методов оценки. В литературе чаще всего используется традиционный метод оценки, основанный на регрессии. Для создания моделей требуется справочная база данных, которая при рассмотрении реальных проектов обычно представляет собой набор данных клиновидной формы. Использование методов оценки на основе регрессии для этого типа базы данных обеспечивает низкую точность. Цель: Оценить и предоставить альтернативу общепринятой практике использования моделей на основе регрессии, выяснив, обеспечивают ли методы гладких кривых и методы регуляризации переменных более высокую надежность оценок, основанных на базах данных клиновидной формы. Метод: В предыдущем исследовании использовалась эталонная база данных клиновидной формы для построения модели оценки на основе регрессии. В этой статье используются методы гладких кривых, а также методы выбора переменных и регуляризации для построения моделей оценки, которые представляют собой альтернативу моделям линейной регрессии. Результаты: результаты показывают улучшение результатов оценки при использовании методов сглаженной кривой и регуляризации переменных по сравнению с моделями на основе регрессии с использованием клиновидных баз данных.
Анализ программного обеспечения – это процесс, выполняемый для получения требований, которые отражают потребности заказчиков, и позволяющий создать программный продукт, отвечающий их ожиданиям. Однако хорошо известно, что в этом процессе порождается множество дефектов. Хотя усовершенствование процессов разработки внесло свой вклад в индустрию программного обеспечения, процесс разработки требований к программному обеспечению нуждается в дополнительных исследованиях для определения достигнутых улучшений и используемых моделей. В рассмотренных литературных источниках было выявлено и использовано в качестве эталона аналогичное систематическое исследование с четырьмя исследовательскими вопросами. Целью данной работы является структурирование доступной литературы по улучшению процессов в области разработки требований к программному обеспечению для определения этапов совершенствования, парадигм, принципов и моделей. Было проведено систематическое исследование с использованием наиболее признанных баз данных цитирования. В общей сложности было выявлено 1495 исследований, после анализа которых было отобрано 86 основных исследований. Использовались 13 исследовательских вопросов. Были определены различные модели, которые применяются в процессе разработки требований к программному обеспечению, классифицированы выполненные исследования и собраны результаты по улучшению процесса разработки требований. Наиболее часто используемыми моделями являются CMMI, Requirements Engineering Good Practice Guide (REGPG) и ISO/IEC 15504. 62% отобранных исследований относятся к типу предложений и оценок; то есть в них предлагается некоторый фреймворк и изучается возможная реализация предложения в одном или нескольких частных случаях. Было обнаружено, что большинство исследований сосредотачивалось на этапе анализа способов совершенствования процесса. Аналогичным образом, в отличие от предыдущего исследования, с 2014 года по настоящее время количество публикаций типа предложений и валидации увеличилось на 9 статей. Это свидетельствует об интересе научного сообщества к этой области.
DevOps – это философия и инфраструктура, которые позволяют группам разработчиков и эксплуатации программного обеспечения работать скоординированно с целью быстрой и дешевой разработки и выпуска программного обеспечения. Однако, как сообщается в литературе, эффективность и преимущества DevOps зависят от нескольких факторов. В частности, было опубликовано несколько результатов исследований по автоматизации тестирования программного обеспечения, которая является краеугольным камнем фазы непрерывной интеграции в DevOps. Эти работы нуждаются в идентификации и классификации. В нашем исследовании консолидируется и классифицируется существующая литература по автоматизированному тестированию в контексте DevOps. Для исследования было проведено систематическое сопоставление литературных источников на основе 8 исследовательских вопросов. Путем выполнения запросов к шести уместным базам данных было получено 3312 статей. После процесса отбора 299 статей были выбраны в качестве основных. Исследователи сохраняют постоянный и растущий интерес к тестированию программного обеспечения в контексте DevOps. Большая часть исследований (71,2%) проводится в производственной сфере и затрагивают веб-приложения и SOA. Наиболее распространенными типами тестов являются модульные и интеграционные тесты.
В этой статье представлено исследование публикаций, посвященных стандарту ISO/IEC 29110 в университетском контексте, особенно с точки зрения образования в области разработки программного обеспечения. ISO 29110 состоит из профилей жизненного цикла разработки систем и программного обеспечения, ориентированных на использование в очень мелких предприятиях, и опубликован во многих частях. Стандарт ISO 29110, с момента его публикации в 2011 году и за время его непрерывного развития по сей день, является предметом изучения в различных контекстах, причем важным элементом является образование. Учитывая, что образование в области разработки программного обеспечения имеет значение для индустрии программного обеспечения в развивающихся странах, необходимо определить и консолидировать работу, проделанную в этом контексте. В этом исследовании основным исследовательским вопросом было то, какие исследования были проведены в соответствии с ISO 29110 при подготовке инженеров-программистов? Чтобы ответить на этот вопрос, было проведено систематическое исследование литературных источников. В ходе работы с помощью поисковой строки была получена 241 статья, и после отбора 17 из них стали основными для дальнейшего исследования. Основываясь на полученных результатах, можно судить, что наиболее изученными являются базовый профиль разработки программного обеспечения и его процессы управления проектами и внедрения программного обеспечения стандарта ISO 29110. Кроме того, было выявлено, что при подготовке будущих специалистов индустрии программного обеспечения наиболее часто используемыми стратегиями обучения по стандарту ISO 29110 были проектно-ориентированное обучение и методы геймификации.
Приложения, работающие с данными, обязаны обеспечивать их надежное хранение. Интерфейсы, доступные для работы с файловой системой, недостаточно специфицированы и требуют высокой квалификации для корректного использования, не приводящего к потере данных пользователей. В рамках данной работы был разработан инструмент, предоставляющий разработчикам возможность тестировать свои приложения и выявлять наиболее распространенные ошибки. Инструмент основан на сборе событий взаимодействия приложения с файловой системой и последующем запуске проверок, способных указать на допущенные ошибки. Инструмент реализует модульную архитектуру, позволяющую расширять доступный набор проверок. Разработанный инструмент был интегрирован в процесс тестирования реализации долговечного журнала, подобного журналу упреждающей записи – компоненту, реализованному во многих системах управления базами данных. Инструмент позволил обнаружить и исправить несколько ошибок, приводящие к возможной потере данных.
В данной статье проведено исследование встречаемости случаев использования небезопасной десериализации при взаимодействии между клиентским кодом и серверной стороной веб–приложения. Особое внимание было уделено сериализованным объектам, отправляемым из JavaScript-кода. Были выявлены характерные особенности шаблонов использования сериализованных объектов внутри клиентского JavaScript-кода и составлены уникальные классы, главной целью которых является облегчение ручного и автоматического анализа веб-приложений. Было разработано и реализовано инструментальное средство, выявляющее сериализованный объект в коде веб-страницы. Данный инструмент способен найти закодированные сериализованные объекты, а также сериализованные объекты, закодированные с помощью нескольких последовательно примененных кодировок. Для найденных экземпляров сериализованных объектов, инструмент определяет контекст, в котором находится найденный объект на странице. Для объектов, находящихся внутри JavaScript-кода, инструмент выявляет ранее упомянутые классы, при помощи сопоставления вершин абстрактного синтаксического дерева кода. После получения результатов исследования был проведен анализ серверных точек ввода данных на предмет десериализации найденных программных объектов на стороне сервера. В результате данной проверки были найдены ранее неизвестные публично уязвимости, о которых было сообщено разработчикам данного программного обеспечения. Одна из них получила идентификатор CVE-2022-24108. По результатам проведенного исследования был предложен метод, позволяющий облегчить как ручной, так и автоматизированный поиск уязвимостей типа “Десериализация недоверенных данных”. Предложенный алгоритм был протестирован на страницах более чем 50000 веб-приложений из списка Alexa Top 1M, а также на страницах 20000 веб-приложений из программ Bug Bounty.
Одним из возможных способов уменьшения ошибок в исходном коде является создание интеллектуальных инструментов, облегчающих процесс разработки. Такие инструменты часто используют векторные представления исходного кода и методы машинного обучения, заимствованные из области обработки естественного языка. Однако такие подходы не учитывают специфику исходного кода и его структуру. Данная работа посвящена исследованию методов предварительного обучения графовых векторных представлений исходного кода, где граф представляет структуру программы. Результаты показывают, что графовые векторные представления позволяют достичь точности классификации типов переменных программ, написанных на языке Python, сравнимой с векторными представлениями CodeBERT. Более того, одновременное использование текстовых и графовых векторных представлений в составе гибридной модели позволяет повысить точность классификации типов более чем на 10%.
ISSN 2220-6426 (Online)