|
ДВОЕ ИЗ ЛАРЦА, Квалификация исполнителей. Качественный программный код. |
|
|
|
Jul 1 2016, 06:38
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Добрый день ! Хочется спросить совета у форумчан по одному вопросу, хотя не совсем уверен, что выбранная тема четко соотносится с ним. Я — заказчик. Проект небольшой – ATmega168 + PCF7991, пара реле, пара ключей и десяток входных сигналов (логика). На выходе должен появится работающий образец в предфинальном варианте для запуска в серию + вся исходная информация. Исполнителей двое, электронщик и программист. С каждым из них - своя история взаимодействия. При отправке ПП на изготовление выяснилось, что все проводники на плате были сделаны не трассой а графикой (линии), которые естественно нормальному редактированию не поддавались. При увеличении была заметна небрежность — нахлесты, несведение в точку и т.п. Ну и апофеозом всего — невозможность автоматической проверки корректности дизайна платы в контексте правил разводки (DRC ). На мой вопрос «почему так» было сказано, что Altium в котором он работал с очень ограниченной лицензией и по другому никак ... Потратив несколько часов на обзор и вникание в имеющейся доступный софт, был сделан выбор в пользу DipTrace. Цена вопроса - 10 тыс.р (1000 выводов, 4 слоя). Плата была переделана в приемлемый срок и с надлежащим качеством. Пре передаче в Резонит выяснилось, что теперь формат DipTrace в качестве входного не принимается. На мое указание транслировать проект в гербер и сверловку, электронщик заявляет, что это работа технолога и ничего в этом случае гарантировать не может. Пришлось делать самому, заняло примерно пять минут с проверкой полученных герберов сторонним вьювером. Из Резонита все пришло как задумывалось и без вопросов. Программист ... Тут сложнее — ломаный IAR. Попытка разговора в стиле «ай-яй-яй, а давай делать в Atmel Studio» (4.18 например) не привела ни к чему. Хотя изначально было сказано, что проект будет развиваться и необходим грамотный и качественный подход к проектированию и железа и софта. Ну Си он и в Африке Си, махнул на это рукой, запланировав по окончанию этой фазы переехать в студию за короткое время. Наконец пришло время тестирования полученного образца. Детали описывать не стану. Выяснилось, что устройство при провалах питания ведет себя непредсказуемо, но чаще всего намертво «зависает». Посовещавшись пару дней и проводя какие-то эксперименты ими было заявлено, что это «плохие» микроконтроллеры ... - Не вопрос, - сказал я и приобрел с десяток ATmega168 из разных мест и партий. Снова испытания и проверки, но — безуспешно. На мой вопрос «а включен ли внутренный BOD?» было бодро ответили - «пробовали по всякому, ничего не помогает» и предложили - «а давайте на вход по питания поставим отсечку», чтобы ниже 8 вольт устройство просто отключалось. Время поджимало — снова махнул рукой (зря) ... Прошло несколько дней на протяжении который электронщик как в старые добрые времена СЮТов взяв в руки паяльник плодил вариант за вариантом схему, приговаривая «вот уже почти ...» Делать мне было нечего и я взялся чтение классики и истоков. Изучив варианты построения схемотехники UVLO (under voltage lock out) и внимательно почитав datasheet на микроконтроллер решил взять инициативу в свои руки ... На моем рабочем столе помимо компьютера разместились : опытный образец, программатор, паяльная станция и лабораторный источник питания. Получив по запросу от программиста исходный код и прошивку (IAR я не устанавливал) взялся за тщательную проверку всего и вся. Собственно все заняло минут десять. За это время я убедился, что fuse bits прошиты мягко говоря странным образом. На вопрос «Это правильно?» был четкий ответ - «Да ! У нас так все устройства работают». Пришлось распечатать нужные страницы даташита и попросить пояснить наглядно. Случился таймаут по окончании которого мне было выдано две разные версии с новыми комбинациями и «пояснениями» в стиле «а можно и вот так» ... Я пригласил грамотного специалиста который мне шепотом сообщил, что ошибка на самом деле на генетическом уровне. Им же аргументировано объяснил, что все не так, как они себе представляли и нужно просто вдумчиво читать документацию, т.к. там все-все написано. Закончив объяснения он запрограммировал fuse bits как нужно. Устройство перестало себя вести неадекватно на что программист заявил, что он — программист а не железячник и эти конфигурационные биты не его проблемы. Электронщик в ответ показал пальцем на программиста ... Еще не занавес. Напоследок я потратил пару часов на анализ исходного кода (лучше бы я это не делал). Вновь не стану описывать увиденное. Сообщу только одну деталь (программная реализация SPI – это мелочи) — сбросов watchdog-а я насчитал целых 70 ! ... На высказанное мое недоумение был ответ «Ну работает же!» © Занавес ... А теперь собственно суть вопроса. Как при наличии двух исполнителей найти ответственного за косяк и доказать, что это именно он а не другой ? Каким образом добиться от программиста качественного программного кода ? P.S. Спасибо за терпение, проявленное при прочтении текста выше
|
|
|
|
|
 |
Ответов
(45 - 59)
|
Jul 1 2016, 20:22
|

неотягощённый злом
     
Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643

|
Цитата(AlexandrY @ Jul 1 2016, 15:57)  Да но это не ответ на вопрос "а почему в верхней области полигон не замкнут?" Очень часто замыкать и не надо, т.к. получится контур - отличный приёмник помех. На заре своей профессиональной деятельности разрабатывали с коллегой приборчик на at90S2333. Я писал софт на асме, а он в пикаде платку рисовал в двух слоях. Нарисовал красиво - контур земли вокруг платы с лучами-отростками, направленными к центру, без сплошной заливки. Ой долго мы прыгали с этой разработкой... Потом почитали на Сахаре чёрной магии, ну и всего прочего, переделали ещё несколько раз - заработало стабильно. Потом я эту прогу на Си переписал заново, потом ещё раз с новым осознанием... Потратили мы года полтора на самообразование за счёт заказчика. За что ему и спасибо! Правда много денег заказчик и не платил, т.к. студентам не принято. А суть моего пятничного излияния заключается в следующем: если ты молодой специалист, ищи работу где есть возможность обучаться у старших и _действительно_ опытных коллег, а не считай, что ты сам с усам.
--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
|
|
|
|
|
Jul 6 2016, 18:16
|

Профессионал
    
Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581

|
Цитата(MiklPolikov @ Jul 3 2016, 09:01)  Т.к. если самую дешёвую колбасу невозможно есть - то это нормально, жаловаться нечего. А если дорогую есть невозможно - то продавец явный жулик. Если дорогую колбасу есть невозможно, это скорее всего говорит о том, что ваш работодатель жулик и платит вам слишком мало  )) Я прочитал всю тему и... и решил высказаться, хотя не считаю себя крутым профессионалом в разработке электроники и программ. 1. Если проект был настолько прост, насколько это видно из здешнего описания, зачем искали аж двух "спецов"? Как правило, для поделок такой сложности всегда можно найти специалиста "два в одном", который и нарисует плату, и прошивку разработает. И на выхлопе будет лучший результат, и кивать не на кого за проблемы будет... 2. Читал про звериный оскал ISO9001 и чуть не плакал... Вт уж где он скалится, так это в моей организации... Как-то забывается, что планирование и отчетность работают и помогают только там, где план является обязательным, а отчетность как-то используется для корректировки... У нас же 100% проектов (увы, электроника с программированием в наших проектах едва ли до 20% дотягивает, но суть-то не меняется) "планируется" в стиле "закончить надо будет вчера, при этом стоить это должно десять рублей в оптовых партиях", а отчеты пишутся только так, чтобы понравились вышестоящему руководству... Вот вам и ISO...
--------------------
Я бы взял частями... но мне надо сразу.
|
|
|
|
|
Jul 12 2016, 07:02
|
Местный
  
Группа: Участник
Сообщений: 256
Регистрация: 15-04-13
Из: Казахстан, г. Алматы
Пользователь №: 76 504

|
Цитата(www... @ Jul 1 2016, 22:00)  ...Нормальный спец кстати и тз сам напишет с ваших слов и с вами согласует. Сдается мне это тот случай когда можно сказать скупой платит дважды Разработка ТЗ должна оплачиваться отдельно и иметь в своём составе ВСЮ информацию по предстоящей работе, исполнителях, видах и методике испытаний конечного продукта, выводы о целесообразности или нецелесообразности предстоящей работы... Названный перечень может быть расширен до нужного объёма в интересах заказчика, в первую очередь. Если заказчик некомпетентен, то должен быть приглашён эксперт или аналитик со стороны, иначе будет проделана работа, которая всего лишь будет соответствовать уровню некомпетентности заказчика, что и происходит в 99 из 100 проделанных работ.
Сообщение отредактировал VNS - Jul 12 2016, 07:05
|
|
|
|
|
Jul 12 2016, 07:42
|
Знающий
   
Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379

|
Цитата(VNS @ Jul 12 2016, 10:02)  Разработка ТЗ должна оплачиваться отдельно и иметь в своём составе ВСЮ информацию по предстоящей работе... Короче был случай, "Карши Нефть" это Узбекистан под Бухарой. Вода два раза в день по 15 минут. Работают они там на старом оборудовании как негры, но нефть есть и ее много. Руководство решило навести порядок в деле учета нефти. Прислали нас, это начало 90х, сделать им базу данных учета добытой нефти. Как положено начали со сбора первичной информации. Главный инженер, суровый узбек, по сути местный хозяин тайги, посмотрел на меня зеленого тогда, невзлюбил и пренебрежительно отнесся к делу выдачи информации. Хорошо хоть не закопали меня тогда, а могли без вариантов. И никто искать бы не стал  Дал мне абы кого из местных в помощь, а те в соответствии с указаниями давали информацию абы какую. Через две недели я понял что учета нефти там никакого. То есть погрешность ошибки (!) двенадцать тонн нефти в день!!! Короче, забахал я ему базу данных в соответствии с полученными данными и рассчитал ему расход, приход и прочие дела. Главный инженер посмотрел на результаты и говорит "фигня твоя программа, я знаю реальные цифры они вообще ничего общего не имеют с твоими результатами". Я ему в ответ "исходные кто давал? Компьютер не волшебная машина, он точно посчитает но только то что ему дали, и если результат неверный, значит все исходные брехня". Ну и рожа у него была. Но одно он понял, компьютер не волшебная машина. Видимо до того момента он думал по другому
|
|
|
|
|
Jul 14 2016, 12:41
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Добрый день ! Тут нарисовалось небольшое продолжение истории. Пришли новые печатные платы. Они производят монтаж. И присылают по почте фотографии с претензией - "платы некачественно сделаны", "непромыв и непротрав" © Мне просто любопытно - я один все это не вижу ?     Я так понимаю, лучше перед передачей ПП - все их обозначить и "поименно" сфотографировать ? После пайки сложно что-то доказывать. Попутно возник еще один вопрос - переходные отверстия закрывать маской или нет ? Они утверждают, что плата с закрытыми паяльной маской переходными отверстиями больше года не живет и они снова ничего не гарантируют. Как бороться с такими утверждениями ? 100 штук плат перезаказать - не вопрос. Вопрос - так ли это на самом деле ? Перелистав кучу форумов, лишний раз убедился - сколько людей, столько и мнений.
Сообщение отредактировал Hirer - Jul 14 2016, 12:44
|
|
|
|
|
Jul 14 2016, 13:17
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Цитата(MiklPolikov @ Jul 14 2016, 13:58)  Давайте формулировать мысли по-русски, так что бы все их понимали ... Согласен !  У вас получилось лаконично. У меня эмоции вмешались - "доколе ..." Только я понял, что это фотографии после нанесения паяльной пасты до пайки ( и не смещение, а криво приложенный трафарет ) И мне было совершенно неясно где именно непротрав с непромывом ... Вот фрагмент одной платы из партии ...
Сообщение отредактировал Hirer - Jul 14 2016, 13:18
|
|
|
|
|
Jul 14 2016, 13:34
|

Гуру
     
Группа: Свой
Сообщений: 2 015
Регистрация: 23-01-07
Из: Москва
Пользователь №: 24 702

|
Цитата(Hirer @ Jul 14 2016, 16:17)  Согласен !  У вас получилось лаконично. У меня эмоции вмешались - "доколе ..." Так я правильно угадал последовательность событий ? Ещё бы было здорово, если бы в предыдущем сообщении, при клике на картинки, открывались эти же картинки в большем разрешении, а не какой-то непонятный сайт. Есть закон: "Любая задача выполняется на столько же хорошо, на сколько чётко она формулируется" Я-то сам свои мысли научился излагать понятно для окружающих не для того что бы общаться на форуме, а для того что бы грамотно писать ТЗ и договора .
--------------------
Если у Вас нет практического опыта в данной теме- не вступайте в дискуссию и не пишите никаких теоретических рассуждений! Заранее спасибо !
|
|
|
|
|
Jul 14 2016, 13:58
|
Знающий
   
Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379

|
Цитата(Hirer @ Jul 14 2016, 16:17)  Вот фрагмент одной платы из партии ... На фото нормальная плата недорогого исполнения. Не золочение конечно, и не там супер маска, но вполне себе нормальная плата. Никакого криминала не видать.
|
|
|
|
|
Jul 14 2016, 17:19
|
Знающий
   
Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595

|
Цитата(Hirer @ Jul 14 2016, 15:41)  Добрый день !
Тут нарисовалось небольшое продолжение истории. Пришли новые печатные платы. Они производят монтаж. И присылают по почте фотографии с претензией - "платы некачественно сделаны", "непромыв и непротрав" © Мне просто любопытно - я один все это не вижу ? ... Проблема в том, что Вы пока не видите своих ошибок, и у Вас слишком мало опыта в том деле, за которое взялись. Но это дело наживное. Ещё 5 тыс вёдер с десяток проектных циклов, и золотой ключик... вопросы почти исчезнут. Другой вопрос, что все вопросы не исчезнут никогда, но Вы научитесь искать на них ответы. Или не научитесь, и тогда лучше заняться чем-нибудь другим. Короче, Вам просто следует подумать, как выстроить технологическую цепочку, а потом попытаться её реализовать. И не заморачивайтесь пока на тему SVN, ISO-9000 и т.д. Это просто инструмент, который может быть полезен, а может и мешать. Вашу голову он не заменит. Именно ваша голова должна уметь формулировать задачи, определять/находить подходящих специалистов, изготовителей ПП, монтажников и т.д. П.С. На фото ничего криминального не видно, но это ещё не означает, что с платами всё ОК. С платами надо было разбираться ещё до отправки на сборку. На дешёвых платах всякое попадается, а ваши - явно не из дорогих. Да и монтажники тоже. Короче, надо спокойно и конкретно разбираться. Т.е., начать занудную переписку. Нормальный процесс в таких делах. Цитата(AlexandrY @ Jul 1 2016, 11:58)  Конденсаторы на кварц не есть необходимость. Здесь опыт нужен. Если говорят что работает, то надо искать доказательств, что действительно работает, а не требовать кварц. Если не ставить что ни попади, достаточно выполнять требования тех. документации. Если нет вменяемой документации, отправлять лесом и не маяться ерундой. Вот и весь потребный для этого вопроса опыт. Ни разу не подводил.
|
|
|
|
|
Jul 15 2016, 05:07
|
Участник

Группа: Участник
Сообщений: 33
Регистрация: 20-02-16
Пользователь №: 90 531

|
Цитата(MiklPolikov @ Jul 14 2016, 22:33)  Жаль, что Hirer так и не раскрыл коммерческую тайну- цену разработки ... Доброе утро ! Страна у нас большая разброс в уровнях трат-зарплат еще больше. Есть и официальная точка зрения Зарплаты 2016Цена разработки - есть компромиссное решение обоих сторон. Это - главное. Договорились - пожали руки. Заложили даже 15% аварийный запас сверху. С моей стороны все было выполнено. Сейчас работаю над детальным ТЗ на новый проект. Скелет примерно такой : 1 Общие сведения. Плановые сроки начала и окончания работ. 2 Назначение и цели проектирования "___" 3 Состав "___" 4 Требования функциональные и специальные (в т.ч. - инф. безопасность) 5 Технические характеристики. 6 Состав и содержание работ по проектированию "___". 7 Состав и содержание работ по реализации и вводу "___" в действие. 8 Требования к документированию. Состав разрабатываемых документов. 9 Порядок контроля и приемки. 10 Нормальные условия эксплуатации. Требования к квалификации персонала. 11 Календарный план. 12 Допущения и ограничения 13 Риски 14 Глоссарий (словарь терминов и определений)
Сообщение отредактировал Hirer - Jul 15 2016, 05:14
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|