От Чобиток Василий
К All
Дата 23.06.2006 17:18:25
Рубрики Танки;

UML в военном деле :-))

Привет!

Кто не знает, UML - универсальный язык моделирования. Используется при моделировании бизнес-процессов и предметной области в программных проектах (т.е. при разработке компьютерных программ), а так же для описания архитектуры программ. Позволяет моделировать с различной степенью детализации, а так же с различных точек зрения. Ориентирован на объектную модель анализа и проектирования...

К чему это я.

Возникла мысля продемонстрировать возможности UML, объектного анализа и проектирования, паттернов (шаблонов проектирования) на непривычной предметной области - на танках :) (смысл в том, что кочующие из книги в книгу по проектированию тривиальные примеры с банкоматами и виндовыми окошками уже надоели)

Т.е. берем танк, как самое общее понятие, и пошагово пробуем описать его боевые свойства с использованием объектного анализа и проектирования. Результаты выдаем в виде UML-диаграмм.

Под "пошагово" понимаю такой подход: в самом начале анализа определяем, что сущность танк может двигаться (метод move), стрелять (fire) и защищаться (protect). Далее, показываем, что это слишком упрощено, т.к. способов движения самим танком не один (есть плавающие, они могут плыть, есть колесный движитель и т.п.), кроме того, есть понятия оперативной и стратегической подвижности, где танк перемещается не сам, а на транспорте... Метод move заменяется на отдельную абстрактную сущность "подвижность", в задачу которой и будет входить осуществление перемещения танка на поле боя, в марше или на транспорте. В итоге одна и та же модель должна позволить использовать совершенно разные методики определения подвижности танка в заданных условиях.

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

В конце концов модель может перерасти в программный код.....

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

P.S. На уровне предварительного анализа уже набросал объектную модель взаимодействия сущностей "средство поражения" - "средство защиты" и предварительную модель подвижности различного уровня (тактическая, оперативно-тактическая, стратегическая) с использованием любых сочетаний перемещения (своим ходом и на транспорте).

Предложения, заявления, жалобы есть?
http://armor.kiev.ua/

От Dervish
К Чобиток Василий (23.06.2006 17:18:25)
Дата 23.06.2006 21:54:39

А базовое описаие "бизнес-логики" и "use-case" дадите? (-)

-

От Чобиток Василий
К Dervish (23.06.2006 21:54:39)
Дата 23.06.2006 22:53:40

Даже не знаю...

Привет!

Сначала ответил в заголовке "Прецедентов пока не будет", а потом подумал...

Моделировать взаимодействие танка с членами экипажа (наподобие взаимодействия программы и юзера) я пока не собираюсь т.к. экипаж рассматривается как неотъемлемая часть человеко-машинной системы "танк". А говорить об использовании модели танка при моделировании различных видов боя пока рано.

Я не ставлю цель охватить все аспекты моделирования на UML и в первую очередь хочу обратить внимание на моделировании объектной структуры с использованием шаблонов, особое внимание выделению и сокрытию изменчивых частей и рефакторинг модели (он же не только к коду применим) при уточнении требований. Ну, и на примерах кода, реализуемого в рамках модели, показать применение модульного тестирования :-)

Хотя... про использование прецедентов интересная мысль.

Например, интересная тема порассуждать насчет прецедентов "UC1 Перемещение", "UC2 Совершение марша" и "UC3 Перевозка". Должны ли UC2 и UC3 быть наследниками UC1 или UC1 должен их использовать?


Предложения, заявления, жалобы есть?
http://armor.kiev.ua/

От Dervish
К Чобиток Василий (23.06.2006 22:53:40)
Дата 23.06.2006 23:44:10

Re: Даже не

День добрый, уважаемые.

>Сначала ответил в заголовке "Прецедентов пока не будет", а потом подумал...

>Моделировать взаимодействие танка с членами экипажа (наподобие взаимодействия программы и юзера) я пока не собираюсь...

Этого пока и не надо. Экипаж не есть ЦЕЛЬ существования танка - как и движок, пушка и прочее...

>Я не ставлю цель охватить все аспекты моделирования на UML и в первую очередь хочу обратить внимание на моделировании объектной структуры с использованием шаблонов, особое внимание выделению и сокрытию изменчивых частей и рефакторинг модели...

>Хотя... про использование прецедентов интересная мысль.

Так структура не возникает сама по себе и не существует ради самой себя. Первичны все равно цели и способы использования. Т.е. в рамках означенного Вами подхода - прецеденты.
Модель, структура и шаблоны возникнут потом - в результате конкретизации средств достиения цели ("реализации прецедентов") и применения ограничений...

>Например, интересная тема порассуждать насчет прецедентов "UC1 Перемещение", "UC2 Совершение марша" и "UC3 Перевозка". Должны ли UC2 и UC3 быть наследниками UC1 или UC1 должен их использовать?

Так работа и начинается с перечня как можно более полного множества прецедентов. Потом из них извлекается поятийная модель, праллельно - строится структура на прецедентах и понятиях...

С уважением - Dervish

От Чобиток Василий
К Dervish (23.06.2006 23:44:10)
Дата 24.06.2006 02:48:22

Re: Даже не

Привет!

>Так структура не возникает сама по себе и не существует ради самой себя. Первичны все равно цели и способы использования. Т.е. в рамках означенного Вами подхода - прецеденты.
>Модель, структура и шаблоны возникнут потом - в результате конкретизации средств достиения цели ("реализации прецедентов") и применения ограничений...

