Программная инженерия

Программирование в динамическом мире

Широко применяемая сегодня объектно-ориентированная парадигма весьма ограниченна, что привносит в архитектуру программных систем избыточную сложность, поэтому на повестке дня стоит задача создания универсального синтаксиса предметно-ориентированного языка, в основу которого может быть положен динамический мир взаимодействий и категорный подход.

Бережливая разработка программ

Откуда взялась бережливая разработка программного обеспечения, какова его суть и в чем особенности по сравнению с принципами скорой разработки? Каковы перспективы дальнейшего развития этого вида разработки?

Как появляются новые языки программирования

Для удовлетворения требований современных ИТ-систем создается ряд новых языков программирования.

Эволюция парадигмы программирования

Методологии и принципы разработки программ прошли путь от машинного кода до аспектно-ориентированного программирования и продолжают меняться.

Инструменты небесных разработчиков

Старший директор компании Microsoft по стратегии облачных вычислений Роб Крафт о новых задачах, которые перед разработчиками ПО ставит облачная парадигма.

Тестирование облачных сервисов

Для любой компании-разработчика переход от традиционной модели создания и распространения программ к SaaS связан с изменением не только финансовых и бизнес-процессов организации, но и с изменением процессов создания ПО, причем важное место в жизненном цикле программ приобретает тестирование облачных сервисов. Среда Visual Studio 2012 предоставляет инструменты для модульного, функционального и автоматического тестирования приложений, развернутых в облаке.

Кризис программирования 2.0

Современные инициативы по совершенствованию принципов разработки программного обеспечения вряд ли способны сформировать среду, позволяющую программной инженерии идти в ногу с развитием аппаратных технологий и учитывать все возможности, предоставляемые Большими Данными.

Строгая реализация скорых методов разработки

Стратегии agile-разработки сегодня в том или ином объеме применяются во многих организациях, уже имеющих опыт использования простых методов, например Scrum, а теперь, после успеха подобных инициатив, у них возникает желание поднять применение agile-методов на новый уровень. Что же собой представляет этот новый уровень?

Новая жизнь верификации

Обеспечение высокой надежности и безошибочности программ — одна из главных задач ИТ-индустрии, однако до сих пор нет ее универсального и надежного решения. Вместе с тем использование верификации, дополняющей традиционные методы тестирования и отладки, позволяет повышать качество программ.

Оптимизирующие компиляторы

Оптимизирующие компиляторы, одни из самых сложных сегодня программ, продолжают и дальше усложняться, а потому компаниям-разработчикам приходится выделять все больше ресурсов на их поддержку и развитие. Чем интересны современные компиляторы и, в частности, оптимизирующий компилятор Intel, какие основные идеи и технологии повышения производительности приложений сегодня используются?

ФБР переходит на «скорые» методы

Что может происходить в один и тот же день в Федеральном бюро расследований? Команда спецназа спасает заложника, аналитики изучают разведданные о террористической угрозе, оперативники проводят арест преступника, а в подвале здания штаб-квартиры ФБР в Вашингтоне сотрудники работают над созданием основанной на «скорые» (agile) методах системы, призванной изменить применяемые ведомством принципы обработки данных.

Теория и практика программной инженерии

Теория помогает инженерам традиционных специализаций создавать и изучать методы, оценивать результаты и оптимизировать процессы. Играет ли теория аналогичную роль в программной инженерии?

Балансировка в облаках

Проведение динамической балансировки с учетом текущей загрузки серверов позволяет построить облако, оптимально использующее все имеющиеся ресурсы.

Open Source: уроки для программной инженерии

В проектах разработки программного обеспечения с открытым кодом применяются многие фундаментальные принципы программной инженерии, и, наоборот, существование OpenSource-приложений, не оставляющих ниши для конкуренции, наводит на мысль о том, что традиционной программной инженерии есть чему поучиться у разработчиков ПО с открытым кодом.

Почему люди покупают программное обеспечение

Традиционно люди покупали программное обеспечение, руководствуясь теми же соображениями, что и при покупке любых товаров, — необходимостью или желанием. Иногда эту необходимость подсказывает третье лицо, часто это поставщик товара, однако «компьютеризация» закончились — отныне ИТ не применяются только для решения задач, уже решенных ранее.

Ретроспектива в agile-командах

Agile-методологии проникли в российскую индустрию разработки программного обеспечения уже несколько лет назад, и имеется немало отчетов и статей о том, как приступать к внедрению Scrum или других разновидностей agile-методологий и практик. Однако что делать дальше, после того как проблемы начального этапа остались в прошлом, а работа по принципам Scrum стала для команды нормой?

Вознесение: приложения для облаков

Отраслевые отчеты консультантов, бизнес-журналы, блоги и книги – все пытаются рассказать разработчикам о прелестях облаков, а провайдеры соответствующих сервисов, в свою очередь, изо всех сил расхваливают достоинства новой модели, однако имеется совсем немного информации о том, как разрабатывать программы для облаков.

Разработка программ: проблемы и иллюзии

С высоких трибун сегодня звучат призывы к модернизации управления экономикой на разных уровнях, что, казалось бы, должно означать повышение спроса на программное обеспечение, однако в нашей стране формированию развитой отрасли разработки ПО мешают устоявшиеся иллюзии и нерешенные проблемы.

Экономика фондов СПО

Приняв участие в создании успешных платформ категории Open Source, производители программного обеспечения могут эффективнее конкурировать, предлагая различные компоненты стека своих технологий и расширяя тем самым свой целевой рынок.

Истинная цена программных ошибок

Фактически провал или успех наших повседневных дел в той или иной степени определяется корректностью функционирования ПО, что ставит современное общество в зависимость от программных ошибок.