Гость
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как грамотно составить претензию разработчику? / 25 сообщений из 67, страница 1 из 3
15.11.2011, 13:27
    #37527181
Schastlivy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Добрый день!

Прошу помощи в непростой для меня ситуации. Я работаю системным администратором в компании, которая наняла разработчиков для написания информационной системой с бэкендом на FireBird 2.5. Сейчас, когда проект уже почти сдан, начала появляться проблема в виде зависания их программы - интерфейс зависает наглухо, висит пока не скинешь через таск-менеджер. В процессе совместной с разработчиками отладки, в логе FireBird были найдены сообщения об ошибке "INET/inet_error: read errno = 10054". Гугление привело к информации о том, что проблема связана с обрывом TCP соединения. Со стороны разрабатываемого ПО при этом не выдаётся никаких ошибок, программа также не пытается повторно установить соединение. Разработчики отказываются от любых доработок продукта, ссылаясь на то, что эти зависания являются следствием плохой настройки серверов и глючностью сети. Однако, в моём понимании, их ПО должно либо самостоятельно переоткрывать соединение, либо хотя бы выдавать сообщение об ошибке - ведь в текущей ситуации пользователи и начальство уверены, что эта проблема связана с производительностью серверов (дескать, раз программа зависла, значит всё медленно работает), но у меня есть логи, которые показывают, что серверы практически ненагружены.
Прошу совета, как правильно составить претензию, на какие нормативы можно ссылаться? Нутром понимаю, что есть общепринятые или даже задокументированные требования к такого рода приложениям, но куда копать - совершенно не понимаю. Сначала хотел сослаться на то, что сеть Ethernet - изначально ненадёжная среда, допускающая потери пакетов, но ведь TCP учитывает этот момент и TCP-сессия уже является достаточно надёжной и в теории не долна рваться просто так. В общем, дайте совет, на что акцентировать внимание.
...
Рейтинг: 0 / 0
15.11.2011, 13:47
    #37527236
Реалист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Schastlivy,

Вам наверно нужно вот сюда

По сабжу:
Прежде чем давать советы по составлению претензии, проясните несколько вопросов:
Кто принимал решение об использовании FireBird и языка разработки самого приложения? Был ли этот выбор сделан самими разработчиками или это было требование указано в самом ТЗ на разработку ПО?

В общем случае, в ТЗ должны быть требования к интерфейсу ПО. В списке этих требований может (должно) быть прописано максимальное время отклика на действия пользователя. Поэтому лучше сделать глупое лицо и требовать выполнение этого пункта, а причины такого поведения программы Вас вообще интересовать не должны.
...
Рейтинг: 0 / 0
15.11.2011, 13:48
    #37527238
shaden
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Да не подписывайте акт выполненных работ и все, какие проблемы-то...
И скажите, что пока не будет устранена ошибка, не будет полной или частичной оплаты.
...
Рейтинг: 0 / 0
15.11.2011, 14:14
    #37527298
Аксолотль
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
SchastlivyINET/inet_error: read errno = 10054
для начало было бы неплохо найти дефектное сетевое оборудование по маршруту, такие ошибки на ровном месте не появляются. А потом, посмотреть, есть ли в договоре пункт о том, что заказчик обязан предоставить рабочее железо для программы и использование им кривого оборудования = проблемы заказчика.
...
Рейтинг: 0 / 0
15.11.2011, 16:47
    #37527640
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
SchastlivyРазработчики отказываются от любых доработок продукта, ссылаясь на то, что эти зависания являются следствием плохой настройки серверов и глючностью сети. Однако, в моём понимании, их ПО должно либо самостоятельно переоткрывать соединение, либо хотя бы выдавать сообщение об ошибке

Не факт. Очень многое зависит от глючности сети (глючный свич, плохой обжим, некачественный кабель), настроек ОС (таймаут для TCP, например) и других факторов, которые зависят от системного/сетевого администратора больше, чем от программиста. Понимаю, что в данном случае речь именно о ваш, поэтому отдельно подчеркиваю - ничего личного, только попытка помочь.

