crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

SABROG
  опции профиля:
сообщение 18.2.2009, 22:31
Сообщение #1


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Еще в школе, на уроке информатики, мы проходили "Блок-схемы" для построения алгоритмов. Этим блок-схемам уже 88 лет и на мой взгляд они как язык Си, в то время как UML диаграммы, которым 15 лет, как С++ - объектно ориентированные, правда и сложноваты для понимания также как и "паттерны проектирования".

Используете ли вы UML при проектировании алгоритмов программ? Какой софт используете? Список программ тут: http://en.wikipedia.org/wiki/List_of_UML_tools
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
2 страниц V   1 2 >  
Начать новую тему
Ответов (1 - 18)
void*
  опции профиля:
сообщение 18.2.2009, 23:11
Сообщение #2


Программист-самоучка
***

Группа: Участник
Сообщений: 429
Регистрация: 4.6.2008
Пользователь №: 193

Спасибо сказали: 28 раз(а)




Репутация:   3  


интересно... а каковы вообще возможности и применение подобных программ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 18.2.2009, 23:36
Сообщение #3


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(void* @ 18.2.2009, 23:11) *
интересно... а каковы вообще возможности и применение подобных программ?

Их задача помоч тебе нарисовать диаграмму и в некоторых случаях они могут по ней сформировать код (c++,java,pascal и т.д.)

http://www.intuit.ru/department/se/intuml/0/
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 19.2.2009, 10:58
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


как связаны блок схемы и UML диаграмма???
НИКАК
ИМХО так же как тёплое и мягкое.

Сообщение отредактировал ЙаМайскЫйПчОЛ - 19.2.2009, 10:59
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 13:24
Сообщение #5


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(ЙаМайскЫйПчОЛ @ 19.2.2009, 10:58) *
как связаны блок схемы и UML диаграмма???
НИКАК
ИМХО так же как тёплое и мягкое.

:blink:



Диаграмма "Паттерна Фасад"



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 19.2.2009, 14:28
Сообщение #6


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


блок - схема графическое представление программы или алгоритма с использованием стандартных графических элементов.
UML - язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы.
Язык описания моделей vs Язык описания алгоритма программы

Модель — некоторый материальный или мысленно представляемый объект или явление, замещающий оригинальный объект или явление, сохраняя только некоторые важные его свойства, например, в процессе познания (созерцания, анализа и синтеза) или конструирования.
Алгори́тм — это точный набор инструкций, описывающих последовательность действий некоторого исполнителя для достижения результата, решения некоторой задачи за конечное время

а рисовать можно и в паинте...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 14:44
Сообщение #7


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Ну никто же не запрещает моделировать алгоритмы :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ЙаМайскЫйПчОЛ
  опции профиля:
сообщение 19.2.2009, 14:48
Сообщение #8


Участник
**

Группа: Участник
Сообщений: 154
Регистрация: 10.7.2008
Из: СПб
Пользователь №: 232

Спасибо сказали: 7 раз(а)




Репутация:   5  


Это называется, теже яица только в профиль )
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 14:51
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Цитата(ЙаМайскЫйПчОЛ @ 19.2.2009, 14:48) *
Это называется, теже яица только в профиль )

"Алгоритм" в принципе можно представить как "процесс", а о "моделировании процессов" всем известно. Т.ч. иногда мягкое это последствия теплого :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.2.2009, 15:02
Сообщение #10


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


в UML'е мне понравилась диаграмма взаимодействия, она более удобна чем блок-схема алгоритма:


только на данном скрине она неполностью реализована. Вертикальная линия - один объект, пунктирной линией обозначают еще не созданный объект, после создания должна быть сплошная линия. Прямоугольник (на вертикальной линии) активное состояние объекта. Горизонтальные линии взаимодействия объектов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 15:05
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Конечно, чтобы что-то в них понимать надо сначала изучить "синтаксис", т.к. есть разница и в стрелочках и кружочках :)
http://khpi-iip.mipk.kharkiv.edu/library/c...leon/index.html

Имхо для Qt можно найти применение. Написать пару диаграмм взаимодействия эвентов, сигналов, слотов, потоков. Потом в Вики впихнуть. Все-таки одно дело, когда ты читаешь в ассистенте и на личном опыте и совсем другое, когда ты видишь полную картину :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Novak
  опции профиля:
сообщение 19.2.2009, 16:15
Сообщение #12


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


Если говорить именно об алгоритмах, то в плане UML самое полезное - диаграмма деятельности. По сути та же блок-схема, только несколько дополненная в плане различных обозначений.
А в остальном UML штука неплохая, главное, как обычно, - не злоупотреблять.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 17:09
Сообщение #13


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Хотел описать класс QObject, терпения не хватило :)

Раскрывающийся текст
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 19.2.2009, 17:20
Сообщение #14


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(SABROG @ 19.2.2009, 20:09) *
терпения не хватило
я из-за этого и неиспользую UML, в свое время попарился с ним и понял, что нужен инструмент наоборот, из кода в диаграммы. Для изучения чужих творений. Причем именно диаграммы взаимодействия наиболее полезными оказываются. Наследования легко посмотреть по заголовочникам.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
SABROG
  опции профиля:
сообщение 19.2.2009, 20:40
Сообщение #15


Профессионал
*****

Группа: Участник
Сообщений: 1207
Регистрация: 8.12.2008
Из: Russia, Moscow
Пользователь №: 446

Спасибо сказали: 229 раз(а)




Репутация:   34  


Я вот думаю. Если "Системный Аналитик" (будет считать это тот, кто проектирует диаграммы на UML) это некий посредник (интерфейс) между заказчиком и исполнителем, то программист просто обязан уметь "читать" эти диаграммы, иначе ему никто не поможет :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Novak
  опции профиля:
сообщение 20.2.2009, 0:07
Сообщение #16


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


Всё зависит от конкретной компании и проекта. UML - это всего лишь инструмент. Естественно, если его используют, то программист должен уметь читать. А основная фишка системного аналитика не в том, чтобы просто знать UML, а уметь именно проектировать. Если после этого у него получается описать модель проектируемой системы с помощью историй use-case`ов, то флаг ему в руки.
Если же брать в целом то да, несомненно, программист должен уметь читать хотя бы диаграммы классов, деятельности.. ну и, возможно, взаимодействия. Тем более, что в этом нет ничего сложного)

Цитата(Litkevich Yuriy @ 19.2.2009, 17:20) *
я из-за этого и неиспользую UML, в свое время попарился с ним и понял, что нужен инструмент наоборот, из кода в диаграммы.

Кстати, когда на яве программил использовали именно такой переход - в нетбинсе UML плагин позволяет строить диаграммы классов из исходников.
А описывать все методы в классе - пусто занятие. Имхо, UML стоит использовать как язык проектирования и взаимодействия на этом уровне. Генерить весь код из диаграмм - замотаешься потом поддерживать актуальность..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.2.2009, 15:13
Сообщение #17


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Диаграммы классов - вещь хорошая в UML! Использовал для небольшого проекта. Конечно, она помогает, но вот в большом проекте - проще несколько диаграмм набросать на листочке, чем использовать спец. программы. Глазом большую часть охватить даже не удастся.... А вообще вещь очень нужная. Было бы здорово, если бы при программировании любого проекта такие вещи обязывали бы создавать!

Цитата
Если говорить именно об алгоритмах, то в плане UML самое полезное - диаграмма деятельности. По сути та же блок-схема, только несколько дополненная в плане различных обозначений.

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

Согласен! :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Novak
  опции профиля:
сообщение 20.2.2009, 17:35
Сообщение #18


Активный участник
***

Группа: Участник
Сообщений: 319
Регистрация: 15.3.2008
Из: Замкадыш
Пользователь №: 121

Спасибо сказали: 28 раз(а)




Репутация:   6  


Цитата(AD @ 20.2.2009, 15:13) *
Так и не смог полностью разобраться именно в этой диаграмме. Для меня она оказалась какой-то сложноватой. Может быть, объясните вкратце ее работу?

По сути это набор действий, очень похожий на блок-схему и стрелочками показываешь при каких условиях куда перемещаешься.
При этом можно указывать что у тебя происходит при том или ином действии. Выделяют атомарное одно действие и процесс - это то, что занимает какое-то время.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 20.2.2009, 18:25
Сообщение #19


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(Novak @ 20.2.2009, 17:35) *
По сути это набор действий, очень похожий на блок-схему и стрелочками показываешь при каких условиях куда перемещаешься.
При этом можно указывать что у тебя происходит при том или ином действии. Выделяют атомарное одно действие и процесс - это то, что занимает какое-то время.

Да меня больше интересует какой-нибудь пример простенький (как выглядит на блок-схеме и как на диаграмме действия). Приведите, пожалуйста!
Ну например вычисление факториала (рекурсивная версия и версия с циклом).
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V   1 2 >
Ответить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 24.6.2025, 20:58