Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
RSS
Сообщения с 1 по 25 из 41
#1 10 февраля 2005г. 13:48:13
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Тема: Ошибка в чертежах. За что наказывать конструктора ?
Кто имеет опыт (случай) или мнение.
—
Что является конструкторской ошибкой, за которую можно наказать: взысканием, финансово, уволнением и т.д.
Не берем случаи — пьяный конструктор, прогулы без уваж. причины, драку на рабочем месте и аналогичные.
—
Более конкретно.
Случай 1. При составлении ведомости на материалы в Exсel конструктор конечный материал умножил на коэф. 4х. Ошибся, нечаянно. Лишний материал вернули поставщику.
Этот случай наказуем или нет?
—
Случай 2. При заполнении конструкторской спецификации для сборочного чертежа, конструктор две позиции, в графе «Кол.» ошибся. Вообще-то, ради справедливости, сборочных единиц более 100. Вес конструкции 30 000 кг, вес недостающих узлов 170 кг. Когда обнаружилось, изготовили, привезли на монтаж. Заказчику сдали вовремя.
Этот случай наказуем или нет?
—
Добавлю. В последнем случае работадатель наказал конструктора, конструктор обратился в суд (трудовую комиссию) и выиграл дело. Но суд, конечно, всех проблем конструктора не понял (работал по вечерам и ночам, нереальные сроки, ответственный проект …), а прокатил работадателя чисто на юридических началах.
—
ВООБЩЕМ. Что такое ошибка в чертеже?
#2 Ответ от duckson 11 февраля 2005г. 12:05:17
- duckson
- Восстановленный участник
- На форуме с 13 ноября 2003г.
- Сообщений: 102
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Мое мнение такое:
Конструктор — конечное звено цепи, над ним есть начальники, ГИПы, в общем, довольно много ответственных лиц, которые ставят подписи на выпускаемой документации. И все они ДЕЛЯТ ОТВЕТСТВЕННОСТЬ.
В общем, как я говорил моему начальнику в спорных вопросах «Обои полетим».
Excell — штука автоматическая, САПеР должен ее настроить, так что, и САПеРу можно влепить.
ИТОГ: либо взыскание накладывается на все звенья цепи, либо в результате ошибки никто не пострадает.
В принципе, работодатель может наказать за любую ошибку, поскольку в любой должностной инструкции написано: точно и в срок выполнять работу, а в трудовом договоре есть фраза: следовать должностной инструкции.
#3 Ответ от ET 16 февраля 2005г. 16:29:23
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Насчет договора и должностной инструкции — согласен. Согласен, что работодатель может наказать за любую ошибку.
Но вот, что является конструкторской ошибкой?
Опечатка, описка, наверное, не является ошибкой.
Совокупность ошибок приводящих к полной нерентабельности или невыполнимости проекта — вот что должно быть наказуемым (имхо), да и то частично.
Хотя как учесть «человеческий» фактор — вчера оригинальные конструкторские решения, а сегодня полный сбой.
#4 Ответ от kpblc 16 февраля 2005г. 17:02:46
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,347
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
Грустно, но:
1. Хозяин (клиент, начальник — нужное подставить) всегда прав.
2. Если он не прав, см.п.1
Было дело, меня вообще наказали за то, что «не увидел ошибку начальника» — дверь входную в магазин запроектировали шириной 1500 мм с шириной створки 700. Пожарники, СЭС и клиент взвились как… Ну, не важно. Важно, что деньги сняли со всех.
#5 Ответ от ET 18 февраля 2005г. 13:57:15
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Клиент (начальник …) всегда прав, но до определенного предела.
Например, купив пакет кефира мы не разносим же магазин на куски с криком «Клиент всегда прав!».
—
Возвращаясь к теме.
Скажем — ошибка в проекте. Если это происходит между фирмами (заказчик — исполнитель), то все ясно как бы. Исполнитель исправит собственные недоработки за свой счет. Главное, чтобы расходы по проекту были бы меньше доходов.
Теперь посмотрим на конструктора от кого растут ноги ошибок. Если ошибка связана с низкой квалификацией конструктора в данной области, то в чем его вина, если его назначили? Если ошибка в деталировке (длина балки и т.д.), а сам проект выполнен на хорошем уровне, то это просто «ляп». От этого никто незастрахован.
—
Наш завод получил заказ, но СРОКИ!
Прикинули, что оформленный проект займет 80% всего времени. Производство же успеет, если КД в течении первой недели.
Приняли «полит.» решение — выдаем упрощенную документацию — все изделие на одном листе + программы для резки. Если этот чертеж вывести на А0, то практически все залилось черным. По мере изготовления изделия выводили чертеж кусками — просто нужное место. Круглосуточно конструктор находился на заводе.
За заказ получили 1.2 уе, себестоимость — 0.7 уе ! Уже премии дома расписывали.
Но пришла рекламация на 0.1 уе, оплатили.
После разбора полетов «виноваты» конструкторы и нас конкретно прокатили по деньгам.
—
После этого мы стали наказания через суд снимать.
См. пример выше. Но вот беда, все в трудовой комиссии юристы и не понимают ни чертежей, ни «кухни» проектирования. Они знают только законы. Но нет закона об ошибках. Приходится лопатить всякие законы и приплетать их к делу по случаю и без оного.
—
Может кто подскажет какой-либо закон (любой страны) для нашего примера?
#6 Ответ от kpblc 18 февраля 2005г. 14:11:08
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,347
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
Насколько мне помнится, был в свое время разработан документ нечто вида «сроки проектирования». Если его нет, то его надо разрабатывать для данного предприятия и на его основе (а не на основе желания левой пятки второго начальника слева) обосновывать сроки проектирования и изготовления конструкций.
#7 Ответ от ET 5 марта 2005г. 10:00:41
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Нашли кое-что. В нашей маленькой стране есть закон, а там такая статья:
Работодатель обязан:
…
…
6) установить порядок приемки и браковки выполненной работы;
…
.
Отсюда цепочка: чертеж — цикл (приемка <-> доработка) — в производство.
Юристам понятно (закон). В итоге констр. ошибки по определению не существует!
Во как!
#8 Ответ от brigval 6 марта 2005г. 20:05:51
- brigval
- Активный участник
- Откуда: Подмосковье
- На форуме с 11 декабря 2001г.
- Сообщений: 2,314
- Спасибо: 1
Re: Ошибка в чертежах. За что наказывать конструктора ?
Виноват только руководитель, который поручает разработчику, хотя бы и очень хорошему человеку, работу не соответствующую его уровню квалификации! Встречается сплошь и рядом.
#9 Ответ от diz 22 июня 2006г. 16:19:28
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
В штампе чертежа мы проставляем подписи:
1 Разработал_____
2 Проверил_______
3 ГИП____________
4 Утвердил_______
Хотелось бы узнать степень ответственности людей ставящих свои росписи.
Я делаю чертежи на стадии КМ, КМД и соответственно подписываюсь напротив «разработал». Но случается что по некоторым узлам или принятым профилям у меня возникают разногласия с ГИПом. Причём в споре я ссылаюсь на СНиП, а ГИП на свой опыт. В итоге волевым решением сверху в узлах происходят изменения с которыми я не согласен, но подпись свою ставить приходится. Отсюда и вопрос поставленный в начале.
#10 Ответ от LeonidSN 22 июня 2006г. 22:15:43
- LeonidSN
- Активный участник
- На форуме с 30 мая 2005г.
- Сообщений: 1,480
- Спасибо: 5
Re: Ошибка в чертежах. За что наказывать конструктора ?
Вопрос где-то философский, хотя и злободневный, поэтому позволю себе выступить немного отвлеченно.
Понятно, что существует межличностный аспект, то есть оформленные или неформальные отношения и попытки выявить виноватого или свалить вину. См. например дело Нодара Канчели.
Но я о другом. Есть твоя конструкторская совесть, которая тебе ясно укажет: Ты виноват!
Или — Ты не виноват. И что бы ни говорили и не предпринимали другие, даже если они сильнее тебя, держись. Верь своему внутреннему голосу.
Иначе потеряешь уверенность и вылетишь из профессии. И это еще не самое страшное, я знаю случаи и с летальным исходом.
Итак, что считать конструкторской ошибкой? Ошибку в проекте допущенную вследствие недостаточной квалификации или случайно(ляп, описка, просмотр).
Это ошибки по собственной вине.
Может быть вынужденная ошибка — форсирование работ под нереальные сроки, работа с некачесвенными исходными данными, ну и т.д.
Это ошибка не по твоей вине, а значит, не твоя ошибка.
Ссылаться на вереницу подписей не следует.
Ты сам себе судья, сам защитник и сам палач.
#11 Ответ от ZZZ 23 июня 2006г. 02:13:50
- ZZZ
- Активный участник
- На форуме с 20 декабря 2004г.
- Сообщений: 449
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Когда разработчик оформляет свои чертежи то одновременно и проверяет и исправляет за собой свои ошибки(ляпы), а выдача неоформленных чертежей впопыхах это и есть большая ошибка начальства (сроки ли видите у них горят).
> diz
Как у тебя записано, в такой и последовательности по возростанию и есть ответственность. И вообще рыба гниёт с головы.
#12 Ответ от FreeCAD 23 июня 2006г. 06:53:56
- FreeCAD
- Восстановленный участник
- На форуме с 11 октября 2005г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> ET
А как насчёт прокатить такого руководителя. Т.е. в следующим проекте просто отказаться работать с такими сроками. Т.к. конструктор несёт ответственность, то он и может давить на то, что в такие сроки он не готов выпустить документацию…
А потом есть понятие, как опытная продукция, при которой снимаются определённые ответственности. Выпускайте документацию с литерой «О», к такой и привязаться невозможно будет.
#13 Ответ от diz 23 июня 2006г. 12:02:23
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Понимаете у меня двоякая ситуация. С одной стороны ГИП который старше по должности и соответственно в случае чего несёт большую ответственнось с другой СНиПы о которых он не хочет слышать. Если я не исправлю то что считаю правельным и могу это даказать ссылаясь на СНиП, на то что говорит ГИП ссылаясь на опыт, не будет его подписи и проект я не сдам. Приходится идти на сделку с совестью и думать о последствиях.
#14 Ответ от Filings 23 июня 2006г. 12:11:04
- Filings
- Восстановленный участник
- На форуме с 16 июня 2006г.
- Сообщений: 221
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
diz пишет:
Приходится идти на сделку с совестью
О какой совести речь идет? В том смысле, что ГИП- аморальный тип, а СНиП- это моральный кодекс проектировщика? Или все таки речь идет о зарплате? Т.е. и зарплату получить и в белом костюме остаться?
#15 Ответ от diz 26 июня 2006г. 13:30:50
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Неужели работать по СНиП и получать зарплату это взаимоисключаемые вещи?
#16 Ответ от kpblc 26 июня 2006г. 13:41:07
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,347
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
> diz
Весь проект под собственную подпись, для критичных решений — взять номер документа для внутреннего документооборота, несколько копий, одну — секретарю, одну — ГИПу. Одну — себе. Если рухнет, отвечаешь не ты
Сам так в свое время делал:)
—
Добавлено: именно потому, что ГИП старше по должности и опытнее, он в случае чего отмазаться сможет. Чем больше бумаги, тем чище пятая точка
#17 Ответ от приборист 14 июля 2006г. 01:17:00
- приборист
- Активный участник
- Откуда: Молдова
- На форуме с 24 июля 2005г.
- Сообщений: 262
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> diz
Отвечает «разработал», но в штампе основной надписи после ее модернизации исчезла запись «чертил» и получилось, что твой техник, который за тобой дочерчивает, деталирует (в общем выполняет чисто техническую и оформительскую работу) становится чуть ли не соавтором разработки со всеми вытекающими из этого факта последствиями. Короче, если раньше «разаботал» означало «автор разработки»,а «чертил»- это чертил , то потом пошел бардак и круговая порука типа ГИПы и т.д. Это исчезло в году 65-68. И привело к многочисленным спорам о соавторстве.
#18 Ответ от Beer 30 июля 2006г. 20:37:04
- Beer
- Восстановленный участник
- На форуме с 9 декабря 2003г.
- Сообщений: 123
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Ой господа «лирики-физики», с вашими СНиПами и совестью, да в экспертизу! Вот уж сказка была бы для проектировщиков! А то сидят там….
#19 Ответ от LeonidSN 31 июля 2006г. 20:22:58
- LeonidSN
- Активный участник
- На форуме с 30 мая 2005г.
- Сообщений: 1,480
- Спасибо: 5
Re: Ошибка в чертежах. За что наказывать конструктора ?
> ET
За что наказывать конструктора ?
Но это же очевидно, Ватсон!
Конструктора надо наказывать за выбор профессии.
А точнее, за неумение открутиться: «Назвался груздем — полезай в кузов!»
#20 Ответ от Михаил74 31 июля 2006г. 21:27:00
- Михаил74
- Восстановленный участник
- На форуме с 6 июня 2006г.
- Сообщений: 194
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
FreeCAD пишет:
А как насчёт прокатить такого руководителя. Т.е. в следующим проекте просто отказаться работать с такими сроками. …
Мораль проста: Сначало ищешь справедливость, а потом ищешь … работу :(. Такова она, не виртуальная реальность.
#21 Ответ от приборист 1 августа 2006г. 01:37:08
- приборист
- Активный участник
- Откуда: Молдова
- На форуме с 24 июля 2005г.
- Сообщений: 262
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> LeonidSN
Не ходите дети в лес, не становитесь конструкторами. Близкое по смыслу «конструктор-это такой столб, о который чухается любая свинья». Так что правда «Назвался груздем — полезай в кузов!»
#22 Ответ от ET 7 ноября 2008г. 13:27:13
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
О!
Какая старая тема!
Теперь уж сам начальник
А с ошибками — воз и поныне там.
Теперь проблема с заказчиком: наша ошибка
или их неправильное техзадание?
Или тему в юмор перенести?
#23 Ответ от brigval 7 ноября 2008г. 18:49:14
- brigval
- Активный участник
- Откуда: Подмосковье
- На форуме с 11 декабря 2001г.
- Сообщений: 2,314
- Спасибо: 1
Re: Ошибка в чертежах. За что наказывать конструктора ?
ET пишет:
Теперь уж сам начальник
А за что надо наказывать начальника?
#24 Ответ от ET 14 ноября 2008г. 19:22:23
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Да за всё.
Работа в группе (КБ и т.п.)
основана на фундаментальных принципах (2005-02-16 17:02:46) kpblc (с) :
1. Группа всегда права.
2. В ином случае — см. п.1.
Поэтому сижу — не жужжу.
#25 Ответ от Сергей 25 ноября 2008г. 17:55:25
- Сергей
- Восстановленный участник
- На форуме с 25 января 2002г.
- Сообщений: 358
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Опечатка безусловно является ошибкой.
Вообще, имхо, что такое ошибка хорошо понятно.
Другой вопрос — степень наказания и надо ли наказывать вообще. А это зависит от:
1. Конкретной ситуации(насколько сложно эту ошибку устранить).
2. Корпоративных правил и интрокорпоративной политической ситуации.
3. И, как следствие, количества ответственных лиц и их степени ответственности в соответствии с локальными нормативными актами и устными правилами.
Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Просматривая сабреддит С++, я встретил следующий комментарий:
Преимущества использования исключений сомнительны, но мои претензии к ним не в этом. Исключения — экстраординарный инструмент, которые делает код более непонятным и запутанным. А прямую локальную обработку — слишком пространной. Исключения стали для меня худшим средством обработки ошибок. Печально, что создание объектов в С++ основано на их применении (позднее этот пост был отредактирован — прим.пер.).
Я не стану встревать с критикой в дискуссию об исключениях, развернувшуюся сейчас в обсуждении к приведённому выше комментарию. Я собираюсь сконцентрироваться на той части, где автор сетует на то, что конструкторы С++ требуют применения исключений для обработки ошибок. Итак, давайте представим, что у вас в приложении нет поддержки исключений и есть конструктор, который должен сообщить об ошибке. Как вы поступите?
Предупреждение. Если вы являетесь страстным поклонником исключений: я не выступаю против их использования.
Предупреждение. Если вы являетесь ярым приверженцем политики отказа от применения исключений: я не призываю к их использованию.
Проблема
Самый очевидный способ обработки ошибок — это возврат значений. Но конструкторы не возвращают значения, поэтому так поступить нельзя. Это и было одной из причин, по которой исключения появились в С++.
Однако есть несколько способов возврата значения из функции. Например, можно использовать выходные параметры:
foo(arg_t argumwent, std::error_code&ec)
{
if (initialization_failed(argument))
ec = …;
}
Функция принимает дополнительный аргумент — выходной параметр. Когда инициализация не удаётся, вместо генерации исключения мы просто устанавливаем код ошибки. Вызывающая программа затем может сверить код ошибки и обработать её.
Однако у этого метода множество недостатков. Основной в том, что ничто не мешает не проверить код ошибки: забыть сделать это очень легко. Есть ещё один — и его коварство заключается в незаметности: если исключение передано в конструктор, объект не был создан. Это значит, что его деструктор не будет вызван. Более того, получить доступ к объекту в состоянии ошибки невозможно. Исключение немедленно удаляет локальную переменную.
Если возврат вызова конструктора был успешным, то объект считается валидным. Это делает возможной идиому RAII («Получение ресурса есть инициализация» — прим.пер.). Рассмотрим класс, в распоряжении которого есть некий ресурс. Конструктор получает его, а деструктор разрушает. Мы хотим обеспечить выполнение гарантии непустого объекта (never-empty guarantee): каждый объект класса должен иметь ресурс.
Допустим, мы решили проблему семантики переноса. Тогда мы легко можем создать конструктор:
foo(arg_t argument)
: resource(acquire_resource(argument))
{
if (!resource)
throw no_resource();
}
Благодаря гарантии это обеспечивает каждый объект ресурсом. Когда генерируется исключение, объекта не существует.
Всё это недоступно вам, если вы используете выходной параметр, чтобы установить код ошибки. Тогда деструктору приходится иметь дело со всеми возможными состояниями ошибки. А пользователь должен соблюдать осторожность и не использовать объект в состоянии ошибки. Это делает невыполнимой гарантию непустого объекта. Каждый объект имеет по крайней мере два состояния: валидное и невалидное.
Обход проблемы
Исключения и коды ошибки — это исправимые техники обработки ошибок. Они сообщают об ошибке вызывающему коду и позволяют программе продолжить выполнение. Тем не менее, исправимые техники в строгом порядке требуют наличия способа сообщить об ошибке. Если мы не применяем исключения, то тогда это просто невозможно без потери гарантии объекта.
Поэтому самый лёгкий способ обработки ошибок в конструкторе — это просто не пользоваться исправимыми техниками обработки ошибок. Используйте методы, не допускающие продолжения работы программы. Такие как, например, сообщение в stderr
и вызов abort( )
.
Как было изложено в этом посте, метод больше подходит, например, для программистских ошибок. Поэтому вместо генераций исключения invalid_argument
в случае, если int
оказался отрицательным числом, делайте отладку с помощью оператора утверждения. Или выбирайте надлежащий тип, чтобы у ошибки не было шанса возникнуть.
Существуют ошибки, неисправимые по своей природе: такие, например, как нехватка памяти. В этом случае просто вызывайте какую-нибудь управляющую функцию и аварийно завершайте работу программы. Программист может модифицировать то, каким образом сообщение отображается пользователю, но обработать ошибку вряд ли выйдет.
Также можно использовать метод, который я окрестил обработчиком исключений (exception handler). Но его можно применить, только если отключить исключения с помощью оператора if
.
Но, это всё только пути обхода проблемы. Так давайте же решим её.
Решение
Если вы не можете обработать исправимую ошибку в конструкторе без исключений, тогда не используйте конструктор.
Подождите, дайте мне сказать.
Я не предлагаю функцию init( )
или что-то вроде неё. Если вы примените её, то потеряете все гарантии RAII, а также, наверное, вам придётся вызывать функцию destroy( )
, так как для невалидных объектов будет вызван деструктор. И тогда с таким же успехом можно написать API для Си.
RAII нетрудный, делает жизнь намного легче и не имеет недостатков — если не считать ситуацию с исключениями в конструкторе.
Одна из особенностей С++ в том, что все возможности языка могут осуществляться самостоятельно — компилятор соберёт для вас то, что написано. А теперь, давайте взглянем на конструкторы.
По сути, есть два шага. Первый — выделить свободную память для объекта. Второй — вызвать конструктор для создания объекта в этой области памяти. Если на втором шаге выдаётся исключение, вводится раскрутка стека. Или планируется вызов деструктора.
Так же работает подход с применением методов init( )
и destroy( )
: конструктор объекта ничего не делает, поэтому компилятор только выделяет память. И на самом деле init( )
и destroy( )
затем создают объект.
Но мы не хотим создать два состояния отдельно от самого объекта. Каждый созданный объект должен быть валидным. Вся сложность невалидного состояния и проблемы, которые она с собой несёт, должна быть передана куда-нибудь в другое место. Нам нужна оболочка, которая будет представлять нам невалидное состояние, когда объект отсутствует.
Оболочка optional
, например. Вместо конструктора, который мы не поддерживаем — что делает невозможным создание объектов. Единственный способ создать объект — с помощью статической функции, например. Но это регулярная функция, следовательно, мы можем использовать оператор возврата. В частности, она возвращает объект optional
:
optional<foo> make(arg_t argument, std::error_code& ec)
{
auto resource = make_resource(argument);
if (resource)
return foo(resource)
return {};
}
Если всё прошло успешно, мы можем вернуть объект. Но в случае ошибки, возвращать невалидный объект не нужно. Вместо этого мы можем вернуть пустой optional
. API может выглядеть как-нибудь так:
std::error_code ec;
auto result = foo::make(arg, ec);
if (result)
{
// everything alright
…
}
else
handle_error(ec);
Теперь каждый раз, когда мы получаем объект, он гарантированно валидный. Невалидный объект передаётся туда, где его обработка может быть выполнена лучшим образом. Таким образом каждой функции-члену и деструктору нет необходимости иметь дело с невалидным объектом. Так, до тех пор, пока функция make( )
только создаёт объекты, то есть вызывает конструктор, ничего не может пойти не так.
Лучшее представление отчёта об ошибках
Возвращать значение в качестве выходного параметра — это, скажем так, не слишком изящно. И вовсе необязательно из-за проблем с выходными параметрами, которые могут быть решены.
Лучшим решением могла бы стать интеграция c возвращаемым значением. Вместо возвращения optional
, используйте класс «значение или ошибка». Предлагаемый здесь std::expected
делает это и позволяет обрабатывать ошибки более элегантным способом.
А как насчёт конструкторов копирования?
Этот метод хорош в работе с «регулярными» конструкторами, но что насчёт копирования? С выполнением этой операции всё ещё могут быть проблемы.
Есть два решения: не поддерживать операции копирования и только перемещать — что обычно удаётся — или применить тот же метод снова. Предусмотреть статическую копирующую функцию, которая делает то же самое, возвращает optional/expected
, и так далее.
Заключение
Если у вас нет исключений, передача отчёта об ошибках из конструктора невозможна без утраты гарантий. Там, где это возможно, просто используйте альтернативный или неисправимый способ отчётов об ошибках.
Если это неприменимо, используйте статическую функцию как единственный способ создания объекта. Она возвращает напрямую не объект, а тип optional
. Тщательно прорабатывайте реализацию. Так, чтобы вызывался только актуальный приватный конструктор, когда ни одна операция просто не имеет шанса на сбой. Тогда каждый объект будет валидным, как если бы вы использовали исключения.
Рассказывает разработчик библиотек C++ Jonathan Müller (foonathan)
Перевод YuliaJenna (juliajenna)
Конструкторские ошибки
Конструкторская ошибка – это расхождение желаемого (необходимого заказчику) результата конструирования с действительным, то есть воплощенным в документации. Практика показывает, что при разработке новых изделий в большинстве случаев проявляются несовершенства конструкции, так как предварительно учесть все влияющие факторы зачастую невозможно; объект проектирования в этом случае нуждается в «доводке». Однако и при изготовлении документации на уже существующие и выполняющие свою функцию изделия также могут возникать некоторые несоответствия.
Последствия расхождений
Значимые параметры объекта, как правило, подвергаются надлежащему контролю, как на этапе составления документации, так и на стадии производства. Многие детали допускают некоторую вариативность своей конструкции без влияния на их работу. В этом случае разницу между исходным и полученным объектом в параметрах, не являющихся значимыми, нельзя считать ошибкой.
При несоответствии значимых параметров изделие не будет обеспечивать требуемого результата. В случае изготовления детали по образцу она может не вписаться в кинематическую схему механизма или попросту не встать на свое место. При реверсивном инжиниринге узел или агрегат может функционировать не так, как нужно, либо вовсе не функционировать. Также есть вероятность выхода из строя изделия до завершения срока эксплуатации – например, если неверно определена марка стали (деталь разрушилась, пружина потеряла упругость).
Причины ошибок
Даже при наличии у конструктора необходимой квалификации и опыта он не застрахован от ошибок, в том числе не по своей вине, при разработке документации на готовые изделия. Существуют следующие основные причины несоответствия документации исходному образцу.
Исходные данные предоставлены заказчиком в неполном объеме. Здесь проявляется субъективность конструктора.
Неточности при сканировании или обработке трехмерных моделей. Например, из-за невозможности выполнять сканирование при оптимальных условиях.
Износ исходного образца изделия. Объект в процессе эксплуатации может деформироваться, сточиться, утратить некоторые первоначальные свойства.
Человеческий фактор. И на старуху бывает проруха.
Методы предотвращения ошибок
Чтобы избежать негативного результата, следует тщательно контролировать значимые параметры объекта.
Запрашивать всю необходимую информацию у заказчика.
Дублировать информацию, в том числе полученную при сканировании: выполнять контрольные замеры вручную; делать фотографии объекта и его частей с измерительным инструментом; выполнять эскизы образца. Сравнивать полученную трехмерную модель и чертежи с исходным объектом, эскизами, фотографиями. Хранить данные обмеров в архиве.
В случае износа детали – восстанавливать размеры по ответным звеньям.
Во всех случаях – изготавливать опытный образец и тестировать его на соответствие своему назначению.
Эти 2 кейса уберегут вас от миллионных потерь и покажут то, о чем вы могли даже не догадываться
— Приветствую! Я Андрей Востриков, руководитель проектного бюро Формлаб. Мы занимаемся корпусами 10 лет. Ещё я промышленный дизайнер, уже много лет участвую в запуске в производство новых изделий и приборов. Именно поэтому вы здесь: есть пара проблем, о которых лучше знать заранее, — чтобы избежать их в будущем.
Как всегда, начну издалека — в октябре 2018 на «Технофоруме» я выступал перед металлообработчиками. Рассказывал о том, как мы, по сути, отбираем у них заказы. В том выступлении я использовал пару кейсов из нашего опыта.
Эти кейсы рассказывали в том числе и о том, как с помощью конструкторов можно создать себе проблемы, а потом долго и мужественно их преодолевать.
Давайте приступим.
Кейс 1. Как ошибки штатного конструктора привели к потере 12 миллионов
Собственно, почему так, кто виноват и, главное, что делать, чтобы не получилось так же.
Одна московская компания занимается разработкой и продажей устройств, связанных с пассивной безопасностью, и в какой-то момент решает выводить на рынок новое изделие. Все серьёзно — то есть у компании имеются и своё производство, и отдел разработки (где сидит в том числе штатный конструктор, ответственный за корпус будущего изделия).
Довольно быстро проект корпуса был разработан. Для производства изготовили комплект пресс-форм стоимостью 12 миллионов рублей, сделали отливки деталей.
…И не смогли собрать — начинка не помещалась в корпус, провода мешали, — в общем, пользоваться сделанным было невозможно.
Нет, с качеством форм там было всё нормально — китайские инструментальщики, и сам цех литья постарались на совесть. Можно ли было пресс-формы допилить? Вероятно, но важнее понять причины — почему так произошло.
Знать надо, где искать: в поиске причин и виноватых
Решил обсудить этот случай с коллегами. Первая версия пришла сама: виноват, конечно же, конструктор. Это ведь именно он, по сути: а) проигнорировал нормальный этап разработки; б) не изготовил опытный образец корпуса для проверки его физических свойств в реальности. Всё вместе и привело к потерям миллионов.
Логично? Конечно. Но всё не так просто. Потому что вины конструктора, в общем, здесь нет. Да, он ошибся, но он не виноват. Обычный штатный конструктор мог не знать и — тем более — не иметь опыта правильного цикла разработки корпуса, который упрощённо выглядит так:
концепт → инжиниринг → опытный образец → тестовая партия → серийное изделие
Учтём ещё, что на этого конструктора могли давить сроками, побочными задачами и ещё чем-то, что в конце концов привело к ошибке, и обязательный этап был пропущен:
концепт → инжиниринг → опытный образец → тестовая партия → серийное изделие
Вторая версия — кадровики же виноваты! Кого они взяли в штат?!
Тоже не уверен — обычно заявку в «кадры» приносят понимающие в специальности люди, а уж «кадры» ищут кандидатов по заданным им параметрам. Скорее всего, и кадровики не при чём.
И вот так можно назначить виновными совсем не тех, кто ими был на самом деле — конструктора или вообще «систему».
Но благодаря кому всё-таки компания выкинула 12 миллионов?
Если глянуть в корень, виноват может оказаться руководитель отдела разработки: он не провёл проект, как положено, назначил ответственным не того человека (не имеющего соответствующего опыта), неправильно составил заявку для «кадров» и так далее…
К чему я это все. Причина подобной ситуации всегда вероятностная, а решать проблему нужно не поиском «стрелочников», а на другом уровне, оценивая ситуацию с разработкой в комплексе. Да, в своём глазу бревно найти не только сложно, но и болезненно, но рано или поздно это придётся сделать.
Кто виноват, разобрались, но что делать-то?
Как избежать такого косяка, тоже очевидно каждому — делай «как положено», и всё будет хорошо. Но почему надо делать так, «как положено»?
Штука в том, что большинство из нас не совсем верно представляет суть этапов разработки…
Для наглядности — вот этап эскизной проработки дизайна для чего нужен?
Конечно, для того, чтобы выбрать, как будет выглядеть будущее изделие, — и вы правы, да.
Но эскизная проработка обязательна ещё и потому, что помогает осознанно подойти к следующему этапу. Если представить разработку как лестницу, то каждый шаг — это новая ступенька вверх, и ты не можешь перепрыгнуть через несколько: либо упадешь, либо оттолкнёшься слишком мощно и обрушишься на ступеньку с такой силой, что сломаешь всю лестницу и приземлишься на её обломки.
Давайте покажу это на этапах разработки:
концепт → инжиниринг → опытный образец → тестовая партия → серийное изделие
— Концепт нужен для понимания клиентом и инженерами того, какой будет корпус;
— Инженерная проработка необходима для того, чтобы фабрика смогла изготовить опытный образец;
— Опытный образец создаётся для уточнения документации и для ориентира — с чем сравнивать тестовую партию изделий?
— Тестовая партия требуется для проверки продукта жизнью и понимания, что надо изменить перед тем, как пустить продукт в серию.
Совсем наглядно можно представить всё в виде воронки ошибок или даже смыслов — сначала их много, но каждый следующий шаг убирает лишнее, ненужное, исправляет и дополняет. Так, чтобы в конце проекта осталось единственное и верное решение, проверенное предыдущими этапами:
Итог: традиционный поход «сначала сделаем, а потом, если что-то не получится, посмотрим в инструкцию», здесь гарантированно не работает. Убедитесь в том, что вы знаете, как выглядит последовательный процесс разработки корпуса, до начала работ.
Ещё один пример, но уже с другой колокольни.
Кейс 2. Конструктор сделал работу хорошо, но компания всё равно потеряла деньги
Вот тут я писал, как мы сэкономили клиенту примерно 8 миллионов в год и подняли ему продажи, обновив дизайн корпуса прибора и заменив старого подрядчика на двух других (голодных).
Я не просто так упомянул в начале текста о своём выступлении на «Технофоруме» — именно об этом случае я и рассказывал там металлообработчикам. Если посмотреть на этот пример с их колокольни, то можно поставить себя на место того самого старого подрядчика, который имел заказ на корпуса, спокойно делал их в течение нескольких лет, а потом бах! — и нет клиента. А ведь подрядчик, в общем-то, просто делал свою работу. И делал хорошо — к качеству-то нареканий не было.
Что привело к такой ситуации? Продажи у клиента не росли, а себестоимость изделия — наоборот, увеличивалась. И так — каждый год. Когда проблема стала очевидной и её пришлось решать, заказчик нашёл выход в виде обновления изделия. Продажи пошли вверх, а себестоимость упала (в весомые 4 раза, замечу!) А теперь конкретно — при чём здесь конструкторы и их руководство.
Шансов у производителя не было
Этот пример, на первый взгляд, не такой наглядный, как первый, но тоже важный. Получилось так, что конструктор завода, просто выполняя свою работу, не дал предприятию даже шанса удержать клиента.
А вот если бы он проанализировал конструкцию корпуса, попробовал бы её оптимизировать (хоть бы и незначительно) и предложить свой вариант заказчику, то это могло бы как минимум — сохранить постоянного заказчика и выручку, которую он приносит ежегодно, как максимум — не только сохранить, но увеличить цену заказа и прибыль завода.
Но только ли конструктора это задача, ведь получает зарплату за другое?
Не только — ещё и его руководителя. По-хорошему им надо было вместе думать об удержании клиента.
Вывод напрашивается следующий:
— «Просто работать» конструктору уже недостаточно, нужно решать задачи на опережение.
Мы знаем, о чём говорим, потому что такую ситуацию видим постоянно: три из четырёх поступающих к нам запросов на разработку корпуса касаются обновления уже выпускаемого изделия или появлением новой модели в линейке.
Инжиниринг первых изделий — это всегда проблемы по дизайну, технологичности и производству. Когда-то они казались ерундой (ведь тогда было важно начать продажи или что-то такое), а сейчас выжигают по несколько миллионов рублей.
Разберем по косточкам и расскажем как улучшить ваш прибор, промышленный станок или устройство
Взгляд на проект со стороны — это полезно. А если смотрит Формлаб, ещё и бесплатно. Мы готовы проанализировать разработанную вами конструкцию корпуса станка или прибора, определить её слабые звенья и подсказать, как всё исправить.
Можно сделать анализ конструкции корпуса или аудит всего изделия или корпуса изделия на предмет эргономики и дизайна. Просто спросите. Это вас ни к чему не обяжет.
Исключения, ровно как и оператор return
прерывают поток выполнения команд функции, из системного стека выбираются объекты (такие как локальные переменные) и для них вызываются деструкторы. Однако, если при выполнении оператора return
раскрутка стека прекратиться в точке где была вызвана завершенная функция, то при при выполнении throw
объекты из стека будут уничтожаться до тех пор, пока управление не будет передано в блок try{}
, содержащий обработчик, соответствующий типу выброшенного исключения. Читать подробнее про обработку исключений [1].
Исключения в деструкторе класса
В связи с этим, в большинстве случаев разрушение объектов созданных на стеке (без использования new/malloc
) произойдет корректно — вызовом деструктора. Однако исключения в конструкторе или деструкторе могут приводить к нежелательным последствиям.
Во-первых, программа не должна вырабатывать исключения во время обработки другого исключения (когда происходит раскрутка стека) — это приведет к аварийному завершению работы программы (фактически вызову abort()
), которое уже не получится корректно обработать. Причина такой ошибки заключается в том, что один из деструкторов вырабатывает исключение или не обрабатывает исключение функции, которую вызывает:
struct PrinterBusyException {}; class Printer { std::string m_location, m_port; public: Printer(std::string location, std::string port) : m_location(location), m_port(port) { } bool is_busy() { return false; // for example } ~Printer() { if (is_busy()) { throw PrinterBusyException(); } } }; struct SomeException {}; int main() { try { Printer printer("localhost", "usb://Kyocera/FS-1020MFP?serial=LDA4322583"); // some actions ... throw SomeException(); } catch(SomeException exception) { std::cout << "SomeException handledn"; } catch(PrinterBusyException exception) { std::cout << "PrinterBusyException handledn"; } }
В этом примере деструктор класса Printer
вырабатывает исключение если принтер занят (печатает), однако в коде, который использует объект принтера вырабатывается исключение (это может быть что угодно — хоть bad_alloc
от оператора new
). При обработке SomeException
раскручивается стек, вызываются деструкторы и если вдруг принтер окажется занят (is_busy()
вернет true
) — программа аварийно остановится. Ниже приведены варианты сообщений, выдаваемых программой в зависимости от результата is_busy()
:
Тем более очевидно, что если деструктор завершает работу исключением, то может возникать утечка памяти — в памяти могут остаться как части текущего класса, так и базовых классов. Из этого ясно, что деструктор никогда не должен вырабатывать исключения, а также обрабатывать все возможные исключения функций, которые вызывает — они могут приводить как к утечкам, так и к очень трудноуловимым ошибкам.
Еще один из аспектов работы деструкторов и исключений иллюстрирует следующий фрагмент кода:
#include <exception> class test { public: test() { } ~test() { throw std::runtime_error("Game over!"); } }; int main() { try { test t throw std::runtime_error("Error!"); } catch(std::exception const&) { } }
Когда исключение покидает блок, все локальные объекты, созданные в этом блоке, уничтожаются. Если деструктор объекта, уничтожаемого во время развертки стека, генерирует исключение, то программа будет завершена досрочно, и ее уже ничего не спасет.
Стандартная библиотека предоставляет функцию std::uncaught_exception
, которая в деструкторе позволяет узнать, почему уничтожается объект, из-за выброшенного исключения, или же по какой-либо другой причине.
Несмотря на то, что эта функция может показаться весьма полезной, постарайтесь избежать ее использования. Думайте в первую очередь о том, как добиться бесперибойной работы деструктора. Не завязывайте логику его работы на причины уничтожения объекта.
Исключения в конструкторе класса
Если конструктор класса завершает работу исключением, значит он не завершает свою работу — следовательно объект не будет создан. Из-за этого могут возникать утечки памяти, т.к. для не полностью сконструированных объектов не будет вызван деструктор. Из-за этого распространено мнение, что конструктор никогда не должен вырабатывать исключения, однако это не так — утечки памяти возникнут не во всех случаях.
Стандарт языка С++ гарантирует, что если исключение возникнет в конструкторе, то памяти из под членов-данных класса будет освобождена корректно вызовом деструктора — т.е. если вы используете идиому RAII [2], то проблем не будет. Часто для этого достаточно использовать std::vector/std::string вместо старых массивов и строк, и умные указатели вместо обычных [3]. Если же вы продолжите использовать сырые указатели и динамически выделять память — нужно будет очень тщательно следить за ней, например в следующем фрагменте кода нет утечки, т.к. исключение будет выработано только если память не будет выделена [4]:
template <class ElementType> Array<ElementType>::Array() : m_realSize(Step), m_size(0), m_array(0) { m_array = (ElementType*)malloc(sizeof(ElementType)*m_realSize); if (0 == m_array) { throw bad_allocation(); } }
Вспомогательная литература по теме исключений в С++
- Обработка исключений — описание процессов, которые происходят при возникновении исключения в программе, сравнение их с возвратом кодом ошибки функцией и общие рекомендации по использованию исключений (без привязки к конкретному языку программирования);
- Идиома RAII. Объекты управления ресурсами в C++ — описание идиомы RAII, следование которой помогает безопасно управлять ресурсами при обработке исключений;
- описание класса unique_ptr являющегося простейшим умных указателем и реализующему идиому RAII;
- Реализация класса одномерного массива — содержит пример безопасного конструктора, вырабатывающего исключение.
- Мейерс С. Эффективное использование С++. 35 новых рекомендаций по улучшению ваших программ и проектов. – М.: ДМК Пресс, 2014. — третья глава книги полностью посвящена вопросам обработки исключений в С++.
Ошибка — конструктор
Cтраница 1
Ошибки конструктора различаются: А.
[1]
Причинами поломок деталей многих машин могут быть ошибки конструкторов при оценке влияния на прочность концентраторов напряжений. Например, шпоночные канавки являются очагом концентрации напряжений. Часто поломка валов начинается с трещин вблизи шпоночных канавок.
[3]
Конструкционный отказ — отказ, возникший вследствие ошибок конструктора или несовершенства методов конструирования.
[4]
Конструкционные дефекты возникают на детали в результате ошибок конструктора. В большинстве случаев эти дефекты выражаются в виде усталостных трещин в местах, концентраторов напряжения, допущенных при конструировании.
[5]
Такие отказы в большинстве своем связаны с ошибками конструкторов или несовершенством принятых методов проектирования и конструирования.
[6]
Однако нельзя считать, что в эксплуатации только устраняются ошибки конструктора и производства, хотя доля таких ошибок еще велика.
[7]
К конструкционным относят отказы, имеющие в своей основе ошибки конструкторов, допущенные в процессе проектирования, или несовершенство методов, принятых при конструировании.
[8]
Однако нельзя считать, что в ходе эксплуатации только устраняются ошибки конструктора и производства, хотя доля таких ошибок еще велика.
[9]
В первые 10 лет работы по ЕСКД изменения, вызванные ошибками конструкторов, составили 10 % общего числа изменений; 40 % изменений конструкторских документов были вызваны изменениями стандартов, покупных изделий, технологии и требованиями производства, а 50 % — проведением мероприятий по улучшению качества, снижению материалоемкости и трудоемкости изготовления продукции.
[10]
По происхождению дефекты изделий подразделяют на конструктивные, являющиеся следствием несовершенства конструкции из-за ошибок конструктора; производственно-технологические, возникающие при отливке и прокате металлов, изготовлении и ремонте деталей ( пайке, сварке, клепке, склеивании, механической, термической и других видах обработки, нанесении покрытий и др.), а также эксплуатационные, возникающие после некоторой наработки изделия в результате усталости металла дега-лей, коррозии, изнашивания и неправильного технического обслуживания и эксплуатации.
[11]
По происхождению дефекты изделий подразделяют на конструктивные, являющиеся следствием несовершенства конструкции из-за ошибок конструктора, производственно-технологические, возникающие при отливке и прокате металлов, изготовлении и ремонте деталей) пайке, сварке, клепке, склеивании, механической, термической и других видах обработки, нанесении покрытий и др.), а также эксплуатационные, возникающие после некоторой наработки изделия в результате усталости металла деталей, коррозии, изнашивания и неправильного технического обслуживания и эксплуатации.
[12]
В этот перечень не включены конструктивные недостатки, несмотря на то, что их источником являются ошибки конструктора.
[13]
В этот перечень не включены обычные конструктивные недостатки, несмотря на то, что их источником являются ошибки конструктора, за исключением тех случаев, когда они имеют своим следствием отказы по вине оператора.
[14]
Как показывает опыт многолетней работы конструкторского подразделения, занимающегося проектированием и авторским надзором машин средней сложности в условиях серийного производства, основная масса ошибок конструкторов, выявляемых при контроле чертежей, относится к нарушениям требований государственных стандартов, в большинстве случаев ( 90 %) ГОСТов ЕСКД.
[15]
Страницы:
1
2
6.1. Ошибки при конструировании
Чертежи
являются носителем информации об
изделии, его конструкции, размерах,
материалах, специальной обработке и,
косвенно, о технологии изготовления.
Чертеж обеспечивает конкретное и
однозначное выполнение детали, так как
информация, заложенная в чертежах,
является обязательной для исполнителя.
Только безошибочное выполнение чертежа
обеспечивает изготовление годной
детали. По данным статистического
анализа неисправностей машин, 60—90 %
этих неполадок связаны с ошибками
разработок и изготовления. Большая
часть ошибок обнаруживается в процессе
изготовления и первого испытания
изделий. Часть ошибок выявляется только
в процессе эксплуатации через
продолжительное время, сокращая
межремонтный период изделия или ресурс
его работы в целом.
Причины
возникновения ошибок заложены в сущности
процесса конструирования. Творческий
процесс конструирования является
идеальным процессом в воображении
конструктора. На основании данных
технического задания, проведенных
исследований, информационных материалов
и практического опыта конструктор
создает мысленный образ изделия, который
находит свое отражение в чертежах. Но
между замыслом конструктора и реальным
его воплощением стоит ошибка даже при
самом тонком проникновении в проблему.
В процессе конструирования конструктору
приходится считаться с целым рядом
требований и ограничений. Эти факторы
часто противоречивы и не позволяют
создать тот образец, к которому стремился
конструктор. Любую конструкцию можно
рассматривать как несовершенную,
отстающую от мнимой идеальной конструкции
— эталона. Эталон воплощает все то
лучшее, что дают научно-технические
достижения. Удаление реального качества
изделия от эталона служит критерием
совершенства конструкции. Если удаление
больше, чем средний инженерно-технический
уровень данного времени, то конструкцию
можно считать ошибочной.
Ошибкой
является отклонение результата
проектирования от принятых норм, заранее
заложенных в технических условиях и
ограничениях, отклонение от эталона
или объективного закона, существующего
в природе. Различаются явные (очевидные)
и скрытые ошибки.
Явные
(очевидные)сшибки легко обнаруживаются
при сравнении конструкции с эталоном
или при проверке ее по объективным
законам математики, физики, механики и
другим законам, которые известны рядовому
инженеру. К явным ошибкам относятся
ошибки размерных цепей, прочности,
отклонения параметров (силы, скорости,
давления и др.). Явные ошибки обнаруживаются
при контроле технической документации
аналитическими или графическими
методами, известными рядовому
инженеру.Скрытые ошибки не
обнаруживаются проверкой и появляются,
как правило, в новых разработках, где
применяется не проверенный практикой
рабочий принцип или не имеется достаточного
количества информации для внедрения
уже известного принципа. В таких
конструкциях обыкновенные методы
контроля и анализа не дают ответа или
дают неправильный, искаженный ответ на
вопрос работоспособности и пригодности
конструкции.
Скрытые
ошибки выявляются после выполнения
специальных расчетов или выработки
экспертных заключений крупных
специалистов. В таких случаях выгодно
построить экспериментальную модель,
при испытании которой выявится большинство
скрытых ошибок.
Причины
возникновения ошибок в технической
документации могут быть самыми
разнообразными: незнание, ошибочное
суждение, неспособность охватить все
вопросы проблемы, халатность, равнодушие
и др. Ошибки в конструкторской документации
классифицируют по следующим группам:
I группа — конструкционные ошибки; II —
ошибки в расчетах; III — ошибки в размерах.
К группе I относятся следующие ошибки.
1.
Ошибки, вызванные неверным направлением
разработки. Эти ошибки заложены уже в
техническом задании на разработку и
возникают из-за неверного понимания
той работы, которую изделие должно
выполнять, или процессов, для которых
оно создается. Такие ошибки должны
раскрываться уже в начальных стадиях
разработки: в техническом предложении,
эскизном проекте. Разработчику дается
право на критический анализ технического
задания и выявление всех неточностей
и погрешностей в нем. Значительную роль
в этом процессе играют начальники групп,
бюро, главные инженеры проектов, которые
отвечают за правильность направления
конструкторских разработок. Ошибки
неверного направления разработок
относятся к скрытым ошибкам и не всегда
выявляются при контроле конструкторской
документации и проверке ее соответствия
требованиям технического задания.
2.
Ошибки в функции применения проектируемого
изделия. Новые изделия должны
соответствовать своим функциям, быть
эффективными и надежными.
3.
Ошибки в соответствии проектируемого
изделия физиологическим требованиям
обслуживающего персонала. Форма, размеры
и устройства управления должны обеспечить
удобное и надежное управление.
4.
Ошибки в выборе материала, когда свойства
материала и его технологическая обработка
не обеспечивают нормальную и надежную
работу всех узлов и механизмов.
5.
Ошибки в выборе формы деталей. Форма
деталей способствует их изготовлению
из материала, указанного в чертеже,
наиболее эффективными технологическими
методами.
6.
Ошибки использования материала. Материал
может быть использован нерационально:
с излишней толщиной стенок, ребер и т.
д.
7.
Ошибки в оценке психологических и
социальных сторон нового изделия.
Конструкция должна соответствовать
новым требованиям эксплуатации, учитывать
желания человека, требования моды,
соответствия окружающей среде и др.
8.
Ошибки эстетического характера и
несоответствия изделия требованиям
техники безопасности. Внешний вид
изделия должен быть приятным и
соответствовать его функциональному
применению. Температура, шум, вибрации
‘ изделия должны быть в пределах нормы
Рис.9.1.
Ошибка конструкции:
но предусмотрены
места для относительного взаимного
перемещения
зубчатых реек; необходимо
срезать заштрихованные места
К
группе II относятся следующие ошибки.
1.
Ошибки в расчетах прочности. В результате
этих ошибок размеры опасных сечений
могут получаться неоправданно малыми
или большими. При заниженном размере
опасного сечения происходит преждевременный
выход изделия из строя или его поломка.
Если опасное сечение увеличенное,
неоправданно растет масса изделия и
расход материала. Эти ошибки основываются
на недостаточной или ошибочной оценке
реально действующих сил в изделии,
принятии неверной расчетной схемы,
методики расчетов или допущении ошибок
в расчетах.
2.
Ошибки в расчетах на жесткость. Эти
ошибки приводят к вибрациям, которые
превышают допустимые нормы. В результате
вибраций изделие не может выполнить
свои функции.
3.
Ошибки в кинематических расчетах. В
результате изделие не будет соответствовать
параметрам, на которые оно рассчитано.
К
группе III относится наибольшая часть
ошибок.
1.
Ошибки в расчете размерных цепей. Они
возникают при неверном расчете размеров
и допустимых отклонений, в том числе
при неверном определении хода механизма
(рис. 6.1 и 6.2).
2.
Ошибки в определении размера узкого
места механизма. В результате этого
возникает случай, когда изделие невозможно
собрать. Причина ошибки: неточный расчет
или расчет, при котором не было учтено
место для сборочных работ.
3.
Ошибки из-за халатности разработчика.
Ошибки могут быть допущены при расчете
размера или при записи правильно
рассчитанного размера и допустимого
отклонения к нему.
Ошибки
данной группы обнаруживаются при
проверке чертежей и проявляются как
несоответствие указанного размера
фактическому значению элемента
конструкции В указанном масштабе.
Правильная
простановка размеров и допустимых
отклонений в чертежах является важным
процессом, свидетельствующим о качестве
технической документации. Размеры и
допустимые отклонения в чертежах
определяют: точность сборочного процесса;
взаимозаменяемость узлов и изделий;
применение рациональных технологических
процессов при изготовлении деталей.
Хорошие
знания разработчиком технологии
изготовления и сборки (базирования,
установки, зажима, инструмента, операций,
переходов) позволяют правильно и
безошибочно проставить размеры в
чертежах. Рационально выбранные размеры
и предельные отклонения могут уменьшить
трудоемкость изготовления детали на
15— 20 процентов, не изменяя ее конструкции.
Ошибки,
допускаемые разработчиком в конструкторской
документации, зависят от направленности
его внимания и психического состояния
на период разработки.
Они
часто связаны со спешкой и небрежностью.
Все допущенные ошибки должны быть
своевременно выявлены и исправлены до
сдачи конструкторской документации в
производство. Надежная система обнаружения
ошибок
создает благоприятные условия для того,
чтобы не допустить ошибок вообще.
Появление
ошибок в конструкторской документации
обусловлено, как правило, определенными
мотивами. По признакам возникновения
ошибки могут быть мотивированные или
немотивированные.
Мотивированные
ошибки имеют определенную базу
возникновения. Они как бы имеют логическое
обоснование для их возникновения,
связанное с незнанием или рассеянностью
разработчика. Мотивированные ошибки
могут быть связаны также с масштабом
чертежа. Чаще всего размеры проставляются
по натуральной величине чертежа, хотя
изображение выполнено в увеличенном
или уменьшенном масштабе. Иногда размеры
и допустимые отклонения отверстий
устанавливаются на валах, а размеры и
допустимые отклонения валов — на
отверстиях. Отверстия и вал могут иметь
разные номинальные размеры и т. п. Иногда
проставляются неверные размеры из-за
ошибочно выполненного изображения,
разреза или сечения. Рассеянность
разрабочика может привести к простановке
размера на другой размерной линии, что
определенно приведет к ошибке. Иногда
не учитывается длина хода механизма,
место для сборки и т. п.
Немотивированными
ошибками называют случайные ошибки,
которых никак нельзя объяснить.
При
оценке влияния ошибок необходимо
рассмотреть конструкцию в неразрывной
связи ее с целевым назначением и
применением. Здесь значение имеют такие
факторы, как серийность выпуска изделия,
ответственность конструкции и др. Анализ
ошибок показывает, что ошибки имеют
относительный характер, зависящий не
только от объективных факторов, но и от
опыта и квалификации эксперта, который
определяет ошибку. Изделия, разработанные
для изготовления в единичном производстве,
будут ошибочными для серийного выпуска
и наоборот. Очень трудно оценить ошибки
экономического характера, а ошибки
социального характера выявляются только
после определенного периода эксплуатации.
Ошибки, встречающиеся в конструкторской
документации, в зависимости от вызванных
ими последствий, классифицируются
следующим образом (табл. 6.1).
Знание
разработчиком причин возникновения
ошибок, основных видов конструкторских
ошибок позволяет целенаправленно их
избегать. Конструктор в своих разработках
Таблица
6.1Классификация ошибок, обнаруживаемых
в чертежах
Класс |
Характерестика класса |
Ошибки |
I |
Ошибки,не влияющие на |
Нарушение правил черчения |
II |
Ошибки, ухудшающие работоспо- |
В выборе материала, |
III |
Ошибки, вызывающие исправимый |
В размерных цепях или в |
IV |
Ошибки, вызывающие окончатель- |
Несоответствие изделия |
*
Исправимым называется брак, устранение
которого экономически целесообразно
без изготовления новых деталей или
сборочных единиц. Исправление его не
понижает качество и работоспособность
изделия.
ках
должен отработать определенный стиль
и порядо!1 работы, чтобы максимально
недопустить возникновенш ошибок. Мощным
рычагом улучшения качества проекти
рования и устранения всякого рода ошибок
являете* применение системы автоматического
проектированш (САПР). Применение машинного
способа проектированш исключает участие
в этом процессе человека, которыН может
ошибаться. Безошибочно составленный и
прове ренный алгоритм автоматического
проектирования служи» гарантией, что
выходные параметры системы также ш
будут иметь ошибок.
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
Дефекты программного обеспечения можно обнаружить на каждом этапе разработки и тестирования продукта. Чтобы гарантировать исправление наиболее серьезных дефектов программного обеспечения, тестировщикам важно иметь хорошее представление о различных типах дефектов, которые могут возникнуть.
В этой статье мы обсудим самые распространенные типы ПО дефекты и способы их выявления.
Что такое дефект?
Дефект программного обеспечения — это ошибка, изъян, сбой или неисправность в компьютерной программе, из-за которой она выдает неправильный или неожиданный результат или ведет себя непреднамеренным образом. Программная ошибка возникает, когда фактические результаты не совпадают с ожидаемыми. Разработчики и программисты иногда допускают ошибки, которые создают ошибки, называемые дефектами. Большинство ошибок возникает из-за ошибок, которые допускают разработчики или программисты.
Обязательно прочтите: Разница между дефектом, ошибкой, ошибкой и сбоем
Типы программных ошибок при тестировании программного обеспечения
Существует множество различных типов дефектов программного обеспечения, и тестировщикам важно знать наиболее распространенные из них, чтобы они могут эффективно тестировать их.
Ошибки программного обеспечения подразделяются на три типа:
- Дефекты программного обеспечения по своей природе
- Дефекты программного обеспечения по их приоритету
- Дефекты программного обеспечения по их серьезности
Обычно мы можем видеть приоритет и серьезность классификаторов в большинстве инструментов отслеживания ошибок. Если мы настроим классификатор в соответствии с характером ошибки, а также приоритетом и серьезностью, это поможет легко управлять распределением обязанностей по исправлению ошибок соответствующим командам.
#1. Дефекты программного обеспечения по своей природе
Ошибки в программном обеспечении имеют широкий спектр природы, каждая из которых имеет свой собственный набор симптомов. Несмотря на то, что таких багов много, сталкиваться с ними можно не часто. Вот наиболее распространенные ошибки программного обеспечения, классифицированные по характеру, с которыми вы, скорее всего, столкнетесь при тестировании программного обеспечения.
#1. Функциональные ошибки
Как следует из названия, функциональные ошибки — это те, которые вызывают сбои в работе программного обеспечения. Хорошим примером этого может служить кнопка, при нажатии на которую должно открываться новое окно, но вместо этого ничего не происходит.
Функциональные ошибки можно исправить, выполнив функциональное тестирование.
#2. Ошибки на уровне модуля
Ошибки на уровне модуля — это дефекты, связанные с функциональностью отдельного программного модуля. Программный модуль — это наименьшая тестируемая часть приложения. Примеры программных модулей включают классы, методы и процедуры. Ошибки на уровне подразделения могут существенно повлиять на общее качество программного обеспечения.
Ошибки на уровне модуля можно исправить, выполнив модульное тестирование.
#3. Ошибки уровня интеграции
Ошибки уровня интеграции — это дефекты, возникающие при объединении двух или более программных модулей. Эти дефекты может быть трудно найти и исправить, потому что они часто требуют координации между несколькими командами. Однако они могут оказать существенное влияние на общее качество программного обеспечения.
Ошибки интеграции можно исправить, выполнив интеграционное тестирование.
#4. Дефекты юзабилити
Ошибки юзабилити — это дефекты, влияющие на работу пользователя с программным обеспечением и затрудняющие его использование. Дефект юзабилити — это дефект пользовательского опыта программного обеспечения, который затрудняет его использование. Ошибки юзабилити — это такие ошибки, как если веб-сайт сложен для доступа или обойти, или процесс регистрации сложен для прохождения.
Во время тестирования удобства использования тестировщики программного обеспечения проверяют приложения на соответствие требованиям пользователей и Руководству по доступности веб-контента (WCAG) для выявления таких проблем. Однако они могут оказать существенное влияние на общее качество программного обеспечения.
Ошибки, связанные с удобством использования, можно исправить, выполнив тестирование удобства использования.
#5. Дефекты производительности
Ошибки производительности — это дефекты, влияющие на производительность программного обеспечения. Это может включать в себя такие вещи, как скорость программного обеспечения, объем используемой памяти или количество потребляемых ресурсов. Ошибки уровня производительности сложно отследить и исправить, поскольку они могут быть вызваны рядом различных факторов.
Ошибки юзабилити можно исправить, выполнив тестирование производительности.
#6. Дефекты безопасности
Ошибки безопасности — это тип дефекта программного обеспечения, который может иметь серьезные последствия, если его не устранить. Эти дефекты могут позволить злоумышленникам получить доступ к конфиденциальным данным или системам или даже позволить им получить контроль над уязвимым программным обеспечением. Таким образом, очень важно, чтобы ошибкам уровня безопасности уделялось первоочередное внимание и устранялись как можно скорее.
Ошибки безопасности можно исправить, выполнив тестирование безопасности.
#7. Дефекты совместимости
Дефекты совместимости — это те ошибки, которые возникают, когда приложение несовместимо с оборудованием, на котором оно работает, или с другим программным обеспечением, с которым оно должно взаимодействовать. Несовместимость программного и аппаратного обеспечения может привести к сбоям, потере данных и другому непредсказуемому поведению. Тестировщики должны знать о проблемах совместимости и проводить соответствующие тесты. Программное приложение, имеющее проблемы с совместимостью, не работает последовательно на различных видах оборудования, операционных системах, веб-браузерах и устройствах при подключении к определенным программам или работе в определенных сетевых условиях.
Ошибки совместимости можно исправить, выполнение тестирования совместимости.
#8. Синтаксические ошибки
Синтаксические ошибки являются самым основным типом дефекта. Они возникают, когда код нарушает правила языка программирования. Например, использование неправильной пунктуации или забывание закрыть скобку может привести к синтаксической ошибке. Синтаксические ошибки обычно мешают запуску кода, поэтому их относительно легко обнаружить и исправить.
#9. Логические ошибки
Логические ошибки — это дефекты, из-за которых программа выдает неправильные результаты. Эти ошибки может быть трудно найти и исправить, потому что они часто не приводят к каким-либо видимым ошибкам. Логические ошибки могут возникать в любом типе программного обеспечения, но они особенно распространены в приложениях, требующих сложных вычислений или принятия решений.
Общие симптомы логических ошибок включают:
- Неверные результаты или выходные данные
- Неожиданное поведение
- Сбой или зависание программного обеспечения
Чтобы найти и исправить логические ошибки, тестировщикам необходимо иметь четкое представление о коде программы и о том, как она должна работать. Часто лучший способ найти такие ошибки — использовать инструменты отладки или пошаговое выполнение, чтобы отслеживать выполнение программы и видеть, где что-то идет не так.
#2. Дефекты программного обеспечения по степени серьезности
Уровень серьезности присваивается дефекту по его влиянию. В результате серьезность проблемы отражает степень ее влияния на функциональность или работу программного продукта. Дефекты серьезности классифицируются как критические, серьезные, средние и незначительные в зависимости от степени серьезности.
#1. Критические дефекты
Критический дефект — это программная ошибка, имеющая серьезные или катастрофические последствия для работы приложения. Критические дефекты могут привести к сбою, зависанию или некорректной работе приложения. Они также могут привести к потере данных или уязвимостям в системе безопасности. Разработчики и тестировщики часто придают первостепенное значение критическим дефектам, поскольку их необходимо исправить как можно скорее.
#2. Серьезные дефекты
Серьезный дефект — это программная ошибка, существенно влияющая на работу приложения. Серьезные дефекты могут привести к замедлению работы приложения или другому неожиданному поведению. Они также могут привести к потере данных или уязвимостям в системе безопасности. Разработчики и тестировщики часто придают первостепенное значение серьезным дефектам, поскольку их необходимо исправить как можно скорее.
#3. Незначительные дефекты
Незначительный дефект — это программная ошибка, которая оказывает небольшое или незначительное влияние на работу приложения. Незначительные дефекты могут привести к тому, что приложение будет работать немного медленнее или демонстрировать другое неожиданное поведение. Разработчики и тестировщики часто не придают незначительным дефектам приоритет, потому что их можно исправить позже.
#4. Тривиальные дефекты
Тривиальный дефект – это программная ошибка, не влияющая на работу приложения. Тривиальные дефекты могут привести к тому, что приложение отобразит сообщение об ошибке или проявит другое неожиданное поведение. Разработчики и тестировщики часто присваивают тривиальным дефектам самый низкий приоритет, потому что они могут быть исправлены позже.
#3. Дефекты программного обеспечения по приоритету
#1. Дефекты с низким приоритетом
Дефекты с низким приоритетом, как правило, не оказывают серьезного влияния на работу программного обеспечения и могут быть отложены для исправления в следующей версии или выпуске. В эту категорию попадают косметические ошибки, такие как орфографические ошибки, неправильное выравнивание и т. д.
#2. Дефекты со средним приоритетом
Дефекты со средним приоритетом — это ошибки, которые могут быть исправлены после предстоящего выпуска или в следующем выпуске. Приложение, возвращающее ожидаемый результат, которое, однако, неправильно форматируется в конкретном браузере, является примером дефекта со средним приоритетом.
#3. Дефекты с высоким приоритетом
Как следует из названия, дефекты с высоким приоритетом — это те, которые сильно влияют на функционирование программного обеспечения. В большинстве случаев эти дефекты необходимо исправлять немедленно, так как они могут привести к серьезным нарушениям нормального рабочего процесса. Дефекты с высоким приоритетом обычно классифицируются как непреодолимые, так как они могут помешать пользователю продолжить выполнение поставленной задачи.
Некоторые распространенные примеры дефектов с высоким приоритетом включают:
- Дефекты, из-за которых приложение не работает. сбой
- Дефекты, препятствующие выполнению задачи пользователем
- Дефекты, приводящие к потере или повреждению данных
- Дефекты, раскрывающие конфиденциальную информацию неавторизованным пользователям
- Дефекты, делающие возможным несанкционированный доступ к системе
- Дефекты, приводящие к потере функциональности
- Дефекты, приводящие к неправильным результатам или неточным данным
- Дефекты, вызывающие проблемы с производительностью, такие как чрезмерное использование памяти или медленное время отклика
#4. Срочные дефекты
Срочные дефекты — это дефекты, которые необходимо устранить в течение 24 часов после сообщения о них. В эту категорию попадают дефекты со статусом критической серьезности. Однако дефекты с низким уровнем серьезности также могут быть классифицированы как высокоприоритетные. Например, опечатка в названии компании на домашней странице приложения не оказывает технического влияния на программное обеспечение, но оказывает существенное влияние на бизнес, поэтому считается срочной.
#4. Дополнительные дефекты
#1. Отсутствующие дефекты
Отсутствующие дефекты возникают из-за требований, которые не были включены в продукт. Они также считаются несоответствиями спецификации проекта и обычно негативно сказываются на пользовательском опыте или качестве программного обеспечения.
#2. Неправильные дефекты
Неправильные дефекты — это те дефекты, которые удовлетворяют требованиям, но не должным образом. Это означает, что хотя функциональность достигается в соответствии с требованиями, но не соответствует ожиданиям пользователя.
#3. Дефекты регрессии
Дефект регрессии возникает, когда изменение кода вызывает непреднамеренное воздействие на независимую часть программного обеспечения.
Часто задаваемые вопросы — Типы программных ошибок< /h2>
Почему так важна правильная классификация дефектов?
Правильная классификация дефектов важна, поскольку она помогает эффективно использовать ресурсы и управлять ими, правильно приоритизировать дефекты и поддерживать качество программного продукта.
Команды тестирования программного обеспечения в различных организациях используют различные инструменты отслеживания дефектов, такие как Jira, для отслеживания дефектов и управления ими. Несмотря на то, что в этих инструментах есть несколько вариантов классификации дефектов по умолчанию, они не всегда могут наилучшим образом соответствовать конкретным потребностям организации.
Следовательно, важно сначала определить и понять типы дефектов программного обеспечения, которые наиболее важны для организации, а затем соответствующим образом настроить инструмент управления дефектами.
Правильная классификация дефектов также гарантирует, что команда разработчиков сможет сосредоточиться на критических дефектах и исправить их до того, как они повлияют на конечных пользователей.
Кроме того, это также помогает определить потенциальные области улучшения в процессе разработки программного обеспечения, что может помочь предотвратить появление подобных дефектов в будущих выпусках.
Таким образом, отслеживание и устранение дефектов программного обеспечения может показаться утомительной и трудоемкой задачей. , правильное выполнение может существенно повлиять на качество конечного продукта.
Как найти лежащие в основе ошибки программного обеспечения?
Определение основной причины программной ошибки может быть сложной задачей даже для опытных разработчиков. Чтобы найти лежащие в основе программные ошибки, тестировщики должны применять систематический подход. В этот процесс входят различные этапы:
1) Репликация. Первым этапом является воспроизведение ошибки. Это включает в себя попытку воспроизвести тот же набор шагов, в котором возникла ошибка. Это поможет проверить, является ли ошибка реальной или нет.
2) Изоляция. После того, как ошибка воспроизведена, следующим шагом будет попытка ее изоляции. Это включает в себя выяснение того, что именно вызывает ошибку. Для этого тестировщики должны задать себе несколько вопросов, например:
– Какие входные данные вызывают ошибку?
– При каких различных условиях возникает ошибка?
– Каковы различные способы проявления ошибки?
3) Анализ: после Изолируя ошибку, следующим шагом будет ее анализ. Это включает в себя понимание того, почему возникает ошибка. Тестировщики должны задать себе несколько вопросов, таких как:
– Какова основная причина ошибки?
– Какими способами можно исправить ошибку?
– Какое исправление было бы наиболее эффективным? эффективно?
4) Отчет. После анализа ошибки следующим шагом является сообщение о ней. Это включает в себя создание отчета об ошибке, который включает всю соответствующую информацию об ошибке. Отчет должен быть четким и кратким, чтобы разработчики могли его легко понять.
5) Проверка. После сообщения об ошибке следующим шагом является проверка того, была ли она исправлена. Это включает в себя повторное тестирование программного обеспечения, чтобы убедиться, что ошибка все еще существует. Если ошибка исправлена, то тестер может подтвердить это и закрыть отчет об ошибке. Если ошибка все еще существует, тестировщик может повторно открыть отчет об ошибке.
Заключение
В индустрии программного обеспечения дефекты — неизбежная реальность. Однако благодаря тщательному анализу и пониманию их характера, серьезности и приоритета дефектами можно управлять, чтобы свести к минимуму их влияние на конечный продукт.
Задавая правильные вопросы и применяя правильные методы, тестировщики могут помочь обеспечить чтобы дефекты обнаруживались и исправлялись как можно раньше в процессе разработки.
TAG: qa
Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
RSS
Сообщения с 1 по 25 из 41
#1 10 февраля 2005г. 13:48:13
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Тема: Ошибка в чертежах. За что наказывать конструктора ?
Кто имеет опыт (случай) или мнение.
—
Что является конструкторской ошибкой, за которую можно наказать: взысканием, финансово, уволнением и т.д.
Не берем случаи — пьяный конструктор, прогулы без уваж. причины, драку на рабочем месте и аналогичные.
—
Более конкретно.
Случай 1. При составлении ведомости на материалы в Exсel конструктор конечный материал умножил на коэф. 4х. Ошибся, нечаянно. Лишний материал вернули поставщику.
Этот случай наказуем или нет?
—
Случай 2. При заполнении конструкторской спецификации для сборочного чертежа, конструктор две позиции, в графе «Кол.» ошибся. Вообще-то, ради справедливости, сборочных единиц более 100. Вес конструкции 30 000 кг, вес недостающих узлов 170 кг. Когда обнаружилось, изготовили, привезли на монтаж. Заказчику сдали вовремя.
Этот случай наказуем или нет?
—
Добавлю. В последнем случае работадатель наказал конструктора, конструктор обратился в суд (трудовую комиссию) и выиграл дело. Но суд, конечно, всех проблем конструктора не понял (работал по вечерам и ночам, нереальные сроки, ответственный проект …), а прокатил работадателя чисто на юридических началах.
—
ВООБЩЕМ. Что такое ошибка в чертеже?
#2 Ответ от duckson 11 февраля 2005г. 12:05:17
- duckson
- Восстановленный участник
- На форуме с 13 ноября 2003г.
- Сообщений: 102
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Мое мнение такое:
Конструктор — конечное звено цепи, над ним есть начальники, ГИПы, в общем, довольно много ответственных лиц, которые ставят подписи на выпускаемой документации. И все они ДЕЛЯТ ОТВЕТСТВЕННОСТЬ.
В общем, как я говорил моему начальнику в спорных вопросах «Обои полетим».
Excell — штука автоматическая, САПеР должен ее настроить, так что, и САПеРу можно влепить.
ИТОГ: либо взыскание накладывается на все звенья цепи, либо в результате ошибки никто не пострадает.
В принципе, работодатель может наказать за любую ошибку, поскольку в любой должностной инструкции написано: точно и в срок выполнять работу, а в трудовом договоре есть фраза: следовать должностной инструкции.
#3 Ответ от ET 16 февраля 2005г. 16:29:23
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Насчет договора и должностной инструкции — согласен. Согласен, что работодатель может наказать за любую ошибку.
Но вот, что является конструкторской ошибкой?
Опечатка, описка, наверное, не является ошибкой.
Совокупность ошибок приводящих к полной нерентабельности или невыполнимости проекта — вот что должно быть наказуемым (имхо), да и то частично.
Хотя как учесть «человеческий» фактор — вчера оригинальные конструкторские решения, а сегодня полный сбой.
#4 Ответ от kpblc 16 февраля 2005г. 17:02:46
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
Грустно, но:
1. Хозяин (клиент, начальник — нужное подставить) всегда прав.
2. Если он не прав, см.п.1
Было дело, меня вообще наказали за то, что «не увидел ошибку начальника» — дверь входную в магазин запроектировали шириной 1500 мм с шириной створки 700. Пожарники, СЭС и клиент взвились как… Ну, не важно. Важно, что деньги сняли со всех.
#5 Ответ от ET 18 февраля 2005г. 13:57:15
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Клиент (начальник …) всегда прав, но до определенного предела.
Например, купив пакет кефира мы не разносим же магазин на куски с криком «Клиент всегда прав!».
—
Возвращаясь к теме.
Скажем — ошибка в проекте. Если это происходит между фирмами (заказчик — исполнитель), то все ясно как бы. Исполнитель исправит собственные недоработки за свой счет. Главное, чтобы расходы по проекту были бы меньше доходов.
Теперь посмотрим на конструктора от кого растут ноги ошибок. Если ошибка связана с низкой квалификацией конструктора в данной области, то в чем его вина, если его назначили? Если ошибка в деталировке (длина балки и т.д.), а сам проект выполнен на хорошем уровне, то это просто «ляп». От этого никто незастрахован.
—
Наш завод получил заказ, но СРОКИ!
Прикинули, что оформленный проект займет 80% всего времени. Производство же успеет, если КД в течении первой недели.
Приняли «полит.» решение — выдаем упрощенную документацию — все изделие на одном листе + программы для резки. Если этот чертеж вывести на А0, то практически все залилось черным. По мере изготовления изделия выводили чертеж кусками — просто нужное место. Круглосуточно конструктор находился на заводе.
За заказ получили 1.2 уе, себестоимость — 0.7 уе ! Уже премии дома расписывали.
Но пришла рекламация на 0.1 уе, оплатили.
После разбора полетов «виноваты» конструкторы и нас конкретно прокатили по деньгам.
—
После этого мы стали наказания через суд снимать.
См. пример выше. Но вот беда, все в трудовой комиссии юристы и не понимают ни чертежей, ни «кухни» проектирования. Они знают только законы. Но нет закона об ошибках. Приходится лопатить всякие законы и приплетать их к делу по случаю и без оного.
—
Может кто подскажет какой-либо закон (любой страны) для нашего примера?
#6 Ответ от kpblc 18 февраля 2005г. 14:11:08
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
Насколько мне помнится, был в свое время разработан документ нечто вида «сроки проектирования». Если его нет, то его надо разрабатывать для данного предприятия и на его основе (а не на основе желания левой пятки второго начальника слева) обосновывать сроки проектирования и изготовления конструкций.
#7 Ответ от ET 5 марта 2005г. 10:00:41
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Нашли кое-что. В нашей маленькой стране есть закон, а там такая статья:
Работодатель обязан:
…
…
6) установить порядок приемки и браковки выполненной работы;
…
.
Отсюда цепочка: чертеж — цикл (приемка <-> доработка) — в производство.
Юристам понятно (закон). В итоге констр. ошибки по определению не существует!
Во как!
#8 Ответ от brigval 6 марта 2005г. 20:05:51
- brigval
- Активный участник
- Откуда: Подмосковье
- На форуме с 11 декабря 2001г.
- Сообщений: 2,315
- Спасибо: 1
Re: Ошибка в чертежах. За что наказывать конструктора ?
Виноват только руководитель, который поручает разработчику, хотя бы и очень хорошему человеку, работу не соответствующую его уровню квалификации! Встречается сплошь и рядом.
#9 Ответ от diz 22 июня 2006г. 16:19:28
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
В штампе чертежа мы проставляем подписи:
1 Разработал_____
2 Проверил_______
3 ГИП____________
4 Утвердил_______
Хотелось бы узнать степень ответственности людей ставящих свои росписи.
Я делаю чертежи на стадии КМ, КМД и соответственно подписываюсь напротив «разработал». Но случается что по некоторым узлам или принятым профилям у меня возникают разногласия с ГИПом. Причём в споре я ссылаюсь на СНиП, а ГИП на свой опыт. В итоге волевым решением сверху в узлах происходят изменения с которыми я не согласен, но подпись свою ставить приходится. Отсюда и вопрос поставленный в начале.
#10 Ответ от LeonidSN 22 июня 2006г. 22:15:43
- LeonidSN
- Активный участник
- На форуме с 30 мая 2005г.
- Сообщений: 1,480
- Спасибо: 5
Re: Ошибка в чертежах. За что наказывать конструктора ?
Вопрос где-то философский, хотя и злободневный, поэтому позволю себе выступить немного отвлеченно.
Понятно, что существует межличностный аспект, то есть оформленные или неформальные отношения и попытки выявить виноватого или свалить вину. См. например дело Нодара Канчели.
Но я о другом. Есть твоя конструкторская совесть, которая тебе ясно укажет: Ты виноват!
Или — Ты не виноват. И что бы ни говорили и не предпринимали другие, даже если они сильнее тебя, держись. Верь своему внутреннему голосу.
Иначе потеряешь уверенность и вылетишь из профессии. И это еще не самое страшное, я знаю случаи и с летальным исходом.
Итак, что считать конструкторской ошибкой? Ошибку в проекте допущенную вследствие недостаточной квалификации или случайно(ляп, описка, просмотр).
Это ошибки по собственной вине.
Может быть вынужденная ошибка — форсирование работ под нереальные сроки, работа с некачесвенными исходными данными, ну и т.д.
Это ошибка не по твоей вине, а значит, не твоя ошибка.
Ссылаться на вереницу подписей не следует.
Ты сам себе судья, сам защитник и сам палач.
#11 Ответ от ZZZ 23 июня 2006г. 02:13:50
- ZZZ
- Активный участник
- На форуме с 20 декабря 2004г.
- Сообщений: 449
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Когда разработчик оформляет свои чертежи то одновременно и проверяет и исправляет за собой свои ошибки(ляпы), а выдача неоформленных чертежей впопыхах это и есть большая ошибка начальства (сроки ли видите у них горят).
> diz
Как у тебя записано, в такой и последовательности по возростанию и есть ответственность. И вообще рыба гниёт с головы.
#12 Ответ от FreeCAD 23 июня 2006г. 06:53:56
- FreeCAD
- Восстановленный участник
- На форуме с 11 октября 2005г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> ET
А как насчёт прокатить такого руководителя. Т.е. в следующим проекте просто отказаться работать с такими сроками. Т.к. конструктор несёт ответственность, то он и может давить на то, что в такие сроки он не готов выпустить документацию…
А потом есть понятие, как опытная продукция, при которой снимаются определённые ответственности. Выпускайте документацию с литерой «О», к такой и привязаться невозможно будет.
#13 Ответ от diz 23 июня 2006г. 12:02:23
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Понимаете у меня двоякая ситуация. С одной стороны ГИП который старше по должности и соответственно в случае чего несёт большую ответственнось с другой СНиПы о которых он не хочет слышать. Если я не исправлю то что считаю правельным и могу это даказать ссылаясь на СНиП, на то что говорит ГИП ссылаясь на опыт, не будет его подписи и проект я не сдам. Приходится идти на сделку с совестью и думать о последствиях.
#14 Ответ от Filings 23 июня 2006г. 12:11:04
- Filings
- Восстановленный участник
- На форуме с 16 июня 2006г.
- Сообщений: 221
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
diz пишет:
Приходится идти на сделку с совестью
О какой совести речь идет? В том смысле, что ГИП- аморальный тип, а СНиП- это моральный кодекс проектировщика? Или все таки речь идет о зарплате? Т.е. и зарплату получить и в белом костюме остаться?
#15 Ответ от diz 26 июня 2006г. 13:30:50
- diz
- Восстановленный участник
- На форуме с 18 октября 2004г.
- Сообщений: 107
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Неужели работать по СНиП и получать зарплату это взаимоисключаемые вещи?
#16 Ответ от kpblc 26 июня 2006г. 13:41:07
- kpblc
- Активный участник
- Откуда: С.-Петербург
- На форуме с 29 ноября 2004г.
- Сообщений: 8,348
- Спасибо: 23
Re: Ошибка в чертежах. За что наказывать конструктора ?
> diz
Весь проект под собственную подпись, для критичных решений — взять номер документа для внутреннего документооборота, несколько копий, одну — секретарю, одну — ГИПу. Одну — себе. Если рухнет, отвечаешь не ты
Сам так в свое время делал:)
—
Добавлено: именно потому, что ГИП старше по должности и опытнее, он в случае чего отмазаться сможет. Чем больше бумаги, тем чище пятая точка
#17 Ответ от приборист 14 июля 2006г. 01:17:00
- приборист
- Активный участник
- Откуда: Молдова
- На форуме с 24 июля 2005г.
- Сообщений: 262
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> diz
Отвечает «разработал», но в штампе основной надписи после ее модернизации исчезла запись «чертил» и получилось, что твой техник, который за тобой дочерчивает, деталирует (в общем выполняет чисто техническую и оформительскую работу) становится чуть ли не соавтором разработки со всеми вытекающими из этого факта последствиями. Короче, если раньше «разаботал» означало «автор разработки»,а «чертил»- это чертил , то потом пошел бардак и круговая порука типа ГИПы и т.д. Это исчезло в году 65-68. И привело к многочисленным спорам о соавторстве.
#18 Ответ от Beer 30 июля 2006г. 20:37:04
- Beer
- Восстановленный участник
- На форуме с 9 декабря 2003г.
- Сообщений: 123
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Ой господа «лирики-физики», с вашими СНиПами и совестью, да в экспертизу! Вот уж сказка была бы для проектировщиков! А то сидят там….
#19 Ответ от LeonidSN 31 июля 2006г. 20:22:58
- LeonidSN
- Активный участник
- На форуме с 30 мая 2005г.
- Сообщений: 1,480
- Спасибо: 5
Re: Ошибка в чертежах. За что наказывать конструктора ?
> ET
За что наказывать конструктора ?
Но это же очевидно, Ватсон!
Конструктора надо наказывать за выбор профессии.
А точнее, за неумение открутиться: «Назвался груздем — полезай в кузов!»
#20 Ответ от Михаил74 31 июля 2006г. 21:27:00
- Михаил74
- Восстановленный участник
- На форуме с 6 июня 2006г.
- Сообщений: 194
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
FreeCAD пишет:
А как насчёт прокатить такого руководителя. Т.е. в следующим проекте просто отказаться работать с такими сроками. …
Мораль проста: Сначало ищешь справедливость, а потом ищешь … работу :(. Такова она, не виртуальная реальность.
#21 Ответ от приборист 1 августа 2006г. 01:37:08
- приборист
- Активный участник
- Откуда: Молдова
- На форуме с 24 июля 2005г.
- Сообщений: 262
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
> LeonidSN
Не ходите дети в лес, не становитесь конструкторами. Близкое по смыслу «конструктор-это такой столб, о который чухается любая свинья». Так что правда «Назвался груздем — полезай в кузов!»
#22 Ответ от ET 7 ноября 2008г. 13:27:13
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
О!
Какая старая тема!
Теперь уж сам начальник
А с ошибками — воз и поныне там.
Теперь проблема с заказчиком: наша ошибка
или их неправильное техзадание?
Или тему в юмор перенести?
#23 Ответ от brigval 7 ноября 2008г. 18:49:14
- brigval
- Активный участник
- Откуда: Подмосковье
- На форуме с 11 декабря 2001г.
- Сообщений: 2,315
- Спасибо: 1
Re: Ошибка в чертежах. За что наказывать конструктора ?
ET пишет:
Теперь уж сам начальник
А за что надо наказывать начальника?
#24 Ответ от ET 14 ноября 2008г. 19:22:23
- ET
- Восстановленный участник
- На форуме с 7 ноября 2003г.
- Сообщений: 52
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Да за всё.
Работа в группе (КБ и т.п.)
основана на фундаментальных принципах (2005-02-16 17:02:46) kpblc (с) :
1. Группа всегда права.
2. В ином случае — см. п.1.
Поэтому сижу — не жужжу.
#25 Ответ от Сергей 25 ноября 2008г. 17:55:25
- Сергей
- Восстановленный участник
- На форуме с 25 января 2002г.
- Сообщений: 358
- Спасибо: 0
Re: Ошибка в чертежах. За что наказывать конструктора ?
Опечатка безусловно является ошибкой.
Вообще, имхо, что такое ошибка хорошо понятно.
Другой вопрос — степень наказания и надо ли наказывать вообще. А это зависит от:
1. Конкретной ситуации(насколько сложно эту ошибку устранить).
2. Корпоративных правил и интрокорпоративной политической ситуации.
3. И, как следствие, количества ответственных лиц и их степени ответственности в соответствии с локальными нормативными актами и устными правилами.
Страницы 1 2 Далее
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Ошибка — конструктор
Cтраница 1
Ошибки конструктора различаются: А.
[1]
Причинами поломок деталей многих машин могут быть ошибки конструкторов при оценке влияния на прочность концентраторов напряжений. Например, шпоночные канавки являются очагом концентрации напряжений. Часто поломка валов начинается с трещин вблизи шпоночных канавок.
[3]
Конструкционный отказ — отказ, возникший вследствие ошибок конструктора или несовершенства методов конструирования.
[4]
Конструкционные дефекты возникают на детали в результате ошибок конструктора. В большинстве случаев эти дефекты выражаются в виде усталостных трещин в местах, концентраторов напряжения, допущенных при конструировании.
[5]
Такие отказы в большинстве своем связаны с ошибками конструкторов или несовершенством принятых методов проектирования и конструирования.
[6]
Однако нельзя считать, что в эксплуатации только устраняются ошибки конструктора и производства, хотя доля таких ошибок еще велика.
[7]
К конструкционным относят отказы, имеющие в своей основе ошибки конструкторов, допущенные в процессе проектирования, или несовершенство методов, принятых при конструировании.
[8]
Однако нельзя считать, что в ходе эксплуатации только устраняются ошибки конструктора и производства, хотя доля таких ошибок еще велика.
[9]
В первые 10 лет работы по ЕСКД изменения, вызванные ошибками конструкторов, составили 10 % общего числа изменений; 40 % изменений конструкторских документов были вызваны изменениями стандартов, покупных изделий, технологии и требованиями производства, а 50 % — проведением мероприятий по улучшению качества, снижению материалоемкости и трудоемкости изготовления продукции.
[10]
По происхождению дефекты изделий подразделяют на конструктивные, являющиеся следствием несовершенства конструкции из-за ошибок конструктора; производственно-технологические, возникающие при отливке и прокате металлов, изготовлении и ремонте деталей ( пайке, сварке, клепке, склеивании, механической, термической и других видах обработки, нанесении покрытий и др.), а также эксплуатационные, возникающие после некоторой наработки изделия в результате усталости металла дега-лей, коррозии, изнашивания и неправильного технического обслуживания и эксплуатации.
[11]
По происхождению дефекты изделий подразделяют на конструктивные, являющиеся следствием несовершенства конструкции из-за ошибок конструктора, производственно-технологические, возникающие при отливке и прокате металлов, изготовлении и ремонте деталей) пайке, сварке, клепке, склеивании, механической, термической и других видах обработки, нанесении покрытий и др.), а также эксплуатационные, возникающие после некоторой наработки изделия в результате усталости металла деталей, коррозии, изнашивания и неправильного технического обслуживания и эксплуатации.
[12]
В этот перечень не включены конструктивные недостатки, несмотря на то, что их источником являются ошибки конструктора.
[13]
В этот перечень не включены обычные конструктивные недостатки, несмотря на то, что их источником являются ошибки конструктора, за исключением тех случаев, когда они имеют своим следствием отказы по вине оператора.
[14]
Как показывает опыт многолетней работы конструкторского подразделения, занимающегося проектированием и авторским надзором машин средней сложности в условиях серийного производства, основная масса ошибок конструкторов, выявляемых при контроле чертежей, относится к нарушениям требований государственных стандартов, в большинстве случаев ( 90 %) ГОСТов ЕСКД.
[15]
Страницы:
1
2
Ответы на вопросы Юнацкевич А.Р. гр. 216-251
1 Механические испытания относятся к
Разрушающему виду контроля
2 Измерение твердости относится к
Неразрушающему виду контроля
3 Неразрушающий физический контроль – это совокупность
Неразрушающего контроля и ВИК
4 По степени проникновения в материал все виды неразрушающего физического контроля условно подразделяют на
Поверхностные и объемные
5 Поверхностные виды (методы) неразрушающего контроля – это такие, которые позволяют обнаруживать дефекты
имеющие выход на поверхность
6 Объемные виды (методы) неразрушающего контроля – это такие, которые дают возможность обнаруживать
внутренние дефекты материала
7 Какой вид НК всегда производится в первую очередь?
ВИК
8 После проведения ВИК какой метод предпочтительней применить?
Измерение твердости
9 Одновременно с твердометрией обычно измеряют
толщину стенок объекта
10 Неразрушающий физический контроль всегда проводят в
Первую очередь
11 В процедуру неразрушающего контроля, как правило, включают 2 метода:
один поверхностный и один объемный
12 Наиболее опасными дефектами являются
микротрещины и макроскопические нарушения сплошности
13 Дефектом называется
каждое отдельное несоответствие продукции требованиям нормативов
14 Может ли ошибка конструктора привести к дефектам?
Да
15 Какими методами являются методы НК?
Косвенными
16 Чувствительность метода
— выявление наименьшего по размерам дефекта
17 Какие явления лежат в основе методов неразрушающего контроля?
Механические
18 ВИК — контроль может осуществляется
Только специалистами
19 Как проводится ВИК в агрессивных средах и труднодоступных местах?
дистанционными телеметрическими системами.
20 Каким инструментом контролируются сварные швы?
Эндоскопом
21 Визуальный контроль с применением оптических приборов называют
визуально-оптическим
22 Выпуклость (вогнутость) стыкового шва оценивается по
максимальной высоте (глубине) расположения поверхности шва
23 Для визуального и измерительного контроля тавровых, стыковых и нахлесточных сварных соединений, а также измерения зазора между кромками свариваемых деталей и высоты усиления шва применяется
Универсальный шаблон Красовского
24 Цена деления шкалы барабана гладких микрометров равна
0,01 мм
25 Магнитный метод неразрушающего контроля основан на анализе взаимодействия
магнитного поля с контролируемым объектом
26 От чего зависит коэрцитивная сила материала конструкции? (отметить нужные)
Размера зерна
Термомеханической обработки
27 Магнитные методы неразрушающего контроля применяют
Только на ферромагнитных материалах
28 К какой группе относится дефект типа складчатость?
Дефект поверхности.
29 Какие механические свойства можно определять с помощью коэрцитиметра?
Твердость
30 Какие свойства стали изменяются в цементированном слое?
Твердость поверхности
Конструкторские ошибки
Конструкторская ошибка – это расхождение желаемого (необходимого заказчику) результата конструирования с действительным, то есть воплощенным в документации. Практика показывает, что при разработке новых изделий в большинстве случаев проявляются несовершенства конструкции, так как предварительно учесть все влияющие факторы зачастую невозможно; объект проектирования в этом случае нуждается в «доводке». Однако и при изготовлении документации на уже существующие и выполняющие свою функцию изделия также могут возникать некоторые несоответствия.
Последствия расхождений
Значимые параметры объекта, как правило, подвергаются надлежащему контролю, как на этапе составления документации, так и на стадии производства. Многие детали допускают некоторую вариативность своей конструкции без влияния на их работу. В этом случае разницу между исходным и полученным объектом в параметрах, не являющихся значимыми, нельзя считать ошибкой.
При несоответствии значимых параметров изделие не будет обеспечивать требуемого результата. В случае изготовления детали по образцу она может не вписаться в кинематическую схему механизма или попросту не встать на свое место. При реверсивном инжиниринге узел или агрегат может функционировать не так, как нужно, либо вовсе не функционировать. Также есть вероятность выхода из строя изделия до завершения срока эксплуатации – например, если неверно определена марка стали (деталь разрушилась, пружина потеряла упругость).
Причины ошибок
Даже при наличии у конструктора необходимой квалификации и опыта он не застрахован от ошибок, в том числе не по своей вине, при разработке документации на готовые изделия. Существуют следующие основные причины несоответствия документации исходному образцу.
Исходные данные предоставлены заказчиком в неполном объеме. Здесь проявляется субъективность конструктора.
Неточности при сканировании или обработке трехмерных моделей. Например, из-за невозможности выполнять сканирование при оптимальных условиях.
Износ исходного образца изделия. Объект в процессе эксплуатации может деформироваться, сточиться, утратить некоторые первоначальные свойства.
Человеческий фактор. И на старуху бывает проруха.
Методы предотвращения ошибок
Чтобы избежать негативного результата, следует тщательно контролировать значимые параметры объекта.
Запрашивать всю необходимую информацию у заказчика.
Дублировать информацию, в том числе полученную при сканировании: выполнять контрольные замеры вручную; делать фотографии объекта и его частей с измерительным инструментом; выполнять эскизы образца. Сравнивать полученную трехмерную модель и чертежи с исходным объектом, эскизами, фотографиями. Хранить данные обмеров в архиве.
В случае износа детали – восстанавливать размеры по ответным звеньям.
Во всех случаях – изготавливать опытный образец и тестировать его на соответствие своему назначению.