18

Создание САПР

Добрый день!

Хотелось бы узнать, имеется ли среди IT-пикабушников те, кто занимается или каким-либо образом причастен к разработке САПР (систем автоматизированного проектирования по-нашему, CAD/CAE по-английски)? Сам я являюсь пользователем этих систем, а конкретно в основном это AutoCAD Electrical и Eplan в меньшей степени. И мне интересно, как они спроектированы, как делятся на модули/подпрограммы, какие парадигмы и языки программирования используют и т. д. Искал соответствующую литературу, но не смог найти ничего путного даже на английском, так как, видимо, тема уж очень узкоспециализированная и единого общепринятого подхода нет - каждый разработчик изобретает свой велосипед. На Cyberforum и Stackoverflow подобных тем также не нашёл, на GitHub есть какие-то проекты, но я вряд ли смогу разобраться в них самостоятельно. Вот я и хотел бы пообщаться с людьми в теме, если таковые имеются.

Лига программистов

2.3K постов12K подписчиков

Правила сообщества

- Будьте взаимовежливы, аргументируйте критику

- Приветствуются любые посты по тематике программирования

- Если ваш пост содержит ссылки на внешние ресурсы - он должен быть самодостаточным. Вариации на тему "далее читайте в моей телеге" будут удаляться из сообщества

0
Автор поста оценил этот комментарий
Так человек работает в ПО, используя его возможности, зная их, как можно наткнуться на не так ?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Безусловно, работа с данным ПО бесконечно удобнее, чем без него. Особенно в начале. Но чем дольше с ними работаешь и чем больше твои проекты, тем чаще замечаешь недостатки и нереализованные возможности.
Думаю, что это не вина разработчиков. Они делают только то, что от них требуется по ТЗ и не обязаны разбираться в специализированных тонкостях. Видимо, самое слабое звено - это долгосрочная связь между разработчиками и профильными пользователями, а точнее её отсутствие. Плюс разное видение самих пользователе на то, как должно выглядеть и что делать ПО, а также отличные друг от друга нормативные требования разных стран.

показать ответы
0
Автор поста оценил этот комментарий
А что интересует то конкретно, просто интересно, зачем пользователю САПР эта инфа? Написать своё? Ну тут вряд ли есть смысл, даже догнать то, что есть маловероятно.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Информация для того, что в процессе работы при очередном вскидывании рук с воплем: "Да почему же здесь всё сделано через задницу?!", понимать как это произошло и почему разработчики сделали именно так, а не так, как диктует логика инжиниринга (в моём случае).

показать ответы
1
Автор поста оценил этот комментарий

Движок - на смеси C и C++, высокий уровень (GUI и скриптинг) - на специфическом диалекте Lisp. IDE референсной нет, все пишут под чем хотят. В силу консервативности продукта, его Unix-происхождения, и ориентирования на лисп, многие кодят в Emacs. Но это только у нас. В других компаниях мб другие технологии

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Как много незнакомых слов) Мне известна только Visual Studio и C# c WPF, соответственно. Возможна хотя бы теоретически разработка какого-нибудь простого САПР (например, без 3D) средствами этого инструмента?

показать ответы
1
Автор поста оценил этот комментарий

Подскажите, пожалуйста, как Вы и ваши коллеги реализуете логику работы своего приложения? Понятно, что по ТЗ, но кто составляет эти ТЗ?

