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

Альфа-язык и транслятор

Все теоретическое и практическое программирование в СССР вышло из проектов по его автоматизации. Благодаря участию в проекте «Алгол» советские программисты уже на заре становления универсальных средств программирования смогли интегрироваться в международное сообщество.

На пути к Интернету вещей

Аналитики прогнозируют лавинообразный рост числа предметов, способных подключиться к Интернету, активно передавать и получать данные, а заодно и обмениваться ими между собой — их скоро будет уже более 200 млрд. Пока объем данных от этих устройств-вещей составляет несколько процентов потока, генерируемого во всем мире, однако уже через несколько лет он будет на порядок больше. Как организовать надежное взаимодействие между подключенными к Сети устройствами, а заодно и людьми?

Управление программными продуктами

В 1995 году браузер Netscape Navigator владел 80% рынка, а в 2003 году компания обанкротилась, и причина этого — отсутствие управления продуктами.

Многообразный мир тестирования

Тема февральского номера журнала Computer (IEEE Computer Society, Vol. 47, No. 2, 2014) — тестирование программного обеспечения.

Будни и праздники первого ВМК страны

Полвека назад в ННГУ был открыт первый в стране факультет вычислительной математики и кибернетики. Его нынешний декан рассказывает о новых задачах и перспективах развития вычислительной математики и информационных технологий.

Тестирование мобильных приложений

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

Что сулит будущее?

Тема январского номера журнала Computer (IEEE Computer Society, Vol. 47, No. 1, 2014) — перспективы.

Принципы разработки в облаках

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

Технологии разработки пользовательских интерфейсов

Под влиянием непрерывных изменений, обусловленных чередованием эпох от настольных ПК к Web и мобильным устройствам, активно развиваются пользовательские интерфейсы. Что происходит сейчас в области разработки пользовательских интерфейсов, какие применяются методы и каковы перспективы их развития?

Тестирование быстродействия приложений AJAX

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

Энциклопедия алгоритмов

Вышел в свет перевод третьего издания книги «Алгоритмы: построение и анализ» («Introduction to algorithms»), ставшего уже знаменитым среди специалистов пособием по алгоритмам, которое в наши дни рекомендуется в качестве основного учебника чуть ли не по каждому университетскому курсу по ИТ.

PaaS: новые возможности разработки в облаках

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

Эскизное проектирование в программировании

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

Управление проектами в условиях нестабильности

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

Программы для посадки на Марс

Какой объем программного обеспечения требуется для безопасной посадки космического аппарата на Марс и как добиться надежности кода? На примере анализа процесса разработки программной системы, управлявшей посадкой марсохода НАСА Curiosity, можно получить ответы на эти вопросы.

Архитектура и скорая разработка: брак, развод или дружба?

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

Нарушайте правила

Большинство заказных разработок ПО выполняется на основе гибких методов управления проектами, в частности Scrum, однако менее половины проектов завершаются успешно. Чтобы заставить Scrum работать, необходимо научиться «погружать» заказчика в проект.

Метапроектирование как наука

Фредерик П. Брукс, автор книги «Проектирование процесса проектирования: записки компьютерного эксперта», убежден, что «при всей неповторимости процессов проектирования в различных областях деятельности в них есть нечто постоянное», и посвящает свой труд анализу процесса проектирования сложных систем.

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

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

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

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