Генерация исходных кодов по средством создания UML модели(Прочитано 57419 раз)
здраствуйте!
Интересует вопрос генерации исходных кодов посредством создания УМЛ модели, есть ли примеры создания таких модлей.
Если есть выложите пожалуйста отдельным архивом.
 



Можно начать например с изучения чужого опыта.
UML и Rational Rose. Упражнения

Так же можно посоветовать практикум по проектированию ПО Вендрова А.М. Издательство "Финансы и статистика". Ну и конечно help help help, выбранного вами uml инструментария



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



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



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



Господа, чтобы получить нормальный каркас - нужно сначала подготовить хорошую модель.
ИМХО - основное время займет именно моделирование. Создать классы на основе модели навряд ли сложно...
Ну если человек прав, то уж прав! :-)



пасип за ответы, но вроде Продукт компании Рэйшнл может генерить код
,хотя сам не пробовал пока



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



У нас есть положительный опыт генерации полноценного кода из УМЛ модели, правда мы используем свой собственный генератор: модель создается в case средстве, выгружается в xmi, и подается на вход генератору. Вот (http://subscribe.ru/archive/comp.soft.prog.veselchak/200702/23233420.html) статья, написанная моим коллегой, о том, как мы докатились до всего этого  :)



IBM Rational Software Architect позволяет генерить структурный и полноценный код по моделям UML. Как в точности это работает не знаю,. т.к. сам такого не делал, но читал учебник где подробно об этом рассказывается (не смог  найти готовую модель исп. в учебнике 8)).
Кому интересно можно почитать книгу из серии ibm.com/redbooks "Шаблоны: управляемая моделями разработка в среде IBM Rational Software Architect"
Английский экземпляр книги можно скачать здесь
http://www.redbooks.ibm.com/abstracts/sg247105.html?Open

ЗЫ Создавать полноценный исходник по моделям,имхо, задача почти невозможная. Нужно создавать правильные и подробные модели,  что почти не реально. Если научиться это делать, то программисты (кодеры) останутся без работы или придется им становиться проектировшиками.
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



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

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

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

В ECO по мимо ДК, можно использовать диаграмму состояний, что-то там создается и через OCL настраивается. К сожалению с ECO не работал - нет нужного дистрибутива.

Наверняка есть какие-то другие примеры использования MDA. Однако как показывает практика - все эти технологии еще так далеки от совершенства, что программисту еще можно спать спокойно



Когда я работал на фирме, там был свой кодогенератор правда для TCL. Много кода можно было получить из настроенной модели БД, но если нужна была логика, то она либо зашивалась в ХП, либо писалась ручками, но автоматизация была вполне достойной и не составлло проблем добавить убрать поле и создать новый справочник.
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



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

Цитирую абзац из описанногомной выше учебника (стр. 128):
Цитировать

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

Здесь четко написано что ребята из IBM генерят код из моделей. То, что это не всегда и очень трудно тоже написано.
Извините, что я привожу вырезки из книги и не могу подтвердить того, что написано. Но раз пишут и рассказывают детально как это сделать, значит, я думаю, такое возможно.
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru



Виталий,

Возможно и это уже делалось 6 лет назад у нас в России и без помощи IBM Rational, но как говорят консультатны некоторые value <<< work.
Вот ссылка на спор на sql.ru:
http://www.sql.ru/forum/actualthread.aspx?tid=115568&hl=mda
http://www.sql.ru/forum/actualthread.aspx?tid=131509&hl=mda
Не важно какой ты сейчас - большой или маленький, важно - как ты растешь.
Б.А.С.



как говорят консультатны некоторые value <<< work.
Согласен!
Если вы не знаете куда идете, то вы вряд ли туда дойдете [Форест Гамп]
www.grigorash.ru




 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19