LINUX.ORG.RU

А давайте создадим нормальную опенсурсную систему проектирования ПО?

 , , ,


3

8

Как правило в линуксах когда речь заходит о визуальном проектировании ПО, или графическом представлении документации к ПО - то все сводится к нескольким словам типа DIA, Inkscape или Gimp. Эти приложения конечно не плохие, но я считаю что они совсем не удобны для этих задач.

А давайте попробуем обсдудить и создать ПО для переноса мыслей из головы на бумагу? Предлагаю взять за основу идею IDEF0 (Очень удачный способ функционального моделирования), убрать лишнее и добавить туда возможность проектирования ООП и прочих финтиплюшек.

Считаю что проект можно сделать в виде веб-сервиса, поэтому потребуются: Бэкэндщики, жабаскриптеры, верстальщики/рисовальщики и просто люди с нормальным вкусом кто может нарисовать вменяемый внешний вид.

Как вам идея?

З.ы. для любителей не читать комменты: проект стремится быть опенсурсным до мозга костей поэтому будут не просто исходники с меткой ЖПЛ. Требуется участие в обсуждении и рождении проекта - все подробности описаны в комментах.

★★★★★

Последнее исправление: Siado (всего исправлений: 2)

Dia, FreeMind.

И вообще, ЯННП.

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

Лучше вайтборда и маркера все равно не сделаешь.

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

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

Если делать вебнутым - то питон наилучший вариант. Если десктопным - то срач вида питон/джава/c/cpp/gtk/qt

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

ждём отклика от лисперов. Для них эта задачка на пару вечеров.

Для любого вменяемого программера эта задачка на пару вечеров. Все упирается в графическое представление и рисовалку - а это жабаскриптеры и рисовальщики.

Siado ★★★★★
() автор топика

согласен рулить командой пистонщиков. кодить нормально я всеравно не умею. только вот ЯННП

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

Для этого не нужны нейросети.

Siado ★★★★★
() автор топика

взять за основу идею IDEF0

Ты хочешь что-то строгое и формальное? Или то, что обычно рисуется в большом блокноте перед начал написания модуля/проекта? Ну т.е. связи между сущностями/таблицами в базе, модели взаимодействия кусков проекта, таблицы, списки чего-нибудь.

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

Я хочу получить полное и вменяемое графическое представление проекта целиком. В настоящее время ситуация такая, что всю функциональную составляющую любых проектов могут отразить две вещи: IDEF0 и UML. Только проблема IDEF0 в узкой специфике и в некоторых моментах его применить не получится, а проблема UML в серьезной избыточности и неочевидности.

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

правительство же рулит! я чем хуже? а если без танцпола, то я бы поковырял код, но знаю лишь питон, да и тот кое-как:(

der_looser ★★
()

Предлагаю взять за основу идею IDEF0 (Очень удачный способ функционального моделирования), убрать лишнее и добавить туда возможность проектирования ООП и прочих финтиплюшек.

Логичнее было бы взять за основу Dia и дописать к ней функциональность IDEF0. А уже потом добавлять финтифлюшки.

alpha ★★★★★
()

Нужно запилить всё это на лиспике.

BYHYRT, организовывай.

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

На нём можно делать вот так.

Збс. проект отменяется, все используем xpaint

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

Если тред пойдет номрмально - то проект стартанет под гпл и любой желающий его поковырять сможет. Смотрю с питонистами в треде нормально, ждем жабаскриптеров и рисовальников.

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

Ну вебнутым это же не плохо

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

Siado ★★★★★
() автор топика
Последнее исправление: Siado (всего исправлений: 1)
Ответ на: комментарий от Polugnom

Libreoffice Draw хватит каждому!

каждому извращенцу =)

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

Логичнее было бы взять за основу Dia и дописать к ней функциональность IDEF0

Проще новое с нуля написать.

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

Ответ из разряда: «все побежали и я побежал».

Проект будет требовать серверных ресурсов — нет, взаимодействия нескольких пользователей — нет, интеграции с сетевыми сервисами — нет. Так зачем лезть в веб, чтобы жизнь медом не казалась?

alpha ★★★★★
()

IDEF0 (Очень удачный способ функционального моделирования)

triple-facepalm.jpg

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

Проект будет требовать серверных ресурсов — нет,

Верно

взаимодействия нескольких пользователей — нет, интеграции с сетевыми сервисами — нет.

А почему бы и нет? Любые идеи приветствуются.

Так зачем лезть в веб, чтобы жизнь медом не казалась?

Больше разработчиков, кросс-платформенность из коробки, возможность расширять проект.

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

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

Вот это нужно вывести на обсуждение. Предлагаю JSON

+:

В жабаскрипте из коробки. Куча библиотек, приятен для глаза, нет избыточной инфы.

-:

Отстуствуют, но некоторые либы могут его криво парсить.

Siado ★★★★★
() автор топика
Последнее исправление: Siado (всего исправлений: 1)
Ответ на: комментарий от Siado

взаимодействия нескольких пользователей — нет

А почему бы и нет? Любые идеи приветствуются.

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

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

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

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

Предлагаю навелосипедить свой.

anonymous
()

создадим нормальную опенсурсную систему проектирования ПО?

есть-же issue и cowsay: «KISS»,«делай вдоль»,«ненужное не нужно»,«пеши код блджат» :-)

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

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

Это опенсурс, здесь нет ни команды ни бюджета на команду, ни ограничений по времени на реализацию проекта. Другими словами - как полетит =)

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

Всему свое время. В лучшем случае список задач родится из обсуждения в этой ветке форума.

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

