![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
SABROG |
![]() ![]()
Сообщение
#1
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Еще в школе, на уроке информатики, мы проходили "Блок-схемы" для построения алгоритмов. Этим блок-схемам уже 88 лет и на мой взгляд они как язык Си, в то время как UML диаграммы, которым 15 лет, как С++ - объектно ориентированные, правда и сложноваты для понимания также как и "паттерны проектирования".
Используете ли вы UML при проектировании алгоритмов программ? Какой софт используете? Список программ тут: http://en.wikipedia.org/wiki/List_of_UML_tools |
|
|
![]() |
void* |
![]()
Сообщение
#2
|
![]() Программист-самоучка ![]() ![]() ![]() Группа: Участник Сообщений: 429 Регистрация: 4.6.2008 Пользователь №: 193 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
интересно... а каковы вообще возможности и применение подобных программ?
|
|
|
SABROG |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
интересно... а каковы вообще возможности и применение подобных программ? Их задача помоч тебе нарисовать диаграмму и в некоторых случаях они могут по ней сформировать код (c++,java,pascal и т.д.) http://www.intuit.ru/department/se/intuml/0/ |
|
|
ЙаМайскЫйПчОЛ |
![]()
Сообщение
#4
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: ![]() ![]() ![]() |
как связаны блок схемы и UML диаграмма???
НИКАК ИМХО так же как тёплое и мягкое. Сообщение отредактировал ЙаМайскЫйПчОЛ - 19.2.2009, 10:59 |
|
|
SABROG |
![]()
Сообщение
#5
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
ЙаМайскЫйПчОЛ |
![]()
Сообщение
#6
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: ![]() ![]() ![]() |
блок - схема графическое представление программы или алгоритма с использованием стандартных графических элементов.
UML - язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы. Язык описания моделей vs Язык описания алгоритма программы Модель — некоторый материальный или мысленно представляемый объект или явление, замещающий оригинальный объект или явление, сохраняя только некоторые важные его свойства, например, в процессе познания (созерцания, анализа и синтеза) или конструирования. Алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время а рисовать можно и в паинте... |
|
|
SABROG |
![]()
Сообщение
#7
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Ну никто же не запрещает моделировать алгоритмы
![]() |
|
|
ЙаМайскЫйПчОЛ |
![]()
Сообщение
#8
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 154 Регистрация: 10.7.2008 Из: СПб Пользователь №: 232 Спасибо сказали: 7 раз(а) Репутация: ![]() ![]() ![]() |
Это называется, теже яица только в профиль )
|
|
|
SABROG |
![]()
Сообщение
#9
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
Litkevich Yuriy |
![]()
Сообщение
#10
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
в UML'е мне понравилась диаграмма взаимодействия, она более удобна чем блок-схема алгоритма:
![]() только на данном скрине она неполностью реализована. Вертикальная линия - один объект, пунктирной линией обозначают еще не созданный объект, после создания должна быть сплошная линия. Прямоугольник (на вертикальной линии) активное состояние объекта. Горизонтальные линии взаимодействия объектов. |
|
|
SABROG |
![]()
Сообщение
#11
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Конечно, чтобы что-то в них понимать надо сначала изучить "синтаксис", т.к. есть разница и в стрелочках и кружочках
![]() http://khpi-iip.mipk.kharkiv.edu/library/c...leon/index.html Имхо для Qt можно найти применение. Написать пару диаграмм взаимодействия эвентов, сигналов, слотов, потоков. Потом в Вики впихнуть. Все-таки одно дело, когда ты читаешь в ассистенте и на личном опыте и совсем другое, когда ты видишь полную картину ![]() |
|
|
Novak |
![]()
Сообщение
#12
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
Если говорить именно об алгоритмах, то в плане UML самое полезное - диаграмма деятельности. По сути та же блок-схема, только несколько дополненная в плане различных обозначений.
А в остальном UML штука неплохая, главное, как обычно, - не злоупотреблять. |
|
|
SABROG |
![]()
Сообщение
#13
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Хотел описать класс QObject, терпения не хватило
![]() Раскрывающийся текст ![]() |
|
|
Litkevich Yuriy |
![]()
Сообщение
#14
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
терпения не хватило я из-за этого и неиспользую UML, в свое время попарился с ним и понял, что нужен инструмент наоборот, из кода в диаграммы. Для изучения чужих творений. Причем именно диаграммы взаимодействия наиболее полезными оказываются. Наследования легко посмотреть по заголовочникам.
|
|
|
SABROG |
![]()
Сообщение
#15
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: ![]() ![]() ![]() |
Я вот думаю. Если "Системный Аналитик" (будет считать это тот, кто проектирует диаграммы на UML) это некий посредник (интерфейс) между заказчиком и исполнителем, то программист просто обязан уметь "читать" эти диаграммы, иначе ему никто не поможет
![]() |
|
|
Novak |
![]()
Сообщение
#16
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
Всё зависит от конкретной компании и проекта. UML - это всего лишь инструмент. Естественно, если его используют, то программист должен уметь читать. А основная фишка системного аналитика не в том, чтобы просто знать UML, а уметь именно проектировать. Если после этого у него получается описать модель проектируемой системы с помощью историй use-case`ов, то флаг ему в руки.
Если же брать в целом то да, несомненно, программист должен уметь читать хотя бы диаграммы классов, деятельности.. ну и, возможно, взаимодействия. Тем более, что в этом нет ничего сложного) я из-за этого и неиспользую UML, в свое время попарился с ним и понял, что нужен инструмент наоборот, из кода в диаграммы. Кстати, когда на яве программил использовали именно такой переход - в нетбинсе UML плагин позволяет строить диаграммы классов из исходников. А описывать все методы в классе - пусто занятие. Имхо, UML стоит использовать как язык проектирования и взаимодействия на этом уровне. Генерить весь код из диаграмм - замотаешься потом поддерживать актуальность.. |
|
|
AD |
![]()
Сообщение
#17
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
Диаграммы классов - вещь хорошая в UML! Использовал для небольшого проекта. Конечно, она помогает, но вот в большом проекте - проще несколько диаграмм набросать на листочке, чем использовать спец. программы. Глазом большую часть охватить даже не удастся.... А вообще вещь очень нужная. Было бы здорово, если бы при программировании любого проекта такие вещи обязывали бы создавать!
Цитата Если говорить именно об алгоритмах, то в плане UML самое полезное - диаграмма деятельности. По сути та же блок-схема, только несколько дополненная в плане различных обозначений. Так и не смог полностью разобраться именно в этой диаграмме. Для меня она оказалась какой-то сложноватой. Может быть, объясните вкратце ее работу? Цитата А в остальном UML штука неплохая, главное, как обычно, - не злоупотреблять. Согласен! ![]() |
|
|
Novak |
![]()
Сообщение
#18
|
![]() Активный участник ![]() ![]() ![]() Группа: Участник Сообщений: 319 Регистрация: 15.3.2008 Из: Замкадыш Пользователь №: 121 Спасибо сказали: 28 раз(а) Репутация: ![]() ![]() ![]() |
Так и не смог полностью разобраться именно в этой диаграмме. Для меня она оказалась какой-то сложноватой. Может быть, объясните вкратце ее работу? По сути это набор действий, очень похожий на блок-схему и стрелочками показываешь при каких условиях куда перемещаешься. При этом можно указывать что у тебя происходит при том или ином действии. Выделяют атомарное одно действие и процесс - это то, что занимает какое-то время. |
|
|
AD |
![]()
Сообщение
#19
|
Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: ![]() ![]() ![]() |
По сути это набор действий, очень похожий на блок-схему и стрелочками показываешь при каких условиях куда перемещаешься. При этом можно указывать что у тебя происходит при том или ином действии. Выделяют атомарное одно действие и процесс - это то, что занимает какое-то время. Да меня больше интересует какой-нибудь пример простенький (как выглядит на блок-схеме и как на диаграмме действия). Приведите, пожалуйста! Ну например вычисление факториала (рекурсивная версия и версия с циклом). |
|
|
![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 24.6.2025, 20:58 |