![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
||
|
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Знакомы ли в с объектно-ориентированным проектированием и UML?
Используете ли вы паттерны в своих проектах? Помогают ли они вам в ваших программах? Спасибо. -------------------- |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 2 Всего: 183 |
Знакома, но UML не использую (не кажется наглядным и полезным в том, чем я занимаюсь) Проектирую стоя, пешком (в голове), рисуя в тетрадке не относящиеся к делу картинки, потом пишу интерфейсы сразу в коде.
Да, постоянно. Конечно, помогают, иначе не использовала бы. Не очень связанные вопросы, ИМХО. Поэтому не знаю, как голосовать. -------------------- ... |
|||
|
||||
a_n_d_y |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 81 Регистрация: 23.10.2006 Где: Ukraine::Kiev Репутация: нет Всего: 1 |
знаком
использую помогают =))) ![]() |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
А где ты не видишь взаимосвязи? p.s. Спасибо за ответы! -------------------- |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 2 Всего: 183 |
Использование объектно-ориентированного проектирования и UML и использование паттернов. Одно другого не подразумеваеи и не исключает. Это сообщение отредактировал(а) Earnest - 23.3.2007, 09:27 -------------------- ... |
|||
|
||||
MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 6 Всего: 207 |
ОО анализ использую (здорово упрощает жизнь)
Но ООП нет (приложения системного характера) -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
А я не согласен. Использование паттернов - хороший стиль проектирования. Но с тобой согласен. Теоретически конечно да, можно и без паттернов обойтись. Но так же можно вообще без проектирования обойтись, при написании программы ![]() Мы просто немного в разных плоскостях смотрим на этот вопрос. -------------------- |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 2 Всего: 183 |
![]() Без проектирования вообще - никак, без объектно-ориентированного проектирования и UML - запросто, смотря что делаешь. Ну вообще я имела в виду то, что про ООП в книгах пишут: проектирование как стадия отдельная разработки со всякими схемами-диаграммами, описаниями и прочая. Но я, упаси боже, не собираюсь отрицать ценность ООП вообще: все зависит от задачи. Мои - не требуют. Это сообщение отредактировал(а) Earnest - 23.3.2007, 16:18 -------------------- ... |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: нет Всего: 92 |
Моё личное мнение, но всё же. UML - формальное выражение проектирование, это не лучший вариант обычно (я говорю, конечно, про то, с чем сам работал). Особенно для плюсов. Получается лишь лишняя бесполезная прослойка. А проектирование нужно. Обязательно нужно. А вот как его выражать - а как придёться.
![]() Вот, опять таки считаю, что отдельной стадией это делать не надо. Надо быть готовым допроектировать и даже перепроектировать. По мере работы над проектом и пониманием его специфики и недостатков начальной модели. Без кода зачастую тяжело оценить удачность этой модели. Легче дважды написать какой-то код, чем какими-то неведомыми силами угадать, какое решение выбрать. Достаточно привлекают меня многие концепции экстремального программирования (eXtremal Programming - XP). Очень идеи нравяться. PS А почему тему именно в плюсы? Целевая аудитория должна быть ограниченной? |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Да. -------------------- |
|||
|
||||
FelikZ |
|
|||
![]() Старый Маразматик ![]() ![]() Профиль Группа: Участник Сообщений: 380 Регистрация: 1.12.2006 Где: Vault 13 Репутация: нет Всего: 5 |
Не использую, а зря
![]() -------------------- ![]() |
|||
|
||||
NoNo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 14.11.2006 Репутация: нет Всего: нет |
Что - то интересно стало...... где про UML надыбать можно.....стоб поближе с ним познакомиться...
|
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 2 Всего: 183 |
Целый раздел про UML на форуме.
-------------------- ... |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
В первую очередь рекомендую ознакомиться с Объектно-ориентированный анализ и проектирование Гради Буч Это классика жанра. Гради Буч один из отцов-основателей объектно-ориентированного программирования, и языка UML. а затем Леоненков. Самоучитель UML. -------------------- |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Читал, читал. Но не осилил. Очень напоминает лекции профессоров (читай - неумелых преподавателей). Куча совершенно абстрактной теории, непонятно куда применимой, чтение которой вызывает сон или уход мыслей в сторону. До сих пор не могу понять, это то, что мне нужно, или совершенно бесполезная для меня вещь. |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Это основополагающие принципы, основы. Он рассказывает как и из каких абстрактных научных теорий родился "практический" язык моделирования приложений. Мне этот учебник тем и понравился, что в нем преподаются глубокие знания, а не поверхностное описания, как это бывает в других книгах. Если этот "не нравиться" лучше сам посоветуй какой-нибудь учебник по UML. -------------------- |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Как я посоветую учебник по предмету, который совершенно не понимаю (но немного хочу понять)?!? Для меня, например, идеальным был бы проект, расписываемый по шагам в этом UML. Пусть даже не сложный. Но чтобы видеть с чего конкретно все начинается и как, что делается сначала, а что потом. И главное, зачем это нужно.
Это сообщение отредактировал(а) bsa - 8.4.2007, 20:13 |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Ну вот для начала и рекомендуется Гради Буч, там описано с самого начала, и на реальных проектах.
В книге правда применяется не сама нотация UML а ее предшественница, после этой книги Леоненков думаю будет более понятен. -------------------- |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
А можно, не вникая в подробности и умные книги получить ответ на вопрос, который очень давно меня волнует: UML - это язык(как XML, к примеру) или просто схемки?
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Я знаю как расшифровывается и именно поэтому меня гложил этот вопрос - ни разу, во время беглого чтения учебников по UML не видел там ни строчки "кода" на этом "языке". Только схемки/диаграмки. А можно увидеть какой-нибудь пример на этом UML? Пусть будет абстрактный класс A с ф-цией foo и реализующий эту ф-цию класс C со своей ф-цией bar. Просто интересно на что похож этот язык ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Daevaorn, то ли у меня лыжи не едут, то ли...
Ок, переформулирую вопрос: UML имеет какой-нибудь стандартизированный текстовый язык, по исходникам которого какая-нибудь незамысловатая программка будет строить подобные схемки? Если да, то хотелось увидеть исходник приведённой тобой диаграммы. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
А чем схемы универсальней текста?
А если я решил отказаться от visio и начать пользоваться другой UML-средой? Был бы текст - читалось бы везде одинакого, а так прийдётся делать заново в новой среде. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
Они не навязывают так явно стиль описания, как текстовые конструкции. Тот же pseudo-code уж слишком похож на существующие языки программирования;) А UML тем более может быть использован не только для процесса написания програм. А если я решил бы перейти с С++ на Python, что бы мне пришлось делать с текстом программы? А так я имею одну схему на все реализации и через xml вполне можно добиться совместимости. Да и потом всегда можно сделать простую картинку ![]() |
|||
|
||||
archimed7592 |
|
||||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Если ты решил перейти с msvs на bds, то особых проблем перекомпиляции(при условии следования стандарту) быть не должно.
Так всё таки есть какой-то промышленный стандарт сериализации UML схем? А если нужно что-то к ней добавить/удалить/изменить? ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
||||
|
|||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
archimed7592, если честно, я не очень понимаю, что ты имеешь в виду под словом "сериализация" в данном контексте, но предположу, что ты хочешь услышать такое:
- многие программы для работы с UML умеют импортировать классы (т.е. парсят готовый код на каком-то языке, например на С++, и делают из него часть диаграмм на UML) и создавать классы по диаграммам. Например, это умеет делать Umbrello (входит в kdesdk). |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Я имею ввиду независимое от программы/платформы/и т.п. вещей представление данных. Ну вот исходник - это исходник, а бинарник - это уже бинарник ![]() В моём понимании UML-схемка - это бинарник, а исходник... А исходник - это незнамо что, что я и хочу выяснить ![]() Видимо понятия исходник для UML не применимо. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
У MS Visio есть модуль интеграции с MS Visual Studio.
В Visio вторая нотация UML используется. -------------------- |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
Medved, если честно, ничего в UML и его нотациях не смыслю. Это какое-то XML представление UML-диаграм?
Это сообщение отредактировал(а) archimed7592 - 18.9.2007, 21:12 -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
да. |
|||
|
||||
Daevaorn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2155 Регистрация: 29.11.2004 Где: Москва Репутация: нет Всего: 70 |
||||
|
||||
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: нет Всего: 154 |
Когда вы слышите что-то, вы это забудете. Когда вы видете что-то, вы это запомните. Но до тех пор, пока вы не сделаете что-нибудь, вы этого не поймете. (Старая китайская пословица)
-------------------- |
|||
|
||||
JackYF |
|
|||
![]() полуавантюрист ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 5814 Регистрация: 28.8.2004 Где: страна тысячи озё р Репутация: 2 Всего: 162 |
||||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
А можно ли наоборот, из диаграммы UML составить код на Си++ (или Джава)?
Если нет, то получается, что это как бы односторонний язык, то есть, язык, на котором можно "читать", но на котором нельзя "писать". Или, быть может, можно сделать так, чтобы заранее составленная картинка на UML следила бы, что твой код ей соответствует? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Можно. Обычно, это делают сами среды редактирования UML. |
|||
|
||||
Dims |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1016 Регистрация: 21.11.2006 Репутация: нет Всего: 11 |
Ну вот в Visual Studio я этого не нашёл. Как я понял, он может только нарисовать то, что есть, но не обратно. С другой стороны, такая возможность, если она есть, означает, что ей НАДО пользоваться. Ведь мы же всегда мечтали составлять программы из кубиков. Разве это не оно? Либо у этой возможности есть какие-то ограничения. Фактически, ведь во всех средах есть какие-нибудь класс-менеджеры или проджект-вьюверы, которые в древовидной форме показывают структуру программы. Очевидно, если возможности UML полны, то вместо этого там должна быть картинка UML. |
|||
|
||||
nickless |
|
|||
![]() Гентозавр ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2976 Регистрация: 29.8.2005 Где: Germany Репутация: 4 Всего: 181 |
ИМХО (студией давно не пользовался) это возможно только начиная с какой-то из навороченых версий, что-то вроде enterprise architect или что-то в этом роде. Это сообщение отредактировал(а) nickless - 14.11.2007, 00:42 -------------------- ![]() Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies - Linus Torvalds |
|||
|
||||
baldina |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
Dims, Студия: рисовать диаграммки можно в Visio, который генерит код, еоторый вставляешь в студию.
Medved,
Не факт. Патерн - уже сделанное кем-то общее решение типовой задачи. Из таких задач состоит проект (но не только из таких). Так что паттерны могут использоваться в проектировании. Нет правила "проект плох, если он не использует ни одного паттерна", потому что не проектирование для паттернов, а паттерны для проектирования. Увлечение паттернами (как и сладким) может быть вредным, см. анти-паттерны. bsa, читал я когда-то леоненкова, довольно бестолково изложено (не знал бы раньше - не понял). в первоисточнике (Буч, Якобсон и еще кто-то) намного логичнее и доступнее. А, вот например. Добавлено через 6 минут и 57 секунд по поводу проектирования я когда-то прочитал нечто вроде:
|
||||
|
|||||
chipset |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 164 |
Без этого некуда. Паттерны -- моё спасение от рутины и тяжелой работы. Но Visio не юзаю, предпочитаю бумагу и доски.
--------------------
|
|||
|
||||
HistoryEarth |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 71 Регистрация: 23.8.2007 Репутация: нет Всего: нет |
Если приложение имеет сложную структуру без этого трудно.
|
|||
|
||||
Lotrex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: нет Всего: 3 |
Сейчас при написании проги на С++ я использую (как мне кажется) объектно-ориентированное программирование (НЕ проектирование). Причем до меня дошло, что и как, только после того, как немножко изучил Java и написал на ней одну не очень большую программку (то-то около 1200 строк в общей сложности). Имхо, проектирование в программировании - весчь "ограниченно полезная", в т.ч. и объектно-ориентированное. К такому мнению я пришел после прочтения книги К.Бека "Экстремальное программирование. Разработка через тестирование".
Не раз я натыкался на проблему - работаешь над классом, тщательно продумываешь интерфейс, и т.д. А потом... в использовании этот класс оказывается жутко неудобным, половина методов не используется, а нужных методов нет. А из упомянутой книги (да и по своему опыту) я понял следующее: как бы вы не пытались придумать класс, спроектировать его - жизнь все равно богаче. Поэтому сначала пишем код, использующий данный класс, его не существующие (пока что) методы. Тут все и открывается - какие методы нужны, что они должны делать. А потом и сами методы потихоньку реализуем. Тот же подход можно использовать и при написании библиотек функций. Пишем сначала код, использующий данную библиотеку (и тут сразу видно, какие функции хорошо бы иметь в наличии). А уж потом - реализацию. И еще один (немаловажный!) плюс данного подхода - мы сразу имеем тест, проверяющий наш класс (или библиотеку). Это сообщение отредактировал(а) Lotrex - 25.12.2007, 12:05 |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: нет Всего: 223 |
UML - см. http://www.omg.org/technology/documents/mo...pec_catalog.htm, так же можно посмотреть на INTSPEI |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: нет Всего: 93 |
xvr, спасибо, я посмотрю
![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
Fire-Plug |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 102 Регистрация: 15.3.2005 Репутация: нет Всего: 0 |
В случае "Reverse engineering", т.е. построения UML-диаграмм на основе имеющегося проекта, "текстом" являтся сам исходный код, точнее - объявления классов. В случае же прямого моделирования, Rational Rose сгенерит исходный код для визуально построенных классов. Сам же язык моделирования - графический. |
|||
|
||||
ida |
|
|||
![]() замужем ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2277 Регистрация: 14.5.2002 Где: Санкт-Петербург Репутация: нет Всего: 58 |
Да... посмотрела на результаты голосования и опечалилась
![]() Вроде и раздел профильный - С++ объектный язык. Проиллюстрировать мою печаль, пожалуй, лучше всего цитатой из Вигерса:
Это сообщение отредактировал(а) ida - 24.1.2009, 17:17 |
|||
|
||||
serg0s |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 13.2.2009 Репутация: нет Всего: нет |
Про UML можно сказать - у меня к нему двойственное отношение.
С одной стороны, он конечно полезен как средство визуального представления, особенно в случае сложных программных элементов – классов, компонентов. Я им пользуюсь в основном для начальной прорисовки структуры программы, иерархии классов, взаимосвязей между блоками и объектами. Можно также получить «скелет» программного кода - классы, методы, и т.д. С другой стороны, как язык он весьма эклектичен, разнороден. Не знаю, хорошо это или плохо – по сути, это единственный язык такого рода, и сравнивать не с чем. Хорош тем, что для разных целей можно брать разные представления, диаграммы. Для разработки требований – прецеденты (Use Case). Для разработки структуры программного средства – диаграммы классов, объектов. Для проработки вопросов в заимодействия элементов (блоков) программы – диаграммы взаимодействия. А плох тем, что из всей этой кучи разнородной информации в один прекрасный момент надо начинать писать программу – и тут голову сломаешь пока все это осмыслишь, поймешь, как и что надо делать. Требуемая информация находится то в одной диаграмме, то в другой, то в третьей. Часто просто откладываешь все это в сторону, и начинаешь писать «по наитию». |
|||
|
||||
Леопольд |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 943 Регистрация: 17.6.2009 Репутация: нет Всего: 13 |
Мне почему-то кажется что нельзя начинать писать продукт, пока не поймёшь что и, главное, как! он будет это что-то делать. Легче понимать всё целиком, если части, которые будут между собой взаимодействовать можно было бы понимать как отдельно взятые сущности/абстракции а не только в контексте всей (или значительной части) программы. -------------------- вопросов больше чем ответов |
|||
|
||||
Нитонисе |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: нет Всего: 2 |
Начиная программировать на С++ мне постоянно попадались на глаза непонятные диаграммки на языке UML. Долгое время не обращал на них внимания, да и вообще, как осознал позже, мой подход к программированию был структурный, а не объектно-ориентированный и планирования как такового не было. Программы создавались методом проб и ошибок. С ростом сложности программ с возникновением необходимости модифицировать и расширять уже написанные программы - более серьезно озадачился приемами программирования и осознал необходимость четко выделенного этапа проектирования. Вот тут и обратил более пристальное внимание на UML. Наглядность языка и его понятность - дело субъективное, но задачи, которые решают диаграммы на языке UML - однозначно важны. Диаграмма - это модель вашей будущей программы. Без моделирования - тыкаешься как слепой котенок туда сюда, создаешь классы и реализовываешь их, а затем выясняется, что они плохо взаимодействуют с другими и надо все переделать и т.д. Все эти проблемы решаются на стадии проектирования. Так что я за UML!
![]() |
|||
|
||||
baldina |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3433 Регистрация: 5.12.2007 Где: Москва Репутация: 1 Всего: 101 |
ну раз опять тему подняли...
да
да. даже не задумываясь: слелаешь что-то, а оно, гляди, есть паттерн)))
а как же! (неужели кто-то ответит "не, страшно мешают, но все-равно использую". или "нет, т.к. я не знаю что это такое, но не одобряю") продолжить эту старую тему меня побудила такая мысль: объектно-ориентированный подход это стиль мышления. инструмент (UML,C++ etc) вторичен. ООП как метод декомпозиции довольно сильная, эффективная весчь, и че бы его не использовать. вот UML я практически не использую - нэ трэба. паттерны как типовые решения выскакивают сами, а я даже названий многих из них не помню. это все к тому, что овладев методологией, начинаешь её применять. а еще не овладев, только учишься, затрачивая довольно много времени на организацию анализа проекта. это как езда на автомобиле: сначала думаешь, какие педали нажимать, потом - кто кого должен пропустить, а потом - просто ездишь. и вот тут уже можно раскрыть потенциал автомобиля, а вначале что жигули, что мерседес - все едино. так что на инструментах не надо зацикливаться, надо мозг тренировать. применять uml ради uml или придумывать "а не применить ли мне какой-нибудь паттерн" - глупо. вначале - организация процесса, а потом уже - его автоматизация. в требуемых рамках. без организации будет бардак, а его автоматизация - автоматизированный бардак (простите за банальность). |
||||||
|
|||||||
Янчик |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 8.2.2012 Репутация: нет Всего: нет |
помогите решить
Тема:Классы. Программирование линейных алгоритмов с использованием функций инициализации set() и вывода результатов print() Пользовательский класс должен содержать необходимые элементы-данные, метод установки их начальных значений: Void set(double X, …); метод печати: Void print(void); метод, решающий поставленную задачу: Void Run(void); Код методов – вне пространства определения класса. Программа должна включать в себя статический и динамический способы создания объектов, и для каждого объекта использовать прямую и косвенную адресацию при вызове методов класса. Присоединённый файл ( Кол-во скачиваний: 7 ) ![]() |
|||
|
||||
Shelby |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 21.9.2012 Репутация: нет Всего: нет |
[Delphi & C++] Построение графика функции.
1. Построить график функции, обеспечив следующие требования: a. Возможность изменения шага вычисления значений функции, т.е. количества разбиений диапазона изменения аргумента; b. Изображение на экране координатных осей Х, Y с размеченной шкалой и цифрами, соответствующими диапазонам изменения аргумента и функции (для этого рекомендуется предварительно выполнить анализ изменения значений функции на заданном интервале изменения аргумента); c. Изображение на свободном участке экрана математической формулы функции и фамилии автора программы. Это сообщение отредактировал(а) Shelby - 21.9.2012, 19:28 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |