Проектирование программ.

Программирование прибыли: от азов к секретам мастерства. Читайте, спрашивайте, делитесь опытом.
Бонус за сообщение 0.5$
Ответственный Модератор - Haos

Проектирование программ.

Сообщение Рэндом » 30 июл 2013, 03:46

Предположим вы решили написать очень объемную программу. Например есть у меня задумка написать на MQL5 реализацию волн Эллиота по методу Нилли. Сразу же возникает множество вопросов, так как задача очень объемная. С чего начать? Как разбить программу на классы? Если я ее разобью на классы, где гарантия что это будет наилучшие разбиение. Вот в этом случае на помощь приходит проектирование программ. Существуют методы которые позволяют успешно справиться с определением структуры большой программы. Эти методы базируются на графическом языке UML, предназначеным для проектирования программ. В нем есть все необходимое для разработки и написания документации для программы. Для того чтобы воспользоваться UML нужен специальный редактор. Я рекомендую Software Ideas Modeler. Этот редактор бесплатен для не коммерческого использования. В бесплатной версии он не умеет генерировать код, но это не особо критично. Перевести диаграммы клаcсов в код MQL5 можно в ручную. К тому же я сомневаюсь что существуют редакторы, которые могут генерировать код MQL5. Хотя можно воспользоваться генерацией кода C++ и затем внести в него небольшие изменения. Генератор кода генерирует только шаблоны программы, а наполнять его содержанием необходимо самостоятельно. Впрочем эти шаблоны могут быть полезны. Однако одного редактора UML мало. Необходимы знания UML и прицепов проектирования. Без знания и умения проектировать программы UML редактор будет бесполезен. В программирование давно уже разработаны эффективные методы проектирования программ. Изучить этот вопрос можно в книге "UML 2 и Унифицированный процесс. Практический объектно-ориентированный анализ и проектирование." В ней помимо собственно проектирования описан язык UML. Эти знания вам пригодятся не только при разработке программ на MQL5, но и вообще при программировании любой серьезной программы. Вдруг вы решите связать свою судьбу с программированием.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Проектирование программ.

Сообщение Рэндом » 31 июл 2013, 02:15

Есть еще такой редактор UML StarUML. Этот редактор мне нравиться больше. В нем есть функция генерации кода. Редактор бесплатный и может быть использован в любых целях.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Проектирование программ.

Сообщение Рэндом » 31 июл 2013, 06:18

Еще по последней программе. В Висте, 7 и 8 ее нужно запускать от имени администратора.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Проектирование программ.

Сообщение mfcoder » 31 июл 2013, 07:18

uml конечно общепризнанная вещь для разработки, а вот есть интересный/альтернативный вариант для описания чего либо использование карт.. часто использую для описания чего-либо как оно работает вот такую программку freemind, возможно кто-то найдет ее интересной и полезной
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.

Re: Проектирование программ.

Сообщение Рэндом » 31 июл 2013, 08:41

Я считаю что UML редактор намного удобнее чем FreeMind. UML редактор позволяет описать классы, определить в них атрибуты (переменные класса), описать функции класса. Определить порядок наследования классов. Порядок включения (использования переменных одного класса в другом) классов. И многое другое.
Аватар пользователя
Рэндом
Специалист MQL
 
Сообщений: 13700
Зарегистрирован: 18 июл 2013, 08:05
Средств на руках: 31.45 Доллар
Группа: Администраторы
Благодарил (а): 1131 раз.
Поблагодарили: 3174 раз.
Каждый заблуждается в меру своих возможностей.

Re: Проектирование программ.

Сообщение mfcoder » 31 июл 2013, 09:55

а я и не говорил что фримайндом можно умл заменить, он больше для описания иного рода :)
Аватар пользователя
mfcoder
 
Сообщений: 1531
Зарегистрирован: 29 июл 2013, 11:55
Средств на руках: 26.85 Доллар
Группа: Базовая
Благодарил (а): 78 раз.
Поблагодарили: 423 раз.


Вернуться в MQL – теория и практика

Кто сейчас на форуме?

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 53

Права доступа к форуму

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения