uml + php (web)

Илья2

Guest
вот тут появился "заморский" человек, мне интересно спросить,

2webdeveloper:
как на западе с UML и веб разработкой. Т.е. является ли это рыночным критерием, что команда, которая занимается разработкой сайта знакома с UML или нет? Или смотрят на цену, а т.к. "без-UML" дешевле то чаще идут в "простые" конторы?

Просто в России, как мне кажется еще просто нет рынка для UML, т.е. тем кто заказывает сайт - нужно проще, дешевле, а это в большинстве случаев будет функциональный (т.е. не объектно-ориетированный) PHP код, который потом будет сложно поддерживать, наращивать и т.п.

А т.к. те кто использует UML - берут больше, то клиенты идут к тем кто не использует UML. А бОльшая цена ведь в конечном итоге оправдывается на все 100%. А мЕньшая цена потом выльется еще дороже.

Т.е. это "неосведомленность" клиентов по преимуществам объектно-ориентированной разработки и использованию UML при разработке и документировании - "отсутствие спроса" на UML, т.е. отсутствие рынка.

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

Crazy

Developer
Дело не в UML, а в квалификации. У кого она выше -- берут больше. Есть так же зависимость между квалификацией и пониманием наобходимости в использовании проектирования.

Кроме того, несколько неверна точка зрения о том, что вариант без проектирования дает в результате большую сумму. Бывает. Но главное в том, что работа без проектирования дает непредсказуемый результат в непредсказуемое время. Иногда это даже выходит дешевле и быстрее. Но редко. :)

BTW, слухи об использовании UML часто сильно преувеличены. Многие из команд, вещающих об активном использовании UML, делают это исключительно а словах. :)
 

Crazy

Developer
Автор оригинала: webdeveloper
А меня всегда удивляло: как человек может купить такую книжку, на которой написана что она ДЛЯ ПОЛНОГО ИДИОТА :)
Эти книжки очень помогают на собеседовании при приеме на работу. :)
 

.des.

Поставил пиво кому надо ;-)
Автор оригинала: webdeveloper
А меня всегда удивляло: как человек может купить такую книжку, на которой написана что она ДЛЯ ПОЛНОГО ИДИОТА
Эти книжки очень помогают на собеседовании при приеме на работу.
Если собеседование проводит такой же.
Если бы ты проводил собеседование, я бы не решился читать такую книгу.
 

Crazy

Developer
Меня, признаться, дважды обманули на собеседовании. Причем одного еще не уволили. :)
 

Mammoth

Guest
Вставлю свои пять копеек.

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

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

ЗЫ. Извините, если маленько отклонился от темы... ;-)
 

kvn

programmer
Here my 2 cents..

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

Если брать в общем, то на одном УМЛ свет не сошелся, можно и без него прекрасно обходиться (как в прочем на 99% словянского рынка.) И проектировать на бумаге/доске исходя из UserStories сразу классов, причем это делать можно прямо сидя в консоле, и забивая прототипы.

Главное, чтобы разработчику было удобно/комфортно и заказчик был доволен.

Но это я уже зашел в "методологии проектирования" - а это тема для отдельного треда. Сам я предпочитаю XP в этом плане.

А по поводу требований на работу, то мне попадалось много вакансий на должность "Project Manager", в который явно требовалолсь знание/понимание UML диаграмм. Но с другой стороны Вы не станете Project Managerom зная только UML.
В основном - предлоджения представительств западных компаний.
И только 1 раз это требовалось от программиста.

По поводу статьи - поддерживаю. Нужное и увлекательное это дело. :)

Удачи.
 

Илья2

Guest
2Mammoth:

"единственная цель" - для чего?
При создании программной системы, как правило надо делать моделирование бизнес-процессов (чтобы все говорили на одном языке, и чтобы она (модель) соответствовала реалиям, а не бумагам), а потом моделирование системы.

Это с точки зрения программирования, конечно UML можно применять и для бизнес-решений (как замена IDEF0). Т.е. совершенно без связи с программированием.


а по поводу программирования, кому интересно: пример ОО программирования, с 2-мя диаграммами UML и исходниками
http://phpclub.net/talk/showthread.php?s=&threadid=29391&rand=3#post161108
 

kvn

programmer
...и еще:
к Илья2:
Объектно-ориентированное это будет приложение или нет - это никак не связано с UML, можно и без него проектировать объектно, а можно и с ним такого г... намутить..., что потом и УМЛ не поможет.

:) Програмный код не станет лучше от смены инструмента проектирования/программирования.
 

Илья2

Guest
2Mammoth:
сорри, ты сказал
"На мой взгляд, единственная цель использования UML - это формализация проблемной области (бизнес-процессов). "

Это так, если те кто применяют UML - руководители предприятия. Но для программистов все же также нужен UML. Они (программисты) применяют его для других целей.

2kvn:

UML - это, конечно, круто, и все такое. Но тут не стОит забывать о том, для чего все это делается, для того, чтобы облегчить жизнь разработчику? или заказчику?
в идеале должны убиваться два зайца, т.е. и для разработчиков должно стать "лучше" и для заказчиков.

