Здравствуйте, cl-user, Вы писали:
CU>Здравствуйте, eao197, Вы писали:
E>>Думаю, вам будет интересно почитать: Все, что вы хотели спросить о сертификации бортового программного обеспечения, но боялись узнать.
E>>Хотите ли вы сами проходить через такую сертификацию?
CU>"Хотите" здесь неуместно. Либо проходишь, либо "не в теме". CU>А вы хотели бы летать на самолётах, на которых установлено ПО не прошедшее никакой сертификации?
Здравствуйте, cl-user, Вы писали:
C>>Есть и другие стандарты качества. Пытались их применить и к софту — фигня получается. CU>Значит нужны свои собственные.
Так есть — стандарты на процессы разрботки. RUP, например.
Здравствуйте, cl-user, Вы писали:
E>>Хотите ли вы сами проходить через такую сертификацию? CU>"Хотите" здесь неуместно. Либо проходишь, либо "не в теме". CU>А вы хотели бы летать на самолётах, на которых установлено ПО не прошедшее никакой сертификации?
Софт для самолетов не сертифицируется. Сертифицируется программно-аппаратная система.
Если нужна надежность, то вместо никому не нужных сертификатов используют формальные методы проверки и доказательства кода, и очень глубокое тестирование. Т.е. реальные методы проверки качества.
Они безумно дорогие, поэтому использовать их для чего-то сильно отличного от кода управления Шаттлом или Боингом — просто нет смысла. Это все равно что делать все окна во всех домах из пуленепробиваемого стекла — на случай если на улице вдруг стрельба начнется.
Здравствуйте, Cyberax, Вы писали:
C>>>Есть и другие стандарты качества. Пытались их применить и к софту — фигня получается. CU>>Значит нужны свои собственные. C>Так есть — стандарты на процессы разрботки. RUP, например.
C>Другое дело, что они тоже ничего не гарантируют.
Стандарты на процессы — это хорошо. Но без стандартизации продукции — никак
Здравствуйте, cl-user, Вы писали:
CU>Здравствуйте, eao197, Вы писали:
E>>Думаю, вам будет интересно почитать: Все, что вы хотели спросить о сертификации бортового программного обеспечения, но боялись узнать.
E>>Хотите ли вы сами проходить через такую сертификацию?
CU>"Хотите" здесь неуместно. Либо проходишь, либо "не в теме". CU>А вы хотели бы летать на самолётах, на которых установлено ПО не прошедшее никакой сертификации?
Скажите, а вы завели здесь разговор об определенном классе ПО или же о разработке ПО вообще?
Если речь идет о ПО, отвечающем за жизнеобеспечение чего-либо, то мне, естественно, хотелось бы, чтобы требования к его качеству были выше, чем требования к качеству VIM-а или Visual Studio. Если такие требования способны обеспечить какие-то механизмы сертификации, то пусть это будет сертификация.
Однако, хочу заметить, что уже сейчас сертификация (не только по ISO 9000) используется в целом ряде предметных областей. Например, в вещах, связанных с шифрованием данных. Насколько я понимаю, на территории официально России безопасность данных может обеспечиваться только компонентами, сертифицированными ФАПСИ. Хотя качество этих компонентов далеко не всегда совпадает с качеством той же самой OpenSSL.
Так вот, возвращаясь к вопросу "ПО вообще". Представте, что вы делаете какой-то некритичный, в общем-то, софт. Ну, специализированный почтовый сервер, к примеру. Уверены ли вы, что сертификация вашей деятельности способна вам лично, как производителю, помочь повысить качество своего продукта? И согласны ли вы нести издержки на сертификацию?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Cyberax, Вы писали:
E>>>Хотите ли вы сами проходить через такую сертификацию? CU>>"Хотите" здесь неуместно. Либо проходишь, либо "не в теме". CU>>А вы хотели бы летать на самолётах, на которых установлено ПО не прошедшее никакой сертификации? C>Софт для самолетов не сертифицируется. Сертифицируется программно-аппаратная система.
<краткий пересказ статьи скипнут>
C>Они безумно дорогие, поэтому использовать их для чего-то сильно отличного от кода управления Шаттлом или Боингом — просто нет смысла.
А кто-то предлагает использовать именно _такие_? Безумец какой-то...
Здравствуйте, cl-user, Вы писали:
C>>Другое дело, что они тоже ничего не гарантируют. CU>Стандарты на процессы — это хорошо. Но без стандартизации продукции — никак
Хочу тебя удивить, но продукцию никто в мире почти и не стандартизует, нет в этом смысла. Русские ГОСТы — это скорее исключение (местами приятное).
Как-то я слабо представляю себе стандарт на программы рассчета молекулярной динамики, например. Или на программы интерфейса со сканирующим туннельным микроскопом.
Здравствуйте, cl-user, Вы писали:
C>>Они безумно дорогие, поэтому использовать их для чего-то сильно отличного от кода управления Шаттлом или Боингом — просто нет смысла. CU>А кто-то предлагает использовать именно _такие_? Безумец какой-то...
А другого ничего нет. Или адское тестирование и доказательство кода, или ситуация как сейчас.
Здравствуйте, cl-user, Вы писали:
DC>>Целесообразность — меня как юзера, не сильно напрягают вылеты каких-то программ, если не потерялись данные. Вон убунта пару раз зависала намертво, ничё — ребутнул поехал дальше. Klicker пару раз падал, сам перезагрузился и всё ок.
CU>полная безответственность за глюки _коммерческих_ программ начинает доставать...
Я с этим согласен, но как их контролировать из вне, я себе представляю слабо. Просто альтернатива в виде платной поддержки опен сорс продуктов тут выглядит намного вкуснее, т.к. можно проанализировать исходники, это значительно дешевле чем тестировать сложную систему как чёрный ящик.
DC>>Т.е. для десктопа такая надёжность, нафиг не нужна.
CU>Кому как.
ну тогда приведи пример, за того ПО за повышенную надежность которого, ты согласен заплатить больше денег. И насколько больше.
DC>>И механизмы сертификации и контроля ПО от меня тоже ускользнули.
CU>Их и нет пока. Но это не повод не задумываться. На вскидку — я уже сказал — тесты. И процент покрываемого ими функционала. Довольно не плохой показатель.
Тесты не показывают надежность или безошибочность. Кроме того возникает вопрос что именно тестировать? Да и не всё поддается адекватному тестированию.
Гарантий и ответственности от производителя ПО конечно хочется, но как это адекватно реализовать непонятно. Кстати, возникают проблемы с тем, что производитель находится в другой стране.
В общем, я тут вижу, только один путь: платить деньги за уровень поддержки продукта, т.е. за то насколько быстро исправят тот баг, который мешает тебе жить. А сертификации и контроль качества не помогут ИМХО. Мне это мой опыт подсказывает . Т.к. работаю я в такой компании, которая, в силу специфики софта, обязана вести жёсткий контроль качества и сертификацию тоже проходила, и тестирование на каждый чих. В итоге, реально работает только фидбэк от пользователей, которые, к тому же, жалуются на скорость внедрения новых фич.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, eao197, Вы писали:
E>Скажите, а вы завели здесь разговор об определенном классе ПО или же о разработке ПО вообще?
Скорее о "продаваемой продукции"
E>Однако, хочу заметить, что уже сейчас сертификация (не только по ISO 9000) используется в целом ряде предметных областей. Например, в вещах, связанных с шифрованием данных.
С шифрованием всё ясно (откуда ноги растут) и для каких целей.
E>Так вот, возвращаясь к вопросу "ПО вообще". Представте, что вы делаете какой-то некритичный, в общем-то, софт. Ну, специализированный почтовый сервер, к примеру. Уверены ли вы, что сертификация вашей деятельности способна вам лично, как производителю, помочь повысить качество своего продукта? И согласны ли вы нести издержки на сертификацию?
Скажем так — для совершенно некритичного ПО сертификация _процесса производства_ не нужна, но (пусть формальное и автоматизированное) подтверждение соответствия продукта некоему "сертификату" — обязательно. Или же в противном случае выводить (как рекламный баннер ) то самое предупреждение об отсутствии подтверждения качества и любых гарантий с требованием подтвердить своё согласие на запуск программы, предупредив, что сбои сертифицированного ПО во время работы несертифицированного "ложаться на совесть и под ответственность" пользователя (а возможно и после того как эта программа закончит работать) — пусть думает А-ля как у винды с не подписанными драйверами, только фиксировать все подобные запуски, а то и потенциально-опасные действия, и в случае чего "докладывать" — "сам дурак".
Здравствуйте, cl-user, Вы писали:
E>>Так вот, возвращаясь к вопросу "ПО вообще". Представте, что вы делаете какой-то некритичный, в общем-то, софт. Ну, специализированный почтовый сервер, к примеру. Уверены ли вы, что сертификация вашей деятельности способна вам лично, как производителю, помочь повысить качество своего продукта? И согласны ли вы нести издержки на сертификацию?
CU>Скажем так — для совершенно некритичного ПО сертификация _процесса производства_ не нужна, но (пусть формальное и автоматизированное) подтверждение соответствия продукта некоему "сертификату" — обязательно.
Тогда такой вопрос -- может ли играть роль такого сертификата диплом ВУЗа о соответствующей специальности у программиста?
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, Cyberax, Вы писали:
C>Как-то я слабо представляю себе стандарт на программы рассчета молекулярной динамики, например. Или на программы интерфейса со сканирующим туннельным микроскопом.
Эти программы пишут под заказ или для "широких массовых продаж"?
Здравствуйте, cl-user, Вы писали:
C>>Как-то я слабо представляю себе стандарт на программы рассчета молекулярной динамики, например. Или на программы интерфейса со сканирующим туннельным микроскопом. CU>Эти программы пишут под заказ или для "широких массовых продаж"?
Считать ли программу, занимающую 30% рынка — массовой? А если рынок исчисляется десятками тысяч штук?
Здравствуйте, dr.Chaos, Вы писали:
DC>Я с этим согласен, но как их контролировать из вне, я себе представляю слабо.
И я тоже
DC>Просто альтернатива в виде платной поддержки опен сорс продуктов тут выглядит намного вкуснее, т.к. можно проанализировать исходники, это значительно дешевле чем тестировать сложную систему как чёрный ящик.
Не, последнее — мартышкин труд.
DC> ну тогда приведи пример, за того ПО за повышенную надежность которого, ты согласен заплатить больше денег. И насколько больше.
За любое, которое сложнее `cp`, `rm` и т.д. "Больше" — понятие относительное. Для начала, думаю, достаточно прекратить OEM-поставки софта
CU>>Их и нет пока. Но это не повод не задумываться. На вскидку — я уже сказал — тесты. И процент покрываемого ими функционала. Довольно не плохой показатель.
DC>Тесты не показывают надежность или безошибочность. Кроме того возникает вопрос что именно тестировать? Да и не всё поддается адекватному тестированию.
Тесты показывают соответствие тестам Сам процесс тестирования тоже можно стандартизировать. Писать программы с максимальным выносом функциональности в "независимые" функции/классы для обеспечения более полного покрытия тестами. Да мало ли чего ещё. Был бы "пинок" в нужном направлении — наработки появятся.
DC>Гарантий и ответственности от производителя ПО конечно хочется, но как это адекватно реализовать непонятно.
Надо думать. А не отмахиваться "Не, не хочу! Невозможно! Нафиг не надо!!!"
DC>Кстати, возникают проблемы с тем, что производитель находится в другой стране.
Не более чем с любым другим товаром.
DC>В общем, я тут вижу, только один путь: платить деньги за уровень поддержки продукта, т.е. за то насколько быстро исправят тот баг, который мешает тебе жить.
Скорее всего — это в первую очередь, но...
DC>А сертификации и контроль качества не помогут ИМХО.
Ну можешь посмотреть на это с т.з. "таможенных пошлин" — "защита" "хорошего производителя" ("своего") от демпинга со стороны "плохого" ("чужого")
DC>Мне это мой опыт подсказывает . Т.к. работаю я в такой компании, которая, в силу специфики софта, обязана вести жёсткий контроль качества и сертификацию тоже проходила, и тестирование на каждый чих. В итоге, реально работает только фидбэк от пользователей, которые, к тому же, жалуются на скорость внедрения новых фич.
Хм, и ты 100% уверен, что виной тому, что "реально работает только фидбэк от пользователей" и т.д., _ТОЛЬКО_ внедрённый контроль качества и пройденная сертификация, и нет никакого пути улучшить ситуацию, не снизив при этом контроля за качеством?
Здравствуйте, eao197, Вы писали:
CU>>Скажем так — для совершенно некритичного ПО сертификация _процесса производства_ не нужна, но (пусть формальное и автоматизированное) подтверждение соответствия продукта некоему "сертификату" — обязательно.
E>Тогда такой вопрос -- может ли играть роль такого сертификата диплом ВУЗа о соответствующей специальности у программиста?
Как сертификат процесса для одиночки — может (если сам ВУЗ пройдёт соответствующую сертификацию )
Как сертификат на продукцию — нет.
Да, к стати, где языки, тестировать код на которых и доказывать его "вероятную безошибочность" наиболее просто? Принесены в жертву идолу "мэйнстрим-кодер"
Здравствуйте, Cyberax, Вы писали:
CU>>Эти программы пишут под заказ или для "широких массовых продаж"? C>Считать ли программу, занимающую 30% рынка — массовой? А если рынок исчисляется десятками тысяч штук?
Значит должны быть и конкуренты, и тесты. Но 10'000 — это узкая сфера, в которой "потребители" сами могут скооперироваться и выставлять требования "производителям" (я так думаю — цена позволяет).
Здравствуйте, cl-user, Вы писали:
CU>Здравствуйте, eao197, Вы писали:
CU>>>Скажем так — для совершенно некритичного ПО сертификация _процесса производства_ не нужна, но (пусть формальное и автоматизированное) подтверждение соответствия продукта некоему "сертификату" — обязательно.
E>>Тогда такой вопрос -- может ли играть роль такого сертификата диплом ВУЗа о соответствующей специальности у программиста?
CU>Как сертификат процесса для одиночки — может (если сам ВУЗ пройдёт соответствующую сертификацию ) CU>Как сертификат на продукцию — нет.
CU>Да, к стати, где языки, тестировать код на которых и доказывать его "вероятную безошибочность" наиболее просто? Принесены в жертву идолу "мэйнстрим-кодер"
Посмотри в форуме декларативного программирования про TFP, правда, видимо, не всё можно написать при помощи TFP, но там безошибочность 100% при корректной работе железа.
Здравствуйте, Курилка, Вы писали:
CU>>Да, к стати, где языки, тестировать код на которых и доказывать его "вероятную безошибочность" наиболее просто? Принесены в жертву идолу "мэйнстрим-кодер"
К>Посмотри в форуме декларативного программирования про TFP, правда, видимо, не всё можно написать при помощи TFP, но там безошибочность 100% при корректной работе железа.
Я так понимаю, что там безошибочность самой программы. То, что программа будет делать не то, что хотел заказчик, там вряд ли можно гарантировать. Между тем, ошибки в определении требований к программе могут оказаться не менее страшными, чем ошибки в самой программе (вспоминается катастрофа Ариан-а и сбои в аппарате лучевой терапии, из-за которых несколько человек скончались из-за высоких доз радиации).
SObjectizer: <микро>Агентно-ориентированное программирование на C++.
Здравствуйте, cl-user, Вы писали:
C>>А другого ничего нет. Или адское тестирование и доказательство кода, или ситуация как сейчас. CU>Да что-же это такое... Мир совершенен, и любое изменение == ухудшение ситуации? Всё, картинка зафиксирована, и ничего другого и быть не может?
Мир совершенен? Это что-то новенькое.
Технологии создания ПО эволюционируют, тут все нормально. Но кардинально вряд ли что-то в ближайшем будущем изменится.