Программы в которых можно построить диаграмму прецедентов

Программы в которых можно построить диаграмму прецедентов

UML (Unified Modeling Language — унифицированный язык моделирования) — язык графического описания для объектного моделирования в области разработки программного обеспечения. UML является языком широкого профиля, это открытый стандарт, использующий графические обозначения для создания абстрактной модели системы, называемой UML моделью. UML был создан для определения, визуализации, проектирования и документирования в основном программных систем. UML не является языком программирования, но в средствах выполнения UML-моделей как интерпретируемого кода возможна кодогенерация.

Коммерческие продукты

Microsoft Visio

Тип: коммерческое ПО

Популярный программный продукт от компании Microsoft, который позволяет рисовать богатые диаграммы, в том числе UML:

Начиная с 2010 версии появилась возможность публиковать диаграммы в вебе (SharePoint + Visio Services):

Visio Viewer — бесплатная программа, которая позволяет просматривать созданные ранее Visio диаграммы. Загрузить можно по ссылке.

Microsoft Visual Studio 2010

Тип: коммерческое ПО (есть бесплатная Express версия).

В последней версии Microsoft Visual Studio 2010 появился новый тип проекта — Modelling, который позволяет рисовать различные UML диаграмма и проверять написанные решения на соответствие с необходимо архитектурой.

Позволяет генерировать Sequence Diagram на основании кода, визуализировать связи в проекте между компонентами, сборками и ссылками и т.д.

Пример Use case диаграммы, нарисованной в Visual Studio 2010:

Кроме того, доступен Visualization and Modeling Feature Pack (для подписчиков MSDN), который позволяет:

  • генерировать код на базе UML диаграмм классов
  • создавать UML диаграммы из кода
  • импортировать UML диаграммы классов, диаграммы последовательностей, диаграммы вариантов использования с XMI 2.1
  • создавать диаграммы зависимостей для ASP.NET, C и C++ проектов
  • создавать и проверять layer diagrams для C и C++ проектов
  • писать собственные проверки для layer diagrams

IBM Rational Rose

  • Use case diagram (диаграммы прецедентов);
  • Deployment diagram (диаграммы топологии);
  • Statechart diagram (диаграммы состояний);
  • Activity diagram (диаграммы активности);
  • Interaction diagram (диаграммы взаимодействия);
  • Sequence diagram (диаграммы последовательностей действий);
  • Collaboration diagram (диаграммы сотрудничества);
  • Class diagram (диаграммы классов);
  • Component diagram (диаграммы компонент).

Open source программы

StarUML

