Про Cobol тут обсуждали... личный опыт..

топ 100 блогов koldoblin06.12.2023

https://peremogi.livejournal.com/69141689.html?view=comments#t1968400313
На счёт — взять и автоматически перевести Cobol на Java.. Ну вот у вас новый код на Java. Миллион корявых строк.

Шаг один выполнен. Ура! Считайте это экспериментальным прототипом.

Но мы говорим о серьёзной организации. Поэтому осталось ещё несколько небольших таких шагов.
Тут мой личный опыт в одной финансовой компании.



Шаг два. У любого финансового продукта должны быть определены требования к функциональности. Есть такой продукт DOORS. Всё что делает ваш продукт, должно быть там определено. Каждая формула и алгоритм, которым программа пользуется. Фактически это тоже самое, что и код, но на английском языке, и всё разбито на кусочки и пронумеровано.

Есть сомнение, что у старого продукта такое есть. Ну значит нужно создать. Т.е. взять старый код и начать переводить на английский язык. После чего пользователь, т.е. какой-то финансист на жирной зарплате должен это утвердить. Тут вообще засада. В зависимости от продукта, это может быть том на тысячу страниц.  И вас могут послать с этой книжкой нафиг.
Ну некогда и зачем мне этим заниматься. Давайте ещё раз поищем дедушку со знанием языка.

Шаг три. Необходимо провести код Review. Каждая строчка нового кода должна быть прочитана программистом сравнена с оригиналом, и он должен подтвердить, код делает то, что нужно. Нигде не произошло печальной ошибки. И 33 тыс не превратятся в минус 233. Кто-то обязан взять эту ответственность на себя. Если вы думаете, что программист что-то пишет, и банкомат начинает сразу деньги выдавать, используя этот код, то мягко говоря ошибаетесь. Код перечитывает несколько человек. Речь ведь о деньгах. Опять же весьма нереальная задача с гигантским объёмом строк.

Шаг четыре. Прогоняем код через софт на проверку качества. Автоматически выявляются места, где, например, не закрыли файл или стрим, не освободил память, переполнили буфер и т.п. зависит от языка. На миллион строк вы возможно получите репорт на десять тысяч дурацких ошибок. И сядете их исправлять.

Шаг пять. Cпециалист по кибер-безопасности прогонит код через свой софт и глаза. И возможно осчастливит вас ещё тем, что вот здесь и ещё тут и тут 100 раз возможна атака Man-in-the-middle. И от переполнение жёсткого диска во время DDOS атаки было бы неплохо что-то придумать. Ну да, ну да, раньше и без этого работало. А теперь раз мы об этом знаем, то уже нельзя. А ещё у вас в log-file пишется секретная информация о продукте и Java-stack намекает на то, какими библиотеками вы пользуетесь. Так тоже нельзя. А без исправлений не подпишу.

Шаг шесть. Тестирование. Тут вообще засада.
В нашей ситуации тестерам придётся пройтись по всем требованиям (шаг 2) и проверить на то, что новый код полностью соответствует. На этапе тестирования к ошибкам относятся с терпением. Тестеры и разработчики из близких отделов. Туда, сюда, обратно, всё исправили.

Шаг семь. QA — гарантия качества. Тоже самое, что и тестирование, но проводит другой изолированный от разработчиков отдел. И тут если что-то ломается, это плохо. Все такой ситуации опасаются.

Шаг восемь. Новая версия ставится на отдельный сервер с липовыми данными, и её тестирует конечный пользователь. И молитесь, сволочи, чтобы всё работало как нужно.

Шаг девять. Подготовка к установке. Пишется план обновления. Каждый шаг в подробности и в виде красивой таблички, с именами участников, временем, сколько займёт и когда шаг будет выполнен.
Всё это проводят вечером после окончания работы большенством сотрудников.
План утверждается начальством, отделами безопасности, отделом администраторов серверов и тп.

Шаг десять. Вечер. Собираются проджект менеджеры. Авторы изменений. Зрители. Был у нас классный мужик. Он приносил всякое пиво, чтобы отметить окончание. Но в начале...
Суть в том, что в процесс завязано очень много людей, чтобы избежать какой-нибудь криминальной подставы.

Звоним в отдел безопасности и объявляем, что сейчас начнётся процесс. Они отключают «сигнализацию» с тех участков, где будут проводить изменения.
Звоним в отдел администраторов и те следуя плану обновления начинают, копировать файлы, редактировать, всякое такое. У обычных сотрудников нет никакого способа добраться до этих серверов. Если администратор туда полезет в другое време, его поймают. На всех базах данных висит куча триггеров на обнавление записей. Они регистрируют все изменения, занося записи в другую базу данных. И там уже ничего не сотрёшь.
После обновления звоним пользователю. Он/она заходит к себе и делает первоначальную проверку того, что вроде всё работает. Если где-то, что-то не так, это очень неприятно, потому что нужно объяснять админу как и где что-то проверить. Например, уровни доступа к файлам, как их исправить. Бывало и такое.
Ну и наконец все по очереди закрываются. Безопасники восстанавливают свои звоночки.
Всё хорошо, пьём пиво!

Оставить комментарий

Архив записей в блогах:
Удивительно, что при всей этой ебаной яростной борьбе с "терроризьмом, экстремизьмом и отмыванием" еще ни одна, даже самая передовая, страна, не догадалась запретить наличные деньги. Это же такой простор для разгула криминала -- Вася дал Пете сто ...
Оказывается можно. Если «Закон» – это кличка животного. В 2005 году Хабаровский филиал компании «Росгосстрах» застраховал коня по кличке «Закон». Животное было застраховано на 40 000 рублей после изучения специалистами страховщика медицинской карты и «квартиры» скакуна. Застраховать ...
В последнее время много пишут о самоуважении. Мол, человек ведет себя тем или иным образом потому, что у него много самоуважения, или мало. Честно говоря, это напоминает мне знаменитое «Если у них нет хлеба, пусть едят печенье!» По крайней мере, принцип используется тот же – ведь ...
Девочки, в первых и вторых родах после сорокаминутного ожидания плацента не отделилась сама, была ручная ревизия. Вот на носу третьи роды (35 неделя), снова предвкушаю... Вопрос такой - может они мало ждут? Мне кажется, если бы подождали дольше, она бы сама отделилась. Но это догадки. Ниче ...
Давно хотелось порассуждать на тему. Тем более, что правильного ответа (ну для меня лично правильного) я не знаю. С одной стороны я ужасно не люблю всякого рода травлю и сплетни. Потому что не люблю коллективные действия вообще, потому что попадают под пресс часто невиновные, в общем ...