Человеческий фактор в программировании

ОглавлениеДобавить в закладки К обложке

Между ГПИ[31] и гравием

Когда проектируемые системы становятся действительно сложными, разработчики стремятся строить модели на более высоких уровнях абстракции, чтобы описывать и отражать архитектуру системы, а не только ее конструкцию или поверхностные проявления в виде пользовательского интерфейса. Для этого программные единицы и взаимосвязи между ними должны быть представлены визуально. Вам нужно видеть модули, классы и объекты, а также сообщения и ссылки, которые возникают между ними. Вам нужно видеть структуру вашего кода, выраженную с помощью знакомой системы обозначений. Необходима возможность перемещения по этой структуре с помощью устройства, названного Дж. Д. Хилдебрэндом визуальным броузером (J. D. Hildebrand, 1994). Вам нужно, чтобы вы могли, проведя линию, передать информацию из одного места в другое. Вам хочется иметь возможность перенести метод из одного класса в другой с помощью перетаскивания мышью. В общем, вам нужен неизменно активный инструмент CASE с динамическими встроенными механизмами конвертации кода, которые позволяют сразу переводить в код все то, что вы делаете в виде картинок, и наоборот.

Другими словами, вы хотите иметь истинно интегрированную среду визуальной разработки — сочетание CASE-инструментов и приложений WYSIWYG,[32] полученное в результате добавления в среды разработки приложений возможностей CASE и более тесной интеграции средств построения ГПИ и генерации кода внутри самих CASE-инструментов. Vis-ualAge представляет собой направление, согласно которому моделирование осуществляется в самих конструкторах приложений. В таких средах с помощью линий можно соединять ГПИ-объекты, а также невидимые объекты, которые скрыты за экраном. В свете основных принципов CASE такие инструменты, как Together С++, позволяют синхронизировать все составляющие модели реализации — код, проектные модели, схемы и диаграммы.

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

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

Двойственные процессоры

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

Среды визуальной разработки также дают возможность изменять ход разработки. Люди, содействующие продвижению объектной технологии, го-ворят, что она обеспечивает «бесшовность» процесса разработки — прежде всего потому, что для разработки и описания программного решения применяются те же самые понятия и термины, которые используются для описания задачи и для взаимодействия с пользователями и клиентами. Но это просто объекты. Однако исполнение обещания — совсем другое дело, и традиционные объектно-ориентированные инструменты разработки сами по себе не были настолько бесшовными. Сочетание визуального проектирования с методами объектно-ориентированной разработки и программирования может в конце концов появиться на практике. Вы получите возможность выполнения всей задачи с помощью прямого манипулирования объектами. Кроме того, будущее поколение инструментов может предоставить возможность изменять и расширять сами инструменты при помощи тех же методов визуального программирования, которые вы применяете для построения приложений.


Логин
Пароль
Запомнить меня