Да, в описанных вариантах совершенно очевидно, что по деньгам первый вариант выгоднее. Но только первые пару лет, к сожалению. Потом стоимость сопровождения и доработки системы настолько возрастет, что следующую систему вы, скорее всего, будете заказывать у сторонней компании. Выбирать эту компанию вы будете очень внимательно, по крайней мере из десятка предложенных. И их портфолио изучать, и честный тендер между ними устраивать. Эти выводы, разумеется, только на основе моего опыта разработки различных приложений и только, повторюсь, в случае уникальных систем.
О системах, которые можно построить, надстроить, настроить из тиражных продуктов, можем поговорить в одной из следующих колонок. Самим это делать или довериться опытной компании? Нужно ли учить у себя людей, умеющих настраивать тиражный продукт, если вы уже заказали всю работу сторонней фирме? Вопросов много, и я с удовольствием, как обычно, их прочту в письмах или в комментариях в моем блоге felixm.blogspot.com.
ТЕХНОЛОГИИ: IT-технологии Бога Войны
Автор: Анатолий Сорокин
В наши дни первым (а иногда и единственным) приложением результатов развития хайтека является военное дело. Впрочем, так было в любую историческую эпоху. Высокими технологиями в разное время были (и не потеряли важности, но сейчас так не называются) металлургия и материаловедение, знания по математике, химии и физике, инженерное искусство, связывавшее все это в единое целое. Сейчас под хайтеком понимаются разнообразные применения электронной цифровой вычислительной техники. Несмотря на попытки ухода от прилагательного «вычислительный», в своей основе практически любое цифровое устройство является комбинацией двоичных логических элементов, выполняющих сугубо вычислительные операции, пусть и на уровне булевой алгебры. А если объединить «хайтек прошлого» с «хайтеком нашего времени», то одним из самых ярких примеров применения всех этих технологий в военном деле будет являться современная артиллерия (не случайно в игре Civilization IV Сида Мейера артиллерия — это не только юнит, но и технология в плане развития общества).
Автор этих строк познакомился с артиллерией по воле случая в лице своего РВК, когда туда пришло требование о направлении ряда пребывающих в запасе граждан-программистов на сборы в одну из частей Мулинского гарнизона. До этого были шесть лет обучения на радиофаке Нижегородского госуниверситета, три года не увенчавшейся защитой аспирантуры там же, еще год работы научным сотрудником, до достижения 27 лет. Что греха таить, причина понятна, но в армию попасть таки довелось. 25 дней «партизанщины» были самым настоящим приключением, пришлось познакомиться со всем и поучаствовать во всём, что имеет отношение к армейской службе (горячий привет фанатам офлайновых RPG!). Но самым главным по ходу этой «ролевой игры» было желание по-настоящему освоить воинскую специальность артиллериста-вычислителя. Эта специальность открывает мир приложения хайтека в военном деле, когда сам становишься живым компьютером и начинаешь вспоминать порядком подзабытый школьный и вузовский курс математических дисциплин. Поработав на этом поприще, можно четко сказать, что несет в себе компьютеризация и что представляют собой те самые «таинственнейшие» технологии, о которых так много сейчас пишут в прессе. Здесь не будет упоминания чего-нибудь секретного, более того, возможны и ошибки из-за недопонимания, но надеюсь, что старшие по опыту и званию товарищи поправят, если нужно.
Для незнакомых со спецификой артиллерии кратко изложу суть дела. Артиллерия занимается поражением противника путем стрельбы из орудий или запуска неуправляемых ракет. Стрельба делится на стрельбу прямой наводкой (когда наводчик видит результаты стрельбы и сам корректирует наводку орудия) и на стрельбу с закрытых позиций, когда цель не находится в прямой видимости с линии огня. Первый случай характерен для противотанковой артиллерии, второй — для «артиллерии в узком смысле слова». Хотя бывало и бывает всякое — противотанковые пушки иной раз стреляли с закрытых позиций, а гаубицы — прямой наводкой, но артиллеристы должны мастерски уметь действовать во всех ситуациях. Однако задержимся на случае стрельбы с закрытых позиций (подробно см. ru.wikipedia.org/wiki/Стрельба с закрытых позиций). Именно там возникает необходимость в артиллеристе-вычислителе.
В этом случае наблюдение за целью и результатами стрельбы ведет артиллерийская разведка, чей командно-наблюдательный пункт (КНП) (радар, вертолет, посты сопряженного наблюдения) находится в иной точке местности, нежели огневая позиция (ОП). Соответственно дальность и дирекционный угол до цели, равно как и отклонения разрывов своих снарядов по фронту и глубине измеряются относительно КНП. Наводчику орудия, в свою очередь, требуются установки для орудия (прицел и угол доворота от основного направления) применительно к топографическим координатам ОП. Выполнение этих преобразований — одна из обязанностей вычислителя. При этом могут использоваться ЭВМ с ручным вводом данных, калькуляторы, механические аналоговые счетные приборы управления огнем и расчета корректур, чисто аналитическое решение на бумаге. Также в обязанности вычислителя входит подготовка данных для стрельбы, связанных с меняющимися внешними условиями — погодой, износом орудий, характером решаемой боевой задачи (учет типа боеприпасов, планирование их расхода). Для этого надо уметь работать с многочисленной измерительной аппаратурой и знать многое о происходящих при стрельбе процессах (см. ru.wikipedia.org/wiki/Полет снаряда, ru.wikipedia.org/wiki/Выстрел , ru.wikipedia.org/wiki/Баллистическая станция и другие статьи в категории «Артиллерия». Почти наверняка там есть не одна ошибка или неточность, но тем и хороша Википедия, что знающий человек может легко исправить обнаруженные в статье недочеты.
Все стоящие перед вычислителем задачи необходимо решать за минимальное время, имеются нормативы на время решения. Поскольку российская и советская артиллерия без преувеличения были лучшими в мире по образованности кадров, то в настоящее время существуют эффективные методики быстрого решения вычислительных задач артиллерии. В них задействован целый пласт математики — от тривиальной школьной алгебры до дифференциального исчисления, теории вероятностей и уже не совсем тривиальных разделов стохастики и теории случайных процессов. Говорить об их изяществе и удобстве можно много, но автор испытывал самое настоящее удовольствие, решая с их помощью учебные примеры. Хоть и думал, что университетские знания по математике вряд ли пригодятся в жизни, но они пригодились там, где меньше всего ожидал. А потом вспомнил, что замечательный учебник Елены Сергеевны Вентцель «Теория вероятностей» написан по материалам лекций для одного из военных артиллерийских вузов [Е.С. Вентцель была полковником Советской Армии и преподавателем военной академии — пр. М. Ваннах].
Поскольку вся работа вычислителя есть полнейший аналог работы центрального процессора ЭВМ, то появилась и пара-тройка рекомендаций начинающим программистам в погоне за быстрым выполнением программы: любите таблицы и — меньше сложных операций! В таблицах стрельбы зафиксированы значения для нормальных условий, а выходные данные для многообразнейших внешних параметров получаются путем добавления поправок к затабулированным значениям. Чтобы быстрее и безошибочнее считать, разработаны методики, где операции умножения и деления сведены к минимуму. Кто писал программы на ограниченных по ресурсам системах, тот сразу уловит в этом знакомую нотку. Если же исходные параметры по каким-то причинам неизвестны, то в артиллерии действует правило — узнаем их суммарное влияние на результат сами! Создание и пристрелка реперов с последующим расчетом корректур позволяют методом последовательных приближений добиться желаемого. Здесь уже перекличка с численными методами исследования незнакомых многомерных функций.