
Полная версия
Введение в прикладную информатику

Алексей Пермяков
Введение в прикладную информатику
Глава 1 Посвящение
Данный мини-труд посвящается сыну. Его цель – показать мое понимание информатики и дорогу, пойти по которой или нет, решать, конечно, только ему. Поскольку не обладаю в полной мере должными компетенциями и нахальством, чтобы качественно осветить всю тему, прошу заранее извинить за отхождение от канонов, возможную узость мысли и некритические ошибки.
Очень часто информатику путают с программированием. Это касается как бытового понимания, что совершенно не страшно, так и преподавания в школах, что гораздо хуже.
Меж тем, информатика как работа с массивами данных, существенно шире собственно программной части сбора, хранения, обработки, передачи, анализа, оценки и использования информации.
Взгляд практика показывает, что, в прикладном плане, массивы информации и вся работа с ними разделяется на:
- нормативно-справочную информацию (НСИ)
- управление ресурсами
- военное дело
Разделение весьма условно. НСИ повсеместно применяется для задач управления ресурсами, а широко рекламируемый ИИ пытаются задействовать абсолютно везде – от управления оружием, до роботов-сиделок. В каком-то смысле ИИ – это самоорганизующийся и адаптируемый массив информации для группы задач на физических носителях и элементах управления. Пока ИИ не достиг полного совершенства в части самостоятельного мышления и воспроизводства и с двумя этими моментами в человеческом обществе связано немало проблем и страхов.
Основное отличие информатики от программирования в том, что программирование частично не касается информатики, например, в части языка низкого уровня Ассемблер. С другой стороны, внедрение т.н. объектно-ориентированного программирования «превращает в программиста» практически любого пользователя. Т.е. это классический случай путаницы задачи и одного из инструментов ее решения.
Желающим разобраться в информатике предстоит определить направление, в котором он собирается приобрести компетенции. После имеет смысл разбираться со смежными областями и инструментами работы. Я же намерен описать те точки информатики, в которых работаю сам или имею более-менее связное представление.
Сам я попал в IT случайно. Одноклассник - большой фанат информатики, как-то предложил поработать системным администратором в школе и я имел нахальство согласиться. Далее, приобретенные там знания "понадобились" на железной дороги. И, через 30 лет работы, могу точно сказать что немного понимаю в предмете. Конечно, это понимание поверхностное, но сей труд и не претендует на глубину. Засим, приступим ...
Глава 2 Несколько слов о базе ввода-вывода данных

Лучше всего представлять любую сложную информационную систему (ИС) как некий черный ящик, у которого есть более-менее понятные входные воздействия и ожидаемые выходные результаты. Это справедливо для программиста, который «видит» только ту часть системы, программный код которой он создает. Это справедливо для архитектора ИС, который точно не вникает в тонкости программного кода. Моделировщику бизнес-процессов если и интересна интерпретация объектов в машинный код, то больше для «общего развития». И, уж точно, полный и всесторонний взгляд на процессы внутри системы не нужен конкретному пользователю.
Поскольку желаемое от каждой ИС вполне понятно, то нет чрезмерной нужды долго и подробно описывать выходы из нее. Если только, конечно, не посвятить себя задаче наиболее доступного, красивого, самое, главное, выгодного сбыта конечного результата потребителю (начальнику).
А вот на входах стоит остановиться подробнее.
Практически на любой ПЭВМ, кроме пакета программ операционной системы присутствует офисный пакет. Помимо своей непосредственной задачи, он часто используется как средство создания исходных данных. Реже – как средство формы отчетных данных.
Небольшой пример. Кодированный материал, его единица измерения, цена, валюта и период

