Цитата:
Сообщение от Garikk
А есть ещё специальные люди которые ищут ошибки в программах написанных программистами... бетатестеры, или QA если по правильному
|
Они выявляют соответствие/несоответствие результата техзаданию. Но ошибки в самой постановке задачи (если они есть) выявятся только при тестировании на натуре, т.е. на электровозе, едущем с грузом, с определёнными условиями. И то, возможно, не сразу.
Цитата:
Конечно, но их будет всёравно меньше, вы часто слышали об упавших самолётах из-за сбоя в ПО? А сейчас самолёты чутьли не самое высокотехнологичное устройство в мире с высочайшем уровнем ответственности (что выливается в выражение "самый безопасный вид транспорта относительно пассажирокилометров") которое большую часть времени работает в полностью автоматическом режтме
|
В самолёте есть пилоты, и на стадиях взлёта и посадки они работают довольно напряжённо. В том числе, контролируют действия автоматики.
Были ли аварии, произошедшие в чистом виде из-за автоматики, не знаю, а вот аварии, в которых действия автоматики являлись одним из факторов, приведших к катастрофе, точно были.
Денис Окань говорит, что серьёзные авиапроизводители (тот же Боинг) и серьёзные авиакомпании (он имеет ввиду американские) берут за ориентир сбалансированное сочетание автоматизации и ручного контроля/пилотирования. По идее, человек и техника должны взаимно контролировать друг друга. Введение полной автоматизации там благом не видят.
В авиации существует серьёзная система обратной связи от конкретного борта, где был зафиксирован какой либо сбой, к производителю самолётов. И производители самолётов, анализируя инцидент, пишут потом в авиакомпании рекомендации по обслуживанию конкретных систем, а также по работе с ними во время полёта. И если нужно - приедут специалисты от производителя и проведут какие-то работы (включая, я думаю, перепрошивку микроконтроллеров, если проблема была в программе).
А вот в РЖД подобное есть? Да, я в курсе, что специалисты из НЭВЗа колдуют над ЭП20, когда у них происходят сбои компьютера. Но во всех ли случаях, по всем ли неисправностям такая обратная связь есть? Все ли замечания машинистов о машинах дошли до производителей?
Так же не всегда благо предпочтение электронной коммутации механической. Тут можно вспомнить пример из темы про лифты. Где китайские цифровые изделия "взбешивались" и начинали ездить с открытыми дверями, с неконтролируемой скоростью, рискуя убить или убивая людей. А ведь куда безопаснее было бы оставить традиционную механическую схему с реле и контактами безопасности (ведь сегодня можно их сделать долговечными) с электронной системой контроля и диагностики. Цифровые мозги зафиксировали, что цепь контроля дверей разомкнута более, чем на одном этаже? Это ошибка! Посылается сигнал механику, а лифт высаживает пассажиров и никуда не едет.
Цитата:
Отрицать это всёравно что доказывать что стрелочник вручную переводящий стрелку в сто раз надёжнее чем СЦБ, которую тоже программировали и разрабатывали куча людей
|
И тем не менее, СЦБ тоже ошибается. Не будь она контролируема человеком - кто бы приказы писал?
Добавлено через 35 минут
Цитата:
Сообщение от Иван Андреев
То что, вы описали не есть программист, вы описали кодера.
...
А вот за последние лет 30-35 мне ни разу не приносили готового ТЗ, а в случаях, когда оно было необходимо, то приходилось самому мучительно выжимать из заказчика, чего же ему нужно на самом деле, а не то он себе воображает.
|
Да, кодер. Он нижнее звено цепочки. Его ошибку, как заметили выше, могут найти тестеры.
Но вот чтобы понимать, и тем более, разрабатывать ТЗ на какой-то блок управления или диагностики в локомотиве - мало быть отличным программистом. Получается, надо быть ещё специалистом в той сфере, для которой пишется программа. И быть в этом умнее заказчика.
Например, заказчик даст официальные нормы параметров (напряжения, токи, уровни электромагнитного излучения, вибрации и т.д.), и ответственный программист (раз уж мы говорим про ответственного и умного, который умнее заказчика) должен знать, каковы отклонения этих параметров не по документам, а в реальной жизни, в реальных условиях эксплуатации. Всегда есть что-то ненормативное.
Разве не так?
Цитата:
И это... Давно ли Вы профессионально программированием занимаетесь?
|
Нет, только на любительском уровне. Но я же и не предъявляю претензий к программистам и не критикую их. На мой взгляд, тут решающим может являться наличие/отсутствие обратной связи от эксплуатанта к разработчику. Причём, от эксплуатанта низкого уровня (машиниста) до разработчика низкого уровня (программиста). Если этой связи нет, то и самый идеальный и гениальный программист вряд ли сможет точно подгадать продукт под потребности.
Но всё равно - человеческий фактор есть всегда. В любой автоматике. Автоматика умеет только то, чему её научили.