≡
⇝ Model Builder (pattern library)
≡
⇝ Change Perspective
or
(top right-hand side ⤳ default perspective)
Start
⇝ Perspective -All Windows-
⇝ Settings…
-right click-
(element) ⇝ Delete '…'
-right click-
(element) ⇝
Find
⇝ Find in all Diagrams…
-right click-
(element) ⇝ Find
⇝ In Project Browser
Properties
versus Features
(Features
is rather “UML driven”)Tags
(i.e., UML “tagged values”)Notes
, Constraints
, Scenarios
, Requirements
…*Keyboard shortcuts: -ctrl + S-
(within diagram), -ctrl + Z-
(within diagram),
-ctrl + A-
(within diagram) ⤳ selection of all elements
Add Root Node…
Fn
+F2
to rename a root package
-right click-
(top-level package within browser) ⇝ Set View Icon…
⤳
Simple
, Class View
, Use Case
, etc.
Enterprise Architect supports different options depending on the fact an element is handled from a diagram or from the repository.
Special Action… -Properties-
(Advanced
or Details
tabs as extra properties compared to Main
tab)
allows enhanced access to properties, e.g., adapting the type of an element:
«iterative»
⤳ «stream»
for
UML Structured Activity
-right click-
(element within diagram) ⇝ Compartment Visibility…
(if applicable)
-right click-
(diagram within browser) ⇝ Properties…
⤳ Diagram
-right click-
(element within diagram) ⇝ Type Information…
⤳ doc. on the Web
Design
(element) ⇝
Manage… -Element-
Change Type… -Advanced-
⤳ core type
Any element, e.g., Payer
, has a type, e.g.,
UseCase
, that can be known when clicking
on the element and looking at the bottom left corner.
Start
⇝ Design -All Windows-
⇝
System -Explore-
Publish
⇝ Save
(Diagram Image
) ⇝ Save to File
Design
⇝ Options -Diagram-
⇝ Change Type… -Custom-
(e.g.,
UML Class Diagram ⤳ Data Modeling)
-left click-
(element within diagram) ⇝ ≡
⇝ Inspect
⇝ Relationships -Inspector-
(Details
tab)
-right click-
(element within diagram) ⇝ ≡
⇝ Properties… -Properties-
⇝ Links -Related-
⤳ relationships (i.e., connectors)
-left click-
(element within diagram) ⇝ ≡
⇝ Design…
⇝ Properties -Create-
Start
⇝ Help -Help-
⇝ Open the Example Model -Resources-
Model Builder (pattern library)
Settings
⇝ Transfer -Model-
⇝ Migrate EAP/EAPX Project to QEA -Move Data-
Settings
⇝ Transfer -Model-
⇝ Full Project Transfer via Native XML -Move Data-
⇝ Export Complete Project…
Configure
⇝ Transfer -Model-
⇝ Native XML -Move Data-
⇝ Import Complete Project…
Settings
⇝ Transfer -Model-
⇝ Export Reference Data… -Reference Data-
Settings
⇝ Transfer -Model-
⇝ Import Reference Data… -Reference Data-
Image Manager
)Publish
⇝
Export -Model Exchange-
⇝
BPMN 2.0 -Export to Other Format-
⤳ BPMN 2.0 XML
Publish
⇝
Import -Model Exchange-
⇝
BPMN 2.0 -Import Other Format-
⤳ BPMN 2.0 XML
Publish
⇝
Export -Model Exchange-
⇝ Native Format -Export with Full Round Trip-
Publish
⇝
Import -Model Exchange-
⇝ Native File… -Import Native/XMI-
Quote.qea
BPMN project ver. 17.x
Quote
package for testing interoperability within
bpmn.io
and liveBPMN.com
-right click-
(element)
⇝ Properties… -Properties-
⇝ Requirements -Responsibilities-
*More on requirements management in SysML here…
UML.qea
Enterprise Architect project ver. 17.x
ownedBehavior
meta-association**Classifier Behavior
(UML Class): -right click-
(class)
⇝ Properties… -Properties-
⇝ Classifier Behavior -Details-
(dedicated to SysML block)
-right click-
(diagram within browser) ⇝ Switch View
⇝ Switch to List View
-right click-
(diagram within browser) ⇝ Switch View
⇝ Switch to Specification View
-right click-
⇝ Add
⇝ Activity
⇝ With Activity Diagram
⤳ activity as owned behavior
-right click-
⇝ New Child Diagram
⇝ Select Composite Diagram
⤳ prior activity with activity diagram as child diagram
-right click-
⇝ Advanced
⇝ Set Operation…
-right click-
⇝ Advanced
⇝ Information Flows Realized…
-right click-
⇝ Advanced
⇝ Information Items Conveyed…
Set Operation…
Information Item Conveyed
-right click-
(element) ⇝ Properties… -Properties-
⇝ Alias
Properties… -Properties-
(diagram within browser) ⇝ Diagram
⇝ Use Alias if Available
-right click-
(element within diagram) ⇝ Set Bookmark Value
⇝ Enable Bookmark
Créer Payer_behavior
(activité + diagramme d'activité)
comme comportement de
Payer
(processus : Choisir moyen de paiement
⤳
Vérifier note
⤳
[Procéder paiement
⤳
Quitter table
] versus [Fuir en courant
])
Créer Payer_behavior
(activité + diagramme d'activité)
comme comportement de
Payer
(processus : Choisir moyen de paiement
⤳
Vérifier note
⤳
[Procéder paiement
⤳
Quitter table
] versus [Fuir en courant
])
Lier Payer_behavior
en tant que child diagram de Payer
Créer la classe Note_a_payer
(classe active) avec
l'attribut prix
et l'opération payer()
Créer
un information flow (UML Use Case Diagram) de Se restaurer
à Payer
qui convoie l'information Note_a_payer
Appeler l'opération payer()
de
la classe Note_a_payer
dans l'action
Procéder paiement
Créer un diagramme de séquence avec l'occurrence
Se restaurer
(use case) qui
engendre une occurrence Payer
(use case)
Restaurant_base.qea
Enterprise Architect project ver. 17.x
Database Builder
, SQL,
re-engineering
Sample Data Models
⤳ Basic MySQL Model
)
Database Builder
,
Model transformation (built-in DDL transformation),
XML, XSD, XSLT
eap
/eapx
(Jet), .feap
(FireBird), .qea
/qeax
(SQLite)
MariaDB
(localhost:3306
, root/fim…
)right click
(root
) ⇝ Create new
⇝ Database
⤳ my_projectright click
(my_project) ⇝ Run SQL file…
Settings
⇝ ODBC Data Sources -User Tools-
⤳ obsolete
Settings
⇝ Integrity -Model-
⇝
Project Integrity -Project Data-
⤳ check all integrity topics
Enterprise Architect logo
⇝
Close Project
Settings
⇝ Transfer -Model-
⇝
Full Project Transfer via Connection -Move Data-
⤳ check File to DBMS
Native Connection
(preferred from Enterprise Architect ver. 17.x)ODBC Connection Wizard
⤳ obsolete1. Create P.qea
Enterprise Architect project ver. 17.x,
add content, and transfer it to MariaDB
2. Update Language
attribute (SELECT Name, GenType, PDATA2 FROM t_object
) from Java
to NULL
by means of HeidiSQL
UPDATE t_object SET PDATA2 = NULL;
3. Update Author
attribute (SELECT Name, Author FROM t_object
) from <your user id.>
to Belzebuth
by means of HeidiSQL
UPDATE t_object SET Author = 'Belzebuth';
4. Find 0..1
UML cardinality (Search
⇝ Find text on server
⤳ t_cardinality
)
by means of HeidiSQL
Auditing allows model evolution tracking* (possibly user-based tracking) without “true” versioning capability ⤳ commit, rollback, fork, merge…
Settings
⇝ Auditing -Model-
⇝ Auditing Settings
⇝ Configure
⇝ Enable Auditing
Settings
⇝ Auditing -Model-
⇝ Auditing Settings
⇝ Configure
⇝ Clear Logs
-right click-
(element within browser) ⇝ View Audit History
*Deferred search in particular…
Design
⇝ Manage -Package-
⇝ Manage Baselines… -Baselines-
or -right click-
(package within browser) ⇝ Package Control
⇝ Package Baselines…
-left click-
(baseline) ⇝ Show Differences
⇝ Merge to Model : Merge change from baseline to Model
⤳ -ctrl + Z-
piece by piece
-left click-
(baseline) ⇝ Restore to Baseline
⤳ -ctrl + Z-
whole
Export File
Import File
Compare Model to File
*Baselines can be externalized to a “Reusable Asset Service Registry” ☛
*my attribute
is added in baseline 2 while it is removed in baseline 3.
Show Differences
*my attribute
is annotated in red.
*The way about version control data have to be shared is discussed here…
Versioning infrastructure is independent of Enterprise Architect;
it is set up outside Enterprise Architect using, for instance, Subversion
⤳ server
here… with login:
Bab64
/CIMPASAS
.
cd '.\Documents\NetBeansProjects\Apache-Subversion-1.14.2'
./bin/svn help
./bin/svn checkout https://svn.riouxsvn.com/cimpa
(./bin/cimpa
⤳ configuration, i.e., working space within Subversion)
.\bin\svnadmin create NYC_MOMA_UML_REPOSITORY
.\bin\svn checkout file:///C:\Users\franc\Documents\NetBeansProjects\Apache-Subversion-1.14.2\NYC_MOMA_UML_REPOSITORY ./nyc_moma
.\bin\svnlook history NYC_MOMA_UML_REPOSITORY
.\bin\svnlook changed NYC_MOMA_UML_REPOSITORY
.\bin\svnlook tree NYC_MOMA_UML_REPOSITORY
.\bin\svn delete .\nyc_moma\
Note: it is strongly recommended to execute Subversion commands inside Enterprise Architect only.
Settings
⇝ Project-VC -Version Control-
C:\Users\franc\Documents\NetBeansProjects\Apache-Subversion-1.14.2\bin\svn.exe
C:\Users\franc\Documents\NetBeansProjects\Apache-Subversion-1.14.2\cimpa
C:\Users\franc\Documents\NetBeansProjects\Apache-Subversion-1.14.2\nyc_moma
Working spaces: HKEY_CURRENT_USER\Software\Sparx Systems\EA64\EA\OPTIONS\VCConfigs
Settings
⇝ Package-VC -Version Control-
⤳ include package in versioning (e.g., P
⤳ Get Package…
⤳ P.xml
)
-right click-
(package within browser) ⇝ Package Control
⇝
Check In…
*
here…
⤳ XMI file is committed, i.e., versioned, and next locked (i.e., delivered to other users), no change is going to occur…
-right click-
(package within browser) ⇝ Package Control
⇝
Check Out…
*
here…
⤳ XMI file is unlocked (i.e., blocked for other users), change is going to occur…
* Check In Branch… here… and Check Out Branch… here… allow finer version control.
Requirements
package (Requirements.xml
file)
Requirements
ver. 1**AFTER-right click-
(package within browser) ⇝ Package Control
⇝
Check In…
here…
⤳ XMI file is committed, i.e., versioned, and next locked (i.e., delivered to other users), no change is going to occur…
Requirements
ver. 2**BEFORE-right click-
(package within browser) ⇝ Package Control
⇝
Check Out…
*
here…
⤳ XMI file is unlocked (i.e., blocked for other users), change is going to occur…
Requirements
ver. 3Requirements
ver. 4-right click-
(Requirements
package within browser) ⇝ Package Control
⇝
File History…
here…
⇝ Retrieve
⤳ Ver. 2
-right click-
(Requirements
package within browser) ⇝ Package Control
⇝
Compare with Controlled Version…
⤳ compare Requirements
Ver. 2 to last version, i.e., Ver. 4…
-right click-
(Requirements
package within browser) ⇝ Package Control
⇝
Get latest…
⤳ Ver. 4
-right click-
(Requirements
package within browser) ⇝ Package Control
⇝
Undo Check Out…
⤳ rollback change from last commit…
Requirements
ver. 5-right click-
(P
within browser) ⇝ Package Control
⇝
Add Branch to Version Control…
here…
⤳ Export as Model Branch…
⤳ P.EAB
file
-right click-
(P
within browser) ⇝ Package Control
⇝
Check Out Branch…
here…
⤳ P
is for change…
-right click-
(P
within browser) ⇝ Package Control
⇝
Undo Check Out…
here…
-right click-
(P
within browser) ⇝ Package Control
⇝
Check In Branch…
here…
⤳ versioned packages are chosen
Settings
⇝ Options -Model-
⤳ e.g., “Reusable Asset Service Registry”
for Baselines
Settings
⇝ UML Types -Reference Data-
⤳ new stereotypes, new cardinality patterns…
Settings
⇝ Settings -Reference Data-
⇝ Database Datatypes -Datatypes and Namespaces-
⤳ new database systems, new database types…
Settings
⇝ Model Types -Reference Data-
⤳ new statuses, new constraint types, people…
Start -Collaborate-
⇝ Model Home
⇝ Manage -Model Places-
⇝ Choose Default
⤳ default diagram of model…
A
is associated with n
B
and n
is primeBelzebuth
(resource) as Business Analyst
(role)UML_model_pattern.qea
Enterprise Architect project ver. 17.x
Specialize -Technologies-
⇝ Publish-Technology
⇝ Publish Diagram as Pattern -Publish-
⤳ UML_model_pattern_core_classes.xml
file is recorded as Diagram Pattern named Core classes
Settings
⇝ Resources -Reference Data-
⤳ access to Resources
tab of browser
Resources
tab of browser ⇝
Patterns
⇝
Import Pattern
⤳ UML_model_pattern_core_classes.xml
file is loaded as (project) resource
-drag & drop-
(Core classes
resource in Resources
tab of browser
⇝ Patterns
) onto any opened diagram…
Core use cases
Publish -Model Exchange-
(package within browser)
⇝ Export Package
⇝ Export Current Package
to Native/XMI File… -Export-
*
⤳ UML_model_pattern.xml
file is recorded as Model Template
(UML_model_pattern.rtf
as doc. of Model Template)
Specialize -Technologies-
⇝ Publish-Technology
⇝ Generate MDG Technology -MDG Technology-
⤳ FB.mts
and FB.xml
files are recorded as Model Driven Generation -MDG- technology
Download Enterprise Architect ver. 17.x Model Template
(UML_model_pattern.xml
),
doc. of Model Template (UML_model_pattern.rtf
),
MDG technology files (FB.mts
and FB.xml
)
*XMI (1.1 or 2.1)! ⤳ not native XML!
FB.mts
)<MDG.Selections model="UML_model_pattern --- DBType=11;Connect=Provider=SSDB;SRC=C:\Users\franc\Documents\Nextcloud\Modeling\public_html\Enterprise_Architect\UML_model_pattern\UML_model_pattern.qea;UID=;PWD=;">
<Technology id="FB" name="FB" version="1" notes="Franck Barbier" filename="C:\Users\franc\Documents\Nextcloud\Modeling\public_html\Enterprise_Architect\UML_model_pattern\FB.xml" infoURI="BarbierDarnal.com" icon="C:\Users\franc\Documents\Nextcloud\Modeling\public_html\Enterprise_Architect\UML_model_pattern\FB.bmp"/>
<ModelTemplates>
<Model name="UML model pattern Franck Barbier"
location="UML_model_pattern.xml"
default="yes"
icon = "34"
isFramework="false"/>
</ModelTemplates>
</MDG.Selections>
Specialize -Technologies-
⇝ Publish-Technology
⇝ Import MDG Technology -MDG Technology-
**
*UML_model_pattern.xml
and
UML_model_pattern.rtf
must be located in the directory
FB.xml
is itself located.
**User-based MDG technology has to be removed from C:\Users\franc\AppData\Roaming\Sparx Systems\EA\MDGTechnologies
.
*Refresh may be required ⤳ change perspective to All Perspectives
Executable_StateMachines.qea
Enterprise Architect project ver. 17.x
Design
⇝ Manage -Package
⇝ Validate -Tools-
⇝ Validate Current Package
-right click-
(UML Artifact) ⇝
Properties
⇝ Properties…
⤳ Language: JavaScript
Simulate
⇝ Statemachine -Executable States-
⇝ Generate, Build and Run -Execute-
Simulate
⇝ Simulator -Dynamic Simulation-
⇝ Open Simulation Window -Simulate-
Simulate
⇝ Events -Dynamic Simulation-
Execute
⇝ Stop -Run-
Simulate
⇝ Stop -Run Simulation-
Platform: BPMN
) is similar to
UML apart from the possibility of assigning JavaScript code
to BPMN script tasks .
Conditions on sequence flows (if any) are set up via conditionType
and conditionExpression
tags, e.g., conditionType: Expression
and conditionExpression: optional==true
.
Process
instance is then completed, if and only if the following two conditions hold: (…)
There is no token remaining within the Process
instance.”
(BPMN ver. 2.0.2 - Jan. 2014, p. 443)
P
is exported in native format from A
projectP
is imported in empty B
project ⤳ Strip GUIDs
is uncheckedA
project ⤳ P
is (again) exportedP
is (again) imported in non-empty B
project ⤳ Strip GUIDs
is uncheckedB
project is updated from A
projectP1
package (having C1
class) is exportedC1
is moved to P2
package while P1
is deletedP1
(having C1
) is imported ⤳ conflict managementPrison_de_Nantes.qea
project ver. 17.x
UML.qea
project ver. 17.x
Call Operation
Structured Activity
Expansion Region
Interruptible Activity Region
Interrupt Flow
Accept Event Action
Create Object