Мне кажется, здесь нужен более специализированный язык. Те же публичные методы обозначать проще плюсом, чем "visibility":"public".

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

Может быть, цветов стоит добавить в этот IDEF*.

E ★★★
()

Привет.

предлагаю посмотреть на язык ДРАКОН (вкратце) и его форум ссылки 1 2 3 4

особенно рекомендую ознакомиться с PDF по ссылке

а также на SWITCH-технологию , публикации, лекции например, UniMod и примеры

ещё кратко про SWITCH

очень краткое интро

Здесь примеры CASE систем —

  • «ИС ДРАКОН», среда Г. Тышева и прочие CASE-средства для ДРАКОНа (ДРОН и т.п.); — что-то было на tcl/tk
  • UniMod в виде плагина к Эклипсу

Особенности CASE-систем, фичи:

  • нарисовать блок-схему алгоритма в виде ДРАКОН-схемы или SWITCH автомата
  • сгенерировать программу на обычном ЯП, по этой диаграмме
  • в особых случаях (UniMod) даже анимировать и отладить на уровне схемы, диаграммы
  • свой велосипед для генерации, для рисования и укладки диаграмм, и тп.

вообще имело бы смысл повторно использовать ту же Dia или Visio.

был пример публикации (очень краткое интро)

про школьника (!) 5 класса, который «пишет программы в Visio» — то есть, он написал набор макросов на VB для Visio, по которым из SWITCH-схемы генерируется программа на Си, например.

мне кажется, в этом смысле Dia было бы даже удобнее — у него by design XML формат данных, легче парсить и транслировать/генерировать.

далее.

с точки зрения устройства такой среды, думаю, не нужно делать упор на WYSYWIG, скорее, на WYSYWIM вроде TeX-а.

то есть: в соответствии с подходом грамотного программирования Д. Кнута пишем что-то подобное org-mode babel разметке

сам org-mode потенциально можно заменить/дополнить на GNU Skribilo : задавать AST документа макросами на схеме. Skribilo поддерживает org-mode синтаксис, а также можно прикрутить свой. я думаю, полезно было бы прикрутить Sweet expressions

думаю, нужно генерировать HTML + SVG, чем-то вроде такого : flowchart.js

видео про SVG-edit

при этом это должно обновляться из Emacs + org-mode в браузер по принципу xiki см. сайт xiki tutorial

в идеале, хочется совместного редактирования, чего-то вроде совместно программируемых вики обсуждение идея

вики должны быть не простыми, а семантическими, с типизированными ссылками и атрибутами.

полный RDF и SPARQL возможно overkill, хотя может пригодиться.

упор надо делать на интеграцию с org-mode babel + skribilo + flowchart.js SVG + ГРАМОТНОЕ ПРОГРАММИРОВАНИЕ + кодогенерация из моделей

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

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

batbko
()

А давайте!

Модульную платформу.

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

мне кажется, такой проект должен быть модульным, из максимально независимых компонент.

например, и ДРАКОН, и SWITCH-технология (FSML из UniMod), и BPM-движок исполнения бизнес-процессов типа Runa/WFE  — это всё одно и то же разными буквами, с разных позиций.

возможно, их нужно использовать совместно. то есть, не писать N кодогенераторов в целевые языки для ДРАКОН, M для SWITCH, K для BPM и NxMxK вариантов — а написать нормальную кодогенерацию для SWITCH и транслятор из ДРАКОН в SWITCH, например.

а по идее, нужен какой-то абстрактный язык моделирования, надмножество, метаязык, общий над ДРАКОН/SWITCH/UML/BPM/whatever.

типа того, как Skribilo AST надмножество tex/latex/contex/lout/html/texinfo ps/pdf/html и компилятор во всё это

anonymous
()

Предлагаю взять за основу идею IDEF0 (Очень удачный способ функционального моделирования), убрать лишнее и добавить туда возможность проектирования ООП и прочих финтиплюшек.

ну ты сравнил, IDEF0 с UML хотя бы. это языки разного уровня, с разным назначением — один высокоуровневый на уровне функционального моделирования, второй более низкоуровневый, конкретная архитектура.

а с переходом одного языка в другой — конкретные сложности. много нетривиальных тонкостей.

хотя я знаю по крайней мере один годный подход концептуально стыкующий эти концы — N-модель данных и технология программирования.

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

Думаю проектировать споб хранения инфы нужно начать от его представления. Сейчас думаю как лучше присобачить ООП к IDEF один из провальных вариантов: http://plasmon.rghost.ru/50979570/image.png

Siado ★★★★★
() автор топика

ещё, если ты про Пистон, могут пригодиться примеры

но пистон отстой, лучше уж взять какой-то лисп и обмазаться Readable Sweet-expressions — визуально почти то же самое, но семантика более правильная, и быстродействие получше будет.

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

Представь, сколько вайтбордов понадобится, чтобы замоделировать проект типа википедии?

Представь себе — всего один.

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

я займусь этим, хотя бы чисто для себя. другое дело, что just for fun и по срокам — крайне нескоро maybe someday, когда у меня появится свободное время (не ближайшие пару месяцев — точно).

для себя я набросал что-то типа описания архитектуры, ТЗ, требованиям к функциональности и прочим «запискам на манжетах» в org-mode.

основная идея — скрестить с программируемыми семантическими вики и грамотным программированием.

интересно, какие у кого другие подходы и идеи про реализацию.

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

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

Эти рисовалки нужны чтоб ПМ'ам было что вставить в отчеты, только и всего. Кроме того, архитектура, как правило, меняется много быстрее чем схемы (если они вообще когда-нибдуь правятся после первой версии, гг).

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