Если брать в общем, то на одном УМЛ свет не сошелся, можно и без него прекрасно обходиться (как в прочем на 99% словянского рынка.) И проектировать на бумаге/доске исходя из UserStories сразу классов, причем это делать можно прямо сидя в консоле, и забивая прототипы.
...
Но это я уже зашел в "методологии проектирования" - а это тема для отдельного треда. Сам я предпочитаю XP в этом плане.
понятное дело что не сошелся, я смотрел XP - интересно, я не понимаю почему XP и UML противопоставляют друг другу, я вполне могу принять эти обе методологии, применять их методики.

Есть еще одна крутая книга "Рефакторинг" Мартина Фаулера, вот он там как раз говорит (извиняюсь если перевру), что UML удобно для начального этапа, для создания архитектуры, а потом программировать используя XP техники (парное программирование, тестирование и т.д.), тестирование особенно мне нравится в XP. И конечно применять "рефакторинг" :).

В книге есть иллюстрации и на UML и просто кодом.

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

В общем, человек должен быть со своей головой и все применять гибко.

А по поводу требований на работу, то мне попадалось много вакансий на должность "Project Manager", в который явно требовалолсь знание/понимание UML диаграмм. Но с другой стороны Вы не станете Project Managerom зная только UML.
В основном - предлоджения представительств западных компаний.
И только 1 раз это требовалось от программиста.
да, странно, как раз программист и должен понимать UML диаграммы, т.е. то что от него требуется.
 

young

Новичок
Я понял это намек, я все ловлю на лету...

Может я конечно глупость спрагиваю, но dia может в результате кропотливого труда сегенерить php sourse?
 

Илья2

Guest
2kvn:

Объектно-ориентированное это будет приложение или нет - это никак не связано с UML, можно и без него проектировать объектно, а можно и с ним такого г... намутить..., что потом и УМЛ не поможет.

Програмный код не станет лучше от смены инструмента проектирования/программирования.
понятно что UML - это не "чудо". Это просто язык для документирования объектно-ориентированного кода, самое главное это объектно-ориентированная декомпозиция, т.е. структура классов и объектов.

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

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

За ссылку - спасибо.
 

Mammoth

Guest
Это так, если те кто применяют UML - руководители предприятия. Но для программистов все же также нужен UML. Они (программисты) применяют его для других целей.
Руководителям предприятия вряд-ли понадобится UML. Но меня интересует другое: для КАКИХ еще целей применяется UML кроме целей формализации?

И как это согласуется со следующим твоим высказыванием:

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

Сопутствующий вопрос: что в твоем понимании "реалии" и "бумаги"?

понятно что UML - это не "чудо". Это просто язык для документирования объектно-ориентированного кода, самое главное это объектно-ориентированная декомпозиция, т.е. структура классов и объектов.
ИМХО, UML - язык моделирования, а не документирования кода...
 

Илья2

Guest
2Mammoth:

объясни что значит "формализация", я не понимаю что ты хочешь этим сказать.

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

При бизнес моделировании, можно рассматривать объект "чек", т.к. он принимает участие при бизнес-прецеденте "возврат товара".

В модели системы такого объекта не существует.

Т.е. не все из бизнес-модели попадает в модель системы, но опасно если что-то пропустится.

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

поэтому "реалии" - это когда делают бизнес-моделирование по реальным процессам.

Да UML - это язык моделирования, но т.к. моделирование ведется на объектно-ориентированном языке, то UML - это документирование объектно-ориентированной системы.
 

kvn

programmer
я не понимаю почему XP и UML противопоставляют друг другу, я вполне могу принять эти обе методологии, применять их методики
Необосновано как-то, где их противопоставляют? Источник?
И вообще: UML - язык, XP (eXtreme Programming) - это методология.
ИМХО, как-то их сравнивать и/или противопоставлять - немного глупо.

Я так понимаю, мы немного спутали понятия, в XP нет нигде возласов против УМЛ, там просто сказано, что релиз должет сначала быть спланированным, но _как_ ты будешь его планировать, и какие инструменты использоввать - это личное дело. Напоминаю, что УМЛ - это всего лишь инструмент, который, как ты сказал, желательно знать уважающему себя программисту. Но его нельзя подавать, как метод проектирования, или, более того, методологию.

Мы здесь немного отвлеклись от темы, потому как обсуждаем UML в веб, а это просто использование UML в веб.

У меня вопрос к Илья2, я так понимаю ты автор статьи http://www.phplab.net/uml2web/
Ты писал статью, основываясь на реальных проектах, навыках, или просто после прочтения книги по UML, OOP проектированию, решил переписать все это в специфике WEB?

В любом случае, буду ждать продолжения.
 

Илья2

Guest
У меня вопрос к Илья2, я так понимаю ты автор статьи http://www.phplab.net/uml2web/
нет :)
автор СТАН, он говорил что уже написал до 5-ой главы, и собирается выложить продолжение.
 
Сверху