LINUX.ORG.RU

Отдам проект в хорошие руки


0

0

Здравствуйте!

В свое время, когда писал диплом, создал интересную программу. К сожалению, у меня не достаточно свободного времени, чтобы заниматься этим проектом. И мне жалко, что он дальше не развивается. По этой причине обращаюсь к сообществу, может кому интересно будет продолжить работу над данной программой.

Описание программы

Algorithm Flowchart Editor (afce) - программа, которая предназначена для создания, редактирования и экспорта блок-схем алгоритмов. Пользователю не нужно заботиться о размещении и выравнивании объектов, программа автоматически разместит все блоки. Редактор позволит экспортировать блок-схему в исходный текст программы для разных языков программирования (Pascal, C/C++, Алгоритмический язык). Редактор блок-схем позволяет экспортировать изображение схемы в различные графические форматы: BMP, JPEG, PNG, TIFF, ICO, PPM, XBM, XPM, SVG. Программа распространяется на условиях лицензии GNU General Public License (GPL). Программа написана на языке C++ на основе библиотеки Qt 4. Доступны бинарные сборки как для GNU/Linux, так и Microsoft Windows (2000/XP/2003/2008/Vista/7).

Возможности

  • генерация исходного кода на основе блок-схемы в различные языки программирования;
  • автоматическое размещение блоков на схеме;
  • экспорт схемы в популярные растровые форматы;
  • экспорт схем в векторный формат SVG;
  • возможность работы с буфером обмена;
  • масштабирование блок-схемы;
  • поддержка нескольких языков переводов;
  • конвертация блок-схемы в исходный код на нескольких языках программирования;
  • бесплатность и открытость программы;
  • открытый формат файла, основанный XML;
  • кроссплатформенность: имеются сборки для Microsoft Windows и GNU/Linux.

Скачать исходники: http://zvlib.fatal.ru/files/afce-0.9.0-51.tar.gz

Сайт: http://zvlib.fatal.ru/pages.php?id=flowcharts

Ответ на: блок-схемы? от anonymous

фуууууууууу

Что - фууу? Програмка вполне так себе аккуратненькая. Не знаю на счет дипломной работы, IMHO больно простовато, но в общем и целом - зачет. Низачет за стиль и ведение проекта - отсутсивте док-ции, отсутствие локализации, комментарии на великом и могучем - но в общем и целом смотрится приятненько.

bibi
()
Ответ на: комментарий от bibi

[хвастаюсь]Дипломная была на отлично, с рекомендацией поступления в аспирантуру.[/хвастаюсь]

Документация - по сути, текст пояснительной записки к дипломному проекту. Локализация - поддержка двух языков (английский и русский), комментарии на русском для членов комиссии, которые также смотрели код.

viktor-zin
() автор топика
Ответ на: комментарий от viktor-zin

[хвастаюсь]Дипломная была на отлично, с рекомендацией поступления в аспирантуру.[/хвастаюсь]

Документация - по сути, текст пояснительной записки к дипломному проекту. Локализация - поддержка двух языков (английский и русский), комментарии на русском для членов комиссии, которые также смотрели код.

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

bibi
()
Ответ на: блок-схемы? от anonymous

Если адаптировать для диаграмм активности/состояний и вообще, UML, то было бы как раз то, чего так не хватает в Umbrello. А если бы их еще и скрестить удалось... Кстати, я смотрю, это вечная дипломная тема — в мне время выпускники аналогичные поделки клепали :-).

eugine_kosenko ★★★
()
Ответ на: комментарий от bibi

> Вот если бы добавить реверс туда хотя бы с паскаля...

Это было в планах, но рутина затянула и времени не хватило.

viktor-zin
() автор топика
Ответ на: комментарий от eugine_kosenko

Если адаптировать для диаграмм активности/состояний и вообще, UML, то было бы как раз то, чего так не хватает в Umbrello. А если бы их еще и скрестить удалось... Кстати, я смотрю, это вечная дипломная тема — в мне время выпускники аналогичные поделки клепали :-).

Ммм... Я сто лет не ковырял умбрелу. Но разве она не умеет рисовать диаграммы состояний :-?

