Редактор uml-диаграмм

22.1. Введение в Violet

Violet является легковесным редактором языка UML, предназначена для студентов, преподавателей и авторов, которым нужно быстро создавать простые диаграммы UML. Он очень прост в освоении и использовании. Он рисует диаграммы классов, последовательностей, состояний, объектов и сценариев использования (use-case). (С тех времен были добавлены другие типы диаграмм). Это кросс-платформенное программное обеспечение с открытым исходным кодом. В качестве своего ядра Violet использует простой, но гибкий фреймворк работы с графами, который позволяет в полной мере использовать возможности графики Java 2D API.

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

Violet не пытается стать программой для использования UML промышленного уровня. Вот некоторые возможности, отсутствующие в Violet:

  • Violet не генерирует исходный код из диаграмм UML или диаграммы UML из исходного кода.
  • Violet не осуществляет никакой семантической проверки моделей; вы можете использовать Violet для рисования противоречивых диаграмм.
  • Violet не создает файлы, которые могут быть импортированы в другие инструментальные средства, работающие с UML, и не может читать файлы моделей других инструментальных средств.
  • Violet не пытается автоматически выполнять компоновку диаграмм, за исключением простой возможности «привязки к сетке».

(Попытка решить некоторые из этих ограничений позволило создать хорошие студенческие проекты).

Когда Violet создал культ дизайнеров, которые хотели чего-то большего, чем просто набросок на салфетке, но менее сложного, чем инструментальные средства UML промышленного уровня, я опубликовал код в SourceForge под лицензией GNU General Public License. Начиная с 2005 года к проекту присоединился Александр Пелегрин (Alexandre de Pellegrin), предложивший плагин для Eclipse и более красивый пользовательский интерфейс. С тех пор он сделал в архитектуре множество изменений и в настоящее время он является основный разработчиком, сопровождающим проект (primary maintainer).

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

Продолжение статьи: 22.2. Графический фреймворк.

Removing Modeling Diagrams from a Project

You can permanently delete a diagram, or you can temporarily exclude a diagram from a project and then restore it.

To permanently delete a diagram from a project

In Solution Explorer, right-click the main file that represents the diagram, and then click Delete.
The diagram is removed from the project and the file system. The elements shown on the diagram are not removed from UML Model Explorer.

Note
Each diagram has two files, one subsidiary to the other. For example, if you have a component diagram with the name CD1, you should delete the file that is named CD1.componentdiagram. Its subsidiary file that is named CD1.componentdiagram.layout will be deleted automatically.

To temporarily exclude a diagram from a project

In Solution Explorer, right-click the diagram file, and then click Exclude from Project.
The diagram is removed from the project. It is not removed from the file system.

Note
The elements shown on the diagram are not removed from UML Model Explorer.

To restore a temporarily excluded diagram to a project

  1. In Solution Explorer, click the modeling project node.

    Note

    The modeling project contains a model definition folder named ModelDefinition.

  2. On the Project menu, click Add Existing Item.

  3. In the Add Existing Item dialog box, locate the diagram file, select the file, and then click Add.

    The modeling diagram opens and appears in the modeling project.

    Note

    Each diagram has a pair of files in the file system. Do not select a file that has the extension . Also, Visual Studio does not support adding existing UML diagrams to multiple modeling projects. Each diagram file must be opened within the modeling project in which it was created. This is because a UML diagram shows a view of a model that is owned by its modeling project.

Powerfully Easy

Work quickly and efficiently with assist functions.

We’ve been incorporating user feedback for more than 10 years. The result is a powerful software program that is incredibly easy to use and learn. Astah UML offers a variety of “assist” functions to make your work faster, including:

Auto-create class diagrams
Alignment guides
Copy to MS Office documents
Auto-layout
Customize shortcut keys
Gap expander/remover
Map view
Merge project files
Search and replace
Show related classes/models
State transition path & table

Make it Your Own

Big library of plug-ins & integrations.

Need a feature that’s not included out of the box? No problem! Thanks to the Friends of Astah and our own extensive library of plug-ins and integrations, Astah UML can be customized to do what you need. Plug-ins are available for code generation, reverse engineering code, exporting, usability, and more. In addition, Astah UML integrates with Atlassian’s Confluence, yUML and Freemind.

