Обновить
3.45

UML Design *

Унифицированный язык моделирования

Сначала показывать
Порог рейтинга
Уровень сложности

Готовим проект в Sparx Enterprise Architect. Наш рецепт

Время на прочтение9 мин
Охват и читатели86K
Дорогой Хабр, мы решили поделиться заметками и нашим базовым рецептом о приготовлении проектов в Sparx Enterprise Architect. Причем под проектом мы подразумеваем создание какой-либо информационной системы. Впереди вас ждет рассказ о том, как у нас все организовано – примеры диаграмм, структура проекта в Enterprise Architect, немного о требованиях, проектировании и постановках на разработку.

Источник
Читать дальше →

Легковесное ядро конечного автомата с автогенератором дерева для embedded проектов

Время на прочтение6 мин
Охват и читатели6.5K
image

Введение


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

Двадцать лет с юзкейсами: выжимаем практический опыт

Время на прочтение12 мин
Охват и читатели90K
У нас в QIWI регулярно проводятся встречи аналитиков и проектных менеджеров, где мы рассказываем друг другу о своем опыте, делимся знаниями и полезными приемами. На одной из таких встреч я рассказал о методике Use Case и о своем опыте работы с ней. Рассказ был встречен на ура, и я решил поделиться им с хабрасообществом.



Я буду использовать разговорное «юзкейс» вместо неуклюжей кальки «прецедент использования». Надеюсь, уважаемая публика меня за это простит.
Читать дальше →

Визуализация интеграционных приложений

Время на прочтение7 мин
Охват и читатели30K
image

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

Отличие каркаса от библиотеки

Время на прочтение9 мин
Охват и читатели6.8K

Предисловие


Не секрет, что современный разработчик старается повысить эффективность и призывает себе на помощь библиотеки и каркасы.


Слово framework(каракас) настолько вошло в обиход, что стала встречаться путаница — что можно назвать каркасом, а что таковым не является?


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

Читать дальше →

Caché Class Explorer — исследуем Caché в нотации UML

Время на прочтение5 мин
Охват и читатели7.9K
Здравствуйте. Эта статья — небольшой обзор инструмента, который помогает разбираться с устройством и структурой данных пакетов и классов внутри СУБД Caché.

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

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

Введение в преобразование моделей (или преобразование, которое создаёт преобразование, которое создаёт модель)

Время на прочтение19 мин
Охват и читатели13K


Сегодня напишем преобразование, которое создаёт преобразование. Лично мне это напоминает «Начало» Кристофера Нолана, где люди видели сны во снах.

Это 7-ая статья цикла по модельно-ориентированной разработке. Я уже полгода пытаюсь написать статью с серьёзным примером разработки, управляемой моделями. Но каждый раз пониманию, что сначала необходимо рассказать о технологиях в целом, разобрать какой-нибудь очень простой пример. Так и в этот раз, хотел только начать статью с «Hello World», а в итоге этот простой пример вырос в здоровенную статью.
Читать дальше →

Разработка визуального языка моделирования с помощью Sirius

Время на прочтение15 мин
Охват и читатели14K


Это третья статья цикла, посвященного разработке, управляемой моделями. В предыдущих статьях мы разбирались с OCL и метамоделями, создавали свою метамодель для языка Anchor с древовидным редактором. Сегодня сделаем редактор Anchor-диаграмм.
Читать дальше →

Разработка метамодели с помощью Eclipse Modeling Framework (и немного про моделирование данных)

Время на прочтение11 мин
Охват и читатели31K


Это вторая статья цикла, посвященного разработке, управляемой моделями. Сегодня мы создадим метамодель, основанную на метаметамодели Ecore. Вскользь затронем моделирование данных, а именно Anchor, 6НФ и концептуальное моделирование.
Читать дальше →

Объектный язык ограничений (и немного про метамодели)

Время на прочтение16 мин
Охват и читатели37K
image

На наш взгляд, объектный язык ограничений (Object Constraint Language, OCL) должен знать каждый, кто занимается моделированием или кому интересна модельно-ориентированная разработка. Однако, он незаслуженно обделен вниманием в сети вообще, а, уж, в русскоязычном сегменте информации просто мизер. Что это за язык и зачем он нужен, описано в этой статье. Статья не претендует на фундаментальность, полноту охвата, точность определений и т.п. Её задача: 1) на простых примерах познакомить с OCL тех, кто никогда не слышал об этом языке, 2) а для тех, кто о нём слышал, возможно, открыть новые способы его применения.
Читать дальше →

Пишем реализацию Observer-а над KVO на objective-c

Время на прочтение6 мин
Охват и читатели7.4K
Добрый день, хабрачитатели. Спешу поделиться с вами опытом, недавно мной полученным.


Почему в этом есть нужда?

Как вы, наверное, знаете — создание более менее внятных и серьезных приложений не может обойтись без грамотного проектирования. Одними из основных задач современного программирования — являются контроль над сложностью, требования создания гибких и расширяемых, изменяемых приложений. Из этого вытекают концепции ортогонального программирования, максимального уменьшения связности между классами, использования наиболее подходящих архитектурных решений (алсо грамотные подходы создания архитектуры проекта, подходы к проектированию классов). За многие человекочасы и человекодни мирового опыта всех разработчиков — были выработаны наиболее естественные и удачные подходы, названные паттернами проектирования… А подходы к проектированию классов — могут в некоторой степени изменяться, в зависимости от используемого языка программирования и требуемых свойств объекта. Описываемый сегодня мной паттерн является одним из моих самых любимых (и вообще достаточно значимый), а именно встречайте:… "Observer" (по-русски — Наблюдатель). Исходя из последних двух предложений — вытекает название этой статьи.
Читать дальше →

Системные и бизнес-аналитики в ожидании самого значимого события сферы!

Время на прочтение5 мин
Охват и читатели9.7K
До Международной конференции по системному и бизнес анализу «Analyst Days-2014», которая пройдет 24 мая в Москве, еще чуть больше месяца, а свободных мест уже почти не осталось. Кто еще хочет попасть на мероприятие, тому стоит поспешить, чтобы обеспечить себе местечко!

image


Возможно, мешают пройти регистрацию сомнения, нужна ли вам конференция или нет? Тогда окончательно убедят вас посетить столь значимое мероприятие сферы несколько эксклюзивно подготовленных интервью со спикерами конференции – Ириной Суровой, системным аналитиком в R&D «Лаборатории Касперского», и Денисом Бесковым, руководителем «Школы системного анализа». Из беседы вы узнаете, какие ключевые качества нужны аналитикам, почему важно посещать отраслевые конференции и что ждет участников «Analyst Days-2014».
Читать дальше →

Конференция Analyst Days словами участников

Время на прочтение1 мин
Охват и читатели4.4K
Салют коллеги!
24 мая в Москве пройдет 3-я конференция по системному и бизнес анализу Analyst Days.
image

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

Об организации конференции

Читать дальше →

Ближайшие события

Отношения классов — от UML к коду

Время на прочтение7 мин
Охват и читатели824K
Введение

Диаграмма классов UML позволяет обозначать отношения между классами и их экземплярами. Для чего они нужны? Они нужны, например, для моделирования прикладной области. Но как отношения отражаются в программном коде? Данное небольшое исследование пытается ответить на этот вопрос — показать эти отношения в коде.
Читать дальше →

Online UML editor

Время на прочтение1 мин
Охват и читатели99K
Сегодня в новостях от CodeProject проскочила ссылка на интересный online-редактор. Позволяет написать написать псевдокоде и получить диаграмму.
Собственно ссылка на codeuml

Еще одна статья о code review

Время на прочтение5 мин
Охват и читатели94K

Что такое code review


Code review - инженерная практика в терминах гибкой методологии разработки. Это анализ (инспекция) кода с целью выявить ошибки, недочеты, расхождения в стиле написания кода, в соответствии написанного кода и поставленной задачи.

К очевидным плюсам этой практики можно отнести:
  • Улучшается качество кода
  • Находятся «глупые» ошибки (опечатки) в реализации
  • Повышается степень совместного владения кодом
  • Код приводится к единому стилю написания
  • Хорошо подходит для обучения «новичков», быстро набирается навык, происходит выравнивание опыта, обмен знаниями.

Читать дальше →

16 инструментов для создания прототипов

Время на прочтение5 мин
Охват и читатели503K


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

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

16 инструментов со ссылками и их краткое описание

Интеллект-карты как неплохой способ систематизировать любую деятельность

Время на прочтение7 мин
Охват и читатели98K
Каждый мой рабочий день на протяжении нескольких месяцев начинается с того, что я открываю интеллект-карту с многообещающим названием «Задачи». Карта постоянно развивается, обрастает новыми веточками и идеями. Несколько месяцев назад этот способ систематизации всего на свете пришёлся мне по вкусу, показался очень естественным и окончательно въелся в сознание.
Интеллект-карты пригодятся, чем бы вы ни занимались. Особенно, если ваша деятельность связана планированием, проект-менеджментом, организацией мероприятий, копирайтингом, проектированием сайтов и т.п. В чём фишка mindmaps, что стоит описывать с помощью интеллект-карт, как они помогают в работе, и чем хороша свободная программа FreeMind — читайте под катом.

image

Читать дальше →

Quantum Leaps QP и UML statecharts

Время на прочтение6 мин
Охват и читатели8K

Предисловие


Данная статья, как мне кажется, будет интересна тем, кто знаком с UML диаграммами состояний и последовательности (statecharts diagram и sequence diagram), а также с событийно-ориентированным программированием (event-driven programming).

Вступление


Кроссплатформенный фреймворк QP (Quantum Platform) от компании Quantum Leaps представлен его создателями как средство разработки RTOS на C/C++. Он позволят существенно увеличить скорость разработки и надежность приложений, а также имеет мощный инструментарий по отладке и логированию. Ко всему этому добавляется еще и то, что QP является очень гибким и легким: разделен на множество модулей, почти каждый из которых можно реализовать самому при сборке фреймворка или воспользоваться предложенным решением; множество настроек выполняется во время прекомпиляции.
Читать дальше →

Кодогенерация на основе UML-модели

Время на прочтение3 мин
Охват и читатели31K
Как нам уже известно, Visual Studio 2010 Ultimate предоставляет достаточно удобные возможности для реверс-инжиниринга. С помощью средств Visual Studio мы можем на основе существующего кода построить UML-модель и понять как у нас, собственно, все работает, но при этом не прилагать гигантские усилия по созданию диаграмм вручную и поддержанию их в актуальном состоянии.

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