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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Интеграция систем управления разработкой

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

Методы оптимизации процесса создания ПО

Несмотря на постоянное повышение эффективности компьютеров продуктивность человеческого труда увеличивается весьма скромными темпами, особенно это касается производительности труда программистов. Ситуацию могут исправить такие методологии как INTSPEI P-Modeling Framework, обратная семантическая трассировка и др., позволяющие оптимизировать этапы процесса создания программного обеспечения, которые трудно поддаются автоматизации.