|
Как описывать архитектуру девайса |
|
|
|
Jun 13 2018, 16:36
|

Местный
  
Группа: Свой
Сообщений: 232
Регистрация: 13-03-12
Из: Украина
Пользователь №: 70 785

|
Добрый день! Такой вопрос, кто как составляет структуру, алгоритмы высокого уровня для своих девайсов? Я вот долго накатывал какие-то узлы, блоки, из которых можно потом сооружать новые девайсы с минимальными доработками. Но доработки постоянно приходилось вносить внушительные. Оказалось, что я ни разу не анализировал все взаимосвязи ни аппаратных, ни программных частей - просто рисовал в тетрадке и по ходу рисовал схему, писал код. Пока оно все в голове помещалось. Сейчас я уже понимаю, чтобы была уверенность в том, что все будет работать правильно, в голову всего набивать не надо, а надо в цифровом виде. Если конкретно, вот полная структурная схема девайса, нарисованная в визио. Компоненты в синем ящике - периферия проца, пакаджи - софтовые модули. Компоненты на свободном поле - участки схемы, в белых ящичках - коннекторы и соответствующие им входные цепи. Входа компонентов обозначены как интерфейсы (кружками), я старался размещать их слева. Например, модуль OutExt имеет процедуру SetOut, которая вызывается из модулей UserIF и Evt, и выдает наружу сигналы через выводы Ch1 и Ch2 и через периферию SPI. Местами путаница, но это промежуточный вариант, т. к. визио показался мне не самым удобным инструментом для даной задачи. Вот я и хочу спросить, кто в каком редакторе составляет такие диаграммы? Может быть, хотя бы для чисто софтовых проектов? На мой взгляд это должен быть UML, пока что только для структуры. За описание процессов я может потом спрошу
--------------------
нет повести печальнее на свете, чем повесть о запавшем ресете
|
|
|
|
|
 |
Ответов
|
Jun 18 2018, 18:13
|
Участник

Группа: Участник
Сообщений: 68
Регистрация: 16-06-18
Из: СПб
Пользователь №: 105 099

