OberonCore
https://forum.oberoncore.ru/

Ответственность за ошибки в ПО.
https://forum.oberoncore.ru/viewtopic.php?f=27&t=1573
Страница 5 из 6

Автор:  TAU [ Четверг, 14 Май, 2009 16:29 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Валерий Лаптев писал(а):
Помнится, мы писали для республиканского Штаба ГО. Так там каждая перфокарта нумеровалась. При необходимости изменений составлялся акт, что такие -то карты изъяты, и вместо них - такие-то вставлены.
:D

Не вижу повода для смеха.

Вполне оправданный подход для ответственных систем.

Автор:  TAU [ Четверг, 14 Май, 2009 16:31 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Sergo писал(а):
С таким подходом я сталкивался в медицинском оборудовании. С прибором поставляется ноутбук конкретной марки. На нем стоит Windows XP, сконфигурированная так, что пользователь может сделать только три вещи: включить компьютер (при старте виндов программа для измерений запускается автоматически), выйти из программы для измерений, выключить компьютер. Поставить другие программы, проапгрейдить винды и.т.п. там нельзя. Само ПО протестированно как следует, поэтому единственно возможная причина неполадок - поломка ноутбука. Вот при таких условиях фирма готова взять на себя ответственность за работу ПО

Что же, тоже вполне понятный и обоснованный подход.
Кстати, встречается не только в медицинском оборудовании ;-)

Автор:  TAU [ Четверг, 14 Май, 2009 16:33 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Borg писал(а):
Закон и прочие нормы, госты всегда что-нибудь запрещают. Почему у Вас это вызывает возмущение? Запрет помогает заблудшему не пользоваться заведомо опасные трюки. Вы же не призываете в квартиру на 6 этаже входить через балкон спускаясь с крыши, но почему-то допускаете подобное в программирование

+1!

Автор:  Пётр Кушнир [ Четверг, 14 Май, 2009 16:34 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

TAU писал(а):
Пётр Кушнир писал(а):
За деньги клиент(работодатель) вправе потребовать интерфейс поюзабельнее...виноватым назначат пользователя, что неверно
Если не было таких требований - ничего не поделаешь, виноват пользователь.
Если закон будет работать именно так - тогда такой закон не нужен. Это вроде как, если на пилораме главный выключатель загородить пилящим рабочим органом. А для работы, к пилораме приложить кочергу, чтобы ею этот выключатель тыкать. Тут тоже виноватым назначат пользователя, случись чего. В таком случае, лучше(если это возможно, конечно) параллельно с таким законом ввести стандарты на интерфейсы(хотя бы базовые), разделить функциональность на категории по степени возможного ущерба и тд и тп. Для юзеров ввести категории допуска(разряды чтоли), как при работе с электричеством, например. Комплексно подойти стоит, наверное.

Автор:  Vlad [ Четверг, 14 Май, 2009 17:19 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Borg писал(а):
Возникает законный вопрос, зачем вообще в стандарте оставлять такие дыры.


Я же упомянул зачем - гонка за эффективностью.

Автор:  Vlad [ Четверг, 14 Май, 2009 17:27 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Alexey Veselovsky писал(а):
В отличае от той же явы, C++ язык кроссплатформенный.


Тем не менее, вероятность собрать какую-нибудь плюсовую либу на другой платформе с первого раза (без доточки напильником разной величины) стремится к нулю :) С жабой, ИМХО, несколько проще, во всяком случая на популярных платформах. Впрочем на непопулярных C++ все равно отдыхает - там обычно нормальный компилятор сложно найти. Так что реально с жабой может поспорить только Си без плюсов на экзотических платформах :)

Автор:  Vlad [ Четверг, 14 Май, 2009 17:33 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

TAU писал(а):
Vlad писал(а):
мечты выпихнуть C/C++ с ниши ПО в native коде :)

Пппереведи :mrgreen:


Языков, могущих компилировать в машинный код (без дополнительных извращений) осталось не так уж и много. Потому что для ширпотребных задач это никому не надо, а проблем много (начиная с этой самой верификации кода).

Автор:  Alexey Veselovsky [ Четверг, 14 Май, 2009 17:35 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
Alexey Veselovsky писал(а):
В отличае от той же явы, C++ язык кроссплатформенный.


Тем не менее, вероятность собрать какую-нибудь плюсовую либу на другой платформе с первого раза (без доточки напильником разной величины) стремится к нулю :) С жабой, ИМХО, несколько проще, во всяком случая на популярных платформах. Впрочем на непопулярных C++ все равно отдыхает - там обычно нормальный компилятор сложно найти. Так что реально с жабой может поспорить только Си без плюсов на экзотических платформах :)


Ну, во-первых ява работает только на одной платформе -- JVM. Какова вероятность собрать/запустить JVM с первого раза на другой платформе? Вот возьмем скажем какую-нибудь BeOS/Haiku. Мне думается что плюсатую программу я туда "портирую" существенно быстрее нежели явовую.

Во-вторых, не видел пока платформ (быть может у меня кругозор слишком маленький) где бы была нормальная JVM/JRE но небыло бы хорошего компилятора для С++. Обратное наблюдал неоднократно. Взять ту же BeOS&Haiku. Взять AmigaOS, или, скажем, MorphOS. Да даже симбиан если взять -- приличный компилятор C++ имеется (и даже две штуки), JVM приличной не имеется. Только огрызок в виде j2me.

Автор:  Vlad [ Четверг, 14 Май, 2009 17:37 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

TAU писал(а):
А в программировании - отдел QA (Quality Assurance) по идее должен контролировать, чтобы писали правильно...


Хе-хе. Если учесть, что QA зачастую это не сложившийся программист... то в реальный код смотреть ему совсем неинтересно. Контроль "правильности" обычно возлагается на более "старших" коллег, которые работают с этим же кодом. Во всяком случае мне кажется, что это наиболее эффективно.

Автор:  Vlad [ Четверг, 14 Май, 2009 17:47 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Alexey Veselovsky писал(а):
Ну, во-первых ява работает только на одной платформе -- JVM. Какова вероятность собрать/запустить JVM с первого раза на другой платформе? Вот возьмем скажем какую-нибудь BeOS/Haiku.


Давайте не будем в терминологию углубляться. Понятно, что под другой платформой я имел ввиду другой комп с другой ОС. А под популярными платформами я имел ввиду Win-Linux-Mac.

Alexey Veselovsky писал(а):
Во-вторых, не видел пока платформ (быть может у меня кругозор слишком маленький) где бы была нормальная JVM/JRE но небыло бы хорошего компилятора для С++.


M$ Zune :) Там .NET и реально писать можно только на шарпе. На плюсах тоже можно, но оно там не запускается, если сборка unmanaged :) Понятно, что это искусственное ограничение и сама M$ колбасит системный софт для него на собственном VC++. Но тем не менее - факт, заюзать C++ у меня не получилось :)

Автор:  Alexey Veselovsky [ Четверг, 14 Май, 2009 17:57 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
M$ Zune :) Там .NET и реально писать можно только на шарпе. На плюсах тоже можно, но оно там не запускается, если сборка unmanaged :) Понятно, что это искусственное ограничение и сама M$ колбасит системный софт для него на собственном VC++. Но тем не менее - факт, заюзать C++ у меня не получилось :)

