Как стать автором
Поиск
Написать публикацию
Обновить
0.45

UML Design *

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

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

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

Время на прочтение9 мин
Количество просмотров6.7K

Предисловие


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


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


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

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

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

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

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

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

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

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


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

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

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

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


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

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

Время на прочтение11 мин
Количество просмотров30K


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

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

Время на прочтение16 мин
Количество просмотров36K
image

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

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

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


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

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

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

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

image


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

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

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

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

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

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

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

Время на прочтение7 мин
Количество просмотров793K
Введение

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

Online UML editor

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

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

Время на прочтение5 мин
Количество просмотров93K

Что такое code review


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

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

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

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

Время на прочтение5 мин
Количество просмотров496K


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

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

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

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

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

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

image

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

Quantum Leaps QP и UML statecharts

Время на прочтение6 мин
Количество просмотров7.8K

Предисловие


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

Вступление


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

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

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

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

Кодогенерация UML->Python (Django)

Время на прочтение3 мин
Количество просмотров13K
Четыре года назад, устроившись на новое место работы, увидел учетную систему приличных размеров на python + wxWidgets + MSSql. Весь исходный код генерировался автоматически на основе UML диаграмм. Спустя несколько лет, я настолько проникся таким способом разработки, что и в собственных проектах на Django стал использовать автогенерацию кода.
Давайте в общих чертах рассмотрим, как выглядит процесс создания «кодогенерируемого» проекта?

Давайте

Проектирование программного обеспечения

Время на прочтение5 мин
Количество просмотров313K
Сегодня процесс создания сложных программных приложений невозможно представить без разделения на этапы жизненного цикла. Под жизненным циклом программы будем понимать совокупность этапов:
  • Анализ предметной области и создание ТЗ (взаимодействия с заказчиком)
  • Проектирование структуры программы
  • Кодирование (набор программного кода согласно проектной документации)
  • Тестирование и отладка
  • Внедрение программы
  • Сопровождение программы
  • Утилизация

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

Изучение времен английского языка с помощью UML-CRC. Заметка

Время на прочтение1 мин
Количество просмотров6.9K
Добрый день, уважаемое сообщество! Хочу поделиться с вами неплохим, по моему мнению, способом изучения времен английского языка. Я очень надеюсь, что эта заметка будет полезна тем, у кого трудности с изучением времен в английском языке. Не такое уж это простое дело ─ знать 26 времен, а еще сложнее научиться их использовать в нужное время.
суть метода