|
Теперь по инструментам. Лично у меня очень экстремальные требования по доступности. Такие далеко не у всех, но опыт может оказаться полезным на перспективу - кто знает как жизнь обернется, будете иметь в виду направления, куда можно копать. Проекты опенсорсные: - Надо максимально быстро и просто донести информацию до другого человека. На любой платформе. У человека может просто под настроение возникнуть желание помочь. Если начать его грузить пургой про правильное проектирование - он просто плюнет и пойдет дальше, в какой нибудь другой проект. В итоге вы будете офигенно круты и правы, но в гордом одиночестве
. Идеальный вариант - когда человек может прямо в браузере посмотреть что нужно. Картинки и pdf неплохо прокатывают, но у них неудобство с ручной актуализацией после каждого изменения. Поэтому стараюсь выбирать именно вебовские тулзы, если это возможно. В перспективе плюсов больше (если вам не надо раздавать другим людям - плюсов меньше ). - Абстрактно, локальные тулзы обычно более навороченные. Но у них проблемы с шарингом результатов. Если общаемся с разработчиками один на один, то часто каждый делает в том что удобнее, а потом финальный результат переколачиваем во что-то типа draw.io - его в нашем случае проще раздавать и поддерживать. То есть, если у вас уже есть инструмент, который вы хорошо знаете - конечно начинать лучше с него, а дальше разберетесь. Лично я со временем навострился сразу в draw.io рисовать, но у меня весьма богатая практика, как обходиться без лишних телодвижений. Не уверен что прям с нуля draw.io будет идеальным вариантом. Но штука по-своему прикольная. В любом случае, владение методологией (многобукф из предыдущих постов) важнее, IMHO. Я не могу выделить какую-то конкретную рисовалку, которая чудесным образом решает все проблемы. Могу только обратить внимание на майндмапы и диаграммы данных, и что конкретно для них есть вебовские решения. Будут ли они оптимальны для вас - решайте сами. Диаграммы классов я не рисую - за десять лет активной разработки софта как-то не понадобилось. По той же причине агитировать за UML не вижу смысла.
- Другой пример комбинированного подхода (про веб, но не совсем про диаграммы) - доносить до людей поделки через EasyEDA очень удобно. Потому что какой-нибудь слессарь (конечный юзер) может в два клика заказать и платы и детали. Шарить по ссылке схемы для обсуждения тоже очень клево. Но разводка плат там "трохи специфичная", и симуляция простовата. Решали дешево и сердито - знакомый делал предварительную расстановку и 3D-модель в кикаде, а когда правки заканчивали, я уже делал окончательный вариант в EasyEDA. Честно сказать, пока в любом приличном трассировщике двигать дорожки удобнее, особенно с переходными отверстиями. Но в плане "донести опенсорсный продукт до конечного юзера" EasyEDA рулит и педалит. В масштабах "проекта" напряги могут потом отбиться многократно. Это на примере моих поделок, у кого-то другого может быть иначе, настаивать не буду.
Конкретные тулзы, которые удобнее для моих случаев, уже называл - coggle.it и draw.io. Но то что удобно для меня - не обязательно удобно для всех или для вас лично. Рассматривайте просто как информацию для расширения кругозора. Я объясняю только некоторые принципы и подходы, а не раздаю "валшэбные рицепты".
|
|
|
|
Сообщений в этой теме
Hexel Как описывать архитектуру девайса Jun 13 2018, 16:36 AlexandrY Цитата(Hexel @ Jun 13 2018, 19:36) Компон... Jun 13 2018, 20:18 a123-flex Цитата(Hexel @ Jun 13 2018, 20:36) Такой ... Jun 14 2018, 03:38 AlexandrY Цитата(a123-flex @ Jun 14 2018, 06:3... Jun 14 2018, 06:16  a123-flex Цитата(AlexandrY @ Jun 14 2018, 10:16) Кс... Jun 14 2018, 07:34   AlexandrY Цитата(a123-flex @ Jun 14 2018, 10:3... Jun 14 2018, 07:43    a123-flex Цитата(AlexandrY @ Jun 14 2018, 11:43) Не... Jun 14 2018, 07:58     AlexandrY Цитата(a123-flex @ Jun 14 2018, 10:5... Jun 14 2018, 08:18 Hexel Ексель - хороший вариант, но на данный момент я со... Jun 14 2018, 06:46 a123-flex Цитата(Hexel @ Jun 14 2018, 10:46) Что ка... Jun 14 2018, 06:55 AlexandrY Цитата(Hexel @ Jun 14 2018, 09:46) Что ка... Jun 14 2018, 07:31 one_eight_seven Цитата900 пинов эт когда вы DDR хотите сделать на ... Jun 14 2018, 10:58 AlexandrY Цитата(one_eight_seven @ Jun 14 2018, 13... Jun 14 2018, 11:34 a123-flex Цитата(one_eight_seven @ Jun 14 2018, 14... Jun 14 2018, 12:08 one_eight_seven ЦитатаВ это трудно поверить, но в yed нельзя даже ... Jun 14 2018, 14:37 Hexel one_eight_seven
Нормальная такая штука этот yed. П... Jun 14 2018, 16:18 a123-flex Цитата(Hexel @ Jun 14 2018, 19:18) А что ... Jun 14 2018, 19:04 p_v Давайте начнем с нуля. Для начала, вы должны четко... Jun 18 2018, 07:31 AlexandrY Цитата(p_v @ Jun 18 2018, 10:31) Инструме... Jun 18 2018, 08:22  p_v Давайте не будем пытаться устраивать холивар и тем... Jun 18 2018, 08:53   AlexandrY Цитата(p_v @ Jun 18 2018, 11:53) Давайте ... Jun 18 2018, 10:26    p_v Цитата(Hexel @ Jun 13 2018, 19:36) Вот я ... Jun 18 2018, 10:59 a123-flex Цитата(p_v @ Jun 18 2018, 10:31) На самом... Jun 20 2018, 10:35  p_v Цитата(a123-flex @ Jun 20 2018, 13:3... Jun 20 2018, 11:10   a123-flex Цитата(p_v @ Jun 20 2018, 14:10) Это из м... Jun 20 2018, 11:38    p_v Цитата(a123-flex @ Jun 20 2018, 14:3... Jun 20 2018, 12:17     a123-flex Цитата(p_v @ Jun 20 2018, 15:17) Да сам н... Jun 20 2018, 12:38     AlexandrY Цитата(p_v @ Jun 20 2018, 15:17) Мне врем... Jun 20 2018, 12:41      p_v Цитата(AlexandrY @ Jun 20 2018, 15:41) Но... Jun 20 2018, 13:21       AlexandrY Цитата(p_v @ Jun 20 2018, 16:21) Просто н... Jun 20 2018, 13:48        p_v Хоссподя... ну вот человек только что с треском об... Jun 20 2018, 14:44    AlexandrY Цитата(a123-flex @ Jun 20 2018, 14:3... Jun 20 2018, 12:24  AlexandrY Цитата(a123-flex @ Jun 20 2018, 13:3... Jun 20 2018, 11:28 one_eight_seven ЦитатаСкажем честно
1. Кто вам дал право определя... Jun 18 2018, 10:28 AlexandrY Цитата(one_eight_seven @ Jun 18 2018, 13... Jun 18 2018, 11:04 p_v Давайте допустим такой вариант, что я могу как мин... Jun 18 2018, 11:30 AlexandrY Цитата(p_v @ Jun 18 2018, 14:30) Давайте ... Jun 18 2018, 12:22  p_v Цитата(AlexandrY @ Jun 18 2018, 15:22) Пр... Jun 18 2018, 13:23   AlexandrY Цитата(p_v @ Jun 18 2018, 16:23) Это ваше... Jun 18 2018, 19:32  a123-flex Цитата(AlexandrY @ Jun 18 2018, 15:22) Ре... Jun 19 2018, 20:33 p_v Теперь пройдемся еще раз по диаграммам. А точнее, ... Jun 18 2018, 15:41 one_eight_seven Цитатаданном проекте речь о проектировании машины ... Jun 18 2018, 19:55 p_v У ВАС на ВАШИХ задачах - свой опыт. У МЕНЯ на МОИХ... Jun 18 2018, 20:00 AlexandrY Цитата(p_v @ Jun 18 2018, 23:00) Я отвеча... Jun 18 2018, 20:18  p_v Цитата(AlexandrY @ Jun 18 2018, 23:18) А ... Jun 18 2018, 21:02 Hexel сейчас я между прочим пытаюсь применить sybase PD1... Jun 20 2018, 07:04 AlexandrY Цитата(Hexel @ Jun 20 2018, 10:04) сейчас... Jun 20 2018, 08:57 Hexel p_v
Пожалуста, не нужно развивать этот спор. Вы по... Jun 20 2018, 15:37 p_v Цитата(Hexel @ Jun 20 2018, 18:37) ...
Ко... Jun 20 2018, 16:31  a123-flex Цитата(p_v @ Jun 20 2018, 20:31) Когда за... Jun 20 2018, 17:54   p_v Цитата(a123-flex @ Jun 20 2018, 20:5... Jun 20 2018, 18:08    a123-flex Цитата(p_v @ Jun 20 2018, 22:08) Железку,... Jun 20 2018, 18:19     p_v Цитата(a123-flex @ Jun 20 2018, 21:1... Jun 20 2018, 19:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|