Если хотелка идёт со стороны заказчика, то она попадает к Application engineers - нашим сотрудникам, являющимся продвинутыми юзерами продукта и обладающим знаниями предметной области - они непосредственно контактируют с заказчиком. В других компаниях название этих сотрудников может быть другое, например Business analysts (аналитики). Также предложения по изменению могут появляться не только у заказчика но и у нас самих, например на уровне менеджмента отдела ("Давайте сделаем фичу") или даже от обычного Application / Software engineer (например заметили баг). Далее тем сотрудником, от которого исходит требование, создаётся тикет. С тикета начинаются вообще любые действия. В простейших случаях, требуемое в тикете изменение в коде может напрямую внести Software engineer без всякой спецификации (если масштаб небольшой, например фиксится баг). Если же требуется нечто более масштабное, то усилиями Application engineers, с привлечением технического руководства отдела, создаётся Requirements spec - документ, описывающий требуемое поведение CAD системы со стороны её юзера. (В "правильных" командах эта спека пишется в формальной нотации (IDEF0 итд), у нас же она идёт в свободной форме. Естественно, там могут быть графики, куски скриптов итд. Например в нашем случае (eCAD/EDA - сапры по проектированию микроэлектроники) скажем в индустрии появляется техническая новинка - фотоника в интегральных схемах https://en.wikipedia.org/wiki/Photonics#Photonic_integrated_.... Клиенты хотят возможность добавлять в чип элементы фотоники, такие как волноводы, и высказывают своё понимание как эти новые элементы должны взаимодействовать со всем остальным. Это пример крупного проекта, от года и более. Далее техническое руководство отдела вместе с менеджментом отдела назначают Project team, в которую входят один или несколько: Project architect, Project manager, Project engineer, QA и прочие роли. Тот, кого назначили Project architect, на основании Requirement spec пишет техническую спеку - Functional spec, в которой описываются непосредственно изменения в коде, новые классы, диаграмма классов, модель данных итд.


Какого они объёма и что в них входит?

Что входит уже сказал, объём от двух до пары десятков страниц A4, хотя бывает и больше.

Реагируете ли на обратную связь от пользователей?

Конечно реагируем, есть система тикетов.

Задаю эти вопросы потому, что при работе с указанными мною САПР, меня не покидает мысль, что многие вещи можно было сделать по-другому, многое добавить, многое убрать/упростить (...)

Предложения по изменениям, возникающее внутри производителя САПР а не у клиента, как я уже сказал это нормальное явление

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Благодарю за такой развёрнутый ответ!
в которой описываются непосредственно изменения в коде, новые классы, диаграмма классов
Насколько я понимаю, используется парадигма ООП. А какие языки программирования и IDE используются?
показать ответы
4
Автор поста оценил этот комментарий

Я разработчик движка крупной CAD системы. Непонятен Ваш вопрос. Спроектировано всё так же как в любом большом/корпоративном софте наверное. Если нужен просто пример хорошего кода, их валом в книгах и других проектах. Знание же как устроены кишки условного оркада ничего вам не даст, если вы только не такой же разработчик движка.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Я разработчик движка крупной CAD системы

Подскажите, пожалуйста, как Вы и ваши коллеги реализуете логику работы своего приложения? Понятно, что по ТЗ, но кто составляет эти ТЗ? Какого они объёма и что в них входит? Реагируете ли на обратную связь от пользователей? Задаю эти вопросы потому, что при работе с указанными мною САПР, меня не покидает мысль, что многие вещи можно было сделать по-другому, многое добавить, многое убрать/упростить и всё это сделало бы программу намного более удобной и функциональной с точки зрения конкретной дисциплины (в моём случае – системы промышленной автоматизации и электроснабжения).

показать ответы
1
Автор поста оценил этот комментарий

вы как больной раком спрашиваете "как обучиться лечить людей?".

был бы спрос с деньгами подрядчик найдется.

Нужна команда квалифицированных в этом вопросе и мотивированных людей(деньги неплохая мотивация) и четко поставленное тз.

Предпросмотр
YouTube19:42
раскрыть ветку (1)
0
Автор поста оценил этот комментарий
Нужна команда квалифицированных в этом вопросе

Вот я и хотел бы, что данные люди дали по возможности свои комментарии и советы, что почитать для начала. Мне интересно (по крайней мере сейчас) не написание кода, а общие, вводные вопросы работы подобного ПО.

То, что разработка САПР - это очень небыстро и очень недёшево понятно и так.

показать ответы
4
Автор поста оценил этот комментарий

Я разработчик движка крупной CAD системы. Непонятен Ваш вопрос. Спроектировано всё так же как в любом большом/корпоративном софте наверное. Если нужен просто пример хорошего кода, их валом в книгах и других проектах. Знание же как устроены кишки условного оркада ничего вам не даст, если вы только не такой же разработчик движка.

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спроектировано всё так же как в любом большом/корпоративном софте
Вот. А есть ли книги на тему создания подобного софта именно с точки зрения проектирования, а не написания кода (кроме «Чистой архитектуры» Мартина, которая уж слишком абстрактна для человека без опыта)? Как устроен код какого-нибудь 3D-движка мне пока, а может быть и вообще не понять. Но вот как организовывается структура ПО узнать интересно. Мне видится, что ПО, как и любой продукт, перед тем как программисты начнут писать код, должен быть спроектирован. Ведь вряд ли строители смогут построить, например, какой-нибудь газосжижающий завод без проекта.

Не думаю, что серьёзный софт – это «простыня» в миллион строк кода. Это совокупность модулей, выполняющих конкретные функции, и разные комбинации этих модулей. Так вот хотелось бы узнать, как такие системы декомпозируются, разделяются на подсистемы и т. д. Или же это всё зависит от опыта и знаний людей, которые её разрабатывают и никаких, так сказать, best practice нет.

показать ответы
0
Автор поста оценил этот комментарий

Я разработчик движка крупной CAD системы.
Подскажите, пожалуйста, как Вы и ваши коллеги реализуете логику работы своего приложения? Понятно, что по ТЗ, но кто составляет эти ТЗ? Какого они объёма и что в них входит? Реагируете ли на обратную связь от пользователей? Задаю эти вопросы потому, что при работе с указанными мною САПР, меня не покидает мысль, что многие вещи можно было сделать по-другому, многое добавить, многое убрать/упростить и всё это сделало бы программу намного более удобной и функциональной с точки зрения конкретной дисциплины (в моём случае – системы промышленной автоматизации и электроснабжения).

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества