Рубрика «UML» - 2

Создавать для программы дополнительное визуальное и документальное сопровождение – процесс трудоемкий и утомительный: отнимает много времени и кажется совершенно излишним, если архитектура программного обеспечения проста или является эталонной. Однако на практике программисты далеко не всегда сталкиваются с такими задачами.

Мы уже рассказывали, как автоматное программирование помогает решать вопросы создания документации и разработки логики всей программы (на примерах от примитивных до сложных). Сегодня поговорим о том, какие еще концепции и инструменты можно использовать для этой цели – и какое место автоматное программирование занимает среди них.

Как проектируют программы: от UML до автоматного подхода - 1Читать полностью »

image

С тех пор как я начал выполнять обязанности системного архитектора, мне чаще приходится рисовать прямоугольники и стрелки, чем писать программный код. С этим можно было бы бороться, например, бессонными ночами участвовать в проектах с открытым исходным кодом, создавать подтверждения осуществимости концепции и демонстрационный код, но и там тоже нужно рисовать прямоугольники, чтобы продемонстрировать архитектуру. Эта статья посвящена визуализации обмена сообщениями в распределенных системах, сервис-ориентированной архитектуре (SOA) и микросервисным приложениям при использовании методологии разработки agile (этот термин потерял свое значение, но более подходящего в данном случае нет).
Читать полностью »

Уже несколько лет я, как аналитик, довольно широко использую в своей работе сценарии использования (СИ) и диаграммы СИ для документирования требований. Вообще, у сценариев использования есть разные названия. Их называют use cases, варианты использования и даже прецеденты. Помню, как в середине 2000-х, на некоторых аналитических ресурсах шло жаркое обсуждение того, как же перевести термин use case на русский язык. Вот тогда это страшное слово «прецедент» и появилось, даже более того, некоторые товарищи утверждали, что русский язык ущербен и не позволяет передать все тонкости понятия use case. Но как показало время, понятие сценарий использования (или вариант использования) вполне себе подходит и довольно приятно на слух.
Читать полностью »

Это — окончание предыдущей публикации, в которой я рассказывал, как с нуля создавать интерфейс с интерактивной графикой в объектно-ориентированной среде разработки. В первой части мы рассмотрели ключевые архитектурные идеи этой системы: использование композиции, делегирования и шаблонных методов.

Сейчас я перехожу к более рутинным вопросам и рассмотрю построение класса, отвечающего за обработку событий мыши и масштабирование, панорамирование, выделение объектов и drag&drop.

Читать полностью »

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

В этой статье мы подробно разберём создание «с нуля» компоненты с интерактивными, «перетаскиваемыми» элементами в объектно-ориентированной среде разработки. В качестве примера мы построим прототип UML-редактора.
Реализация интерактивных диаграмм с помощью ООП на примере прототипа редактора UML-диаграмм. Часть 1 - 1
Читать полностью »

Caché Class Explorer — исследуем Caché в нотации UML - 1 Здравствуйте. Эта статья — небольшой обзор инструмента, который помогает разбираться с устройством и структурой данных пакетов и классов внутри СУБД Caché.

Если кратко, его миссия — выполнить визуализацию класса или целого пакета, показать связи между классами и предоставить максимум информации будь-то программисту или тимлиду без надобности отправляться в Студию и смотреть там программный код.

Тех, кто обучается или ведёт обучение по технологиям InterSystems, днями просматривает или изменяет коды разных проектов и просто заинтересованным лицам — приглашаю ознакомиться с Caché Class Explorer!
Читать полностью »

Представляем библиотеку-ОС (library operating system, LibOS) для Linux.

Наша задача состоит в создании сетевого стека ядра как внешней разделяемой библиотеки, которую можно выполнять в пространстве пользователя, чтобы предоставить персонализированные варианты сетевого стека и средства тестирования. У разработчиков появится инструмент, чтобы упростить симуляцию сложных сетевых топологий из маршрутизаторов/хостов Linux.

Хотя архитектура сама по себе способна виртуализировать многие вещи, нынешний дизайн сосредоточен только на сетевом стеке. Вы можете пользоваться такими функциями сетевого стека как TCP, UDP, SCTP, DCCP (IPv4 и IPv6), Mobie IPv6, Multipath TCP (IPv4/IPv6, пока не включен в основную ветку) и netlink в различных приложениях пользовательского пространства (quagga, iproute2, iperf, wget, thttpd).
Читать полностью »

#ifndef my_habra_entry
#define my_habra_entry

Мир тебе, дорогой читатель!

Минутка откровений. Не кривя душой, открою завесу тайны, что я протёр своё кожаное кресло, ёрзая на нём, и думая, а стоит ли вообще писать это всё. Сомнения одолевали меня до последнего, но кто-то сидящий на правом плече всё же победил кого-то на левом. И вуаля, много букв перед вами. Сразу хочу признаться ещё кое в чём: главная цель написания данной статьи — в первую очередь удовлетворение своих личностных потребностей, амбиций, а, может, и пункта самореализации, которого до сих пор не хватало для завершения процесса достижения вершины эволюционной лестницы…

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

Минутка лирики2 предыстории. Ничего не предвещало беды. Я, ковыряясь в носу одной рукой, и, юзая колёсико мышкой другой, неожиданно для себя и всего мироздания вдруг натыкаюсь на невероятно сладенькую вакансию Product Manager. Вытерев слюни (той рукой, что ковырялся) и трезво оценив, что мы созданы друг для друга, я естественно щёлк-щёлк посылаю на неё осмысленный отклик. Получил тестовое задание, выполнил, отправил. На этом история заканчивается.

В общем, если коротко, статья про сравнение геоинфосервисов, лидеров российского рынка.

Яндекс.Карты, 2ГИС или всё же Google Maps?

Читать полностью »

Недавно команда Whistling Kite Framework выпустила в релиз очередную игру, на этот раз — Змейку, написанную на Unity3D. Как и в большинстве игровых проектов, при решении вопроса о том, насколько детально нужно проектировать приложение, критическим фактором было время. В нашем случае причина проста: т.к. разработка велась в свободное от основной работы время, то идеальный подход к проектированию отложил бы релиз ещё на год. Поэтому, составив первоначальное разделение на модули, мы закончили проектирование и приступили к разработке. Под катом описание того, что из этого получилось, а также пара уроков, которые я вынес для себя.
Архитектура простой 2D игры на Unity3D. План, факт и работа над ошибками
Осторожно, картинки!
Читать полностью »

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

  • есть ли смысл в таком моделировании;
  • какой язык моделирования выбрать (на данный момент мне известны наиболее подходящие языки SDL и UML);
  • на каком уровне абстракции строить модель; строить модель работы конкретно каждого протокола или достаточно построить модель определенной процедуры взаимодействия устройств в самоорганизующейся сети;

В виде пробного варианта смоделировал процедуру соединения между устройствами bluetooth на языке UML с использованием диаграммы последовательности. Далее приведены текстовое описание данной процедуры и модель построенная по этому описанию.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js