>>Например, интересная тема порассуждать насчет прецедентов "UC1 Перемещение", "UC2 Совершение марша" и "UC3 Перевозка". Должны ли UC2 и UC3 быть наследниками UC1 или UC1 должен их использовать?
>
>Так работа и начинается с перечня как можно более полного множества прецедентов. Потом из них извлекается поятийная модель, праллельно - строится структура на прецедентах и понятиях...


Все верно, если делать это как реальный проект. Я пока не планирую делать цельную модель... На основе имеющегося богатого опыта хочется показать некоторые приемы проектирования и создания модели в экстремальных условиях на уникальной предметной области. Т.е. сначала идут некоторые основы (не очень подробно), где показывается как сущности предметной области можно описать (здесь начинать с прецедентов просто рано) и почему "объект 172М" является классом и когда становится его экземпляром (объектом).

После чего вводятся новые понятия предметной области, моделируются, а потом я говорю, что заказчик был пьян и новые понятия ввел не так и надо переделать ;) идет переделка (рефакторинг), потом вводится понятие шаблонов, некоторые из которых применяем к расмотренному ранее.

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

Ну, это как при изучении UML лучше начинать не с прецедентов, а с понятий объектной модели.

Т.е. в конечном счете к реальной полной (или близкой к таковой) модели может и подойдем, но моя цель сделать не проект, а что-то вроде учебного пособия на чем-то совершенно новом с точки зрения применения UML.

P.S. Хорошо, что будет кому рецензировать ;-)

Предложения, заявления, жалобы есть?
http://armor.kiev.ua/

От Dervish
К Чобиток Василий (24.06.2006 02:48:22)
Дата 24.06.2006 07:19:45

Как будет что - давайте, покритикую (-)

-

От writer123
К Чобиток Василий (23.06.2006 17:18:25)
Дата 23.06.2006 20:25:16

Что-то народ на формализацию потянуло... :)

Недавно один... ммм... индивидуум на "Иракваре" пытался изобразить УК в виде HTML и CSS, теперь вот танки предлагается формализовать. :)

От tarasv
К Чобиток Василий (23.06.2006 17:18:25)
Дата 23.06.2006 19:57:46

Ну и на выходе или имитатор для военных или игруха для хардкорных геймеров ;) (-)


От Dervish
К tarasv (23.06.2006 19:57:46)
Дата 23.06.2006 21:57:07

Не только. "Интеллектуальная САПР БТТ" так и сделается... Только кому - НАТО? (-)

-

От Выфь
К Чобиток Василий (23.06.2006 17:18:25)
Дата 23.06.2006 19:01:50

Секретный код танка

>В конце концов модель может перерасти в программный код.....

А этот программный код что будет делать? :-)

По-моему, модели хорошо работают, когда у них есть конкретная задача. Тогда они упрощаются (усложняются) ровно настолько, чтобы эту задачу решать. А танк _вообще_ можно описывать бесконечно - нет критерия, какой вариант описания лучше, какой хуже.

От Чобиток Василий
К Выфь (23.06.2006 19:01:50)
Дата 23.06.2006 19:32:22

Re: Секретный код...

Привет!
>>В конце концов модель может перерасти в программный код.....
>
>А этот программный код что будет делать? :-)

Нечто... :-))))

Ну, например, если подвижность характеризуется средней скоростью движения из пункта А в пункт Б, то при моделировании подвижности будет высчитываться эта самая средняя скорость преодоления расстояния АБ конкретным танком (это я весьма упрощенно).

>По-моему, модели хорошо работают, когда у них есть конкретная задача.

Конкретные задачи:
- переместить танк из А в Б;
- поразить цель Ц;
- защитить от средства поражения П.

>Тогда они упрощаются (усложняются) ровно настолько, чтобы эту задачу решать. А танк _вообще_ можно описывать бесконечно - нет критерия, какой вариант описания лучше, какой хуже.

А если задачу поставить глобально: в рамках одной объектной модели танка обеспечить возможность одновременно и просчитывать среднюю скорость движения по вероятностным методикам на большом участке пути и моделировать движение в конкретной точке.

А если совсем загнуть, то в рамках той же объектой модели и жизненный цикл эксплуатации отслеживать и ее стоимость считать ;-)))

Предложения, заявления, жалобы есть?
http://armor.kiev.ua/

От Оккервиль
К Чобиток Василий (23.06.2006 19:32:22)
Дата 23.06.2006 21:37:36

Эта игрушка неинтересна

Приветствую Вас!

А вот управление боем тд и влияние укомплектованности дивизии, её штатов, организации, тылового и боевого обеспечения, состава приданных и поддерживающих сил, обученности л\с соответственно ВУС, ппр, состояния дорог, действий противника... на ход и исход боя - это вещь.

С уважением

От Чобиток Василий
К Оккервиль (23.06.2006 21:37:36)
Дата 23.06.2006 22:26:21

Эта игрушка как раз может войти в рамки указанного Вами (-)


От Оккервиль
К Чобиток Василий (23.06.2006 22:26:21)
Дата 24.06.2006 10:04:30

может войти в рамки

Приветствую Вас!

Может. Включаем ещё артиллерийский полк, зрдн, обс, орб, инжбат, медсанбат, ВСЕ службы тыла, ордн, систему управления и связи, взаимодействие с соседями. У противника тоже что-то надо изобразить. На чём прогонять модель будем? У меня дома Эльбруса нету.

С уважением

От Лейтенант
К Выфь (23.06.2006 19:01:50)
Дата 23.06.2006 19:16:34

Re: Секретный код...

>>В конце концов модель может перерасти в программный код.....
>
>А этот программный код что будет делать? :-)

Это как раз понятно :-) У Лема в футурологическом конгрессе все четко описано, в том числе и конкретно про танки ;-)