UML
От: nixite  
Дата: 05.06.05 10:01
Оценка:
Чем дальше я сталкиваюсь с проектированием ПО, создании и описании его архитектуры, попытками воссоздать структуру и архитектуру ПО, тем больше для меня становиться очевидным тот факт что UML никуда не годен По крайней мере по моим рассуждениям, он как минимум не удобен, а то и вовсе не информативен в той степени какой хотелось бы...
Во первых, я понимаю что UML строго ориентирован на то что его будут печатать и вставлять документы. Мне часто этого не нужно, и многим это не нужно, будь это средство описания и отображения более интерактивно, я бы был весьма за, в ущерб его не пригодности к выдаче на бумажный лист. Мне очень часто хотелось бы видеть связи между классами и структурам, а иногда даже файлами, причём так чтобы уровень отображения связей я мог выбрать прямо на этапе просмотра. Зачастую информация о содержании класса, его методах и прочем, является вторичным и может быть вовсе не нужно на диаграмме классов, если такая диаграмма в её сущ. виде вовсе нужна. Я не сомневаюсь что описание класса нужно, но не в таком виде и не так. Да и вовсе зачастую реализации UML мне кажутся не удобными к пользованию и не логичными. Плотность информации жутко низкая, зачастую приходится довольно долго ковыряться по всей модели, лазить по этим каталогам чтобы найти то что нужно... очень явно не хватает интерактивности. При том каждый архитектор или именуемый им, как я вижу, использует тот же RRose в его понимании нотации, и пытается выразится каждый раз своими методами в тех ограничениях что его запихали.. зачастую вручив человеку лист бумаги можно получить куда более информативный документ. Может эта ограничивающая и организующая нотация, которая вроде бы всем ясна (но каждый думает по своему) изживает себя? есть ли альтернативы?

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

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

На данный момент я вовсе подумываю о некотором редакторе графов, но пока что не нашёл ничего достойного... может кто-то пробовал работать в этом направлении?

Мне интересно кто-нибудь размышляет на тему убогости UML или все готовы использовать его и считают это удобным?
Re: UML
От: nixite  
Дата: 05.06.05 14:14
Оценка:
кто-нибудь TouchGraph (http://sourceforge.net/projects/touchgraph/) видел? довольно интересная модель управления графом, особенно советую взглянуть wikibrowser. Это конечно далеко не всё что хотелось бы видеть и несколько не так, но идея навигации нравится...
хотя вот ява-решения как правило однотипно не удобны ;( минимум тормозят, а ещё и управление как правило не очень удобно... но сама идея навигации нравится...
Re: UML
От: QwErTys  
Дата: 06.06.05 05:17
Оценка: 1 (1)
Здравствуйте, nixite, Вы писали:

Из всего прочитанного я понял что не uml плох, а вы не нашли нужного инструмента для работы с ним.

N> Мне очень часто хотелось бы видеть связи между классами и структурам, а иногда даже файлами, причём так чтобы уровень отображения связей я мог выбрать прямо на этапе просмотра. Зачастую информация о содержании класса, его методах и прочем, является вторичным и может быть вовсе не нужно на диаграмме классов, если такая диаграмма в её сущ. виде вовсе нужна.

Так и не делайте, каждая диаграмма отвечает за конкретную мысль которую хотели донести до разработчика. Если информация о спецификации класса не нужна так и не надо ее вставлять, есть такое понятие перегруженность. Одна диаграмма одна мысль.

N> Я не сомневаюсь что описание класса нужно, но не в таком виде и не так. Да и вовсе зачастую реализации UML мне кажутся не удобными к пользованию и не логичными.

"Критикуешь предлагай" даешь uml 3.0!!!

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

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


N>Мне кажется, что необходим некоторый редактор/browser графа, позволяющий работать в нескольких плоскостях или уровнях абстракции, и позволяющий динамически определять критерии просмотра этого графа, такие как абстракции, связи, отображаемый уровень вложенности. Очень важным аспектом была бы интерактивность в смене критерия отображения информации, имхо уже пора уходить от печатности документа, я давно не видел чтобы UML печатали, думаю это архаизм.

Я вот все понять не могу может все проблемы в инструменарии? А спецификация UML здесь не причем?

N>Возможно я не очень понятно выражаюсь, просто некоторая сублимация опыта сводится на данный момент к тому, что зачастую проще взять лист бумаги и нарисовать, чем пользоваться чем-то вроде Rational Rose.

А Что нарисовать? UML диаграммы? или что ?
... << RSDN@Home 1.1.4 beta 6a rev. 436>>
Re: UML
От: OpenMinded Россия  
Дата: 06.06.05 07:12
Оценка: 2 (1)
Здравствуйте, nixite, Вы писали:

Мой личный опыт показывает, что UML полезен, но зачастую крайне не удобен, особенно, когда используется не для общения с разработчиками, а для общения с заказчиком.

Честно говоря, сама идея — взять несколько видов диаграмм (из потенциално бесконечного множества), затем их стандартизировать и заставить всех на свете пользоваться этими и только этими диаграммами — кажется порочной. Кстати, косвенно это подтверждается гораздо меньшим распространением UML, чем предрекали его апологеты.
Вообще ситуация очень похоже на ту, что наблюдается с шаблонами проектирования. О шаблонах не говорит только ленивый. Но тем не менее — можно спроектировать хорошую систему ничего не зная о шаблонах, зато нельзя её спроектировать только лишь исходя из них. Очень похоже на ситуацию с UML.
Кроме того есть ряд областей, где стандартно используются другие графические нотации — например диаграммы потоков данных, или диаграммы, описывающие базы данных, или диаграммы развёртывания. В общем то для меня очевидно, что на ту роль, на какую прочили UML — универсального языка диаграм для описания программных систем — он не годится.
Что было бы действительно интересно — это создание культуры описания систем с использованием всех широкоиспользуемых сегодня видов диаграмм, с дальнейшей возможностью формализации — что бы получить как минимум возможность верификации — а в перспективе — и генерации кода. То есть расширение графического языка таким образом, что бы он охватывал хотя бы основные области современного IT.
Что же до общения с зачазчиками в живую — то тут лучше чем карандаш и лист бумаги — до сих пор ничего не предумали. Если, конечно, заказчики — не гуру в UML
Re: UML
От: Mishka Норвегия  
Дата: 06.06.05 09:02
Оценка: 40 (4) +4 -1
Здравствуйте, nixite,

N>Мне интересно кто-нибудь размышляет на тему убогости UML или все готовы использовать его и считают это удобным?


С некоторой периодичностью утверждаю на этом форуме, что UML абсолютно бесполезен, а также прошу всех присутсвующих опровергнуть это утверждение. Пока что всё, что я слышал, это оскорбления в адрес людей, не принимающих маркетинговой политики IBM (владельца UML), а также мнения людей, использующих UML, просто потому, что так все делают (я не видел никого, кто бы серьёзно использовал UML в своей работе, а работал я в больших фирмах с мировыми именами).
Все читали Буча, все ему верят, забывая две важные вещи: 1. Буч работает на IBM, 2. создавая свою нотацию, Буч работал над системами, размеры которых смехотворны по современным меркам. Я давно уже не видел системы, которая содержала бы менее пары сотен классов, так или иначе связанных друг с другом (а сказки про то, что это ошибка проектирования, я тоже в детсве читал). Отобразить их с помощью UML можно, но... зачем? Смотреть на диаграмму классов формата A0 на экране с разрешением 1600х1200 не самое большое удовольствие, к тому же она устаревает настолько быстро, что не хватает никакого терпения поддерживать всё это безобразие.
И это не правда, что нормальный архитектор не может удержать в голове строение системы, хоть она и состоит из нескольких тысяч классов. UML не нужен для этого. А для документации... вы что, действительно её пишите? С UML диаграммами? Не смешите народ — вас уволят за напрасную трату времени и правильно сделают.
Re: UML
От: Igor Trofimov  
Дата: 06.06.05 09:08
Оценка: 106 (7) +2 :))) :))) :))) :))) :)
Повторюсь и может не совсем в тему, но уж очень нравится:

Ажиотаж вокруг UML значительно поутих после того, как выяснилось, что из неправильных картинок получаются неправильные программы

Re[2]: UML
От: nixite  
Дата: 06.06.05 09:16
Оценка:
OM> Что было бы действительно интересно — это создание культуры описания систем с использованием всех широкоиспользуемых сегодня видов диаграмм, с дальнейшей возможностью формализации — что бы получить как минимум возможность верификации — а в перспективе — и генерации кода. То есть расширение графического языка таким образом, что бы он охватывал хотя бы основные области современного IT.

Я и говорю, почему бы не использовать граф с удобной навигацией и прозрачной нотацией для всех целей. Начиная от activity заканчивая use case, хотя use case вообще отдельная песня и целесообразность оного сомнительна... Некоторый поименованный граф, и навигатор с возможностью поиска, выборки, фильтра по уровню вложенности и т. д. И возможность каждому элементу графа приписать описание -- табличное, текстовое, да и возможно сам исходник... Разве это не облегчило бы жизнь и удобство проектирования...

p.s. Я чаще бумагой пользуюсь если мне надо что-то придумать, а перенос это в UML кажется не удобным и нудным. А некоторый графо-построитель быстрый мне бы явно не помешал заменить и бумагу и UML. + ещё разную нотацию и цветность стрелочек и уже довольно высокая информативность и удобство навигации по сотне классов...

Что касается вести или нет документацию, то если вы не один, без документации сложно или вовсе не возможно... карйне растут риски, вобщем не к чему такое для серьёзных проектов...
Re[2]: UML
От: nayato Россия  
Дата: 06.06.05 09:35
Оценка: +2
Здравствуйте, Mishka, Вы писали:

M>... Отобразить их с помощью UML можно, но... зачем? Смотреть на диаграмму классов формата A0 на экране с разрешением 1600х1200 не самое большое удовольствие, к тому же она устаревает настолько быстро, что не хватает никакого терпения поддерживать всё это безобразие.


Как и QwErTys хочу заметить, что необходимость в диаграмме, отражающей всю систему на таком уровне абстракции (сотни классов), на вряд ли может появиться. Диаграмма развертывания (deployment) и несколько диаграмм классов, где, возможно, одни и те же классы повторяются, но выступают, например, в разных ролях.
Извините, если не прав, но лично мне так удобно.

M>И это не правда, что нормальный архитектор не может удержать в голове строение системы, хоть она и состоит из нескольких тысяч классов. UML не нужен для этого. А для документации... вы что, действительно её пишите? С UML диаграммами? Не смешите народ — вас уволят за напрасную трату времени и правильно сделают.


Думаю, что упомянутый архитектор держит в голове что-то вроде упомянутого представления (в несколько уровней абстракции), потому что держать в голове ту же сотню классов как есть еще та головная боль... А еще интересно, кому нужен архитектор с парой сотен классов в голове? Просто группа разработчиков такой системы должна быть не маленькой и с каждым на пальцах объясняться... мягко говоря не очень.

На тему документации полностью согласен.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[3]: UML
От: Max Matveev Россия  
Дата: 06.06.05 09:38
Оценка: +1
Здравствуйте, nixite, Вы писали:

N>p.s. Я чаще бумагой пользуюсь если мне надо что-то придумать, а перенос это в UML кажется не удобным и нудным. А некоторый графо-построитель быстрый мне бы явно не помешал заменить и бумагу и UML. + ещё разную нотацию и цветность стрелочек и уже довольно высокая информативность и удобство навигации по сотне классов...


Используй ARIS... Позволяет построить собственную методологию, на основе кучи диаграмм входящих в него(в том числе и UML)... Важное значение там придаётся цвету... Но в таком случае теряется самый главный плюс UML — простота и унифицированность. Унифицированность — в том смысле, что семантика диаграмм будет понятна большинству разработчиков.
Re[2]: UML
От: Merle Австрия http://rsdn.ru
Дата: 06.06.05 10:27
Оценка:
Здравствуйте, QwErTys, Вы писали:

QET>"Критикуешь предлагай" даешь uml 3.0!!!

Отказать.
DSL — наше всё.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[4]: UML
От: OpenMinded Россия  
Дата: 06.06.05 11:02
Оценка: +1
Здравствуйте, Max Matveev, Вы писали:

MM>Здравствуйте, nixite, Вы писали:


N>>p.s. Я чаще бумагой пользуюсь если мне надо что-то придумать, а перенос это в UML кажется не удобным и нудным. А некоторый графо-построитель быстрый мне бы явно не помешал заменить и бумагу и UML. + ещё разную нотацию и цветность стрелочек и уже довольно высокая информативность и удобство навигации по сотне классов...


MM>Используй ARIS... Позволяет построить собственную методологию, на основе кучи диаграмм входящих в него(в том числе и UML)... Важное значение там придаётся цвету...

+1
MM>Но в таком случае теряется самый главный плюс UML — простота и унифицированность. Унифицированность — в том смысле, что семантика диаграмм будет понятна большинству разработчиков.
Плюс весьма сомнительный, так как главное, что должен обеспечить любой язык — это выразительность. Ну а если каждый кусочек по отдельности очевиден, а общая картина не видна (что частенько бывает при использовании UML), то в наличии этой самой выразительности возникают большие сомнения. Да и достижение понятности любому разработчику за счёт примитивизации и выкидывания всего, что примитивизировать не удалось — подход весьма сомнительный.
Re[2]: UML
От: OpenMinded Россия  
Дата: 06.06.05 11:05
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>Повторюсь и может не совсем в тему, но уж очень нравится:


iT>Ажиотаж вокруг UML значительно поутих после того, как выяснилось, что из неправильных картинок получаются неправильные программы


iT>)


Именно. Знакомство с UML как с чёткой системой и графическим языком — как мне кажется весьма полезно. А вот ограничение себя его рамками — это крайне вредно.
Re[2]: UML
От: IT Россия linq2db.com
Дата: 06.06.05 16:20
Оценка:
Здравствуйте, Mishka, Вы писали:

M>И это не правда, что нормальный архитектор не может удержать в голове строение системы, хоть она и состоит из нескольких тысяч классов. UML не нужен для этого. А для документации... вы что, действительно её пишите? С UML диаграммами? Не смешите народ — вас уволят за напрасную трату времени и правильно сделают.


С последним утвержденим позволю себе не согласиться. На предыдущем проекте я писал спеки для девелоперов в том числе и с диаграмками. Правда UML там не придавалось первостепенного значения. В основном для наглядности и никак не для демонстрации болльших частей системы. Но обязательно были подробные ER диаграмы и всевозможные таблички с описанием типов, валидацией и прочими мелочами, которые необходимы девелоперам. Всё это было очень полезно и это не так уж трудно было поддерживать. На текущем проекте ничего подобного нет. Только ER диагрммы. В результате мы имеем кучу проблем, которые можно охарактеризовать как отсутствие дизайна.

Кстати, насчёт любви IBM к UML. IBM — ОЧЕНЬ большая контора. Проекты о которых идёт речь как раз проекты IBM и как видишь в разных ситуациях всё по разному.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 07.06.05 15:32
Оценка: 7 (2) +1
А давайте все-таки взглянем на проблему с широкой точки зрения. Зачем и почему вообще появился UML?

Мне кажется, что разработка UML стала логичной попыткой повторить тот успех, который сопутствовал C/C++, только немного на другом уровне. Действительно, в какой-то момент разработчики поняли, что использование C выгоднее, чем ассемблера или других языков такого же уровня. Методология ООП и появление C++ стали логичным развитием идей этого языка. Причем в C++ удалось, с одной стороны, сохранить всю гибкость, присущую C, а с другой — обеспечить возможности для абстракций высокого уровня. Именно ООП вкупе с С++ и Smalltalk и стали основой для UML. Предполагалось, вероятно, что удастся слить эти подходы в некоторую единую платформу. Но в жизни этого пока не произошло и думаю и не произойдет.

Не так давно Компьютерра посвятила несколько статей как раз вопросам проектирования программных систем, в которых данная тема была препарирована довольно подробно. Так вот там тоже проскакивала интересная идея. А именно, не стоит ли еще раз взглянут на C++ именно под ракурсом дальнейшего развития этого языка? Возможно именно интеграция базовых идей UML в существующие ОО-языки программирования поможет решить одну важную проблему? Ведь существует явный разрыв между потребностями архитекторов и рядовых программистов. С одной стороны архитектуру системы очень сложно понять по исходному коду, а с другой — UML-диаграммы почти ничем не помогают этот самый код создавать. Кодирование и проектирование архитектуры системы входят в клинч, порождая споры о том что важнее и, как следствие, о том какой инструментарий (средства информационного взаимодействия между разработчиками) лучше использовать.

Вероятно, если удастся интегрировать средства моделированиря (многоуровнего моделирования!) в состав типовых инструментов разработки, обеспечив параллельную работу над одной программой множеству участников проекта (архитекторам, программистам, тестерам), то обсуждаемых проблем удастся избежать. Тут важно также понимать, что сами средства визуализации моделей могут быть различными. Важна только совместимость этих средств с используемой парадигмой моделирования. UML приспособлен для ООП. ERD — вотчина реляционных баз данных. Можно стандартизировать графические и семантические конструкции, облегчая взаимопонимание, но стандартизировать методики моделирования гораздо сложнее. Разработчики выбирают C++ зачастую именно из-за той гобкости, которую дает им этот язык. При необходимости они могут свободно менять концепции написания кода и свой подход к архитектурному проектированию (ООП, функциональное программирование и т.п.) даже в рамках одного проекта. Сегодняшний UML такой гибкости не обеспечивает. Наоборот — он либо загоняет в жесткие рамки ООП, либо используется только на отдельных этапах проектов, что неудобно само по себе. Это сродни тому, как если бы мы сначала разрабатывали приложение на VB .NET, а после выхода первой альфа-версии вдруг брались все переписывать на Pascal. Это явно расточительная методика.

Можно ли предложить универсальное решение? Как обычно нельзя. Но наверняка можно искать частные решения, которые позволят совместить типовые методики моделирования с инструментами кодирования. Причем работать они должны в обе стороны. Поскольку исходный код программы несомненно содержит информацию об архитектуре системы, мы должны иметь возможность работать с ним также, как сегодня работаем с UML-моделями. А визуализация этих моделей — вопрос в общем то производный.
Re[2]: UML
От: nixite  
Дата: 07.06.05 16:50
Оценка:
AR>Можно ли предложить универсальное решение? Как обычно нельзя. Но наверняка можно искать частные решения, которые позволят совместить типовые методики моделирования с инструментами кодирования. Причем работать они должны в обе стороны. Поскольку исходный код программы несомненно содержит информацию об архитектуре системы, мы должны иметь возможность работать с ним также, как сегодня работаем с UML-моделями. А визуализация этих моделей — вопрос в общем то производный.

мне конечно понравилось что каждый высказал свою точку зрения, но такое впечателние что каждый сказал то что он думал, когда читал слово UML и те ассоциации что у него возникли изложил, не читая суть дискусии...

Ещё раз: Кто-нибудь может себе представить поименнованый граф с удобной навигацией, и размещённой информацией на узле...? Не облегчит ли это визуализацию и само проектирование?
Re[2]: UML
От: Merle Австрия http://rsdn.ru
Дата: 07.06.05 19:17
Оценка: 18 (1) +1 -1 :)
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А давайте все-таки взглянем на проблему с широкой точки зрения. Зачем и почему вообще появился UML?

Нет уж, давайте лучше не будем, а то совсем каша получается.

AR> Ведь существует явный разрыв между потребностями архитекторов и рядовых программистов.

Угу, ровно с того момента, как архитекторы перестают программировать...

AR>С одной стороны архитектуру системы очень сложно понять по исходному коду,

На самом деле не сложно, иногда даже проще чем UML.

AR> а с другой — UML-диаграммы почти ничем не помогают этот самый код создавать.

Это и есть главный недостаток UML. UML диаграммы, как правило, не имеют ничего общего с реальной системой, а затраты на приведение одного в соответствие другому себя не оправдывают.

AR>Вероятно, если удастся интегрировать средства моделированиря (многоуровнего моделирования!) в состав типовых инструментов разработки, обеспечив параллельную работу над одной программой множеству участников проекта (архитекторам, программистам, тестерам), то обсуждаемых проблем удастся избежать.

Вэлкам то VS 2005 и DSL.

AR> Можно стандартизировать графические и семантические конструкции, облегчая взаимопонимание, но стандартизировать методики моделирования гораздо сложнее. Разработчики выбирают C++ зачастую именно из-за той гобкости, которую дает им этот язык.

Хм.. В целом постинг был длинный, но такое впечатление, что часть расссуждений осталась за кадром...
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: UML
От: hrg Россия  
Дата: 07.06.05 22:46
Оценка:
Mishka -> Re: UML

M> С некоторой периодичностью утверждаю на этом форуме, что UML

M> абсолютно бесполезен, а также прошу всех присутсвующих опровергнуть
M> это утверждение. Пока что всё, что я слышал, это оскорбления в адрес
M> людей, не принимающих маркетинговой политики IBM (владельца UML), а

Ээээ.. я тут подумал...

Во-первых — фанатизм не уместен при работе с UML
Во-вторых — UML помогает нужных случаях упрощать описание требований в разы.
Но нужно учитывать пункт 1

Так что лучше связки текст + UML сложно что-то придумать.

<!-- Yury Kopyl aka hrg | Только взял боец гитару, сразу — видно
гармонист -->
Posted via RSDN NNTP Server 1.9
Re[3]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 08.06.05 06:35
Оценка:
Здравствуйте, Merle, Вы писали:

M>Хм.. В целом постинг был длинный, но такое впечатление, что часть расссуждений осталась за кадром...


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

Однако еще раз подчеркну. Сегодня UML — это средство представления уже разработанных моделей. Смотреть на него как на средство собственно проектирования и использовать именно в качестве вспомогательного инструмента при первичном создании самих моделей я бы не рекомендовал (по крайней мере я считаю это неудобным). Разговоры же об ориентированных графах и других средствах визуализации уместны именно в контексте облегчения процесса разработки моделей. А готовые модели никто не мешает представить и с помощью UML. Короче, одно вовсе не исключает другого, но важно понять, что мы имеем дело именно с двумя разными задачами (разработка и формализованное описание разработанного).
Re: UML
От: AndreyFedotov Россия  
Дата: 08.06.05 13:36
Оценка:
Здравствуйте, nixite, Вы писали:

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

Что же до идеи с редактором графов — она кажется мне интересной и явно заслуживает внимания. Но для этого её нужно сначала основательно проработать. Глядишь — что-нибудь и получится.
Re[4]: UML
От: Merle Австрия http://rsdn.ru
Дата: 08.06.05 14:01
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Однако еще раз подчеркну. Сегодня UML — это средство представления уже разработанных моделей.

Да ну, позиционируется-то он по другому. К тому же какая польза от средства представления, если оно довольно далеко от реальности...

AR> А готовые модели никто не мешает представить и с помощью UML.

А зачем? Если есть некий способ наглядно представить модель в процессе разработки, то зачем от этого способа отказываться, когда модель уже готова?

AR>Короче, одно вовсе не исключает другого, но важно понять, что мы имеем дело именно с двумя разными задачами (разработка и формализованное описание разработанного).

Зачем для уже разработанного иметь другой язык формального описания, чем тот который применялся в процессе разработки?
Зачем вообще выделять эти две фазы? В реальной жизни практически не сталкиваешься с ситуацией, когда продукт готов и гарантировано не будет изменяться. Ну допустим, и что, в этот момент садиться и изнурительно писать UML? И кому он будет нужен по готовой модели?
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[5]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 08.06.05 14:45
Оценка: 3 (1) +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Alexey Rovdo, Вы писали:


AR>>Однако еще раз подчеркну. Сегодня UML — это средство представления уже разработанных моделей.

M>Да ну, позиционируется-то он по другому. К тому же какая польза от средства представления, если оно довольно далеко от реальности...

Позиционируется кем и как (ссылки)?
Что же касается реальности, то вовсе я не говорил, что он от нее далек. UML включает массу конструкций, позволяющих представить огромное разнообразие возможных моделей как в статике, так и в динамике. Представить — показать, рассказать, описать в стандартных терминах. То же самое можно сделать просто на словах, в тексте или с помощью нестандартного но интуитивно понятного средства отображения неких графов.


AR>> А готовые модели никто не мешает представить и с помощью UML.

M>А зачем? Если есть некий способ наглядно представить модель в процессе разработки, то зачем от этого способа отказываться, когда модель уже готова?

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

AR>>Короче, одно вовсе не исключает другого, но важно понять, что мы имеем дело именно с двумя разными задачами (разработка и формализованное описание разработанного).

M>Зачем для уже разработанного иметь другой язык формального описания, чем тот который применялся в процессе разработки?

Конечно это тяжело — разрабатывать модель в одной среде, а потом описывать ее в другой. Именно поэтому и возникают проблемы с UML. Нет UML-средств помогающих именно разработке и гладко стыкующихся с процессом написания исходных кодов. И именно поэтому программисты, привыкшие работать исключительно с исходным кодом, не приемлют UML. Ведь они разрабатывают модели не в UML, а в C++, Java ...

M>Зачем вообще выделять эти две фазы? В реальной жизни практически не сталкиваешься с ситуацией, когда продукт готов и гарантировано не будет изменяться. Ну допустим, и что, в этот момент садиться и изнурительно писать UML? И кому он будет нужен по готовой модели?


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

Приведу такую аналогию.

Скажем есть самолет (вы его уже представили). Это турбовинтовой самолет. Оторвем ему крыло. Во втором крыле ровно посередине просверлим дырку...

Все это совершенно явственно можно себе представить. Более того, можно взять пластилин и очень быстро сделать простейшую модель, проведя с ней указанные манипуляции. При минимальном знакомстве со средствами 3D-моделирования все это элементарно проделать на компьютере. Причем в любой момент можно посмотреть модель на экране с любого ракурса, напечатать и даже изготовить на спецоборудовании.

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

Есть ли какое-то будущее у UML? Разумеется есть. Но, полагаю, только как средства визуализации моделей. Сама же разработка (как процесс формирования этой модели) будет либо инкорпорирована в процесс написания исходного кода, либо так и останется на доске или листе бумаги.
Re[6]: UML
От: Merle Австрия http://rsdn.ru
Дата: 08.06.05 18:40
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Позиционируется кем и как (ссылки)?

Как средство разработки, а не описания исключительно готовой модели. Отцами основателями... Ссылки бумажные.

AR>Что же касается реальности, то вовсе я не говорил, что он от нее далек.

Это говорил я.

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

Только на практике это оказывается мало кому нужно.

AR>Чтобы другие участники проекта смогли быстро понять структуру вашей модели (вашего предварительного варианта или части модели, если речь идет о коллективной разработке этой модели).

Для этого годится тот же самый инструмент, который применялся и при разработке. Вы же утверждаете, что для готовой модели почему-то нужен именно UML. Еще раз повторю свой вопрос: Зачем?
Зачем тратить усилия на перевод в UML то, что есть в другом виде и итак всем понятно?

AR> Сам же процесс разработки структуры (модели) системы сегодня, увы, гораздо эффективнее возле большой доски или листа бумаги (с последующим переносом разработанного в удобоваримую форму, например, в UML).

Об этом и речь, так зачем нам UML?

AR>Конечно это тяжело — разрабатывать модель в одной среде, а потом описывать ее в другой. Именно поэтому и возникают проблемы с UML. Нет UML-средств помогающих именно разработке и гладко стыкующихся с процессом написания исходных кодов. И именно поэтому программисты, привыкшие работать исключительно с исходным кодом, не приемлют UML. Ведь они разрабатывают модели не в UML, а в C++, Java ...

Все верно, так зачем нам UML? И зачем привыкать работать не только с исходным кодом?

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

И чем здесь поможет UML?

AR> Сегодня местами нет никакой альтернативы использованию UML.

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

AR> Однако это действительно приводит к массе ненужной или дублирующейся работы.

Вот именно, что не нужной.

AR> Как я уже и писал раньше, мне видится, что выход лежит в переводе системных архитекторов на работу непосредственно с исходными кодами.

Внятные архитекторы и так с ними и работают.

AR> Но сами языки, на которых эти исходники сегодня пишутся, пока не готовы предоставить архитекторам весь необходимый им инструментарий.

За инструментарием, велкам ту VS 2005 и DSL, вполне логичное развитие архитекторского инструментария.

AR>Приведу такую аналогию.

Опять много текста, но мысль не ясна... И я так и не услышал ответа на вопрос, во-первых, зачем разделять на фазы "разработки модели" и "готовой модели" и, во-вторых, если уж разделять, то зачем применять ко второй фазе другой язык формального описания, отлчный от применяемого в первой фазе?

AR>Есть ли какое-то будущее у UML? Разумеется есть.

Я бы не был так уверен.

AR> Но, полагаю, только как средства визуализации моделей.

Зачем нужна визуализация отдельно от процесса разработки?
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[7]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 05:52
Оценка:
Здравствуйте, Merle, Вы писали:

AR>> Но сами языки, на которых эти исходники сегодня пишутся, пока не готовы предоставить архитекторам весь необходимый им инструментарий.

M>За инструментарием, велкам ту VS 2005 и DSL, вполне логичное развитие архитекторского инструментария.

1. Релиз пока не вышел.
2. Технология не прошла обкатки в реальных проектах.
3. На Windows свет клином не сошелся.
4. Есть достаточно много крупных компаний успешно применяющих UML для проектирования и разработки. Собственно, мы делаем продукт как раз на базе UML 2.0, который вполне успешно используется этими самыми компаниями.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[7]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 07:34
Оценка: 2 (1)
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Alexey Rovdo, Вы писали:


AR>>Позиционируется кем и как (ссылки)?

M>Как средство разработки, а не описания исключительно готовой модели. Отцами основателями... Ссылки бумажные.


Почитал на досуге отцов-основателей (Рамбо, Якобсон, Буч). Ну что сказать? По их словам UML предназначен для всего. Особенно вдохновенно пишут об унификации. Впрочем, вчитавшись можно найти и такие фразы: "Мы не собирались делать из языка UML методологию, в нем нет пошагового описания процесса разработки ... При этом важно понимать, что UML и процесс разработки с использованием UML — совершенно разные вещи. UML призван поддерживать все или, по крайней мере, большинство существующих методологий..." И тут же: "Модель должна создаваться в удобной для работы среде. Например, модель здания может быть рисунком на бумаге, трехмерным макетом из картона и папье-маше или системой уравнений в конечных элементах. При этом она может изображать внешний вид этого здания, но также использоваться и для подсчета стоимости строительства. Модель программного продукта создается с помощью языка моделирования, например, UML. Модель может принимать различные формы ...". А потом уже взгляд такой: "Здесь описывается интерпретация модели в языке UML. Тем не менее во время реальной работы над проектом полезно пользоваться и другими источниками, которые могут интерпретировать информацию другим, отличным от UML способом."

Так для чего же нужен UML по мнению самих отцов-основателей? Для создания моделей или для их интерпретации? Я понимаю, что им хотелось бы сделать область применения этого языка максимально широкой. Именно поэтому язык насыщен массой конструкций, пришедших из самых разных областей инженерной деятельности. Но нельзя удовлетворить всех одинаково хорошо. Лично я придерживаюсь той точки зрения, что UML хорош именно как средство коммуникации, т.е. должен использоваться исключительно для интерпретации моделей. А вот для создания и управления моделями нужны иные средства.

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

M>Только на практике это оказывается мало кому нужно.

В маленьких рабочих группах, да. Но в крупных компаниях и проектах UML востребован.

AR>>Чтобы другие участники проекта смогли быстро понять структуру вашей модели (вашего предварительного варианта или части модели, если речь идет о коллективной разработке этой модели).

M>Для этого годится тот же самый инструмент, который применялся и при разработке. Вы же утверждаете, что для готовой модели почему-то нужен именно UML. Еще раз повторю свой вопрос: Зачем?
M>Зачем тратить усилия на перевод в UML то, что есть в другом виде и так всем понятно?

Нет. Я вовсе не утверждаю того, что для готовой модели UML нужен обязательно. Просто UML — это удобное и стандартизованное средство представления готовых моделей. Я смотрю на него также как, например, на формат PDF, который является удобным средством для представления документов со сложной версткой. Но вот изначально создавать и верстать документы удобнее в других форматах.

AR>> Сам же процесс разработки структуры (модели) системы сегодня, увы, гораздо эффективнее возле большой доски или листа бумаги (с последующим переносом разработанного в удобоваримую форму, например, в UML).

M>Об этом и речь, так зачем нам UML?

А зачем нам PDF? Просто всегда нужны какие-то стандартные средства представления данных. Как средство внешнего представления моделей разных типов UML вполне годится. Но вот обратный процесс возможен уже не всегда (равно как и PDF-документ не всегда можно обратно конвертировать в вид, удобный и пригодный для редактирования в программе верстки).

AR>>Конечно это тяжело — разрабатывать модель в одной среде, а потом описывать ее в другой. Именно поэтому и возникают проблемы с UML. Нет UML-средств помогающих именно разработке и гладко стыкующихся с процессом написания исходных кодов. И именно поэтому программисты, привыкшие работать исключительно с исходным кодом, не приемлют UML. Ведь они разрабатывают модели не в UML, а в C++, Java ...

M>Все верно, так зачем нам UML? И зачем привыкать работать не только с исходным кодом?

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

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

M>И чем здесь поможет UML?

Можно научить всех этих людей тому внутреннему инструментарию, который используется в компании. А можно потребовать знание UML при приеме на работу. Второй вариант просто проще и легче просчитывается в финансовом плане. А крупные компании всегда больше ценят предсказуемость и управляемость процесса. Например, имея стандарт можно легко нормировать объемы работ разработчиков (в строках UML-кода, если хотите), а вот в количестве изведенной бумаги производительность труда просчитывать не получается. Это просто законы бюрократии, которые хочешь-не-хочешь вступают в действие везде, где пытаются организованно сделать что-то большое. Вот поэтому я и говорю, что местами нет никакой альтернативы UML.

AR>> Как я уже и писал раньше, мне видится, что выход лежит в переводе системных архитекторов на работу непосредственно с исходными кодами.

M>Внятные архитекторы и так с ними и работают.

Внятные архитекторы все равно имеют дело с другими (невнятными) архитекторами и бюрократами, которых пруд пруди. И даже через много тысяч лет ситуация не изменится.
Re[8]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 08:30
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Лично я придерживаюсь той точки зрения, что UML хорош именно как средство коммуникации, т.е. должен использоваться исключительно для интерпретации моделей. А вот для создания и управления моделями нужны иные средства.

Нет, я не слезу...
Зачем отдельное средство интерпретации? Код и так, вообщем-то, достаточно выразителен.
Разработчик лучше понимает код, архитектор, тоже код понимает не плохо, заказчик ни код, ни UML не понимает вообще, за редким исключением, так заче нужен UML?

AR>Нет. Я вовсе не утверждаю того, что для готовой модели UML нужен обязательно. Просто UML — это удобное и стандартизованное средство представления готовых моделей.

Чем удобное? Разьве что тем, что стандартизированное, но это единственное преимущество, которое напрочь убивается тем, что UML представление имеет мало общего с реальным продуктом. Нет никакой связи, между реальным продуктом и UML-ем, архитектор нарисовал одно, разработчик написал совсем другое и синхронизировать одно с другим нет никакой возможности.

AR> Я смотрю на него также как, например, на формат PDF, который является удобным средством для представления документов со сложной версткой. Но вот изначально создавать и верстать документы удобнее в других форматах.

Не надо увлекаться ложными аналогиями. В случае PDF можно нажатием кнопки получить этот самый PDF из исходников и после этого исходники никого не интересуют, PDF стал основным документом. В случае же UML-я все наоборот, главное по прежнему продукт, а UML якобы помогает понять как он устроен...

AR>А зачем нам PDF? Просто всегда нужны какие-то стандартные средства представления данных.

Зачем нам какое-то другое представление данных, которое требует дополнительных усилий по применению и все равно полностью их не отражает?

AR> Как средство внешнего представления моделей разных типов UML вполне годится.

Но зачем его использовать, если и без него все понятно? А использование дополнительного представления только вносит дополнительную путаницу.

AR>В том то и дело. Работать с UML плохо. Лучше работать с исходным кодом, а UML-представления по мере надобности получать из исходного кода автоматически.

Зачем получать это представление, даже автоматически? Понятнее от этого модель вряд ли станет.

AR> Современные языки программирования и средства разработки пока не предоставляют нам такой возможности.

В третий раз говорю, DSL.

AR>Можно научить всех этих людей тому внутреннему инструментарию, который используется в компании.

Не надо никого ничему учить. Внутренний инструментарий — это исходный код, карандаш, бумага, язык.

Я так и не услышал ответа на вопрос, чем может помочь UML построенный по готовой модели.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[8]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 08:30
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>1. Релиз пока не вышел.

43B503F5-F490-4176-BCEF-4B7509A5D970. Речь шла о перспективах развития архитекторского инструментария, а не о реально используемых инструментах.

_O_>2. Технология не прошла обкатки в реальных проектах.

27281864-A314-4454-BA44-09A3ABB74E9C. Еще пройдет, главное идея здравая и, по большему счету, не новая, просто наконец-то появится хороший полноценный инструмент и не придется изобретать каждый раз что-то своё.

_O_>3. На Windows свет клином не сошелся.

EBA12DFA-E26D-42E5-985D-8490801BE482. А причем здесь Windows? На Windows только инструментарий, а основное это идея. Если она хорошо себя проявит, то и на других платформах появится...

_O_>4. Есть достаточно много крупных компаний успешно применяющих UML для проектирования и разработки. Собственно, мы делаем продукт как раз на базе UML 2.0, который вполне успешно используется этими самыми компаниями.

6503CBE9-6C79-4489-9D00-A8B8078C34EA. Но есть не меньшее количество таких же крупных компаний, которые не менее успешно не применяют UML и что?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[9]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 10:36
Оценка:
Здравствуйте, Merle, Вы писали:

_O_>>3. На Windows свет клином не сошелся.

M> А причем здесь Windows? На Windows только инструментарий, а основное это идея. Если она хорошо себя проявит, то и на других платформах появится...

Вся DSL сильно привязана к .Net и Visual Studio. Портирование на другие платформы будет затруднительно. А MS сама не будет этим заниматься.

_O_>>4. Есть достаточно много крупных компаний успешно применяющих UML для проектирования и разработки. Собственно, мы делаем продукт как раз на базе UML 2.0, который вполне успешно используется этими самыми компаниями.

M> Но есть не меньшее количество таких же крупных компаний, которые не менее успешно не применяют UML и что?

Какие крупные компании не используют UML и сколько их ?



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[9]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 10:42
Оценка: +1
Здравствуйте, Merle, Вы писали:

AR>>Нет. Я вовсе не утверждаю того, что для готовой модели UML нужен обязательно. Просто UML — это удобное и стандартизованное средство представления готовых моделей.

M>Чем удобное? Разьве что тем, что стандартизированное, но это единственное преимущество, которое напрочь убивается тем, что UML представление имеет мало общего с реальным продуктом. Нет никакой связи, между реальным продуктом и UML-ем, архитектор нарисовал одно, разработчик написал совсем другое и синхронизировать одно с другим нет никакой возможности.

AR>> Я смотрю на него также как, например, на формат PDF, который является удобным средством для представления документов со сложной версткой. Но вот изначально создавать и верстать документы удобнее в других форматах.

M>Не надо увлекаться ложными аналогиями. В случае PDF можно нажатием кнопки получить этот самый PDF из исходников и после этого исходники никого не интересуют, PDF стал основным документом. В случае же UML-я все наоборот, главное по прежнему продукт, а UML якобы помогает понять как он устроен...

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



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[10]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 11:06
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Ровно то же самое можно и с UML-ем. Например, продукты компании I-Logix или нашей обеспечивают полноценную генерацию исполняемого кода из UML моделей. Причем сгенерить все можно одной кнопкой.


А вот об этом можно поподробнее? Особенно о том, как в UML-описании оказывается (чем и на чем пишется) вся информация, необходимая для генерации ИСПОЛНЯЕМОГО кода.
Re[11]: UML
От: GlebZ Россия  
Дата: 09.06.05 11:40
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А вот об этом можно поподробнее? Особенно о том, как в UML-описании оказывается (чем и на чем пишется) вся информация, необходимая для генерации ИСПОЛНЯЕМОГО кода.

Я как-то для прикола написал на visio С# программу. Сгенерил код. И откомпилировал. Но честно говоря, так работать невозможно.

С уважением, Gleb.
... << RSDN@Home 1.1.4 beta 4 rev. 358>>
Re[11]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 11:58
Оценка: +1
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Ровно то же самое можно и с UML-ем. Например, продукты компании I-Logix или нашей обеспечивают полноценную генерацию исполняемого кода из UML моделей. Причем сгенерить все можно одной кнопкой.


AR>А вот об этом можно поподробнее? Особенно о том, как в UML-описании оказывается (чем и на чем пишется) вся информация, необходимая для генерации ИСПОЛНЯЕМОГО кода.


В нашем случае мы используем UML 2.0. Он содержит необходимые классы для выражения action-ов (таких как вызов метода, посылка сигнала, присваивание выражения переменной и т.д.) Плюс мы несколько расширили объектную модель, добавив классы для представления выражений (чтоб выражения типа "a + b * 2" были не просто текстом, а частью модели).
Так же мы сделали текстовую нотацию для UML 2.0, как раз для удобного описания action-ов. (Стандарт определяет какие конструкции есть, но не опеределяет никакой нотации для них).

Все выглядит примерно так




Душа обязана трудиться! (с) Н.Заболоцкий.
Re[12]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 12:26
Оценка:
А знаком ли кто-нибудь с такам инструментарием?

http://www.visual-paradigm.com/

И что о нем можете сказать?
Re[10]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 12:38
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Ровно то же самое можно и с UML-ем. Например, продукты компании I-Logix или нашей обеспечивают полноценную генерацию исполняемого кода из UML моделей. Причем сгенерить все можно одной кнопкой.

Во-первых надо наоборт, из исходного кода UML модель получить, речь-то об этом.
А во-вторых, еще раз повторюсь, в отличии от PDF-а, после генерации UML-я основным документом по прежнему являются исходники и после того как разработчик в них что-то поменял, всю нагенеренную красоту UML можно выкидывать.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[13]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 12:41
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А знаком ли кто-нибудь с такам инструментарием?


AR>http://www.visual-paradigm.com/


AR>И что о нем можете сказать?


Не знаю, руками не трогал, судить не берусь. Я думаю, по части генерации кода и симуляция у нас (Telelogic) опыта больше будет.
В часности, нашел тул обеспечивает генерацию кода и в С, что позволяет его использовать (и он реально используется) для разработки embedded & real-time software.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[11]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 12:43
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Ровно то же самое можно и с UML-ем. Например, продукты компании I-Logix или нашей обеспечивают полноценную генерацию исполняемого кода из UML моделей. Причем сгенерить все можно одной кнопкой.

M>Во-первых надо наоборт, из исходного кода UML модель получить, речь-то об этом.
M>А во-вторых, еще раз повторюсь, в отличии от PDF-а, после генерации UML-я основным документом по прежнему являются исходники и после того как разработчик в них что-то поменял, всю нагенеренную красоту UML можно выкидывать.

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



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[11]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 12:57
Оценка:
Здравствуйте, Merle, Вы писали:

M>Во-первых надо наоборт, из исходного кода UML модель получить, речь-то об этом.

M>А во-вторых, еще раз повторюсь, в отличии от PDF-а, после генерации UML-я основным документом по прежнему являются исходники и после того как разработчик в них что-то поменял, всю нагенеренную красоту UML можно выкидывать.

В том и состоит основной казус. Можно конечно пойти по пути переноса всей разработки в UML, как это показывает _Obelisk_ . Дескать мы получаем исходные коды как промежуточное звено и их вообще не правим, а правим только исходную UML-модель. Но тогда мы фактически вынуждены встраивать куски Java/C++/... кода прямо внутрь UML-нотации. Нельзя отрицать такую возможность напрочь. Но лично мне кажется, что заходить все-таки надо с другого конца.

Впрочем, индустрия уже так далеко зашла именно в направлении интеграции языков программирования в UML-модели, что развернуться на 180 градусов ей будет трудновато. Скорее просто при достижении определенного уровня интеграции будет вообще трудно понять что и в кого интегрировали, а работа с исходниками на C++/Java и т.п. станет в чем то сродни написанию ассемблерных вставок в C++-коде: __asm { ... }. Но в таком случае сама генерация полных исходников на C++ и т.п. из описанной совмещенной модели может оказаться вообще ненужным шагом — можно сразу компилировать "исходный" UML + C++ код. И как тогда называть этот язык (UML + C++)?
Re[10]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 13:16
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Вся DSL сильно привязана к .Net и Visual Studio. Портирование на другие платформы будет затруднительно. А MS сама не будет этим заниматься.

Еще раз: К .Net привязан конкретный инструмент, а DSL — это идея. И реализовать эту идею можно где угодно, было бы желание.
Если же ставить вопрос о портировании, то на ту же Java перевести никакого труда не составит.

_O_>Какие крупные компании не используют UML и сколько их ?

Я статистику не веду, но та же Microsoft, AFAIK, UML не использует — это достаточно крупная компания?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[12]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 13:21
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:


AR>В том и состоит основной казус. Можно конечно пойти по пути переноса всей разработки в UML, как это показывает _Obelisk_ . Дескать мы получаем исходные коды как промежуточное звено и их вообще не правим, а правим только исходную UML-модель. Но тогда мы фактически вынуждены встраивать куски Java/C++/... кода прямо внутрь UML-нотации. Нельзя отрицать такую возможность напрочь. Но лично мне кажется, что заходить все-таки надо с другого конца.


У нас это как раз и реализовано. В большинстве случаев, хватает нашей текстовой нотации, но если очень надо, то можно прямо и target код вставлять. Для интеграции с библиотеками есть возможность импорта (h-файлов для C/C++ и Jar/class файлов для Java) в UML модель.
И roundtrip engineering у нас тоже поддерживается (для Java и С++. Для С нет, но там он не нужен).

AR>Впрочем, индустрия уже так далеко зашла именно в направлении интеграции языков программирования в UML-модели, что развернуться на 180 градусов ей будет трудновато. Скорее просто при достижении определенного уровня интеграции будет вообще трудно понять что и в кого интегрировали, а работа с исходниками на C++/Java и т.п. станет в чем то сродни написанию ассемблерных вставок в C++-коде: __asm { ... }. Но в таком случае сама генерация полных исходников на C++ и т.п. из описанной совмещенной модели может оказаться вообще ненужным шагом — можно сразу компилировать "исходный" UML + C++ код. И как тогда называть этот язык (UML + C++)?


Такого еще долго не будет, потому как любые мало-мальски сложные системы зависят от всяких внешних API и библиотек. При генерации в какой-нибудь язык программирования проще интегрировать со сторонними библиотеками.
Да и портация сгенеренного кода на всякие специальные платформы (используемые в embedded & telecom industry) проще, если генерить С/C++/Java.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[11]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 13:23
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Вся DSL сильно привязана к .Net и Visual Studio. Портирование на другие платформы будет затруднительно. А MS сама не будет этим заниматься.

M>Еще раз: К .Net привязан конкретный инструмент, а DSL — это идея. И реализовать эту идею можно где угодно, было бы желание.

А нельзя ли чуть подробнее раскрыть суть этой идеи или дать ссылочки. Я лично с VS 2005 пока не работал, посему любопытно.
Re[13]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 09.06.05 13:32
Оценка: +1
Здравствуйте, _Obelisk_, Вы писали:

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

_O_>Да и портация сгенеренного кода на всякие специальные платформы (используемые в embedded & telecom industry) проще, если генерить С/C++/Java.

Не в последнюю очередь именно по указанным причинам мне и импонирует больше идея расширения возможностей моделирования при работе с исходным кодом (в т.ч. расширение самих языков, на которых этот исходный код пишется), а не идея расширения возможностей средств UML-моделирования по генерации исходного кода.
Re[11]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 13:35
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Вся DSL сильно привязана к .Net и Visual Studio. Портирование на другие платформы будет затруднительно. А MS сама не будет этим заниматься.

M>Еще раз: К .Net привязан конкретный инструмент, а DSL — это идея. И реализовать эту идею можно где угодно, было бы желание.
M>Если же ставить вопрос о портировании, то на ту же Java перевести никакого труда не составит.

_O_>>Какие крупные компании не используют UML и сколько их ?

M>Я статистику не веду, но та же Microsoft, AFAIK, UML не использует — это достаточно крупная компания?

Lockhead Martin Corp, Thales, Raytheon, BAE Systems, Motorola и др — используют. Они, пожалуй, крупней Microsoft-а.

Кстати, ведь MS Visio делает, который UML поддерживает. Потом, они многие идеи стянули из UML.
Скажем, system definition model есть прямая калька с UML 2.0. composite structure diagrams.
Я и блоги разработчиков VS2005 читал, не открещивается MS от UML-я.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[14]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 09.06.05 13:38
Оценка: +1
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, _Obelisk_, Вы писали:


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

_O_>>Да и портация сгенеренного кода на всякие специальные платформы (используемые в embedded & telecom industry) проще, если генерить С/C++/Java.

AR>Не в последнюю очередь именно по указанным причинам мне и импонирует больше идея расширения возможностей моделирования при работе с исходным кодом (в т.ч. расширение самих языков, на которых этот исходный код пишется), а не идея расширения возможностей средств UML-моделирования по генерации исходного кода.


Главное идти к правильной цели, причем не важно с какой стороны



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 14:03
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А нельзя ли чуть подробнее раскрыть суть этой идеи или дать ссылочки. Я лично с VS 2005 пока не работал, посему любопытно.

В двух словах: архитектор создает свой DSL (Domain Specific Language) под конкретную задачу, и уже в терминах этого языка описывает модель. В момент описания модели код генерится на лету, нет необходимости даже нажимать нарошную кнопку для генерации исходников. В таком виде проект поступает к разработчику, разработчик правит код, и все его изменения моментально отражаются в модели, терминах DSL, и опять-таки нет никакой необходимости нажимать хитрые кнопки, чтобы получить актуальное состояние модели, это 100% on-line инструмент, оба представления проекта, и код, и DSL, всегд анаходятся в актуальном состоянии откуда бы проект не правили. DSL так же поддерживает валидацию, в отличии от UML-я.

http://msdn.microsoft.com/library/en-us/dnvs05/html/vstsmodel.asp
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 14:12
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Lockhead Martin Corp, Thales, Raytheon, BAE Systems, Motorola и др — используют. Они, пожалуй, крупней Microsoft-а.

И софтверные проекты у них крупнее?
Да, написать "... и др." я тоже могу, кстати, IBM тоже далеко не на всех своих проектах использует UML в полный рост.

_O_>Кстати, ведь MS Visio делает, который UML поддерживает.

Уже не делает, а только поддерживает.

_O_> Потом, они многие идеи стянули из UML.

И что?

_O_>Я и блоги разработчиков VS2005 читал, не открещивается MS от UML-я.

Не открещиваются конечно, просто не используют..
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 09.06.05 14:12
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>В нашем случае, исходником всегда ялвяется модель. В сгенеренный код можно вообще не лезть. Меняется всегда модель.

Всё в модели все равно не сделаешь, исходники в любом случае придется менять, а отследить, что при изменении исходника поменялась модель нет никакой возможности.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: UML
От: nayato Россия  
Дата: 09.06.05 14:15
Оценка: +1
Ой, тут много наговорили. Не скажу, что со всем не согласен.
Да, UML не универсален, потому как ограничен, и что-то описывать с его помощью — просто трата времени.
Но не скажу, что само описание модели в UML — трата времени. На мой взгляд UML должен (да за ради этого изначально все стандарты моделирования появлялись) обеспечивать возможность построения, модификации, изучения архитектуры на разных уровнях абстракции, с разных точек зрения при обеспечении наглядности и достаточной информативности. При нормальной реализации такого отношения к UML, исходник не будет главным документом, а скорее низшим уровнем детализации — конкретной, языкозависимой реализацией. То есть процесс разработки должен включать стадию переноса выбранной, может быть частично придуманной модели с бумажки, доски еще чего там в UML представление. После чего архитектура дорабатывается до кондиции первичной кодогенерации. Таким образом можно построить UML-модель, которая ни на йоту не будет отличаться от реального представления в реализации.
Дальше стоит вопрос взаимодействия уровней абстракции: когда начинается стадия программирования системы, либо при начале нового цикла разработки, возникает необходимость менять модель, то есть, так сказать, революция снизу получается. Здесь я вижу вполне актуальное решение: чтобы средство моделирования позволяло умный реинжиниринг, то есть не просто построение модели по коду, а связывание элементов реализации (они достаточно конкретны: методы, атрибуты) с их отражением в модели. Можно сказать, чтобы кусочки реализации цеплялись к модели. Тогда в процессе пересмотра архитектуры можно было бы параллельно производить рефакторинг уже наработанного материала (кода) до соответствия модификациям модели. Но на уровне модели нельзя точно сформулировать требования по модификации кода и возникает вопрос уже обратной связи: в коде, связанном с моделью вносить соот. изменения. Короче, я веду к нормальной интеграции средств проектирования и программирования. Чтобы инструментарий представлял не просто отдельное ПО для проектирования и для программирования, но комплексное решение, возможно, по приведенной схеме: все что выше конкретного языка, конкретной реализации — в UML. К этому (не совсем, конечно) сейчас идет Delphi с Together. Но не стоит рассматривать такую жесткую (прямо полную) интеграцию, как отход от идеи унификации UML. Модель всегда может быть перенесена (есть тому стандарт XMI), таким образом каркас всегда есть.

Еще один вариант использования UML от OMG — MDA. Забыли, да?
Тут уже модель стоит в центре разработки, она сама — объект, и с ее помощью (навигация, например, формализованные ограничения) производят определенные манипуляции с тем, что она представляет. В этом направлении пока все работают и ничего конкретного и до конца толкового пока нет. Однако, уже на сегодняшний день то, что из себя представляет ECO Framework мне лично определенно нравится.

Так что будущее у UML есть. И сомневаться глупо — стали бы над заведомо бесперспективным проектом такого масштаба работать такие крупные корпорации? Значит это кому-нибудь нужно! (с)
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Re[3]: UML
От: AndreyFedotov Россия  
Дата: 10.06.05 07:14
Оценка: -1
Здравствуйте, nayato, Вы писали:

N>Ой, тут много наговорили. Не скажу, что со всем не согласен.

N>Да, UML не универсален, потому как ограничен, и что-то описывать с его помощью — просто трата времени.
+1
N>Но не скажу, что само описание модели в UML — трата времени. На мой взгляд UML должен (да за ради этого изначально все стандарты моделирования появлялись) обеспечивать возможность построения, модификации, изучения архитектуры на разных уровнях абстракции, с разных точек зрения при обеспечении наглядности и достаточной информативности. При нормальной реализации такого отношения к UML, исходник не будет главным документом, а скорее низшим уровнем детализации — конкретной, языкозависимой реализацией. То есть процесс разработки должен включать стадию переноса выбранной, может быть частично придуманной модели с бумажки, доски еще чего там в UML представление. После чего архитектура дорабатывается до кондиции первичной кодогенерации. Таким образом можно построить UML-модель, которая ни на йоту не будет отличаться от реального представления в реализации.
+1
Вот здесь ты сам и дал ответ — который обясняет все те проблемы, которые возникают вокруг UML. Проблемы возникают потому, что UML применяется не там и не так, как его применение было предусмотрено — как он должен был бы применяться. Почему то все забыли, что UML вовсе не является самостоятельной вещью — как многие его пытаются представить. UML был разработан как интсрументальная частица UP — и как варианта RUP. Он не отделим от этого процесса, а любая попытка это сделать мгновенно выявляет несоответствие UML для других задач.
Если у вас был опыт разработки по ГОСТ или ISO9000 или настоящему RUP — с написанием всех тех противных, но необходимых для процесса документов (включая как проектную документацию, так и нормативные документы), то вы бы ясно увидели, как хорошо ложится UML в эту схему. UML это вовсе не язык разработчиков. Это часть промышленного стандарта, такая же как изуверские правила написания документов по ГОСТ. Вот в этом качестве он великолепен. Но разве правила написания документов по ГОСТ применимы для чего то ещё?
Другое дело, что у нас большинство фирм "слышали звон да не знают где он" — то есть в действительности очень смутно представляют, для чего предуманы и как должны применяться новомодные западные технологии. Услышали модное слово UML — лет эдак 5-6 назад, и ну народ с UML искать. А народ что? Накупил книжек "UML за 24 часа" и через сутки уже уверен, что мастер по UML. Что и отражает в своём резюме.
В результате довольно часто наблюдаю картину, когда талантливый разработчик пытается найти общий язык с бизнесменом. И пытается использовать для этих целей UML (который бизнесмену изучать как то не хочется). В результате разочаровывается в UML и появляются посты, вроде того, который написал автор ветки. Мол UML не для всего подходит. Да он и не предназначался для этого! UML предназначался лишь для описания процессов в системе на уровне построения и реализации системы. Но не на уровне бизнес-логики. Для последнего существует IDEFx.

N>Так что будущее у UML есть. И сомневаться глупо — стали бы над заведомо бесперспективным проектом такого масштаба работать такие крупные корпорации? Значит это кому-нибудь нужно! (с)


Именно. Другое дело, что в нашей реальности большинство компаний хотят за копейку купить слона. То есть они не хотят следовать довольно дорогому процессу разработки (лишь малой частицей которого является UML), но при том ожидают от него той же отдачи, что и IBM.
Вместо этого они пытаются изобретать Silver Bullet для решения всех проблем сразу. Иногда это получается довольно удачно, что и называется "прогресс"
Re[13]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 10.06.05 07:28
Оценка: :))
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Я и блоги разработчиков VS2005 читал, не открещивается MS от UML-я.

M>Не открещиваются конечно, просто не используют..

Через неделю лечу в Редмонд, к своим друзьям работающим в MS. Вот и выясню, используют они UML или нет и как они его используют



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[13]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 10.06.05 07:29
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>В нашем случае, исходником всегда ялвяется модель. В сгенеренный код можно вообще не лезть. Меняется всегда модель.

M>Всё в модели все равно не сделаешь, исходники в любом случае придется менять, а отследить, что при изменении исходника поменялась модель нет никакой возможности.

Есть. Исходник парсится, строится модель, потом она мёржится в исходную.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[14]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 10.06.05 07:43
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>>>В нашем случае, исходником всегда ялвяется модель. В сгенеренный код можно вообще не лезть. Меняется всегда модель.

M>>Всё в модели все равно не сделаешь, исходники в любом случае придется менять, а отследить, что при изменении исходника поменялась модель нет никакой возможности.

_O_>Есть. Исходник парсится, строится модель, потом она мёржится в исходную.


А дельше? Правим полученную модель, генерим по ней новый исходник. А изменения, сделанные в старом исходнике в этот новый попадут?
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 10.06.05 07:46
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Есть. Исходник парсится, строится модель, потом она мёржится в исходную.

Всегда однозначно и без ошибок?
И еще. Есть возможность иметь несколько моделей с различной степенью детализации на один и тот же проект?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[15]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 10.06.05 08:01
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, _Obelisk_, Вы писали:


_O_>>>>В нашем случае, исходником всегда ялвяется модель. В сгенеренный код можно вообще не лезть. Меняется всегда модель.

M>>>Всё в модели все равно не сделаешь, исходники в любом случае придется менять, а отследить, что при изменении исходника поменялась модель нет никакой возможности.

_O_>>Есть. Исходник парсится, строится модель, потом она мёржится в исходную.


AR>А дельше? Правим полученную модель, генерим по ней новый исходник. А изменения, сделанные в старом исходнике в этот новый попадут?


Попадут. Модель генериться в вектор токенов, исходник сканится и тоже формируется вектор токенов, потом два вектора определенным образом мёржутся.
Детали алгоритмов раскрыть не могу, извините.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[12]: UML
От: AndreyFedotov Россия  
Дата: 10.06.05 08:04
Оценка: 6 (1)
Здравствуйте, _Obelisk_, Вы писали:

_O_>В нашем случае, исходником всегда ялвяется модель. В сгенеренный код можно вообще не лезть. Меняется всегда модель.


И это есть правильно.
Если модель построена правильно, хорошо продумана и исходят из неё, а не наоборот — то у вас всегда есть возможность переписать отдельный модуль, сохранив работоспособность системы. А вот чем это может кончится, если танцевать от исходного кода — большинству из нас прекрасно известно.
Re[15]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 10.06.05 08:06
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Есть. Исходник парсится, строится модель, потом она мёржится в исходную.

M>Всегда однозначно и без ошибок?

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

M>И еще. Есть возможность иметь несколько моделей с различной степенью детализации на один и тот же проект?


Да. Плюс есть возможность формировать различные представления для модели.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[13]: UML
От: Chupa_Kabra  
Дата: 10.06.05 10:11
Оценка:
Здравствуйте, Merle, Вы писали:

_O_>>Кстати, ведь MS Visio делает, который UML поддерживает.

M>Уже не делает, а только поддерживает.

Как не делает ?
А это что прилитело на дисках с beta2?

Microsoft® Office Visio® for Enterprise Architects 2005 Beta 2 Readme File
March 2005

Все хотят хорошо провести время, но время не проведешь !
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 10.06.05 10:46
Оценка:
Здравствуйте, Chupa_Kabra, Вы писали:

C_K>Как не делает ?

А так...

C_K>А это что прилитело на дисках с beta2?

И что там нового? VSS тоже в B2 новый, но функционал практически не поменялся, подозреваю, что та же история и с Visio.
Когда я спаршивал у них по этому поводу, то ответ был примерно таким:
"... Визио мы будем поддерживать для тех несчастных, которые без UML не могут...", за дословность цитаты не ручаюсь, но смысл передан верно.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Igor Trofimov  
Дата: 10.06.05 18:54
Оценка: :)
_O_>Через неделю лечу в Редмонд, к своим друзьям работающим в MS. Вот и выясню, используют они UML или нет и как они его используют

Мда.. любит ли слонопотам поросят и КАК он их любит..
Re[2]: UML
От: MichaelXP  
Дата: 12.06.05 18:28
Оценка:
Здравствуйте, Igor Trofimov, Вы писали:

iT>Повторюсь и может не совсем в тему, но уж очень нравится:


iT>Ажиотаж вокруг UML значительно поутих после того, как выяснилось, что из неправильных картинок получаются неправильные программы


Вы, случайно не знаете кто это сказал первый раз? Это како-то гуру с мировым именем или так..?
Часто вижу эту фразу в различных девелоперских форумах... интересно стало.
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Re[3]: UML
От: Cyberax Марс  
Дата: 12.06.05 20:32
Оценка: :)
MichaelXP wrote:

> iT>Повторюсь и может не совсем в тему, но уж очень нравится:

> iT>Ажиотаж вокруг UML значительно поутих после того, как выяснилось,
> что из неправильных картинок получаются неправильные программы
> Вы, случайно не знаете кто это сказал первый раз? Это како-то гуру с
> мировым именем или так..?
> Часто вижу эту фразу в различных девелоперских форумах... интересно стало.

Выстраданая многими программистами истина

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[9]: UML
От: AndreyFedotov Россия  
Дата: 13.06.05 07:29
Оценка:
Здравствуйте, Merle, Вы писали:

_O_>>4. Есть достаточно много крупных компаний успешно применяющих UML для проектирования и разработки. Собственно, мы делаем продукт как раз на базе UML 2.0, который вполне успешно используется этими самыми компаниями.

M> Но есть не меньшее количество таких же крупных компаний, которые не менее успешно не применяют UML и что?

Без анализа какие компании применяют UML, в каких проектах и для чего — кроме беспредметного религиозного спора ничего не выйдет.
Например в каких секторах рынка (если это вообще рыночные сектора) работают компании, применяющие и не применяющие UML? В каких проектах он применяется и для чего? Что ставится на первое место в подобных проектах — код или модель?
Если вы потратите время, что бы честно и спокойно ответить на эти вопросы — спорить станет не о чём.
Во-первых выясниться, что упомянутые ранее крупные компании UML сам по себе никогда не применяют. Как вы никогда не услышите от них про применение C++ — даже если они им очень широко пользуются. Они могут применять или не применять процесс разработки, в котором UML используется или не используется как язык описания моделей определённого уровня и не более того. Да и то в разных проектах может быть разный процесс. Что, впрочем, совершенно не мешает специалистам компании широко применять тот же UML для общения друг с другом — рисования диаграмм на доске. Насколько мне известно — в том же Микрософт такое происходит достаточно часто.
Теперь по поводу Микрософт. То, что Микрософт не применяет RUP — совершенно естественно. Это тяжеловесная методология, а MS всю дорогу демонстировала, что скорость разработки новых технологий для них гораздо важнее качества (не верите — посмотрите список патчей к виндам за прошедший год). Что, с моей точки зрения, совершенно оправдано. Кроме того, MS ведёт свои разработки для себя самой. То есть выступает и как заказчик и как производитель. Потому лишний документооборот, который возникает между заказчиком и производителем им не нужен. Вспомните так же, что MS имеет уникальное по объёму и концентрации количество высококвалифецированных профи — для которых тот же UML не нужен — так как они вполне могут общаться на более высоком уровне, пропуская многие элементарные шаги. В общем MS — уникум — и нельзя ожидать от других компаний того же уровня и подхода к разработке, что и от MS.
Если брать компании, производители софта для софта (Sun, Borland, Intel, IBM (те их подразделения, что производят компиляторы, например)), то там картина та же. Она обусловлена простой вещью — на верхнем уровне компилятор, к примеру, как UML модель — элементарен, а на подробном — пока вы будете разрисовывать среднининький компилятор или JVM — вас на рынке просто похоронят. Да и пользы от такой модели будет не много. Часто будет проще посмотреть в код. Ведь для рисования алгоритмов UML как раз не очень то и подходит. Кроме того, компилятор или JVM или DB — абы кого делать не допустят. А те специалисты, которые этим занимаются в разжёвывании элементарных вещей просто не нуждаются. Потому ни экономического ни технологического смысла применения UML в подобных проектах — просто нет.
Совсем другая картина в компаниях, которые занимаются автоматизацией — внутренней или внешней. В таких проектах предсказуемость сроков и качества работ выходят на первое место (клиенту то специфику IT обяснять никому не охота или собственному начальсту). Кроме того, привлекать к подобным проектам спецов такого уровня как в MS или Sun — просто не выгодно экономически. Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков. Вот там то UML и процветает — для этого то он (де факто) и был придуман.
Re[10]: UML
От: Merle Австрия http://rsdn.ru
Дата: 13.06.05 12:14
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Без анализа какие компании применяют UML, в каких проектах и для чего — кроме беспредметного религиозного спора ничего не выйдет.

Ну не я же этот спор начал.. Собственно цель моего замечания была показать, что факт использования или не использования UML различными компаниями не может служить доказательством его нужности/не нужности при разработке софта. Так что тут совершенно нечего возразить.

AF> Если вы потратите время, что бы честно и спокойно ответить на эти вопросы — спорить станет не о чём.

Если на это тратить время, то оно окажется потрачено в пустую..

AF> Совсем другая картина в компаниях, которые занимаются автоматизацией — внутренней или внешней. В таких проектах предсказуемость сроков и качества работ выходят на первое место (клиенту то специфику IT обяснять никому не охота или собственному начальсту).

Стоп-стоп, а каким образом UML влияет на предсказуемость сроков? Что-то ничего, кроме как гарантировать что N-ое количество времени уйдет на рисование схем, в голову не приходит..

AF> Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков.

Не пойдет, за отмазку не канает... Проблема в том, что UML сам по себе достаточно сложен, и чтобы его адекватно применять разработчик и так должен быть хорошей квалификации. Соответственно разработчик низкой квалификации UML не понимает, а как только он начинает его понимать то его квалификация уже достаточно хороша, чтобы UML ему был не нужен.
Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто.
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: UML
От: bigwizard  
Дата: 13.06.05 13:48
Оценка:
Здравствуйте, OpenMinded, Вы писали:

OM>Здравствуйте, nixite, Вы писали:


OM> Мой личный опыт показывает, что UML полезен, но зачастую крайне не удобен, особенно, когда используется не для общения с разработчиками, а для общения с заказчиком.

А можно подробнее? Какие типы диаграмм вы показываете заказчику? В какой момент времени это происходит?

<skipped>
Очень противоречивое послание!
Со одной стороны вы говорите о порочности идеи, с другой стороны оговорите о той идеи, которая заложена в UML.
Про стандартизацию диаграмм и их множество, так и в русском языке тоже есть стандартизованные начертание 33-х букв, но ведь это не мешает использовать великий и могучий.
UML — это язык со своими "буквами", а то как вы его будете использовать, зависит только от вас.

С уважением,
bw.
Re: UML
От: bigwizard  
Дата: 13.06.05 14:05
Оценка:
Господа, идея с графами не нова. Увы, а может и нет....
http://www.mindmap.ru/
Есть книга на русском языке про "Карты Ума"
http://www.books.ru/shop/books/137550
Например, у нас в проекте аналитик использует прогу "Mind Map" для "сбора требований".


С уважением,
bw.
Re[11]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 13.06.05 15:20
Оценка: 14 (2)
Здравствуйте, Merle, Вы писали:

AF>> Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков.

M>Не пойдет, за отмазку не канает... Проблема в том, что UML сам по себе достаточно сложен, и чтобы его адекватно применять разработчик и так должен быть хорошей квалификации. Соответственно разработчик низкой квалификации UML не понимает, а как только он начинает его понимать то его квалификация уже достаточно хороша, чтобы UML ему был не нужен.
M>Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто.

Например, в telecom-секторе UML становится заменителем SDL, вобрав в себя все фичи последнего.
Поэтому использование UML для тех задач, которые хорошо сводятся с statemachine-ам и синхронному/асинхронному обмену сообщениями, дает существенное преимущество перед ручным кодированием этих самых statemachine. Реализация ручками hierarchical statemachine с поддержкой save-ов и guard conditions черезвычайно муторное дело на любом языке программирования.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 13.06.05 17:45
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Например, в telecom-секторе UML становится заменителем SDL, вобрав в себя все фичи последнего.

Интересно, но тут я склонен думать, что скорее пошли от обратного. Сначала наворотили очень богатый инструментарий, а потом нашли как его применять. И опять-таки не сколько на финальном этапе, как предполагал Alexey Rovdo, сколько на начальном, для создания основного кода.
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[11]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 04:25
Оценка:
Здравствуйте, Merle, Вы писали:

AF>> Совсем другая картина в компаниях, которые занимаются автоматизацией — внутренней или внешней. В таких проектах предсказуемость сроков и качества работ выходят на первое место (клиенту то специфику IT обяснять никому не охота или собственному начальсту).

M>Стоп-стоп, а каким образом UML влияет на предсказуемость сроков? Что-то ничего, кроме как гарантировать что N-ое количество времени уйдет на рисование схем, в голову не приходит..
Ответ содержался в следующей строке того же абзаца. А именнно — компании не применяют UML, как они не применяют C++ или Basic (хотя и могут писать на нём кучу софта). Они применяют процесс разработки, основанный в том числе и на использовании UML. Эффект даёт именно процесс в целом, а не только и не столько UML.

AF>> Требуется процесс разработки, который позволяет вести проекты при, в среднем, довольно средней квалификации программистов. Причём делать это прогнозируемым образом. А такой процесс неизбежно требует средств описания тех же моделей — в первую очередь для самих разработчиков.

M>Не пойдет, за отмазку не канает... Проблема в том, что UML сам по себе достаточно сложен, и чтобы его адекватно применять разработчик и так должен быть хорошей квалификации. Соответственно разработчик низкой квалификации UML не понимает, а как только он начинает его понимать то его квалификация уже достаточно хороша, чтобы UML ему был не нужен.
Это софистика. На практике покажи начинающему разработчику программу и попытайся обяснить на словах, как она работает (без рисования диаграмм или набросков) — крайне редко тебя поймут. А потом нарисуй диаграммы классов, последовательностей или состояний (смотря что полезнее в данном случае) — поймут гораздо быстрее. Проверял многократно.
Ну а по-поводу сложности — на любом языке можно писать (рисовать) так, что тебя нельзя будет понять. Только зачем? Тем более, что мастерство часто и состоит в том, что бы тебя поняли.

M>Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто.

Выводы каждый делает сам... Тем более, что заказчику чаще всего до фени, что вы там делаете или не делаете — ему нужен софт — хороший, надёжный и точно в срок.
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 05:44
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Они применяют процесс разработки, основанный в том числе и на использовании UML. Эффект даёт именно процесс в целом, а не только и не столько UML.

Вопрос не в этом, а в том, является ли UML неотъемлимой частью этого процесса и проиграет ли процесс вообще, если из него изъять UML или, наоборот, выиграет. И я все больше склоняюсь к тому, что скорее выиграет.

AF> Это софистика.

Ну ясен хвост.

AF> На практике покажи начинающему разработчику программу и попытайся обяснить на словах, как она работает (без рисования диаграмм или набросков) — крайне редко тебя поймут.

Хм.. Меня почему-то понимают.

AF>А потом нарисуй диаграммы классов, последовательностей или состояний (смотря что полезнее в данном случае) — поймут гораздо быстрее.

Да меня вообще не поймут, если не будут обладать достаточной для этого квалификацией, проходили уже, UML далеко не тривиален. А разработчиков с квалификацией сейчас не найти, а если найти, то они и без UML-я все поймут.

AF>Тем более, что мастерство часто и состоит в том, что бы тебя поняли.

Правильно, только UML здесь далеко не помощник.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[13]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 14.06.05 06:15
Оценка: +1
Здравствуйте, Merle, Вы писали:

AF>> Они применяют процесс разработки, основанный в том числе и на использовании UML. Эффект даёт именно процесс в целом, а не только и не столько UML.

M>Вопрос не в этом, а в том, является ли UML неотъемлимой частью этого процесса и проиграет ли процесс вообще, если из него изъять UML или, наоборот, выиграет. И я все больше склоняюсь к тому, что скорее выиграет.

Вряд ли можно изъять UML из процессов, которые априори основаны именно на использовании этого языка. Другое дело, что можно применять другие процессы разработки, в которых роль UML-диаграм будут выполнять другие инструменты. Такие процессы могут быть похожи на существующие, однако это все-таки будут другие процессы. К примеру, представьте себе какое влияние на RUP могла бы оказать такая возможность как параллельная работа над структурой классов, реализация этих классов и тестирование уже готового кода. Я не хочу сказать, что запараллеливание данных работ будет полезным всегда. Но сегодня мы практически не имеем технической возможности реализовывать код и дорабатывать структуру приложения одновременно (разве только действовать с помощью инструментария, описанного _Obelisk_ ).
Re[12]: UML
От: Cyberax Марс  
Дата: 14.06.05 06:40
Оценка: +1
AndreyFedotov wrote:

> Это софистика. На практике покажи начинающему разработчику программу и

> попытайся обяснить на словах, как она работает (без рисования диаграмм
> или набросков) — крайне редко тебя поймут. А потом нарисуй диаграммы
> классов, последовательностей или состояний (смотря что полезнее в
> данном случае) — поймут гораздо быстрее. Проверял многократно.

Обычно гораздо эффективнее помогают не диаграммы в РациональнойРозе, а
простые наброски в виде квадратиков и стрелочек с надписями То есть
формальный синтаксис UML скорее мешает, чем помогает — проще
использовать нечто UML-подобное.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[13]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 07:08
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Обычно гораздо эффективнее помогают не диаграммы в РациональнойРозе, а

C>простые наброски в виде квадратиков и стрелочек с надписями То есть
C>формальный синтаксис UML скорее мешает, чем помогает — проще
C>использовать нечто UML-подобное.

Абсолютно согласен. Сам обычно так и делаю. Только вы вспомните, что UML и RUP разрабатывался не для маленьких групп в 3-5-10 и даже в 20 человек, он создавался на случаи, когда над одним и тем же проектом работает параллельно более 100 человек. Вот тогда наброски на бумаге вообще перестают работать — просто не возможно рисовать и рассказывать каждому одно и тоже.
Re[13]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 07:10
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Они применяют процесс разработки, основанный в том числе и на использовании UML. Эффект даёт именно процесс в целом, а не только и не столько UML.

M>Вопрос не в этом, а в том, является ли UML неотъемлимой частью этого процесса и проиграет ли процесс вообще, если из него изъять UML или, наоборот, выиграет. И я все больше склоняюсь к тому, что скорее выиграет.
При условии лучшей или адекватной замены. А её пока нет.

AF>> На практике покажи начинающему разработчику программу и попытайся обяснить на словах, как она работает (без рисования диаграмм или набросков) — крайне редко тебя поймут.

M>Хм.. Меня почему-то понимают.
Всегда? И сколько времени на это требуется?

AF>>А потом нарисуй диаграммы классов, последовательностей или состояний (смотря что полезнее в данном случае) — поймут гораздо быстрее.

M>Да меня вообще не поймут, если не будут обладать достаточной для этого квалификацией, проходили уже, UML далеко не тривиален. А разработчиков с квалификацией сейчас не найти, а если найти, то они и без UML-я все поймут.
Странно, а у меня почему-то понимают...

AF>>Тем более, что мастерство часто и состоит в том, что бы тебя поняли.

M>Правильно, только UML здесь далеко не помощник.
Это как применять.
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 07:23
Оценка: :)
Здравствуйте, AndreyFedotov, Вы писали:

AF> При условии лучшей или адекватной замены. А её пока нет.

Ну здрасьте, караднаш, бумага, слюни — замена вполне адекватная.

AF>Всегда? И сколько времени на это требуется?

Всегда. Мало. Намного меньше чем я потратил бы только на рисование, не считая объяснений.

AF>Странно, а у меня почему-то понимают...

Действительно странно.

AF> Это как применять.

А как не применяй.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 07:33
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Только вы вспомните, что UML и RUP разрабатывался не для маленьких групп в 3-5-10 и даже в 20 человек, он создавался на случаи, когда над одним и тем же проектом работает параллельно более 100 человек. Вот тогда наброски на бумаге вообще перестают работать — просто не возможно рисовать и рассказывать каждому одно и тоже.

А что, действительно есть проекты где более 100 человек делают одно и тоже и всем надо одно и то же объяснять? Это что, соревнование кто быстрее решит одну и ту же задачу?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Cyberax Марс  
Дата: 14.06.05 07:34
Оценка:
AndreyFedotov wrote:

> C>Обычно гораздо эффективнее помогают не диаграммы в РациональнойРозе, а

> C>простые наброски в виде квадратиков и стрелочек с надписями То есть
> C>формальный синтаксис UML скорее мешает, чем помогает — проще
> C>использовать нечто UML-подобное.
> Абсолютно согласен. Сам обычно так и делаю. Только вы вспомните, что
> UML и RUP разрабатывался не для маленьких групп в 3-5-10 и даже в 20
> человек, он создавался на случаи, когда над одним и тем же проектом
> работает параллельно более 100 человек. Вот тогда наброски на бумаге
> вообще перестают работать — просто не возможно рисовать и рассказывать
> каждому одно и тоже.

Тогда эти наброски сканируем и рассылаем вместе с объяснениями.

Серьезно, очень удобно получается.

--
С уважением,
Alex Besogonov (alexy@izh.com)
Posted via RSDN NNTP Server 1.9
Sapienti sat!
Re[14]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 07:42
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:

AF> При условии лучшей или адекватной замены. А её пока нет.


Русския язык является достаточно адекватной заменой
... << RSDN@Home 1.1.3 stable >>
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 07:56
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> При условии лучшей или адекватной замены. А её пока нет.

M>Ну здрасьте, караднаш, бумага, слюни — замена вполне адекватная.

Берём проект человек на 300-400. Ты уверен что у тебя на всех карандашей, слюней и здоровья хватит?
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 07:59
Оценка: 1 (1)
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Только вы вспомните, что UML и RUP разрабатывался не для маленьких групп в 3-5-10 и даже в 20 человек, он создавался на случаи, когда над одним и тем же проектом работает параллельно более 100 человек. Вот тогда наброски на бумаге вообще перестают работать — просто не возможно рисовать и рассказывать каждому одно и тоже.

M>А что, действительно есть проекты где более 100 человек делают одно и тоже и всем надо одно и то же объяснять? Это что, соревнование кто быстрее решит одну и ту же задачу?
Есть, но не одно и тоже, но работают над общей и достаточно крупной задачей. Тот же MS — не к столу будь сказано... В таких проектах часто на первое место выходит не скорость разработки, а управляемость процесса. Без документации при такой толпе народа её не достичь. UML в данном случае вовсе не лучший и не обязательный вариант, но система обозначений должна быть единой. Карандаш и слюни этого не обеспечивают
Re[16]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 08:03
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Берём проект человек на 300-400. Ты уверен что у тебя на всех карандашей, слюней и здоровья хватит?


Ой, я бы первым делом оставил человек 50, я еще лучше 20 Так больше гарантии уложится в сроки
... << RSDN@Home 1.1.3 stable >>
Re[13]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 14.06.05 08:12
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Например, в telecom-секторе UML становится заменителем SDL, вобрав в себя все фичи последнего.

M>Интересно, но тут я склонен думать, что скорее пошли от обратного. Сначала наворотили очень богатый инструментарий, а потом нашли как его применять. И опять-таки не сколько на финальном этапе, как предполагал Alexey Rovdo, сколько на начальном, для создания основного кода.

Не совсем так. Просто на стандарт UML 2.0 очень сильное влияние оказал стандарт SDL2000, а на SDL2000 в свое время оказал влияние набирающий обороты UML. Внедрения UML в нишу SDL-я есть ответ на потребности производства. Народ захотел UML-я, вот софтверные компании и прореагировали.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[15]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 14.06.05 08:43
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Только вы вспомните, что UML и RUP разрабатывался не для маленьких групп в 3-5-10 и даже в 20 человек, он создавался на случаи, когда над одним и тем же проектом работает параллельно более 100 человек. Вот тогда наброски на бумаге вообще перестают работать — просто не возможно рисовать и рассказывать каждому одно и тоже.


M>А что, действительно есть проекты где более 100 человек делают одно и тоже и всем надо одно и то же объяснять? Это что, соревнование кто быстрее решит одну и ту же задачу?


Я видел UML модель, над которой работает порядка 200 человек. Делают они, конечно, не одно и тоже, но работают с одной и той же моделью.
Число типов в данной модели превышает 100 000.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:44
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Берём проект человек на 300-400. Ты уверен что у тебя на всех карандашей, слюней и здоровья хватит?

Еще раз, можешь привести пример проекта, где 300-400 человекам надо объяснять одно и то же?
Конкретная задача ставится десятку людей.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:44
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Есть, но не одно и тоже, но работают над общей и достаточно крупной задачей.

Над общей задачей работает десяток человек.

AF>В таких проектах часто на первое место выходит не скорость разработки, а управляемость процесса. Без документации при такой толпе народа её не достичь.

Правильно, только опять-таки, UML здесь не помощник.

AF>UML в данном случае вовсе не лучший и не обязательный вариант, но система обозначений должна быть единой. Карандаш и слюни этого не обеспечивают

Это обеспечивает сам код, очередной раз осмелюсь утверждать, что код не менее, если не более выразителен, нежели UML.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:44
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_> Внедрения UML в нишу SDL-я есть ответ на потребности производства. Народ захотел UML-я, вот софтверные компании и прореагировали.

Сдается мне, что ситуация развивалась примерно так: Потребность в программировании посредством неких визуальных инструментов для ряда задач была довольно давно, и каждый удовлетворял ее по своему. Потом появился UML и на волне энтузиазма, когда казалось, что все недостатки UML-я это лишь вопрос инструментария, всем миром начали создавать впечатляющие по функциональности конструкции для работы с UML-ем. И в какой-то момент оказалось, что эти конструкции великолепно справляются с задачами, для которых ранее предназначались собственноручно написанные поделки, что естественно привело к использованию UML-я для этого класса задач.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 08:44
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Тогда эти наброски сканируем и рассылаем вместе с объяснениями.

C>Серьезно, очень удобно получается.

Я делаю так же. Но не все согласны с таким подходом. В крупных фирмах, думаю особенно. Тем более, что фундаментальный вопрос об общих соглашениях всё-равно остаётся.
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 08:46
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Берём проект человек на 300-400. Ты уверен что у тебя на всех карандашей, слюней и здоровья хватит?

M>Еще раз, можешь привести пример проекта, где 300-400 человекам надо объяснять одно и то же?
M>Конкретная задача ставится десятку людей.

Любимый отцами основателями RUP проект системы управления воздушным движением в Канаде — устроит?
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 08:46
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Берём проект человек на 300-400. Ты уверен что у тебя на всех карандашей, слюней и здоровья хватит?


M>Ой, я бы первым делом оставил человек 50, я еще лучше 20 Так больше гарантии уложится в сроки


Я бы тоже. Потому нас никогда рулить в крупную фирму и не запустят.
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:48
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Я видел UML модель, над которой работает порядка 200 человек. Делают они, конечно, не одно и тоже, но работают с одной и той же моделью.

А польза от этого есть? Может им проще было бы работать не с одной моделью, а с двадцатью, на каждую конкретную подзадачу?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 08:49
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Есть, но не одно и тоже, но работают над общей и достаточно крупной задачей.

M>Над общей задачей работает десяток человек.

AF>>В таких проектах часто на первое место выходит не скорость разработки, а управляемость процесса. Без документации при такой толпе народа её не достичь.

M>Правильно, только опять-таки, UML здесь не помощник.
Кому как. Я тоже отнюдь не фанат UML, но как прогматик вижу, что есть места, где он применяется успешно. Их и условия, когда он успешно применяется я и постарался показать. Вы же повторяете то, что и так очевидно, а именно, что UML вовсе не панацея, более того — даже как огранниченный интсрумент — вовсе не лучшее решение.

AF>>UML в данном случае вовсе не лучший и не обязательный вариант, но система обозначений должна быть единой. Карандаш и слюни этого не обеспечивают

M>Это обеспечивает сам код, очередной раз осмелюсь утверждать, что код не менее, если не более выразителен, нежели UML.
Это смотря для кого.
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:52
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Любимый отцами основателями RUP проект системы управления воздушным движением в Канаде — устроит?

Там что 300-400 человек делали одно и то же, над одной общей моделью? "Не верю"
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 08:57
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Кому как. Я тоже отнюдь не фанат UML, но как прогматик вижу, что есть места, где он применяется успешно.

А я, как прагматик, вижу, что можно великолепно обходиться и без него..

AF> Их и условия, когда он успешно применяется я и постарался показать.

К сожалению не абсолютно не убедительно. Ни одного реального обоснования его использования я не увидел, только от _Obelisk_ был внятный пример в достаточно узкой области, и то, там UML не сколько инструмент моделирования, колько непосредственно разработки.

AF> Вы же повторяете то, что и так очевидно, а именно, что UML вовсе не панацея, более того — даже как огранниченный интсрумент — вовсе не лучшее решение.

Ну если очевидно, что это не лучшее решение, то зачем его использовать?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[16]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 08:58
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Я видел UML модель, над которой работает порядка 200 человек. Делают они, конечно, не одно и тоже, но работают с одной и той же моделью.

_O_>Число типов в данной модели превышает 100 000.

А сколько человек использует в проектах .NET Framework, VCL, MFC, ADO? В документации по ним UML диаграмма скорее исключение, чем правило.
... << RSDN@Home 1.1.3 stable >>
Re[18]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 09:08
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

M>>Ой, я бы первым делом оставил человек 50, я еще лучше 20 Так больше гарантии уложится в сроки


AF>Я бы тоже. Потому нас никогда рулить в крупную фирму и не запустят.


Хорошо, уточнюсь. Код системы разрабатывало бы не больше 20-30 человек. А остальных найдем чем занять. Пусть пишут документацию, учебники, разрабатывают примеры использования, тестируют, ... И даже могут по коду составлять UML-диаграммы, нотолько исключительно для заказчика
... << RSDN@Home 1.1.3 stable >>
Re[19]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 09:13
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Любимый отцами основателями RUP проект системы управления воздушным движением в Канаде — устроит?

M>Там что 300-400 человек делали одно и то же, над одной общей моделью? "Не верю"
Это к отцам-основателям...
Re[19]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 09:19
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Кому как. Я тоже отнюдь не фанат UML, но как прогматик вижу, что есть места, где он применяется успешно.

M>А я, как прагматик, вижу, что можно великолепно обходиться и без него..
Разве я где то утвержал обратное?

AF>> Их и условия, когда он успешно применяется я и постарался показать.

M>К сожалению не абсолютно не убедительно. Ни одного реального обоснования его использования я не увидел, только от _Obelisk_ был внятный пример в достаточно узкой области, и то, там UML не сколько инструмент моделирования, колько непосредственно разработки.
Но и там можно обходиться без UML
В действительности нет такой области где без UML нельзя было бы обойтись. Я просто привёл примеры того, где он успешно применяется.

AF>> Вы же повторяете то, что и так очевидно, а именно, что UML вовсе не панацея, более того — даже как огранниченный интсрумент — вовсе не лучшее решение.

M>Ну если очевидно, что это не лучшее решение, то зачем его использовать?
Затем же, зачем используются все остальные не лучшие решения... Тем более — что лучшего, чем рисовать на бумажке, вы так и не смогли придумать.
Re[3]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 09:24
Оценка:
Здравствуйте, bigwizard, Вы писали:

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

B>UML — это язык со своими "буквами", а то как вы его будете использовать, зависит только от вас.

Только эти буквы оказываются зачастую совершенно бесполезны (с практической точки зрения), так как для описания сложного процесса их оказывается необходимо так много, что или приходится изобретать свои буквы, или вообще преходить на великий и могучий...
Простой пример: попробуйте на UML изобразить представление сложной системы в целом.
Re[19]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 09:30
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


M>>>Ой, я бы первым делом оставил человек 50, я еще лучше 20 Так больше гарантии уложится в сроки


AF>>Я бы тоже. Потому нас никогда рулить в крупную фирму и не запустят.


M>Хорошо, уточнюсь. Код системы разрабатывало бы не больше 20-30 человек. А остальных найдем чем занять. Пусть пишут документацию, учебники, разрабатывают примеры использования, тестируют, ... И даже могут по коду составлять UML-диаграммы, нотолько исключительно для заказчика


Это далеко не всегда возможно. Простой пример: разработка крупного программно-аппаратного комплекса. В таком комплексе зачастую одни и теже алгоритмы реализуются на различной аппаратуре, причём видов этой аппратуры — 30-40. Система структурируется и каждый уровень должен быть грамотно описан, что бы различные разработчики делали аппаратуру под один и тот же стандарт. Тем более, если часть аппратуры или ПО разрабатываются вовне — в другом городе и тем более стране. Вот и попробуй в таких условиях выделить 20-30 человек, которые всё сделают...
Re: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 09:49
Оценка: 4 (1)
Здравствуйте, nixite, Вы писали:

N>Чем дальше я сталкиваюсь с проектированием ПО, создании и описании его архитектуры, попытками воссоздать структуру и архитектуру ПО, тем больше для меня становиться очевидным тот факт что UML никуда не годен По крайней мере по моим рассуждениям, он как минимум не удобен, а то и вовсе не информативен в той степени какой хотелось бы...


1. Я однажды уже высказывал тут мысль, что для систем написанных в стиле "спагетти" бесполезно пытаться "восстанавливать" архитектуру или дизайн. Что можно описать с т.з. дизайна, в клиент-серверной системе, написанной в классическом RAD стиле -- когда на формы накидано куча db-aware контролов? Если для этого попытаться применить UML, то он онечно же БЕСПОЛЕЗЕН в таком случае. Ибо говорить про архитектуру и дизайн такой системы довольно сложно. Да, такая система может использовать наборы своих контролов, которые можно описать в UML ... но это, пардон,описание дизайна этих конролов, а не дизайна и тем более не архитектуры конкретной прикладной системы.
2. Зачастую дают общую оценку применимости языка/нотации и т.п. не зная достаточно глубоко возможностей этого языка/нотации или делая попытку НЕ ПРАВИЛЬНОГО использования НЕ ПОДХОДЯЩИХ для решения данной задачи средств ... показателен один пример -- ко мне подошел один разработчик, говорит, что хочет использовать Rational Rose для описания кода его части системы. UML он почитал, сделал реверс инжиниринг системы в Rose ... у него куча всего там нарисовано -- он и говорит -- блин, Rose -- фигня, буду пробовать другие инструменты. Попробовал (я не в курсе правда что он еще пробовал) -- пришел к выводу, что UML -- вообще фигня. Стали разбираться ... после чего он пришел к выводу, что для описания того "как он себе представляет систему" UML не совсем то что нужно ... . И он пустился в творчество -- делая синтез из всех известных ему языков/нотаций -- результат долигх творческих мучений, как обычно нулевой . После того как его творческий запал иссяк ... мы просто поговорили про юзкейсы (в том проекте они были применимы) про отделение бизнес-логики ... и о чудо ... при таком подходе UML оказался пригоден .
3. UML действительно универсальный язык ... но потзоваться им желательно как это рекомендуют методологии ... тот же RUP, тогда все становится на свои места. И дизайн прослеживается и программная архитектура появляется с разных views описанная.
Re[2]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 09:59
Оценка:
Здравствуйте, byur, Вы писали:

Абсолютно согласен!
Я тут именно эту мысль и пытаюсь донести — что UML применять нужно чётко отслеживая условия его применения, желательно в рамках методологии, для которой он был разработан.
А в ответ раздаётся, что БД с контролами можно сделать и без UML, что он там вреден и на этом основании делается очень глубокий вывод, что UML вообще не применим...
Re[4]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 10:37
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> В результате довольно часто наблюдаю картину, когда талантливый разработчик пытается найти общий язык с бизнесменом. И пытается использовать для этих целей UML (который бизнесмену изучать как то не хочется). В результате разочаровывается в UML и появляются посты, вроде того, который написал автор ветки. Мол UML не для всего подходит. Да он и не предназначался для этого! UML предназначался лишь для описания процессов в системе на уровне построения и реализации системы. Но не на уровне бизнес-логики. Для последнего существует IDEFx.


Есть один комментарий, по поводу использования UML для описания бизнес-процессов (видимо под бизнес-логикой имелось ввиду это). Во-первых нужно определиться в конкретном случае, что мы хотим от формализации бизнес-процессов. Если хотим их "измерять" с т.з. например эффективности и потом реинженирить ... то это один случай, и тут лучше использовать специализированный инструментарий для бизнес-моделирования. А если речь идет о том, что нам нужно понять как автоматизировать эти процессы (выдвигая предположение, что сами процессы упорядоченны), то в этом случае мы можем использовать UML. Например в нотации Rose для бизнес-моделирования -- и через реализацию бизнес-юзкейсов выйти на системные юзкейсы а оттуда и на дизайн системы. Другой вопрос, что бизнес-юзкейсы не всегда применимы, но и на этот случай есть свои решения. Использованию UML для понимания места информационной системы в деятельности предприятия и понимания границ системы и требований к системе, вполне имеет право на жизнь -- преимущество -- явный переход от БП к требованиям к системе и возможность использования единого языка. Недостатки -- в каждом конкретном случае свои ...
Re[20]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 10:47
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Разве я где то утвержал обратное?

А зачем тогда было не соглашаиться?

AF>Но и там можно обходиться без UML

Можно, но, видимо, неудобно. Там он приносит пользу, в отличии от остальных способов применения, которые Вы пытались придумать.

AF> Я просто привёл примеры того, где он успешно применяется.

А зачем? Во всех этих примерах он мог с не меньшим, если не с большим успехом не применяться.

AF> Тем более — что лучшего, чем рисовать на бумажке, вы так и не смогли придумать.

Но это лучшее решение, чем UML, в предложенных областях, так зачем выбирать менее пригодный в реальном использовании UML?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[3]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 10:47
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Я тут именно эту мысль и пытаюсь донести — что UML применять нужно чётко отслеживая условия его применения, желательно в рамках методологии, для которой он был разработан.

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

AF>А в ответ раздаётся, что БД с контролами можно сделать и без UML, что он там вреден и на этом основании делается очень глубокий вывод, что UML вообще не применим...

Где такое раздается? Я не отрицаю, что UML применим, им даже пользуются, но практической выгоды, кроме дурения головы заказчику, за исключением специальных случаев, я не ощущаю.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[21]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 10:55
Оценка:
Здравствуйте, Merle, Вы писали:

AF>>Но и там можно обходиться без UML

M>Можно, но, видимо, неудобно. Там он приносит пользу, в отличии от остальных способов применения, которые Вы пытались придумать.
Если вы не способны увидеть приносимую пользу, ещё не означает, что её там нет.

AF>> Я просто привёл примеры того, где он успешно применяется.

M>А зачем? Во всех этих примерах он мог с не меньшим, если не с большим успехом не применяться.
Это утверждение нуждается в доказательствах. Их то я как раз и не видел.

AF>> Тем более — что лучшего, чем рисовать на бумажке, вы так и не смогли придумать.

M>Но это лучшее решение, чем UML, в предложенных областях, так зачем выбирать менее пригодный в реальном использовании UML?
В предложенных мной областях и упомянутых мной случаях это не является лучшим решением. Как и худшим. Вам не кажется, что немного наивно заочно рассуждать о крупных проектах и говорить о том, что там лучше, а что хуже? Тем паче, что у тех, кто имеет возможность судить об этом точка зрения совсем иная.
Re[5]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 11:03
Оценка:
Здравствуйте, byur, Вы писали:

B>Здравствуйте, AndreyFedotov, Вы писали:


AF>> В результате довольно часто наблюдаю картину, когда талантливый разработчик пытается найти общий язык с бизнесменом. И пытается использовать для этих целей UML (который бизнесмену изучать как то не хочется). В результате разочаровывается в UML и появляются посты, вроде того, который написал автор ветки. Мол UML не для всего подходит. Да он и не предназначался для этого! UML предназначался лишь для описания процессов в системе на уровне построения и реализации системы. Но не на уровне бизнес-логики. Для последнего существует IDEFx.


B>Есть один комментарий, по поводу использования UML для описания бизнес-процессов (видимо под бизнес-логикой имелось ввиду это).

Да, именно это я и имел в виду.
B>Во-первых нужно определиться в конкретном случае, что мы хотим от формализации бизнес-процессов. Если хотим их "измерять" с т.з. например эффективности и потом реинженирить ... то это один случай, и тут лучше использовать специализированный инструментарий для бизнес-моделирования.

Совершенно согласен.

B>А если речь идет о том, что нам нужно понять как автоматизировать эти процессы (выдвигая предположение, что сами процессы упорядоченны), то в этом случае мы можем использовать UML. Например в нотации Rose для бизнес-моделирования -- и через реализацию бизнес-юзкейсов выйти на системные юзкейсы а оттуда и на дизайн системы. Другой вопрос, что бизнес-юзкейсы не всегда применимы, но и на этот случай есть свои решения. Использованию UML для понимания места информационной системы в деятельности предприятия и понимания границ системы и требований к системе, вполне имеет право на жизнь -- преимущество -- явный переход от БП к требованиям к системе и возможность использования единого языка. Недостатки -- в каждом конкретном случае свои ...

В общем согласен. Но тут есть одна тонкость. Называется плавный переход. Я имею в виду, что часто заранее не ясно, что будет делаться и какова конечная цель моделирования бизнесс процессов. Кому и зачем потребуется модель. В таком случае как правило выгоднее начинать таки с формального описания процессов в виде IDEFx и лишь потом переходить к UML. По следующим соображениям:
Нотация IDEF мне кажется более простой и понятной неискушённому наблюдателю (это подтверждается практикой), она принята именно для этих целей. Она более компактна — что в случае сложных бизнесс-процессов крайне важно, так как тут очень важна выразительность. И наконец от нотации IDEF довольно легко перейти "вниз" — к нотации UML.
Хотя если проект маленький и основное понятно на уровне интуиции... Тогда можно сразу использовать UML, ну а если совсем маленький — так и вообще карандашём обойтись.
Re[22]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 11:09
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Если вы не способны увидеть приносимую пользу, ещё не означает, что её там нет.

Ну, во-первых, я не один такой. А во-вторых, рассуждать с позиции "Вам не понять, вы не любили" не самое удачное доказательство.

AF>Это утверждение нуждается в доказательствах. Их то я как раз и не видел.

Как раз наоборот. Утверждение, что UML может быть полезен нуждается в доказательствах. И пока таковых нет.

AF>В предложенных мной областях и упомянутых мной случаях это не является лучшим решением.

Хорошо, это решение как минимум не хуже, чем UML, соответственно, для того, чтобы UML использовать он должен хоть как-то оправать свое использование, то есть быть хоть чем-то лучше. Пока этого не наблюдается.

AF>Вам не кажется, что немного наивно заочно рассуждать о крупных проектах и говорить о том, что там лучше, а что хуже? Тем паче, что у тех, кто имеет возможность судить об этом точка зрения совсем иная.

Во-первых, мне именно так и кажется и поэтому мне совершенно не понятны Ваши постоянные кивки на большие проекты, особенно в свете того, что по Вашему же признанию UML Вы не используете, "но вот умные дядьки в больших проектах...".
А во-вторых, у тех кто имеет возможность регулярно сталкиваться с большими проектами частенько оказывается примерно та же точка зрения что я изложил.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[4]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 11:09
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Я тут именно эту мысль и пытаюсь донести — что UML применять нужно чётко отслеживая условия его применения, желательно в рамках методологии, для которой он был разработан.

M>Но я так и не смог выяснить зачем надо применять UML, отслеживать условия его применения, обучать разработчиков и вообще тратить на него усилия, если все можно сделать и без него, с не менее стройной архитектурой?
Для того, что бы было возможно общение между собой больших групп специалистов — в том числе из смежных областей. Я уже описывал подобную ситуацию здесь
Автор: AndreyFedotov
Дата: 14.06.05
.
Ну не ограничивается всё однотипными программками.

AF>>А в ответ раздаётся, что БД с контролами можно сделать и без UML, что он там вреден и на этом основании делается очень глубокий вывод, что UML вообще не применим...

M>Где такое раздается? Я не отрицаю, что UML применим, им даже пользуются, но практической выгоды, кроме дурения головы заказчику, за исключением специальных случаев, я не ощущаю.
Но так дело скорее всего в том, что в вашем случае этой выгоды может просто и не быть. Я видел не очень много ситуаций в России — особенно в мелких и средних фирмах, когда подобная документация себя бы окупала. Любая, даже не основанная на UML. Потому весьма вероятно, что для ваших условий вы абсолютно правы. Но это не основание не видеть пользы от UML вообще
Re[13]: UML
От: Аноним  
Дата: 14.06.05 11:13
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Alexey Rovdo, Вы писали:


AR>>А нельзя ли чуть подробнее раскрыть суть этой идеи или дать ссылочки. Я лично с VS 2005 пока не работал, посему любопытно.

M>В двух словах: архитектор создает свой DSL (Domain Specific Language) под конкретную задачу, и уже в терминах этого языка описывает модель. В момент описания модели код генерится на лету, нет необходимости даже нажимать нарошную кнопку для генерации исходников. В таком виде проект поступает к разработчику, разработчик правит код, и все его изменения моментально отражаются в модели, терминах DSL, и опять-таки нет никакой необходимости нажимать хитрые кнопки, чтобы получить актуальное состояние модели, это 100% on-line инструмент, оба представления проекта, и код, и DSL, всегд анаходятся в актуальном состоянии откуда бы проект не правили. DSL так же поддерживает валидацию, в отличии от UML-я.

M>http://msdn.microsoft.com/library/en-us/dnvs05/html/vstsmodel.asp


Вы будете смеяться, но это всё давно (лет уже как 5 — 7) реализовано в Togethersoft Control Center (который сейчас принадлежит Борланду) применительно к UML. Актуальность кода и диаграмм поддерживается автоматически, независимо от разработчика и количества людей, правивших этот код или диаграммы. Классы можно одновременно просматривать как в виде диаграмм, так и кода — в соседних видах. Изменение диаграммы автоматически приводит к изменению кода и наоборот. По методу класса можно автоматически построить sequence диаграмму, в которой отобразятся все внутренние и внешние вызовы, создания и уничтожения объектов, условные операторы, циклы. По любой диаграмме классов и последовательности выполнения (sequence) автоматически генерируется исходный код (болванка) на выбранном (C++, Java и др. объектно-ориентированные) языке. Создание документации (в формате javadoc) автоматизировано, при условии, что разработчик добросовестно комментирует код и придерживается некоторых простых правил, принятых в javadoc.
Работает это всё как под виндами, так и под юниксами, потому что написано на java.

Так что M$, как обычно, идёт своей путёй. И дело на в буквах DSL или UML, а в реализации.
Re[23]: UML
От: AndreyFedotov Россия  
Дата: 14.06.05 11:21
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Если вы не способны увидеть приносимую пользу, ещё не означает, что её там нет.

M>Ну, во-первых, я не один такой. А во-вторых, рассуждать с позиции "Вам не понять, вы не любили" не самое удачное доказательство.
Стоит ли передёргивать. Если вы не видите чёрную кошку в тёмной комнате — это ещё не значит, что её там нет. Тем более, что вы не один такой.

AF>>Это утверждение нуждается в доказательствах. Их то я как раз и не видел.

M>Как раз наоборот. Утверждение, что UML может быть полезен нуждается в доказательствах. И пока таковых нет.
Плохо учили математику батенька! Любое утверждение нужно либо доказать, либо опровергнуть. Вы не можете опровергнуть этого утверждения и не можете доказать обратного. Так что пока никто и ничего не доказал. Всего лишь спор пары софистов.

AF>>В предложенных мной областях и упомянутых мной случаях это не является лучшим решением.

M>Хорошо, это решение как минимум не хуже, чем UML,
Это всего лишь ваше частное мнение.
M>соответственно, для того, чтобы UML использовать он должен хоть как-то оправать свое использование, то есть быть хоть чем-то лучше. Пока этого не наблюдается.
Соответственно дальнейшие рассуждения и вывод под вопросом. А вот то, что инвестиции в UML пока растут — факт.

AF>>Вам не кажется, что немного наивно заочно рассуждать о крупных проектах и говорить о том, что там лучше, а что хуже? Тем паче, что у тех, кто имеет возможность судить об этом точка зрения совсем иная.

M>Во-первых, мне именно так и кажется и поэтому мне совершенно не понятны Ваши постоянные кивки на большие проекты, особенно в свете того, что по Вашему же признанию UML Вы не используете, "но вот умные дядьки в больших проектах...".
Напомню, что сами отцы основатели, хоть и говорили о применимости принципов разработки для проектов любого размера, при этом оговаривались, что применение как методологий, так и инструментария (в том числе и UML) — оправдано лишь в достаточно крупных проектах. Потому, во-первых не удивительно, что в нашем случае толку от UML не много, а во-вторых — только и остаётся, что ссылаться на эти проекты, так как я не копрорация IBM и по 30-40 крупных проектов за раз не веду...

M>А во-вторых, у тех кто имеет возможность регулярно сталкиваться с большими проектами частенько оказывается примерно та же точка зрения что я изложил.

А каков размер этих проектов? Их ведёт одна команда или несколко? UML и методология разработки там применялись продуманно и осознано или хаотично и просто потому, что так надо?
Re[5]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 11:22
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Для того, что бы было возможно общение между собой больших групп специалистов — в том числе из смежных областей. Я уже описывал подобную ситуацию здесь
Автор: AndreyFedotov
Дата: 14.06.05
.

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


AF>Но это не основание не видеть пользы от UML вообще

Равно ка ки не основание видеть эту пользу... "Так в чем польза, брат?" (c)
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[24]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 11:36
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Стоит ли передёргивать. Если вы не видите чёрную кошку в тёмной комнате — это ещё не значит, что её там нет.

Я то как раз не передергиваю, я лишь прошу эту черную кошку показать, если уж Вы утверждаете, что она там есть.

AF>Плохо учили математику батенька!

Это не математика, это логика.

AF>Вы не можете опровергнуть этого утверждения и не можете доказать обратного.

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

AF> А вот то, что инвестиции в UML пока растут — факт.

Да не факт, энтузиазм по этому поводу сильно поутих в последнее время.

AF>Напомню, что сами отцы основатели, хоть и говорили о применимости принципов разработки для проектов любого размера, при этом оговаривались, что применение как методологий, так и инструментария (в том числе и UML) — оправдано лишь в достаточно крупных проектах. Потому, во-первых не удивительно, что в нашем случае толку от UML не много, а во-вторых — только и остаётся, что ссылаться на эти проекты, так как я не копрорация IBM и по 30-40 крупных проектов за раз не веду...

Ну и что Вы тогда с ним носитесь, если реальной пользы он Вам не приносит? Верите на слово большим дядькам? Зря, обманут и не поморщатся....

AF>А каков размер этих проектов?

Каков размер проектов Microsoft?
Или вот Mishka, который тоже засветился в этом топике, как то упоминал, что размер его проекта был порядка 50000 классов, если я правильно помню. И ничего, живут без UML-я и радуются...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[6]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 12:15
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Для того, что бы было возможно общение между собой больших групп специалистов — в том числе из смежных областей. Я уже описывал подобную ситуацию здесь
Автор: AndreyFedotov
Дата: 14.06.05
.

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

Ой, это очень по-разному ... и через руководителей и и между собой ... так что варианты имеются.

AF>>Но это не основание не видеть пользы от UML вообще

M>Равно ка ки не основание видеть эту пользу... "Так в чем польза, брат?" (c)

Что есть польза? Видимо для каждого она своя ... Например мы в небольшом проекте из 4-х человек использовали подход на базе RUP ... начиная с vision, требований (юзкейсов) и domain model, выстраивали, почти по Ларману, дизайн системы. Что нам это дало -- мы рассуждали в терминах наших бизнес-классов и в рамках сценариев наших юзкейсов. У нас был один разработчик-надомник -- он получал модели и это избавляло нас от неоднозначности в понимании реализации бизнес-логики и долгих пояснений что да как ... . Кроме этого мы трассировали наши требования (фичи и юзкейсы) с элементами дизайна (на уровне пакетов) -- и коонтролировали тем самым реализацию требований. Тестирование в целях экономии взялся сам заказчик.
Re[15]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 14.06.05 13:32
Оценка: :)
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>> Внедрения UML в нишу SDL-я есть ответ на потребности производства. Народ захотел UML-я, вот софтверные компании и прореагировали.

M>Сдается мне, что ситуация развивалась примерно так: Потребность в программировании посредством неких визуальных инструментов для ряда задач была довольно давно, и каждый удовлетворял ее по своему. Потом появился UML и на волне энтузиазма, когда казалось, что все недостатки UML-я это лишь вопрос инструментария, всем миром начали создавать впечатляющие по функциональности конструкции для работы с UML-ем. И в какой-то момент оказалось, что эти конструкции великолепно справляются с задачами, для которых ранее предназначались собственноручно написанные поделки, что естественно привело к использованию UML-я для этого класса задач.

Ну SDL существует с середины 80-х. Основная проблема его была в алгебраическом подходе к определению типов данных и, как следствие, в навороченном name resolution by context. Этот подход чересчур формальный и неудобный. UML позволяет описывать типы проще. А недостатки UML-я были видны telecom-сообществу сразу, оно просто ждало, пока эти недостатки начнут устранять.

Могу попугать определяением типа Integer в SDL2000:


value type Integer
  literals unordered nameclass (('0':'9')*) ('0':'9'));
  operators
    "-"        ( this Integer                                ) -> this Integer;
    "+"        ( this Integer, this Integer    ) -> this Integer;
    "-"        ( this Integer, this Integer    ) -> this Integer;
    "*"        ( this Integer, this Integer    ) -> this Integer;
    "/"        ( this Integer, this Integer    ) -> this Integer raise DivisionByZero;
    "mod"    ( this Integer, this Integer    ) -> this Integer raise DivisionByZero;
    "rem"    ( this Integer, this Integer    ) -> this Integer;
    "<"        ( this Integer, this Integer    ) -> Boolean;
    ">"        ( this Integer, this Integer    ) -> Boolean;
    "<="    ( this Integer, this Integer    ) -> Boolean;
    ">="    ( this Integer, this Integer    ) -> Boolean;
    power    ( this Integer, this Integer    ) -> this Integer;
    bs in nameclass '''' ( (('0' or '1')*'''B') or ((('0':'9') or ('A':'F'))*'''H') )
                         -> this Integer;
axioms    noequality
    for all a,b,c in Integer (
/* constructors are 0, 1, +, and unary - */
/* equalities between constructor terms */
    (a + b) + c                        == a + (b + c);
    a + b                                        == b + a;
    0 + a                                        == a;
    a + (- a)                            == 0;
    (- a) + (- b)                == - (a + b);
    <<type Integer>> - 0    == 0;
    - (- a)                                == a;
/* */
/* definition of binary "-" by other operations */
    a - b                                        == a + (- b);
/* */
/* definition of "*" by applying it to all constructors */
    0 * a                                        == 0;
    1 * a                                        == a;
    (- a) * b                            == - (a * b);
    (a + b) * c                        == a * c + b * c;
/* */
/* definition of "<" by applying it to all constructors */
    a < b                                                                                == 0 < (b - a);
    <<type Integer>> 0 < 0                                        == false;
    <<type Integer>> 0 < 1                                        == true ;
    0 < a                                == true ==> 0 < (- a)        == false;
    0 < a and 0 < b        == true ==> 0 < (a + b)    == true ;
/* */
/* definition of ">", "equal", "<=", and ">=" by other operations */
    a > b                                        == b < a;
    equal(a, b)                        == not(a < b or a > b);
    a <= b                                    == a < b or a = b;
    a >= b                                    == a > b or a = b;
/* */
/* definition of "/" by other operations */
    a / 0                                                                                            == raise DivisionByZero;
    a >= 0 and b > a                    == true ==> a / b    == 0;
    a >= 0 and b <= a and b > 0    == true ==> a / b    == 1 + (a-b) / b;
    a >= 0 and b < 0                    == true ==> a / b    == - (a / (- b));
    a < 0 and b < 0                            == true ==> a / b    == (- a) / (- b);
    a < 0 and b > 0                            == true ==> a / b    == - ((- a) / b);
/* */
/* definition of "rem" by other operations */
    a rem b == a - b * (a/b);
/* */
/* definition of "mod" by other operations */
    a >= 0 and b > 0                                ==> a mod b    == a rem b;
    b < 0                                                                ==> a mod b    == a mod (- b);
    a < 0 and b > 0 and a rem b = 0    ==> a mod b    == 0;
    a < 0 and b > 0 and a rem b < 0    ==> a mod b    == b + a rem b;
    a mod 0 == raise DivisionByZero;
/* */
/* definition of power by other operations */
    power(a, 0)                            == 1;
    b > 0 ==> power(a, b)    == a * power(a, b-1);
    b < 0 ==> power(a, b)    == power(a, b+1) / a; );
/* */
/* definition of literals */
    <<type Integer>> 2    == 1 + 1;
    <<type Integer>> 3    == 2 + 1;
    <<type Integer>> 4    == 3 + 1;
    <<type Integer>> 5    == 4 + 1;
    <<type Integer>> 6    == 5 + 1;
    <<type Integer>> 7    == 6 + 1;
    <<type Integer>> 8    == 7 + 1;
    <<type Integer>> 9    == 8 + 1;
/* */
/* literals other than 0 to 9 */
    for all a,b,c in Integer nameclass (
    spelling(a) == spelling(b) // spelling(c),
    length(spelling(c)) == 1                                    ==> a == b * (9 + 1) + c;
    );
/* */
/* hex and binary representation of Integer */
    for all b in Bitstring nameclass (
    for all i in bs nameclass (
    spelling(i) == spelling(b)                                ==> i == <<type Bitstring>>num(b);
    ));
endvalue type Integer;



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[17]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 14.06.05 13:51
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, _Obelisk_, Вы писали:


_O_>>Я видел UML модель, над которой работает порядка 200 человек. Делают они, конечно, не одно и тоже, но работают с одной и той же моделью.

M>А польза от этого есть? Может им проще было бы работать не с одной моделью, а с двадцатью, на каждую конкретную подзадачу?

Я же говорил, что для ряда задач UML очень хорошо подходит. Сия модель содержит гигантское число statemachine. Поэтому использование UML здесь оправдано. Насчет деления на мелкие подзадачи — не уверен, что возможно. Я не специалист в той области (разработка всяких девайсов для телекоммуникационных сетей нового поколения), чтобы адекватно оценить возможность разбития на подзадачи.
По косвенным данным могу сделать вывод, что это модель сама по себе уже есть некоторая подзадача другой задачи



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[11]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:06
Оценка:
Здравствуйте, Merle, Вы писали:

M>Таким образом делаем вывод, что UML хорош в качестве buzz word, чтобы красиво разогнуть пальцы перед заказчиком, мол "... наши разработки ведуться по RUP с применением UML... " и подсунуть клиенту красивые диаграмки, чтобы тот покивал с умным видом и ощутил свою причасность. Вот для этого UML и используется.. хм... дефакто.


Вау ... вот уж чего я никогда не делал, так это не показывал заказчику UML ... это ж безумие заставлять заказчика понимать UML ... заказчик он же дай бог чтобы поребности свои рассказал ... а вы его UML пугать вздумали ... если конечно речь идет не о заказчике из софтверной конторы, а вы его аутсорсер типа ...
UML как базворд ... хм ... уже это давно не базворд ...
Re[12]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 14:11
Оценка:
Здравствуйте, byur, Вы писали:

B>Вау ... вот уж чего я никогда не делал, так это не показывал заказчику UML ... это ж безумие заставлять заказчика понимать UML ...


Ну... а сели заказчик настаивает на UML? Если у заказчика есть отдел IT?
... << RSDN@Home 1.1.3 stable >>
Re[19]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:14
Оценка: +1
Здравствуйте, Mystic, Вы писали:


M>Хорошо, уточнюсь. Код системы разрабатывало бы не больше 20-30 человек. А остальных найдем чем занять. Пусть пишут документацию, учебники, разрабатывают примеры использования, тестируют, ... И даже могут по коду составлять UML-диаграммы, нотолько исключительно для заказчика


Ага, при условии что заказчик у тебя софтверная контора ... которой, чтобы не ковыряться в твоих сырцах проще на диаграммку взглянуть ... а если заказчик у тебя бизнес-подразделение банка или просто контора у которой IT только способ оптимизации бизнес-процессов -- то флаг тебе в руки с показыванием UML .
Полный бред, что UML это базворд для надувания счек перед заказчиком ... большинству заказчиков пофигу на UML ты проектируешь или просто код пишешь ...
Re[13]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:16
Оценка: +1
Здравствуйте, Cyberax, Вы писали:

C>Обычно гораздо эффективнее помогают не диаграммы в РациональнойРозе, а

C>простые наброски в виде квадратиков и стрелочек с надписями То есть
C>формальный синтаксис UML скорее мешает, чем помогает — проще
C>использовать нечто UML-подобное.

... и потом долго пояснять напарникам или не дай бог субконтрактерам-кодировщикам что же ты имел ввиду
Re[20]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 14:24
Оценка:
Здравствуйте, byur, Вы писали:

B>Полный бред, что UML это базворд для надувания счек перед заказчиком ... большинству заказчиков пофигу на UML ты проектируешь или просто код пишешь ...


Ну... в одном из проектов UML-диаграммы входили в ТЗ, Посему об этом и пишу IT департамент со стороны заказчика даже вносил в них изменения, мол на самом деле к нас не так, а вто так.
... << RSDN@Home 1.1.3 stable >>
Re[20]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 14.06.05 14:31
Оценка: +3 -1
Снова подключусь к разговору, теперь уже для защиты UML.

Я не считаю UML хорошим решением проблем собственно в качестве средства разработки. Но глупо отрицать его полезность как средства документирования сложных проектов и систем. Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке. Что же говорить о проектах/системах, которые, к примеру, были куплены у другой компании, а теперь с ними начинает работу совершенно новая группа, не имеющая возможности что-то уточнить у своих предшественников. Попробуйте продать сложный продукт, если у вас есть только исходные коды (пусть даже хорошо откомментированные). За это без самих разработчиков никто гроша ломанного не даст. А вот за хорошо задокументированные (в т.ч. и с помощью стандартных UML-средств) проекты в мире иногда платят миллионы и более.

Взгляд на UML с точки зрения разработчика или даже руководителя проекта в целом ряде случаев действительно может оказаться весьма скептическим. Но посмотрите на это, например, с точки зрения финансового директора или собственника компании. А ведь существуют и другие действующие лица ...
Re[9]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:32
Оценка: +1
Здравствуйте, Merle, Вы писали:


M>Я так и не услышал ответа на вопрос, чем может помочь UML построенный по готовой модели.


Поможет, например, управлять сложностью. Лично я предпочту увидеть картинку где будет изобраден некий фреймворк (в виде диагрмм классов).
Интересен момент, что говоря о UML вы как-то циклитесь только на диаграммах классов ... коллаборэйшн, деплоймент диаграммы как-то особо не упоминаются ...
Диаграмма классов показывает только статику ... как мне увиидить динамику взаимодействия объектов???
Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками? Бред ... мне достаточно спроектировать модель анализа (да, да ... на UML) ... где я покажу реализацию юзкейсов, например, ... а в конкретной среде разработки ее будут имплементировать конкретные разработчики, подключая необходимые библиотеки и прочия ...
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 14:32
Оценка:
Здравствуйте, byur, Вы писали:

B>Вау ... вот уж чего я никогда не делал, так это не показывал заказчику UML ...

Ну, это была не моя идея... Я лишь ее творчески развил. А так, действительно, одно из реальных применений UML.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[20]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 14:32
Оценка:
Здравствуйте, byur, Вы писали:


B>Полный бред, что UML это базворд для надувания счек перед заказчиком ...

Это не бред, это жизнь такая... Как раз такое, очень практическое применение UML-я, действительно приносит пользу.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[21]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 14:36
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Снова подключусь к разговору, теперь уже для защиты UML.

А раньше что это было?

AR> Но глупо отрицать его полезность как средства документирования сложных проектов и систем.

Глупо было бы считать что он полезен для документирования сложных проектов и схем.

AR> Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке.

Опытному разработчику достаточно кода, а не опытному тем более.

AR> Но посмотрите на это, например, с точки зрения финансового директора или собственника компании.

А им-то UML во что уперся?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[13]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:38
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Вау ... вот уж чего я никогда не делал, так это не показывал заказчику UML ... это ж безумие заставлять заказчика понимать UML ...


M>Ну... а сели заказчик настаивает на UML? Если у заказчика есть отдел IT?


Вы что систему продаете вместе с исходниками???? Или разрабатываете вместе с представителями заказчика? Скорее всего нет ... но в любом случае желание заказчика нужно уважать ... в конце концов он деньги платит. Для начала стоит понять, а его отдел IT вообще в состянии говорить на UML?
Re[21]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:42
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Полный бред, что UML это базворд для надувания счек перед заказчиком ... большинству заказчиков пофигу на UML ты проектируешь или просто код пишешь ...


M>Ну... в одном из проектов UML-диаграммы входили в ТЗ, Посему об этом и пишу IT департамент со стороны заказчика даже вносил в них изменения, мол на самом деле к нас не так, а вто так.



О каких UML диаграммах шла речь? В пределе, что допустимо запихнуть в ТЗ из UML так это диаграмму юзкейсов -- и то как оглавление, предваряющее собственно спецификации юзкейсов. ТЗ это документ о ТРЕБОВАНИЯХ к ПО ... а вы туда дизайн системы чтоли пихали? Тогда это откровенная безграмотность ... и тогда понятно почему UML в таких случаях не удовлетворяет.
Re[21]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 14:45
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:



B>>Полный бред, что UML это базворд для надувания счек перед заказчиком ...

M>Это не бред, это жизнь такая... Как раз такое, очень практическое применение UML-я, действительно приносит пользу.

Я бы хотел оззнакомиться с этим применением поближе ... можете подробнее ваш case описать?
Re[14]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 14.06.05 14:45
Оценка:
Здравствуйте, byur, Вы писали:

B>Вы что систему продаете вместе с исходниками???? Или разрабатываете вместе с представителями заказчика? Скорее всего нет ...


Любопытно продолжить. А если да ?

B>но в любом случае желание заказчика нужно уважать ... в конце концов он деньги платит. Для начала стоит понять, а его отдел IT вообще в состянии говорить на UML?


Вопрос ведь не в том, что вы думает об отделе IT заказчика. А в том как этот отдел IT думает о себе сам. И если он считает, что в состоянии говорить на UML, то станет работать только с таким исполнителем, который ему в этом мнении потрафит.
Re[14]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 15:07
Оценка:
Здравствуйте, byur, Вы писали:

B>Вы что систему продаете вместе с исходниками????


Да

B> Для начала стоит понять, а его отдел IT вообще в состянии говорить на UML?


В состоянии... Более того, для поддержки системы лучшие наши умы уходили к заказчику
... << RSDN@Home 1.1.3 stable >>
Re[22]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 15:07
Оценка:
Здравствуйте, byur, Вы писали:

B>О каких UML диаграммах шла речь?


Например, договор является разновидностью внутреннего документа. Тут же рисунок --- класс внутреннего документа, от него наследован класс договора, показано какие свойства добавились, из чего состоит, ... и т. д.
... << RSDN@Home 1.1.3 stable >>
Re[15]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 15:15
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, byur, Вы писали:


B>>Вы что систему продаете вместе с исходниками???? Или разрабатываете вместе с представителями заказчика? Скорее всего нет ...


AR>Любопытно продолжить. А если да ?


Вау, все становиться интересней ... не вопрос ... тогда имеет смысл использовать методологический подход к проектированию и разрботке приложения ... например на основе RUP. Правила поведения там даются ... не вопрос -- начинаем с требований, или опять нет? ... У нас сложный случай ... никто не знает что вообще нужно делать ... тогда моделируем бизнес процессы (надеемся что они стабильны на промежутке времени разработки и ввода в эксплуатацию ПО), чтобы понять где место ПО в них ... что нам нужно для этого? Видимо "общий язык" для описания ... и еще чтобы перейти потом к требованиям и желательно иметь связи трассировки требований с БП (тут не придираемся к терминологии, ОК?). Да, заказчик же понимает UML ... ОК, рисуем это в UML. Будем считать что нам повезло и мы можем использовать подход с бизнес-юзкейсами . Описываем их, тут нам здорово помогут UML activity диаграммы с object flows. Считаем, что задачу перехода от моделирования бизнеса к требованиям к системе, выраженную в т.ч. и через UC системного уровня мы решать умеем, пропускаем ... . Итак мы уже имеем системные юзкейсы ... утверждаем их, естетсвенно после утверждения вносим в них изменения ... ну заказчик изменил свою точку зрения ... бывает . Потом делаем модель анализа, ведь же тоже умеем это делать? Можно коротенько ... просто domain model ...
Теперь самое интересно .. по сценариям юзкейсов нужно понимать как нанши классы должны взаимодействовать? Да, collaboration диаграммы нам очень пригодяться -- мы сможем описать динамику поведения для выполнения юзкейса. Это ж имплементация UC realization ... . Ну дальше все прозаично ... не будем описывать. Хотя при желании можно и дальше


B>>но в любом случае желание заказчика нужно уважать ... в конце концов он деньги платит. Для начала стоит понять, а его отдел IT вообще в состянии говорить на UML?


AR>Вопрос ведь не в том, что вы думает об отделе IT заказчика. А в том как этот отдел IT думает о себе сам. И если он считает, что в состоянии говорить на UML, то станет работать только с таким исполнителем, который ему в этом мнении потрафит.


Если его уровень очень невысокий ... я могу им любую халтуру впарить, в виде UML диаграмм ... не показывая КАК я проектирую ... в конце концов реверс инжениринг сделать по готовой системе ... и ходить гордый перед ним, типа смотри мы тут UML нарисовали . А если они петрят ... то мне нужно еще доказать, что я профи и я им ПОЛЕЗЕН. И мы скорее всего сможем эффективно взаимодействовать общаясь на UML, и используя единую методологию и подходы в проектировании и разработке -- но это в нашей стране скорее исключение, чем правило.
Re[23]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 15:17
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>О каких UML диаграммах шла речь?


M>Например, договор является разновидностью внутреннего документа. Тут же рисунок --- класс внутреннего документа, от него наследован класс договора, показано какие свойства добавились, из чего состоит, ... и т. д.


Пардон, но это не ТРЕБОВАНИЕ ... это дизайн. Теперь мне все с вашим случаем понятно.
Re[15]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 14.06.05 15:24
Оценка:
Здравствуйте, Mystic, Вы писали:


M>В состоянии... Более того, для поддержки системы лучшие наши умы уходили к заказчику


Что заказчику не хватало ваших описаний на UML, чтобы поддерживать систему? В этом виноват UML?
Re[24]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 14.06.05 15:30
Оценка:
Здравствуйте, byur, Вы писали:

B>Пардон, но это не ТРЕБОВАНИЕ ... это дизайн. Теперь мне все с вашим случаем понятно.


А что тогда тредование? Разработать систему документооборота, полностью удовлетворяющую заказчика? Тут ясное описание, что понимается под договором.
... << RSDN@Home 1.1.3 stable >>
Re[22]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 15:54
Оценка:
Здравствуйте, byur, Вы писали:

B> можете подробнее ваш case описать?

Он не мой, он классический. Закакзчик знает красивое слово UML он хочет, наблюдать за ходом разработки с помощю UML, совершенно не важно понимает он его или нет. Ни вопрос — в каждый отчет лепим диаграмки, отдаленно напоминающие проект и забываем о них, все довольны и заказчик и исполнитель.
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[21]: UML
От: nixite  
Дата: 14.06.05 17:50
Оценка: +1
AR>Я не считаю UML хорошим решением проблем собственно в качестве средства разработки. Но глупо отрицать его полезность как средства документирования сложных проектов и систем. Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке. Что же говорить о проектах/системах, которые, к примеру, были куплены у другой компании, а теперь с ними

Разработчик который запутается в своих слюнях и бумагах, в равной степени запутается в своём UML, с некоторой погрешностью.

> начинает работу совершенно новая группа, не имеющая возможности что-то уточнить у своих предшественников. Попробуйте продать сложный продукт, если у вас есть только исходные коды (пусть даже хорошо откомментированные). За это без самих разработчиков никто гроша ломанного не даст. А вот за хорошо задокументированные (в т.ч. и с помощью стандартных UML-средств) проекты в мире иногда платят миллионы и более.


попробуйте продать код+uml, ценность вашего проекта возрастёт не более процентов < 10%.

я долго не ввязывался в спор не понимая его сути, ибо всё одно и тоже... может проще подойти системно к этому:
1. Информативность UML крайне низкая, средства работы крайне не удобные, идеология слабо проработаная.
Крупные компании управляются малограмотными в IT людьми, или точнее грамотными на обобщённом уровне, которые мыслят тенденциями, если есть тенденция развития UML, то её могут мягко начать внедрять, но в описаниях типа MSDN вы врядли увидите UML почему?
построить достаточно точный прогноз что если применять или не применять UML сложно, и главное мало кому хочется отвечать за неверно выбранное решение... вплоть до верхнего уровня.
2. Хорошо структурированный и бумажно описанный код, человеческим языком, сопровождённый схемами и рисунками, далеко не в UML формате, гораздо полезнее UML с коментариями, на порядок а то и два полезнее.. Жаль только документацию писать не многие умеют, так чтобы её могли читать другие.
3. Что касается mind и прочих решений на графах -- не то это всё, не то... ущербные реализации и рядом не стоящие с удобством.


AR>Взгляд на UML с точки зрения разработчика или даже руководителя проекта в целом ряде случаев действительно может оказаться весьма скептическим. Но посмотрите на это, например, с точки зрения финансового директора или собственника компании. А ведь существуют и другие действующие лица ...


Смотрю: Затраты на обучение UML, затраты на средства проектирования, затраты на обеспечения избыточных процессов, итп. Время простоя на восприятие UML, время простоя на поиск в UML, время выроботки стандарта понимания UML (написать можно и на UML по разному), время на поиск решений по отображению в ограничениях UML, итд. -- всё это стоит денег, которые можно потратить на что-то более интересное.
Re[10]: UML
От: nixite  
Дата: 14.06.05 17:55
Оценка:
...
B>Диаграмма классов показывает только статику ... как мне увиидить динамику взаимодействия объектов???
B>Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками? Бред ... мне достаточно спроектировать модель анализа (да, да ... на UML) ... где я покажу реализацию юзкейсов, например, ... а в

Я предлагаю вам знать даже больше чем просто особенности всех этих языков, ибо архитектура -- это не только UML.
p.s. что такое модель анализа? вы придумали новое понятие... -- давайте ему тогда определение.
Re[10]: UML
От: Merle Австрия http://rsdn.ru
Дата: 14.06.05 19:43
Оценка:
Здравствуйте, byur, Вы писали:

B>Поможет, например, управлять сложностью.

Зачем ей управлять? Ее надо просто не создавать...

B>Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками?

Конечно, и как минимум не хуже чем разработчики, иначе такого напроектируешь, что никакой UML не спасет...
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[22]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 07:13
Оценка: +1
Здравствуйте, nixite, Вы писали:

AR>>Я не считаю UML хорошим решением проблем собственно в качестве средства разработки. Но глупо отрицать его полезность как средства документирования сложных проектов и систем. Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке. Что же говорить о проектах/системах, которые, к примеру, были куплены у другой компании, а теперь с ними


N>Разработчик который запутается в своих слюнях и бумагах, в равной степени запутается в своём UML, с некоторой погрешностью.


А в чужом?

>> начинает работу совершенно новая группа, не имеющая возможности что-то уточнить у своих предшественников. Попробуйте продать сложный продукт, если у вас есть только исходные коды (пусть даже хорошо откомментированные). За это без самих разработчиков никто гроша ломанного не даст. А вот за хорошо задокументированные (в т.ч. и с помощью стандартных UML-средств) проекты в мире иногда платят миллионы и более.


N>попробуйте продать код+uml, ценность вашего проекта возрастёт не более процентов < 10%.


10% от 10 млн. $ = 1млн. $.

Полагаете мало существует проектов, ценность которых превышает 10М ?

AR>>Взгляд на UML с точки зрения разработчика или даже руководителя проекта в целом ряде случаев действительно может оказаться весьма скептическим. Но посмотрите на это, например, с точки зрения финансового директора или собственника компании. А ведь существуют и другие действующие лица ...


N>Смотрю: Затраты на обучение UML, затраты на средства проектирования, затраты на обеспечения избыточных процессов, итп. Время простоя на восприятие UML, время простоя на поиск в UML, время выроботки стандарта понимания UML (написать можно и на UML по разному), время на поиск решений по отображению в ограничениях UML, итд. -- всё это стоит денег, которые можно потратить на что-то более интересное.


Вам стоит почитать мое мнение относительно сферы применимости UML, высказанное ранее. Я отрицаю применимость UML как средства разработки — поддерживаю его только как помощь при документировании (т.е. это просто стандартный язык отображения уже построенных на чем-то еще моделей). В таком ракурсе из вашего перечня выпадает масса пунктов (ака "время простоя на восприятие UML", "время простоя на поиск в UML" и т.д.). Избыточных процессов я здесь тоже не наблюдаю, если не считать таковыми собственно документирование. Затраты на обучение и средства проектирования тем ниже, чем стандартнее и распространеннее используемое решение. Затраты на обучение проприетарным внутрифирменным методикам представления и документирования архитектуры систем могут оказаться существенно выше.

Вобщем ваш взгляд не соответствует взгяду грамотного финансиста. Это только романтики тратят деньги на "интересное". Профи ищут финансовую выгоду (прибыль или, что на западе не реже, рост капитализации компании). Зачем к примеру фирмы проходят сертификацию на соответствие стандартам по управлению качеством и т.п.? С точки зрения технологии в этом не найдешь никакого смысла (уточняю: не в управлении качеством, а в самой сертификации). Но так уж устроен мир. Внедрение RUP (а стало быть и использование UML) может сыграть свою роль в привлечении хороших заказов, а это деньги ...
Re[11]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 07:25
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Поможет, например, управлять сложностью.

M>Зачем ей управлять? Ее надо просто не создавать...

B>>Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками?

M>Конечно, и как минимум не хуже чем разработчики, иначе такого напроектируешь, что никакой UML не спасет...

Выставляя такие условия (отсутствие сложности и знание архитектором ВСЕХ платформ, на которых будет развертываться система) вы просто сужаете сферу, в которой по вашему вообще возможна разработка информационных систем. Совершенно очевидно, что со временем архитектура и сложность информационных систем растет. И если раньше гении-одиночки могли выдавать на гора несколько действительно достойных программ в год, то сейчас в мире уникумы, которые умудряются в одиночку вести работу хотя бы над одним действительно серьезным продуктом, просто наперечет. Но с другой стороны и действительно удобных инструментов для обеспечения совместной работы больших (да и маленьких) коллективов вобщем-то нет. Но стоит признать, что UML в определенных условиях позволяет решить некоторые проблемы и, путь ценой ряда излишних трудозатрат, помочь в организации совместной работы над одним проектом крупного коллектива.

Впрочем для меня очевидно и другое. UML явно недостаточно для решения этой сложной проблемы. Для облегчения и ускорения разработки нужны другие более гибкие и более интегрированные с исходным кодом подходы. А UML вполне может оставаться в процессе, но уже только в качестве инструмента документирования.
Re[23]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 07:31
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А в чужом?

А в чужом тем более.

AR>Вам стоит почитать мое мнение относительно сферы применимости UML, высказанное ранее.

Не стоит, так как внятного обоснования Вы своему мнения не дали. То есть я в чем-то даже могу понять тех кто пытается использовать UML для разработки, но только для документации это просто лишено какого бы то ни было смысла.

AR>Я отрицаю применимость UML как средства разработки — поддерживаю его только как помощь при документировании (т.е. это просто стандартный язык отображения уже построенных на чем-то еще моделей).

Да бесполезен он в качестве документирования, так как понять его еще сложнее чем код.

AR> В таком ракурсе из вашего перечня выпадает масса пунктов (ака "время простоя на восприятие UML", "время простоя на поиск в UML" и т.д.).

Не выпадает, так как чтобы понять об-UML-енную документацию, надо на это затратить время и затратить время на составление этой документации и все ради чего? Кто потом этоу документацию будет читать?

AR>Избыточных процессов я здесь тоже не наблюдаю, если не считать таковыми собственно документирование. Затраты на обучение и средства проектирования тем ниже, чем стандартнее и распространеннее используемое решение.

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


AR> Зачем к примеру фирмы проходят сертификацию на соответствие стандартам по управлению качеством и т.п.? С точки зрения технологии в этом не найдешь никакого смысла (уточняю: не в управлении качеством, а в самой сертификации). Но так уж устроен мир. Внедрение RUP (а стало быть и использование UML) может сыграть свою роль в привлечении хороших заказов, а это деньги ...

О! Вот об этом я уже давно говорю. Единственная практическая польза от UML это большие пальцы перед заказчиком и чисто формальное соответствие неким стандартам ведения проектов, дабы соответствовать общепринятым формальным же нормам, что в конечном итоге опять-таки служит целью привлечения клиентов и созданию имиджа компании.
То есть к реальной разработке это не имеет никакого отношения.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 07:42
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Выставляя такие условия (отсутствие сложности и знание архитектором ВСЕХ платформ, на которых будет развертываться система) вы просто сужаете сферу, в которой по вашему вообще возможна разработка информационных систем.

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

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

Причем тут гений-одиночка? Я где-то говорил, что архитектор должен самостоятельно написать весь код?
Проблема в том, что даже грамотно спроектировать систему невозможно не зная языка на котором она будет реализована и если уж случилось так, что система должна быть реализована на десятке языков и запроектирована одним архитектором (я в это не верю, но возьмем гепотетическую задачу), то если архитектор этих 10 языков не знает, то может даже и не браться.
Или Вы считаете, что можно совершенно спокойно проектировать не зная особенностей языка реализации?

AR> А UML вполне может оставаться в процессе, но уже только в качестве инструмента документирования.

На протяжении уже десятка постов Вы с достойным другого применения упорством продвигаете одну и ту же мысль, но так и не ответили на простой вопрос: Зачем нужно другое средство документирования (в данном случае UML) отличное от того, которое применялось в процессе разработки в качестве средства общения разработчиков (поскольку по Вашим словам UML дя этого не пригоден)? Какая практическая польза в таком подходе? Зачем тратить время и средства на отдельный язык документации и составление документации отдельно от разработки?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[25]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 07:48
Оценка: +1
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Пардон, но это не ТРЕБОВАНИЕ ... это дизайн. Теперь мне все с вашим случаем понятно.


M>А что тогда тредование? Разработать систему документооборота, полностью удовлетворяющую заказчика? Тут ясное описание, что понимается под договором.


По определению, например данному в RUP Требование это "условие или возможность, которому должна удовлетворять система". IEEE Standartd Glossary of Software Engineering Terminology дает сходное по смыслу определение требований, но только более формальное. Кроме этого, тот же IEEE (IEEE STD 830-1998) дает понимание о документе, в котором должны описваться требования (SRS) и критерии оценки качества требований. Рекомендую к прочтею по этому вопросу книгу К. Вигерса, в этой книге вы сможите найти более развернутое описания, чем я тут привел.
Re[22]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 07:52
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Alexey Rovdo, Вы писали:


AR>> Но глупо отрицать его полезность как средства документирования сложных проектов и систем.

M>Глупо было бы считать что он полезен для документирования сложных проектов и схем.
Глупо было бы считать что он бесполезен для документирования сложных проектов и схем.
Аргументируй — что есть более полезное? Код? Карандаши бумага? (Только помни, что авторы кода тебе уже не доступны)

AR>> Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке.

M>Опытному разработчику достаточно кода, а не опытному тем более.
Угу. Вот посмотрим на тебя, когда тебе вместо книги с простыми и ясными обяснениями предметной области вывалят тону кода. Ты интересно и математику и физику только по исходным кодам учил?

AR>> Но посмотрите на это, например, с точки зрения финансового директора или собственника компании.

M>А им-то UML во что уперся?
Сам UML — не во что. А вот грамотное описание модели, в том числе и с использованием UML — очень даже. Но опять-таки оно нужно не им лично, а тем спецам, которых они наймут.
Re[24]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 08:09
Оценка: 1 (1)
Здравствуйте, Merle, Вы писали:

AR>>А в чужом?

M>А в чужом тем более.

И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?
Тогда ты не только телепат, но ещё и медиум в придачу...
Re[22]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 08:17
Оценка: 4 (1) +1
Здравствуйте, nixite, Вы писали:


N>попробуйте продать код+uml, ценность вашего проекта возрастёт не более процентов < 10%.


Не стоит продавать UML ... если ваша цель -- продать разработанную систему.

N>я долго не ввязывался в спор не понимая его сути, ибо всё одно и тоже... может проще подойти системно к этому:


Ой не надо вот про системный подход ... и т.п. ...

N>1. Информативность UML крайне низкая, средства работы крайне не удобные, идеология слабо проработаная.


Сильно зависит от вашего уровня знания UML и степени владения средством . Крое этого зависит от того, КАК вы подходите к проектированию систем. Я ужу тут говорил про методологические аспекты, которые почему-то многими дискутирующими упускаются из виду ...


N>Крупные компании управляются малограмотными в IT людьми, или точнее грамотными на обобщённом уровне, которые мыслят тенденциями, если есть тенденция развития UML, то её могут мягко начать внедрять, но в описаниях типа MSDN вы врядли увидите UML почему?


Если UML маркетинговая политика IBM и Ко... (хотя это не совсем верное утверждение), то отсутствие UML в MSDN вполне может быть маркетинговой политикой MS , такую мысль допускаем? А может UML не место в MSDN?

N>2. Хорошо структурированный и бумажно описанный код, человеческим языком, сопровождённый схемами и рисунками, далеко не в UML формате, гораздо полезнее UML с коментариями, на порядок а то и два полезнее.. Жаль только документацию писать не многие умеют, так чтобы её могли читать другие.


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

N>Смотрю: Затраты на обучение UML, затраты на средства проектирования, затраты на обеспечения избыточных процессов, итп. Время простоя на восприятие UML, время простоя на поиск в UML, время выроботки стандарта понимания UML (написать можно и на UML по разному), время на поиск решений по отображению в ограничениях UML, итд. -- всё это стоит денег, которые можно потратить на что-то более интересное.


Как говорит один наш босс ... "вы же инженеры, с высшим образованием ... сами читайте книги, еще деньги на курсы тратить ..." . С ним сложно поспорить, хотя нужно. Коль скоро вы завели речь о внедрении например дисциплины Анализ и проектирование (ессесно на UML) в компании, то должны понимать, что нужно делать пилотные проекты, в которых конечно же будет идти разработка не быстро ... это процесс, со своим "переходным периодом". Это очевидно.
Re[13]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 08:22
Оценка:
Здравствуйте, Merle, Вы писали:

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

M>Причем тут гений-одиночка? Я где-то говорил, что архитектор должен самостоятельно написать весь код?
Но нигде не обяснили, как он может обяснить что нужно писать значительному числу людей — особенно тем, кому потом придётся стыковаться к его коду...

M>Проблема в том, что даже грамотно спроектировать систему невозможно не зная языка на котором она будет реализована и если уж случилось так, что система должна быть реализована на десятке языков и запроектирована одним архитектором (я в это не верю, но возьмем гепотетическую задачу), то если архитектор этих 10 языков не знает, то может даже и не браться.

M>Или Вы считаете, что можно совершенно спокойно проектировать не зная особенностей языка реализации?
Отцам основателям это удавалось. Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...

AR>> А UML вполне может оставаться в процессе, но уже только в качестве инструмента документирования.

M>На протяжении уже десятка постов Вы с достойным другого применения упорством продвигаете одну и ту же мысль, но так и не ответили на простой вопрос: Зачем нужно другое средство документирования (в данном случае UML) отличное от того, которое применялось в процессе разработки в качестве средства общения разработчиков (поскольку по Вашим словам UML дя этого не пригоден)? Какая практическая польза в таком подходе? Зачем тратить время и средства на отдельный язык документации и составление документации отдельно от разработки?
Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан. Когда вы обясняете что то в живую вы как правило неявным образом договариваетесь о системе обозначений. Потому вас понимают и вы понимаете. Если что-то не понятно — вы можете об этом спросить отдельно. А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого
Re[11]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 08:24
Оценка: +1
Здравствуйте, nixite, Вы писали:

N>...

B>>Диаграмма классов показывает только статику ... как мне увиидить динамику взаимодействия объектов???
B>>Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками? Бред ... мне достаточно спроектировать модель анализа (да, да ... на UML) ... где я покажу реализацию юзкейсов, например, ... а в

N>Я предлагаю вам знать даже больше чем просто особенности всех этих языков, ибо архитектура -- это не только UML.


... о какой, простите, архитектуре вы ведете речь ... бизнес, системной, программной??? Всем этим терминам я могу дать формальное определение (точнее они уже дны до меня). А вы? И кстати, каково на ваш взгляд отличие архитектуры программной от дизайна системы?

N>p.s. что такое модель анализа? вы придумали новое понятие... -- давайте ему тогда определение.


Увы, я стараюсь ничего не придумывать, а использовать готовое ... , так проще ... все придумано до нас . Analysis model -- это один из артефактов RUP ... , там же можно найти определение .
Re[11]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 08:27
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Поможет, например, управлять сложностью.

M>Зачем ей управлять? Ее надо просто не создавать...

Увы, все простые системы уже созданы .. нам остались только сложные и запутанные .


B>>Кроме этого, пример из практики ... у нас например разработка ведеться на разных языках: Visual Basic, С++, Delphi, Java ... вы, что мне как проектировщику или архитектору предлагаете при проектировании систем автоматизации бизнеса знать все особенности этих языков ... чтобы общаться с разработчиками?

M>Конечно, и как минимум не хуже чем разработчики, иначе такого напроектируешь, что никакой UML не спасет...

Да, видимо вы мало знакомы с промышленными методологиями программной инженерии ... рекоммендую восполнить пробелы в ваших знаниях, а потом дискутировать ...
Re[23]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 08:34
Оценка: 1 (1) +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>> можете подробнее ваш case описать?

M>Он не мой, он классический. Закакзчик знает красивое слово UML он хочет, наблюдать за ходом разработки с помощю UML, совершенно не важно понимает он его или нет. Ни вопрос — в каждый отчет лепим диаграмки, отдаленно напоминающие проект и забываем о них, все довольны и заказчик и исполнитель.

Позволю себе не согласиться на счет классики . Классика, это когда заказчик вообще не знает UML , и в классике он ему и не нужен ... ему нужен работающий продукт. А на счет приведенного случая -- если это так происходит ... скорее всего означает, что компания-разработчик имеет слабую квалификацию в области UML как такового, так и в зрелости процессов разработки (только не нужно связвать зрелость процессов с UML, это не верно). Несомненно это не является препятсвием для успешности бизнеса такой компании. Вот только не корректно из этого конкретно примера/нескольких примеров делать всеобъемлющие выводы.
Re[13]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 09:02
Оценка: 4 (1) +1
Здравствуйте, Merle, Вы писали:

M>Проблема в том, что даже грамотно спроектировать систему невозможно не зная языка на котором она будет реализована и если уж случилось так, что система должна быть реализована на десятке языков и запроектирована одним архитектором (я в это не верю, но возьмем гепотетическую задачу), то если архитектор этих 10 языков не знает, то может даже и не браться.

M>Или Вы считаете, что можно совершенно спокойно проектировать не зная особенностей языка реализации?

Можно с некоторыми оговорками, а нужно безо всяких оговорок. Не должны архитекторы думать об особенностях языка реализации. Да и в действительно крупных проектах это на этапе первичного проектирования и не известно вовсе. Скажем разрабатываем мы систему управления межпланетным исследовательским космическим зондом (самолетом, атомным реактором, коллайдером, лечебно-диагностическим комплексом и т.п.). Зонда этого еще и в чертежах то и нет. Его узлы тоже только начинают проектировать и только задумываются об элементной базе. Будем ждать пока он не появится в железе (или хотя бы пока не закончится разработка схемотехники)? А если на завершающих этапах проекта решат поменять поставщика процессоров (мали по какой причине — качество скажем хромает)? Будем срочно обучать архитекторов всем особенностям его реализации? Я уже не говорю о том, что речь может идти действительно о десятке разных аппаратных решений (видов всяких микроконтроллеров существует море), использующихся в рамках одного сложного аппарата, оснащенного сложной комплексной информационной системой, о разработке которой и идет речь. Конечно, какое-то понимание об архитектуре всего того железа, на котором будет крутиться его система, архитектор должен иметь. Но доскональное знание ВСЕХ языков, на которых будет написан исходный код, является лишним. И лишним это является не потому, что это не полезно для конкретного архитектора или проекта, а потому, что архитекторы с такими знаниями дорого стоят и найти их не просто.

AR>> А UML вполне может оставаться в процессе, но уже только в качестве инструмента документирования.

M>На протяжении уже десятка постов Вы с достойным другого применения упорством продвигаете одну и ту же мысль, но так и не ответили на простой вопрос: Зачем нужно другое средство документирования (в данном случае UML) отличное от того, которое применялось в процессе разработки в качестве средства общения разработчиков (поскольку по Вашим словам UML дя этого не пригоден)? Какая практическая польза в таком подходе? Зачем тратить время и средства на отдельный язык документации и составление документации отдельно от разработки?

А что применялось в качестве средства общения разработчиков в процессе разработки? Что? На сегодня вариантов не так уж и много: исходный код, слюни и бумага, UML, проприетарные средства (возможны какие-либо комбинации из этого перечня). Документация — это средство описания проекта, пригодное для использования ВНЕШНИМИ участниками. Если таковые не предвидятся изначально, то и скорее всего документация не нужна. Устроят ли ВНЕШНИХ участников слюни и бумага или проприетарные средства? На мой взгляд, нет! Что в остатке? UML и исходный код. Именно какая-то их комбинация (+ текстовые комментарии) и позволяет создать документацию для тех, кто не участвовал в проекте.

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

Что же с UML? Сегодня удобно использовать именно UML для представления в проектной документации той информации, которую нельзя или не наглядно представлять в исходном коде. Я не вижу причин, по которым это удобство завтра может исчезнуть. Поэтому UML (или какая-то его реинкарнация) как средство визуализации непременно выживет. Но мне кажется не верной идея интеграции в UML и самого исходного кода, поскольку она приводит к сужению возможностей разработчиков.
Re[26]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 09:03
Оценка:
Здравствуйте, byur, Вы писали:

B>Здравствуйте, Mystic, Вы писали:


M>>Например, договор является разновидностью внутреннего документа. Тут же рисунок --- класс внутреннего документа, от него наследован класс договора, показано какие свойства добавились, из чего состоит, ... и т. д.


B>По определению, например данному в RUP Требование это "условие или возможность, которому должна удовлетворять система".


Так вот, эта диаграмма со всей определенностью, со всей принципиальностью показывает, что на системы накладываются следующие условия:
а) договор обладает всеми теми атрибутами, которыми обладает внутренний документ,
б) договор имеет атрибуты "Контрагент", и др.,
в) все операции, применимые ко внутреннему документу, применимы и к договору,
...

Естественно, что а архитектуре системы совсем необязательно должен присутствовать классы "договор", "внутренний документ", атрибуты не обязательно свойства классов, ...
... << RSDN@Home 1.1.3 stable >>
Re[23]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 09:18
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Merle, Вы писали:


M>>Здравствуйте, Alexey Rovdo, Вы писали:


AR>>> Но глупо отрицать его полезность как средства документирования сложных проектов и систем.

M>>Глупо было бы считать что он полезен для документирования сложных проектов и схем.
AF>Глупо было бы считать что он бесполезен для документирования сложных проектов и схем.
AF> Аргументируй — что есть более полезное? Код? Карандаши бумага? (Только помни, что авторы кода тебе уже не доступны)

Возбмем аналогичную ситуацию. Я выбираю некоторую библиотеку для дальнейшего использования в проекте. Будем считать, что моя скромность не позволит мне напрямую обращаться к ее разработчикам. Ситуация аналогична тому, что эту библиотеку разрабатывали сотрудники нашей фирмы, но все попали под грузовики. По каким критериям я буду выбирать библиотеку (что бы я хотел видеть)?

1. Тестовое описание принципов системы
2. Помощь по системе (в формате свойство, описание)
3. Примеры использования
4. Исходный текст
5. Всякие документы вроде How to... FAQ...

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



AR>>> Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке.

M>>Опытному разработчику достаточно кода, а не опытному тем более.
AF> Угу. Вот посмотрим на тебя, когда тебе вместо книги с простыми и ясными обяснениями предметной области вывалят тону кода. Ты интересно и математику и физику только по исходным кодам учил?

Символический язык, используемый в математике и физике, гораздо ближе к языкам программирования, нежели к UML. А вот картинки... но в серьезных книгах их не так уж и много...
... << RSDN@Home 1.1.3 stable >>
Re[24]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 09:25
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Здравствуйте, Merle, Вы писали:


M>>>Здравствуйте, Alexey Rovdo, Вы писали:


AR>>>> Но глупо отрицать его полезность как средства документирования сложных проектов и систем.

M>>>Глупо было бы считать что он полезен для документирования сложных проектов и схем.
AF>>Глупо было бы считать что он бесполезен для документирования сложных проектов и схем.
AF>> Аргументируй — что есть более полезное? Код? Карандаши бумага? (Только помни, что авторы кода тебе уже не доступны)

M>Возбмем аналогичную ситуацию. Я выбираю некоторую библиотеку для дальнейшего использования в проекте. Будем считать, что моя скромность не позволит мне напрямую обращаться к ее разработчикам. Ситуация аналогична тому, что эту библиотеку разрабатывали сотрудники нашей фирмы, но все попали под грузовики. По каким критериям я буду выбирать библиотеку (что бы я хотел видеть)?


M>1. Тестовое описание принципов системы

M>2. Помощь по системе (в формате свойство, описание)
M>3. Примеры использования
M>4. Исходный текст
M>5. Всякие документы вроде How to... FAQ...

M>При этом в случае долговременного использования библиотеки ценность исходного текста повышается. UML-диаграммы? Не знаю, не вдохновляет...


Никто и не говорит, что ты должен пользоваться UML диаграммами. Более того, всё зависит от библиотеки. Если это библиотека обёрток над простыми типами — от UML тут толку ноль. А если это API к сложной телекоммуникационной системе? Ты уверен, что тебе проше будет вычитывать описания каждой из 250 функций, для того, что бы выяснить, что запрос определённых данных делается с помощью десятка из них, причём в определённой последовательности? Или всё-таки проще посмотреть на диаграмму последовательностей, что бы всё это увидеть на одном экране за 5-10 секунд?

AR>>>> Даже опытный разработчик, непосредственно участвовавший в проекте, возращаясь к своим "бумажкам и слюням" через пол года — год уже может запутаться в этом зоопарке.

M>>>Опытному разработчику достаточно кода, а не опытному тем более.
AF>> Угу. Вот посмотрим на тебя, когда тебе вместо книги с простыми и ясными обяснениями предметной области вывалят тону кода. Ты интересно и математику и физику только по исходным кодам учил?

M>Символический язык, используемый в математике и физике, гораздо ближе к языкам программирования, нежели к UML. А вот картинки... но в серьезных книгах их не так уж и много...

Но ты же книги берёшь, а не исходный код! Ты же в книге читаешь тескст с формулами, а не просто голые формулы! А если речь идёт о пространственных интегралах или графиках смотришь на картинки и разбираешься — что там нарисовано.
Re[27]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 09:29
Оценка:
Здравствуйте, Mystic, Вы писали:


M>Так вот, эта диаграмма со всей определенностью, со всей принципиальностью показывает, что на системы накладываются следующие условия:

M>а) договор обладает всеми теми атрибутами, которыми обладает внутренний документ,
M>б) договор имеет атрибуты "Контрагент", и др.,
M>в) все операции, применимые ко внутреннему документу, применимы и к договору,

Если вы действительно хотите понять что есть требования и в чем отличие требований от дизайна рекомендую таки почитать книгу К. Вигерса. Еще раз отмечу, что ваше описание -- это дизайн а не требования. Это вам любой специалист по требованиям скажет.
Re[13]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 09:38
Оценка:
Здравствуйте, Merle, Вы писали:


M>Проблема в том, что даже грамотно спроектировать систему невозможно не зная языка на котором она будет реализована и если уж случилось так, что система должна быть реализована на десятке языков и запроектирована одним архитектором (я в это не верю, но возьмем гепотетическую задачу), то если архитектор этих 10 языков не знает, то может даже и не браться.


Это смотря что вы понимаете под проектированием. В RUP, например, есть понятие модели анализа, модели дизайна и модели имплементации. Модель анализа независима от платформы/языка разработки ... модель дизайна совершенно спокойно модет быть сделана тоже независимой (это лишь вопрос квалификации проектировщика). А вот модель имплементации -- это уже с которой можно генерить исходный код на конкретном языке. Отсюда вывод -- можно, пользуясь вашим термином, ГРАМОТНО спроектировать систему, не зная досконально конкретные языки программирования, как минимум на уровне моделей анализа и дизайна. А имплементацию норамальный разработчик уже на конкретном языке сам напишет , оптимизируя вызовы и прочия ....
Re[12]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка:
Здравствуйте, byur, Вы писали:

B> рекоммендую восполнить пробелы в ваших знаниях, а потом дискутировать ...

Рекомендую не рекомендовать...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Но нигде не обяснили, как он может обяснить что нужно писать значительному числу людей — особенно тем, кому потом придётся стыковаться к его коду...

Во-первых объяснил, а во-вторых объяснил, что не надо ничего делать большему количеству людей — нет такой проблемы.

AF>Отцам основателям это удавалось.

Как совершенно верно заметил Mishka, у отцов-основателей проекты были существенно меньше чем сейчас.

AF>Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан.

Он уже есть, и описан, называется исходный код с комментариями, причем описан однозначно.

AF> А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого

UML от этой проблемы не избавляет, он слишком не однозначен.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR> Не должны архитекторы думать об особенностях языка реализации.

Все понятно.

AR> Но доскональное знание ВСЕХ языков, на которых будет написан исходный код, является лишним.

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

AR>А что применялось в качестве средства общения разработчиков в процессе разработки? Что?

Карандаш, бумага, исходный код, комментарии.

AR> Документация — это средство описания проекта, пригодное для использования ВНЕШНИМИ участниками.

ВНЕШНИМ участникам не составит никакого труда все объяснить так же как и внутренним, если они именно работать дальше с проектом собираются.Какой смысл UML городить? Для реальной работы UML бесполезен, так как имеет мало общего с реальным проектом и в любом случае нуждается в дополнительном описании. Для галочки и отчета, да UML пойдет.

AR> Именно какая-то их комбинация (+ текстовые комментарии) и позволяет создать документацию для тех, кто не участвовал в проекте.

Все верно, только UML выкинуть, по причине ненужности для реальной работы.

AR> Исходный код может выступать средством документирования проекта лишь в одном случае — если в него можно будет поместить всю информацию о проекте. Сегодня это, увы, не так.

Ну здрасьте, исходный код полностью самодостаточен.

AR>Сегодня удобно использовать именно UML для представления в проектной документации той информации, которую нельзя или не наглядно представлять в исходном коде.

Да неудобен UML в этом качестве, голые исходники зачастую удобнее.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[24]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка:
Здравствуйте, byur, Вы писали:

B>Позволю себе не согласиться на счет классики .

Напрасно.

B>Классика, это когда заказчик вообще не знает UML , и в классике он ему и не нужен ... ему нужен работающий продукт.

Это не классика — это идеал, а идеала не существует.

B> А на счет приведенного случая -- если это так происходит ... скорее всего означает, что компания-разработчик имеет слабую квалификацию в области UML как такового, так и в зрелости процессов разработки

Очень далеко идущие выводы из неверных предпосылок.

B> (только не нужно связвать зрелость процессов с UML, это не верно).

Но Вы же только что это сделали.

B> Вот только не корректно из этого конкретно примера/нескольких примеров делать всеобъемлющие выводы.

Ой, золотые слова. Вот когда в следующий раз будете приводить пример успешного проекта с использованием, UML вспомните их пожалуйста.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[23]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка: -1
Здравствуйте, AndreyFedotov, Вы писали:


AF> Аргументируй — что есть более полезное?

Код более полезен, UML не имеет ничего общего с кодом, особенно если разработчик недоступен. В такой ситуации он не просто бесполезен — он вреден.

AF> Ты интересно и математику и физику только по исходным кодам учил?

Я уже говорил об излишнем увлечении ложными аналогиями?

AF> Но опять-таки оно нужно не им лично, а тем спецам, которых они наймут.

Спецам он тем более не нужен, как тут уто-то совсем не давно очень убедительно доказал..
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[25]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 09:43
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?

Если код написан так, что его понять невозможно, то и UML не спасет.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[24]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 09:45
Оценка:
Здравствуйте, Merle, Вы писали:


M>Спецам он тем более не нужен, как тут уто-то совсем не давно очень убедительно доказал..


Спецы они ж люди таки ... а люди разные бывают ... кому-то нужны, а кому-то нет .
Re[25]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 09:46
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Merle, Вы писали:


AR>>>А в чужом?

M>>А в чужом тем более.

AF>И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?

AF>Тогда ты не только телепат, но ещё и медиум в придачу...

Нет ничего невозможного Достигается упражнениями Вообще-то мир, в котором приходится вести разработку, неидеален. Большую часть времени приходится не разрабатывать новый функционал, а исправлять ошибки. А ошибки большей частью завязаны на технические особенности, не отраженные в UML. Так что от исходников в любом случае никуда.
... << RSDN@Home 1.1.3 stable >>
Re[26]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 09:48
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?

M>Если код написан так, что его понять невозможно, то и UML не спасет.

Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ... а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.
Но верно то, что для кода в стиле "спагетти" бесполезно восстанавливать дизайн/архитектуру хоть в UML хоть в чем угодно ... ее там просто нет ... Я уже это не раз тут говорил.
Re[25]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 09:54
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Никто и не говорит, что ты должен пользоваться UML диаграммами. Более того, всё зависит от библиотеки. Если это библиотека обёрток над простыми типами — от UML тут толку ноль. А если это API к сложной телекоммуникационной системе? Ты уверен, что тебе проше будет вычитывать описания каждой из 250 функций, для того, что бы выяснить, что запрос определённых данных делается с помощью десятка из них, причём в определённой последовательности? Или всё-таки проще посмотреть на диаграмму последовательностей, что бы всё это увидеть на одном экране за 5-10 секунд?


В API больше функций. Тут рулят exapmles. И русский (английский) язык. А вообще 250 функций это мало И как я разбирался с подобными вещами без UML??? Просматриваешь названия функций, отбрасываешь 95% тех, что уже не подходят, бегло читаешь то, что тебе надо...



M>>Символический язык, используемый в математике и физике, гораздо ближе к языкам программирования, нежели к UML. А вот картинки... но в серьезных книгах их не так уж и много...

AF> Но ты же книги берёшь, а не исходный код! Ты же в книге читаешь тескст с формулами, а не просто голые формулы! А если речь идёт о пространственных интегралах или графиках смотришь на картинки и разбираешься — что там нарисовано.

А что есть исходный код в математике? Формулы. Я с друдом представляю книгу поматематике без формул... А картинки... они только в самом начале нужны, потом ты оперируешь формализмами. Если полистать Ландау и Ливщица, Общую алгебру (под ред. Скорнякова), Введение в теорию супрструн (Каку), того же Д. Кнута, то формулы там преобладают над рисунками, которые в большинстве случаем просто разбавляют текст.
... << RSDN@Home 1.1.3 stable >>
Re[15]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 10:05
Оценка:
Здравствуйте, Merle, Вы писали:

M>ВНЕШНИМ участникам не составит никакого труда все объяснить так же как и внутренним, если они именно работать дальше с проектом собираются.


Кто будет объяснять, если все "попали под грузовик" (были перекуплены конкурентами, уволены, ушли сами ... )?

M>Ну здрасьте, исходный код полностью самодостаточен.


Это позиция. Тут сложно спорить. Я только поясню свою точку зрения. С одной стороны, исходный код вроде и содержит всю информацию об архитектуре системы. Но довольно часто она представлена в трудной для быстрого восприятия форме. Вы же предлагаете отказаться от графических средств описания архитектуры системы (диаграммы) в пользу исключительно текстовых (комментарии в коде). Здравый смысл говорит за то, что вы искуственно сужаете свои возможности в доходчивой форме представить информацию (ИМХО).

AR>>Сегодня удобно использовать именно UML для представления в проектной документации той информации, которую нельзя или не наглядно представлять в исходном коде.

M>Да неудобен UML в этом качестве, голые исходники зачастую удобнее.

А как же моя фраза "которую нельзя или не наглядно представлять в исходном коде". Вы полагаете, что такой информации быть не может или она недостойна того, чтобы попасть в документацию?
Re[27]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 10:07
Оценка:
Здравствуйте, byur, Вы писали:

B>Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ... а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.


Не приведи Господь работать под таким архитектором, который не рассуждает на уровне кода... Оно то может и красиво, если если не ложится на существующие технические решения, библиотеки, API, то пиши пропало.
... << RSDN@Home 1.1.3 stable >>
Re[25]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:09
Оценка: +1
Здравствуйте, Merle, Вы писали:


B>>Классика, это когда заказчик вообще не знает UML , и в классике он ему и не нужен ... ему нужен работающий продукт.

M>Это не классика — это идеал, а идеала не существует.

Может поспорим? Есть ложь а есть статистика ... нука скажите из вашего личного опыта сколько заказчиков, при разработке для них систем автоматизации бизнеса (i.e. не софтверные конторы), требовали от вас UML? Мой опыт ... из 11 заказчиков -- НИ ОДИН! А это 2 банка, транспортная контора, почтовая служба, медучереждения, религиозные организации, Мосэнерго и др. региональные АО Энерго, Росэнергоатом, ...
Дернул своего товарища по аське -- тоже нет ... а там... 7-й континент, Ашан, аптечная большая сеть.
Во, вспомнил, один мой знакомый на американов работает -- используют и отправляют им UML! более того даже юзкейсы пишут (правда не совсем правильно, но это детали)!... стоп, они аутсорсеры, на софтверную контору работают ...

А какие данные у вас? Просто сопставим данные .

Контор в России, которые могут потребовать UML (повторюсь, не софтверных!) я насчитал максимум 10, и сможет оценить его качество .

B>> А на счет приведенного случая -- если это так происходит ... скорее всего означает, что компания-разработчик имеет слабую квалификацию в области UML как такового, так и в зрелости процессов разработки

M>Очень далеко идущие выводы из неверных предпосылок.

ОК, сколько в этой компании сертифицированных спецов именно по UML, и чьи сертификаты? Есть специалисты, скажем по RUP, тоже сертифицированные? У кого в нашей стране учились? Я знаю практически всех сертифицированных по RUP спецов в России ... инетерсно кто ж у вас работает ?

B>> (только не нужно связвать зрелость процессов с UML, это не верно).

M>Но Вы же только что это сделали.

С каких это пор в русском языке связка "как ..., так и .." эквивалентна логическому "И"???

B>> Вот только не корректно из этого конкретно примера/нескольких примеров делать всеобъемлющие выводы.

M>Ой, золотые слова. Вот когда в следующий раз будете приводить пример успешного проекта с использованием, UML вспомните их пожалуйста.

А я ни кого не убеждаю использовать UML ... я просто опрвергаю утверждение, что он бесполезен и непрактичен .
Re[26]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 10:15
Оценка: +1
Здравствуйте, Mystic, Вы писали:

M>А что есть исходный код в математике? Формулы. Я с друдом представляю книгу поматематике без формул... А картинки... они только в самом начале нужны, потом ты оперируешь формализмами. Если полистать Ландау и Ливщица, Общую алгебру (под ред. Скорнякова), Введение в теорию супрструн (Каку), того же Д. Кнута, то формулы там преобладают над рисунками, которые в большинстве случаем просто разбавляют текст.


Разные разделы математики по-разному воспринимаются без картинок. Например дифгеометрию довольно трудно понять без этого. А теория супструн, основанная, кстати, во многом именно на дифгеометрии, — книга отнюдь не понятная. Возможно именно из-за того, что авторы местами пренебрегают графическим средствами иллюстрации своих мыслей. Тому, кстати, есть довольно банальные причины, в корне которых лежит нестандартность этих картинок. Рисование нестандартных (а в теории супструн и дифгеометрии таких стандартов нет) картинок и графических элементов отнимает уйму времени и требует достаточно высокой квалификации от верстальщика (и издатели обычно перекладывают эту работу на самих авторов, а авторы, где могут, избегают это делать).
Re[28]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:20
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ... а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.


M>Не приведи Господь работать под таким архитектором, который не рассуждает на уровне кода... Оно то может и красиво, если если не ложится на существующие технические решения, библиотеки, API, то пиши пропало.


Выдержка из вашего сайта о вас же ...

"Образование — среднее
...
Увлечение №1 — программирование.
В число моих знаний в области программирования я отношу Delphi (это мой любимый язык), C++, Assembler "

...
"Понятно (увлечение №1), что я пишу программы, но ничего путного я за свою жизнь так и не написал. Так, курсовые, дипломные ..."

Конечно программируя в Дельфи вы врядли используете UML ... ... воистину воинствующее незнание! И при этом вы пытаетесь рассуждать об архитектуре???? И аппелируете к своему опыту ... ! И небось еще за Ющенка голосовали (это шутка ...).
Re[26]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:21
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Никто и не говорит, что ты должен пользоваться UML диаграммами. Более того, всё зависит от библиотеки. Если это библиотека обёрток над простыми типами — от UML тут толку ноль. А если это API к сложной телекоммуникационной системе? Ты уверен, что тебе проше будет вычитывать описания каждой из 250 функций, для того, что бы выяснить, что запрос определённых данных делается с помощью десятка из них, причём в определённой последовательности? Или всё-таки проще посмотреть на диаграмму последовательностей, что бы всё это увидеть на одном экране за 5-10 секунд?


M>В API больше функций. Тут рулят exapmles. И русский (английский) язык. А вообще 250 функций это мало И как я разбирался с подобными вещами без UML??? Просматриваешь названия функций, отбрасываешь 95% тех, что уже не подходят, бегло читаешь то, что тебе надо...

И это быстрее, чем посмотреть на одну диаграмму?

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

M>>>Символический язык, используемый в математике и физике, гораздо ближе к языкам программирования, нежели к UML. А вот картинки... но в серьезных книгах их не так уж и много...

AF>> Но ты же книги берёшь, а не исходный код! Ты же в книге читаешь тескст с формулами, а не просто голые формулы! А если речь идёт о пространственных интегралах или графиках смотришь на картинки и разбираешься — что там нарисовано.

M>А что есть исходный код в математике? Формулы. Я с друдом представляю книгу поматематике без формул... А картинки... они только в самом начале нужны, потом ты оперируешь формализмами. Если полистать Ландау и Ливщица, Общую алгебру (под ред. Скорнякова), Введение в теорию супрструн (Каку), того же Д. Кнута, то формулы там преобладают над рисунками, которые в большинстве случаем просто разбавляют текст.


Это так, но смысл то не в этом. Что бы понять математическую модель, ты пользуешься её описанием, а не только самой моделью. Если описание хорошее — сама модель (конкретные выкладки, то есть реализация) — может вообще не понадобиться. А вот без описания понять, что имелось в виду — часто вообще не возможно. Свёртка например используется как в обработке сигналов, так и в экономике. Но по уравнению — для чего оно — не понять.
Re[13]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:23
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>> рекоммендую восполнить пробелы в ваших знаниях, а потом дискутировать ...

M>Рекомендую не рекомендовать...

На вашем же сайте про вас вы сами все и написали ... так что на правах более опытного товарища таки рекоммендую ... За сим с вами прекращаю дискуссию и другим советую тоже.
Re[27]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:25
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

Андрей, посмотри что этот господин про себя пишет на своем же сайте сайте ... не стоит с ним спорить (см. http://mystic2000.newmail.ru/)
Re[24]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:31
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:



AF>> Аргументируй — что есть более полезное?

M>Код более полезен, UML не имеет ничего общего с кодом, особенно если разработчик недоступен. В такой ситуации он не просто бесполезен — он вреден.
Если речь идёт о правке ошибок в данном конкретном коде — то это так. А вот если речь идёт о реализации исходной идеи — самой модели — то вреден как раз код.

AF>> Ты интересно и математику и физику только по исходным кодам учил?

M>Я уже говорил об излишнем увлечении ложными аналогиями?
И кто определяет ложность аналогий?

AF>> Но опять-таки оно нужно не им лично, а тем спецам, которых они наймут.

M>Спецам он тем более не нужен, как тут уто-то совсем не давно очень убедительно доказал..
Хорошо. Как спец по микроэлектронике — могу легко подсунуть тебе схемку на пару десятков процов и FLEX кристаллов. Разбирайся как с ней работать по этой самой схемке
Не поможет — предложим VHDL модель. Это кстати иходный код. То-то смешно будет...
Может в этой ситуации твоя уверенность что код всё немного поубавится...
Ну а если ты джедай, который всё это знает — то не совсем понятно — ты от всех остальных стало быть требуешь вступления в джедайский орден?
Re[14]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:31
Оценка:
Здравствуйте, byur, Вы писали:

B>Здравствуйте, Merle, Вы писали:


M>>Здравствуйте, byur, Вы писали:


B>>> рекоммендую восполнить пробелы в ваших знаниях, а потом дискутировать ...

M>>Рекомендую не рекомендовать...

B>На вашем же сайте про вас вы сами все и написали ... так что на правах более опытного товарища таки рекоммендую ... За сим с вами прекращаю дискуссию и другим советую тоже.


Сорри, не вам адресовано ... а Mistik ... ошибся в запале ... еще раз прошу прощения.
Re[26]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:33
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?

M>Если код написан так, что его понять невозможно, то и UML не спасет.
Дело не в том, как написан код. Дело в том, что в коде написано не все. А если в коде только половина из того, что должно быть? А если код написан не верно — отражает не ту модель, что должна была быть? И как ты это поймёшь по коду?
Re[28]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:33
Оценка:
Здравствуйте, byur, Вы писали:

B>Здравствуйте, AndreyFedotov, Вы писали:


B>Андрей, посмотри что этот господин про себя пишет на своем же сайте сайте ... не стоит с ним спорить (см. http://mystic2000.newmail.ru/)


Имелся ввиду Mistik ...
Re[26]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:35
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Здравствуйте, Merle, Вы писали:


AR>>>>А в чужом?

M>>>А в чужом тем более.

AF>>И ты в состоянии по коду понять что имелось в виду при его написании? Какая идея за этим стояла?

AF>>Тогда ты не только телепат, но ещё и медиум в придачу...

M>Нет ничего невозможного Достигается упражнениями Вообще-то мир, в котором приходится вести разработку, неидеален. Большую часть времени приходится не разрабатывать новый функционал, а исправлять ошибки. А ошибки большей частью завязаны на технические особенности, не отраженные в UML. Так что от исходников в любом случае никуда.


Ну а если в коде реализована не вся необходимая функциональность?
Re[27]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:43
Оценка:
Здравствуйте, byur, Вы писали:

B>Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ...

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

B> а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.

Но при внятном коде напрягаться приходится меньше, чем восстанавливать все из UML.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[26]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:43
Оценка:
Здравствуйте, byur, Вы писали:

B>Контор в России, которые могут потребовать UML (повторюсь, не софтверных!) я насчитал максимум 10, и сможет оценить его качество .

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

B>ОК, сколько в этой компании сертифицированных спецов именно по UML, и чьи сертификаты?

Слава байту ни одного, ибо нафиг не нужен.

B>С каких это пор в русском языке связка "как ..., так и .." эквивалентна логическому "И"???

С очень давних.

B> я просто опрвергаю утверждение, что он бесполезен и непрактичен .

Пока не удается..
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:43
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Кто будет объяснять, если все "попали под грузовик" (были перекуплены конкурентами, уволены, ушли сами ... )?

Исходный код и комментарии к нему.

AR> Здравый смысл говорит за то, что вы искуственно сужаете свои возможности в доходчивой форме представить информацию (ИМХО).

А что говорит здравый смысл в ситуации когда графическое представление не синхронизировано с тестовым?
И в ситуации, когда графическое представление понять не менее сложно чем текстовое?
И какого мнения здравый смысл придерживается по поводу затрат на формирование графического представления, и на его понимание, учитывая два предыдущих фатальных недостатка?

AR>А как же моя фраза "которую нельзя или не наглядно представлять в исходном коде". Вы полагаете, что такой информации быть не может или она недостойна того, чтобы попасть в документацию?

Я полагаю, что нет такой информации о проекте, которая не выразима исходным кодом.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[14]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:43
Оценка:
Здравствуйте, byur, Вы писали:

B>На вашем же сайте про вас вы сами все и написали

Вас не затруднит дать мне ссылочку на мой сайт? А то я не знал что он у меня есть...

B>так что на правах более опытного товарища таки рекоммендую ...

И ссылочку на опытомер, если можно.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[13]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:50
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>> рекоммендую восполнить пробелы в ваших знаниях, а потом дискутировать ...

M>Рекомендую не рекомендовать...

Рекоммендации ни к чему не обязывают , а я плохого не посоветую. Просто хотелось поговорить о вкусе устриц ... Но факт остается фактом ... видимо вы действительно не знакомы, скажем с RUP ... хотя с MSF скорее всего знакомы ... кроме этого вы похоже неплохой РАЗРАБОТЧИК, и соответсвенно рассуждаете с т.з. разработчика. Мне показалось, что вы смотрите на вещи сквозь призму только MS (это я про DSL ...) а это таки однобокий взгляд IMHO.
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:53
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Но нигде не обяснили, как он может обяснить что нужно писать значительному числу людей — особенно тем, кому потом придётся стыковаться к его коду...

M>Во-первых объяснил, а во-вторых объяснил, что не надо ничего делать большему количеству людей — нет такой проблемы.
AF>>Отцам основателям это удавалось.
M>Как совершенно верно заметил Mishka, у отцов-основателей проекты были существенно меньше чем сейчас.
То есть проект системы управления авиаперевозками в рамках целой страны вы считаете мелким проектом? Там мало людей и им ничего не нужно обяснять?

AF>>Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан.

M>Он уже есть, и описан, называется исходный код с комментариями, причем описан однозначно.
А если к моменту передачи кода Outsourcer'ам, например, написано только 10% кода? А если потребуется сменить технологию реализации?

AF>> А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого

M>UML от этой проблемы не избавляет, он слишком не однозначен.
Примеры?
Re[27]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 10:53
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Mystic, Вы писали:


M>>В API больше функций. Тут рулят exapmles. И русский (английский) язык. А вообще 250 функций это мало И как я разбирался с подобными вещами без UML??? Просматриваешь названия функций, отбрасываешь 95% тех, что уже не подходят, бегло читаешь то, что тебе надо...

AF>И это быстрее, чем посмотреть на одну диаграмму?

Ну... эту диаграмму тоже надо найти...

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


Ну... сколько примеров я не встречал (яркий тому пример msdn), обычно примеры выполняют роль как раз диаграмм последовательности. Вот пример, который в какой-то мере аналогичен диаграмме последовательности. В качесте альтернативы можно использовать unit-тесты.

AF>А вот когда не ясно, почему написанный по API код не работает — приходится или искать чей то работающий исходник и по нему выяснять протокол вызова, или книжки читать, или вообще методом тыка разбираться ...


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

AF> Это так, но смысл то не в этом. Что бы понять математическую модель, ты пользуешься её описанием, а не только самой моделью. Если описание хорошее — сама модель (конкретные выкладки, то есть реализация) — может вообще не понадобиться. А вот без описания понять, что имелось в виду — часто вообще не возможно. Свёртка например используется как в обработке сигналов, так и в экономике. Но по уравнению — для чего оно — не понять.


Я не против текстового описания. Более того, одно из лучших описаний кода, которое я видел, есть описание TeX (литературное программирование). Увы, эта методология не получила должного распространения. Но провести параллель между русским языком и UML я не могу, ввиду недостаточности UML.
... << RSDN@Home 1.1.3 stable >>
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 10:54
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Alexey Rovdo, Вы писали:


AR>> Не должны архитекторы думать об особенностях языка реализации.

M> Все понятно.

AR>> Но доскональное знание ВСЕХ языков, на которых будет написан исходный код, является лишним.

M>Оно является необходимым. Не досконеальное, но не меньшее чем у рядового разработчика на этом языке.

Из этого можно сделать вполне логичный вывод. Как архитектор вы пока здорово ограничены рамками создания лишь тех систем, которые вы полностью понимаете на уровне исходного кода. Вот и всё...
Re[28]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 10:57
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ...

M>А следовало бы. Все беды как раз от аритекторов, которые забыли что такое программировать.
M>Архитектор — он как хирург, как совсем не давно кто-то очень метко заметил, без практики программирования стремительно теряет квалификацию.

Я удачно чередую, чтобы по словам Фаулера, не потерять квалификацию , ... в одних проектах делаю и требования и проектирование и код пишу сам, вместе с разработчиками, в других только проектирую или требования делаю .

B>> а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.

M>Но при внятном коде напрягаться приходится меньше, чем восстанавливать все из UML.

Внятный код -- это признак внятных мыслей ... кто ясно мыслит, тот ясно излагает ... значит может и ясно в UML изложить а не только в коде ... Язык это только способ изложения мыслей. Модели на UML это essentials ... а в коде много подробностей. Есть опасность изучая только код, за деревьями не увидеть леса ... А для начала хотелось бы на лес взглянуть а потом на интересующие меня деревья .
Re[27]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 10:57
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

M>>Нет ничего невозможного Достигается упражнениями Вообще-то мир, в котором приходится вести разработку, неидеален. Большую часть времени приходится не разрабатывать новый функционал, а исправлять ошибки. А ошибки большей частью завязаны на технические особенности, не отраженные в UML. Так что от исходников в любом случае никуда.


AF>Ну а если в коде реализована не вся необходимая функциональность?


Тут возможны варианты
... << RSDN@Home 1.1.3 stable >>
Re[25]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:59
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>И кто определяет ложность аналогий?

Аналогии ложны все..

AF> Хорошо. Как спец по микроэлектронике — могу легко подсунуть тебе схемку на пару десятков процов и FLEX кристаллов. Разбирайся как с ней работать по этой самой схемке

Ну, про аналогии я уж еговорил...

AF> ты от всех остальных стало быть требуешь вступления в джедайский орден?

Вовсе нет, я хочу чтобы мне внятно объяснили зачем UML нужен. Два способа использования меня уже вполне устроили, но в остальном пока увы...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[27]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 10:59
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Дело не в том, как написан код. Дело в том, что в коде написано не все.

В нормально написанном коде есть все.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:03
Оценка: +1
Здравствуйте, byur, Вы писали:

B>Здравствуйте, AndreyFedotov, Вы писали:


B>Андрей, посмотри что этот господин про себя пишет на своем же сайте сайте ... не стоит с ним спорить (см. http://mystic2000.newmail.ru/)


Да я и не хочу спорить. Если сам не хочешь расширять своё восприятие и обмениваться опытом, то заставить сложно.
Они ведь оба не понимают, что позиция "UML бесполезен" априори проигрывает позиции, "UML можно применить так то и так то с такими то результатами". Первая сужает доступные возможности — вторая расширяет
Re[27]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 11:04
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>Контор в России, которые могут потребовать UML (повторюсь, не софтверных!) я насчитал максимум 10, и сможет оценить его качество .

M>Может я по русски разьяснять разучился, но смысл моих постингов заключался в том, что качество UML-я никого не интересуют, интересуют лишь три буквы.

Так уж и никого ... ... newer say never ...

B>>ОК, сколько в этой компании сертифицированных спецов именно по UML, и чьи сертификаты?

M>Слава байту ни одного, ибо нафиг не нужен.

Каждому свое ...

B>>С каких это пор в русском языке связка "как ..., так и .." эквивалентна логическому "И"???

M>С очень давних.

Вы знаете, тут у нас в комнате сидит филолог по-образованию ... так он с вами не согласен ... хотите с ним поспорить?

B>> я просто опрвергаю утверждение, что он бесполезен и непрактичен .

M>Пока не удается..

А мне показалось я убедителен .
Re[15]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 11:05
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>>На вашем же сайте про вас вы сами все и написали

M>Вас не затруднит дать мне ссылочку на мой сайт? А то я не знал что он у меня есть...

B>>так что на правах более опытного товарища таки рекоммендую ...

M>И ссылочку на опытомер, если можно.

См. мой постинг выше ... это не вам адресовано было ... ошибочка вышла .
Re[29]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:09
Оценка:
Здравствуйте, byur, Вы писали:

B>Я удачно чередую, чтобы по словам Фаулера, не потерять квалификацию ,

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

B>Внятный код -- это признак внятных мыслей ... кто ясно мыслит, тот ясно излагает ... значит может и ясно в UML изложить а не только в коде ... Язык это только способ изложения мыслей.

Все верно, но зачем для изложения мысле вводить еще один язык?

B> Модели на UML это essentials ... а в коде много подробностей. Есть опасность изучая только код, за деревьями не увидеть леса ... А для начала хотелось бы на лес взглянуть а потом на интересующие меня деревья .

Опять-таки все замечательно, но вводить дополнительную сущность, для другого уровня абстракции на мой взгляд не верный подход. Лучше потратить эти усилия на то что бы в коде видеть и лес и деревья.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:09
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Из этого можно сделать вполне логичный вывод. Как архитектор вы пока здорово ограничены рамками создания лишь тех систем, которые вы полностью понимаете на уровне исходного кода. Вот и всё...

Упаси байт связаться с архитектором, который не понимает то чего на проектировал на уровне исходного кода.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:09
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Ну... эту диаграмму тоже надо найти...

При логичной организации документации — это просто.

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


M>Ну... сколько примеров я не встречал (яркий тому пример msdn), обычно примеры выполняют роль как раз диаграмм последовательности. Вот пример, который в какой-то мере аналогичен диаграмме последовательности. В качесте альтернативы можно использовать unit-тесты.

И сколько тут лишнего, по сравнению с диаграммой?
И потом сам пример не корректен. Он расчитан на то, что бы показать то, как писать код, вместо того, что бы показать — для чего его писать.

AF>>А вот когда не ясно, почему написанный по API код не работает — приходится или искать чей то работающий исходник и по нему выяснять протокол вызова, или книжки читать, или вообще методом тыка разбираться ...


M>Это называется отладка. UML тут помогает мало Обычно возвращаешься к рабочему примеру и начинаешь по шагам, аккуратно шаг за шагом делать все изменения. Или напрямую лезешь в исходники библиотеки, смотреть, что там делается... Вот тут больше распространены ошибки, связаные с техникой, когда ты знаешь последовательность действий, но совершаешь ошибку в одном из шагов.

Если причина в ошибке в коде — UML конечно не поможет, да и что угодно другое, кроме правки кода — тоже. А если ошибка — результат неверного понимания модели или отсутствия информации?

AF>> Это так, но смысл то не в этом. Что бы понять математическую модель, ты пользуешься её описанием, а не только самой моделью. Если описание хорошее — сама модель (конкретные выкладки, то есть реализация) — может вообще не понадобиться. А вот без описания понять, что имелось в виду — часто вообще не возможно. Свёртка например используется как в обработке сигналов, так и в экономике. Но по уравнению — для чего оно — не понять.


M>Я не против текстового описания. Более того, одно из лучших описаний кода, которое я видел, есть описание TeX (литературное программирование). Увы, эта методология не получила должного распространения. Но провести параллель между русским языком и UML я не могу, ввиду недостаточности UML.

А кто говорит о голых диаграммах? Предполагается использование этих диаграмм вместе с текстом, а не вместо текста.
Re[29]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:14
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Они ведь оба не понимают, что позиция "UML бесполезен" априори проигрывает позиции, "UML можно применить так то и так то с такими то результатами". Первая сужает доступные возможности — вторая расширяет

Они прекрасно понимают, что позиция "UML бесполезен" априори проигрывает позиции, "UML можно применить так то и так то с такими то результатами и нулевыми затратами ресурсов".
А вот почему вы не понимаете, что затраты ресурсов на внедрение UML-я и работу с ним вовсе не нулевые, и в подавляющем большинстве случаев себя не окупают, для меня не совсем ясно. Тем более, что именно Вы, по Вашему же признанию, реально с UML не работали, но тем не менее почему-то пытаетесь доказать, что связываться с ним имеет смысл...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:14
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


M>>>Нет ничего невозможного Достигается упражнениями Вообще-то мир, в котором приходится вести разработку, неидеален. Большую часть времени приходится не разрабатывать новый функционал, а исправлять ошибки. А ошибки большей частью завязаны на технические особенности, не отраженные в UML. Так что от исходников в любом случае никуда.


AF>>Ну а если в коде реализована не вся необходимая функциональность?


M>Тут возможны варианты


Какие? Мистически домыслить что имелось в виду?
Очевидно, что без описания модели или иного источника информации о том, что нужно делать — вариантов никаких.
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:15
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Дело не в том, как написан код. Дело в том, что в коде написано не все.

M>В нормально написанном коде есть все.

И что в 10% кода содержится описание того, что должно быть в остальных 90%?
Вселенная, конечно, фрактал, но не до такой же степени...
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:17
Оценка: 1 (1)
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Из этого можно сделать вполне логичный вывод. Как архитектор вы пока здорово ограничены рамками создания лишь тех систем, которые вы полностью понимаете на уровне исходного кода. Вот и всё...

M>Упаси байт связаться с архитектором, который не понимает то чего на проектировал на уровне исходного кода.
Упаси гейтс поручать крупный гетерогенный проект архитектору, которому всё нужно понимать на уровне исходного кода...
Re[29]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 11:28
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>И сколько тут лишнего, по сравнению с диаграммой?


Кое-что не лишнее, а полезное По примеры можно избежать чтения детальной помощи по некоторым функциям.

M>>Я не против текстового описания. Более того, одно из лучших описаний кода, которое я видел, есть описание TeX (литературное программирование). Увы, эта методология не получила должного распространения. Но провести параллель между русским языком и UML я не могу, ввиду недостаточности UML.

AF>А кто говорит о голых диаграммах? Предполагается использование этих диаграмм вместе с текстом, а не вместо текста.

Я не выступаю как принципиальный противник UML. Просто не надо делать из UML культа. Ну и несколько раз указал на то, что в ряде конкретных случаев существует более эффективное средство донести свою мысль, нежели UML.
... << RSDN@Home 1.1.3 stable >>
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:31
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Они ведь оба не понимают, что позиция "UML бесполезен" априори проигрывает позиции, "UML можно применить так то и так то с такими то результатами". Первая сужает доступные возможности — вторая расширяет

M>Они прекрасно понимают, что позиция "UML бесполезен" априори проигрывает позиции, "UML можно применить так то и так то с такими то результатами и нулевыми затратами ресурсов".
M>А вот почему вы не понимаете, что затраты ресурсов на внедрение UML-я и работу с ним вовсе не нулевые, и в подавляющем большинстве случаев себя не окупают, для меня не совсем ясно. Тем более, что именно Вы, по Вашему же признанию, реально с UML не работали, но тем не менее почему-то пытаетесь доказать, что связываться с ним имеет смысл...
Это доказывает лишь то, что вы невнимательно читали мои посты. Я как раз-таки неоднократно утверждал, что UML технология достаточно дорогая, особенно благодаря тому, что это на самостоятельная технология, а часть процесса разработки и имеет смысл там, где она себя окупает.
Вам не кажется что тем более важно знать о сфере применимости дорогой технологии, что бы применять её по делу? Вот именно о сфере применимости и щла речь... Вместо этого разговор свёлся к доказательству того, что UML не нужен вообще. С чем я не согласен, так как видел сферы, где он не только применим, но и эффективен.
Re[30]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 11:34
Оценка: 6 (1)
Здравствуйте, Merle, Вы писали:

B>>Я удачно чередую, чтобы по словам Фаулера, не потерять квалификацию ,

M>Вы-то может быть, но речь-то идет о гипотетическом средневзятом архитекторе, который, по Вашим словам, в терминах кода мыслить не должен, а это не верно.

Это верно ... для системного архитектора это абсолютно верно, что он не должен мыслить в терминах кода ... для проектировщика/программного архитектора -- на 80% верно (моя личная оценка).. более того, при наличии квалификации -- это запросто. Для тогд чтобы спроектировать domain model мне ну никак не нужно знать особенностей языка ... ей-богу!

B>>Внятный код -- это признак внятных мыслей ... кто ясно мыслит, тот ясно излагает ... значит может и ясно в UML изложить а не только в коде ... Язык это только способ изложения мыслей.

M>Все верно, но зачем для изложения мысле вводить еще один язык?

1. Чтобы сначала увидеть лес, а потом интересующие меня деревья. В случае проектирования -- сначала нарисовать очертания леса, прикинуть выдела с однородным породным составом, а потом приступать к насаждению деревьев. Ибо когда дерево посадишь -- выдергивать его не есть гуд . Есть разные подходы -- от частного к общему. или от общего к частному. Я имею ввиду второй -- сначало общую картину, потом только конкретика.
2. Еще один язык ... есть аналогия -- когда с любимой женщиной на французском, с врагом на немецком, ...

B>> Модели на UML это essentials ... а в коде много подробностей. Есть опасность изучая только код, за деревьями не увидеть леса ... А для начала хотелось бы на лес взглянуть а потом на интересующие меня деревья .

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

ОК ... ну не знаю я Smalltalk-а ... как мне понять суть системы на нем написанной??? А при наличии внятной модели на UML в сочетании с требованиями, да еще оттрассированной дизайном на требования -- мне все станет понятно ...
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:35
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:


AF>Упаси гейтс поручать крупный гетерогенный проект архитектору, которому всё нужно понимать на уровне исходного кода...

Вот так и получаются проекты, в которых архитектор в UML наваял одно, разработчики посмотрели на это квадратными глазами и пошли делать как считают нужным, лишь бы работало. После того как проект сдан, поддерживать это выпадает третим людям, потому как архитектора выгнали за некомпетентность, а разработчиков за самоуправство.
Вообщем, счастья вам, UML в помощ.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:36
Оценка:
Здравствуйте, Mystic, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>И сколько тут лишнего, по сравнению с диаграммой?


M>Кое-что не лишнее, а полезное По примеры можно избежать чтения детальной помощи по некоторым функциям.

Полезное в одной ситуации — менее полезно, а иногда вредно в другой. Если цель — переписать код по аналогии — то пример может быть полезнее. А вот если цель ясно представлять последовательность обмена сообщениями (причём именно существенной частью), то гораздо лучше очистить весь лишний шум и показать лишь суть обмена — последовательнось.

M>>>Я не против текстового описания. Более того, одно из лучших описаний кода, которое я видел, есть описание TeX (литературное программирование). Увы, эта методология не получила должного распространения. Но провести параллель между русским языком и UML я не могу, ввиду недостаточности UML.

AF>>А кто говорит о голых диаграммах? Предполагается использование этих диаграмм вместе с текстом, а не вместо текста.

M>Я не выступаю как принципиальный противник UML. Просто не надо делать из UML культа. Ну и несколько раз указал на то, что в ряде конкретных случаев существует более эффективное средство донести свою мысль, нежели UML.

Ну и кто делал культ то? Я всего лишь написал, что есть масштабные и сложные проекты, где можно применять UML и это оказывается экономически оправданным. Это культ?
Re[19]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 11:40
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:



AF>>Упаси гейтс поручать крупный гетерогенный проект архитектору, которому всё нужно понимать на уровне исходного кода...

M>Вот так и получаются проекты, в которых архитектор в UML наваял одно, разработчики посмотрели на это квадратными глазами и пошли делать как считают нужным, лишь бы работало. После того как проект сдан, поддерживать это выпадает третим людям, потому как архитектора выгнали за некомпетентность, а разработчиков за самоуправство.
M>Вообщем, счастья вам, UML в помощ.
UML то тут причём?
Берём архитектора, который всё рисует на бумажке, разработчиков с квадратными глазами, которые не фига не понимают, но вовремя кивают, и получаем тот же самый результат — с теми же последствиями. И причём тут UML?
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:44
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Там мало людей и им ничего не нужно обяснять?

Я уже устал рассказывать, что всем одно и то же объяснять не надо, не стоит такой проблемы, объяснять большей проект большему количеству людей.

AF> А если к моменту передачи кода Outsourcer'ам, например, написано только 10% кода?

Передать 10% кода.

AF> А если потребуется сменить технологию реализации?

Сменить технологию, в чем проблема-то?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[31]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:44
Оценка:
Здравствуйте, byur, Вы писали:

B> Для тогд чтобы спроектировать domain model мне ну никак не нужно знать особенностей языка ... ей-богу!

Значит толку ноль от такой Domain Model

B>1. Чтобы сначала увидеть лес, а потом интересующие меня деревья.

Ну не нужен для этого еще один язык.

B>ОК ... ну не знаю я Smalltalk-а ... как мне понять суть системы на нем написанной???

Значит надо взять архитектора, который знает SmallTalk.

B> А при наличии внятной модели на UML в сочетании с требованиями, да еще оттрассированной дизайном на требования -- мне все станет понятно ...

И что толку от такого понимания? Что с этим пониманием делать-то дальше?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[31]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:44
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Я как раз-таки неоднократно утверждал, что UML технология достаточно дорогая, особенно благодаря тому, что это на самостоятельная технология, а часть процесса разработки и имеет смысл там, где она себя окупает.

Так вот примеров где она себя окупает, за весь долгий спор, я нашел только два. Один в достаточно узкой области, а другой вообще не имеет отношения к разработке.

AF> Вам не кажется что тем более важно знать о сфере применимости дорогой технологии, что бы применять её по делу?

ТАк вот я и пытаюсь выяснить сферу применимости, и выяснил вообщем.

AF> Вместо этого разговор свёлся к доказательству того, что UML не нужен вообще.

Ну не я же его туда свел...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[17]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 11:44
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>А что говорит здравый смысл в ситуации когда графическое представление не синхронизировано с тестовым?

M>И в ситуации, когда графическое представление понять не менее сложно чем текстовое?

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

M>Я полагаю, что нет такой информации о проекте, которая не выразима исходным кодом.


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

PS: Жаль, что конструктивный диалог фактически перешел в перепалку. Тема то была любопытной ...
Re[29]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 15.06.05 11:45
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Mystic, Вы писали:


M>>Здравствуйте, AndreyFedotov, Вы писали:


M>>>>Нет ничего невозможного Достигается упражнениями Вообще-то мир, в котором приходится вести разработку, неидеален. Большую часть времени приходится не разрабатывать новый функционал, а исправлять ошибки. А ошибки большей частью завязаны на технические особенности, не отраженные в UML. Так что от исходников в любом случае никуда.


AF>>>Ну а если в коде реализована не вся необходимая функциональность?


M>>Тут возможны варианты


AF>Какие? Мистически домыслить что имелось в виду?

AF>Очевидно, что без описания модели или иного источника информации о том, что нужно делать — вариантов никаких.

Никаких это слишком категорично. Я вот просматриваю исходники FireBird, и до сих пор не наткнулся на описание модели. Но продукт развивается понемногу... Работа программиста состоит в том, чтобы как раз изменять и дописывать функциональность. Не все при этом используют UML. Ты как-то сам видишь, что надо поменять и как. Некие общие моменты архитектуры хранятся в голове, постоянно сверять их с диаграммами есть потеря времени. Это модель строится на базе опыта работы над проектом, внесенных ранее изменений. Возможно на этапе изучения этой архитектуры (чтобы войти в курс дела) UML мог бы помочь. Но все равно, войти в курс дела без исходного кода мне представляется нереальным. А далее обычно идет неформализованый процесс, когда ты и так видишь, что надо сделать для того, чтобы добавить нужный кусок. Либо примерно преставляешь, где реализованонечно похожее по своей функциональности, чтобы взять его а образец. Откуда приходят в голову мысли? А кто его знает...
... << RSDN@Home 1.1.3 stable >>
Re[20]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:46
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:


AF> UML то тут причём?

При том, что не зная языка разработки архитектору остается только в UML-е модельки ваять.

AF> Берём архитектора, который всё рисует на бумажке, разработчиков с квадратными глазами, которые не фига не понимают, но вовремя кивают, и получаем тот же самый результат — с теми же последствиями.

Тот же самый результат не получим, так как архитектор, разбираясь в исходниках, сразу поймет, что ему "дуру гонят" и объяснит так, чтобы поняли.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[32]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 11:53
Оценка: +2
Здравствуйте, Merle, Вы писали:

M>Значит надо взять архитектора, который знает SmallTalk.


Ну вот, скажем, взяли. Он, значит, посмотрел исходники нашей SmallTalk-системы и честно говорит: "Архитектура этой системы не отвечает вашим текущим потребностям — ее всю нужно переделывать". И спрашивается зачем мы его долго искали и нанимали? Писать систему на Java мы могли и с предыдущим (поспешно уволенным за незнание SmallTalk) архитектором. А этот Java не знает.
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 11:54
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравый смысл подсказывает, что такую документацию можно выкинуть и смело о ней забыть, а систему, которая этой документацией описывается придется переписывать заново.

В случае применения UML-я это 95% проектов, что нам далее говорит здравый смысл по поводу применения UML-я для документации?

AR>Вам просто не попадались действительно талантливо и профессионально сделанные книги (причем не важно на какую тему).



AR>При обучении по разным учебникам колоссальная разница в скорости понимания и усвоения написанного заставляет задуматься о причинах этого. Уверяю вас, содержательные и к месту сделанные иллюстрации играют здесь не последнюю роль.

Про ложные аналогии я уже говорил. UML — это не иллюстрация, UML это сложный язык, который зачастую ясности не добавляет, а только еще больше запутывает.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[33]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 12:01
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Ну вот, скажем, взяли. Он, значит, посмотрел исходники нашей SmallTalk-системы и честно говорит: "Архитектура этой системы не отвечает вашим текущим потребностям — ее всю нужно переделывать". И спрашивается зачем мы его долго искали и нанимали? Писать систему на Java мы могли и с предыдущим (поспешно уволенным за незнание SmallTalk) архитектором. А этот Java не знает.

А при чем тут Java? Если архитектору поставлена задача рефакторить, а не переписывать заново, значит он будет рефакторить или вы не того архитектора нашли.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[19]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 12:03
Оценка: +1
Здравствуйте, Merle, Вы писали:

AR>>Здравый смысл подсказывает, что такую документацию можно выкинуть и смело о ней забыть, а систему, которая этой документацией описывается придется переписывать заново.

M>В случае применения UML-я это 95% проектов, что нам далее говорит здравый смысл по поводу применения UML-я для документации?

Ну а с остальными то 5% что делать?
Примеры неправильного использования не могут служить доказательством того, что UML вообще нельзя использовать.
По моему личному мнению массовое некорректное использование UML обусловлено попыткой использовать его в маленьких проектах, а также неудачами при применении UML именно в творческом процессе при первичном формировании архитектуры системы. Нестыковка UML-моделей и исходного кода является серьезной проблемой, пути преодоления которой следует искать. Отказываться же от самой идеи стандартизации средств визуального представления статической и динамической архитектуры/процессов программных систем напоровшись на проблему, будет шагом назад.
Re[34]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 15.06.05 12:06
Оценка: +1
Здравствуйте, Merle, Вы писали:

AR>>Ну вот, скажем, взяли. Он, значит, посмотрел исходники нашей SmallTalk-системы и честно говорит: "Архитектура этой системы не отвечает вашим текущим потребностям — ее всю нужно переделывать". И спрашивается зачем мы его долго искали и нанимали? Писать систему на Java мы могли и с предыдущим (поспешно уволенным за незнание SmallTalk) архитектором. А этот Java не знает.

M>А при чем тут Java? Если архитектору поставлена задача рефакторить, а не переписывать заново, значит он будет рефакторить или вы не того архитектора нашли.

А кто и на основании какой информации (в чем представленной) решает — рефакторить или писать заново? Или это директор просто должен к гадалке — толковательнице снов обращаться?
Re[35]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 12:19
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>А кто и на основании какой информации (в чем представленной) решает — рефакторить или писать заново? Или это директор просто должен к гадалке — толковательнице снов обращаться?

Ну так Вы решите сначала, что Вам с системой делать надо, а потом ставьте задачу архитектору. Или пусть он решает что с системой делать надо. От языка описание архитектуры здесь ничего не зависит.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[20]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 12:19
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Ну а с остальными то 5% что делать?

А в остальных 5%, либо UML используется непосредственно для разработки. И нет никакой необходимости вводить новую сущность исключительно для документации, либо документация чисто формальный документ, который вовсе не обязан соответствовать действительности.
Такое впечатление, что Вы пытаетесь найти UML-ю ну хоть какое-то применение.
Еще раз повторюсь. Я могу понять тех, кто пытается использовать UML в процессе разработки, но использовать UML исключительно для документации — напрасная трата времени, сил и денег.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[32]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 12:36
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Я как раз-таки неоднократно утверждал, что UML технология достаточно дорогая, особенно благодаря тому, что это на самостоятельная технология, а часть процесса разработки и имеет смысл там, где она себя окупает.

M>Так вот примеров где она себя окупает, за весь долгий спор, я нашел только два. Один в достаточно узкой области, а другой вообще не имеет отношения к разработке.

Сфера применимемости простая -- проектирование ПО. Вы просто выражаете свои проектные мысли на этом языке ... это несколько удобнее, например для обсуждения проектных решений, чем использование кода ... особенно, если мы еще до кода не добрались.
Re[32]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 15.06.05 12:50
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Я как раз-таки неоднократно утверждал, что UML технология достаточно дорогая, особенно благодаря тому, что это на самостоятельная технология, а часть процесса разработки и имеет смысл там, где она себя окупает.

M>Так вот примеров где она себя окупает, за весь долгий спор, я нашел только два. Один в достаточно узкой области, а другой вообще не имеет отношения к разработке.

Еще один пример существует. Есть так называемый DoDAF (US Department of Defense's Architecture Framework), есть DoDAF profile for UML (мы его, кстати поддерживаем). Так вот сию штуку американские военные и компании на них работающие (e.g. Lockhead Martin Corp.) активно используют.
Но деталей того, как конкретно они это используют я не знаю. Подразделения девелоперов сидят в зданиях, отрезанных от инета напрочь. Никакие примеры реальных моделей оттуда не поступают, а что поступает есть лишь специально сделанные example-ы для иллюстрации багов или желаемой фичи.
Но по поступающим репортам видно, что UML они используют и хотят использовать в будущем. Еще на них ряд университетов работает, которые тоже шлют замечания и предложения по поводу совершенствования UML.


Кстати, в telecom industry можно так же частично включить aerospace industry. Задачи возникают похожие, поэтому UML там используют примерно тем же самым образом, что и в telecom.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[32]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 12:56
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>> Для тогд чтобы спроектировать domain model мне ну никак не нужно знать особенностей языка ... ей-богу!

M>Значит толку ноль от такой Domain Model

Толк это вещь сложная, неопределенная и непонятная. Проще говорить что Domain Model по определению вообще независит от реализации .

B>>1. Чтобы сначала увидеть лес, а потом интересующие меня деревья.

M>Ну не нужен для этого еще один язык.

Как сказать ... Можно почитать статью от MS в архитектурном журнале .. Secrets of Great Architects -- так они там все в UML приводят про подход от общего к частному, с постепенной детализацией. Кстати -- это к вопросу о том что MS игнорирует UML .

B>>ОК ... ну не знаю я Smalltalk-а ... как мне понять суть системы на нем написанной???

M>Значит надо взять архитектора, который знает SmallTalk.

Да гдеж его взять-то милого ... в нашей деревне нету таких

B>> А при наличии внятной модели на UML в сочетании с требованиями, да еще оттрассированной дизайном на требования -- мне все станет понятно ...

M>И что толку от такого понимания? Что с этим пониманием делать-то дальше?

Вестимо, что -- на ее основе строить новую . Про legacy systems наверное все наслышаны.
Re[19]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 13:01
Оценка:
Здравствуйте, Merle, Вы писали:


AR>>При обучении по разным учебникам колоссальная разница в скорости понимания и усвоения написанного заставляет задуматься о причинах этого. Уверяю вас, содержательные и к месту сделанные иллюстрации играют здесь не последнюю роль.

M>Про ложные аналогии я уже говорил. UML — это не иллюстрация, UML это сложный язык, который зачастую ясности не добавляет, а только еще больше запутывает.

Что там сложного-то??? Уж не сложнее языков программирования .
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 13:02
Оценка:
Здравствуйте, Mystic, Вы писали:

AF>>>>Ну а если в коде реализована не вся необходимая функциональность?


M>>>Тут возможны варианты


AF>>Какие? Мистически домыслить что имелось в виду?

AF>>Очевидно, что без описания модели или иного источника информации о том, что нужно делать — вариантов никаких.

M>Никаких это слишком категорично. Я вот просматриваю исходники FireBird, и до сих пор не наткнулся на описание модели. Но продукт развивается понемногу... Работа программиста состоит в том, чтобы как раз изменять и дописывать функциональность. Не все при этом используют UML. Ты как-то сам видишь, что надо поменять и как. Некие общие моменты архитектуры хранятся в голове, постоянно сверять их с диаграммами есть потеря времени. Это модель строится на базе опыта работы над проектом, внесенных ранее изменений. Возможно на этапе изучения этой архитектуры (чтобы войти в курс дела) UML мог бы помочь. Но все равно, войти в курс дела без исходного кода мне представляется нереальным. А далее обычно идет неформализованый процесс, когда ты и так видишь, что надо сделать для того, чтобы добавить нужный кусок. Либо примерно преставляешь, где реализованонечно похожее по своей функциональности, чтобы взять его а образец. Откуда приходят в голову мысли? А кто его знает...


Различаем твёрдое и блестяшее...
То, что вы говорите — это высокое исккуство ваяние того, что вам взбрело в голову. А я говорю о воплощении в жизнь вполне конкретного замысла. Именно его а не какого либо другого. Так вот если этот замысел нигде не описан, у вас лишь код, который реализует лишь кусок замысла ди и тот возможно — неправильно, в чём замысел заключался узнать не возможно — тогда вариантов нет. Так вот для того, что бы не попасть в такую ситуацию — документы и пишут. На определённом уровне — используют диаграммы.
Re[21]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 15.06.05 13:04
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:



AF>> UML то тут причём?

M>При том, что не зная языка разработки архитектору остается только в UML-е модельки ваять.

Это его, архитектора работа модельки ваять ... и я уже говорил про модели, которые не зависят от языка ... абсолютно. Архитектор в строительстстве, что сам кирпичи класть должен уметь???

AF>> Берём архитектора, который всё рисует на бумажке, разработчиков с квадратными глазами, которые не фига не понимают, но вовремя кивают, и получаем тот же самый результат — с теми же последствиями.

M>Тот же самый результат не получим, так как архитектор, разбираясь в исходниках, сразу поймет, что ему "дуру гонят" и объяснит так, чтобы поняли.

Вам тогда не архитектор нужен а просто толковый дивелопер. Давайте вещи своими именами называть .
Re[21]: UML
От: AndreyFedotov Россия  
Дата: 15.06.05 13:08
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:



AF>> UML то тут причём?

M>При том, что не зная языка разработки архитектору остается только в UML-е модельки ваять.
И что? Чему это мешает?

AF>> Берём архитектора, который всё рисует на бумажке, разработчиков с квадратными глазами, которые не фига не понимают, но вовремя кивают, и получаем тот же самый результат — с теми же последствиями.

M>Тот же самый результат не получим, так как архитектор, разбираясь в исходниках, сразу поймет, что ему "дуру гонят" и объяснит так, чтобы поняли.
И тот же архитектор будет проверять разводку печатных плат, что бы удостовериться в том, что аппаратная часть комплекса тоже сделана верно? Что дальше — он будет вскрывать корпуса чипов?
Да и проверку кода даже 10 человек я представляю с большим трудом. Разве что архитектору делать на самом деле нечего и он так называется для понта. А на самом деле — обычный старший программер...
Re[33]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 14:25
Оценка:
Здравствуйте, byur, Вы писали:

B> Вы просто выражаете свои проектные мысли на этом языке ... это несколько удобнее, например для обсуждения проектных решений, чем использование кода ... особенно, если мы еще до кода не добрались.

Чем может быть удобнее два языка, когда можно обойтись одним?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[33]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 14:25
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Еще один пример существует.

Ну, это все явления одного порядка, когда UML используется не для документирования, а в качестве основного языка разработки.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[22]: UML
От: Merle Австрия http://rsdn.ru
Дата: 15.06.05 14:26
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>И что? Чему это мешает?

Не правильно вопрос ставите, чему это помогает? Кому нужны модели, которые не имеют ничего общего с реальной системой?

AF> А на самом деле — обычный старший программер...

Хоть горшком назови, какой тол от рахитектора, который кроме рисования диаграмок ничего не умеет?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[33]: UML
От: nixite  
Дата: 15.06.05 16:35
Оценка:
B>Толк это вещь сложная, неопределенная и непонятная. Проще говорить что Domain Model по определению вообще независит от реализации .

я конечно понимаю, что знание какого либо языка (даже UML) не обязательно для описания процессов происходящих в жизни, буть то тех-процессы, бизнес-процессы, то что описывает автоматизируемую систему, в случае автоматизации чего-либо, но ведь это не архитектура ПО.
И безусловно из вашей модели предметной области ну никак однозначно програмную систему построить нельзя, без промежуточных этапов проектирования. А знания языка, ОС, и прочего на этапе проектирования для реализации по-моему просто необходммы... Как вы будете проектировать 3D реадктор скажем, не зная о сушествовании OpenGL и DirectX, а также их особенности, или как вы будете проектировать не зная что в C++ возможно множественное наследование, а в Object Pascal нет, и даже наследование интерфейсов не возможно множественное. Модель модели рознь, и моё мнение таково что модель должна быть построенна так чтобы максимально описывать объект с минимальными затратами на её создание. Я не уверен что описание бизнес-процессов в производстве удобнее представить в виде UML, и затем демонстрировать это управляющему производством или президенту автоматизируемой компании... или вы их UML обучать будете...

B>>>1. Чтобы сначала увидеть лес, а потом интересующие меня деревья.


Кстати, а что если лес в этом месте в силу ограничений систмы, платформы или языка посадить нельзя, что если это взлётная полоса, а вы не знаете таких особенностей в силу того что не считаете нужным знать ещё какие-то там особенности систем или языков, а заказчик тоже знать не может...


B>>>ОК ... ну не знаю я Smalltalk-а ... как мне понять суть системы на нем написанной???


1) взять документацию по системе. А если вам нужно внедрение в систему или переработка, взять книги по SmallTalk, изучить Smalltalk.


M>>Значит надо взять архитектора, который знает SmallTalk.

B>Да гдеж его взять-то милого ... в нашей деревне нету таких

см (1).

p.s. Я не утверждал что использовать UML не возможно или нельзя, я говорил что пользоватся средствами создания и поддержки UML-проектов крайне не удобно, перенося это на язык я говорил что UML (как методологией) пользоваться также не удобно. Безусловно ей пользуются, потому что лучшего нет, хотя сомнительно ибо карандаш-бумага иногда всё таки выразительней и понятней для всех участников, особенно небольшой команды. В больших работать не довелось и спорить я не буду на эту тему. Я просто глубоко уверен что можно создать средство значительно удобнее UML, но к сожалению до сих пор не создано, вероятно потому что одни считают его вовсе не нужным, другие свято верят в его идеалистичность.
Re[20]: UML
От: IT Россия linq2db.com
Дата: 15.06.05 17:33
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Это далеко не всегда возможно. Простой пример: разработка крупного программно-аппаратного комплекса. В таком комплексе зачастую одни и теже алгоритмы реализуются на различной аппаратуре, причём видов этой аппратуры — 30-40. Система структурируется и каждый уровень должен быть грамотно описан, что бы различные разработчики делали аппаратуру под один и тот же стандарт. Тем более, если часть аппратуры или ПО разрабатываются вовне — в другом городе и тем более стране. Вот и попробуй в таких условиях выделить 20-30 человек, которые всё сделают...


А описывается стандарт или алгоритмы?
... << RSDN@Home 1.1.4 beta 7 rev. 447>>
Если нам не помогут, то мы тоже никого не пощадим.
Re[27]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:28
Оценка:
AR>Разные разделы математики по-разному воспринимаются без картинок. Например дифгеометрию довольно трудно понять без этого. А теория супструн, основанная, кстати, во многом именно на дифгеометрии, — книга отнюдь не понятная. Возможно именно из-за того, что авторы местами пренебрегают графическим средствами иллюстрации своих мыслей. Тому, кстати, есть довольно банальные причины, в корне которых лежит нестандартность этих картинок. Рисование нестандартных (а в теории супструн и дифгеометрии таких стандартов нет) картинок и графических элементов отнимает уйму времени и требует достаточно высокой квалификации от верстальщика (и издатели обычно перекладывают эту работу на самих авторов, а авторы, где могут, избегают это делать).

Всё-таки, даже если в математических книгах и есть картинки, то они описывают не структуру формул, а, грубо говоря, результат их применения. А вот тот же UML — описывает как раз-таки более структуру. Аналогом картинок из математических книг в программировании были бы screenshot'ы.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[29]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:28
Оценка: +1
B>>>Если я проектировщик/архитектор, то я не рассуждаю на уровне кода ... а напрягаться чтолы восстановить все из сырцов как-то не очень хочеться.
Я вот проектировщик/архитектор. И мне проще выделить базовый код архитектуры, чтобы он не перемешивался с остальным, чем строить абстрактные схемы "не ... на уровне кода". Более того, иногда приходится следить, что архитектура соблюдается. И тут опять же, без выделенного уровня будет тяжело.

B>Выдержка из вашего сайта о вас же ...

Я, хоть во многом с Mystic'ом не согласен, но, всё же, это уже переход на личности. Вам что, кроме этого, больше нечего сказать по содержанию?

B>Конечно программируя в Дельфи вы врядли используете UML ...

Аналогичный наезд. Ну и зачем? Для этого здесь отдельный есть форум.

В любом случае, до определённых пределов можно соблюдать такую коммуникацию, что UML не нужен. Обычный язык достаточно эффективен. Следом, по эффективности, идёт код. А затем только формальные картинки. И вот архитектор должен хорошо владеть этими средствами в перечисленном порядке.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[29]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:30
Оценка:
AF>И что в 10% кода содержится описание того, что должно быть в остальных 90%?
AF>Вселенная, конечно, фрактал, но не до такой же степени...
Вселенная — нет. А грамотно спроектированный код — да. Вот те 90% "мешающегося" при понимании архитектуры кода очень легко спрятать. Этот давно известный приём ООП называется "инкапсуляция".
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[31]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:32
Оценка:
AF>Различаем твёрдое и блестяшее...
AF>То, что вы говорите — это высокое исккуство ваяние того, что вам взбрело в голову. А я говорю о воплощении в жизнь вполне конкретного замысла. Именно его а не какого либо другого. Так вот если этот замысел нигде не описан, у вас лишь код, который реализует лишь кусок замысла ди и тот возможно — неправильно, в чём замысел заключался узнать не возможно — тогда вариантов нет. Так вот для того, что бы не попасть в такую ситуацию — документы и пишут. На определённом уровне — используют диаграммы.

А вот тут, по-моему, достаточно хорошо структурированных требований. Вот без них действительно никуда. Но эти требования легко пишутся на обычном русском языке и, как правило, не содержат каких-нибудь связей с архитектурой системы.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[14]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:40
Оценка:
AF>Отцам основателям это удавалось. Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...
Да нормального уровня программист этот синтаксис освоит за неделю. А в течение месяца работы и фишечки. Уж никак незнанание языка не мешает писать программу. И архитектуру соответственно строить. А если её начинать строить сразу в коде — то на препятствия, налагаемые языком, можно быстро наткнуться и подработать архитектуру. А если её спустить программистам сверху, не зная языка, они будут вынуждены в коде писать какие-то ужасы, которые нафиг не нужны. Простой пример, напроектировать чего-то с применением обратных вызовов при использовании DCOM. Оно, конечно, пишется, но, как правило, проще использовать другое решение. И это — тот случай, когда нужно знать особенности даже не языка, а среды.

AF>Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан. Когда вы обясняете что то в живую вы как правило неявным образом договариваетесь о системе обозначений. Потому вас понимают и вы понимаете. Если что-то не понятно — вы можете об этом спросить отдельно. А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого

Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[18]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:44
Оценка:
M>>Я полагаю, что нет такой информации о проекте, которая не выразима исходным кодом.
Я тоже согласен. Однако, это верно для очень квалифицированного программиста.

AR>В каком-то смысле я вам сочуствую. Вам просто не попадались действительно талантливо и профессионально сделанные книги (причем не важно на какую тему). При обучении по разным учебникам колоссальная разница в скорости понимания и усвоения написанного заставляет задуматься о причинах этого. Уверяю вас, содержательные и к месту сделанные иллюстрации играют здесь не последнюю роль. А ведь как правильно заметили другие участники обсуждения, в случае программной системы есть и такие вещи как порядок развертывания, базовые описания предметной области, и много чего такого, что исходный в его сегодняшнем состоянии не может содержать.

Даже на этом уровне текстового описания более чем достаточно. И оно более понятно.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[14]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 02:48
Оценка:
B>Это смотря что вы понимаете под проектированием. В RUP, например, есть понятие модели анализа, модели дизайна и модели имплементации. Модель анализа независима от платформы/языка разработки ... модель дизайна совершенно спокойно модет быть сделана тоже независимой (это лишь вопрос квалификации проектировщика). А вот модель имплементации -- это уже с которой можно генерить исходный код на конкретном языке. Отсюда вывод -- можно, пользуясь вашим термином, ГРАМОТНО спроектировать систему, не зная досконально конкретные языки программирования, как минимум на уровне моделей анализа и дизайна. А имплементацию норамальный разработчик уже на конкретном языке сам напишет , оптимизируя вызовы и прочия ....

Я правильно понимаю, что модель анализа — это ещё вовсе не архитектура классов? А всего лишь чётко выделенная структура предметной области?
И то, что модель дизайна может быть независимой — это накладывает ограничения общность её описания? Т.е. я так понимаю, там не должно быть подробного описания взаимодействия объектов. Скорее уж описание модульного разделения системы и взаимодействия модулей. Так?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[34]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 06:05
Оценка:
Здравствуйте, nixite, Вы писали:

N>Я не утверждал что использовать UML не возможно или нельзя, я говорил что пользоватся средствами создания и поддержки UML-проектов крайне не удобно, перенося это на язык я говорил что UML (как методологией) пользоваться также не удобно. Безусловно ей пользуются, потому что лучшего нет, хотя сомнительно ибо карандаш-бумага иногда всё таки выразительней и понятней для всех участников, особенно небольшой команды. В больших работать не довелось и спорить я не буду на эту тему. Я просто глубоко уверен что можно создать средство значительно удобнее UML, но к сожалению до сих пор не создано, вероятно потому что одни считают его вовсе не нужным, другие свято верят в его идеалистичность.


Целиком поддерживаю, когда речь идет именно о процессе разработки. Использовать методологии UML для разработки неудобно и накладно, а тем более в небольших проектах. Нужны иные средства (Together и DSL вероятно как раз и есть движение в нужном направлении). В то же время нет никакого смысла заменять UML как средство визуализации. Возвращаясь к своей аналогии с PDF замечу, что все согласны использовать PDF-документы, когда надо обеспечить народ информацией. Но вот писать тексты сразу в формате PDF никто особо не стремится — все больше Word или другие текстовые редакторы пользуем.
Re[32]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 06:10
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>Различаем твёрдое и блестяшее...

AF>>То, что вы говорите — это высокое исккуство ваяние того, что вам взбрело в голову. А я говорю о воплощении в жизнь вполне конкретного замысла. Именно его а не какого либо другого. Так вот если этот замысел нигде не описан, у вас лишь код, который реализует лишь кусок замысла ди и тот возможно — неправильно, в чём замысел заключался узнать не возможно — тогда вариантов нет. Так вот для того, что бы не попасть в такую ситуацию — документы и пишут. На определённом уровне — используют диаграммы.

СА>А вот тут, по-моему, достаточно хорошо структурированных требований. Вот без них действительно никуда. Но эти требования легко пишутся на обычном русском языке и, как правило, не содержат каких-нибудь связей с архитектурой системы.


Все-таки не стоит путать требования и уже разработанную базовую архитектуру системы. Одни и те же требования можно выполнить в рамках разных архитектур. Но когда речь идет о воплощении именно какой-то конкретной архитектуры, то описание требований должно быть дополнено и описанием этой архитектуры.
Re[15]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 06:30
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:

СА>... Уж никак незнанание языка не мешает писать программу. И архитектуру соответственно строить. А если её начинать строить сразу в коде — то на препятствия, налагаемые языком, можно быстро наткнуться и подработать архитектуру. А если её спустить программистам сверху, не зная языка, они будут вынуждены в коде писать какие-то ужасы, которые нафиг не нужны. Простой пример, напроектировать чего-то с применением обратных вызовов при использовании DCOM. Оно, конечно, пишется, но, как правило, проще использовать другое решение. И это — тот случай, когда нужно знать особенности даже не языка, а среды.


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

СА>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?


Если априори исходить из того, что UML никто не знает и знать не хочет, то ваше мнение имеет смысл. Но ведь это не так. И даже упомянутые вами стрелочки вы так хорошо и естественно понимаете и применяете именно потому, что чертежные стандарты давным давно прижились и были приняты всеми. Никому ведь не приходит в голову на словах описывать форму какой-нибудь шестеренки — ее чертеж говорит сам за себя и всем понятен. То же самое и в схемотехнике. Хотя здесь уже для ясного понимания процессов нужен и текст и осциллограммы и пр. (и никто кстати не отрицает необходимость и полезность упрощенных блок-схем). Более молодая область — графические изображения алгоритмов, все те же квадратики, ромбики и стрелочки, пониманию которых учат уже даже в школе. Неужели это не удобно и следует вернуться к великому и могучему? Описания структуры и порядка функционирования информационных систем понадобились относительно недавно. Поэтому и стандарты в этой сфере просто еще не успели окончательно сформироваться. Но отрицать их необходимость неверно.
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 06:41
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>Отцам основателям это удавалось. Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...

СА>Да нормального уровня программист этот синтаксис освоит за неделю. А в течение месяца работы и фишечки. Уж никак незнанание языка не мешает писать программу. И архитектуру соответственно строить. А если её начинать строить сразу в коде — то на препятствия, налагаемые языком, можно быстро наткнуться и подработать архитектуру. А если её спустить программистам сверху, не зная языка, они будут вынуждены в коде писать какие-то ужасы, которые нафиг не нужны. Простой пример, напроектировать чего-то с применением обратных вызовов при использовании DCOM. Оно, конечно, пишется, но, как правило, проще использовать другое решение. И это — тот случай, когда нужно знать особенности даже не языка, а среды.
Вот именно после такого поверхностного освоения за неделю и рождаются монстры, которых потом программистам приходится потом и кровью выписывать. А простая мысль поговорить с программистами — которые всяко лучше разбираются в технологии — в голову не приходила?
Потом дело совсем в другом. Архитектуру в сложной системе нужно описывать так, что бы от кода вообще не зависела. Тут знание языка вообще может быть вредным — так как появляется тенденция подгонять архитектуру под сиюминутные потребности. Кроме того пример с DCOM как раз иллюстрирует ключевой момент о котором я и говорил:

Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...

Если для вас архитектор это тот, кто разрабатывает всё и за всех, а остальные — тупые кодеры, то вы конечно правы. А вот если рассматривать архитектора как человека, который обеспечивает целостность постоения системы в целом — совсем не обязательно.

AF>>Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан. Когда вы обясняете что то в живую вы как правило неявным образом договариваетесь о системе обозначений. Потому вас понимают и вы понимаете. Если что-то не понятно — вы можете об этом спросить отдельно. А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого

СА>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?
Вы хотите сказать, что архитектор или разработчик, которые легко за неделю осваивают синтаксис нового языка не в состоянии за ту же неделю понять, что означает десяток стрелочек?
Re[15]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 06:44
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

B>>Это смотря что вы понимаете под проектированием. В RUP, например, есть понятие модели анализа, модели дизайна и модели имплементации. Модель анализа независима от платформы/языка разработки ... модель дизайна совершенно спокойно модет быть сделана тоже независимой (это лишь вопрос квалификации проектировщика). А вот модель имплементации -- это уже с которой можно генерить исходный код на конкретном языке. Отсюда вывод -- можно, пользуясь вашим термином, ГРАМОТНО спроектировать систему, не зная досконально конкретные языки программирования, как минимум на уровне моделей анализа и дизайна. А имплементацию норамальный разработчик уже на конкретном языке сам напишет , оптимизируя вызовы и прочия ....


СА>Я правильно понимаю, что модель анализа — это ещё вовсе не архитектура классов? А всего лишь чётко выделенная структура предметной области?

СА>И то, что модель дизайна может быть независимой — это накладывает ограничения общность её описания? Т.е. я так понимаю, там не должно быть подробного описания взаимодействия объектов. Скорее уж описание модульного разделения системы и взаимодействия модулей. Так?

Цели у анализа могут быть самые разные — от выявления понятий предметной области до построения как полной модели предметной области, так и модели системы — включая как статику, так и динамику.
Re[35]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 06:49
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Целиком поддерживаю, когда речь идет именно о процессе разработки. Использовать методологии UML для разработки неудобно и накладно, а тем более в небольших проектах. Нужны иные средства (Together и DSL вероятно как раз и есть движение в нужном направлении). В то же время нет никакого смысла заменять UML как средство визуализации. Возвращаясь к своей аналогии с PDF замечу, что все согласны использовать PDF-документы, когда надо обеспечить народ информацией. Но вот писать тексты сразу в формате PDF никто особо не стремится — все больше Word или другие текстовые редакторы пользуем.


В мелких проектах возможно и часто даже полезнее вообще обходиться бумагой и карандашом. Любое качественное документирование — что не применяй — стоит достаточно дорого для того, что бы не имело смысла его делать в небольшом проекте.
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 06:51
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AR>>Разные разделы математики по-разному воспринимаются без картинок. Например дифгеометрию довольно трудно понять без этого. А теория супструн, основанная, кстати, во многом именно на дифгеометрии, — книга отнюдь не понятная. Возможно именно из-за того, что авторы местами пренебрегают графическим средствами иллюстрации своих мыслей. Тому, кстати, есть довольно банальные причины, в корне которых лежит нестандартность этих картинок. Рисование нестандартных (а в теории супструн и дифгеометрии таких стандартов нет) картинок и графических элементов отнимает уйму времени и требует достаточно высокой квалификации от верстальщика (и издатели обычно перекладывают эту работу на самих авторов, а авторы, где могут, избегают это делать).


СА>Всё-таки, даже если в математических книгах и есть картинки, то они описывают не структуру формул, а, грубо говоря, результат их применения. А вот тот же UML — описывает как раз-таки более структуру. Аналогом картинок из математических книг в программировании были бы screenshot'ы.


То есть диаграмма последовательности взаимодействия двух систем друг с другом ближе к реальному коду, с его кучей ньансов, чем к обобщённому логическому описанию процесса?
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 06:55
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>И что в 10% кода содержится описание того, что должно быть в остальных 90%?

AF>>Вселенная, конечно, фрактал, но не до такой же степени...
СА>Вселенная — нет. А грамотно спроектированный код — да. Вот те 90% "мешающегося" при понимании архитектуры кода очень легко спрятать. Этот давно известный приём ООП называется "инкапсуляция".

То есть вы возмьмётесь доволдить до победного конца проект, в котором описано 10% интерфейсов, классов и кода — без какой либо документации или других источников информации о том, что нужно делать?
Прежде чем читать лекции и бросаться умными словами вычитаными в книжках — подумайте исходя из обычного здравого смысла — если вы не знаете что делать и узнать неоткуда — как вы можете сделать именно то, что надо и не что-то случайное?
Re[36]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 06:56
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:

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


Я думаю это просто одно из требований проекта, которое должно ясно формулироваться на этапе формирования всех прочих требований. Нужна ли документация и насколько подробная — это решает заказчик или вытекает из самой предметной области. А размер проекта сам по себе критерием служить не может. Стоит это, разумеется, дорого, в т.ч. и потому, что все ныне существующие методики синхронизации документации и кода весьма трудозатратны.
Re[35]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 06:59
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR> Возвращаясь к своей аналогии с PDF замечу,

Я уже показывал, как ложна эта аналогия.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[16]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 06:59
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR> Но никто пока не говорил, что архитектуру системы следует разрабатывать сразу в коде.

Я этоговорил с самого начала. Код, во всех средствах шел первым пунктом, но с завидным упорством этоого никто не замечал.

AR> Никому ведь не приходит в голову на словах описывать форму какой-нибудь шестеренки — ее чертеж говорит сам за себя и всем понятен.

Чертеж — это скриншот, а не UML-диаграма, если уж Вы без аналогий не можете.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[19]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 06:59
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА> Однако, это верно для очень квалифицированного программиста.

Естественно, но лично я с турдом себе представляю архитектора, который не является квалифицированным программистом...
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[17]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 07:14
Оценка: +1
Здравствуйте, Merle, Вы писали:

AR>> Никому ведь не приходит в голову на словах описывать форму какой-нибудь шестеренки — ее чертеж говорит сам за себя и всем понятен.

M>Чертеж — это скриншот, а не UML-диаграма, если уж Вы без аналогий не можете.

Э, нет! Не соглашусь. Что же тогда фотография этой шестеренки? Именно чертеж, выполненный в рамках стандартов, можно считать аналогией UML-диаграммы. Также, как в чертеже приходится рисовать проекции с разных сторон, а иногда и отдельно изображать внутренности, так и UML-диаграммы приходится рисовать для разных частей системы, а отдельные важнейшие процессы выносить в отдельные диаграммы.
Re[29]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 08:35
Оценка:
СА>>Всё-таки, даже если в математических книгах и есть картинки, то они описывают не структуру формул, а, грубо говоря, результат их применения. А вот тот же UML — описывает как раз-таки более структуру. Аналогом картинок из математических книг в программировании были бы screenshot'ы.

AF> То есть диаграмма последовательности взаимодействия двух систем друг с другом ближе к реальному коду, с его кучей ньансов, чем к обобщённому логическому описанию процесса?


А по вашему код должен выглядеть совсем не так? Мой код структурно очень близок к предметной области. И тут можно выделить последовательность взаимодействия в виде высокоуровневых операций в коде.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[31]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 08:35
Оценка: 1 (1) +1
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Сомов Александр, Вы писали:


AF>>>И что в 10% кода содержится описание того, что должно быть в остальных 90%?

AF>>>Вселенная, конечно, фрактал, но не до такой же степени...
СА>>Вселенная — нет. А грамотно спроектированный код — да. Вот те 90% "мешающегося" при понимании архитектуры кода очень легко спрятать. Этот давно известный приём ООП называется "инкапсуляция".

AF>То есть вы возмьмётесь доволдить до победного конца проект, в котором описано 10% интерфейсов, классов и кода — без какой либо документации или других источников информации о том, что нужно делать?

Не так, 10% кода должны отражать логику работу, а 90% — нюансы.

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

AF>Прежде чем читать лекции и бросаться умными словами вычитаными в книжках — подумайте исходя из обычного здравого смысла — если вы не знаете что делать и узнать неоткуда — как вы можете сделать именно то, что надо и не что-то случайное?

Прежде чем читать лекции, о том что я попосту читаю лекции, лучше понять, что я не читаю лекции, а высказываю свою точку зрения.

Опять же, из функциональных требований, которые сами по себе не требуют UML.

А из грамотно написанного, работающего кода я могу извлечь описание функциональности. Разумеется, то, что в коде не содержится, не будет отражено. Но в этом случае, если была бы документация, то она просто не соответствовала системе. А когда она полностью соответствует, то она становится ненужной (при условии, что код написан хорошо). Причём ненужной, как документация, — необходимость остаётся при разборе дефектов. Но тут опять же архитектурный UML никаким боком не вылазит, достаточно словесных описаний.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[33]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 08:35
Оценка:
AR>Все-таки не стоит путать требования и уже разработанную базовую архитектуру системы. Одни и те же требования можно выполнить в рамках разных архитектур. Но когда речь идет о воплощении именно какой-то конкретной архитектуры, то описание требований должно быть дополнено и описанием этой архитектуры.

Мне, всё таки, кажется, что это просто разные вещи: описания требований и описания архитектуры. Можно работать с незнакомым кодом при наличии первого и отсутствии второго, но не наоборот.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[16]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 09:06
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, Сомов Александр, Вы писали:


СА>>... Уж никак незнанание языка не мешает писать программу. И архитектуру соответственно строить. А если её начинать строить сразу в коде — то на препятствия, налагаемые языком, можно быстро наткнуться и подработать архитектуру. А если её спустить программистам сверху, не зная языка, они будут вынуждены в коде писать какие-то ужасы, которые нафиг не нужны. Простой пример, напроектировать чего-то с применением обратных вызовов при использовании DCOM. Оно, конечно, пишется, но, как правило, проще использовать другое решение. И это — тот случай, когда нужно знать особенности даже не языка, а среды.


AR>Вы привнесли нечто новое в этот спор. До вас тут спорили о том, стоит ли использовать UML для описания архитектуры или в процессе ее разработки. Некоторые убеждали в том, что в процессе разработки лучшим средством являются слюни и бумага. Но никто пока не говорил, что архитектуру системы следует разрабатывать сразу в коде. Т.е. по вашему мы не задумаваясь об архитектуре должны просто садиться и писать код, а там уже глядя в то, что у нас получилось, разбираться. Разумеется особенности среды знать нужно, но замчу также, что не всегда стоит адаптировать свою архитектуру под эти особенности, иногда можно подумать и выборе другой среды, более подходящей под вашу задумку.


Можно и так начинать. У меня уже есть примеры двух успешных проектов, писавшихся также, и находящихся во вполне подъёмной поддержке и постоянном развитии. Разумеется архитектура делается не с самого нуля. Но, например, уже при старте приходилось пару раз серьёзно рефакторить код из-за того, что среда не позволяет делать некоторые вещи. Можно было бы навернуть уровень абстракции, но (и вот тут с позиций архитектуры вообще трудно) — мы сделали сначала это и этот уровень абстракции достаточно серьёзно бил по быстродействию. Не по абстрактному, а по вполне конкретному, так, что до рефакторинга система реально прогибалась под реальным количеством пользователей, а после стало гораздо лучше.

Можно и выбирать среду под задачу, но тогда уже её нужно тоже знать. А речь ведь шла, о том, чтобы делать архитектуру без знания языка и среды.

AR>Если априори исходить из того, что UML никто не знает и знать не хочет, то ваше мнение имеет смысл. Но ведь это не так. И даже упомянутые вами стрелочки вы так хорошо и естественно понимаете и применяете именно потому, что чертежные стандарты давным давно прижились и были приняты всеми. Никому ведь не приходит в голову на словах описывать форму какой-нибудь шестеренки — ее чертеж говорит сам за себя и всем понятен. То же самое и в схемотехнике. Хотя здесь уже для ясного понимания процессов нужен и текст и осциллограммы и пр. (и никто кстати не отрицает необходимость и полезность упрощенных блок-схем). Более молодая область — графические изображения алгоритмов, все те же квадратики, ромбики и стрелочки, пониманию которых учат уже даже в школе. Неужели это не удобно и следует вернуться к великому и могучему? Описания структуры и порядка функционирования информационных систем понадобились относительно недавно. Поэтому и стандарты в этой сфере просто еще не успели окончательно сформироваться. Но отрицать их необходимость неверно.


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

С чертёжными стандартами немного не так. Трёхмерное пространство — это очень узкое ограничение на предметную область, поэтому есть понятный и лаконичный язык. Чертежи — это ведь и есть код по сути. Они полностью описывают объект со всеми нюансами.

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

А что касается графического представления — оно не всегда лучше. Вот ту же математику я читал и без всяких картинок — и вполне неплохо. Когда менее 7 (+-2) объектов — их можно и из текста прочитав в уме держать, а когда больше — всё равно потонешь в деталях, даже если картинка перед тобой. Ну так я за то, чтобы код был так организован, чтобы эти детали были спрятаны. А не за то, чтобы делать графическую копию кода, в которой просто нет большого числа деталей.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[16]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 09:06
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Сомов Александр, Вы писали:


AF> Вот именно после такого поверхностного освоения за неделю и рождаются монстры, которых потом программистам приходится потом и кровью выписывать. А простая мысль поговорить с программистами — которые всяко лучше разбираются в технологии — в голову не приходила?

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

AF> Потом дело совсем в другом. Архитектуру в сложной системе нужно описывать так, что бы от кода вообще не зависела. Тут знание языка вообще может быть вредным — так как появляется тенденция подгонять архитектуру под сиюминутные потребности. Кроме того пример с DCOM как раз иллюстрирует ключевой момент о котором я и говорил:

AF>

AF>Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...

Да... на самом деле, я понял, мы почти об одном говорим. Просто нынче первая используемая библиотека идёт чуть ли не с языком в поставке. Вот я её имел в виду, когда писал. Вот её — да, нужно знать. Но если так, то у нас архитектура строится библиотекозависимо. А это достаточно серьёзная привязка к тому же языку, например. Это знания всё равно будут соседствовать. Т.е. это ещё не тот уровень, который не зависит от окружения. Если так, то много нюансов окружения придётся включать в архитектуру. И, опять же, разве не код (ну и, где совсем необходимо, текстовое описание) может содержать эти нюансы.

Можно ведь и архитектуру поддерживать, и картинки не рисовать. Высокоуровневая (модульная) архитектура и так практически от кода не зависит, а уровень взаимодействия объектов внутри модулей в программе меняется уже без особых усилий. И заранее нужно писать именно высокоуровневую архитектуру и там не то, что картинок, а текста-то на страничку — две. А внутримодульный уровень писать отдельно от кода смысла нет.

AF>Если для вас архитектор это тот, кто разрабатывает всё и за всех, а остальные — тупые кодеры, то вы конечно правы. А вот если рассматривать архитектора как человека, который обеспечивает целостность постоения системы в целом — совсем не обязательно.

Ну первое вовсе не обязательно. Я ведь тоже могу условий напридумывать, при которых и вы правы безоговорочно (ну, например, при условии, что 2+2=5), но ведь эти условия не имеют отношения к вашей точке зрения. Также и я не придерживаюсь того, что "архитектор это тот, кто разрабатывает всё и за всех, а остальные — тупые кодеры". Ну а что без этого условия я прав не безоговорочно, так это для всех верно. Боги у нас на форуме не тусуются.

Более того (хрен с ним, формальным разбором вашего тезиса) — я даже и не понял, как им боком это следует из моих слов. Ну не наоборот ли я утверждал, что архитектор должен быть как можно ближе к разработке (а то и вовсе быть в ней на равных правах с остальными)?

AF>>>Затем, что любой язык, который применяется не для живого общения, а для документации — которую может читать специалист не знакомый с автором опуса, должен быть описан. Когда вы обясняете что то в живую вы как правило неявным образом договариваетесь о системе обозначений. Потому вас понимают и вы понимаете. Если что-то не понятно — вы можете об этом спросить отдельно. А теперь представьте, что вам принесли диаграмму — на которой неизвестные вам обозначения и спросить некого

СА>>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?
AF>Вы хотите сказать, что архитектор или разработчик, которые легко за неделю осваивают синтаксис нового языка не в состоянии за ту же неделю понять, что означает десяток стрелочек?
Освоит. Но зачем? До кучи?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[20]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 09:06
Оценка: 1 (1) +1 :)
СА>> Однако, это верно для очень квалифицированного программиста.
M>Естественно, но лично я с турдом себе представляю архитектора, который не является квалифицированным программистом...
А я об этом и говорю. Да здравствует код! Долой UML!
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[16]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 09:06
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Сомов Александр, Вы писали:


B>>>Это смотря что вы понимаете под проектированием. В RUP, например, есть понятие модели анализа, модели дизайна и модели имплементации. Модель анализа независима от платформы/языка разработки ... модель дизайна совершенно спокойно модет быть сделана тоже независимой (это лишь вопрос квалификации проектировщика). А вот модель имплементации -- это уже с которой можно генерить исходный код на конкретном языке. Отсюда вывод -- можно, пользуясь вашим термином, ГРАМОТНО спроектировать систему, не зная досконально конкретные языки программирования, как минимум на уровне моделей анализа и дизайна. А имплементацию норамальный разработчик уже на конкретном языке сам напишет , оптимизируя вызовы и прочия ....


СА>>Я правильно понимаю, что модель анализа — это ещё вовсе не архитектура классов? А всего лишь чётко выделенная структура предметной области?

СА>>И то, что модель дизайна может быть независимой — это накладывает ограничения общность её описания? Т.е. я так понимаю, там не должно быть подробного описания взаимодействия объектов. Скорее уж описание модульного разделения системы и взаимодействия модулей. Так?

AF>Цели у анализа могут быть самые разные — от выявления понятий предметной области до построения как полной модели предметной области, так и модели системы — включая как статику, так и динамику.


Я просто имел в виду, что тот анализ, про который вы говорите, он же к предметной области относится, а реализация — уже строится по результатам анализа. Или я опять не угадал?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[21]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 09:27
Оценка:
Здравствуйте, IT, Вы писали:

IT>Здравствуйте, AndreyFedotov, Вы писали:


AF>> Это далеко не всегда возможно. Простой пример: разработка крупного программно-аппаратного комплекса. В таком комплексе зачастую одни и теже алгоритмы реализуются на различной аппаратуре, причём видов этой аппратуры — 30-40. Система структурируется и каждый уровень должен быть грамотно описан, что бы различные разработчики делали аппаратуру под один и тот же стандарт. Тем более, если часть аппратуры или ПО разрабатываются вовне — в другом городе и тем более стране. Вот и попробуй в таких условиях выделить 20-30 человек, которые всё сделают...


IT>А описывается стандарт или алгоритмы?


Описывать приходится всё что угодно:
— Общую идеологию
— Бизнес-процессы
— Структуру системы (из чего она состоит)
— Развёртывение системы (где что установлено и как это взаимодействует)
— Используемые технологии
— Интерфейсы
— Стандарты
— Алгоритмы
— Протоколы (как железячные так и программные)
И т.д. и т.п.
Re[17]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 09:47
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:

СА>Разумеется, удобно было бы такой стандарт иметь. И вот как раз в качестве такового UML кажется не очень удачным. В частности из-за того, что непонятно в качестве чего позиционируется. Всё же для разных видов деятельности нужны разные обозначения. А здесь пытаются его применить и для предметной области и для программной архитектуры и много ещё чего. Так его излишняя гибкость затрудняет его изучение и серьёзно снижает его ценность. Им просто неудобно пользоваться. Почти всегда легче написать слова, чем пытаться втискивать их в UML, при том, что слова ничуть не хуже (а зачастую лучше) будут поняты.


СА>С чертёжными стандартами немного не так. Трёхмерное пространство — это очень узкое ограничение на предметную область, поэтому есть понятный и лаконичный язык. Чертежи — это ведь и есть код по сути. Они полностью описывают объект со всеми нюансами.


СА>А UML — язык, призванный описывать абстракцию от кода. Так ещё даже не сложились стандарты, что является этой абстракций, а что — нюансами. Это во-первых. А во-вторых, некоторые уровни абстракции вводятся в языки. В этом плане мне как раз больше нравится путь не от UML к генерации кода, а от абстракции самого кода, и выделения в нём этих сущностей.


А вот здесь я с вами вероятно согласен. Вы высказываете примерно те же мысли, которые я пытался объяснить в самом начале этого спора. Есть проблема с тем, что UML с самого своего возникновения пытается объять необъятное и залезть во все дыры, в то время как его реальная площадка гораздо уже. И проблему никак нельзя решить развитием/расширением UML (например, введением в него каких-то еще графов) — нужно развивать средства проектирования, работающие с исходным кодом.
Re: UML
От: bralgin США www.dwh-club.com
Дата: 16.06.05 10:09
Оценка:
Здравствуйте, ВСЕ УЧАСТНИКИ ОБСУЖДЕНИЯ, Вы писали:


Господа! Предлагаю определится с терминологией! А то, похоже, каждый под архитектурой понимает что-то свое:
кто бизнес логику, кто иерархию объектов, etc.
http://www.flickr.com/photos/bralgin/
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 10:19
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>>>Всё-таки, даже если в математических книгах и есть картинки, то они описывают не структуру формул, а, грубо говоря, результат их применения. А вот тот же UML — описывает как раз-таки более структуру. Аналогом картинок из математических книг в программировании были бы screenshot'ы.


AF>> То есть диаграмма последовательности взаимодействия двух систем друг с другом ближе к реальному коду, с его кучей ньансов, чем к обобщённому логическому описанию процесса?


СА>А по вашему код должен выглядеть совсем не так? Мой код структурно очень близок к предметной области. И тут можно выделить последовательность взаимодействия в виде высокоуровневых операций в коде.


То есть в твоём коде отсутствуют ключи, идентификаторы, указатели или ссылки — в общем всё то, что отсутствует в предметной области?
Интресно — и как он при этом работает?
Re[32]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 10:27
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Здравствуйте, Сомов Александр, Вы писали:


AF>>>>И что в 10% кода содержится описание того, что должно быть в остальных 90%?

AF>>>>Вселенная, конечно, фрактал, но не до такой же степени...
СА>>>Вселенная — нет. А грамотно спроектированный код — да. Вот те 90% "мешающегося" при понимании архитектуры кода очень легко спрятать. Этот давно известный приём ООП называется "инкапсуляция".

AF>>То есть вы возмьмётесь доволдить до победного конца проект, в котором описано 10% интерфейсов, классов и кода — без какой либо документации или других источников информации о том, что нужно делать?

СА>Не так, 10% кода должны отражать логику работу, а 90% — нюансы.
Про должны — это теория. А если не отражают? А если, как это часто бывает, зказчик хочет, что бы сначала заработала часть функционала, а потом делалось всё остальное — и именно этот кусок + обвязка которая ему нужна и реализованы?

СА>Насчёт доводить — функциональные требования нужны всегда, а с ними — да, возьмусь. В этой области UML один из инструментов описания и даже не самый удобный.

То есть тезис о том, что кода достаточно вы только что сами же и отвергли...

СА>Опять же, из функциональных требований, которые сами по себе не требуют UML.

Да, как уже многократно говорилось, обойтись можно. И в зависимости от ситуации это будет разумно использовать UML или не использовать.

СА>А из грамотно написанного, работающего кода я могу извлечь описание функциональности. Разумеется, то, что в коде не содержится, не будет отражено.

То есть нужна документация описывющая модель.
СА>Но в этом случае, если была бы документация, то она просто не соответствовала системе. А когда она полностью соответствует, то она становится ненужной (при условии, что код написан хорошо). Причём ненужной, как документация, — необходимость остаётся при разборе дефектов. Но тут опять же архитектурный UML никаким боком не вылазит, достаточно словесных описаний.
Система может быть написана плохо и действительно не отражать модель. Но ценность часто имеет именно модель, а не сам код — особенно в крупных проектах.
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 10:39
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>Здравствуйте, AndreyFedotov, Вы писали:


AF>>Здравствуйте, Сомов Александр, Вы писали:


AF>> Вот именно после такого поверхностного освоения за неделю и рождаются монстры, которых потом программистам приходится потом и кровью выписывать. А простая мысль поговорить с программистами — которые всяко лучше разбираются в технологии — в голову не приходила?

СА>Да вовсе нет. Своевременный грамотный рефакторинг ещё и из не таких дыр выбраться позволяет. Хуже, когда упорно пишутся всё новые и новые абстракции под архитектуру, которая ну никак не соответствует выбранной среде. Я год жил с такой спущенной сверху архитектурой. В итоге, её просто выкинули, а программа была отрефакторена. С тех пор она быстро и качественно развивается.
То есть вы нарушили ключевое условие: учёт особенностей архитектуры выбранной среды. Опять таки — это имеет отношение к среде, но не к языку. Исходный тезис был про знание синтакиса языка. Про особенности архитектуры ничего не говорилось.

AF>> Потом дело совсем в другом. Архитектуру в сложной системе нужно описывать так, что бы от кода вообще не зависела. Тут знание языка вообще может быть вредным — так как появляется тенденция подгонять архитектуру под сиюминутные потребности. Кроме того пример с DCOM как раз иллюстрирует ключевой момент о котором я и говорил:

AF>>

AF>>Секрет в том, что бы знать принципы построения языков и архитектуру используемых библиотек, а вот синтаксис — вовсе не обязательно...

СА>Да... на самом деле, я понял, мы почти об одном говорим. Просто нынче первая используемая библиотека идёт чуть ли не с языком в поставке. Вот я её имел в виду, когда писал. Вот её — да, нужно знать. Но если так, то у нас архитектура строится библиотекозависимо. А это достаточно серьёзная привязка к тому же языку, например. Это знания всё равно будут соседствовать. Т.е. это ещё не тот уровень, который не зависит от окружения. Если так, то много нюансов окружения придётся включать в архитектуру. И, опять же, разве не код (ну и, где совсем необходимо, текстовое описание) может содержать эти нюансы.
Совершенно верно. С поправкой на то, что библиотека может быть инвартантна по отношению языку (.NET) или по отношению к платформе (QT).
Потому тут три наиболее характерных пути. Первый — когда мы согласны с привязкой к библиотеке/платформе — тогда мы можем подгонять архитектуру под её особенности. В мелком проекте так обычно и делается. Второй — когда нам требуется инвариантность к библиотеке/платформе. В этом случае разрабатывают API — который должен обеспечивать эту инвариантность и архитектура делается под него. И наконец, в крупных и дорогих проектах требуется инвариантность по отношению к реализации нижележащих уровней. В этом случае на верхнем уровне архитектура может быть сколь угодно абстрактна и до определённой степени вообще игнорировать какие-либо особенности платформ.

СА>Можно ведь и архитектуру поддерживать, и картинки не рисовать. Высокоуровневая (модульная) архитектура и так практически от кода не зависит, а уровень взаимодействия объектов внутри модулей в программе меняется уже без особых усилий. И заранее нужно писать именно высокоуровневую архитектуру и там не то, что картинок, а текста-то на страничку — две. А внутримодульный уровень писать отдельно от кода смысла нет.

Теория. Такое возможно только в мелкой системе. В крупной это уже 20-30 страничек, если не 200-300.

AF>>Вы хотите сказать, что архитектор или разработчик, которые легко за неделю осваивают синтаксис нового языка не в состоянии за ту же неделю понять, что означает десяток стрелочек?

СА>Освоит. Но зачем? До кучи?
Для того, что бы понимать друг-друга даже если мысли описаны на бумаге...
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 10:44
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR> Вы высказываете примерно те же мысли, которые я пытался объяснить в самом начале этого спора.

С этими мыслями никто и не спорит, не соглашаются с другим Ваши утверждением, что UML хорошо подходит для документирования готового кода.
Тут во-первых сама посылка не верна, хороший код не нуждается в документировании, а во-вторых, идея не удачна, уж если документировать то нет смысла изобретать для этого новый язык.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 10:44
Оценка: :)))
Здравствуйте, bralgin, Вы писали:

B>Господа! Предлагаю определится с терминологией!

Не надо, так интереснее..
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[2]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 10:45
Оценка:
Здравствуйте, bralgin, Вы писали:

B>Здравствуйте, ВСЕ УЧАСТНИКИ ОБСУЖДЕНИЯ, Вы писали:



B>Господа! Предлагаю определится с терминологией! А то, похоже, каждый под архитектурой понимает что-то свое:

B>кто бизнес логику, кто иерархию объектов, etc.

Совершенно верно. А заодно и о том, о каких системах идёт речь. Так как налицо когда сопоставляются методы для разработки бухгалтерских программок на месяц работы и крупных аппаратно-программных компелксов на 1000 человеколет.
Re[18]: UML
От: Merle Австрия http://rsdn.ru
Дата: 16.06.05 11:04
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> То есть вы нарушили ключевое условие: учёт особенностей архитектуры выбранной среды.

Не нарушили, а как раз наоборот. Учета не было с самого начала, а потом переделали с этим учетом.

AF>Исходный тезис был про знание синтакиса языка.

Исходный тезис был вообще не про синтаксис, а про умение программировать на уровне своих разарботчиков на языке на котором будет вестись разработка.

AF> Для того, что бы понимать друг-друга даже если мысли описаны на бумаге...

Для этого UML не нужен.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[31]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:11
Оценка: 1 (1)
СА>>А по вашему код должен выглядеть совсем не так? Мой код структурно очень близок к предметной области. И тут можно выделить последовательность взаимодействия в виде высокоуровневых операций в коде.

AF>То есть в твоём коде отсутствуют ключи, идентификаторы, указатели или ссылки — в общем всё то, что отсутствует в предметной области?

AF>Интресно — и как он при этом работает?

Хм... да ведь это же всё, что запятые в тексте. Читать-то нисколько не мешают.

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

К тому (можно я тоже попередёргиваю ) — в предметной области, как правило и стрелочек с рамочками нет.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[33]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:11
Оценка:
AF>>>То есть вы возмьмётесь доволдить до победного конца проект, в котором описано 10% интерфейсов, классов и кода — без какой либо документации или других источников информации о том, что нужно делать?
СА>>Не так, 10% кода должны отражать логику работу, а 90% — нюансы.
AF> Про должны — это теория. А если не отражают? А если, как это часто бывает, зказчик хочет, что бы сначала заработала часть функционала, а потом делалось всё остальное — и именно этот кусок + обвязка которая ему нужна и реализованы?
Да какая разница — какое там отношение процентное. Просто код, отражающий нюансы, должен быть инкапсулирован. А то, что останется — читать несложно. И поддерживать несложно.

А что касается написания части функциональности — есть две модели: гибкая и негибкая. В первой мы не будем писать дополнительный код сверх части функционала (тоже неплохо, а вдруг потом заказчик обанкротится, а так — мы не затратим лишних усилий ), а во второй — запланируем сразу. По моим ощущениям (даже и не расчитывайте на объективность мнения ) — временные затраты в первом случае (плюс рефакторинг и доведение до полного функционала) и во втором случае (полная архитектура, часть функциональность, доведение до полной) будут примерно одинаковы. А вот риск в первом случае вроде как меньше. Хотя он тоже растёт с ростом величины проекта.

СА>>Насчёт доводить — функциональные требования нужны всегда, а с ними — да, возьмусь. В этой области UML один из инструментов описания и даже не самый удобный.

AF> То есть тезис о том, что кода достаточно вы только что сами же и отвергли...
Для понимания архитектуры — достаточно, для развития и исправления дефектов — недостаточно.

СА>>Опять же, из функциональных требований, которые сами по себе не требуют UML.

AF> Да, как уже многократно говорилось, обойтись можно. И в зависимости от ситуации это будет разумно использовать UML или не использовать.
Ну вот. А я предлагаю структурировать код, чтобы и архитектура (не функциональные требования) им же просто и описывалась. Чтобы этот не очень удобный инструмент (UML то есть) и вовсе не был нужен.

СА>>А из грамотно написанного, работающего кода я могу извлечь описание функциональности. Разумеется, то, что в коде не содержится, не будет отражено.

AF> То есть нужна документация описывющая модель.
СА>>Но в этом случае, если была бы документация, то она просто не соответствовала системе. А когда она полностью соответствует, то она становится ненужной (при условии, что код написан хорошо). Причём ненужной, как документация, — необходимость остаётся при разборе дефектов. Но тут опять же архитектурный UML никаким боком не вылазит, достаточно словесных описаний.
AF> Система может быть написана плохо и действительно не отражать модель. Но ценность часто имеет именно модель, а не сам код — особенно в крупных проектах.
А как хорошо, когда там ещё и код модель отражает.

Мы же не говорим о том, как быть с уже написанной лапшой, мы говорим, как писать код так, чтобы он не требовал (или требовал минимум) подобных дополнений.

Как работать с лапшой — это уже совсем другая головная боль.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[19]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:12
Оценка:
AR>> Вы высказываете примерно те же мысли, которые я пытался объяснить в самом начале этого спора.
M>С этими мыслями никто и не спорит, не соглашаются с другим Ваши утверждением, что UML хорошо подходит для документирования готового кода.
M>Тут во-первых сама посылка не верна, хороший код не нуждается в документировании, а во-вторых, идея не удачна, уж если документировать то нет смысла изобретать для этого новый язык.

Код — не нуждается. А функциональность нуждается. Иначе у нас нет эталона, к которому приводить код.

А про второе, насколько я понял, Alexey Rovdo и не говорит.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[18]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:12
Оценка:
AF>>> ...пропущено...
Почти согласен.

AF>>>Вы хотите сказать, что архитектор или разработчик, которые легко за неделю осваивают синтаксис нового языка не в состоянии за ту же неделю понять, что означает десяток стрелочек?

СА>>Освоит. Но зачем? До кучи?
AF> Для того, что бы понимать друг-друга даже если мысли описаны на бумаге...
Возможно. Но лучше освоить настолько же родной язык и свои же мозги. Это как из неверных UML картинок получаются неверные программы, так и из каши в голове получается каша. А какая разница — будет она в словах или в картинках. А если всё чётко — слов более чем достаточно.

Проблема ведь, как правило, не в том, UML или не UML, а в том, работает голова как надо или нет. А UML — один из (и не более того) инструментов. Вовсе не обязательный и не всегда удобный. Я бы вообще не стал утверждать, что он где-то особо нужен или напротив не применим. Но вот я его не выбрал. И не использую. Он мне не нравится. И бумажек со словами хватает.

Сама концепция — общего языка — очень неплохая. Реализация — не тянет. Да и дублирование, мне кажется, на этом пути можно устранить, совместим архитектуру и код. Для этого и то и то нужно править. Нынешние языки не очень хорошо для совмещения подходят, UML — тоже.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[3]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:12
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, bralgin, Вы писали:


B>>Здравствуйте, ВСЕ УЧАСТНИКИ ОБСУЖДЕНИЯ, Вы писали:



B>>Господа! Предлагаю определится с терминологией! А то, похоже, каждый под архитектурой понимает что-то свое:

B>>кто бизнес логику, кто иерархию объектов, etc.

AF>Совершенно верно. А заодно и о том, о каких системах идёт речь. Так как налицо когда сопоставляются методы для разработки бухгалтерских программок на месяц работы и крупных аппаратно-программных компелксов на 1000 человеколет.


Ну. Так сразу всё интересное кончится, потому что будет сразу видно, что в одних случая UML хорошо применяется, а в других — не очень, и потому все и спорят.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[19]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:13
Оценка:
AF>>Исходный тезис был про знание синтакиса языка.
M>Исходный тезис был вообще не про синтаксис, а про умение программировать на уровне своих разарботчиков на языке на котором будет вестись разработка.
Согласен.

AF>> Для того, что бы понимать друг-друга даже если мысли описаны на бумаге...

M>Для этого UML не нужен.
Ещё раз согласен.

... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[4]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 11:18
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>Совершенно верно. А заодно и о том, о каких системах идёт речь. Так как налицо когда сопоставляются методы для разработки бухгалтерских программок на месяц работы и крупных аппаратно-программных компелксов на 1000 человеколет.


СА>Ну. Так сразу всё интересное кончится, потому что будет сразу видно, что в одних случая UML хорошо применяется, а в других — не очень, и потому все и спорят.


А так тут оказывается процесс главное! Спор ради спора? Ну тогда радуйтейсь — вы победили! I'm quit
Re[5]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:23
Оценка:
AF>А так тут оказывается процесс главное! Спор ради спора? Ну тогда радуйтейсь — вы победили! I'm quit
Да ладно. Это я иронизирую по поводу появления вопроса, который практически и является решением проблемы.

А на самом деле все к одному мнению не придут. То пользы — только разные точки зрения послушать.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[19]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 16.06.05 11:46
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:

СА>... Но лучше освоить настолько же родной язык и свои же мозги. Это как из неверных UML картинок получаются неверные программы, так и из каши в голове получается каша. А какая разница — будет она в словах или в картинках. А если всё чётко — слов более чем достаточно. ...


Кстати, мы тут все пишем о тексте, комментариях в коде и на словах. А вот на каком собственно языке должны быть эти комментарии? Мне кажется, что ценность таких стандартов как UML состоит еще и в том, что они позволяют легче переступать банальные языковые проблемы. Все таки UML освоить можно быстрее, чем научиться грамотно излагать свои мысли хотя бы даже по английски.

СА>Сама концепция — общего языка — очень неплохая. Реализация — не тянет. Да и дублирование, мне кажется, на этом пути можно устранить, совместим архитектуру и код. Для этого и то и то нужно править. Нынешние языки не очень хорошо для совмещения подходят, UML — тоже.


Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:
1) Расширить возможности UML и инструментария для работы с ним, включив в него возможности для встраивания исходного кода непосредственно в UML-модели (путь описанный _Obelisk_). В таком варианте исходный код может автоматически генерироваться прямо из полной UML-модели.
2) Расширить возможности исходного года и инструментария по работе с исходным кодом с тем, чтобы обеспечить комфортную работу архитекторов именно с исходным кодом, но не на уровне конкретных строк, а на уровне самой модели системы. В таком варианте UML-модели могут автоматически генерироваться из исходного кода. (путь в некотором приближении близкий идиологии Together и DSL).
3) Заменить UML чем-то иным.

Вариант "отказаться от UML и оставить все как есть" я все-таки пропускаю. Что бы выбрали вы?
Re[20]: UML
От: Сомов Александр Россия  
Дата: 16.06.05 11:49
Оценка:
AR>Кстати, мы тут все пишем о тексте, комментариях в коде и на словах. А вот на каком собственно языке должны быть эти комментарии? Мне кажется, что ценность таких стандартов как UML состоит еще и в том, что они позволяют легче переступать банальные языковые проблемы. Все таки UML освоить можно быстрее, чем научиться грамотно излагать свои мысли хотя бы даже по английски.
А комментарии в коде при том, что код понятен — тоже не нужны. А вот идентификаторы — однозначно на английском. Если что — Lingvo поможет.

СА>>Сама концепция — общего языка — очень неплохая. Реализация — не тянет. Да и дублирование, мне кажется, на этом пути можно устранить, совместим архитектуру и код. Для этого и то и то нужно править. Нынешние языки не очень хорошо для совмещения подходят, UML — тоже.


AR>Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:

AR>...
AR>Вариант "отказаться от UML и оставить все как есть" я все-таки пропускаю. Что бы выбрали вы?
Да в принципе, все три вполне подходят. Только вот кто бы сделал.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[20]: UML
От: Mystic Украина http://mystic2000.newmail.ru
Дата: 16.06.05 13:09
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:


Мне нравится идея литературного программирования. Но по этому пути никто не пошел
... << RSDN@Home 1.1.3 stable >>
Re[21]: UML
От: AndreyFedotov Россия  
Дата: 16.06.05 13:22
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>>> Однако, это верно для очень квалифицированного программиста.

M>>Естественно, но лично я с турдом себе представляю архитектора, который не является квалифицированным программистом...
СА>А я об этом и говорю. Да здравствует код! Долой UML!

Гениально. Правда я где то видел обратный лозунг:
Долой код! Да здравствует UML!
Да и денег у них поболее будет...
Re[20]: UML
От: nixite  
Дата: 16.06.05 14:05
Оценка:
AR>Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:
AR>1) Расширить возможности UML и инструментария для работы с ним, включив в него возможности для встраивания исходного кода непосредственно в UML-модели (путь описанный _Obelisk_). В таком варианте исходный код может автоматически генерироваться прямо из полной UML-модели.

Ужаснейший вариант, просто страшно становиться если это кто-то сделает... чем это лучше RAD-средств, абстракция иная только. Представляете как с этим работать...

AR>2) Расширить возможности исходного года и инструментария по работе с исходным кодом с тем, чтобы обеспечить комфортную работу архитекторов именно с исходным кодом, но не на уровне конкретных строк, а на уровне самой модели системы. В таком варианте UML-модели могут автоматически генерироваться из исходного кода. (путь в некотором приближении близкий идиологии Together и DSL).


Были такие интересные идеи помнится, как абстрагироваться от файлов и от места хранения, вроде того что достаточно СУБД по проекту, код представим структурами и классами и навигация идёт не по файлам, что в принципе не очень удобно ибо искуственно разными способами всё группируется и логически выстраивается, а от классов... вобщем идеи явы мне нравятся, реализация вообще не нравится
Из такой концепции однозначно строиться любая UML или что-то иное позволяющее просмотреть взаимодействие классов/объектов, стурктура этих классов и может является с одного представления UML, с другого обычным кодом, редактировать такое будет просто с одной стороны можно графически, с другой текстово... по-моему удобно, возможно это путь DSL, я пока что это не видел.

AR>3) Заменить UML чем-то иным.


я бы выбрал 3. или по крайней мере пересмотреть UML от и до -- рефакторинг вобщем.

p.s. кстати на Use Case мне откровенно смотреть проивно ибо кажется поделкой из десткого сада. Его целесообразность вообще мне сомнительна. Текстовый документ описывающий всё тоже самое более подробно и ясно, займёт меньше места, сэкономит бумагу и время.
Re[21]: UML
От: _Obelisk_ Россия http://www.ibm.com
Дата: 16.06.05 19:51
Оценка: +1
Здравствуйте, nixite, Вы писали:


AR>>Да, сегодня архитектура и код оказались разъединенными. Но вот каким образом их соединить? Представляется три возможных варианта:

AR>>1) Расширить возможности UML и инструментария для работы с ним, включив в него возможности для встраивания исходного кода непосредственно в UML-модели (путь описанный _Obelisk_). В таком варианте исходный код может автоматически генерироваться прямо из полной UML-модели.

N>Ужаснейший вариант, просто страшно становиться если это кто-то сделает... чем это лучше RAD-средств, абстракция иная только. Представляете как с этим работать...


Уже сделали. Вполне нормально получается. Просто есть задачи, где UML можно и нужно использовать в качестве языка разработки.
В прошлом, такое делалось и для других языков спецификаций. Визуальные CASE-средства для языков типа SDL или TTCN уже больше десятка лет существуют. А они как раз позволяют встраивать исходный код в модели. CASE-средства эти вполне успешно применяются при разработки очень крупных программно-аппартных комплексов. UML — просто закономерное развитие этого процесса.
Беда в том, что в России программисты с этим почти не сталкиваются, ввиду отсутствия серьезных производителей всякой высокотехнологичной электроники.



Душа обязана трудиться! (с) Н.Заболоцкий.
Re[28]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 07:50
Оценка: 3 (1) +1
Здравствуйте, Сомов Александр, Вы писали:

СА>Всё-таки, даже если в математических книгах и есть картинки, то они описывают не структуру формул, а, грубо говоря, результат их применения. А вот тот же UML — описывает как раз-таки более структуру. Аналогом картинок из математических книг в программировании были бы screenshot'ы.


Ага, например, скриншоты библиотеки какой нибудь нейросетевой ...
Re[34]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 07:57
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, byur, Вы писали:


B>> Вы просто выражаете свои проектные мысли на этом языке ... это несколько удобнее, например для обсуждения проектных решений, чем использование кода ... особенно, если мы еще до кода не добрались.

M>Чем может быть удобнее два языка, когда можно обойтись одним?

В том-то и дело, что не удается обойтись только чем-то одним ... цели у языков разные. Для проектирования, например бизнес-систем, не нужны подробности, которе есть в исходниках. И проектировать я предпочитаю не в коде ...
Re[22]: UML
От: AndreyFedotov Россия  
Дата: 17.06.05 08:32
Оценка:
Здравствуйте, _Obelisk_, Вы писали:

_O_>Уже сделали. Вполне нормально получается. Просто есть задачи, где UML можно и нужно использовать в качестве языка разработки.

_O_>В прошлом, такое делалось и для других языков спецификаций. Визуальные CASE-средства для языков типа SDL или TTCN уже больше десятка лет существуют. А они как раз позволяют встраивать исходный код в модели. CASE-средства эти вполне успешно применяются при разработки очень крупных программно-аппартных комплексов. UML — просто закономерное развитие этого процесса.
Полностью поддерживаю.
Всегда можно придумать такую ситуацию, где самое совершенное средство будет не эффективно. Если вам нужно распечатать ОДНУ платёжку и в ЕДИНСТВЕННОМ экземпляре то программирование в этом будет только мешать. Теперь в стиле критике UML можно сделать далеко идущие выводы...

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

Именно. У нас привыкли думать, что мы тут крутые, потому что бухгалтерский софт писать умеем, а ведь в мире делается полно такого о чём у нас зачасую или вообще не имеют представление или имеют очень смутное представление. Взять те же САПР. Или суперкомпьютерные приложения. У нас об этом слышал один из деясти, ну а работал в этой области один из десяти тысяч, если не из миллиона. Но зато все уверенно рассуждают о том, что UML там не нужен.
Re[30]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 08:39
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>Я вот проектировщик/архитектор. И мне проще выделить базовый код архитектуры, чтобы он не перемешивался с остальным, чем строить абстрактные схемы "не ... на уровне кода". Более того, иногда приходится следить, что архитектура соблюдается. И тут опять же, без выделенного уровня будет тяжело.


Каждый работает так как ему удобней ... в многообразии -- единство

B>>Выдержка из вашего сайта о вас же ...

СА>Я, хоть во многом с Mystic'ом не согласен, но, всё же, это уже переход на личности. Вам что, кроме этого, больше нечего сказать по содержанию?

Просто это аргументация бессмысленности дискусси конкретно с этим участником ... и все.

СА>В любом случае, до определённых пределов можно соблюдать такую коммуникацию, что UML не нужен. Обычный язык достаточно эффективен. Следом, по эффективности, идёт код. А затем только формальные картинки. И вот архитектор должен хорошо владеть этими средствами в перечисленном порядке.


Что есть эффективность? Эффективность эффективности рознь ...
Re[34]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 09:29
Оценка: 3 (1) +1
Здравствуйте, nixite, Вы писали:


B>>Толк это вещь сложная, неопределенная и непонятная. Проще говорить что Domain Model по определению вообще независит от реализации .

N>я конечно понимаю, что знание какого либо языка (даже UML) не обязательно для описания процессов происходящих в жизни, буть то тех-процессы, бизнес-процессы, то что описывает автоматизируемую систему, в случае автоматизации чего-либо, но ведь это не архитектура ПО.

Интересно, в чем отличие "тех-процессов" и "бизнес-процессов"? А кто говорит, что описание БП есть архитектура???? Что-то я такого в этой ветке не встречал ...

N>И безусловно из вашей модели предметной области ну никак однозначно програмную систему построить нельзя, без промежуточных этапов проектирования. А знания языка, ОС, и прочего на этапе проектирования для реализации по-моему просто необходммы... Как вы будете проектировать 3D реадктор скажем, не зная о сушествовании OpenGL и DirectX, а также их особенности, или как


Стоп ... я думаю, что все прекрасно поминамают, раз дискутируют о применимости UML и вопросах методологий, где он используется, в каких случаях эффективно строить Domain Model а в каких нет, это даже в Rational Edge писали, году в 2001 кажись ... и конечно же знаете, что есть таки отличие в системах для автоматизации деятельности организации и например, офисными приложениями или как в вашем случае 3D редактора. Кроме этого, как я говорил Domain Model относиться к Модели анализа, а не дизайна ... . Так что IMHO не вполне корректный пример.

N>вы будете проектировать не зная что в C++ возможно множественное наследование, а в Object Pascal нет, и даже наследование интерфейсов не возможно множественное. Модель модели рознь, и


Именно, это важно только при построении Platform Specific models ... как я говорил что можно жить даже в модели дизайна (при наличии определенной квалификации) без этого. Кстати это часто демонстрируют на презентациях своих продуктов их производители (IBM так точно показывал, лично тов. Сперанский приезжал из Франции ...)

N>моё мнение таково что модель должна быть построенна так чтобы максимально описывать объект с минимальными затратами на её создание. Я не уверен что описание бизнес-процессов в производстве удобнее представить в виде UML, и затем демонстрировать это управляющему производством или президенту автоматизируемой компании... или вы их UML обучать будете...


Наша пiсня гарана, нова (укр.)... Открою вам один секрет ... ни один руководитель организации-заказчика, в моем опыте, даже не взглянул на описания бизнес-процессов дольше чем 2 минуты, не зависимо от нотации в которой они были смоделированы. Максимум они читали 10-страничный Vision. Более интересно, с вашей т.з., видимо им показывать исходные коды ? Я утририю конечно, но тем не более . Кроме этого, я уже писал, что бизнес-моделирование (БМ) бизнес-моделированию рознь ... использование UML или IDEF или ARIS или ... сильно зависит от целей этого БМ. Если моя цель просто понять, как происходят процессы, какими сущностями они оперируют ... и это для целей только автоматизации а не реинжениринга -- то ничего мне не мешает это описать на UML. А если я могу использовать подход с бизнес-юзкейсами, то при желании могу и без UML динамику бизнеса описать .

B>>>>1. Чтобы сначала увидеть лес, а потом интересующие меня деревья.

N>Кстати, а что если лес в этом месте в силу ограничений систмы, платформы или языка посадить нельзя, что если это взлётная полоса, а вы не знаете таких особенностей в силу того что не считаете нужным знать ещё какие-то там особенности систем или языков, а заказчик тоже знать не может...

Тогда еще на фазе Inseption (это из RUP) мы скорее всего откажемся от создания ПО . А вообще это становится 100% очевидным при формировании требований к ПО. Т.е. когда дизайн только начинается в параллель требованиям.


B>>>>ОК ... ну не знаю я Smalltalk-а ... как мне понять суть системы на нем написанной???

N>1) взять документацию по системе. А если вам нужно внедрение в систему или переработка, взять книги по SmallTalk, изучить Smalltalk.

Кто это будет оплачивать??? (Время-деньги).


N>p.s. Я не утверждал что использовать UML не возможно или нельзя, я говорил что пользоватся средствами создания и поддержки UML-проектов крайне не удобно, перенося это на язык я говорил что UML (как методологией) пользоваться также не удобно. Безусловно ей пользуются, потому что


1. UML это не МЕТОДОЛОГИЯ!!!!!
2. А вот как раз при методологическом подходе, использовать UML становиться очень удобно. Особенно когда а) хорошо знаешь UML б) хорошо знаешь методологию в) хорошо знаешь инструментальные средства.
3. А если работать без методологии, и при этом искать нечто "что бы мне позволило выразить мое понимание и видинье системы" -- то вполне допускаю, что UML не совсем то, что вы от него ожидаете . Отсюда и тяга к демонстрации кода. Не спорю, код может быть с "мыслями внутри".
4. По-большому счету -- никто не говорит, что UML rulez forever. Но это лучше чем собственные измыслы ..., а код нужен для своих целей. В конце концов есть методология XP, которая "кодоориентирована", но и она имеет собственную область применения и условия применения. "Каждому проекту -- своя методология" (с) А. Коберн. Если бы дискутирующие апелировали к ней, и имели солидный опыть использования в проектах XP, я бы еще это воспринял .

N>лучшего нет, хотя сомнительно ибо карандаш-бумага иногда всё таки выразительней и понятней для всех участников, особенно небольшой команды. В больших работать не довелось и спорить я не буду на эту тему. Я просто глубоко уверен что можно создать средство значительно удобнее UML, но к сожалению до сих пор не создано, вероятно потому что одни считают его вовсе не нужным, другие свято верят в его идеалистичность.


Просто все что нужно -- уже создано ... только нужно уметь им пользоваться ... и знать, в каких случаях что лучше.
Re[35]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 09:34
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Целиком поддерживаю, когда речь идет именно о процессе разработки. Использовать методологии UML для разработки неудобно и накладно, а тем более в небольших проектах. Нужны иные средства (Together и DSL вероятно как раз и есть движение в нужном направлении). В то же время нет


Ну вот приехали ... додискутировались до того что есть "методологии UML" !!! И до того что Together НЕ ИСПОЛЬЗУЕТ UML!!!!

AR>никакого смысла заменять UML как средство визуализации. Возвращаясь к своей аналогии с PDF замечу, что все согласны использовать PDF-документы, когда надо обеспечить народ информацией. Но вот писать тексты сразу в формате PDF никто особо не стремится — все больше Word или другие текстовые редакторы пользуем.


Это хорошая мысль .
Re[32]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 09:46
Оценка: 3 (1) +1
Здравствуйте, Сомов Александр, Вы писали:


СА>Насчёт доводить — функциональные требования нужны всегда, а с ними — да, возьмусь. В этой области UML один из инструментов описания и даже не самый удобный.


Вау ... это ж где говорилось про то что требования к ПО можно на UML выражать???

СА>А из грамотно написанного, работающего кода я могу извлечь описание функциональности. Разумеется, то, что в коде не содержится, не будет отражено. Но в этом случае, если была бы документация, то она просто не соответствовала системе. А когда она полностью соответствует, то она становится ненужной (при условии, что код написан хорошо). Причём ненужной, как документация, — необходимость остаётся при разборе дефектов. Но тут опять же архитектурный UML никаким боком не вылазит, достаточно словесных описаний.


Есть! Есть достаточно грамонтно (для своего времени) написанный код ... а именно ядро АБС ... пришла новая команда разработчиков ... документации ноль ... голый код на Visual C++, да с комментариями, да инкапсулировано все в классы ... и ребятки пришли грамотные ... однако в беседе со мной говорят, о том что им очень не хватает диаграмм для понимания всего этого ..., и первое про что они сказали ... да да ... про UML ... вот вам и пример.
Re[15]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 09:49
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?


Хм ... а сколько у Вас лично ушло времени на освоение собственно UML????
Re[21]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 10:00
Оценка: +1
Здравствуйте, nixite, Вы писали:

N>p.s. кстати на Use Case мне откровенно смотреть проивно ибо кажется поделкой из десткого сада. Его целесообразность вообще мне сомнительна. Текстовый документ описывающий всё тоже самое более подробно и ясно, займёт меньше места, сэкономит бумагу и время.


Вот вы и попались на незнании ... а если бы знали методологию (например RUP) то сказали бы, что просто диаграммы юзкесов в UML без спецификаций юзкейсов это откровенная БЕЗГРАМОТНОСТЬ. Я бы взглянул на эти диаграммы, с вероятностью 0,8 UC еще и неверно выделены ... UC это в первую очередь ТЕКСТ ... а диаграммы всего-лишь его графическое оглавление. Это нужно знать, прежде чем дискутировать о применимости UML. Есть конечно же и другие возможности описания юзкейсов с использованием других диаграмм UML .
Re[20]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 10:03
Оценка: +1
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, Сомов Александр, Вы писали:


СА>> Однако, это верно для очень квалифицированного программиста.

M>Естественно, но лично я с турдом себе представляю архитектора, который не является квалифицированным программистом...

А я вот лично знаю пару ... (один канадец, а другой англичанин) ... которые не являются квалифицированными программистами, но зато они хорошие архитекторы, и их приглашают на серьезные проекты именно как архитекторов ...
Re[23]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 10:06
Оценка: +1
Здравствуйте, Merle, Вы писали:


AF>> А на самом деле — обычный старший программер...

M>Хоть горшком назови, какой тол от рахитектора, который кроме рисования диаграмок ничего не умеет?

Про толк же мы вроде выяснили ... что это вешь очень непонятная и неконкретная ...
Тогда не говорите про архитектуру ... а говорите про имплементацию требований, архитектуры и дизайна -- ее то как раз код и отражает в первую очередь
Re[15]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 10:17
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:

СА>Я правильно понимаю, что модель анализа — это ещё вовсе не архитектура классов? А всего лишь чётко выделенная структура предметной области?


Я при всем желании не могу ответить на ваш вопрос, ибр искренне не понимаю, что кроется под термином "архитектура классов" ... я такого не встречал в литературе

СА>И то, что модель дизайна может быть независимой — это накладывает ограничения общность её описания? Т.е. я так понимаю, там не должно быть подробного описания взаимодействия объектов. Скорее уж описание модульного разделения системы и взаимодействия модулей. Так?


Чтобы ответить на ваш вопрос корректно, мне нужно понять, какой методологией, или каким набором знаний, вы руководствуетесь рассуждая о программной архитектуре? Просто я бы смог исходя из ваших знаний попытаться вам это пояснить. Как я понимаю из вашего вопроса с RUP вы не знакомы совсем. Это так?

Исходим из того, что с паттернами дизайна вы таки знакомы. Тогда ответим так -- при построени модели анализа (а там используются в т.ч. и диаграммы классов UML) мы не определяем, что счет и его айтемы, например, или др. сущности выражаются через петтерны типа observer, facade и т.п. ... это будет в модели дизайна.
Re[2]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 17.06.05 10:27
Оценка: +1
Здравствуйте, bralgin, Вы писали:

B>Здравствуйте, ВСЕ УЧАСТНИКИ ОБСУЖДЕНИЯ, Вы писали:



B>Господа! Предлагаю определится с терминологией! А то, похоже, каждый под архитектурой понимает что-то свое:

B>кто бизнес логику, кто иерархию объектов, etc.

ОК, про software architecture можно тут http://www.sei.cmu.edu/architecture/definitions.html
Re[36]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 17.06.05 13:50
Оценка:
Здравствуйте, byur, Вы писали:


B>Ну вот приехали ... додискутировались до того что есть "методологии UML" !!! И до того что Together НЕ ИСПОЛЬЗУЕТ UML!!!!


Ну словили на слове. Конечно надо было написать "методологии, предполагающие использование UML". Что же касается Together, то конечно UML там есть (я ведь и не отрицаю необходимость UML вообще), но как-то это несколько по-другому что-ли, чем например в Rose. Он там как-бы на вторых ролях или уж во всяком случае не главнее собственно кода. Хотя я и не говорил, что Together это именно то, что нужно. Но некоторые моменты (лучшие средства синхронизации UML-моделей и кода) позволили мне сказать, что это "движение в нужном направлении".
Re[37]: UML
От: Сергей Орлик Россия http://sorlik.blogspot.com
Дата: 17.06.05 14:26
Оценка:
Здравствуйте, Алексей:

AR>Здравствуйте, byur, Вы писали:


B>>Ну вот приехали ... додискутировались до того что есть "методологии UML" !!! И до того что Together НЕ ИСПОЛЬЗУЕТ UML!!!!


AR>Ну словили на слове. Конечно надо было написать "методологии, предполагающие использование UML". Что же касается Together, то конечно UML там есть (я ведь и не отрицаю необходимость UML вообще), но как-то это несколько по-другому что-ли, чем например в Rose. Он там как-бы на вторых ролях или уж во всяком случае не главнее собственно кода. Хотя я и не говорил, что Together это именно то, что нужно. Но некоторые моменты (лучшие средства синхронизации UML-моделей и кода) позволили мне сказать, что это "движение в нужном направлении".


Позволю себе не согласиться с тем, что в Together UML "вторичен". Действительно, код с точки зрения тех редакций Together (Developer и Architect), которые ориентированы на проектирование — является "first class cictizen" и технология LiveSource действительно не заставляет хвататься за сердце (боясь потерять то, что написано руками) когда делаются изменения в модели и и получаем изменения кода.

В то же самое время, есть Together Designer — как самостоятельная "среда", так и встраиваемая в VS.NET, Eclipse (Analyst view в Together Edition for Eclipse), JBuilder или в близком будущем — в Delphi. Together Designer — "чистое" моделирование и проектирование на UML 1.x и UML 2.0. И UML в нем — на главных ролях

С уважением,
Сергей Орлик
Borland
Re[26]: UML
От: AndreyFedotov Россия  
Дата: 17.06.05 17:06
Оценка:
Здравствуйте, Merle, Вы писали:

M>Здравствуйте, AndreyFedotov, Вы писали:


AF>>И кто определяет ложность аналогий?

M>Аналогии ложны все..
Угу. То есть и все ВАШИ анологии — тоже ложны

AF>> Хорошо. Как спец по микроэлектронике — могу легко подсунуть тебе схемку на пару десятков процов и FLEX кристаллов. Разбирайся как с ней работать по этой самой схемке

M>Ну, про аналогии я уж еговорил...

Это не аналогии. Это повседневная практика некоторых проектов.

AF>> ты от всех остальных стало быть требуешь вступления в джедайский орден?

M>Вовсе нет, я хочу чтобы мне внятно объяснили зачем UML нужен. Два способа использования меня уже вполне устроили, но в остальном пока увы...
Объясняли миллион раз. Что бы описать некоторые аспекты модели общяпринятым, стандартным образом.
Re[34]: UML
От: AndreyFedotov Россия  
Дата: 17.06.05 17:35
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>>>То есть вы возмьмётесь доволдить до победного конца проект, в котором описано 10% интерфейсов, классов и кода — без какой либо документации или других источников информации о том, что нужно делать?

СА>>>Не так, 10% кода должны отражать логику работу, а 90% — нюансы.
AF>> Про должны — это теория. А если не отражают? А если, как это часто бывает, зказчик хочет, что бы сначала заработала часть функционала, а потом делалось всё остальное — и именно этот кусок + обвязка которая ему нужна и реализованы?
СА>Да какая разница — какое там отношение процентное. Просто код, отражающий нюансы, должен быть инкапсулирован. А то, что останется — читать несложно. И поддерживать несложно.
Прямо как классики марксизма-ленинизма. Коммунизм должен быть построен. Есть большая разница между "должен" и что есть на самом деле. Вы и картинки в код поместите?

СА>А что касается написания части функциональности — есть две модели: гибкая и негибкая. В первой мы не будем писать дополнительный код сверх части функционала (тоже неплохо, а вдруг потом заказчик обанкротится, а так — мы не затратим лишних усилий ), а во второй — запланируем сразу. По моим ощущениям (даже и не расчитывайте на объективность мнения ) — временные затраты в первом случае (плюс рефакторинг и доведение до полного функционала) и во втором случае (полная архитектура, часть функциональность, доведение до полной) будут примерно одинаковы. А вот риск в первом случае вроде как меньше. Хотя он тоже растёт с ростом величины проекта.


И что? Как это связано с документированием или не документированием модели (с использованием или без использования UML)?

СА>>>Насчёт доводить — функциональные требования нужны всегда, а с ними — да, возьмусь. В этой области UML один из инструментов описания и даже не самый удобный.

AF>> То есть тезис о том, что кода достаточно вы только что сами же и отвергли...
СА>Для понимания архитектуры — достаточно, для развития и исправления дефектов — недостаточно.
А если от архитектуры только кусок?
Почему то вы забыли о том, что бывают весьма интересные и оригинальные решения — от алгоритмов до архитектуры — ценность которых гораздо выше, чем того (часто кривого) кода, который их реализует?

СА>>>Опять же, из функциональных требований, которые сами по себе не требуют UML.

AF>> Да, как уже многократно говорилось, обойтись можно. И в зависимости от ситуации это будет разумно использовать UML или не использовать.
СА>Ну вот. А я предлагаю структурировать код, чтобы и архитектура (не функциональные требования) им же просто и описывалась. Чтобы этот не очень удобный инструмент (UML то есть) и вовсе не был нужен.
И помещать туда тонны текста, картинок, диаграмм?

СА>>>А из грамотно написанного, работающего кода я могу извлечь описание функциональности. Разумеется, то, что в коде не содержится, не будет отражено.

AF>> То есть нужна документация описывющая модель.
СА>>>Но в этом случае, если была бы документация, то она просто не соответствовала системе. А когда она полностью соответствует, то она становится ненужной (при условии, что код написан хорошо). Причём ненужной, как документация, — необходимость остаётся при разборе дефектов. Но тут опять же архитектурный UML никаким боком не вылазит, достаточно словесных описаний.
AF>> Система может быть написана плохо и действительно не отражать модель. Но ценность часто имеет именно модель, а не сам код — особенно в крупных проектах.
СА>А как хорошо, когда там ещё и код модель отражает.
Да что вы в код то вцепились?! Прям как дети! "Вася смотри какой я класс состряпал". Половина оболтусов на форуме так и выступает.
Поймите, часто бывает ситуация, когда есть проект, который тянется годами, когда изначально не ясно, что делать, а делать что-то надо. И в этой ситуации — система пишется, притом, естественно, весьма далеко от идеала, но это всё хозяйство сертифицируется и отправляется клиентам — ибо бизнес не ждёт. И вот проходит 2-3-4 года за которые наконец-то становится ясно, что и главное как нужно делать. Если всё это время строилась модель — на уровне бизнес-процессов, на уровне UML моделей, на уровне толковых описаний, то это даёт возможность переписать систему грамотно — с использованием более современных технологий. Так вот эта модель — квинтэссенция опыта — стоит гораздо дороже, чем весь написанный код.
В чём здесь роль UML? Да в том, что опыт накапливается годами, времени писать романы нет. А вот накидать диаграммку с пояснениями возможно. Люди приходят и уходят. И через 2-3 года найти концы почти не реально. И если не использовать UML (или любую другую общепринятую систему обозначений) — то у кого потом спрашивать, что имел в виду автор диаграммки 3 года назад?
Придумать систему обозначений, да ещё её задокументировать (по сути разработать стандарт) — эта работа может быть сопоставима по объёму с самим проектом. И ради чего? Ради фанатичного нежелания учить UML? Или ради высокомерного самомнения — что всё сделаем лучше?

СА>Мы же не говорим о том, как быть с уже написанной лапшой, мы говорим, как писать код так, чтобы он не требовал (или требовал минимум) подобных дополнений.

Ещё раз. Часто код сразу пишется для мусорной корзины — потому, что его просто не возможно сразу писать хорошо. И его единственное предназначение — выработать модель, которая будет нужна в дальнейшем.
Re[34]: UML
От: AndreyFedotov Россия  
Дата: 17.06.05 17:37
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

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


СА>Мне, всё таки, кажется, что это просто разные вещи: описания требований и описания архитектуры. Можно работать с незнакомым кодом при наличии первого и отсутствии второго, но не наоборот.


Если код среднего качества — тем более не завершённый, то в этом случае (если нет информации об архитектуре) — его проще выкинуть или по частям переписать — в соответствии с требованиями.
Re[32]: UML
От: AndreyFedotov Россия  
Дата: 18.06.05 11:37
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>>>А по вашему код должен выглядеть совсем не так? Мой код структурно очень близок к предметной области. И тут можно выделить последовательность взаимодействия в виде высокоуровневых операций в коде.


AF>>То есть в твоём коде отсутствуют ключи, идентификаторы, указатели или ссылки — в общем всё то, что отсутствует в предметной области?

AF>>Интресно — и как он при этом работает?

СА>Хм... да ведь это же всё, что запятые в тексте. Читать-то нисколько не мешают.


Д,а,,, ,з,а,п,я,т,ы,е, ,в, ,т,е,к,с,т,е, ,н,и,с,к,о,л,ь,к,о, ,н,е, ,м,е,ш,а,ю,т,.

Не мешают, когда они расставлены по смыслу и помогают воспринимать текст. А вот когда они там не по делу — мешают и ещё как.

СА>Вот когда там появляется дополнительная логика или нюансы — это хуже. Они скрывают общую логику. Ну так их можно отделить, инкапсулировать во что-нибудь, чтобы в глазах не маячили. А основной код остаётся лакончным и близким к предметно области.


А как с быть с оптимизацией по производительности?
В итоге вы следуя своей, изначально неверной идее, просто напишете код низкого качества. Вот и весь результат.
Это тоже самое, если в телевизоре, холодильнике или автомобиле на каждой детали, даже самой маленькой детали — приклеивать том с описанием технологии её производства.

СА>К тому (можно я тоже попередёргиваю ) — в предметной области, как правило и стрелочек с рамочками нет.

В том то и проблема, что сначала требуется построить адекватную модель предметной области — что бы потом по ней можно было построить модель программной системы.
Re[17]: UML
От: AndreyFedotov Россия  
Дата: 18.06.05 12:36
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>Цели у анализа могут быть самые разные — от выявления понятий предметной области до построения как полной модели предметной области, так и модели системы — включая как статику, так и динамику.


СА>Я просто имел в виду, что тот анализ, про который вы говорите, он же к предметной области относится, а реализация — уже строится по результатам анализа. Или я опять не угадал?


В целом верно. Правда, что именно имел в виду byur лучше спросить у него.
Правда уточню, что в крупном проекте — сначала строится модель предметной области — происходящих в ней бизнес-процессов. Замечу — она не имеет ничего общего с кодом и по ней код писать нельзя.
Затем на её основе строится модель проектирования. Она может разительно отличаться и более того — отличается от модели предметной области, хотя бы тем, что в ней вводятся сущности, обычно, начисто отсутствующие в пердметной области — например контейнеры, базы данных, потоки и т.д. и т.п. — то есть сущьности программной системы. Эти сущьности необходимы для того, что бы можно было перейти к написанию кода.
Наконец по построению модели проетирования переходят к реализации — написанию кода в соответствии с моделью.
Соответственно при изменении пользовательских требования начинают с изменения модели предметной области, затем вносят изменения в модели проетирования и лишь затем — в исходный код.
Причём не важно — делается ли это формально и "правильно" — следуя методологии разработки или этот процесс происходит незаметно, подсознательно — в голове разработчика.
Re[27]: UML
От: Merle Австрия http://rsdn.ru
Дата: 18.06.05 15:44
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:

AF>Угу. То есть и все ВАШИ анологии — тоже ложны

А я ни одной и не приводил. Только ваши же интерпретировал...

AF>Это повседневная практика некоторых проектов.

Софтверных?

AF> Объясняли миллион раз. Что бы описать некоторые аспекты модели общяпринятым, стандартным образом.

Миллион раз ответил, не нужен для этого UML, а в некоторых случаях даже вреден.

Вообщем спор очевидно бестолковый, вы все время почему-то скатываетесь записывая меня в ярые противники UML-я и строя свои доказательство на том что "... вот в больших проектах!..", что само по себе не серьезно, особенно учитывая, по Вашему же признанию, отсутствие у Вас опыта участия в этих самых больших проетах.
Байт с ним, с UML-ем используйте его как хотите, если Вам удобно что я — зверь какой? Я просто попытался объяснить, почему его неудобно использовать мне и почему я, его использования, по возможности, буду избегать. Однако в ходе спора принципиальных противоречий выяснилось два.
Мое глубокое убеждение состоит в том, что:
1. Архитектор обязан уметь программировать на языке проекта, который разрабатывает. И к этому заключению подталкивает и весь мой опыт, и опыт тех людей, которые обладают хотя бы небольшим авторитетом для меня в этой области, и чье мнение я учитываю при формировании собственного.
2. UML абсолютно бесполезен только в качестве документирования готового проекта. Собственно ради донесения этой мысли я и влез в этот спор.
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[28]: UML
От: AndreyFedotov Россия  
Дата: 18.06.05 17:29
Оценка:
Здравствуйте, Merle, Вы писали:

AF>>Это повседневная практика некоторых проектов.

M>Софтверных?
Да и не только.

AF>> Объясняли миллион раз. Что бы описать некоторые аспекты модели общяпринятым, стандартным образом.

M>Миллион раз ответил, не нужен для этого UML, а в некоторых случаях даже вреден.
Вы забыли сказать — с моей точки зрения. А вот с моей точки зрения — без UML можно было бы обойтись, но он там бывает весьма полезен, хотя и не всегда.

M>Вообщем спор очевидно бестолковый, вы все время почему-то скатываетесь записывая меня в ярые противники UML-я и строя свои доказательство на том что "... вот в больших проектах!..", что само по себе не серьезно, особенно учитывая, по Вашему же признанию, отсутствие у Вас опыта участия в этих самых больших проетах.

И сделали спор бестолковым именно те, кто вместо того, что бы исследовать те конкретные условия когда UML полезен или удобен — фанатично настаивали на том, что он бесполезен. Те кто защищали использование UML во-первых неоднократно говорили о том, что да без UML можно обойтись, а во-вторых говорили и о том, что процесс разработки, с использованием моделей на UML достаточно дорогой и оправдан только при определённых условиях.

M>Байт с ним, с UML-ем используйте его как хотите, если Вам удобно что я — зверь какой? Я просто попытался объяснить, почему его неудобно использовать мне и почему я, его использования, по возможности, буду избегать. Однако в ходе спора принципиальных противоречий выяснилось два.

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

M>Мое глубокое убеждение состоит в том, что:

M>1. Архитектор обязан уметь программировать на языке проекта, который разрабатывает. И к этому заключению подталкивает и весь мой опыт, и опыт тех людей, которые обладают хотя бы небольшим авторитетом для меня в этой области, и чье мнение я учитываю при формировании собственного.
M>2. UML абсолютно бесполезен только в качестве документирования готового проекта. Собственно ради донесения этой мысли я и влез в этот спор.
Я уважаю вашу точку зрения, но замечу, что по обоим пунктам существуют различные точки зрения. У меня свои взгляды на эту тему, я ими уже поделился.
Re[29]: UML
От: Merle Австрия http://rsdn.ru
Дата: 18.06.05 18:36
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF>Да и не только.

Скорее только не.

AF>Вы забыли сказать — с моей точки зрения.

Я ничего не забыл.

AF> А вот с моей точки зрения — без UML можно было бы обойтись, но он там бывает весьма полезен, хотя и не всегда.

Скорее далеко не вегда.

AF> И сделали спор бестолковым именно те, кто вместо того, что бы исследовать те конкретные условия когда UML полезен или удобен — фанатично настаивали на том, что он бесполезен.

Спор сделали бестолковым те, кто уверял что он где-то удобен, хотя сами его удобства так и не ощутили.

AF>Те кто защищали использование UML во-первых неоднократно говорили о том, что да без UML можно обойтись,

Не можно, а нужно.

AF> а во-вторых говорили и о том, что процесс разработки, с использованием моделей на UML достаточно дорогой и оправдан только при определённых условиях.

Этих определенных условий, реально нашлось только два.

AF> В том то и дело, что не пытались.

Может просто кто-то не внимательно читал?

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

AF> Какого объёма требования заказчика, как часто вносятся модификации — и т.д. то есть конкретика.
Это, уж простите, лабуда, а не конкретика.
Я не однократно в своих сообщениях писал, что требования заказчика мы не рассматриваем, что если UML нужен заказчику, я его завалю этим UML-ем, и он будет доволен, хотя с реальным проектом этот UML будет иметь очень мало общего, это вообще не критерий. Это первое.
Второе, пргнозируемость к UML-ю не имеют никакого отношения, об этом я тоже писал.
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[30]: UML
От: AndreyFedotov Россия  
Дата: 19.06.05 05:33
Оценка: 3 (1)
Здравствуйте, Merle, Вы писали:

AF>>Вы забыли сказать — с моей точки зрения.

M>Я ничего не забыл.
Вообще то на форуме принято помнить о том, что ваша точка зрения не является единственной...
Правда обычно участники команды RSDN напоминают об этом, а не наоборот.
Кстати, во избежания недоразумений, всё что я писал, пишу или буду писать — отражает сугубо мою точку зрения и моё восприятие действительности, так что всякие совпадения с чьими то ещё воззрениями, особенно умными, просьба считать случайными...

AF>> И сделали спор бестолковым именно те, кто вместо того, что бы исследовать те конкретные условия когда UML полезен или удобен — фанатично настаивали на том, что он бесполезен.

M>Спор сделали бестолковым те, кто уверял что он где-то удобен, хотя сами его удобства так и не ощутили.
А с чего вы решили, что его удобство другие не ошущали? Просто приняв за критерий удобства то, что UML должен ипользоваться для непосредственной кодогенерации (а именно это и было в приведённых примерах) — естественно вы не смогли увидеть от него другой пользы. Ну а лично мне пришлось оценить все преимущества грамотно составленной документации, где широко и, главное, грамотно применялся UML. Это было огромное подспорье. Тем более, что было с чем сравнивать — другие документы, написаные в стиле слюни и карандашей — тоже содержали ценную информацию, но без автора она практически не извлекалась, да и с автором — зачастую тоже

AF>>Те кто защищали использование UML во-первых неоднократно говорили о том, что да без UML можно обойтись,

M>Не можно, а нужно.
Вот в этом и проблема. Вы очень убедительно доказываете, что всегда умеете найтись и знаете, что ответить, только ответ даёте на уровне начинающего софиста. Кому можно? Кому нужно?
Вы бы хотя бы написали, почему его не нужно применять, к каким конкретно последствиям это привело бы. А так это простой обмен любезностями.

AF>> а во-вторых говорили и о том, что процесс разработки, с использованием моделей на UML достаточно дорогой и оправдан только при определённых условиях.

M>Этих определенных условий, реально нашлось только два.

AF>> В том то и дело, что не пытались.

M> Может просто кто-то не внимательно читал?
Таки читали и очень внимательно. Кроме ряда голословных утверждений, вроде UML нужен только что бы пудрить мозги заказчику — конкретной аргументации было довольно мало. В итоге Вы (и другие противники UML) сумели привести следующие аргументы против UML:
1. Обойтись можно без него.
Да, можно. Как и без C#, C++, Java и программирования вообще. Но обычно смотрят не на то, можно ли обойтись, а на то, что же даёт применение технологии.

2. UML не гарантирует правильности построения модели
Конечно. А то, что вы пишете код на C#, С++ или чём угодно другом, ещё не гарантирует, что полученная программа будет делать то, что нужно заказчику, а не что-то другое — то есть тоже не гарантирует соответствие модели.

3. UML не гарантирует соответствие кода модели.
Естественно. А вы видели, что бы чертежи гарантировали, что бы дом им соответствовал? Что бы строители соблюдали строительные технологии и применяли именно те материалы, а не другие? Вот потому то за ними и нужен глаз да глаз.
В тех компаниях и организациях, где налажена дисциплина — почему то соответствует (если такая задача была поставлена). То есть это просто вопрос выбора и организации процесса разработки.
Но в том то и преимущество UML — что его можно применять гибко — от набросков, которые далеки от получившегося кода, до строго описания модели, по которому код можно генерировать. Обычно полезнее всего его применять в промежуточном варианте.

4. UML диаграммы гораздо дольше рисовать, чем рисовать на бумаге и объяснять словами.
Совершенно согласен. Толковую документацию вообще сложно и долго писать. Иногда — это большая работа, чем собственно написания кода. Что бы в этом убедиться достаточно написать алгоритм сортировки, например, а потом — его же грамотно описать. А главное — документация нужна далеко не всегда. Ну если она не нужна — так и не используйте. Модель — чем бы она не описывалась, тоже далеко не всегда нужна. Ведь никто и не утверждал, что вы обязательно должны использовать UML или обязательно должны писать документацию.
Опыт любого из нас это подтверждает, думаю и повседневная работа — тоже.

5. UML является далеко не полным описанием модели.
Так и есть. Никто и не говорил о том, что UML является полным описанием модели, даже более того — подчёркивали что он является не полным описанием. UML и задумывался, как единая система диаграмм, которая для получения качественного описания модели и тем более документации — дополняется текстовыми описаниями. Особенно хорошо это видно в случае с UseCases — которые являются текстовыми описаниями и которые лишь иногда (редко) имеет смысл описать в виде диаграммы — кружочков с названием внутри. И первая же ошибка, которую называют при описании UseCases — увлечение диаграммами вместо текста.
UML является всего лишь некоторой унифицированной системой описания части процессов, структур и явлений в графической форме. Не более того. И только в таком качестве и может быть полезен. Он не задумывался даже как графический язык, в отличие от SDL

6. UML понятен далеко не всем
7. UML требует обучения
И это так. Но я не видел ещё ни одного разработчика, даже начинающего, кто не мог бы научиться понимать диаграммы на UML более, чем за день. Этот результат по выразительности не достижим почти ни для одного языка программирования. Что же до рисования диаграмм — то во-первых оно нужно далеко не всем, а во-вторых проще, чем изучение большинства ЯВУ.

8. UML нужен лишь для оболванивания заказчика.
По-моему лучше чем написал byur здесь
Автор: byur
Дата: 17.06.05
написать будет сложно.

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

AF>> Какого объёма требования заказчика, как часто вносятся модификации — и т.д. то есть конкретика.
M>Это, уж простите, лабуда, а не конкретика.
Очень конкретно.
M>Я не однократно в своих сообщениях писал, что требования заказчика мы не рассматриваем, что если UML нужен заказчику, я его завалю этим UML-ем, и он будет доволен, хотя с реальным проектом этот UML будет иметь очень мало общего, это вообще не критерий. Это первое.
Я имел в виду не то, требует ли заказчик применения UML (это выражденный случай, потому не интересен), а о том, в каком виде вы работаете с требованиями заказчика — как-то их описываете, формализуете — то есть вообще как-то ими управляете или же как у нас бывает в большинстве случаев принимаете к сведению (в уме) и двигаетесь дальше?

M>Второе, пргнозируемость к UML-ю не имеют никакого отношения, об этом я тоже писал.

Если UML используется как часть процесса, обеспечивающего прогнозируемость — то, вероятно, всё-таки имеет.
Re[31]: UML
От: Merle Австрия http://rsdn.ru
Дата: 19.06.05 07:50
Оценка:
Здравствуйте, AndreyFedotov, Вы писали:

AF> Вообще то на форуме принято помнить о том, что ваша точка зрения не является единственной...

Я где-то утверждал обратное?

AF> А с чего вы решили, что его удобство другие не ошущали?

Из Ваших же признаний, в том, что Вы его не используете.

AF> Вы бы хотя бы написали, почему его не нужно применять, к каким конкретно последствиям это привело бы.

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

AF> Кроме ряда голословных утверждений, вроде UML нужен только что бы пудрить мозги заказчику — конкретной аргументации было довольно мало.

Аргументация должна быть с вашей стороны и выглядит она довольно бледно, сводясь к "...вот в некоторых проектах..."

AF>В итоге Вы (и другие противники UML) сумели привести следующие аргументы против UML:

Мы не приводили аргументации против UML, мы приводили аргументацию против ваших утверждений.

AF> Да, можно. Как и без C#, C++, Java и программирования вообще. Но обычно смотрят не на то, можно ли обойтись, а на то, что же даёт применение технологии.

Так вот что она дает внятно никто не объяснил.
[skip]
Далее Вы насчитали восемь пунктов против использования UML-я и с семью из них согласились, однако тем не менее продолжаете настаивать на использовании UML-я аргументируя это оптяь какими-то мало имеющими отношения к делу аналогиями и весьма спорными утверждениями. Выглядит довольно странно.
Может хватит по кругу ходить?
... << RSDN@Home 1.1.4 beta 6a rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[32]: UML
От: AndreyFedotov Россия  
Дата: 19.06.05 08:18
Оценка: 9 (1) +1
Во-первых я ипользую UML — в тех случаях, когда мне это нужно.
Во-вторых, UML придумал не я, так что доказывать мне лично ничего не нужно.
В-третьих я так же как и вы пытался объяснить, для чего он мне нужен, где я им пользуюсь, а так же для чего он нужен другим и где им пользуются они.

Наконец, поскольку обсуждение приняло характер религиозного спора, предлагаю воздержаться от продолжения дискуссии.
Re[22]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:29
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:

AF>Здравствуйте, Сомов Александр, Вы писали:


СА>>>> Однако, это верно для очень квалифицированного программиста.

M>>>Естественно, но лично я с турдом себе представляю архитектора, который не является квалифицированным программистом...
СА>>А я об этом и говорю. Да здравствует код! Долой UML!

AF>Гениально. Правда я где то видел обратный лозунг:

AF>Долой код! Да здравствует UML!
Где угодно, только не у меня.

AF>Да и денег у них поболее будет...

А там эти лозунги — маркетинг. Нужно же UML продавать. Книги, ПО и т.д.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[33]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:56
Оценка:
AF>А как с быть с оптимизацией по производительности?
AF>В итоге вы следуя своей, изначально неверной идее, просто напишете код низкого качества. Вот и весь результат.
AF>Это тоже самое, если в телевизоре, холодильнике или автомобиле на каждой детали, даже самой маленькой детали — приклеивать том с описанием технологии её производства.
А ведь вам неизвестно, какой код я пишу. А код вполне качественный. Это уверено показывает год успешного сопровождения работающего проекта.

СА>>К тому (можно я тоже попередёргиваю ) — в предметной области, как правило и стрелочек с рамочками нет.

AF>В том то и проблема, что сначала требуется построить адекватную модель предметной области — что бы потом по ней можно было построить модель программной системы.
Так не нужны стрелочки для построения модели.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[31]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:56
Оценка:
B>>>Выдержка из вашего сайта о вас же ...
СА>>Я, хоть во многом с Mystic'ом не согласен, но, всё же, это уже переход на личности. Вам что, кроме этого, больше нечего сказать по содержанию?
B>Просто это аргументация бессмысленности дискусси конкретно с этим участником ... и все.
Так бы сразу и написали. Ну право же, гораздо корректнее было бы.

СА>>В любом случае, до определённых пределов можно соблюдать такую коммуникацию, что UML не нужен. Обычный язык достаточно эффективен. Следом, по эффективности, идёт код. А затем только формальные картинки. И вот архитектор должен хорошо владеть этими средствами в перечисленном порядке.

B>Что есть эффективность? Эффективность эффективности рознь ...
Скатимся сейчас в формализм, а толку не прибавится. Я ведь понятно выразил свою точку зрения.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[35]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:56
Оценка:
AF> Прямо как классики марксизма-ленинизма. Коммунизм должен быть построен. Есть большая разница между "должен" и что есть на самом деле. Вы и картинки в код поместите?
Вообще говоря, следование какой-нибудь методологии лучше, чем не следование ничему вообще. А если картинки очень нужны будут (ни разу не встретилось таких) — да, в код помещу.

AF>И что? Как это связано с документированием или не документированием модели (с использованием или без использования UML)?

Очень просто связано. Документирование модели вовсе не всегда нужно (с использованием или без использования UML).

AF> Почему то вы забыли о том, что бывают весьма интересные и оригинальные решения — от алгоритмов до архитектуры — ценность которых гораздо выше, чем того (часто кривого) кода, который их реализует?

Ценность работающего кода состоит только в том, какие результаты он приносит от использования. А framework'остроительство ради "интересных и оригинальных решений" мне уже надоело. Если вы хотите, чтобы команда высококвалифицированных разработчиков два года занималась чепухой, заставьте их писать какой-нибудь красивый framework.

AF> И помещать туда тонны текста, картинок, диаграмм?

Ничего не помещать, так как эти тонны не нужны.

AF> Да что вы в код то вцепились?! Прям как дети! "Вася смотри какой я класс состряпал". Половина оболтусов на форуме так и выступает.

А что же вы в картинки вцепились?! "Смотри, Петя, какие стрелочки". Вот — оставшаяся половина оболтусов.

AF> Поймите, часто бывает ситуация, когда есть проект, который тянется годами, когда изначально не ясно, что делать, а делать что-то надо.

Это нездоровая ситуация.

AF>И в этой ситуации — система пишется, притом, естественно, весьма далеко от идеала, но это всё хозяйство сертифицируется и отправляется клиентам — ибо бизнес не ждёт. И вот проходит 2-3-4 года за которые наконец-то становится ясно, что и главное как нужно делать.

Можно достичь такого понимания и за 2-3 месяца, причём без всяких картинок. Достаточно дать пользователям первую версию программы вообще с минимумом функциональности (и возможно даже вы не угадаете и вообще эта функциональность не будет нужна, но вам об этом скажут).

AF>Если всё это время строилась модель — на уровне бизнес-процессов, на уровне UML моделей, на уровне толковых описаний, то это даёт возможность переписать систему грамотно — с использованием более современных технологий. Так вот эта модель — квинтэссенция опыта — стоит гораздо дороже, чем весь написанный код.

А в моём случае вы будете не только модель иметь, но и работающий по ней код. Причём гораздо быстрее.

AF> В чём здесь роль UML? Да в том, что опыт накапливается годами, времени писать романы нет. А вот накидать диаграммку с пояснениями возможно. Люди приходят и уходят. И через 2-3 года найти концы почти не реально. И если не использовать UML (или любую другую общепринятую систему обозначений) — то у кого потом спрашивать, что имел в виду автор диаграммки 3 года назад?

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

AF> Придумать систему обозначений, да ещё её задокументировать (по сути разработать стандарт) — эта работа может быть сопоставима по объёму с самим проектом. И ради чего? Ради фанатичного нежелания учить UML? Или ради высокомерного самомнения — что всё сделаем лучше?

Ничего кроме некоторого набора общих терминов, да описания функциональности, достаточно неформального, не требуется. Для пятилетнего проекта с размером команды разработчиков в 25 человек это описание по объёму и содержимому вполне таково, что пишется одним человеком за выходные. А большего просто не требуется.

СА>>Мы же не говорим о том, как быть с уже написанной лапшой, мы говорим, как писать код так, чтобы он не требовал (или требовал минимум) подобных дополнений.

AF> Ещё раз. Часто код сразу пишется для мусорной корзины — потому, что его просто не возможно сразу писать хорошо. И его единственное предназначение — выработать модель, которая будет нужна в дальнейшем.
Правильно. А что — я не о том же? И разве ваши картинки точно также не попадут в мусорную корзину. Или их-то вы сразу хорошо пишите?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[35]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:56
Оценка:
AF> Если код среднего качества — тем более не завершённый, то в этом случае (если нет информации об архитектуре) — его проще выкинуть или по частям переписать — в соответствии с требованиями.
А картинки среднего качества не бывают?
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[16]: UML
От: Сомов Александр Россия  
Дата: 19.06.05 11:56
Оценка:
СА>>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?
B>Хм ... а сколько у Вас лично ушло времени на освоение собственно UML????

До сих пор осваиваю. Правда вяло очень, так как для работы не требуется. Исключительно из интереса.
... << RSDN@Home 1.1.4 beta 4 rev. 303>>
Re[34]: UML
От: AndreyFedotov Россия  
Дата: 19.06.05 12:24
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

AF>>А как с быть с оптимизацией по производительности?

AF>>В итоге вы следуя своей, изначально неверной идее, просто напишете код низкого качества. Вот и весь результат.
AF>>Это тоже самое, если в телевизоре, холодильнике или автомобиле на каждой детали, даже самой маленькой детали — приклеивать том с описанием технологии её производства.
СА>А ведь вам неизвестно, какой код я пишу. А код вполне качественный. Это уверено показывает год успешного сопровождения работающего проекта.
В этом я ни высказывал ни малейших соменений. Я указал лишь, что требование инкапсуляции противоречит до некоторой степени производительности кода, потому пытаясь повысить читаемость кода вы можете легко понизить его эффективность. Что бы бороться с этим были придуманы inline функции, например, но они спасают положение далеко не всегда.
Я ни в коем случае не имел в виду вас или кого-либо из участников дискуссии. Я всего лишь указал на последствия доведения идеи излишеней читабельности кода до её логического финала — падения эффективности кода.

СА>>>К тому (можно я тоже попередёргиваю ) — в предметной области, как правило и стрелочек с рамочками нет.

AF>>В том то и проблема, что сначала требуется построить адекватную модель предметной области — что бы потом по ней можно было построить модель программной системы.
СА>Так не нужны стрелочки для построения модели.
А вот это зависит от самой модели. Если это модель потоков — данных ли, товаров, денег или чего угодно другого — стрелочки будут в этой модели основными действующими лицами...
Re[36]: UML
От: AndreyFedotov Россия  
Дата: 19.06.05 12:41
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:

AF>> Прямо как классики марксизма-ленинизма. Коммунизм должен быть построен. Есть большая разница между "должен" и что есть на самом деле. Вы и картинки в код поместите?

СА>Вообще говоря, следование какой-нибудь методологии лучше, чем не следование ничему вообще. А если картинки очень нужны будут (ни разу не встретилось таких) — да, в код помещу.
И после этого какова будет читабельность этого кода?
Не говоря о том, что как вы сумеете это сделать чисто технически?

AF>>И что? Как это связано с документированием или не документированием модели (с использованием или без использования UML)?

СА>Очень просто связано. Документирование модели вовсе не всегда нужно (с использованием или без использования UML).
О том, что документирование нужно далеко не всегда (как и UML) я написал уже минимум раз двадцать. Юрий Иванович по-моему тоже...

AF>> Почему то вы забыли о том, что бывают весьма интересные и оригинальные решения — от алгоритмов до архитектуры — ценность которых гораздо выше, чем того (часто кривого) кода, который их реализует?

СА>Ценность работающего кода состоит только в том, какие результаты он приносит от использования. А framework'остроительство ради "интересных и оригинальных решений" мне уже надоело. Если вы хотите, чтобы команда высококвалифицированных разработчиков два года занималась чепухой, заставьте их писать какой-нибудь красивый framework.
А фреймворки то тут причём???! Это уже какие то эротические фантазии...
Я писал о разных ситуациях. На вскидку: я видел вариант базы данных оптимизированной под очень высокую производительность и большие объёмы данных. Её разработка заняла довольно много времени и там было очень много оригинальных и не тривиальных решений как на уровне архитектуры, так и на уровне алгоритмов. А вот качество кода по разным причинам — хромало. Несколько позже она была переписана с нуля по модели и достигла совсем другого уровня качества и производительности.

AF>> И помещать туда тонны текста, картинок, диаграмм?

СА>Ничего не помещать, так как эти тонны не нужны.
А что нужно?

AF>> Поймите, часто бывает ситуация, когда есть проект, который тянется годами, когда изначально не ясно, что делать, а делать что-то надо.

СА>Это нездоровая ситуация.
Это реальная ситуация.

AF>>И в этой ситуации — система пишется, притом, естественно, весьма далеко от идеала, но это всё хозяйство сертифицируется и отправляется клиентам — ибо бизнес не ждёт. И вот проходит 2-3-4 года за которые наконец-то становится ясно, что и главное как нужно делать.

СА>Можно достичь такого понимания и за 2-3 месяца, причём без всяких картинок. Достаточно дать пользователям первую версию программы вообще с минимумом функциональности (и возможно даже вы не угадаете и вообще эта функциональность не будет нужна, но вам об этом скажут).
Куда мостится дорога благими намерениями — вы и сами знаете. Нельзя этого было сделать. Неужели если вы думаете, что люди, которые вели проект не додумались до столь тривиальной мысли? Но сделать этого было не возможно — по целому ряду причин.

AF>>Если всё это время строилась модель — на уровне бизнес-процессов, на уровне UML моделей, на уровне толковых описаний, то это даёт возможность переписать систему грамотно — с использованием более современных технологий. Так вот эта модель — квинтэссенция опыта — стоит гораздо дороже, чем весь написанный код.

СА>А в моём случае вы будете не только модель иметь, но и работающий по ней код. Причём гораздо быстрее.
Код — да. Модель — нет. Потому, что на написание качественной документации времени нужно одинакого. И то, что вы её засовываете в код вам совершенно не поможет. Скорее наоборот.

AF>> В чём здесь роль UML? Да в том, что опыт накапливается годами, времени писать романы нет. А вот накидать диаграммку с пояснениями возможно. Люди приходят и уходят. И через 2-3 года найти концы почти не реально. И если не использовать UML (или любую другую общепринятую систему обозначений) — то у кого потом спрашивать, что имел в виду автор диаграммки 3 года назад?

СА>У нас в проекте после 5 лет развития концы находятся очень просто, в том числе и потому, что мы не дорожим вещами даже 2-хлетней давности. Опыт накапливается, а они теряют ценность. В результате мы имеем не 5-летней давности картинки, а годовой давности (что гораздо лучше по качеству) код.
В вашей ситуации это может быть возможно. А в других — нет. Потом, естественно, картинки в модели все эти пять лет постоянно уточнялись — и это были вовсе не исходные наброски пятилетней давности.

AF>> Придумать систему обозначений, да ещё её задокументировать (по сути разработать стандарт) — эта работа может быть сопоставима по объёму с самим проектом. И ради чего? Ради фанатичного нежелания учить UML? Или ради высокомерного самомнения — что всё сделаем лучше?

СА>Ничего кроме некоторого набора общих терминов, да описания функциональности, достаточно неформального, не требуется. Для пятилетнего проекта с размером команды разработчиков в 25 человек это описание по объёму и содержимому вполне таково, что пишется одним человеком за выходные. А большего просто не требуется.
Святая наивность. Вы ГОСТы хоть раз в жизни видели? Вы уверены что описание системы, которая должна строго соответстовать ГОСТ'ам могут за выходные написать даже двадцать человек?

СА>>>Мы же не говорим о том, как быть с уже написанной лапшой, мы говорим, как писать код так, чтобы он не требовал (или требовал минимум) подобных дополнений.

AF>> Ещё раз. Часто код сразу пишется для мусорной корзины — потому, что его просто не возможно сразу писать хорошо. И его единственное предназначение — выработать модель, которая будет нужна в дальнейшем.
СА>Правильно. А что — я не о том же? И разве ваши картинки точно также не попадут в мусорную корзину. Или их-то вы сразу хорошо пишите?
Попадут конечно. Сиграв свою роль. Так же как и мы сами...
Re[36]: UML
От: AndreyFedotov Россия  
Дата: 19.06.05 12:44
Оценка: 1 (1)
Здравствуйте, Сомов Александр, Вы писали:

AF>> Если код среднего качества — тем более не завершённый, то в этом случае (если нет информации об архитектуре) — его проще выкинуть или по частям переписать — в соответствии с требованиями.

СА>А картинки среднего качества не бывают?
Бывают. И именно в этом основная проблема. То, что народ не умеет и не хочет рисовать картинки, потому рисует отмазки, которые, естественно, далеки от реальной системы. От таких картинок и правда толку никакого. В таком случае рисование картинок — лишь глупая трата времени. Правда в этом случае прыгнуть выше уровня CMM Level 1 можно и не мечтать. Правда оно не всем и нужно...
Re[28]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 06:00
Оценка: +1
Здравствуйте, Merle, Вы писали:


AF>> Объясняли миллион раз. Что бы описать некоторые аспекты модели общяпринятым, стандартным образом.

M>Миллион раз ответил, не нужен для этого UML, а в некоторых случаях даже вреден.

Это смотря КАК его применять . ...

M>Мое глубокое убеждение состоит в том, что:

M>1. Архитектор обязан уметь программировать на языке проекта, который разрабатывает. И к этому заключению подталкивает и весь мой опыт, и опыт тех людей, которые обладают хотя бы небольшим авторитетом для меня в этой области, и чье мнение я учитываю при формировании собственного.

Можно узнать фамилии этих авторитетов?

M>2. UML абсолютно бесполезен только в качестве документирования готового проекта. Собственно ради донесения этой мысли я и влез в этот спор.


Что это значит "абсолютно бесполезен только в качестве документирования"???
Re[30]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 06:04
Оценка:
Здравствуйте, Merle, Вы писали:


M>Я не однократно в своих сообщениях писал, что требования заказчика мы не рассматриваем, что если UML нужен заказчику, я его завалю этим UML-ем, и он будет доволен, хотя с реальным проектом этот UML будет иметь очень мало общего, это вообще не критерий. Это первое.

M>Второе, пргнозируемость к UML-ю не имеют никакого отношения, об этом я тоже писал.

Вы же читали мой пост на эту тему ... опять поднимаем вопрос, который уже рассмотрели вроле ...
Re[32]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 20.06.05 06:21
Оценка: 1 (1) +1
Здравствуйте, Merle, Вы писали:

AF>> Вы бы хотя бы написали, почему его не нужно применять, к каким конкретно последствиям это привело бы.

M>В очередной раз говорю — все наоборот. Вы вводите дополнительную сущность, Вам и доказывать, зачем она нужна.

Позиция несколько странная. К такому примитиву можно любую дискуссию свести. Это знаете, как, к примеру, от разработчиков FireFox требовать каких-то безапеляционных доказательств нужности этого продукта. В том смысле, что вот есть же IE, поэтому зачем нужен еще и FireFox, если он имеет абсолютно такое же назначение? Но тогда и ответ в стиле "А мне вот он нравится и все" можно считать вполне приемлемым. Нет смысла спорить о вкусах, если спор разворачивается исключительно в таком аспекте ...
Re[33]: UML
От: Merle Австрия http://rsdn.ru
Дата: 20.06.05 06:52
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Позиция несколько странная.

Какая есть.

AR>К такому примитиву можно любую дискуссию свести.

Не можно, а нужно, это единственный способ выяснить что-то конкретное.

AR>Это знаете, как, к примеру, от разработчиков FireFox <...>

Без аналогий совсем не получается?
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[29]: UML
От: Merle Австрия http://rsdn.ru
Дата: 20.06.05 06:52
Оценка:
Здравствуйте, byur, Вы писали:

B>Это смотря КАК его применять . ...

А как не применяй.

B>Что это значит "абсолютно бесполезен только в качестве документирования"???

Гн. Rovdo упорно придвигает мысль, что UML полезен исключительно для документирования готового проекта.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
Re[30]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 20.06.05 07:26
Оценка:
Здравствуйте, Merle, Вы писали:

M>Гн. Rovdo упорно придвигает мысль, что UML полезен исключительно для документирования готового проекта.


Вы несколько утрируете мою мысль. Я считаю, что сегодняшнее позиционирование UML чересчур широко, в то время как наиболее успешным его применение является именно в сфере документирования проектов (заметьте слова "готового" здесь нет, выше я говорил о "готовых моделях", а не проектах целиком). В будущем мне кажется рациональным вытеснение UML из всех сфер, кроме документирования, более удобными и более интегрированными с кодом технологиями. Однако я не провидец — это скорее мои пожелания — в то время как индустрия пока движется именно в сторону усиления позиций UML не только в документировании. Говоря о сегодняшнем дне, я не вижу реальных альтернатив UML при реализации больших проектов (т.е. я не ставлю под сомнение текущую полезность UML, но согласен и с тем, что в ряде случаев мы платим снижением эффективности), но хотел бы их увидеть (если мы хотим повысить эффективность в больших проектах, то долджны искать замену UML).
Re[31]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 07:59
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:


AR>Вы несколько утрируете мою мысль. Я считаю, что сегодняшнее позиционирование UML чересчур широко, в то время как наиболее успешным его применение является именно в сфере документирования проектов (заметьте слова "готового" здесь нет, выше я говорил о "готовых моделях", а не проектах целиком). В будущем мне кажется рациональным вытеснение UML из всех сфер, кроме документирования, более удобными и более интегрированными с кодом технологиями. Однако я не провидец — это скорее мои пожелания — в то время как индустрия пока движется именно в сторону усиления позиций UML не только в документировании. Говоря о сегодняшнем дне, я не вижу реальных альтернатив UML при реализации больших проектов (т.е. я не ставлю под сомнение текущую полезность UML, но согласен и с тем, что в ряде случаев мы платим снижением эффективности), но хотел бы их увидеть (если мы хотим повысить эффективность в больших проектах, то долджны искать замену UML).


А проектирования как такового больше нет???? Почему не рассматривается возможность ПРОЕКТИРОВАНИЯ на UML ... а только документирования ... И кстати ЧТО вы хотите при помощи UML задокументировать? Или мы проектируем сразу в коде ... это подход в стиле XP -- и это хорошая методология, но тогда давайте не забывать про коллективное владение кодом, рефакторинг .... XP тоже применим не во всех проектах.
Re[23]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 08:35
Оценка: +1
Здравствуйте, Сомов Александр, Вы писали:


AF>>Гениально. Правда я где то видел обратный лозунг:

AF>>Долой код! Да здравствует UML!
СА>Где угодно, только не у меня.

Каждому городу нрав и права ... каждый имеет свой ум голова. (с) Г. Сковорода.

AF>>Да и денег у них поболее будет...

СА>А там эти лозунги — маркетинг. Нужно же UML продавать. Книги, ПО и т.д.

Отсутствие UML, как я уже говорил, тоже запросто может быть маркетинг, т.к. нужно продовать что-то другое .
Re[17]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 08:37
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

СА>>>Ну этот десяток стрелочек (уж если захотелось что-то рисовать, а не использовать великий и могучий) — описать совсем не проблема. На это уйдёт час. А на освоение UML?

B>>Хм ... а сколько у Вас лично ушло времени на освоение собственно UML????

СА>До сих пор осваиваю. Правда вяло очень, так как для работы не требуется. Исключительно из интереса.


Т.е. не владея языком, таки рассуждаете на тему применимости ... интересно. Что-то вроде, "сам я книгу не читал, но осуждаю ..." ... где-то я это уже слышал ...
Re[18]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 08:43
Оценка: +1
Здравствуйте, AndreyFedotov, Вы писали:


AF> В целом верно. Правда, что именно имел в виду byur лучше спросить у него.


Только добавлю, что модель предметной области (domain model) входит в понятие модели анализа (analysis model) с т.з. RUP. Но в ряде случаев, досточно разрабатывать только ее.
Re[32]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 08:45
Оценка:
Здравствуйте, Сомов Александр, Вы писали:

B>>Что есть эффективность? Эффективность эффективности рознь ...

СА>Скатимся сейчас в формализм, а толку не прибавится. Я ведь понятно выразил свою точку зрения.

Дьявол, как обычно, кроется в деталях. В нашем случае в определениях , как верно заметил один из участников.
Re[32]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 20.06.05 08:47
Оценка:
Здравствуйте, byur, Вы писали:

AR>>Вы несколько утрируете мою мысль. Я считаю, что сегодняшнее позиционирование UML чересчур широко, в то время как наиболее успешным его применение является именно в сфере документирования проектов (заметьте слова "готового" здесь нет, выше я говорил о "готовых моделях", а не проектах целиком). В будущем мне кажется рациональным вытеснение UML из всех сфер, кроме документирования, более удобными и более интегрированными с кодом технологиями. Однако я не провидец — это скорее мои пожелания — в то время как индустрия пока движется именно в сторону усиления позиций UML не только в документировании. Говоря о сегодняшнем дне, я не вижу реальных альтернатив UML при реализации больших проектов (т.е. я не ставлю под сомнение текущую полезность UML, но согласен и с тем, что в ряде случаев мы платим снижением эффективности), но хотел бы их увидеть (если мы хотим повысить эффективность в больших проектах, то долджны искать замену UML).


B>А проектирования как такового больше нет???? Почему не рассматривается возможность ПРОЕКТИРОВАНИЯ на UML ... а только документирования ...


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

B>И кстати ЧТО вы хотите при помощи UML задокументировать?


Разработанные модели, которые могут быть уже реализованы в коде, могут быть нарисованы на бумаге, могут быть согласованы и сформированы в ходе длительного обсуждения и сидеть исключительно у вас в голове.
Re[37]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 08:55
Оценка:
Здравствуйте, Alexey Rovdo, Вы писали:

AR>Здравствуйте, byur, Вы писали:



B>>Ну вот приехали ... додискутировались до того что есть "методологии UML" !!! И до того что Together НЕ ИСПОЛЬЗУЕТ UML!!!!


AR>Ну словили на слове. Конечно надо было написать "методологии, предполагающие использование UML". Что же касается Together, то конечно UML там есть (я ведь и не отрицаю необходимость UML вообще), но как-то это несколько по-другому что-ли, чем например в Rose. Он там как-бы на вторых ролях или уж во всяком случае не главнее собственно кода. Хотя я и не говорил, что Together это именно то, что нужно. Но некоторые моменты (лучшие средства синхронизации UML-моделей и кода) позволили мне сказать, что это "движение в нужном направлении".


По большому счету, логика у них примерно одинакова. Т.е можно СПРОЕКТИРОВАТЬ на UML, сгенерить код, ... поработать с кодом ... синхронизовать с моделью. И сам по себе Together и тем более представители Борланд (берусь сказать за С. Орлика ..., хотя это дело не благодарное ) не говорят про то что, главнее код или модель ... а говорят совершенно верно, в т.ч. с маркетинговой т.з. -- что если вы проектируете с использованием UML, и у вас есть определенная культура проектирования и разработки, приняттая в вашей компании, то это инструментальное средство вам поможет сделать вашу работу более эффективной, при условии понимания КАК вы будете его применять. И вообще они опираются на Agile методологии, насколько я понимаю. Agile отнюдь не означает "как мне вздумалось так и делаю". Можете посмотреть статьи С. Амблера (S. Ambler) если хотите понять суть этого.
Re[33]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 09:11
Оценка: +1
Здравствуйте, Alexey Rovdo, Вы писали:


B>>А проектирования как такового больше нет???? Почему не рассматривается возможность ПРОЕКТИРОВАНИЯ на UML ... а только документирования ...


AR>Проектировать на UML можно, но это не эффективно. Именно поэтому я ратую за появление чего-то иного. На сегодняшний день даже в больших проектах собственно проектирование (как творческий процесс создания моделей) гораздо более удобно и целесообразно проводить на бумаге, на доске, в голове, а только потом документировать уже созданную модель (или некий прототип/версию этой модели, которые станут основой для проектирования на следующем шаге).


Ой, опять про эффективность ... ну не нужно использовать термины, которым мы не сможем дать определения внятного ... "толк", "эффективно". Очевидно, что каждый в понятие эффективности вкладывает что-то свое ... Я уже задвал вопрос, что есть эффективно? В чем мы это можем измерять ... -- в единицах времени? А мы учитываем момент, что время, потраченное на проектирование именно с использованием UML СИЛЬНО зависит от уровня владения этим языком? Очевидно, если я не знаяю Smalltalk, то писать на нем программу я буду определенно дольше, чем на знакомых языках!!! Кроме этого, никто не мешает вам на доске нароисовать UML модель, сфотать на цифровик и вставить в ваш репозиторий проектирования! Так поступают в XP и Agile методологиях ... Разве не так? И все говорят на одном языке при этом ...

B>>И кстати ЧТО вы хотите при помощи UML задокументировать?


AR>Разработанные модели, которые могут быть уже реализованы в коде, могут быть нарисованы на бумаге, могут быть согласованы и сформированы в ходе длительного обсуждения и сидеть исключительно у вас в голове.


Почему-то ни у кого не возникает желания говорить о том, что ERD диаграммы в нотациях IDEF1x или IE не эффективны при использовании проектирования БД или понимания связей м/у сущностями БД!!!! И большинство разработчиков предпочитает увидить схему БД и работать с МОДЕЛЬЮ БД, а не с ddl-скриптами ... не наталкивает на размышления, а?
Re[34]: UML
От: Sinclair Россия https://github.com/evilguest/
Дата: 20.06.05 14:18
Оценка:
Здравствуйте, byur, Вы писали:

B>В чем мы это можем измерять ... -- в единицах времени?

Конечно.
B>А мы учитываем момент, что время, потраченное на проектирование именно с использованием UML СИЛЬНО зависит от уровня владения этим языком?
Не, слабо зависит. Смысл в том, что водопадная модель не работает. Т.е. нельзя сначала спроектировать все в чистом UML, и больше к нему не возвращаться.
Я не очень знаком с UML; опыт применения довольно давний и уже почти забытый. Возможно, мои впечатления происходят от некомпетентности.
1. UML требует задавать слишком много деталей для уровня "проектирования на салфетке".
2. UML не умеет многие из деталей реализации, которые важны при проектировании.
3. В связи с этим проблемы с Round-trip Engineering.
В итоге оказывается, что для черновичков эффективнее именно бумажка и ручка (потому что меньше усилий для накалякивания схем), а для ведения документации рабочего проекта лучше иметь хороший инструмент визуализации кода (потому что иначе приходится тратиться на обратную синхронизацию).

B>Почему-то ни у кого не возникает желания говорить о том, что ERD диаграммы в нотациях IDEF1x или IE не эффективны при использовании проектирования БД или понимания связей м/у сущностями БД!!!! И большинство разработчиков предпочитает увидить схему БД и работать с МОДЕЛЬЮ БД, а не с ddl-скриптами ... не наталкивает на размышления, а?

Хм. И много из твоих знакомых разработчиков проектируют СУБД в ERD? Все случаи ERD, которые я встречал в природе, были связаны исключительно с Reverse Engineering существующих баз. Есть, правда, один перец, который уверяет меня, что напропалую пользуется ERD в Visio при проектировании своих баз. Увы, то, что он выдает за ERD — фигня. То типы полей забыл проставить, то примари кей неверен... Их можно использовать только как намек на желаемую схему. Которую уже надо проектировать в DDL. Я, как правило, проектирую на бумажке, а потом напрямую в DDL. Может, я просто не владею хорошим инструментом для ERD-рисования? Есть тул, который умеет рефакторить базы? Вот у меня есть, к примеру, база. Я ее спроектировал, создал, накидал тестовых данных. Уже прикладной уровень и бизнес логика задействованы.
Простейшая проблема: заказчик приходит и говорит, что должность у Employee больше не одна, а несколько — в каждом департаменте своя. Я себе прекрасно представляю, как отрефакторить это (вместе с данными) в рамках DDL:
alter table EmployeeDepartment 
    add PositionID int foreign key references Position

GO

update EmployeeDepartment set PositionID = e.PositionID from EmployeeDepartment inner join Employee e on e.ID = EmployeeDepartment.EmployeeID

alter table EmployeeDepartment 
    alter PositionID int not null

GO

alter table Employee drop column PositionID

Как мне отрефакторить это прямо в ERD? Чтобы все сработало? Пока что дешевше получается написать DDL, а потом отреверсить результат.

Аналогичная проблема возникает в UML: Для внесения изменений прямо в код есть масса замечательных инструментов. Поэтому можно а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д) среверсить диаграмму еще раз. Получается дешевле чем а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) переколбасить диаграмму, г) перенести изменения в код.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[35]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 20.06.05 14:58
Оценка: +1 -1
Здравствуйте, Sinclair, Вы писали:

B>>А мы учитываем момент, что время, потраченное на проектирование именно с использованием UML СИЛЬНО зависит от уровня владения этим языком?

S>Не, слабо зависит. Смысл в том, что водопадная модель не работает. Т.е. нельзя сначала спроектировать все в чистом UML, и больше к нему не возвращаться.

Стоп ... тут кто-то говорил про "водопад" ... или проектирование есть исключительно при "водопадной" модели?? ... не понятна такая посылка ... . Если вы внимательно читали дискуссию, то там шло аппелирование к RUP, Agile и XP ... а они отнюдь не проповедуют "водопоад", и вам это хорошо известно. Так зачем говорить про это? . Так что это вычеркиваем .

S>Я не очень знаком с UML; опыт применения довольно давний и уже почти забытый. Возможно, мои впечатления происходят от некомпетентности.


И при этом имеем смелость утверждать, что время проектирования с использованием UML НЕ зависит от степени владения

S>1. UML требует задавать слишком много деталей для уровня "проектирования на салфетке".


Не правда ваша ... Проектирование проектированию рознь ... что выимете ввиду под деталями??? И что и на каком уровне вы проектируете?
Кстати, UML и на салфетке можно рисовать ... никто не мешает .

S>2. UML не умеет многие из деталей реализации, которые важны при проектировании.


Опять-таки ... проектирования ЧЕГО??? Проектирование оно ведь разное бывает ...

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


Почему-то вы упорно связываете язык UML и case средства ... что, нельзя на бумаге набросать карандашем UML диагрммы??? Это проблема? Я в определенных случаях так и поступаю ... Где проблема?

B>>Почему-то ни у кого не возникает желания говорить о том, что ERD диаграммы в нотациях IDEF1x или IE не эффективны при использовании проектирования БД или понимания связей м/у сущностями БД!!!! И большинство разработчиков предпочитает увидить схему БД и работать с МОДЕЛЬЮ БД, а не с ddl-скриптами ... не наталкивает на размышления, а?

S>Хм. И много из твоих знакомых разработчиков проектируют СУБД в ERD? Все случаи ERD, которые я встречал в природе, были связаны исключительно с Reverse Engineering существующих баз. Есть, правда, один перец, который уверяет меня, что напропалую пользуется ERD в Visio при проектировании своих баз. Увы, то, что он выдает за ERD — фигня. То типы полей забыл проставить, то примари кей неверен... Их можно использовать только как намек на желаемую схему. Которую уже надо проектировать в DDL. Я, как правило, проектирую на бумажке, а потом напрямую в DDL. Может, я просто не владею хорошим инструментом для ERD-рисования? Есть тул, который умеет рефакторить базы? Вот у меня есть, к примеру, база. Я ее спроектировал, создал, накидал тестовых данных. Уже прикладной уровень и бизнес логика задействованы.
S>Простейшая проблема: заказчик приходит и говорит, что должность у Employee больше не одна, а несколько — в каждом департаменте своя. Я себе прекрасно представляю, как отрефакторить это (вместе с данными) в рамках DDL:

Все-таки давайте на Вы ... мы с вами не очень хорошо знакомы . Я помню, как вы про use cases со мной спорили, но это не повод на "ты" .. ОК?

Начноем с того, что мои знакомые таки проектируют БД а не собственно СУБД ...

По моим подсчетам, все мои знакомые ... (а среди них есть и сертифицированные разработчики Oracle в частности) используют ERD для проектирования и реверс-инжиниринга БД -- но я повторяю, что это не значит, что они не умеют или нехотят писать DDL руками ... просто есть много причин использовать ERD. Это что в России дурным тоном считается??? С каких это пор? Если вы лично не пользуетесь, то это ваше личное дело ... просто видимо вам так удобней ... сразу в DDL, и все .


S>Как мне отрефакторить это прямо в ERD? Чтобы все сработало? Пока что дешевше получается написать DDL, а потом отреверсить результат.


... как вы плавно от ПРОЕКТИРОВАНИЯ БД перешли к модификации ее структуры, и изменению ее данных! Это конечно ловкий прием сбить дисскуссию. Но давайте таки поговорим за проектирование , да?
Во-вторых IMHO это не рефакторинг отнюдь ... не нужно бросаться такими терминами . Все-таки этот термин уже "забит" -- это еще один пример применения "нехороших" приемов в дискуссии -- придание другого смысла общеупотребимым терминам.

S>Аналогичная проблема возникает в UML: Для внесения изменений прямо в код есть масса замечательных инструментов. Поэтому можно а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д)


А код то откуда появился??? Если вы его написали сразу, без использования UML ... то на кой реверсить его далее???

S>среверсить диаграмму еще раз. Получается дешевле чем а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) переколбасить диаграмму, г) перенести изменения в код.


А если так ... а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д) среверсить диаграмму еще раз и увидеть проблему; е) набросать на диаграмме пару классов-развязок ж) снова сгенерить код -- так ну ни как не получается??? так будет плохо???
Re[36]: UML
От: Sinclair Россия https://github.com/evilguest/
Дата: 21.06.05 04:12
Оценка: +1
Здравствуйте, byur, Вы писали:
B>И при этом имеем смелость утверждать, что время проектирования с использованием UML НЕ зависит от степени владения
Конечно. Я невнятно выразился — утверждение сводится к тому, что затраты на проектирование в UML уходят не на то, что требует глубокого владения. А на рутинную работу по синхронизации кода с моделью.
S>>1. UML требует задавать слишком много деталей для уровня "проектирования на салфетке".

B>Не правда ваша ... Проектирование проектированию рознь ... что выимете ввиду под деталями??? И что и на каком уровне вы проектируете?

Ну как — допустим, это 3-tier система. Точнее указать количество tier и сервисов, которые потребуются, в начале процесса проектирования невозможно.
B>Кстати, UML и на салфетке можно рисовать ... никто не мешает .
Верно. Только на свлфетке обычно рисуют гораздо менее формально, чем UML. Тут тебе и три типа диаграмм в одном, и на ходу изобретенные обозначения стереотипов...
S>>2. UML не умеет многие из деталей реализации, которые важны при проектировании.
B>Опять-таки ... проектирования ЧЕГО??? Проектирование оно ведь разное бывает ...
Проектирования приложения. Что включает в себя проектирование интерфейсов, классов, методов, сервисов, БД и т.л.
B>Почему-то вы упорно связываете язык UML и case средства ... что, нельзя на бумаге набросать карандашем UML диагрммы??? Это проблема? Я в определенных случаях так и поступаю ... Где проблема?
В том, что "набросок" — это не UML. Это костыль. Настоящее проектирование при этом происходит в голове. Если рисовать любую полноценную UML — диаграмму, то это очень много трудозатрат, которые пойдут в корзину. CASE средства позволяют хотя бы попытаться окупить эти титанические усилия.

B>Все-таки давайте на Вы ... мы с вами не очень хорошо знакомы . Я помню, как вы про use cases со мной спорили, но это не повод на "ты" .. ОК?

Ок, не проблема.
B>Начноем с того, что мои знакомые таки проектируют БД а не собственно СУБД ...
Прошу прощения — описка.
B>По моим подсчетам, все мои знакомые ... (а среди них есть и сертифицированные разработчики Oracle в частности) используют ERD для проектирования и реверс-инжиниринга БД -- но я повторяю, что это не значит, что они не умеют или нехотят писать DDL руками ... просто есть много причин использовать ERD.
Ну назовите мне хоть одну? Ни разу в жизни я не видел проектирования в ERD. Только в учебниках. Да еще и по IDEF0! Может, это от того, что я не сертифицированный?
B>Это что в России дурным тоном считается??? С каких это пор? Если вы лично не пользуетесь, то это ваше личное дело ... просто видимо вам так удобней ... сразу в DDL, и все .
Конечно. И я обосновал, почему.

S>>Как мне отрефакторить это прямо в ERD? Чтобы все сработало? Пока что дешевше получается написать DDL, а потом отреверсить результат.


B> ... как вы плавно от ПРОЕКТИРОВАНИЯ БД перешли к модификации ее структуры, и изменению ее данных! Это конечно ловкий прием сбить дисскуссию. Но давайте таки поговорим за проектирование , да?

Давайте. Вернемся к началу — я говорил про водопадную модель. Она НЕ РАБОТАЕТ. Это означает именно то, что большая часть проектирования происходит не с нуля. Его приходится применять в тот момент, когда часть системы уже реализована в соответствии с первоначальным проектом. Если технология XXX отказывается помогать разработчику при изменении существующей структуры, то ей придется пойти в dev/null.
B>Во-вторых IMHO это не рефакторинг отнюдь ... не нужно бросаться такими терминами .
Ок, если не нравится — не буду. Я просто привык расширительно трактовать термины.
B>Все-таки этот термин уже "забит" -- это еще один пример применения "нехороших" приемов в дискуссии -- придание другого смысла общеупотребимым терминам.
Да ладно вам. Тоже мне преступление!
S>>Аналогичная проблема возникает в UML: Для внесения изменений прямо в код есть масса замечательных инструментов. Поэтому можно а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д)
B> А код то откуда появился??? Если вы его написали сразу, без использования UML ... то на кой реверсить его далее???
Как? Вы же сами сказали — большинство ващих знакомых разработчиков предпочитают видеть БД в ERD. Ключевое слово здесь — видеть. Текстовое представление не очень удобно. Но писать в UML/ERD имхо не менее неудобно.

B>А если так ... а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д) среверсить диаграмму еще раз и увидеть проблему; е) набросать на диаграмме пару классов-развязок ж) снова сгенерить код -- так ну ни как не получается??? так будет плохо???

Неа, не получается. Покажите мне генератор кода по UML модели, способный корректно внести изменения в реализацию? Пример с БД я привел. Пример с классами мне, если честно, приводить лень. Есть ли тул, который поможет мне сгенерить эту пару классов-развязок, и заменить ссылки в методах существующих классов так, чтобы все осталось корректно? Для рефакторинга в коде подобные инструменты есть.
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[37]: UML
От: Alexey Rovdo Россия http://ru.linkedin.com/in/rovdo
Дата: 21.06.05 07:14
Оценка: +1
Я все-таки немножко реабилитирую ERD. В отличие от UML, иногда действительно можно использовать CASE-средсвта (ErWin, PD), работающие с ER-диаграммами, именно в процессе разработки. Я сам иногда практикую такое. Но это возможно, во-первых, только для новых систем (рефакторинг существующих баз с информацией, которую нельзя удалять, не прокатит), во-вторых, это означает, что мы делаем модель, например, в ErWin и только в ErWin, минимизируя любую ее правку средствами СУБД. И еще один момент: опираясь на ERD, мы имеем проблему, когда нам нужно не только задавать структуру БД, но и инициализировать ее какими-то исходными данными — современные CASE-средства для этого приспособлены крайне плохо. Важно, однако, то, что (кроме указанной проблемы с самим данными) реализуя модель средствами СУБД мы не располагаем практически никакими дополнительными возможностями (не можем руками/скриптами создать какие-то особенно хитроумные структуры), недоступные нам при проектировании в CASE-системе.

Собственно сама возможность использования ERD на этапе проектирования баз данных обусловлена именно практически полной эквивалентностью доступных инструментов с традиционными скриптовыми возможностями SQL и гибкими средствами синхронизации, имеющимися в современных CASE-системах. Они действительно позволяют синхронизировать модель с "кодом" (реализацией БД) в обе стороны почти без потерь (к сожалению теряются сами данные в таблицах). Но вот про UML-инструменты такого сказать уже нельзя, т.е. синхронизацией сегодня приходится заниматься вручную, а сами возможности кода много шире возможностей UML. Т.е. UML-модель, в отличие от ERD, не полна и в общем случае полной быть и не может, что существенно ограничивает наши возможности при проектировании средствами UML и затрудняет синхронизацию UML с исходным кодом.
Re[37]: UML
От: byur Россия http://yurybuluy.blogspot.com/
Дата: 21.06.05 07:17
Оценка: 1 (1)
Здравствуйте, Sinclair, Вы писали:

S>Конечно. Я невнятно выразился — утверждение сводится к тому, что затраты на проектирование в UML уходят не на то, что требует глубокого владения. А на рутинную работу по синхронизации кода с моделью.


для этого можно использовать case средства.


S>>>1. UML требует задавать слишком много деталей для уровня "проектирования на салфетке".


B>>Не правда ваша ... Проектирование проектированию рознь ... что выимете ввиду под деталями??? И что и на каком уровне вы проектируете?

S>Ну как — допустим, это 3-tier система. Точнее указать количество tier и сервисов, которые потребуются, в начале процесса проектирования невозможно.

Хм ... архитектуру по требованиям не прикидываем вообще? Кроме того, мне ну никак не нужно понимание звенности, при посторении domain model .

B>>Кстати, UML и на салфетке можно рисовать ... никто не мешает .

S>Верно. Только на свлфетке обычно рисуют гораздо менее формально, чем UML. Тут тебе и три типа диаграмм в одном, и на ходу изобретенные обозначения стереотипов...

И потом долго поясняют всем читателям, что мы имеем ввиду ... ... или все телепаты? А если у нас работает пару разработчиков-надомников в проекте? Тоже получается не очень экономично с собственными нотациями. При таком подходе нужна команда единомышленников, с т.з. того, что ваши мысли на лету хватают. А такое условие не всегда присутствует.

S>>>2. UML не умеет многие из деталей реализации, которые важны при проектировании.

B>>Опять-таки ... проектирования ЧЕГО??? Проектирование оно ведь разное бывает ...
S>Проектирования приложения. Что включает в себя проектирование интерфейсов, классов, методов, сервисов, БД и т.л.

Интерфейсы, классы очень трудно отобразить на UML с заданной степенью детализации? Или о чем речь?

B>>Почему-то вы упорно связываете язык UML и case средства ... что, нельзя на бумаге набросать карандашем UML диагрммы??? Это проблема? Я в определенных случаях так и поступаю ... Где проблема?

S>В том, что "набросок" — это не UML. Это костыль. Настоящее проектирование при этом происходит в голове. Если рисовать любую полноценную UML — диаграмму, то это очень много трудозатрат, которые пойдут в корзину. CASE средства позволяют хотя бы попытаться окупить эти титанические усилия.

Не совсем понял ... на UML нельзя делать наброски?? Очень запросто . Кроме этого, я не понимаю что есть "полноценная UML диаграмма"? Я не встречал такого термина в литературе

B>>По моим подсчетам, все мои знакомые ... (а среди них есть и сертифицированные разработчики Oracle в частности) используют ERD для проектирования и реверс-инжиниринга БД -- но я повторяю, что это не значит, что они не умеют или нехотят писать DDL руками ... просто есть много причин использовать ERD.

Ну назовите мне хоть одну?

Пожалуйста ... создание новой системы -- проектирование модели БД, лично я предпочту начать с ERD, чем сразу руками писать ddl. И так поступаю не только я один . Второй пример -- изменение требований к стсиеме, которое влечет за собой изменение в т.ч. и структуры данных -- добавление новых сущностей, изменение связей ... Изменения тоже бывают разные -- изменения структуры совершенно спокойно можно делать в ERD . Пример с Firebird и IBExpert из жизни ... изменяю структуру БД, причем в ERD я это делаю, генерю dll по ERD и прошу IBExpert сделать мне дельта-скрипт, который нужно проиграть на исходной БД. Вот пример автоматизации такой деятельности. Да, модификация данных (НЕ СТРУКТУРЫ!!!) это другая задача. Говорить какие задачи чаще, а какие реже -- не стоит ... ибо все равно у нас нет достоверной статистики ... а только ощущения .

У каждого найдутся свои примеры из жизни, показывающи применимость или неприменимость чего-либо. Как правило такие примеры имеет смысл рассматривать в контексте проекта, а не в отрыве от него, чтобы прояснить картину.

S>Ни разу в жизни я не видел проектирования в ERD. Только в учебниках. Да еще и по IDEF0! Может, это от того, что я не сертифицированный?


Сорри, при чем тут IDEF0 ... это несколько из другой оперы ... возможно имелось ввиду IDEF1x?

B>>Это что в России дурным тоном считается??? С каких это пор? Если вы лично не пользуетесь, то это ваше личное дело ... просто видимо вам так удобней ... сразу в DDL, и все .

S>Конечно. И я обосновал, почему.

На ваш пример я привел контр-пример ... так можно бесконечно приводить примеры .

S>>>Как мне отрефакторить это прямо в ERD? Чтобы все сработало? Пока что дешевше получается написать DDL, а потом отреверсить результат.


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

B>> ... как вы плавно от ПРОЕКТИРОВАНИЯ БД перешли к модификации ее структуры, и изменению ее данных! Это конечно ловкий прием сбить дисскуссию. Но давайте таки поговорим за проектирование , да?

S>Давайте. Вернемся к началу — я говорил про водопадную модель. Она НЕ РАБОТАЕТ. Это означает именно то, что большая часть проектирования происходит не с нуля. Его приходится применять в тот момент, когда часть системы уже реализована в соответствии с первоначальным проектом. Если технология XXX отказывается помогать разработчику при изменении существующей структуры, то ей придется пойти в dev/null.

Я уже неоднкратно говорил о том, что если вы изанчально не работали на основе методологии, а сразу писали код -- то начинать использовать в середине UML, не понимая что вы ОТ НЕГО ХОТИТЕ, возможно и не стоит?
А если вы изнзначально работали в ссответсвии с методологией, и использовали UML, то скорее всего вы начнете изменения с исправления модели. А тулзов, синхронизирующих модель с кодом есть .. вы лично какие пробовали использовать?

B>>Во-вторых IMHO это не рефакторинг отнюдь ... не нужно бросаться такими терминами .

S>Ок, если не нравится — не буду. Я просто привык расширительно трактовать термины.

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

B>>Все-таки этот термин уже "забит" -- это еще один пример применения "нехороших" приемов в дискуссии -- придание другого смысла общеупотребимым терминам.

S>Да ладно вам. Тоже мне преступление!

Это не преступление а "запрещенный прием" дискуссий. Им часто пользуются наши депутаты на дебатах ... не будем уподобляться им.

S>>>Аналогичная проблема возникает в UML: Для внесения изменений прямо в код есть масса замечательных инструментов.


Для начала имеет смысл понять, а нужно ли вносить изменения в модель и поддерживать ее актуальность? Это зависит от культуры или стандартов, принятой(ых) в вашей организации или от др. причин.

B>> А код то откуда появился??? Если вы его написали сразу, без использования UML ... то на кой реверсить его далее???

S>Как? Вы же сами сказали — большинство ващих знакомых разработчиков предпочитают видеть БД в ERD. Ключевое слово здесь — видеть. Текстовое представление не очень удобно. Но писать в UML/ERD имхо не менее неудобно.

Не писать, а проектировать ... . Писать это болше к коду все-таки ...

B>>А если так ... а) посмотреть на диаграмму, построенную по коду, б) уяснить задачу, в) спланировать рефакторинг, г) применить рефакторинг в несколько кликов, д) среверсить диаграмму еще раз и увидеть проблему; е) набросать на диаграмме пару классов-развязок ж) снова сгенерить код -- так ну ни как не получается??? так будет плохо???

S>Неа, не получается. ...

Точно пробовали? ... есть статистика какие изменения чаще происходят? Какие инструментальные средства использовали?
Re[34]: UML
От: Merle Австрия http://rsdn.ru
Дата: 21.06.05 07:26
Оценка:
Здравствуйте, byur, Вы писали:

Я все-таки опять не удержусь..

B>Почему-то ни у кого не возникает желания говорить о том, что ERD диаграммы в нотациях IDEF1x или IE не эффективны при использовании проектирования БД или понимания связей м/у сущностями БД!!!! И большинство разработчиков предпочитает увидить схему БД и работать с МОДЕЛЬЮ БД, а не с ddl-скриптами ... не наталкивает на размышления, а?

Вот это, маяго говоря, не совсем правда. Я за свою, довольно таки обширную практику работы с БД, не видел ни одного проектировщика, который в серьез пытался бы работать с БД посредством ERD диаграм. Точнее был один. Он долго рассказывал, что это правильно и удобно, но закончилось все спустя пару недель, после того как он долго пытался заставить Visio внести адекватные изменения, плюнул, и полез править скрипты убрав visio на дальнюю полку.
И причин тому несколько, первую объяснил Sinclair, нет нормальных инструментов позволяющих вносить изменения в готовую модель так, чтобы они отражались в скриптах.
Вторая заключается, как ни странно, в проблемах с пониманием и однозначностью диаграм. Опять таки из недавней практики, надо было удаленно согласовать схему БД, сначала долго обменивались диаграмами с длинными описаниями, и ни как не могли понять, кто что имеет ввиду, это продолжалось несколько дней. Для того чтобы решить проблему и прийти к взаимопониманию было достаточно одного DDL скрипта c примерами наиболее актуальных запросов, через полчаса договорились обовсем.
Третья причина — диаграма не валидируется. По готовому DDL, зная что я должен в итоге получить, я прогоню характерные запросы и тут же вылезут все несответствия, нарушенные констрейнты и прочие мелочи — никакой ERD мне такой возможности не предоставит.
Хоть Вы дальше и писали про знакомых сертифицированых Ораклистов, но я позволю себе не поверить, что они действительно именно работают с БД посредством ERD диаграм, это просто ужасно не удобно.
... << RSDN@Home 1.1.4 beta 7 rev. 0>>
Мы уже победили, просто это еще не так заметно...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.