ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Среда
17 июля
583174 Топик полностью
Николай Коровин (01.03.2015 13:21, просмотров: 113) ответил vmp на Вот и подросло новое поколение программистов, не читавших "Мифический человеко-месяц". :(
Мне даже интересно стало, как бы каждый из нас подошёл к решению %) Мой вариант такой (сначала предлагайте, потом читайте спойлер): 1) к старой радарной группе делается подключаемая вместе с/вместо диспетчерского терминала коробочка. На входе -- координаты в формате старой системы (ХЗ уж какие они там -- м. б. вообще аналоговые импульсы с радара) и собственные координаты на геоиде. На выходе -- некий унифицированный протокол, сколько и чего радарная группа видит над собой. Казалось бы, элементарный (просто массив из N точек на геоиде), но тут мы вовремя одёргиваемся и вспоминаем, что радарная группа может быть неполной или на краю поля зрения борт может провожать/встречать только один радар. Так что борт может выражаться не только точкой (строго детерминированное положение), но и множеством точек (т. н. геометрическое место), в любой из которых он может быть. Как правило, это луч, в геометрическом смысле этого слова. До кучи любая точка/множество должна иметь параметр "заявленное качество", т. е. декларируемую радарной группой точность/достоверность определения, тоже в общепринятых единицах -- пусть будут "три сигма". То есть над протоколом надо месячишко помедитировать, копаясь в куче бумаг с инцидентами и техдокументацией, пока не придумается стройный способ описать всё нужное. Скажем, порядок нумерации, ведь мы можем достоверно знать, что эта точка -- такой-то борт, а можем -- недостоверно. Так что, может, на протокол и не месячишко уйдёт, а поболе. 2) к коробочкам подключаются терминалы, копирующие старый интерфейс. Некоторое время они работают параллельно, так мы убеждаемся, что не налажали в ПО и протоколе. Старый и новый терминалы показывают одно и то же, а мы пока пилим ПО терминалов, которое может не только показывать, но и объединять данные от соседних коробочек посредством сетевого обмена, если есть сеть и по ней идёт не мусор (мало ли, злобный терр), ну то есть любую ноду можно блокировать по команде оператора. Даже свою, если на радарную группу напал глюконат кальция. Или, наоборот, если мы потеряли, упрощённо говоря, один радар из двух и вместо точки видим только множества (возможность такого переключения при потере радара должна решаться в пределах блока "радарная группа + коробочка"), то за счёт соседского радара можем при объединении получить снова координаты. 3) новые терминалы проходят обкатку боем, подстрахованные старыми, а мы смело разрабатываем новые девайсы, уже нативно работающие по "коробочкину протоколу" -- скажем, временно подключаемый в систему "GPS" (условно говоря, поэтому кавычки) на борту, который скидывает собственное мнение о своих координатах, которое вливается в общее интегрирование. В принципе, каждый отдельный радар нового поколения может быть нодой, поскольку выдаёт инфу о множестве возможных точек, а объединение в радарную группу происходит уже на терминале. Тем не менее, возможность делать нодой сразу группу -- не временный костыль для коннекта со старыми группами, а способ цеплять девайсы типа того же "GPS", где на выходе точка, а не множество. Вот моё решение задачи на уровне "школьного учебника", то есть без профессиональных подробностей. Такой условно-абстрагированный тест на архитектурное мышление. А вы кто как мозги поразмяли? Выкладывайте.