Разработка ПО

Управление требованиями на базе стандартов

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

Программирование без стека вызовов

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

SE2004: рекомендации по обучению специальности «Программная инженерия»

Во всем мире университеты разрабатывают для своих студентов курсы по программной инженерии, которые дополняют существующие программы по информатике и компьютерной инженерии. Чтобы сформулировать принципы составления эффективного учебного плана, IEEE Computer Society и ACM разработали в рамках более масштабного проекта Computing Curriculum набор рекомендаций Software Engineering 2004 (SE2004). SE2004 — один из нескольких документов, совместно подготовленных IEEE и ACM для вычислительных дисциплин, к которым помимо программной инженерии также относятся информатика, компьютерная инженерия, информационные системы и информационные технологии.

Адаптивная декомпозиция ресурсов в системах реального времени

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

Первые шаги к решению проблемы верификации программ

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

Управление документацией в проектах разработки ПО

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

Что диск грядущий нам готовит?

По прогнозам, в 2010 году средняя емкость жесткого диска на ПК составит 1,7 Гбайт, а к 2020-му она возрастет до 85 Тбайт, что позволит записать 22 млн. песен, или 86 млн. цифровых фотографий, или 21,5 тыс. фильмов.

Спецификации интероперабельности Web-сервисов

Предлагаемая концептуальная платформа позволяет анализировать проблемы интероперабельности Web-сервисов. Она обеспечивает контекст для изучения существующих стандартов и спецификаций, а также выявления новых возможностей автоматизации. Web-сервисы становятся предпочтительной технологией реализации сервис-ориентированных архитектур (Service-Oriented Architecture, SOA). Они упрощают взаимодействие и, следовательно, интеграцию приложений.

Управление Web-сервисами

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

Сервисы, идентичность и стандарты

Развитие распределенных сервис-ориентированных архитектур порождает новые проблемы — идентификации субъектов информационного обмена и стандартизации этого процесса. По мере развития компьютерных сетей они становятся реальной информационно-инфраструктурной основой бизнеса. Конвергенция бизнеса с сетевыми

Открытая система поддержки разработки

Быстрый рост рынка заказной разработки программного обеспечения дает шанс отечественным компаниям занять на нем достойное место. Однако для этого России требуется достаточное число разработчиков, способных выпускать качественные продукты. Один

CRM для страхования

Практика Infiniband

Советы мэтра

Профессор школы бизнеса Массачусетского технологического института Майкл Кузумано хорошо известен в мировой программной индустрии как эксперт по бизнес-проблемам разработки ПО. Его книги Microsoft secrets и The Business of Software стали бестселлерами. Его консультациями пользуются такие компании как Cisco Systems, IBM, Intel, Fujitsu, Motorola и Siemens

Стандарты обмена данными в электроэнергетике

Многоядерные процессоры и программирование

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

Стандартная база Linux

Архитектура виртуальных машин

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

Серебряные пули для маленьких монстров, или Как сделать программы более заслуживающими доверия

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

Web-сервисы: несуществующие стандарты