Часть полного текста документа:CASE-мышление: вы готовы программировать иначе? С.Трофимов Фраза, вынесенная в заголовок, создана по аналогии с "объектно-ориентированным мышлением". Для того чтобы создавать объектно-ориентированные программы, необходимо отказаться от традиционного процедурного мышления и начать мыслить при помощи объектов [1]. То же справедливо и для CASE-средств. Для того чтобы начать создавать программные системы при помощи современных технологий, необходимо иначе взглянуть не только на процесс проектирования, но и на программирование. Трудности внедрения CASE-технологий при создании проектов общеизвестны [2], и проектировщики систем должны быть готовы к их преодолению. Но я хочу представить эти проблемы с точки зрения программиста, который прочно обосновался в своем мире программного кода и не мыслит других возможностей для написания программ, как "строчка к строчке", когда классы создаются последовательным наполнением методов и атрибутов. Необходимость использования CASE-технологий непосредственно разработчиками программ менее очевидна чем для проектировщика системы [3], причем в [2] мы читаем, что "моделирование сложных программных систем с помощью CASE-средств является самостоятельным и самодостаточным видом деятельности в процессе создания ПО", что может изначально получить негативную оценку у программистов. Мол, я пишу программы, а создавать модели - это ваши трудности. Для большинства программистов при создании программных систем более очевидна необходимость процесса создания кода, чем моделирования самой системы. К тому же предварительное создание модели системы включает в себя дополнительные трудозатраты, результат которых виден только через некоторое время, и это при том, что освоение сложных CASE-средств требует значительных усилий. Основной причиной, порождающей настороженное или, возможно, даже негативное отношение к CASE-средствам со стороны программистов, по моему мнению - это трудность перехода с обычного мышления к CASE-мышлению. Под ним я подразумеваю представление системы в виде объектов, которые отражаются в терминах CASE-средства, обычно в диаграммах языка UML. Причем, изначально подразумевается, что все объекты системы разрабатываются или, по крайней мере, имеют свое отражение в этих диаграммах. Для того чтобы перейти к создании и сопровождению кода при помощи CASE-средства, поддерживающего язык UML, такого, например, как Rational Rose, программист должен перестроить свое представление о создании программ. Необходимо мыслить уже в терминах языка UML, мыслить диаграммами, а переход к такому типу мышления требует примерно такого же усилия, как переход от процедурного программирования к объектно-ориентированному. Будет заблуждением считать, что изучив возможности редактора UML (если абстрагироваться от дополнительных функций, то таковым можно представить Rational Rose), вы начнете сразу создавать программные системы. Как утверждается в [1], диаграммы не появляются сами по себе, они - результат объектно-ориентированного проектирования, т.е. именно мышления, причем в терминах CASE-средства. Здесь переплетаются две совершенно разные задачи: 1.Изучение языка UML и развитие CASE-мышления. 2.Изучение возможностей конкретного CASE-средства, для того чтобы легко воплотить свои мысли в программном проекте. ............ |