span.fullpost {display:none;} span.fullpost {display:inline;}

вторник, 27 декабря 2011 г.

Формальные спецификации в проблематике совместимости hardware/software

Одной из областей, где действительно на практике используются людьми и приносят свои плоды формальные спецификации, является стандартизация интерфейсов. Если вы пишете небольшой софт, в нем небольшое число компонентов, ваша группа разработчиков сидит в одной комнате и, даже возможно, с заказчиком можно "говорить и показывать" буквально в реальном времени, то разработка не встречает тех проблем, которые возникают во всех остальных случаях. Большие, разнесенные на расстоянии, коллективы, масса унаследованного кода, сторонние организации (возможно, не имеющие отношения к разработке кода), требующие соблюдения международных стандартов (например, они хотят продавать заказанный ими вам софт зарубежом) - это приводит к плохой управляемости проектом. Тяжело найти одного-двух человек, которые бы взвалили на себя ношу владения всей ситуацией и принятие ответственных решений по координации действий всех участников проекта. Спасением в этой ситуации, как ни странно, является более строгий подход к деятельности, в том числе с ведением всевозможной документации. В частности, документации об интерфейсах компонентов, которые разрабатываются независимо, но должны в конечном счете "заработать вместе". Сказать - одно, а сделать - другое: то, что документация как-то будет использоваться, практически очевидно, но как это сделать эффективно? Действительно, эффективное управление крупными проектами - это сложная вещь, на ВМК ее не преподают, у нас факультет не инженерный и не менеджерский. Но вот то, что касается документации по интерфейсам, возникающие при этом задачи, которые приводят к моделям программ и требований, это, на мой взгляд, может быть интересно. Какие возникают проблемы с описанием интерфейсов? Говоря двумя словами, очень немногие умеют описывать интерфейсы четко. Последствия этого, я думаю, очевидны из предыдущих предложений. Одним из способов четкого описания является составление формализованных (или даже формальных) описаний интерфейсов. Что это, как это - отношу вас к статье "Использование формальных методов для обеспечения соблюдения программных стандартов", написанную в том числе лекторами нашего курса. Советую ознакомиться. В этой статье, на мой взгляд, много и теоретического, и фактологического полезного материала по тому, как на практике используются формальные спецификации. Кому нравится видеть материал в более компактном виде, могу посоветовать слайды Виктора Кулямина под названием "Формализация интерфейсных стандартов на практике".

Комментариев нет:

Отправить комментарий