SchastlivyПрошу совета, как правильно составить претензию, на какие нормативы можно ссылаться? Нутром понимаю, что есть общепринятые или даже задокументированные требования к такого рода приложениям, но куда копать - совершенно не понимаю.

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

Сначала хотел сослаться на то, что сеть Ethernet - изначально ненадёжная среда, допускающая потери пакетов,
Договор смотрите. Мы в своем, например, указываем, что без нормально настроенной рабочей среды все претензии отсылаются на йух. А то можно допрограммироваться до требований работоспособности программы при отключенном эликтричестве (были инциденты).
...
Рейтинг: 0 / 0
15.11.2011, 16:52
    #37527650
Cane Cat Fisher
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Повторяется ли ошибка при каком-то конкретном режиме, тяжелом запросе? Или случайным образом в разных режимах, то проходит все нормально, то ошибка?

Воспроизводится ли ошибка на тех же данных, но на другом оборудовании (например, локально)? На том же оборудовании, но на других данных (на меньшем количестве данных)? На другой версии FireBird?

После чего конкретно начала появляться ошибка? (обновление версии программы, наполнение БД реальными данными, обновление антивируса на серверах и т.п.)? Возможно ли восстановить прежнюю ситуацию, чтобы ошибка исчезла?
...
Рейтинг: 0 / 0
15.11.2011, 17:35
    #37527758
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Schastlivy,
вы же админ!
Сделайте для приёмки тестовую сеть\раб.место\стенд.
В ТЗ должны быть записаны правила приёмки ПО и параметры окружения.
ЗЫ. Самостоятельно переоткрывать не должна, если это не указано в ТЗ.
Так, после перекура или обрыва сети, все клиенты ломануться переоткрывать свои таблички?
...
Рейтинг: 0 / 0
15.11.2011, 17:36
    #37527763
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
протестируйте наконец - выдерните сетевой кабель и посмотрите реакцию проги :))
...
Рейтинг: 0 / 0
15.11.2011, 22:38
    #37528237
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
> для написания информационной системой с бэкендом на FireBird 2.5

Хотели геморрой - получили геморрой.
...
Рейтинг: 0 / 0
16.11.2011, 00:25
    #37528332
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
То, что программа наглухо зависает из-за проблем, не связанных с железом и ОС компьютера, на котором работает - ошибка программы, это бесспорно. Должна ли программа пытаться при этом "всё починить" или хватит сообщения об ошибке - вопрос, но виснуть она не должна.

В то же время это в общем неисключительная ситуация. Например, во времена восьмого оракла так иногда подвисал сетевой протокол, и приходилось отстреливать поток по TerminateThread, другое просто не помогало.

Исправить такую проблему в ситуации "программа почти готова" может быть довольно проблематично. Я бы посоветовал поискать в ТЗ пункты, которые можно притянуть к этой ситуации, а также пункты, которые по тем или иным причинам не выполнены или плохо выполнены, после чего ненавязчиво предложить разработчикам выбор "либо полюбовно исправляем так, чтобы обоим было комфортно, либо идём на принцип и требуем от вас максимума вот по этим пунктам ТЗ".
...
Рейтинг: 0 / 0
16.11.2011, 00:27
    #37528336
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
guest_20040621> для написания информационной системой с бэкендом на FireBird 2.5

Хотели геморрой - получили геморрой.

Точно! Надо было юзать трехзвенку из большой тройки в полном составе. Тогда она бы сама запрограммировалась вместо программистов и сама настроила сеть вместо администраторов.
...
Рейтинг: 0 / 0
16.11.2011, 02:23
    #37528399
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
softwarerТо, что программа наглухо зависает из-за проблем, не связанных с железом и ОС компьютера, на котором работает - ошибка программы, это бесспорно.

10054 - это обрыв клиентского соединения на уровне TCP. Пока winsock (у ТС-а же винда?) не отрапортует клиенту об обрыве соединения, клиент обязан ждать. По дефолту - несколько часов (могу ошибаться, но таймаут меряется в часах).

softwarer Должна ли программа пытаться при этом "всё починить" или хватит сообщения об ошибке - вопрос, но виснуть она не должна.

А она и не виснет. Она ждет ответ за запрос.
softwarerВ то же время это в общем неисключительная ситуация. Например, во времена восьмого оракла так иногда подвисал сетевой протокол, и приходилось отстреливать поток по TerminateThread, другое просто не помогало.

Об чем и речь. В случае когда ОС не способна (не должна?) отрапортовать об ошибке из-за , приходится выискивать варианты. Вопрос только в том, проблема ли это клиентского софта, или может стоит пнуть сетевого администратора, чтобы он наконец проверил активку в своей сети о трех свичах?
softwarerИсправить такую проблему в ситуации "программа почти готова" может быть довольно проблематично. Я бы посоветовал поискать в ТЗ пункты, которые можно притянуть к этой ситуации, а также пункты, которые по тем или иным причинам не выполнены или плохо выполнены, после чего ненавязчиво предложить разработчикам выбор "либо полюбовно исправляем так, чтобы обоим было комфортно, либо идём на принцип и требуем от вас максимума вот по этим пунктам ТЗ".
Собственно, о чем и речь изначально - смотреть договор. Боюсь только, что раз вопрос поднят здесь, договор подписывался типовый, «для галочки», а у заказчика и/или исполнителя нет возможности и/или желания проверить сеть/вписать кастомную проверку таймаута.
...
Рейтинг: 0 / 0
16.11.2011, 09:32
    #37528553
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
miwaonline10054 - это обрыв клиентского соединения на уровне TCP. Пока winsock (у ТС-а же винда?) не отрапортует клиенту об обрыве соединения, клиент обязан ждать. По дефолту - несколько часов (могу ошибаться, но таймаут меряется в часах).
Клиент что, подписку давал в КГБ, что что-то обязан? Никто не мешает поставить вменяемый таймаут. Если с этим проблема, никто не мешает повесить внешний контролёр, который насильственно гасит подвисший поток.

Блин, ну вот у тебя есть браузер. Он почему-то время от времени пишет 10054 и вовсе не ждёт "несколько часов". И 10060 он пишет разумно быстро. Неужели нельзя вспомнить об этом перед тем, как гнать чушь?

miwaonlinesoftwarer Должна ли программа пытаться при этом "всё починить" или хватит сообщения об ошибке - вопрос, но виснуть она не должна.

А она и не виснет. Она ждет ответ за запрос.
То есть смысл слова "виснет" ты не понимаешь. Проехали.

miwaonlineОб чем и речь. В случае когда ОС не способна (не должна?) отрапортовать об ошибке из-за , приходится выискивать варианты. Вопрос только в том, проблема ли это клиентского софта,
Это не вопрос. Это некачественная реализация клиентского софта.

miwaonlineили может стоит пнуть сетевого администратора, чтобы он наконец проверил активку в своей сети о трех свичах?
Одно другому не мешает. Когда твоя программа падает из-за ошибки, например, "файл не найден" - это кривая программа или стоит пнуть администратора, чтобы он поправил настройки?

miwaonlineБоюсь только, что раз вопрос поднят здесь, договор подписывался типовый, «для галочки»,
В договоре "для галочки" пунктов, которыми можно выворачивать руки, обычно куда больше, чем в толковом. Например, там обычно присутствуют дурацкие пункты типа "любой отчёт должен строиться не больше пяти секунд", на которые обычно по умолчанию кладут разумных размеров болт.
...
Рейтинг: 0 / 0
16.11.2011, 10:02
    #37528603
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
> Точно!

Вы будете смеяться, дружище, но выбор среды и СУБД говорит о квалификации заказчика и исполнителя больше, чем им бы хотелось. Некомпетентность - основной источник проблем. Что и иллюстрирует приведенный пример.
...
Рейтинг: 0 / 0
16.11.2011, 12:13
    #37528874
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
miwaonlineПо дефолту - несколько часов (могу ошибаться, но таймаут меряется в часах).
ошибаешься. Речь идет о секундах

