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

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

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

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

|
Давайте допустим такой вариант, что я могу как минимум неплохо разбираться в том, о чем пишу  . И что за моим выбором инструментов стоят более серьезные причины, чем необразованность и нищебродство  . Я пытаюсь объяснить довольно непростые вещи по методологии. Упрощать их до выбора редактора и тем более сталкивать в УГ лозунгами про визио не очень конструктивно. Если что-то вызывает трудности - ну переспросите, постараюсь детализировать. Это будет новая информация, от которой толку намного больше, чем от развлечений с "доказыванием правоты".
|
|
|
|
|
Jun 18 2018, 12:22
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(p_v @ Jun 18 2018, 14:30)  Давайте допустим такой вариант, что я могу как минимум неплохо разбираться в том, о чем пишу  . И что за моим выбором инструментов стоят более серьезные причины, чем необразованность и нищебродство  . Я пытаюсь объяснить довольно непростые вещи по методологии. Упрощать их до выбора редактора и тем более сталкивать в УГ лозунгами про визио не очень конструктивно. Если что-то вызывает трудности - ну переспросите, постараюсь детализировать. Это будет новая информация, от которой толку намного больше, чем от развлечений с "доказыванием правоты". Просто я здесь не согласен категорически. Редактор решает все! То насколько удобно он позволяет делать то или другое определяет то, что вы в нем будете или не будете рисовать. Это как язык программирования. Я его выбираю не из-за каких-то синтаксических возможностей, а из-за библиотек, фреймворков и IDE под него. Показанный там вами по ссылке автомат состояний только доказывает это. Он примитивен, он не симулируется, не параметризуется, он не обложен тестами, он не интегрирован в большую систему, никто его не прочитает, он не презентабелен и т.д. Это по сути снипет, а не проект. Только не надо сейчас вываливать уязвленное самолюбие, я верю что где-то там в вашей тусовке и на вас самого это производит впечатление, но попробуйте хотя бы сравнить с Simulink-ом.
|
|
|
|
|
Jun 18 2018, 13:23
|
Участник

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

|
Цитата(AlexandrY @ Jun 18 2018, 15:22)  Просто я здесь не согласен категорически. Это ваше право. Но оно не делает автоматически ваши утверждения как-то весомее или умнее. Я бы не рискнул столь навязчиво советовать какой-то инструмент, не поинтересовавшись задачами проекта. И тем более не стал бы лезть с фанбойскими заскоками в уже готовые проекты, в чьих потребностях авторы ориентируются намного лучше вас  . Ваш способ ведения дискуссии не является конструктивным. Возможно, у вас переизбыток времени, и вам нравится его тратить на подобные развлечения. Но пожалейте хотя бы мое время, пока у меня есть настроение чем-то делиться. ============================================== Кто знает про майндмапы и активно использует - можно смело пропускать. Кто не уверен - можно глянуть примеры и прикинуть насколько это имеет смысл лично для вас. <tl;dr> Касательно майндмапов. Бывает так, что непонятно с какой стороны подступиться. То есть, проблема не в том что именно рисовать, а в том что мы не до конца понимаем что вообще хотим от девайса (или программы)  . То есть, перед тем как описывать устройство, надо хоть немного уложить мысли, летающие внутри головы и стукающиеся о стенки черепа. Если требования к девайсу (проекту) четко сформулированы - это прекрасно. Но наверняка многие сталкивались с обратным, и тогда рисовать графики несколько преждевременно (можно, но менее эффективно чем майндмапы). Далее пара примеров. - WiFi-конфигурилка (конкретно мне - для приводов), когда не хочется возиться с менюшками в прошивке и т.п. Результат, если кому надо проследить к чему это привело.
- GUI на Rust для эмбедов. Пока просто пытаемся договориться, что делать и как попилить работу.
Это конечно только частные примеры. Возможно у вас более простые задачи, которые проще прокрутить в уме и сэкономить время. Но возможно кому-то это поможет понять, пора ли фигачить диаграммы или все-таки сначала лучше разобраться на более высоком уровне. Чем выше уровень проектирования, на котором произошла ошибка, тем дороже обходится исправление по прошествии времени. Поэтому перескакивать не желательно. Насчет конкретных рисовалок - смотрите в чем удобнее. Если разработка идет в одно рыло, то вообще наплевать на многие вещи. Другой крайний случай, когда разработка это вероятностный процесс. То есть состав разработчиков может меняться, причем внезапно. Тогда крайне важно донести информацию до незнакомых людей с минимальными усилиями. То есть, если вы начинаете рассказывать "надо поставить программу" - это сразу фейл (по моим меркам). Поэтому я предпочитаю вебовские решения. Варианты с выкладыванием скриншотов (и постоянным обновлением после изменений) мне показались недостаточно удобными. Но это исключительно мое личное мнение, которое касается моих проектов. И конечно же это не "единственно верный путь", наверняка есть и другие, просто я делюсь тем, что лично мне и для моих случаев понравилось больше всего. Если это окажется кому-то полезным - ну и славно. Если кому-то не будет пользы - плакать тоже не стану
Сообщение отредактировал p_v - Jun 18 2018, 13:23
|
|
|
|
Сообщений в этой теме
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   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 p_v Теперь по инструментам. Лично у меня очень экстрем... Jun 18 2018, 18:13 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
|
|
|