Например, в некую систему можно завести цену на некий материал. Для того, чтобы она корректно учитывалась, системе необходимо знать, что это за материал, в какой валюте действует цена, период действия цены и сам материал, описанный т.н. номенклатурным номером и единицей измерения. Соответственно, электронные таблицы Excel – вполне годные.
Для задач ввода также весьма часто используются массивы текстовой информации
А, если порыться в памяти, то могу вспомнить, как одноклассник и мой первый наставник работал ручным программатором, выставляя на нем 8 раз переключатель в положение «0» и «1», получая нужный байт и сбрасывая его в ПЗУ 2028 раз, чтобы забить в него 2 килобайта системной информации.
Важно. Задача автоматизации, цифровизации и т.п. не в том, чтобы долго и нудно вручную забивать информацию во входные формы. Равно как и долго и не менее нудно настраивать систему на форму отчета, так же вручную убирая исключения. Тем не менее, очень часто наблюдается более чем странная картина, когда результатом автоматизации становятся неиспользуемые отчеты или увеличение этапов ручной доработки вместо подразумеваемого снижения.
Т.е. можно отметить первый парадокс информатики – она, вовсе не отменяет ручной труд, а нуждается в нем, что в части ввода данных, что в части их приведения в норму после того, как она была обработана. Вторая часть этого заявления весьма спорна, поскольку унификация, стандартизация и ИИ всячески пытаются вырвать «из рук» эту часть работы. Но, безудержный энтузиазм законодателей и разнообразного начальства – не дают это исполнить полностью. Задача информатика в таких условиях – дать исполнителю наиболее скоростной и комфортный механизм входных запросов и выходных форм.
Ввод сканированием
Системы автоматического распознавания текста достигли большого прогресса и теперь даже рукописный текст распознается, при необходимости, переводится с хорошими показателями скорости и качества. Правда, скорость и качество распознавания совершенно необязательно связаны с качеством вводимой в систему информации.
Второй парадокс информатики: одновременные требования противоречащих друг другу адаптации и оптимизации. Можно сослаться на известное выражение, что у каждой сложной задачи есть простое, легкое для понимания неправильное решение.
ЭВМ или ИИ обсчитает что угодно, быстро и с легкодоступным для понимания ответом. Но, если его «кормить» неправильными, расплывчатыми или спорными вводными, то и результат будет соответствующий. Кроме того, при работе необходимо иметь в виду, что настроив, например, некий отчет под нажатие одной кнопки есть серьезный риск его бесконечной перенастройки под требования момента: от законодательных изменений, до хотелок руководства. При этом, крайне недовольны будут обе стороны. Начальство будет топать ногами – что так долго, не понимая, что часто приходится переделывать всю работу чуть ли не с нуля. А, условный «программист» будет злиться – вы можете сформулировать пожелания достаточно четко и полно? – чтоб не пришлось переделывать по сто раз на день.
Голосовой ввод
Прогресс в распознавании речи был достигнут сравнительно давно. Но, несмотря на кажущуюся легкость, ввод данных «голосом» так и не стал не то чтобы доминирующим, но даже распространенным. Пока основные успехи сосредоточены в общении с цифровыми ассистентами, синхронном переводе и военном деле.
Импорт-экспорт данных
Чрезвычайно важным способом поступления данных в любую систему является обмен данными. Это подразумевает выгрузку (экспорт) из системы и загрузку (импорт)в нее. Обеспечение данных операций в части полноты и достоверности – отдельная увлекательная задача.
Глава 3 Роботу нужно твоё тело (о перспективах найма человека ИИ)
Robots need your body because they
can't touch
grass"
слоган платформы RentAHuman.ai
Интересная новость о новом этапе технологической революции – открыт первый маркетплейс, где ИИ выступает в роли работодателя.
Суть довольно простая. Человек регистрируется на платформе, описывает на ней свои компетенции: доставка, фотографии, какие еще либо услуги. Уточняет язык коммуникации, геолокацию услуг. Далее оговаривается ставка работы. Оплата пока в стейблкойнах на эйтериум-кошелек. Далее – потенциальный соискатель ждет вызова от ИИ, который присылает инструкции и оплачивает выполненную работу. Заявляется о почасовой ставке от 50 до 150$.
Пока не очень понятно, как ИИ будет искать платящую сторону и каковы юридические тонкости контракта. Но это очевидные, и преодолеваемые мелочи.
Гораздо интереснее, что теперь не роботы вкалывают «вместо» человека, а ИИ дополняет свой функционал людьми, используя их как инструмент. В тех областях, которые сочтет невозможными или экономически неоправданными.
Безусловно, эта глава технической революции содержит в себе ряд возможностей и немало рисков. Будущее покажет, насколько широки первые и опасны вторые. Лично автору интересна чисто техническая сторона описания человека-соискателя.
Формализовать человеческие навыки достаточно непросто, еще труднее отделить в них реальные компетенции от воображаемых. Например, услуга по настройке компьютера может иметь границы от показа пользователю кнопки включения до полной, пересборки с заменой вышедших из строя деталей, переустановки ОС, настройки драйверов, офисного пакета, специальных приложений и конкретных советов по работе с ними. Причем, заказчику можно тупить сколь угодно и просто заявлять, что компьютер не работает.
Впрочем, проблема не смотрится непреодолимой. Добросовестные мастера всегда бесплатно тестируют и определяют места возникновения проблем, и выдают заказчику примерную смету работ до их начала.
Так что, ИИ, претендующему на наем работника, всего-навсего нужно формализовать списки операций, установить на них временные затраты и примерные расценки. Соискателю же просто пометить те разделы, в которых он считает себя компетентным, а далее истину установят реально выполненные заказы.

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

