С.Трофимов
Фраза, вынесенная в заголовок, создана по аналогии с “объектно-ориентированным мышлением”. Для того чтобы создавать объектно-ориентированные программы, необходимо отказаться от традиционного процедурного мышления и начать мыслить при помощи объектов [1]. То же справедливо и для CASE-средств. Для того чтобы начать создавать программные системы при помощи современных технологий, необходимо иначе взглянуть не только на процесс проектирования, но и на программирование.
Трудности внедрения CASE-технологий при создании проектов общеизвестны [2], и проектировщики систем должны быть готовы к их преодолению. Но я хочу представить эти проблемы с точки зрения программиста, который прочно обосновался в своем мире программного кода и не мыслит других возможностей для написания программ, как “строчка к строчке”, когда классы создаются последовательным наполнением методов и атрибутов.
Необходимость использования CASE-технологий непосредственно разработчиками программ менее очевидна чем для проектировщика системы [3], причем в [2] мы читаем, что “моделирование сложных программных систем с помощью CASE-средств является самостоятельным и самодостаточным видом деятельности в процессе создания ПО”, что может изначально получить негативную оценку у программистов. Мол, я пишу программы, а создавать модели – это ваши трудности.
Для большинства программистов при создании программных систем более очевидна необходимость процесса создания кода, чем моделирования самой системы. К тому же предварительное создание модели системы включает в себя дополнительные трудозатраты, результат которых виден только через некоторое время, и это при том, что освоение сложных CASE-средств требует значительных усилий.
Основной причиной, порождающей настороженное или, возможно, даже негативное отношение к CASE-средствам со стороны программистов, по моему мнению – это трудность перехода с обычного мышления к CASE-мышлению. Под ним я подразумеваю представление системы в виде объектов, которые отражаются в терминах CASE-средства, обычно в диаграммах языка UML. Причем, изначально подразумевается, что все объекты системы разрабатываются или, по крайней мере, имеют свое отражение в этих диаграммах.
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
Для того чтобы перейти к создании и сопровождению кода при помощи CASE-средства, поддерживающего язык UML, такого, например, как Rational Rose, программист должен перестроить свое представление о создании программ. Необходимо мыслить уже в терминах языка UML, мыслить диаграммами, а переход к такому типу мышления требует примерно такого же усилия, как переход от процедурного программирования к объектно-ориентированному.
Будет заблуждением считать, что изучив возможности редактора UML (если абстрагироваться от дополнительных функций, то таковым можно представить Rational Rose), вы начнете сразу создавать программные системы. Как утверждается в [1], диаграммы не появляются сами по себе, они – результат объектно-ориентированного проектирования, т.е. именно мышления, причем в терминах CASE-средства.
Здесь переплетаются две совершенно разные задачи:
1.Изучение языка UML и развитие CASE-мышления.
2.Изучение возможностей конкретного CASE-средства, для того чтобы легко воплотить свои мысли в программном проекте. Для первого я бы рекомендовал книги [1,4], а для второго можно воспользоваться, например [5].
Программист, приступая к изучению Rational Rose, сталкивается с этими проблемами, которые входят в противоречие с его предыдущим опытом. Считая, что CASE-средство – это просто программа, которая помогает..., автоматизирует..., решает..., он с энтузиазмом пытается в ней разобраться, но упирается в свою же косность, не позволяющую взглянуть на создаваемое ПО со стороны.
В отличие от большинства других программ, где, освоив некоторые простые функции, можно создавать нечто несложное, а затем, если понадобится, углубить свои знания, здесь невозможно даже начать работать, не охватив всех диаграмм целиком, не разобравшись как и для чего они должны использоваться.
Диаграммы UML позволяют показать различные аспекты будущей системы, создать ее модель, перед тем как с головой бросаться в написание кода. Не уяснив до конца всех возможностей создания этой модели, просто нельзя ее получить. Не построив фундамент, нельзя строить стены, но уже при закладке фундамента нужно рассчитывать на то, какие стены будут на нем стоять. И нарушение этого принципа приведет к тому, что вы получите не стройное здание программной системы, а не связанные между собой отдельные блоки, которые никуда не годятся.
Применяя CASE-мышление, программист уже сделает свои программы лучше, ведь многие программисты не знают ни способа создания хорошей, ни признаков неудачной программной архитектуры [6], а представление программных объектов в диаграммах UML позволяет наглядно увидеть ошибки и недоработки в полученной иерархии, обсудить их с коллегами и, что самое приятное, легко этой иерархией манипулировать, что при ручном кодировании программист вряд ли может себе позволить.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
Таким образом, можно подвести итог, что успех внедрения CASE-систем зависит не только от усилий руководителя внедрения, но и от способности программистов освоить новое для них CASE-мышление, т.е. мышление в терминах внедряемой CASE-системы, что требует приложения значительных усилий как менеджеров, так и самих программистов.
Список литературы
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++, 2-е изд./Пер с англ.–М.: “Издательство Бином”, СПб.: “Невский диалект”, 1999 г. –560 с., ил.
Вендров А. Ниша и внедрение CASE-средств. “Директору ИС”, ноябрь 2000. (http://www.interface.ru/CASE/botcase.htm)
Новичков А. Rational Rose для разработчиков и ради разработчиков. (http://www.interface.ru/rational/rose/develop.htm)
Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного языка объектного моделирования: Пер. с англ. – М.:Мир, 1999. – 191 с., ил.
Трофимов С. CASE-технологии: практическая работа в Rational Rose – М.: ЗАО “Издательство БИНОМ”, 2001 г. – 272 с.: ил. (http://progcpp.narod.ru/rational/)
Бюрер К. От ремесла к науке: поиск основных принципов разработки ПО (http://www.interface.ru/rational/science.htm)
|