На свое удивление я нашел ссылку на отличный бесплатный инструмент по созданию UML диаграмм. Называется он Violet. Скачать его можно здесь.
Для того, что бы скаченный *.jar файл заработал надо выполнить в Terminal следующую команду (все пишется одной строчкой): java -jar имя_скаченного_файла.jar.
Программа Violet работает отлично, за исключением того, что некоторые клавишы на моем маке начали работать по-другому. Напримкер, клавиша delete стала работать только в сочетании с клавишей fn (я работаю на MacBook Pro). Но это ерунда, по сравнению с тем, как просто можно создавать UML диаграммы, сохранять их и экспортировать в картинку.
Ссылку на эту программу я нашел в книге Кея Хорстмана и Гари Корнела "Java 2. Том 1. Основы. Восьмое издание", стр. 130.
Пример пробной диаграммы (не обращайте внимание на содержание, это просто пример).
Showing posts with label диаграма. Show all posts
Showing posts with label диаграма. Show all posts
Monday, July 5, 2010
Tuesday, June 29, 2010
UML – хорошее начало для проектирования сайта на Java. Часть 3: учусь на своих ошибках
По диаграмме сайта из этого поста я уже получил конструктивное замечание от моего друга-программиста, за что очень признателен. Вывод, который я сделал для себя: не нужно было связывать эту диаграмму с UML. Суть замечаний следующая:
Кроме всего прочего этот человек считает, что лучшая книга по UML написана Мартином Фаулером (на англ. Martin Fowler). Судя по всему эта книга называется "UML Distilled: A Brief Guide to the Standard Object Modeling Language".
Благодаря таким конструктивным замечаниям, я вношу поправку к предыдущему посту об UML: сделанную диаграмму сайта webnetika.com лучше рассматривать, как карту сайта, а не UML диаграмму. Я решил оставить эту диаграмму, и не переделывать уже написанные посты. Возможно это поможет кому-то избежать моих ошибок.
...рисунок, который отображает структуру сайта, не есть UML диаграмма.
Во первых, любое взвимоотношение между классами может быть только:
- зависимость
- ассоциация
- наследование
- композиция
В том рисунке не понятно о роде взаимоотношений.
Таже не понятно чем DVD1 отличается от DVD2 или CD2 от CD1 (кроме порядкового номера).
НИКОГДА не используй переменные или константы (и методы) в ввиде номера (типа v1, const3) чтобы отобразить, что они отличаются.
Переменная, константа или метод должны играть 2 роли:
1) Ссылка на данные (если метод, то на действие);
2) Описание. Оно не есть обязательным для исполнения компьютером, а для человека.
Когда описательной информации нужно больше, то добавляют комментарий. НО коментарий не должен заменять названия. Сравни:
а) S v1 = new S()
b) S v1 = new S() // this is circle
c) Shape shape = new Circle();
Ты читаешь код, что для воспрятия/понимания лучше?
Дальше.
Суть UML в том, что есть определенный набор знаков/символов, которые являются стандартом.
Сам символ/знак несет определенную информацию вместо кучи текста, о котором знают все, кто знает стандарты UML. Как говорят, 1 рисунок заменяет 1024 слова.
По этому, в UML существует определенный набор символов и диаграмм UML, которые нужно понимать что они значат и уметь ими пользоваться. Каждая диаграмма описывает модель с разных точек зрения, контекстов и целей. Это значит, что при описании любой структуры в UML нужно:
а) выбрать нужную диаграмму UML;
б) описать модель пользуюсь стандартными символами/знаками UML.
И тебя поймут многие :)
Кроме всего прочего этот человек считает, что лучшая книга по UML написана Мартином Фаулером (на англ. Martin Fowler). Судя по всему эта книга называется "UML Distilled: A Brief Guide to the Standard Object Modeling Language".
Благодаря таким конструктивным замечаниям, я вношу поправку к предыдущему посту об UML: сделанную диаграмму сайта webnetika.com лучше рассматривать, как карту сайта, а не UML диаграмму. Я решил оставить эту диаграмму, и не переделывать уже написанные посты. Возможно это поможет кому-то избежать моих ошибок.
Saturday, June 26, 2010
UML – хорошее начало для проектирования сайта на Java. Часть 1.
UML - Unified Modeling Language (унифицированный язык моделирования).
Прослушав подкаст (podcast) под названием "Програмирование в стране Утопия" от Budam, я понял что любую программу нужно начинать с ее диаграммирования (хотя кому-то это может показаться и утопией). В принципе, о пользе и необходимости такого подхода (использования UML в начале любого проекта по программированию) я не раз слышал и от знакомых программистов. Польза от этого всем: такой подход не только помогает разобраться другим в программе, но и, в первую очередь, самому программисту, который работает над этой программой.
Лучшая книга по UML называется "Применение UML и шаблонов проектирования: введение в объектно-ориентированный анализ, проектирование и унифицированный процесс UP" (английское название: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development). Автор книги: Крэг Ларман (Craig Larman). Уже вышло третье издание этой книги, я нашел ее англ. версию и уже читаю, правда не в PDF, а в DJVU (маковскую версию проги для чтения djvu можно скачать здесь).
Итак, основная идея этого поста такая: проектирование сайта на Java должно начинаться с диаграммирования, созданного с помощью UML. Таким же образом полезно начинать проектирование любой программы на Java.
Прослушав подкаст (podcast) под названием "Програмирование в стране Утопия" от Budam, я понял что любую программу нужно начинать с ее диаграммирования (хотя кому-то это может показаться и утопией). В принципе, о пользе и необходимости такого подхода (использования UML в начале любого проекта по программированию) я не раз слышал и от знакомых программистов. Польза от этого всем: такой подход не только помогает разобраться другим в программе, но и, в первую очередь, самому программисту, который работает над этой программой.
Лучшая книга по UML называется "Применение UML и шаблонов проектирования: введение в объектно-ориентированный анализ, проектирование и унифицированный процесс UP" (английское название: Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development). Автор книги: Крэг Ларман (Craig Larman). Уже вышло третье издание этой книги, я нашел ее англ. версию и уже читаю, правда не в PDF, а в DJVU (маковскую версию проги для чтения djvu можно скачать здесь).
Итак, основная идея этого поста такая: проектирование сайта на Java должно начинаться с диаграммирования, созданного с помощью UML. Таким же образом полезно начинать проектирование любой программы на Java.
Subscribe to:
Posts (Atom)