Expand the power with our API.

The Astah API enables you to obtain Astah model information, create and modify diagrams and models, and use them in application software. With our API guide, you can also create your own plug-in and submit it to our library!

Go Above & Beyond

Reverse engineer or generate code

Bring your model to life by generating code directly from your diagram with our code generation tools. Or work backwards and reverse engineer your project to create a model. Astah UML supports reverse engineering of Java, C#, and C++.

Import and export

Modeling is an amazing means of communicating your ideas, but you may need to get that information out of Astah UML and into the hands of your colleagues. With Astah UML, you can export diagrams to a variety of formats, including image files (jpg, png, emf, and svg), RTF documents, and HTML. You can also copy and paste into Microsoft Office documents and print with customized settings.

Пессимистическая блокировка репозиторных объектов

Flexberry Designer предназначается в первую очередь для проектных команд, а не индивидуальных разработчиков.
Чтобы обеспечить совместную работу над UML-моделью в редакторе диаграмм реализован механизм пессимистических блокировок. Это означает, что если один участник команды начинает работу над каким-либо репозиторным объектом (стадией, диаграммой, классом, связью), то другим этот же элемент становится доступен только для просмотра.
Как только первый пользователь заканчивает редактирование — репозиторный объект становится доступным для редактирования другими пользователями.
В случае, если репозиторный объект не был закрыт должным образом (отключение электропитания или другие проблемы), то снятие блокировки выполняется простым повторным запуском Flexberry Designer.
Если класс открыт на редактирование другим пользователем, то кем именно он был заблокирован можно посмотреть в строке состояния (левый нижний угол окна, под полем диаграммы).

Please enable JavaScript to view the comments powered by Disqus.

UML для разработчиков

Интернет полон статей про UML, вы найдете сотни примеров для каждого вида диаграмм, и без проблем создадите свои, нотация не сложная. Но так ли уж необходимо тратить на это время? Наш богатый опыт говорит «Да». Если у вас в команде более 2 человек и проект от 3 месяцев, то уже имеет смысл отрисовать 2-3 вида диаграмм. В одной нашей команде более 30 человек, проект длительностью более 3 лет, и мы используем…2-3 вида диаграмм.
Нотация UML избыточна. С другой стороны она недостаточна для проектирования распределенных систем, и здесь нам помогает Archimate. В этой статье мы расскажем, что действительно полезно из всего этого многообразия, и рассмотрим на примере полный цикл создания диаграмм для проекта.

How to install Violet locally