softwarerвот у тебя есть браузер. Он почему-то время от времени пишет 10054 и вовсе не ждёт "несколько часов". И 10060 он пишет разумно быстро. Неужели нельзя вспомнить об этом перед тем, как гнать чушь?потому что он пишет ответ на запрос. Неужели нельзя об этом вспомнить? А ТС описывает совершенно другую ситуацию. И в этой ситуации, прежде всего, нужно проверять свою сеть, которая, судя по всему, даже не вякаяет об отвалах. Такое бывает.
...
Рейтинг: 0 / 0
16.11.2011, 12:15
    #37528877
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
guest_20040621> Точно!

Вы будете смеяться, дружище, но выбор среды и СУБД говорит о квалификации заказчика и исполнителя больше, чем им бы хотелось. Некомпетентность - основной источник проблем. Что и иллюстрирует приведенный пример.
выбор FB ничего не иллюстрирует.
...
Рейтинг: 0 / 0
16.11.2011, 12:23
    #37528899
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
iscrafmпотому что он пишет ответ на запрос. Неужели нельзя об этом вспомнить?
А клиентская программа, обращающаяся к файрбёрду, что пишет? Запрос на ответ?

iscrafmА ТС описывает совершенно другую ситуацию.
Абсолютно ту же. Просто видит её в логах сервера, поскольку клиентское ПО прореагировать на неё не удосуживается (в чём и состоит претензия к нему).

iscrafmИ в этой ситуации, прежде всего, нужно проверять свою сеть, которая, судя по всему, даже не вякаяет об отвалах. Такое бывает.
Проверять сеть, конечно, нужно. И нормально писать ПО тоже нужно. Если уж клиент файрбёрда не умеет отловить такую ситуацию и выдать аналог ORA-3113 - придётся взять нормальное ПО сделать эту работу самому.
...
Рейтинг: 0 / 0
16.11.2011, 12:28
    #37528917
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
softwarer,

может стартовый пост прочитаете?
...
Рейтинг: 0 / 0
16.11.2011, 12:36
    #37528938
Schastlivy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Всем большое спасибо за ответы!

Кто принимал решение об использовании FireBird и языка разработки самого приложения? Был ли этот выбор сделан самими разработчиками или это было требование указано в самом ТЗ на разработку ПО?
БД выбирал разработчик, но на всякий случай проверю этот пункт в тз. Язык разработки точно не задавался жёстко.

для начало было бы неплохо найти дефектное сетевое оборудование по маршруту, такие ошибки на ровном месте не появляются. А потом, посмотреть, есть ли в договоре пункт о том, что заказчик обязан предоставить рабочее железо для программы и использование им кривого оборудования = проблемы заказчика.Заниматься детальной диагностикой сети, сейчас, к сожалению, возможности нет (сильно занят другой задачей), в голову приходит только посмотреть статистику потерь по SNMP. Глюк появляется всего несколько раз в день, уже в продакшен среде с ~100 клиентами. Сама сеть - коммутаторы HP, сервера Intel, с кабелями вроде проблем нет (до этого работало год без подобных проблем). Между серверами всего один свич. Есть ещё, правда, пару дешёвых пятипортовых свичей на перифии, но они уже в коммутаторы уровня доступа втыкаются. Но тем не менее: как же так?? Ну, глюкнула сеть, оборвалась сессия - почему ошибку или предупреждение не выкинуть??

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

[quot]
Я бы советовал копать в сторону полюбовного решения проблемы./Само собой до суда и финансовых претензий доводить не хотелось бы.

Касаемо претензий - копать в сторону договора, который вы подписали, и тех.задания, которое является неотъемлимой частью договора.
Для общего развития - в сторону фразы "гост на разработку программного обеспечения", забитой в поисковик.Сейчас пойду гуглить и изучать договор, буду искать, за что можно зацепиться.

Договор смотрите. Мы в своем, например, указываем, что без нормально настроенной рабочей среды все претензии отсылаются на йух.Что есть нормально настроенная рабочая среда? С юридической точки зрения?

