Большинство специалистов по программной инженерии не в восторге от того, что программную архитектуру их систем выбирает бизнес-менеджер. Однако во многих компаниях именно так и происходит — программные системы повторяют организационную структуру, которую формируют топ-менеджеры. Как путем корректировок организационной структуры руководители влияют на архитектуру ПО?
Кто-то считает тестирование скучным занятием, но — это важнейший и самый дорогостоящий сегодня этап жизненного цикла программного продукта. С внедрением адаптивного ПО, Agile и систем на основе искусственного интеллекта возникла потребность в новых технологиях тестирования, методах и инструментах, а также стратегиях интеллектуального тестирования для систем на основе ИИ. Тестирование — уже не низкоприоритетный процесс, который можно передать на аутсорсинг, а один из центральных элементов разработки ПО, причем характеризующийся высокой степенью автоматизации.
Четыре принципа открытости обеспечивают мощный фундамент для строительства устойчивой и сбалансированной экосистемы вокруг проектов открытого кода, однако не гарантируют успех и долговечность сообщества. Технологии часто выдвигают на первый план в ущерб человеческому фактору и среды, в которой могли бы взаимодействовать участники со всего мира независимо от культуры, языка, карьерных устремлений и политических предпочтений.
Архитектура на основе событий может использоваться для построения сложных бизнес-моделей в медицинской информатике — построение событийных моделей хорошо фрагментируется на выделение событий и их обработку, не затрагивая уже имеющиеся обработчики. Архитектура обладает хорошей адаптивностью и может применяться не только в медицине.
Темы мартовского, апрельского и майского номеров журнала Computer (IEEE Computer Society, V. 55, No. 3, 4, 5, 2022) – готовность технологий искусственного интеллекта и соответствующих методов программной инженерии к широкому применению, интеграция алгоритмов в повседневную жизнь и игровые технологии нового поколения.
Рост сложности ИТ-инфраструктур, динамизм и разнообразие сфер применения современного ПО заставляет искать новые пути развития систем программирования. Включение решений ИИ в жизненный цикл ПО, начиная от разработки, тестирования и заканчивая безопасным выводом приложения из эксплуатации обещает обеспечить устойчивость развития бизнеса, сократить стоимость владения инфраструктурой и ускорить возврат инвестиций.
Существующие платформы закладывают основы профессиональной программной инженерии квантовых конфигураций. Производители квантового оборудования предлагают программные технологии и симуляторы квантово-механических явлений для своих компьютеров. Квантовые технологии развиваются экспоненциальными темпами, однако для создания полезного и надежного ПО необходимо решить ряд специфических задач.
Наблюдение за действиями разработчиков, определение вопросов, на которые программисту сложнее всего получать ответы, помогают выявить проблемы проекта создания ПО. Современные средства программирования могут облегчить процесс разработки, предлагая новые, более простые способы получения ответов на трудные вопросы программистов.
Agile-методология стала стандартом де-факто разработки программного обеспечения, однако корпорации обычно стараются воздержаться от масштабных изменений. Вместе с тем компании, неспособные адаптироваться и освоить новые разработки, не выживут в долгосрочной перспективе. Отказ от Agile в современных условиях — фатальная ошибка. С какими проблемами сталкиваются команды разработки в крупных компаниях при внедрении agile-методик и каковы возможные пути их преодоления?
Применение методов исследования данных в процессах разработки ПО позволяет выиграть в конкурентной борьбе. Например, в программной инженерии получила распространение методика измерения характеристик программного обеспечения, однако без средств автоматизации невозможно разобраться в огромных массивах получаемых с помощью этой методики данных и учесть все их взаимозависимости.
Автономные системы пока не вызывают доверия – не всегда ясно, как они принимают решения. При этом для автономных систем неприменимы традиционные методы — функциональное тестирование и проверка перебором – получения объективных свидетельств, подтверждающих пригодность системы для конкретного применения. Необходимы специальные методы валидации автономных систем, учитывающие, в числе прочего, их динамическое изменение и обучаемость.
Еще недавно переход от вертикального к горизонтальному масштабированию казался непозволительно дорогим, но со временем были разработаны специальные методы, затраты стали меньше, и хотя не все команды разработчиков справляются с горизонтальным масштабированием, те, кому это удается, находятся в авангарде индустрии разработки ПО.
Серия катастроф физически новых авиалайнеров Boeing 737 Max, регулярно проходивших техническое обслуживание, заставила задуматься над тем, как такое стало возможным в отрасли, традиционно отличающейся высокими требованиями к сертификации по безопасности и наличием скрупулезного контроля за надежностью. Что к этому привело: низкое качество ПО, выгода в ущерб безопасности, культура разработки или все вместе?
Разработчики вынуждены постоянно принимать решение о том, что делать с проблемным кодом: переписать целиком, частично переделать или проигнорировать недоработки. Есть немало рекомендаций по решению этого вопроса в случае небольших недоработок, но когда речь идет о крупном проекте, решение принять сложнее. Какие факторы следует учесть при выборе?
Сейчас как никогда актуальна задача обеспечения качества ПО, для решения которой сегодня предлагается множество инструментов верификации и валидации кода. При этом важно не только внедрить сами инструменты, развивать соответствующие компетенции и выстроить стратегию тестирования. Для устранения рисков, связанных с человеческим фактором, нужны развитые возможности автоматического обнаружения критических точек и дефектов.
Созданный только в 2014 году факультет компьютерных наук НИУ ВШЭ уже завоевал хорошую репутацию и пользуется популярностью среди абитуриентов. Какие преимущества имеются у молодого факультета перед патриархами академического образования в области computer science, чему и как учат на ФКН и где ждут его выпускников?
Микросервисы сегодня в моде — достаточно просто заявить о приверженности этой архитектуре. Но намного сложнее изменить подходы к разработке и эксплуатации корпоративных информационных систем, а также скорректировать устоявшиеся принципы корпоративной архитектуры и приступить к трансформации работающих бизнес-процессов.