Instructions for Microsoft Windows users

  • Download and install Java (from http://www.java.com)
  • Download the EXE file from Sourceforge
  • Save it at a location of your choice. With some browsers, you need to right click (or click and hold) on the link and select “Save file as…” from the context menu.
  • Double click on this EXE file to run it. It contains the entire application. You don’t need to install anything else.

Instructions for other Operation Systems

  • Get Java on your system (Violet can run with OpenJDK).
  • Download the JAR file from Sourceforge
  • Save it at a location of your choice. With some browsers, you need to right click (or click and hold) on the link and select “Save file as…” from the context menu.
  • Open a command shell and run : java -jar .jar

For example : java -jar violetumleditor-2.0.0.jar

Note : On some operating systems, you may be able to double-click on the jar file instead.

Почему выбрана платформа UML/MDA

StarUML — платформа моделирования программ. Почему нужна именно расширяемая платформа моделирования, а не просто инструмент, реализующий UML?

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

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

1 Термин «аддин» (add-in) означает набор спецификаций расширения StarUML. Аддин может включать автономный программный объект (COM или Windows scripting host), используемый в качестве сервера обработки событий, а также различные спецификации в т.ч. структуры проекта, дополнительных пунктов меню, опций настройки, дополнительных модельных элементов и т.п. Далее в качестве синонима термина «аддин» часто применяется термин «модуль» (module). (прим. пер.)

2Термин «подход» (approach) здесь означает спецификацию базовой структуры проекта. Элементы подхода (как правило, это пустые пакеты и диаграммы) автоматически генерируются при создании нового проекта. Синонимами

понятия «подход» являются термины «шаблон» или «макет», применительно к проекту вцелом. (прим. пер.)

3Термин «фреймворк» (framework) здесь означает определённым образом оформленный набор готовых UMLспецификаций, которые могут использоваться в проекте. Проект только ссылается на фреймворк, а не интегрирует его в себя, поэтому спецификации фреймворка не могут быть изменены в проекте. (прим. пер.)

Using Violet online

Violet supports Java Web Start. This technology is included in standard Java installation. Once you have you Java Runtime Environment installed, just go to home page and click on “Run it now!”. The first time you will click on the link, Java will download the program. Then, it will ask you to accept a certificate. We advise you to accept it if you want to work with your local files like any other installed programs. After the first start, Violet will not be downloaded anymore (it is stored in cache) until a new version is published.

Note: The Web Start version is functional and safe without requiring you to accept any certificate. However, there are a few limitations :

  • When you open or save files, a warning dialog is displayed, alerting you that you are about to give Violet limited rights to the local file system.
  • The File→Save command is disabled. Use File→Save As instead. Under Web Start, Violet cannot save to a local file without your permission.
  • Printing to the default printer works with JDK 6.0, but “print to file” is disabled under WebStart.
  • You can only export PNG images. Under Web Start, Violet doesn’t know the name of the file that you type into the file chooser! Therefore, it can’t pick the graphics format that matches the file extension.
  • When saving files or exporting images, you must supply an extension (.violet or .png). Unfortunately, WebStart currently ignores the suggested default extensions.

Once you are confident that you like Violet, you should download it and run it locally.

How to install Violet locally

Instructions for Microsoft Windows users

  • Download and install Java (from http://www.java.com)
  • Download the EXE file from Sourceforge
  • Save it at a location of your choice. With some browsers, you need to right click (or click and hold) on the link and select “Save file as…” from the context menu.
  • Double click on this EXE file to run it. It contains the entire application. You don’t need to install anything else.

Instructions for other Operation Systems

  • Get Java on your system (Violet can run with OpenJDK).
  • Download the JAR file from Sourceforge
  • Save it at a location of your choice. With some browsers, you need to right click (or click and hold) on the link and select “Save file as…” from the context menu.
  • Open a command shell and run : java -jar .jar

For example : java -jar violetumleditor-2.0.0.jar

Note : On some operating systems, you may be able to double-click on the jar file instead.

How to install Violet into Eclipse (not yet for Violet 2.0.0)

Installation instructions

  • Download the JAR file from the home page
  • Copy it in your /plugins
  • Restart Eclipse.
  • Check in your ‘About’ menu that you have the new release recognized.

Note if you already have an old release (up to 0.17.3) :

Special note for MacOS X users

http://www.macfixit.com/article.php?story=20070215150438565 #!/bin/sh
cd `dirname $1`
java -jar /applications/eclipse/plugins/com.horstmann.violet_0.20.0.jar $1

Уточняем описание функций системы с помощью диаграммы Sequence

Уточняем описание функций системы с помощью диаграммы Sequence (продолжение «Белки»)

В данной статье рассмотрим, как можно детализировать (уточнить) описание автоматизируемой функции с помощью UML Sequence Diagram — диаграммы последовательности.

В данном примере я использую среду Enterprise Architect от австралийской компании Sparx Systems .
Полную спецификацию UML см. здесь .

Для начала поясню, что мы будем детализировать.
В 1-ой части статьи «От моделирования процессов к проектированию автоматизированной системы» мы моделировали процессы «сказочной» предметной области — строчки про белку из «Сказки о царе Салтане» А.С.Пушкина. И начали мы с диаграммы Activity. Потом во 2-ой части мы разработали функциональную модель с помощью диаграммы Use-case, на Рисунке 1 представлен фрагмент.

Рисунок 1. Связь требования и функции
Теперь мы хотим уточнить информацию о выполнении данной автоматизируемой функции:

  • с какими компонентами интерфейса будет взаимодействовать наш пользователь;
  • какие управляющие компоненты нам понадобятся;
  • что мы будем хранить;
  • какими сообщениями будут обмениваться пользователь и компоненты системы для выполнения функции.

Класс DiagramObject и его наследники

  • canvas — контекст рисования
  • aDX, aDY — положения полос прокрутки
  • scale — масштаб (1.0 — для масштаба 1:1, больше/меньше — для увеличения/уменьшения).

Template Method

  • запоминает в полях объекта параметры (они затем неоднократно используются разными методами),
  • сохраняет с помощью saveCanvasSetup() все настройки контекста отрисовки (цвет, перья, размер шрифта и т. п.),
  • вызывает метод internalDraw(), который на уровне DiagramObject не делает ничего, а в его наследниках переопределяется процедурой отрисовки объекта,
  • восстанавливает с помощью restoreCanvasSetup() настройки, которые могли быть нарушены после выполнения internalDraw,
  • пробегает по очереди всех своих подобъектов и вызывает метод draw для каждого из них.

Вспомогательные методы DiagramObject

  • boolean isCollectable() — можно ли будет захватить объект с помощью «лассо» (прямоугольного выделения). Используется механизмами DiagramPanel, о которых речь пойдёт далее
  • boolean isMoveable() — является ли объект перемещаемым с помощью Drag and Drop. В нашем примере узлы диаграммы (Actor и UseCase) являются перемещаемыми и захватываемыми при помощи лассо, а соединительные линии (Association, Generalization, Dependency) таковыми не являются.
  • double getMinX(), getMinY(), getMaxX(), getMaxY() — мировые координаты самой левой, самой верхней, самой правой и самой нижней точки объекта. Нужны, во-первых, для корректной работы прямоугольного выделения (чтобы выделить объект, нужно захватить его целиком), а во-вторых, они используются в дефолтной реализации метода internalDrawSelection(), чтобы нарисовать выделение объекта по его углам.
  • final int minX(), minY(), maxX(), maxY() — то же самое, но уже переведённое в экранные координаты (не переопределяемые методы).

Настоящая поддержка MDA

Разработка методологии описания архитектуры программ — важный процесс, который будет развиваться ещё 10 или более лет. Намерение OMG (Ассоциация объектно-ориентированного управления) состоит в том, чтобы использовать технологию MDA (Модельно-управляемая архитектура) для создания платформенно-независимых моделей, на базе которых можно автоматически формировать платформенно-зависимые модели или программные коды. StarUML полностью поддерживает стандарт UML 1.4 и нотацию UML 2.0., а также реализует концепцию профилей UML. Пользователи могут легко получить свои конечные продукты, выполняя через внешние COM интерфейсы готовые сценарии или создавая шаблоны документов.

Troubleshooting Modeling Projects and Diagrams

The following table describes issues that can occur with modeling projects or diagrams and how to resolve them:

Issue Causes Resolution
The modeling project cannot be opened or loaded into the solution. The following message is displayed: «One or more projects in the solution were not loaded correctly. Please see the Output Window for details.» The Output window displays the following message: «ModelingProjectFilenameAndPath.modelproj: error: Unrecognized Guid format.» A modeling project has references to projects that have the same name and are in the same solution. For example, a layer is linked to projects that have the same name and are in the same solution. Use a text editor to open the modeling project file, remove the references, and then try to open the modeling project again. To avoid this issue, do not add references to projects that have the same name. Make sure projects have unique names.
Elements are missing from diagrams that are added, copied, or dragged to other modeling projects or to other locations in the solution. — or — The following messages are displayed when you try to open a diagram: — «Some shapes or connectors on the diagram are missing because their definitions do not exist in this project. Either the definitions were deleted from the model while the diagram was closed, or the diagram was copied to another project that does not contain those definitions.» — or — — «This document is opened by another project.» The diagram file was added, dragged, or copied from a modeling project to another modeling project or to another location in the solution. To copy a diagram file, create a new diagram, and then copy the elements from the source diagram to the new diagram.

Почему выбрана платформа UML/MDA

StarUML — платформа моделирования программ. Почему нужна именно расширяемая платформа моделирования, а не просто инструмент, реализующий UML?

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

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

1 Термин «аддин» (add-in) означает набор спецификаций расширения StarUML. Аддин может включать автономный программный объект (COM или Windows scripting host), используемый в качестве сервера обработки событий, а также различные спецификации в т.ч. структуры проекта, дополнительных пунктов меню, опций настройки, дополнительных модельных элементов и т.п. Далее в качестве синонима термина «аддин» часто применяется термин «модуль» (module). (прим. пер.)

2Термин «подход» (approach) здесь означает спецификацию базовой структуры проекта. Элементы подхода (как правило, это пустые пакеты и диаграммы) автоматически генерируются при создании нового проекта. Синонимами

понятия «подход» являются термины «шаблон» или «макет», применительно к проекту вцелом. (прим. пер.)

3Термин «фреймворк» (framework) здесь означает определённым образом оформленный набор готовых UMLспецификаций, которые могут использоваться в проекте. Проект только ссылается на фреймворк, а не интегрирует его в себя, поэтому спецификации фреймворка не могут быть изменены в проекте. (прим. пер.)

Автомат — вещь событийная?

1. Введение

Услышав из авторитетных уст, что «автоматы — вещь событийная» , понял, что конечные автоматы заклеймили окончательно. Судите сами: в библиотеке Qt реализована событийная модель автоматов , в UML — они же , смотрим на автоматы пакета расширений Simulink-Stateflow системы MATLAB (далее просто Stateflow) и там о событиях и т.д. и т.д. В таком контексте утверждение д.т.н. А.А. Шалыто трактовать по-другому сложно, т.к. ничего иного уже не может быть, потому что быть не может.
Но, если вспомнить теорию конечных автоматов (ТКА), то в ней о событийных автоматах нет ни слова! Но чтобы противоречить теории нужны веские аргументы. А есть ли основания сомневаться в профессионализме Д. Харелла, как создателя нотации, на которой базирует свои идеи язык UML, пакет Stateflow, которые в свою очередь небезызвестны А.А. Шалыто? Ведь, UML, Stateflow, SWITCH-программирование и иные варианты автоматного программирования существуют и в той или иной мере успешно работают.
Так можно ли снять «клеймо событийности» с модели конечных автоматов, отделив «котлеты от мух»? Т.е. разделить теорию автоматов и вычислительные модели, подобные модели Д.Харела. И считать, что последние, хотя и используют терминологию теории автоматов, представляют, судя по их реализации, развитие модели блок-схем программ.

Проверьте эти приложения для диаграмм UML

1

Edraw UML Diagram

Edraw UML Diagram является предпочтительным приложением для многих разработчиков программного обеспечения и дизайнеров. Программное обеспечение полностью совместимо с 64- и 32-разрядными платформами Windows от Windows XP до Windows 10.

Edraw UML Diagram в настоящее время продается в розницу по 69, 00 $. Бесплатная версия Edraw UML отсутствует, но пользователи могут попробовать пробную версию на один месяц.

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

Получить сейчас Edraw UML Diagram

Пользователи также могут выбирать различные параметры цветовой заливки, линий и теней для вставленных объектов и добавлять рисунки к своим диаграммам. Кроме того, пользователи могут настроить модель потока данных, твердотельные накопители, диаграммы Booch OOD, ROOM и Nassi-Shneiderman, в том числе с помощью Edraw.

СВЯЗАННЫЕ : 10 блок-схем программного обеспечения, с которым вы будете любить работать

2

UMLet 14.3

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

Обратите внимание, что Java 1.6 является системным требованием для UMLet, поэтому пользователям необходимо установить Java, прежде чем они смогут запускать программное обеспечение

Инструмент более специально разработан для диаграмм UML. Что отличает UMLet от некоторых других альтернатив, так это то, что пользователи изменяют элементы диаграммы с помощью ввода текста вместо стандартных всплывающих диалогов. Пользователи UMLet могут настраивать пользовательские элементы для диаграмм.

Программное обеспечение поддерживает различные диаграммы UML, такие как диаграммы вариантов использования, последовательности, развертывания, активности и состояний. Кроме того, это приложение включает удобную опцию Mail to…, с помощью которой пользователи могут отправлять диаграммы UML по электронной почте.

3

Visio

Как одно из приложений пакета MS Office, Microsoft Visio — это стандартное программное обеспечение для построения диаграмм, с помощью которого пользователи могут настраивать широкий спектр диаграмм, включая классы UML. Visio Standard 2019 и Visio Professional 2019 — это две альтернативные версии, которые в настоящее время продаются в розницу за 480 и 250 долларов.

Существует также версия Visio Online Plan, которая поддерживает типы диаграмм UML 2.5. Вероятно, это не самое экономичное приложение для построения диаграмм UML, но обе версии Visio по-прежнему упакованы в обширный инструментарий диаграмм, который может сравниться с несколькими другими альтернативами.

Visio поддерживает спецификацию UML 2.0 и предоставляет шаблоны для шести типов диаграмм UML. Пользователи Visio Professional могут устанавливать с помощью программного обеспечения UML-диаграммы классов, последовательностей, баз данных, действий, состояний и вариантов использования. Vimio включает в себя множество вариантов форматирования и дизайна, и пользователи могут добавлять к своим диаграммам картинки, фотографии, чертежи САПР, выноски, контейнеры, гиперссылки и дополнительные диаграммы.

Программное обеспечение позволяет пользователям создавать UML-диаграммы из импортированного исходного кода и интегрировать в них данные в реальном времени с помощью связывания данных. Пользователи Visio также могут настроить множество других типов диаграмм, таких как потоковые диаграммы, диаграммы Ганта, сети, организационные диаграммы и т. Д.

Что такое StarUML

StarUML — программный инструмент моделирования, который поддерживает UML (Унифицированный язык моделирования). StarUML ориентирован на UML версии 1.4 и поддерживает одиннадцать различных типов диаграмм, принятых в нотации UML 2.0. Он активно поддерживает подход MDA (Модельно-управляемая архитектура), реализуя концепцию профилей UML. Среда разработки StarUML превосходно настраивается в соответствии с требованиями пользователя и имеет высокую степень расширяемости, особенно в области своих функциональных возможностей. Использование StarUML , одного из ведущих программных инструментов моделирования, гарантирует достижение максимальной производительности и качества ваших программных проектов.

Go Above & Beyond

Reverse engineer or generate code

Bring your model to life by generating code directly from your diagram with our code generation tools. Or work backwards and reverse engineer your project to create a model. Astah UML supports reverse engineering of Java, C#, and C++.

Import and export

Modeling is an amazing means of communicating your ideas, but you may need to get that information out of Astah UML and into the hands of your colleagues. With Astah UML, you can export diagrams to a variety of formats, including image files (jpg, png, emf, and svg), RTF documents, and HTML. You can also copy and paste into Microsoft Office documents and print with customized settings.

Реализация инерционных алгоритмов на примере логического моделирование цифровых схем

1. Введение

Приступаем ко второй части темы, посвященной вложенным автоматам. В первой мы рассматривали рекурсивные алгоритмы, которые, имея модель вложенных автоматов и подключив возможности ООП, реализовать оказалось не столь уж сложно. Но возможности вложенных автоматов этим не исчерпываются. Так, при описании модели управления автоматных программ были определены инерционные алгоритмы, в основе которых также идея вложении автоматов. Инерционные алгоритмы сложно представить в рамках обычной блок-схемной модели вычислений, в которой совсем не предусмотрен возврат управления в точку, предшествующую вызову подпрограммы. Но надо сказать, что и у обычных автоматов предусматривается отмены переходов «на лету». Тем не менее, для автоматов подобное можно не только представить, но и реализовать.

Почему выбрана платформа UML/MDA

StarUML — платформа моделирования программ. Почему нужна именно расширяемая платформа моделирования, а не просто инструмент, реализующий UML?

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

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

1 Термин «аддин» (add-in) означает набор спецификаций расширения StarUML. Аддин может включать автономный программный объект (COM или Windows scripting host), используемый в качестве сервера обработки событий, а также различные спецификации в т.ч. структуры проекта, дополнительных пунктов меню, опций настройки, дополнительных модельных элементов и т.п. Далее в качестве синонима термина «аддин» часто применяется термин «модуль» (module). (прим. пер.)

2Термин «подход» (approach) здесь означает спецификацию базовой структуры проекта. Элементы подхода (как правило, это пустые пакеты и диаграммы) автоматически генерируются при создании нового проекта. Синонимами

понятия «подход» являются термины «шаблон» или «макет», применительно к проекту вцелом. (прим. пер.)

3Термин «фреймворк» (framework) здесь означает определённым образом оформленный набор готовых UMLспецификаций, которые могут использоваться в проекте. Проект только ссылается на фреймворк, а не интегрирует его в себя, поэтому спецификации фреймворка не могут быть изменены в проекте. (прим. пер.)

Настоящая поддержка MDA

Разработка методологии описания архитектуры программ — важный процесс, который будет развиваться ещё 10 или более лет. Намерение OMG (Ассоциация объектно-ориентированного управления) состоит в том, чтобы использовать технологию MDA (Модельно-управляемая архитектура) для создания платформенно-независимых моделей, на базе которых можно автоматически формировать платформенно-зависимые модели или программные коды. StarUML полностью поддерживает стандарт UML 1.4 и нотацию UML 2.0., а также реализует концепцию профилей UML. Пользователи могут легко получить свои конечные продукты, выполняя через внешние COM интерфейсы готовые сценарии или создавая шаблоны документов.

Что такое StarUML

StarUML — программный инструмент моделирования, который поддерживает UML (Унифицированный язык моделирования). StarUML ориентирован на UML версии 1.4 и поддерживает одиннадцать различных типов диаграмм, принятых в нотации UML 2.0. Он активно поддерживает подход MDA (Модельно-управляемая архитектура), реализуя концепцию профилей UML. Среда разработки StarUML превосходно настраивается в соответствии с требованиями пользователя и имеет высокую степень расширяемости, особенно в области своих функциональных возможностей. Использование StarUML , одного из ведущих программных инструментов моделирования, гарантирует достижение максимальной производительности и качества ваших программных проектов.

Create a Diagram in a Modeling Project

To see which versions of Visual Studio support this feature, see .

To create a diagram and add it to a project

  1. On the Architecture menu, choose New UML or Layer Diagram.

  2. In the Add New Diagram dialog box, click the type of modeling diagram that you want.

  3. Type a name for the new diagram.

  4. In the Add to modeling project box:

    Select a modeling project that already exists in your solution, and then click OK.
    — or —

    1. Select Create a new modeling project, and then click OK.

    2. In the Create New Modeling Project dialog box, type a name and location for the new project, and then click OK.

      If your solution is open, the new project is added to the solution. If you have no open solution, you can type a name for a new solution.

    If you already have a modeling project, you can also use the following procedure.

To add a diagram to an existing modeling project

  1. In Solution Explorer, click the modeling project node.

    Note

    The modeling project contains a model definition folder named ModelDefinition.

  2. On the Project menu, click Add New Item.

  3. In the Add New Item — <project name> dialog box, under Templates, click the modeling diagram type, for example, UML Component Diagram.

  4. Type a name for the diagram, and then click Add.

    The modeling diagram opens and appears in the modeling project.

    Caution

    Do not add, copy, or drag existing diagram files to other modeling projects or to other locations in the solution. This causes elements to disappear from the copied diagrams or errors to occur when you open the diagrams. You must open the diagram file from the modeling project in which it was created. This is because a UML diagram is a view of the model that is owned by its modeling project. To copy a diagram file, create a new diagram, and then copy the elements from the source diagram to the new diagram. For more information, see .

To create a blank modeling project

  1. On the File menu, point to New, and then click Project.

  2. In the New Project dialog box, under Installed Templates, click Modeling Projects.

  3. In the middle window, click Modeling Project.

  4. Name the project and specify a location in the Name and Location boxes.

  5. In the Solution box, select Add to Solution to add the new project to a solution you already have open; or Create new Solution to close any open solution and add the project to a new solution.

Заключение

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

  2. У PlantUML есть психологический барьер входа: мы слишком привыкли к визуальным редакторам и использование текста кажется шагом назад. Но если благодаря этому шагу назад получается повысить эффективность своей работы, почему его не сделать?

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

Оцените статью
Рейтинг автора
5
Материал подготовил
Андрей Измаилов
Наш эксперт
Написано статей
116
Добавить комментарий