Тип: open source

  • поддержка UML 2.0
  • MDA (Model Driven Architecture)
  • Plug-in Architecture (писать можно на COM совместимых языках: C++, Delphi, C#, VB, . )

StarUML написана, в основном, на Delphi, но дописывать компоненты можно и на других языках, например C/C++, Java, Visual Basic, Delphi, JScript, VBScript, C#, VB.NET. Ниже показано несколько скриншотов.

Use case диаграмма:

ArgoUML

  • Class
  • State
  • Use case
  • Activity
  • Collaboration
  • Deployment
  • Sequence
  • Поддержка девяти UML 1.4 диаграмм
  • Платформонезависимая (Java 5+)
  • Стандартная метамодель UML 1.4
  • Поддержка XMI
  • Экспорт в GIF, PNG, PS, EPS, PGML и SVG
  • Языки: EN, EN-GB, DE, ES, IT, RU, FR, NB, PT, ZH
  • Поддержка OCL
  • Forward, Reverse Engineering

Violet UML Editor

Тип: open source

Написана на Java, скриншоты:


Astah Community 6.1

Тип: open source

  • UML 2.1 (Class, UseCase, Sequence, Activity, Communication, Statemachine, Component, Deployment, Composite Structure, Object and Package Diagrams)
  • Suggest Feature
  • Alignment, Size adjustment
  • Экспорт в PNG, JPEG
  • astah API (Models of Class, UseCase, Activity, Sequence и Statemachine Diagrams)
  • Локализация GUI

BOUML

Тип: open source

  • поддержка UML 2.0
  • генерация кода на С++, Java, Idl, Php, Python
  • работает под управлением Unix/Linux/Solaris/Mac OS X/Windows
  • plug-in архитектура (можно писать на С++, Java)

UMLet 10.4

Тип: open source

  • экспорт диаграмм в eps, pdf, jpg, svg и буфер обмена clipboard
  • управление доступом через Eclipse
  • возможность создания новых UML элементов
  • работает под управлением Windows, Mac OS, Linux

UMLGraph

Тип: open source

  • позволяет рисовать диаграммы классов и диаграммы последовательностей
  • поддержка PNG, PNM, (pseudo)GIF, SVG, AI, Postscript, CGM, FIG, PCL, HPGL, Regis, TEK

В результате написания следующего кода:

мы получим такую диаграмму:

Тип: open source

Dia — GTK+ программа для GNU/Linux, Unix и Windows под лицензией GPL.

Выбор UML диаграммы.

Одно из рабочих окон Dia

Редактирование свойств классов

Окно для редактирования коллекций объектов

Плагины к IDE

Visual Paradigm SDE for Visual Studio

Тип: бесплатное ПО (Community Edition)

  • Use Case modeling
    System analysis and design
    Plug-in architecture

tangible T4 Editor plus UML modeling Tools for Visual Studio (2008/2010)

Тип: бесплатное ПО

tangible T4 Editor поставляется вместе с инструментами UMLи позволяет генерировать диаграммы, схемы базы данных на базе xml, word, excel и других источников данных.

NetBeans IDE UML

UML плагин к NetBeans IDE:

  • импорт NetBeans UML проектов
  • возможность командной работы
  • кодогенерация для Java, C++, PHP

Eclipse UML2 Tools

  • Structure diagrams
  • Class
  • Profile definition
  • Composite structures
  • Component
  • Deployment
  • Behavior diagrams
    • Activity
    • State machine
    • Use Case
    • Interaction diagrams
      • Sequence
      • Timing
      • Онлайновские UML инструменты

        WebSequenceDiagrams

        Создание простых диаграмм:

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

        zOOml

        В статье использовались материалы DevCurry.

        Спасибо за внимание!

        Upd. Инструменты, которые были добавлены в комментариях:

        Компании из статьи

        Intellias — сучасна та ефективна ІТ-компанія з офісами у Швейцарії та Україні. Працюють з 2002 року, за цей час реалізували понад 250 проектів. В 2006 році компанія була сертифікована на відповідність.

        Gentleware Ukraine

        Компания является экспертом в области моделирования программного обеспечения. Основные направления: разработка продуктов для моделирования программного обеспечения (UML продукты); ведение и реализация.

        Microsoft Украина

        Украинское подразделение компании Microsoft.

        Ищите нас в интернетах!

        Комментарии

        Свежие вакансии

        При использовании материалов сайта обязательным условием является наличие гиперссылки на страницу расположения исходной статьи с указанием Microsoft User Group Community.

        Читайте также:  Жесткий диск ssd емкость

        Диаграмма прецедентов (вариантов использования) UML

        Для чего используется техника креативности

        Определить функциональные требования к системе.

        Описать типичные взаимодействия между пользователями системы и самой системой и предоставить описание процесса её функционирования.

        План действий

        В разделе «Описание» изучите основной набор символов диаграммы прецедентов, необходимый для того, чтобы уметь читать диаграммы.

        После ознакомления с другими разделами («Пример», «Применение») вы можете попробовать свои силы в самостоятельном составлении диаграмм прецедентов.

        Замечания (описание)

        Здесь представлен основной набор символов диаграммы вариантов использования (прецедентов) , необходимый для того, чтобы суметь прочитать диаграмму. После ознакомления с другими разделами («Пример», «Применение») вы сможете составлять диаграммы вариантов использования системы (ВИС) самостоятельно!

        Термин Изображение Описание
        Сценарий Вся диаграмма вариантов использования (ВИС) Сценарий (scenario) – это последовательность шагов, описывающих взаимодействие пользователя и системы.
        Актер Актер (actor) представляет собой некую роль, которую пользователь играет по отношению к системе.
        Прецедент Обозначает выполняемые системой действия (могут включать возможные варианты), приводящие к наблюдаемым актёрами результатам.
        include (включает) Сложный шаг в прецеденте можно представить другим прецедентом.
        В терминах языка UML мы говорим, что первый прецедент включает (includes) второй.
        Граница системы Позволяет обозначить границы систем или подсистем.

        Как применять технику креативности

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

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

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

        Как научиться

        Здесь мы попытались предоставить как можно более простой способ изучения диаграммы вариантов использования системы языка UML.

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

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

        Пример использования

        Прецеденты – это технология определения функциональных требований к системе. Работа прецедентов заключается в описании типичных взаимодействий между пользователями системы и самой системой и предоставлении описания процесса ее функционирования. Вместо того чтобы описывать прецеденты в лоб, я предпочитаю подкрасться к ним сзади и начать с описания сценариев. Сценарий (scenario) – это последовательность шагов, описывающих взаимодействие пользователя и системы. Поэтому при наличии онлайнового магазина, основанного на веб-сайте, мы можем использовать сценарий «Покупка товара» (Buy a Product), в котором происходит следующее.

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

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

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

        В терминах прецедента пользователи называются актерами. Актер (actor) представляет собой некую роль, которую пользователь играет по отношению к системе. Актерами могут быть пользователь, торговый представитель пользователя, менеджер по продажам и товаровед.

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

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

        Читайте также:  Как убрать полосы на лобовом стекле

        Содержимое прецедентов

        Не существует стандартного способа описания содержимого прецедента; в разных случаях применяются различные форматы. На рис. 9.1 показан общий стиль использования. Вы начинаете с выбора одного из сценариев в качестве главного успешного сценария (main success scenario). Сначала вы описываете тело прецедента, в котором главный успешный сценарий представлен последовательностью нумерованных шагов. Затем берете другой сценарий и вставляете его в виде расширения (extension), описывая его в терминах изменений главного успешного сценария. Расширения могут быть успешными – пользователь достиг своей цели, как в варианте 3a, или неудачными, как в варианте 6a.

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

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

        Расширение внутри прецедента указывает условие, которое приводит к взаимодействиям, отличным от описанных в главном успешном сценарии (main success scenario, MSS), и устанавливает, в чем состоят эти отличия. Расширение начинается с имени шага, на котором определяется это условие, и предоставляет краткое описание этого условия.
        Следуйте этому условию, нумеруя шаги таким же образом, что и в главном успешном сценарии. Заканчивайте эти шаги описанием точки возврата в главный успешный сценарий, если это необходимо.

        Структура прецедента – это отличный инструмент для поиска альтернатив главного успешного сценария. На каждом шаге спрашивайте:
        «Что может еще произойти?» и в частности «Что может пойти не так?»

        Обычно лучше сначала изучить все возможные условия расширения, чтобы потом не увязнуть в трясине работы над последствиями. Таким образом, вы, возможно, обдумаете больше условий, что приведет к меньшему количеству ошибок, которые потом пришлось бы отлавливать.

        Сложный шаг в прецеденте можно представить другим прецедентом. В терминах языка UML мы говорим, что первый прецедент включает (includes) второй. Не существует стандартного способа показать в тексте включение прецедента, но я думаю, что подчеркивание, которое предполагает гиперссылку, работает прекрасно, а во многих инструментах действительно будет гиперссылкой. Так, на рис. 9.1 первый шаг включает шаблон «просматривает каталог и выбирает товары для покупки».

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

        Наряду с шагами сценария можно вставить в прецедент дополнительную общую информацию.
        Предусловие (pre-condition) описывает действия, обязательно выполняемые системой перед тем, как она разрешит начать работу прецедента. Это полезная информация, позволяющая разработчикам не проверять некоторые условия в их программе.
        Гарантия (guarantee) описывает обязательные действия системы по окончании работы шаблона ответа. Успешные гарантии выполняются после успешного сценария; минимальные гарантии выполняются после любого сценария.
        Триггер (trigger) определяет событие, инициирующее выполнение прецедента.

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

        Диаграммы прецедентов

        Как было сказано, язык UML умалчивает о содержимом прецедента, но предоставляет формат диаграммы, позволяющий его отображать (рис. 9.2). Хотя диаграмма иногда оказывается полезной, без нее можно обойтись. При разработке прецедента не стоит прилагать много усилий для создания диаграммы. Вместо этого лучше сконцентрироваться на текстовом содержании прецедентов.

        Лучше всего обдумывать диаграмму прецедентов с помощью графической таблицы, показывающей их содержимое. Она напоминает диаграмму контекста, используемую в структурных методах, поскольку она показывает границы системы и ее взаимодействие с внешним миром. Диаграмма прецедентов показывает актеров, прецеденты и отношения между ними:
        • Какие актеры выполняют тот или иной прецедент
        • Какие прецеденты включают другие прецеденты
        В языке UML помимо отношения «include» (включает) есть и другие типы отношений между прецедентами, например отношение «extend» (расширяет). Настоятельно рекомендуем его избегать. Слишком часто разработчики целыми командами надолго погружались в рассмотрение различных отношений между прецедентами, понапрасну растрачивая силы. Лучше уделяйте больше внимания текстовому описанию прецедента; именно в этом заключается истинная ценность этой технологии.

        Читайте также:  Программа для хранения документов на андроид

        Прецеденты и возможности (или пожелания)

        Во многих подходах возможности системы применяются для описания требований к системе; в экстремальном программировании (Extreme Programming) возможности системы называются пожеланиями пользователя. Общим является вопрос о том, как установить соответствие между возможностями и прецедентами.

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

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

        Подписывайтесь на новости сайта, форму подписки вы можете найти в правой колонке сайта.

        Если вы хотите научиться работать на фрилансе профессионально, приглашаем на курс «Как зарабатывать на фрилансе».

        Диаграмма прецедентов представлена на рис. 3.

        Рис. 3. Диаграмма прецедентов

        Составление документа описания прецедентов Составление конфигурации компьютера

        1.Краткое Описание

        Этот документ описывает процедуру построения конфигурации компьютера. Актер – Клиент.

        2. Поток Событий Основной Поток: Пользователь просматривает конфигурацию компьютера

        1. Пользователь переходит по ссылке конфигурации компьютера со страницы «Каталог товаров»

        2. Открывается страница «Конфигурация компьютера»

        3. На странице подробно отображается информация о конфигурации выбранного компьютера, а также отображаться текущая цена.

        4. Имеются ссылки на страницу «Каталог товаров», и «Заказ сконфигурированного компьютера»

        Альтернативный Поток 1: Ошибка просмотра конфигурации компьютера.

        Если при попытке просмотра требуемая конфигурация не была загружена, сообщение об ошибке должно быть отображено.

        Кроме того должна быть ссылка на страницу «Каталог товаров»

        3. Предусловие

        Открыть страницу «Конфигурация компьютера»

        4. Постусловие

        Проектирование пользовательского интерфейса

        На рис. 4 представлен один из прототипов пользовательского интерфейса.

        Рис. 4. Главное окно системы

        1.4 Порядок выполнения

        1. Согласовать с преподавателем индивидуальную предметную область для проектирования информационной системы.

        2. Изучить теоретические сведения по технологическому процессу управления требованиями в технологии RUP и разработке диаграмм прецедентов в языке UML.

        3. Определить пользователей проектируемой системы и других заинтересованных лиц, составить список их требований к функциональности проектируемой системы, выделить из описания требований потенциальных актеров и прецеденты.

        4. Построить диаграмму прецедентов. Рекомендуется использовать отношения включения и расширения для определения структуры прецедентов разрабатываемой системы.

        Запустив Enterprise Architect, в главном окне программы (Start Page), в группе Manage Projects выбрать Create new project (Создать новый проект). Программа предложит вам ввести имя файла, в который будет сохранен проект (расширение имени файла .eap – не менять). Возможно (в зависимости от версии), Enterprise Architect сразу предложит вам включить диаграммы указанных вами типов в приложение. Можете сразу выбрать диаграмму use case, отметив флажок Use Case. Однако далее можно будет добавить диаграмму, щелкнув в окне Обозревателя Проекта (Project Browser) кнопку Новая диаграмма (New Diagram). В этом случае введите имя вашей модели, в качестве типа модели выбирайте Модели поведения (UML Behavioral), затем Use Case (в данной работе).

        Все панели инструментов (в т.ч. Project Browser), которых у вас не оказалось на экране, можно открыть, выбрав соответствующую панель в меню View.

        Далее можно непосредственно приступить к разработке диаграммы вариантов использования. В Панели Управления (ToolBox) выбирайте тип проектирования UML 2.1. Далее вы можете выбрать любой тип диаграмм UML, после чего увидите все предусмотренные спецификацией UML типы элементов для данного вида диаграмм (рис.5).

        Возможно на созданной вами диаграмме будут представлены образцовые элементы модели, которые можно удалить стандартными способами: из меню правой кнопки мыши, клавишей Del, или все сразу, с помощью команды Select All меню Edit.

        Для элемента можно задавать и редактировать все его свойства, выбрав пункт Свойства (Properties) при нажатии правой кнопки мыши. То же самое можно выполнять и с помощью панели инструментов Properties (рис.6).

        К примеру, кратность отношения устанавливается для него на вкладках Свойства источника (Source Role) и Свойства цели (Target Role) путем установки в каждом из объектов ассоциации значения поля Multiplicity.

        Выбирать по порядку нужные элементы, вынося их в окно диаграммы. Затем выбрать связи для актеров и прецедентов, проводя их от начального объекта к конечному. После окончания работы сохранить данные. Сделать это можно, выбрав пункт Save Current Changes, при нажатии на диаграмме правой кнопки мыши.

        Рис. 5. Набор элементов диаграммы Use Case.

        Рис. 6. Свойство кратности ассоциации

        5. Составить краткие описания прецедентов. Согласовать с преподавателем два прецедента, для которых должен быть составлен документ описания прецедентов.

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

        Ссылка на основную публикацию
        Программа для контроллеров сименс
        Программируемые контроллеры от немецкого производителя Siemens – системы, в качестве и надежности которых сомневаться не приходится. Они способны управлять любыми...
        Принтер epson l805 с снпч
        Предназначение струйного принтера Epson L805 Базовая модель из серии Фабрика печати. Предназначен для качественной печати полноцветных фотографий дома или в...
        Принтер epson stylus photo tx650
        Предназначение МФУ Epson TX650 Многофункциональный принтер Epson TX650 является современным печатным устройством, которое предназначено для превосходной фотопечати. Отличное качество оттисков...
        Программа для мониторинга озу
        Скриншот CPU-Z CPU-Z — это бесплатная прикладная программа для отображения технической информации о устройствах (центральный процессор, видеокарта, материнская плата, оперативная...
        Adblock detector