bibi
()
Ответ на: комментарий от bibi

Она не умеет автоматическую раскладку графа. В свое время на мой фич-запрос они сказали, что есть смысл задействовать dotty/graphviz, но до реальных шагов дело не дошло. И пока что нормальная автоматическая раскладка есть только в проприетарной Розе.

eugine_kosenko ★★★
()
Ответ на: комментарий от eugine_kosenko

Она не умеет автоматическую раскладку графа. В свое время на мой фич-запрос они сказали, что есть смысл задействовать dotty/graphviz, но до реальных шагов дело не дошло. И пока что нормальная автоматическая раскладка есть только в проприетарной Розе.

Ну судя по всему в этом проектике есть вполне приличная автораскладка. По крайней мере good enough. Желающие - прикручивайте :)

bibi
()
Ответ на: комментарий от eugine_kosenko

Она не умеет автоматическую раскладку графа. В свое время на мой фич-запрос они сказали, что есть смысл задействовать dotty/graphviz, но до реальных шагов дело не дошло. И пока что нормальная автоматическая раскладка есть только в проприетарной Розе.

PS: Опять же IMHO прикучивать для этих целей dot или graphviz - это из пушки по воробьям. Проще и эффективнее сделать частный случай руками. Что наглядно показано в проектике топикастера.

bibi
()

Клевый проект :)

Если совместить его с каким нибудь QtCreator, можно будет программировать мышкой.

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Ну, данная программа скорее даже не для программистов, сколько для студентов, преподавателей и учеников. Главная идея в том, чтобы по-быстрому накидать алгоритм для последующей публикации и печати. Но идея, конечно, интересная. В целом идей много, вот поэтому и решил обратиться во внешний мир :)

viktor-zin
() автор топика
Ответ на: комментарий от viktor-zin

Ну, данная программа скорее даже не для программистов, сколько для студентов, преподавателей и учеников. Главная идея в том, чтобы по-быстрому накидать алгоритм для последующей публикации и печати. Но идея, конечно, интересная. В целом идей много, вот поэтому и решил обратиться во внешний мир :)

Наверное, было бы полезно открыть на страничке проекта вики или в этом духе, чтобы можно было принимать извне пожелания к развитию. В текущем виде програмка как бы сама в себе и не совсем понятно, что там собственно поддерживать :)

bibi
()
Ответ на: комментарий от bibi

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

Следующие изменения нужны в программе:

  • Сохранение настроек программы.
  • Улучшить качество размещения блоков. Есть некоторые случаи, когда блок-схема выглядит не так, как хотелось бы.
  • Печать блок-схемы надлежащим способом. Сейчас идет автоматическое масштабирование на весь лист с сохранение пропорций. Если блок схема маленькая, то она увеличивается до гигантских размеров.
  • Осуществлять сборку бинарных пакетов под распространенные дистрибутивы Linux.
  • Может быть перевод на другие языки.
viktor-zin
() автор топика
Ответ на: комментарий от proDOOMman

Когда я преподавал информатику в школе, я столкнулся с той же проблемой. Нужно было делать раздаточный материал, готовить контрольные и т.п. Поэтому я и выбрал эту тему для диплома. Программу делал в первую очередь для себя, но потом понял, что может пригодиться и другим.

viktor-zin
() автор топика

Было бы интересно добавить обратную возможность: генерировать блок-схемы из кода, чтобы для всяких отчетов/мануалов можно было быстро по своему коду сделать блок-схемки.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

Было бы интересно добавить обратную возможность: генерировать блок-схемы из кода, чтобы для всяких отчетов/мануалов можно было быстро по своему коду сделать блок-схемки.

Ну на самом деле с практической точки зрения эта фича скорее так, для разминки мозгов, не более. Любой чуть более-менее объемный кусок кода нагенерит такую схему, что проще будет просмотреть сам код нежели пытаться протрейсить схему :)

bibi
()
Ответ на: комментарий от bibi

Любой чуть более-менее объемный кусок кода нагенерит такую схему, что проще будет просмотреть сам код нежели пытаться протрейсить схему :)