Ну, судя по всему, заюзать Java у тебя там получилось. Берешь нетбинзу или иное java-приложение и спокойненько компилишь её под Zune...

Автор:  AVC [ Пятница, 15 Май, 2009 14:49 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Borg писал(а):
AVC писал(а):
Вас же не смущает, что Вирт предлагает считать значение управляющей переменной цикла FOR неопределенным по завершении цикла?

Опять нарушение закона тождества.

Дался Вам этот "закон тождества"... :evil:

Borg писал(а):
Так все будут это знать и учитывать, при создании этой версии Оберон 2007. А как это учесть в С++, если даже непонятно, что учесть и каждый это понимает как хочет.

Я не защищаю Си++ и предпочитаю плюсам Оберон.
Но http://ru.wikipedia.org/wiki/Неопределённое_поведение -- вполне разумная стратегия в ряде ситуаций. Причем именно в тех, когда оно и по смыслу неопределено.
Т.е. в корректной программе проблем с UB не возникает.
Возьмем какой-нибудь простой пример. Скажем, поведение операции битового сдвига в Си/Си++ определено только для значения правого операнда в диапазоне от нуля до числа битов в левом операнде. Это позволяет (как правило) реализовать эту операцию одной машинной инструкцией.
За корректностью приходится следить программисту.
Другой подход -- проверять допустимость операндов для всех операций -- приводит к большим накладным расходам.
Разумный компромисс, IMHO, -- ограничиться гарантиями инвариантов памяти (как в Обероне).

Автор:  TAU [ Понедельник, 18 Май, 2009 15:46 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Vlad писал(а):
TAU писал(а):
А в программировании - отдел QA (Quality Assurance) по идее должен контролировать, чтобы писали правильно...

Хе-хе. Если учесть, что QA зачастую это не сложившийся программист... то в реальный код смотреть ему совсем неинтересно. Контроль "правильности" обычно возлагается на более "старших" коллег, которые работают с этим же кодом. Во всяком случае мне кажется, что это наиболее эффективно

Я не совсем точно сформулировал.

QA, по идее, должен контролировать не только (и не столько!) стиль написания программ, сколько то, как организованы рабочие процессы жизненного цикла - а там не только собственно написание текстов программ, но и отладка, и тестирование, и проектирование, и документирование, и т.д., и т.п.

Автор:  Madzi [ Понедельник, 18 Май, 2009 16:24 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

TAU писал(а):
Vlad писал(а):
TAU писал(а):
А в программировании - отдел QA (Quality Assurance) по идее должен контролировать, чтобы писали правильно...

Хе-хе. Если учесть, что QA зачастую это не сложившийся программист... то в реальный код смотреть ему совсем неинтересно. Контроль "правильности" обычно возлагается на более "старших" коллег, которые работают с этим же кодом. Во всяком случае мне кажется, что это наиболее эффективно

Я не совсем точно сформулировал.

QA, по идее, должен контролировать не только (и не столько!) стиль написания программ, сколько то, как организованы рабочие процессы жизненного цикла - а там не только собственно написание текстов программ, но и отладка, и тестирование, и проектирование, и документирование, и т.д., и т.п.

Не путайте отделы QA и SQM (System Quality Managment: ISO9000,9001,9004)

Автор:  Neus [ Вторник, 19 Май, 2009 19:20 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

AVC писал(а):
Возражение представителя BSA как минимум заслуживает внимания.
Оно необязательно верно на 100%, но переключает внимание с голых деклараций (даешь ответственность производителей ПО! "Убить Билла"!) на конкретику (как влияют компоненты ПО друг на друга, как разграничивать ответственность разных производителей и т.д.).

Долго не был.. извиняюсь.. :)
Я когда запостил эту новость в чат, мне ответили:
- непредсказуемое окружение это юзеры? :D

А заявление представителей компаний производящих свои собственные ОС, что это "непредсказуемое окружение" это расписываться в собственной несостоятельности.
Я максималист? 8)

Автор:  Info21 [ Вторник, 19 Май, 2009 19:50 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Вон Apple решили даже чипы сами проектировать.
Будут контролировать от и до.

Логично -- top-down.

Автор:  AVC [ Вторник, 19 Май, 2009 21:10 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Neus писал(а):
Я когда запостил эту новость в чат, мне ответили:
- непредсказуемое окружение это юзеры? :D

Непредсказуемое окружение -- это другие программы (включая вредоносные).

Neus писал(а):
А заявление представителей компаний производящих свои собственные ОС, что это "непредсказуемое окружение" это расписываться в собственной несостоятельности.
Я максималист? 8)

Утопист :)

Автор:  AVC [ Вторник, 19 Май, 2009 21:21 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Info21 писал(а):
Вон Apple решили даже чипы сами проектировать.
Будут контролировать от и до.

Логично -- top-down.

Логично.
Только как с этим совместить мысль Вирта, что программная система "растет" (снизу вверх, за счет новых модулей)?
А книгу Пфистера "Компонентное ПО", видимо, пора выбрасывать на свалку. (Там написано, что компоненты могут быть от разных производителей.)
И каждый в своем отдельном огородике -- top-down. Почти натуральное хозяйство. :)

Автор:  Vlad [ Вторник, 19 Май, 2009 23:46 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

Info21 писал(а):
Вон Apple решили даже чипы сами проектировать.
Будут контролировать от и до.


Не вижу в это ничего хорошего. Вот захотите вы туда свой любимый ББ портировать, а вам скажут: на нашей платформе в качестве ЯП допустимо использование только Apple ObjectiveC (c) и AppleScript (c).

P.S. Если не верите - посмотрите что уже сейчас творится в производстве софта для iPhone.

Автор:  Info21 [ Среда, 20 Май, 2009 10:58 ]
Заголовок сообщения:  Re: Ответственность за ошибки в ПО.

AVC писал(а):
Только как с этим совместить мысль Вирта, что программная система "растет" (снизу вверх, за счет новых модулей)?

Вы путаете разные вещи.

AVC писал(а):
А книгу Пфистера "Компонентное ПО", видимо, пора выбрасывать на свалку. (Там написано, что компоненты могут быть от разных производителей.)
И каждый в своем отдельном огородике -- top-down.

Речь о разработке системы. Топ-даун, как и положено.
Но в проект системы можно заложить требование ее расширяемости модулями "от разных производителей".
Нет противоречия.
Есть путаница.

Страница 5 из 6 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/