Строго говоря, штрих-код это не совсем номенклатурный номер. Но красивше скучной группы цифр
Для ИС чрезвычайно важна идентификация объектов и субъектов работы. Одного человека нельзя путать с другим. Точно также нельзя путать материальные объекты. В известном английском стишке, описываются огромные неприятности из-за отсутствия гвоздя в кузнице. Хорошо было в той кузнице – там был слишком маленький ассортимент и перепутать гвоздь для подковы с прочими гвоздями было трудно. Сейчас все немного иначе, хотя, что, казалось бы, может быть проще этой штуки, острой с одного конца?
Смотрим

Гвоздик и евоный номенклатурный номер
Тут масса интересного и путаного.
Современные гвозди бывают «много для чего» В примере - для «обычного» строительства. А еще бывают финишные, кровельные (короткие с широкой шляпкой), шиферные (шляпка еще шире), паркетные (из закаленной стали и часто винтовые). Существуют также гвозди-скобы для пневмопистолетов, а также специализированные (толевые, обойные, брезентовые)

Гвозди разные нужны, гвозди всякие важны ...
В названии отмечено, что гвоздь с конической шляпкой (может быть и с цилиндрической). А также потайной, съемной или фигурной.
И даже форма острия гвоздя бывает коническая, ромбическая или клиновидная. И, чтобы не было никаких сомнений, указанный гвоздь должен соответствовать двум ГОСТ-ам
Смотри, короче, не перепутай! Машина не поймёт.
Самое забавное, что подковный гвоздь – специализированный, плоской формы и имеет непривычное немецко-польское название «ухналь» (нем. Hufnagel через польск. hufnal). И эти ухнали бывают 6 размеров, от 4 до 9 и длину, соответственно от 45 до 70 мм.
Чем сложнее описываемый объект, тем больше приходится раскрывать описание его параметров. Причем, «вмещая» описание в достаточно жесткие ограничения максимума допустимых символов. «На выходе» мы получаем код материала. Его наименование, маркировка, разнообразные параметры, соответствие разнообразной документации, от паспортных описаний до сертификатов соответствия.

Аффтар с метательными гвоздями. Шутка, дротики дартс - ни разу не гвозди и их номенклатура совсем из другой группы
Важным свойством материальных объектов является их т.н. «жизненный цикл». Строго говоря, сам термин относится к конкретному изделию. Гвоздь «рождается», хранится у торговца, продается, используется покупателем и «умирает» приходя через какое-то время в полную негодность и даже рассыпаясь ржавчиной. Но то же самое можно сказать и про саму номенклатурную позицию. Например, шиферное покрытие становится все более редким, в некоторых странах оно и вовсе запрещено. Соответственно, шиферный гвоздь становится невостребованным и ЭВМ это тоже нужно дать понять. Еще проще ситуация с бытовой техникой. Большинство производимых марок через несколько лет снимается с производства, полностью распродается или списывается как неликвид. Соответственно «умирает» и сопоставленный конкретной марке номенклатурный номер.
Количество подобных мертвецов в информационной системе, со временем начинает сильно ей мешать. С другой стороны, крайне опасно менять номенклатуру по принципу «было»-«стало». Старая и считающаяся «мертвой» номенклатура, вполне может заваляться на некотором складе и устраивать на нем пересортицу только потому, что захотелось оживить номенклатурный номер – очень скверная идея.
Решение – блокировка номенклатуры и ее скрытие в системах поиска. Как вариант – вводом в наименование материала специальных символов:
# - материал снят с производства
ИС при обнаружении такого символа не показывает материал при поиске и препятствует заявкам на снабжение.

Немного ухналей - на счастье
Глава 5 Единицы измерения в информационных системах

Единицы измерения
В России и большинстве стран мира принята система измерения физических величин СИ. Хотя, в начале карьеры автора его на полном серьезе пытались принудить ввести в учет единицы измерения – барабан, куча и т.п. Основная проблема для обработки единиц измерения заключается в том, что один физический объект может иметь несколько ЕИ. Как пример – шлифовальная бумага может быть в листах, штуках, упаковках и квадратных метрах. Для того, чтобы не внести в учёт и управление хаос, требуется установить для системы т.н. «базисную» единицу измерения, к которой все прочие будут альтернативными. В штуках или листах учитывать шкурку неразумно, поскольку размер листа может быть большим или меньшим. Тем более, нельзя использовать упаковку, поскольку непонятно, ни что за листы в нее входят, ни сколько в ней штук. Остается кажущиеся непривычными квадратные метры. Важно, чтобы у штуки или листа было указан геометрический размер, для корректного пересчета в м2. А для упаковок, кроме размера входящих в нее листов нужно указывает количество штук или листов.

Чем измерить?
Важно, что сам по себе пересчет из одной единицы измерения в другую тоже заковырист и предполагает использование целочисленных соотношений. Пример: если эмаль фасуется в банки по 0,9 кг., то единицы измерения штуки в килограммы отображаются не в 1ШТ=0,9КГ, а в 10ШТ=9КГ. Так существенно экономится машинное место и время.

Краска. Штуки или килограммы?
Еще одна засада связана с переводом очень маленьких ЕИ в очень большие. Во всех учетных системах металлолома, лом можно обрабатывать с точностью до килограмма. Соответственно, если оприходовать некий сломавшийся латунный кран как 1783300001 ЛОМ И КУСКОВЫЕ ОТХОДЫ ЛАТУНИ МЕДЬ И СПЛАВЫ НА ОСНОВЕ МЕДИ (ГРУППА III-VIII, КЛАСС А) с точностью до граммов, в системе возникает практически неразрешимая проблема. Акт взвешивания показывает, что сломанный кран весит 1,5КГ. Но, в системе учета нет возможности написать 1,5, только 1 или 2КГ. Более того, и принимающая сторона согласится получить только 1КГ или 2 КГ и никак иначе. Дело в том, что оптовые покупатели учета металлолома во-первых имеют учет, вообще, в тоннах. К тому же, почти любой металлолом, во-вторых, согласно ГОСТ имеет такое понятие как засор, т.е. присутствие в ломе посторонних примесей. В случае рассматриваемого крана – каких-либо трудно извлекаемых прокладок-уплотнителей. В точности до граммов нет никакого практического смысла.
Актуальны и трудности округления. Валюты всех стран мира, рубль не исключение имеют точность до сотой части (100 копеек=1 рубль). Соответственно, пересчет стоимости малой ЕИ в большую (килограммы в тонны, или, еще страшнее, миллиметры в километры) приводит к большим погрешностям общей стоимости. Как общепринятое решение, в бухгалтерской документации применяется метод учета не «цена за единицу измерения» с выходом на суммарную стоимость, а общая сумма за общее количество продаваемого или покупаемого товара (услуги).
Кстати, учет лома драгоценных металлов, напротив, идет в граммах и долях граммов. Там совершенно другая система работы, законодательного окружения и отчетности.

Учёт топлива - еще та головная боль
Еще один интересный случай, связанный с ЕИ, касается учета топлива. В связи с заметной зависимостью объемных показателей от температуры, количество заливаемого или отпускаемого топлива различно при пересчета из веса в объем, или наоборот при разных температурах. Это особенно важно при существующем механизме контроля. Топливо поступает на склад в килограммах или тоннах и условный бензовоз легко и с высокой точностью можно взвесить до и после загрузки/выгрузки топлива. Отпуск же через раздаточные пистолеты осуществляется в литрах. Но, если при учете остатков топлива не иметь в виду, при какой температуре топливо попадало в емкость хранения и при какой его покидало, можно получить избыток или недостачу. Особенно остро стоит проблема хранения не в подземных резервуарах, которые в намного большей степени зависят от уличной температуры и содержат в себе намного большие объемы.
Частично, проблема перевода одних ЕИ в другие решается на уровне ГОСТ. Так, например, ГОСТ на кабельную продукцию достаточно жестко увязывает вес и длину кабельной продукции. Та же ситуация в трубах, получаемых тоннами и килограммами, но укладываемыми в работу метрами.
Глава 6 Классификация товарно-материальных ценностей (ТМЦ)

Что это? Как посмотреть...
ТМЦ недостаточно идентифицировать в информационной системе. Для также них актуальна задача классификации – т.е. сопоставления/отнесения номенклатуры к самым разнообразным массивам данных.
Суть, например, в том, что финансирование закупок или учет продаж осуществляется в жестких рамках финансового учета. Кроме того, ИС используют сопоставления для многочисленной и самой разнообразной отчетности.
Примеры сопоставления:
ТМЦ - ОКПД2 (Общероссийский классификатор продукции по видам экономической деятельности) Так, уже помянутый строительный гвоздь 6,5Х200 сопоставлен ОКПД2 25.93.14.111 Гвозди строительные.
ТМЦ – статья Платежного баланса. Гвоздик будет уже сопоставлен статье 65700-МЕТАЛЛОПРОКАТ
ТМЦ – структурное подразделение. ИС нужно понимать, на каком структурном подразделении, кто работает с данным материалом. Т.н. задача «привязки» также определяет, как материал покупается или продается в сопоставлении с планом счетов бухгалтерского учета.
ТМЦ – ответственный исполнитель работ. Его определяют либо прямой кодировкой через код, либо, опосредовано, через персональные данные
В ходе проведения закупок крупной организацией, вышла еще одна проблема группировки. Номенклатурный перечень оказался чрезмерно широким. Например, производители бытовой техники постоянно выпускают все новые модели, совершенно необязательно с радикальными отличиями в функционале и качестве. Подразделения компании заявляют о потребности в технике и у снабженца получается необходимость закупки огромного перечня однотипной продукции разных производителей/поставщиков с крайне незначительными отличиями.
Как пример – номенклатурный перечень микроволновых печей содержит более 200(!) строк. Причем, содержащих уже неактуальные (снятые с производства) номенклатуры.
Проведение массы закупок, по сути, одного и того же материала, да еще с учетом уже несуществующего в продаже, представляется совершенно неразумной мерой.
Поэтому, заявленный перечень материалов подвергается двойной обработке. Сначала выявляются и блокируются позиции, поставка которых невозможна. К слову, блокировка может быть превентивной. Например, если по данным из системы, материал не использовался длительное время (более 3-х лет). Далее, материалы группируются в т.н. Объекты закупки.

В примере, три разные номенклатуры объединены в 1 объект закупки ОЗ00000098
После проведения конкурса, ОЗ «разворачивается» обратно в 1 номенклатурную позицию, которая и поставляется. Т.е. материал сопоставляется не внешним данным, а группе внутри существующей базы данных.
Кроме того, вполне возможны специфические группы. Как чисто железнодорожный пример – инструменты т.н. строгого учета. Или как более широкий пример – бланки строгой отчетности. Или – средств малой механизации. Для понимания ИС, что номенклатурная позиция используется в качестве той или иной группы, также назначаются соответствующие коды-индикаторы.
Соответственно, план снабжения, например, состоит из 99 столбцов, позволяющих подробнейше описать каждую строку – номенклатурную позицию.
Если немного пофантазировать, то, все товары можно сделать прослеживаемыми – кстати, этот термин вполне официален и в Налоговом кодексе уже есть перечни товаров, по которым бухгалтерский документооборот ведется исключительно в электронном виде.
Т.е. в единой информационной системе станет возможно отследить создание партии гвоздей, ее хранении на складе производителя, транспортировке покупателю, вновь хранению до момента использования, применению и даже утилизации, вместе с пришедшим, со временем, в негодность строением или сдачей в металлолом, что немного фантастично, но в теории, вполне возможно. С технической точки зрения это возможно уже сейчас, хотя есть важнейшее соображение. Проводимые, в рамках информатизации работы должны иметь экономическую целесообразность или, быть направлены в интересах общества. В контексте прослеживаемости, часто звучит идея, что президенту корпорации нужно дать возможность видеть каждый гвоздь на каждом складе. Упуская важное соображение, что эта возможность, в реальности не нужна и никогда не будет использована. Масса довольно дорогих в разработке и отладке отчетов зачастую представляет собою уже помянутых информационных мертвецов, поскольку работают вхолостую. И проблема создания хаоса инструментами задуманными для его упорядочения – остается актуальной. Равно и как балансу между открытостью системы и конфиденциальностью находящихся в ней сведений.
Глава 7 Почему "мертвые" данные нужно "хоронить", но не уничтожать


