Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Getting Started with Papyrus UMLLight"

(Correcting headers)
(All is good)
Line 13: Line 13:
 
At the end of the training, the trainee will be able to apply their acquired knowledge in real project.
 
At the end of the training, the trainee will be able to apply their acquired knowledge in real project.
  
=== What this tutorial is and is not ===
+
== What this tutorial is and is not ===
  
 
{| class="wikitable" border="1"
 
{| class="wikitable" border="1"
Line 31: Line 31:
 
|}
 
|}
  
== What are Papyrus and Papyrus UMLLight ==
+
= What are Papyrus and Papyrus UMLLight =
=== What is Papyrus ===
+
== What is Papyrus ==
 
: * A complete open Source editor that Conform to UML, SysML, and other [https://www.omg.org/ Object Management Group (OMG) standards]
 
: * A complete open Source editor that Conform to UML, SysML, and other [https://www.omg.org/ Object Management Group (OMG) standards]
 
: * [An Eclipse Project [https://www.eclipse.org/papyrus]
 
: * [An Eclipse Project [https://www.eclipse.org/papyrus]
Line 43: Line 43:
 
: * [Supported by the [https://www.polarsys.org/papyrus-ic/ Papyrus Industry Consortium], a community of developers, committers and contributors from many organizations and involved in different application domains.
 
: * [Supported by the [https://www.polarsys.org/papyrus-ic/ Papyrus Industry Consortium], a community of developers, committers and contributors from many organizations and involved in different application domains.
  
=== What is Papyrus UMLLight ===
+
== What is Papyrus UMLLight ===
 
:: * A specialized variant of Papyrus that provides:
 
:: * A specialized variant of Papyrus that provides:
 
:: * * an optimized “Foundation level” subset of UML;
 
:: * * an optimized “Foundation level” subset of UML;
 
:: :: * with a streamlined user interface for creating, viewing, and editing models
 
:: :: * with a streamlined user interface for creating, viewing, and editing models
  
= Comparing Papyrus and Papyrus UMLLight =
+
== Comparing Papyrus and Papyrus UMLLight ==
 
[[File:Papyrus vs Papyrus UMLLight.png|600px|]]
 
[[File:Papyrus vs Papyrus UMLLight.png|600px|]]
  
Line 54: Line 54:
  
 
= Papyrus UMLLight User personae. =
 
= Papyrus UMLLight User personae. =
After discusions with various stakeholders, the Papyrus UMLLight team defined the following three user personae to express the targeted users:
+
Discussions with various stakeholders, enabled the Papyrus UMLLight team to defined the following three user personae to express the needs Papyrus UMLLight's targeted users:
 
   * Nicole, a [Papyrus novice, is knowledgeable in UML but not familiar with Papyrus or Papyrus UMLLight
 
   * Nicole, a [Papyrus novice, is knowledgeable in UML but not familiar with Papyrus or Papyrus UMLLight
 
   * Steve - a UML Novice and Student, a student and novice in UML, Papyrus, and Papyrus UMLLight
 
   * Steve - a UML Novice and Student, a student and novice in UML, Papyrus, and Papyrus UMLLight
 
   * Brisha, a Basic UML User, only uses UML from time to time and then only for basic purposes such as documentation or, presentations
 
   * Brisha, a Basic UML User, only uses UML from time to time and then only for basic purposes such as documentation or, presentations
You can also have a look at the [[full personae descriptions]]
+
You can also have a look at the [[Full personae descriptions]]
  
 
----
 
----
Line 75: Line 75:
 
:: * Papyrus UML Light 0.0.1 RC2* for MacOS X 64bit
 
:: * Papyrus UML Light 0.0.1 RC2* for MacOS X 64bit
  
{{Note | Note | the version displayed may be different from the one listed above - use the most recent }}
+
{{Note | Note | the version displayed may be different from the one listed above - For best results, use the most recent }}
  
 
4. Click on the link for your development environment to download the archive
 
4. Click on the link for your development environment to download the archive
Line 89: Line 89:
 
= Running Papyrus UMLLight =
 
= Running Papyrus UMLLight =
  
1. Double-click on the Papyrus UMLLight application you downloaded and installed.
+
1. Double-click on the Papyrus UMLLight application you installed in the previous step.
  
 
2. A dialog is shown asking you to select a workspace.
 
2. A dialog is shown asking you to select a workspace.
Line 95: Line 95:
 
::[[File:SelectWorkspace.png|600px|]]  
 
::[[File:SelectWorkspace.png|600px|]]  
  
== About Workspaces ==
+
=== About Workspaces ===
  
 
:: Workspaces are folders on your computer where your models and associated files are stored.
 
:: Workspaces are folders on your computer where your models and associated files are stored.
Line 138: Line 138:
 
----
 
----
  
:: But before we go further, let's have a look at the tutorial project so we can start implementing it!
+
::Before we go any further, let's have a look at the tutorial project so we can start implementing it!
  
 
----
 
----
Line 195: Line 195:
  
 
= Use Case Modeling =
 
= Use Case Modeling =
Use case modeling is about visualizing the environment and requirements of the system being built.
+
:: Use case modeling is about visualizing the environment and requirements of the system being built.
  
 
Therefore it is about about users, their needs, and how they interact with the system being built, as well as how the OSS system interacts with other systems.
 
Therefore it is about about users, their needs, and how they interact with the system being built, as well as how the OSS system interacts with other systems.
 +
 +
:: Before We start, let's understand the main concepts of use case modeling.
 +
 
== Basic Use Case Diagram Concepts ==
 
== Basic Use Case Diagram Concepts ==
[[File:UseCasePalette.png|200px| right ||]]
+
:: [[File:UseCasePalette.png|200px| right ||]]
Before We start, let's understand the main concepts of use case modeling.
+
 
 
=== Subject ===
 
=== Subject ===
 
The subject represents the system under consideration ("OSS" in our case) to which a set of use cases applies. As such, it also represents the boundary between our system and it's interactions with the "outside world." What is inside the subject constitutes the functionality of the system and what lies outside represent elements that interact with OSS, by providing input or services.
 
The subject represents the system under consideration ("OSS" in our case) to which a set of use cases applies. As such, it also represents the boundary between our system and it's interactions with the "outside world." What is inside the subject constitutes the functionality of the system and what lies outside represent elements that interact with OSS, by providing input or services.
Line 268: Line 271:
  
 
=== Create the Use Case diagram ===
 
=== Create the Use Case diagram ===
 +
 +
 +
 +
 +
----
 +
 +
= Full personae descriptions =

Revision as of 15:18, 2 May 2019


bottom-align


Getting Started with Papyrus UMLLight




Introduction

As part of this tutorial, the trainee will:

  • Learn how to download and install Papyrus UMLLight.
  • Become familiar with the various aspects of the modeling environment such as workspaces, menus, views, perspectives and palettes.
  • Become familiar with the elements that make up the“Papyrus UMLLight” subset.
  • Through the implementation of a sample modeling project, become familiar with a simple model development approach that will enable you to use the elements that are part of the Papyrus UMLLight subset.

At the end of the training, the trainee will be able to apply their acquired knowledge in real project.

What this tutorial is and is not =

what this tutorial IS What this tutorial Is NOT
An overview of the Papyrus UMLLightuser interface A UML specification tutorial
An overview of the UML diagrams and elements available in Papyrus UMLLight An exhaustive tutorial on all UML diagrams, entities, and semantics
An hands-on experience developing a UML model with Papyrus UMLLight A tutorial advocating a specific method for modeling software,

What are Papyrus and Papyrus UMLLight

What is Papyrus

* A complete open Source editor that Conform to UML, SysML, and other Object Management Group (OMG) standards
* [An Eclipse Project [1]
  • A familly of modeling tools
  • Papyrus itself (both tool and platform) ("Papyrus")
* Papyrus for information modeling ("Papyrus-IM")
* Papyrus for Real-time ("Papyrus-RT")
* and now Papyrus UMLLight
* [Supported by the Papyrus Industry Consortium, a community of developers, committers and contributors from many organizations and involved in different application domains.

What is Papyrus UMLLight =

* A specialized variant of Papyrus that provides:
* * an optimized “Foundation level” subset of UML;
 :: * with a streamlined user interface for creating, viewing, and editing models

Comparing Papyrus and Papyrus UMLLight

Papyrus vs Papyrus UMLLight.png


Papyrus UMLLight User personae.

Discussions with various stakeholders, enabled the Papyrus UMLLight team to defined the following three user personae to express the needs Papyrus UMLLight's targeted users:

 * Nicole, a [Papyrus novice, is knowledgeable in UML but not familiar with Papyrus or Papyrus UMLLight
 * Steve - a UML Novice and Student, a student and novice in UML, Papyrus, and Papyrus UMLLight
 * Brisha, a Basic UML User, only uses UML from time to time and then only for basic purposes such as documentation or, presentations

You can also have a look at the Full personae descriptions


Installing Papyrus UMLLight

To install Papyrus UMLLight, follow these steps:

1. Ensure that you have Java 8 (or later) installed and configured for your operating system.

2. Go to: https://wiki.eclipse.org/Papyrus_UMLLight#Downloads

3. The list of downloads for different operating environments will be displayed:

* Papyrus UML Light 0.0.1 RC2* for Windows 64bit
* Papyrus UML Light 0.0.1 RC2* for Linux 64bit
* Papyrus UML Light 0.0.1 RC2* for MacOS X 64bit
Note.png
Note
the version displayed may be different from the one listed above - For best results, use the most recent


4. Click on the link for your development environment to download the archive

5. Extract the executable from the downloaded archive into the proper location for your operating system.

Tip: On MacOS and some Linux, you may need to use “gunzip” followed by “tar xvf” to successfully extract the archive.

6. You are now ready to start using Papyrus UML Light!


Running Papyrus UMLLight

1. Double-click on the Papyrus UMLLight application you installed in the previous step.

2. A dialog is shown asking you to select a workspace.

SelectWorkspace.png

About Workspaces

Workspaces are folders on your computer where your models and associated files are stored.
Note.png
Note
You can have multiple workspaces defined, but only one can be used at a time. For example, you would use different workspaces for different projects. A list of recently used Workspaces can be accessed from this dialog by clicking on "Recent Workspaces"


1. Click on browse to select a folder that will hold your work.

2. Click “Launch” to start Papyrus UMLLight

3. The Papyrus UMLLight modeling environment's workspace is shown.

Workspace-Parts.png
Workspace-Parts-details.png

HERE


Palettes

Palettes are the toolboxes of the Papyrus UMLLight modeling environment.

Palette Structure

Palette Structure.png CommonTools.png

Customized Palettes

In addition to the common tools, every Papyrus UMLLight diagram has a customized palette” containing the model elements that can be used with that diagram. You can think of it as your modeling “toolbox”. Each Papyrus UMLLight diagram’s palette is customized to meet the simplification goals of Papyrus UMLLight.

Diagram Palettes

Views of all the Papyrus UMLLight Palettes (in alphabetical order)

Activity-Class-Package-Palletes.png

Sequence-StateMachine-UseCase-Palettes.png


Note.png
Commenting
The "comment node" and the "comment link" are available in all palettes. This make sense as they can be used to annotate any element



Before we go any further, let's have a look at the tutorial project so we can start implementing it!

Online Shopping System (OSS) Project Overview

The Online Shopping System (OSS) is a web-based system that allows customers to

  • browse and search for products available in the catalogue and view their information;
  • Add/remove products to/from a virtual shopping cart;
  • View the content of the chopping cart;
  • Purchase shopping cart products using a Credit or an online payment service (e.g., PayPal)
  • Have the purchased items delivered.

Actors and use cases

Given these descriptions, we can deduce the following preliminary list of actors and use cases:

Actors Customer Product Manager Payment Service Product Database
Use Cases Login Add product Accept Payment Request Store product information
Browse products Remove product Return payment status Stores shopping carts
Add product to cart Update product
View Cart List existing products
Checkout

We will further elaborate on this as we go through the creation of a model that will describes the OSS system.

Important.png
OSS Project goal
The goal of this tutorial is to familiarize the user with Papyrus UMLLight capabilities and the exercises are designed to meet this goal. As such, the system will not be implemented in it’s entirety as part of this tutorial. The skills you gain as you progress through the tutorial will enable you to complete the exercises on your own.


Use Case Modeling

Use case modeling is about visualizing the environment and requirements of the system being built.

Therefore it is about about users, their needs, and how they interact with the system being built, as well as how the OSS system interacts with other systems.

Before We start, let's understand the main concepts of use case modeling.

Basic Use Case Diagram Concepts

UseCasePalette.png

Subject

The subject represents the system under consideration ("OSS" in our case) to which a set of use cases applies. As such, it also represents the boundary between our system and it's interactions with the "outside world." What is inside the subject constitutes the functionality of the system and what lies outside represent elements that interact with OSS, by providing input or services.

Actor

An Actor models a role played by an entity that interacts with the subject (e.g., by exchanging signals and data) but which is external to the subject, e.g., users accessing OSS or providing a service, e.g., an bank's payment service). As you can see, both people and external systems actors can be actors.

Use Case

A use case is the specification of a set of actions performed by the system, which yields observable results of value to one or more actors or other stakeholders of the system. { Adapted from UML Superstructure Specification, v2.4.1}.

Use cases are typically described as a sequence of steps. This sequence can be illustrated by using a sequence diagram to model the sequence of steps and can also be expressed textually (an example is provided a the end of this tutorial for those interested).

Relationships

The relationships that are available to you in Papyrus UMLLight can be found in the "Links" section of the use case diagram palette and consist of:

  • Association
* The association relationship is used to link actors to the use cases affected by them.
* The association relationship, being bidirectional, does not indicate directionality and can therefore be draw in either direction.
  • Generalization
* The “Generalization” relationship is used to specify inheritance/generalization relationships between use cases or actors.
* The relationship is drawn from the specialized entity to the general entity.
  • Include: enable composition of use cases
The include relationship is used to:
* Simplify a use case by decomposing it into smaller use cases with the goal of increasing modularity and reusability.
* The include relationship is drawn from the including element to the included element.
* A use case "A" included in use case"B indicates that "B" requires "A" to accomplish its goals.
  • Extend is used to specify an optional part of a use case
* The extend relationship is drawn from the extender element to the extended element.
* a use case "C" Extends use case "D" indicates that use case "C" is an optional part of use case D.
  • Comment Link
* The comment link is used to connect a comment to the element to which the comment applies.

Modeling the OSS Use Case

The time has come to get you modeling!

Warning2.png
Open Papyrus UMLLight
If you closed Papyrus UMLLight after looking at its workspace content, please reopen it now!


Create the OSS Project

First, you need to create a project For your OSS model:

  • From the menu, select “File >New UML Light Project” to create the OSS project

Create-UMLLight-Project.png

  • In the New UML Light Model Project" resulting dialog, set the project name to "OSS"
  • Note that the model name is given the same name as the project.
  • Leave the location as the default.

New UMLLightModelProjectDialog.png

  • Click on [Finish].
  • Your project has been created and its Initialization information dialog is displayed,

New OSSProjectCreated.png


Create the Use Case diagram


Full personae descriptions

Back to the top