Вот и хочется чего-нибудь, оптимально создающего блок-схемы. Например, есть очень маленький проектик

[16.04 10:27 ~/Docs/SAO/videoguide/videoguide-RELEASE+Wavefilt]
cat *.[hc] | wc -l
3825
и десятка тысяч строк не наберется. Вот хотелось бы «загнать» его в какую-нибудь программу, чтобы она создала иерархию блок-схем: верхнего уровня, потом блок-схемы функций и т.п.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от yoghurt

Вы всё ещё пишете полотна кода по 300 строк? Тогда мы идем к вам!

Интересно было бы взглянуть на версию расстановки с использованием того же dot-а. Не в 300 строк кода.

bibi
()
Ответ на: комментарий от Eddy_Em

и десятка тысяч строк не наберется. Вот хотелось бы «загнать» его в какую-нибудь программу, чтобы она создала иерархию блок-схем: верхнего уровня, потом блок-схемы функций и т.п.

Я боюсь, что даже он выдаст такую портянку, что без последующей тщательной ручной обработки полученного разобраться в этой схеме без поллитры будет невозможно :) С таким же успехом можно заливать проекты в розу. Она их конечно кушает, да. Но на результат без слез обычно смотреть невозможно.

bibi
()
Ответ на: комментарий от Eddy_Em

Я смотрю на это с педагогической колокольни: эта функция интересна для обучения детей. Ученик вводит программу - тут же видит блок-схему. Наглядность!

viktor-zin
() автор топика
Ответ на: комментарий от viktor-zin

эта функция интересна для обучения детей.

Логично сначала сделать блок-схему, а потом писать программу, но никак не наоборот (как обычно и делают ;) ).

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от Eddy_Em

> Логично сначала сделать блок-схему...

Я с этим согласен, но эта функция может пригодиться в следующем задании: «Написать программу в соответствии с данной блок-схемой.». Ученик пишет программу и получившуюся блок-схему сравнивает с данной. Конечно, при таком подходе возможно бездумная подгонка, но это уже отдельная тема.

viktor-zin
() автор топика

интересная програмка.

splinter ★★★★★
()
Ответ на: комментарий от eugine_kosenko

>И пока что нормальная автоматическая раскладка есть только в проприетарной Розе.

Еще у Борланда была. Ну и осталась соб-сно в делфи.

Pavval ★★★★★
()
Ответ на: yEd Graph Editor от anonymous

а категориальные диаграммы где?

jtootf ★★★★★
()

Поздравляем, вы уже 10-й кто изобрел UML. Получите премию, распишитесь :-)

Karapuz ★★★★★
()

И на скринах чОтко видна большая кнопка «Вставть».

Студенты. Программисты.

thesis ★★★★★
()

1. подозреваю, что программа не слишком большая и состоит из одного исполняемого файла без либ => кастую статическую сборку, которая будет работать на любом дистрибутиве

2. раскрутке хорошо помогает сайт на SF

3. для сырцов создай git на github, gitorious или на худой конец SF

annulen ★★★★★
()
Ответ на: комментарий от annulen

1. подозреваю, что программа не слишком большая и состоит из одного исполняемого файла без либ => кастую статическую сборку, которая будет работать на любом дистрибутиве

Ага

2. раскрутке хорошо помогает сайт на SF

Ага

3. для сырцов создай git на github, gitorious или на худой конец SF

А вот это отменить. SVN - максимум. Иначе всех девелуперов будет подтора непонятно кого, аки слышали сии матерные слова. Проще, проще нужно быть, младой человек. И люди к вам потянутся.

bibi
()
Ответ на: комментарий от annulen

Это все хорошо. Вопрос в том, что кто бы смог этим заняться? Ведь мне самому времени не хватает. Я понимаю, что проект не супер-пупер, но ведь интересный. У кого-то может быть есть время, чтобы потратить на данную программу.

viktor-zin
() автор топика
Ответ на: комментарий от bibi

>SVN - максимум

С svn-ом удобно только когда в одиночку работаешь. А еще я лично часто пишу код в оффлайне, с гитом же для того, чтобы делать коммиты, интернет не нужен => четко видна история изменений

annulen ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.