|
Эффективность UML
|
|||
---|---|---|---|
#18+
Опыт работы в компаниях, занимающихся разработкой программно-аппаратных систем (для себя, по заказу, программные продукты) за последние 20 лет (порядка 7 крупных компаний включая зарубежные) показал слабое использование средств проектирования систем, средств основанных на UML, в частности. В большинстве случаев применение средств проектирования сводится к «рисованию» иллюстраций бизнес-процессов, требований, архитектур систем для «вклеивания» в документы (в том числе презентации). Это неплохо, но очень мало по сравнению с эффектом от систематического подхода к проектированию. Основные аспекты систематического подхода к проектированию программно-аппаратных систем: • Хранение моделей систем, включая элементы/объекты проектирования в едином репозитории (для UML наиболее распространен Sparx Enterprise Architect); • Многопользовательская работа с репозиторием всех типов участников проектирования: o Бизнес аналитики; o Системные аналитики; o Архитекторы (программные и аппаратные); o Проектировщики программных модулей и пользовательских интерфейсов; o Проектировщики тестов. • Управление версиями моделей и объектов проектирования; • Взаимосвязь (трассируемость) объектов проектирования, создаваемых разными участниками и разными типами участников процесса проектирования, например: o Связи между объектами моделей бизнес-процессов и объектами системного анализа (требования к разрабатываемым программно-аппаратным системам); o Связи между объектами системного анализа и объектами архитектуры (программной и аппаратной); o Связи между архитектурой м модульным дизайном систем, объектами моделей пользовательского интерфейса; o Связи между системными требованиями и тестовыми сценариями. • Автоматизированная генерация документации по проектированию с возможностью настройки и многократного использования шаблонов документов и возможностью выбора набора моделей и объектов для отражения в документе. Малое внимание к проектированию программно-аппаратных систем вообще связано с широко распространенным убеждением что проектирование – излишество. Все могут сделать программисты и другие разработчики, непосредственно связанные с системами (код программ, аппаратура), при интенсивном взаимодействии с заказчиками или так называемыми «продукт овнерами». Это часто поддерживается (на философском уровне) Agile методологиями. Следование таким убеждениям по опыту работы в большинстве компаний приводит к печальным последствиям: • Сроки разработки и внедрения систем не сокращаются, а возрастают; • Существенно повышается вероятность провала проектов; • Экономии на ресурсах (участниках разработки) нет; • Качество разработки и внедрения систем существенно снижается; • Стоимость поддержки и развития систем существенно возрастает. Как следствие - существенная неудовлетворенность со стороны Заказчиков. Влияние проектирования систем на эффективность и качество разработки, внедрения и сопровождение систем характеризуется следующими аспектами: 1. Проектирование систем является объективно неизбежной частью общего процесса разработки и внедрения систем, даже если в разработке участвует один человек, например, программист (в таких случаях разработчик выполняет все роли по проектированию системы, возможно неформально, «мысленно»). 2. Разработка систем (программирование, сборка аппаратно-программных комплексов) выполняется существенно быстрее, дешевле и качественнее при достаточном уровне предварительного проектирования (бизнес-процессы, требования, архитектура и дизайн). 3. Проектирование систем быстрее и дешевле разработки (программирование, сборка и настройка аппаратно-программных комплексов). 4. Качество проектирования не может быть «абсолютным» (требования, архитектура, дизайн). Требуется периодический выпуск версий системы для получения обратной связи от Заказчика. Лирическое отступление: a. Многие приверженцы Agile подходов считают, что идея итеративности выпусков системы– заслуга методологии Agile против всего старого под названием «водопад» («условно» основатель данного подхода - доктор Уинстон У. Ройс «Managing the development of large software systems» 1970г). b. На самом деле никакого «водопада» никогда не было. Уже У. Ройс в своих работах настаивал на итеративном подходе, все последующие методологии, все современные классические (не Agile) методологии – итеративные. 5. Необходим продуманный и обоснованный оптимум между противоречивыми тезисами 2,3 с одной стороны и 4 с другой стороны (все классические методологии разработки и внедрения систем предполагают такой оптимум). 6. Разделение труда между дисциплинами по разработке систем (виды проектирования, виды разработки и внедрения систем) приводит к существенному росту эффективности. Это связано с тем, что каждая дисциплина требует высокого профессионализма (накоплен большой объем знаний и большой опыт). В конце концов высокая эффективность разделения труда доказана еще Адамом Смитом (эксперименты с «булавками»). 7. Повторное использование объектов проектирования участниками разработки существенно повышает эффективность проектирования. Основные аспекты повторного использования объектов проектирования: a. Повторное использование объектов проектирования специалистами одного направления (например, системные аналитики) в рамках разработки одной системы. Примеры: использование объектов типа «сущность» и ER моделей, общих требований верхнего уровня, нефункциональных требований; b. Повторное использование объектов проектирования специалистами одного направления в рамках разработки разных систем. В системном анализе это использование аналогичных сущностей в ER моделях, аналогичных функциональных и нефункциональных требований, в архитектуре – повторное использование модулей, компонент, архитектурных фреймворков, и.т.д. c. Проверка соответствия между объектами проектирования разных направлений (трассируемость). Примеры: проверка соответствия/покрытия системными требованиями описаний бизнес-процессов, проверка соответствия/покрытия архитектурными решениями (модули, компоненты, …) системных требований. Проверка трассируемости снижает риск не учета всех требований и задач разработки, а также выявляет избыточность в решениях по разработке. 8. Автоматическая генерация документации для по системам для широкого круга пользователей: a. Описание бизнес-процессов – для Заказчиков и бизнес руководства разработчика; b. Документы Технического Задания и Технического проекта – для Заказчиков, руководства от разработчика, всех видов разработчиков; c. Документация для сотрудников по внедрению, поддержки и эксплуатации; d. Документация для сопровождения; e. Документация для разработчиков, участвующих в развитии системы; f. Документация для «быстрого вхождения» в разработку, внедрение и развитие системы новых участников. Вывод: потенциал систематического проектирования программно-аппаратных систем с точки зрения повышения эффективности, качества, снижения рисков – очень большой. Конечно, есть трудности с внедрением такого подхода: 1. Мало специалистов с хорошим знанием систематических нотаций (например, UML, BPMN, IDEF, ..); 2. Мало специалистов с хорошим знанием технических средств проектирования, поддерживающих систематических подход к проектированию; 3. Необходима существенная поддержка руководства и энтузиазм участников процесса разработки, внедрения и сопровождения систем. Это, наверное самое главное!!! Еще: " О вреде Agile " Опыт работы программистом в Германии ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 10:26 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
многа букф. Пустота ниачомъ. Призыв массово плодить дармоедов, рисующих ненужные картинки и диаграммы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 11:07 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Речь идет об индустриальной разработке программно-аппаратных систем как альтернатива «коленочно-кустарно» ремесленной разработке. За последние 5 веков производство во всех отраслях переходило от кустарно-ремесленного подхода к индустриальному подходу. Любое новое сколько-нибудь значительное производство предваряется существенной стадией проектирования. Это касается зданий, предприятий, самолетов, электронного оборудования, кораблей, многого другого. Конечно, ремесленное производство не исчезло, существует и сейчас (предметы искусства, народные промыслы, …), но не определяет уровень нашего развития. Почему-то в ИТ некоторые считают, что ремесленный подход является основой ИТ и это навсегда. Наверное, определенная ниша для ремесленно-кустарной разработки в ИТ есть. Но основой ИТ отрасли такой подход быть не может. Конкуренция должна этот вопрос решить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 12:58 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Но основой ИТ отрасли такой подход быть не может.Основой в отрасли есть экономическая целесообразность. Всякие тех.писатели, проектировщики чаще всего - ненужный баласт, съедающий 2/3 бюджета и времени. Формально нужен для проектов в госкорпорациях, где денег не считают и требуют как можно больше документации, описаний, обоснований, сертификаций, согласований и прочих совершенно безполезнейших бумаг. Чиновникам начихать на конечный результат. Их удел - побольше бумаги, чтобы прикрыть жопу, которая с трудом умещается в кресло. Софт стареет быстрее, чем пишут к нему подробное тех.описание. Его существование - вещь чисто формальная, для галочки. Для чиновников всех мастей. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 13:45 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Дмитрий Морочко 1. Мало специалистов с хорошим знанием систематических нотаций (например, UML, BPMN, IDEF, ..); потому что толку от них маловато кроме инфоцыган ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 14:10 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Дмитрий Морочко, Практика лучшая мера теории. В ходе эксплуатации выяснилось, что "птичий" язык в виде нотаций оказался не нужен. Т.к. на его поддержание уходит ресурсов больше, чем он приносит PROFIT. Гибкие методологии возникли, как ответ на вызов сложности систем. Т.е. как и в природе выжили не самые лучшие, а самые присосабливающиеся . :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 14:15 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
mad_nazgul В ходе эксплуатации выяснилось, что "птичий" язык в виде нотаций оказался не нужен. ну была же идея. что я в "розе" описываю классы и взаимодействие, а дальше жмешь в "нарубить и замесить" и среда сама все генерит. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 14:34 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
L_argo Всякие тех.писатели, проектировщики чаще всего - ненужный баласт, съедающий 2/3 бюджета и времени. Что за болезненные глупые идеи? Откуда это у вас берётся? L_argo Формально нужен для проектов в госкорпорациях, где денег не считают и требуют как можно больше документации, описаний, обоснований, сертификаций, согласований и прочих совершенно безполезнейших бумаг. а.. это же высокоточная диванная экспертиза, откуда хорошо видно как там всё в госкорпорациях устроено L_argo Чиновникам начихать на конечный результат. Их удел - побольше бумаги, чтобы прикрыть жопу, которая с трудом умещается в кресло. Софт стареет быстрее, чем пишут к нему подробное тех.описание. Его существование - вещь чисто формальная, для галочки. Для чиновников всех мастей. какой великолепный, наивный, но убойный набор тезисов мдяя... ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 15:09 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
hVostt L_argo Всякие тех.писатели, проектировщики чаще всего - ненужный баласт, съедающий 2/3 бюджета и времени. Что за болезненные глупые идеи? Откуда это у вас берётся? L_argo Формально нужен для проектов в госкорпорациях, где денег не считают и требуют как можно больше документации, описаний, обоснований, сертификаций, согласований и прочих совершенно безполезнейших бумаг. а.. это же высокоточная диванная экспертиза, откуда хорошо видно как там всё в госкорпорациях устроено L_argo Чиновникам начихать на конечный результат. Их удел - побольше бумаги, чтобы прикрыть жопу, которая с трудом умещается в кресло. Софт стареет быстрее, чем пишут к нему подробное тех.описание. Его существование - вещь чисто формальная, для галочки. Для чиновников всех мастей. какой великолепный, наивный, но убойный набор тезисов мдяя... так что там с инструментами? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 15:16 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
какой великолепный, наивный, но убойный набор тезисовНо ваших возражений по существу нет. Как впрочем и озвучивания названия могучего инструмента (из соседнего топика), завоевавшего всю ИТ галактики. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 15:23 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Дмитрий Морочко , пока внятно не будут изложены проблема, задача и требования в текстовом виде, схемы рисовать рано. После того, как стало понятно, что нужно сделать - рисование схем бессмысленно. Идея о том, что по некой блок-схеме/формальной нотации можно будет сгенерировать информационную систему, умерла в многочисленных реализациях. Автогенеренный код есть говнокод по определению, ибо избыточен, сложно изменяем, не оптимален. Единственное разумное применение средств проектирования систем, которое я видел - реверс-инжиниринг или документирование уже существующих систем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 15:30 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Zmeelov2 После того, как стало понятно, что нужно сделать - рисование схем бессмысленно. для фиксирования. и прикрывания своего мягкого места. когда внезапно(!) окажется что заказчик как обычно "не это имел ввиду" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 15:52 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно для фиксирования. и прикрывания своего мягкого места. когда внезапно(!) окажется что заказчик как обычно "не это имел ввиду" Фиксируется тоже в 90% в виде текста. Схемы только иногда, для иллюстрации. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 16:01 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
bideveloper МодальноеОкно для фиксирования. и прикрывания своего мягкого места. когда внезапно(!) окажется что заказчик как обычно "не это имел ввиду" Фиксируется тоже в 90% в виде текста. Схемы только иногда, для иллюстрации. да. но схемой более наглядно. и меньше шансов встрять из-за двусмысленного изложения или вообще упущенного момента ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2019, 16:06 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно для фиксирования. и прикрывания своего мягкого места. когда внезапно(!) окажется что заказчик как обычно "не это имел ввиду" Zmeelov2 Единственное разумное применение средств проектирования систем, которое я видел - реверс-инжиниринг или документирование уже существующих систем. Мы вроде об одном и том же ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 08:30 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно mad_nazgul В ходе эксплуатации выяснилось, что "птичий" язык в виде нотаций оказался не нужен. ну была же идея. что я в "розе" описываю классы и взаимодействие, а дальше жмешь в "нарубить и замесить" и среда сама все генерит. Почему была. Её до сих пор пытаются "впарить". Только не розу, а попроще - BPMN системы. А когда "впаривают", потом начинают "колоться, плакать, но продолжать жрать кактус". Т.к. "впаривают" под видом "программист" не нужен, но в процессе эксплуатации выясняется, что для работы такого "рисовача" нужен штат админов и программистов, чтобы оно хоть как-то работало и можно было сделать, что-то чуть сложнее чем "Hello world". :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 08:55 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно Zmeelov2 После того, как стало понятно, что нужно сделать - рисование схем бессмысленно. для фиксирования. и прикрывания своего мягкого места. когда внезапно(!) окажется что заказчик как обычно "не это имел ввиду" Не канает. Т.к. заказчик скажет, я в ваших картинках ничего не понимаю. Вы мне человеческим языком объясните. В лучшем случае, заказчик по экранным формам может что-то согласовать. А вот UML еще читать надо уметь. У заказчика обычно таких навыков нет. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 08:58 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
авторУ заказчика обычно таких навыков нет.Обычно у большинства таких навыков нет по причине их редкой востребованности в большинстве компаний. Помню, лет 15 назад был бум на RR. Сейчас этого практически не встретишь. Наигрались и хватит. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 09:52 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
mad_nazgul А вот UML еще читать надо уметь. что там уметь. реальная польза в умл от диаграмм 3-4-х видов. остальное мусор ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 10:23 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
mad_nazgul Почему была. Её до сих пор пытаются "впарить". сейчас главное "big data в каждый дом". стильно, модно, молодежно ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 10:24 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно mad_nazgul А вот UML еще читать надо уметь. что там уметь. реальная польза в умл от диаграмм 3-4-х видов. остальное мусор Э-э-э т.е. вы знаете что обозначают фигуры на диаграмме и разные виды стрелочек? Уважаю! Я до сих пор не вижу между ними разницы. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:06 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
Дмитрий Морочко Речь идет.... Любой язык не плох когда есть люди его использующие(С) Использование UML как инструментария должно идти от потребностей, а не как мода чему-либо. На мой взгляд в большинстве своём конторы по программированию не используют ООА и ООД и пишут в стиле азм на высокоуровневых языках. Чего уж говорить о языке UML если нет фундамента разработки - ОО подхода. Причём это делает любой программист, если в одну голову - просто мы этого не замечаем мысль как бы "приходит сама". Не многие смогут объяснить или подвести под это хоть какую-либо логику рассуждения. Если собираются в разработку более одного разраба - то увы и ах, уровень качества решения задачи снижается пропорционально кол-во людей участвующих в разработке, иногда в лучшем случае болтается на уровне знаний самого слабого в команде. удачи Вам (круглый) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:10 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
МодальноеОкно mad_nazgul Почему была. Её до сих пор пытаются "впарить". сейчас главное "big data в каждый дом". стильно, модно, молодежно Это немного другое. Вам нужно быть "стильномодномолодежным". Для этого вам нужна БигДата, Для БигДата вам нужен Даталейк. Чтобы данные попадали в Даталейк вам нужен ЕТЛ. А чтобы работал ЕТЛ и данные собирались, вам нужен ЕСБ. А чтобы управлять ЕСБ и потоком данных, вот вам БПМН - рисуйте что хотите. <:o) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:11 |
|
Эффективность UML
|
|||
---|---|---|---|
#18+
mad_nazgul МодальноеОкно пропущено... что там уметь. реальная польза в умл от диаграмм 3-4-х видов. остальное мусор Э-э-э т.е. вы знаете что обозначают фигуры на диаграмме и разные виды стрелочек? Уважаю! Я до сих пор не вижу между ними разницы. :-) да там все просто. палка-палка, огуречик - вот и вышел человечек актор ... |
|||
:
Нравится:
Не нравится:
|
|||
20.12.2019, 14:24 |
|
|
start [/forum/topic.php?fid=33&msg=39905576&tid=1547134]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 159ms |
0 / 0 |