Повторяется ли ошибка при каком-то конкретном режиме, тяжелом запросе? Или случайным образом в разных режимах, то проходит все нормально, то ошибка?Ошибка носит случайный характер, закономерностей в последовательности действий/используемом функционале/объёме выборки не замечено.

Воспроизводится ли ошибка на тех же данных, но на другом оборудовании (например, локально)? На том же оборудовании, но на других данных (на меньшем количестве данных)? На другой версии FireBird?Добиться стабильного воспроизведения даже в имеющейся среде не получается, пускать же пользователей не на терминальный сервер, а на сервер БД считаю достаточно странным методом диагностики (для тестирования локального запуска). Остальные пути диагностики пока откладываются, т.к. нет возможности детально ими заниматься.

После чего конкретно начала появляться ошибка? (обновление версии программы, наполнение БД реальными данными, обновление антивируса на серверах и т.п.)? Возможно ли восстановить прежнюю ситуацию, чтобы ошибка исчезла?Трудно сказать точно, было 2 события: переезд БД на новый сервер, и постоянные смены версий ПО разработчиками (об изменениях они нас частенько забывают уведомить)

[qout]
Сделайте для приёмки тестовую сеть\раб.место\стенд.
В ТЗ должны быть записаны правила приёмки ПО и параметры окружения.
ЗЫ. Самостоятельно переоткрывать не должна, если это не указано в ТЗ.
[/qout]Если в продакшене на 100 клиентов глюк появляется всего несколько раз в день у разных клиентов (каждый из них цепляется к базе напрямую), то, думаю, на тестовом стенде вопроизвести проблему просто не получиться. По поводу переоткрытия сессии - а это мысль! Мы можем внести этот пункт в тз на доработку в ближайшее время =)

[qout]
протестируйте наконец - выдерните сетевой кабель и посмотрите реакцию проги :))[/qout]Ошибку сети выдаёт, зараза..


В общем пойду пока с договором ознакомлюсь, диагностику будет возможно не раньше, чем через месяц выполнить
...
Рейтинг: 0 / 0
16.11.2011, 12:40
    #37528953
Schastlivy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Оу, прошу прощения за сбитое цитирование, но кнопку редактирования не вижу совсем
...
Рейтинг: 0 / 0
16.11.2011, 12:47
    #37528977
iscrafm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
SchastlivyНу, глюкнула сеть, оборвалась сессия - почему ошибку или предупреждение не выкинуть??
Вы недостаточно полно для этого обрисовали ситуацию. Потому что действительно могут быть глюки, о которых клиентское приложение даже и не узнает. Конечно это не отменяю необходимости в адекватном таймауте, вместо глухого зависания
...
Рейтинг: 0 / 0
16.11.2011, 13:51
    #37529182
Leonidv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
Schastlivy,

В ТЗ где-нибудь был прописан пункт о количестве одновременных пользователей? Попробуйте провести нагрузочное тестирование.
...
Рейтинг: 0 / 0
16.11.2011, 20:45
    #37530234
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
> выбор FB ничего не иллюстрирует

СУБД для информационной системы? Более, чем странный выбор.
...
Рейтинг: 0 / 0
16.11.2011, 22:05
    #37530343
miwaonline
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
guest_20040621> выбор FB ничего не иллюстрирует

СУБД для информационной системы? Более, чем странный выбор.

Это пять! В цитатник!
...
Рейтинг: 0 / 0
16.11.2011, 22:24
    #37530363
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как грамотно составить претензию разработчику?
> Это пять! В цитатник!

Вам полезнее было записать это на лбу. Чем-нибудь ярким. Проснулись утром, посмотрели в зеркало, вспомнили, осознали. Поделки в качестве СУБД, дружище, информационным системам противопоказаны. По определению. Не понимаете - просто запомните.
...
Рейтинг: 0 / 0
Форумы / Разработка информационных систем [игнор отключен] [закрыт для гостей] / Как грамотно составить претензию разработчику? / 25 сообщений из 67, страница 1 из 3
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]