≡ ⇝ 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 BrowserProperties versus Features (Features is rather “UML driven”)Tags (i.e., UML “tagged values”)Notes, Constraints, Scenarios, Requirements…*Keyboard shortcuts: -ctrl + S- (within diagram) ⤳ “save”,
-ctrl + Z- (within diagram) ⤳ “undo”
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-
Start ⇝ Help -Help- ⇝ Open the Example Model -Resources-
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--left click- (element within diagram) ⇝ Start ⇝ Properties -All Windows-
⇝
Properties -General-
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-
Download Enterprise Architect Quote.qea BPMN project
and next export Quote package for testing interoperability
within
bpmn.io ☛
and liveBPMN.com ☛
Download Enterprise Architect ArchiMate.qea project
and next export P package for testing interoperability
within Archi ☛
-right click- (element)
⇝ Properties… -Properties-
⇝ Requirements -Responsibilities-
*More on requirements management in SysML ☛
UML.qea
ownedBehavior meta-association*
*Classifier Behavior (UML Class): -right click- (class)
⇝ Properties… -Properties- ⇝ Classifier Behavior -Details-
(dedicated to SysML block)
Graphical View to List View-right click- (diagram within browser) ⇝ Switch View
⇝ Switch to List View
Graphical View to Specification 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- ⇝ Properties
⇝ Properties…
⇝ Advanced tab ⤳ kind ⤳
CallOperation
-right click- ⇝ Advanced ⇝ Set Operation…
-right click- ⇝ Advanced ⇝ Information Flows Realized…
-right click- ⇝ Advanced ⇝ Information Items Conveyed…
Set Operation…
Information Items 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
*Keyboard shortcut:
-ctrl + A- (within diagram) ⤳ selection of all elements
Diagram Notes and Diagram Legend widgets
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)
avec l'information Note_a_payer véhiculée
Restaurant_base.qea
Database Builder, SQL,
re-engineering
Prison de Nantes MariaDB database 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 ⤳ pright click (p) ⇝ 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. 16.x)ODBC Connection Wizard ⤳ obsolete
1. Create P.qea Enterprise Architect project,
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.
Download Baselines.qea Enterprise Architect project
and next restore baseline 2
*The way about version control data have to be shared is discussed ☛
Versioning infrastructure is independent of Enterprise Architect;
it is set up outside Enterprise Architect using, for instance, Subversion
⤳ server
☛ (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…*
☛
⤳ 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…*
☛
⤳ XMI file is unlocked (i.e., blocked for other users), change is going to occur…
* Check In Branch… ☛ and Check Out Branch… ☛ allow finer version control
Requirements package (R.xml file)
Requirements ver. 1*
*AFTER-right click- (package within browser) ⇝ Package Control ⇝
Check In…
☛
⤳ 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…*
☛
⤳ XMI file is unlocked (i.e., blocked for other users), change is going to occur…
Requirements ver. 3
Requirements ver. 4
-right click- (Requirements package within browser) ⇝ Package Control ⇝
File History…
☛
⇝ 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…
☛
⤳ Export as Model Branch… ⤳ P.EAB file
-right click- (P within browser) ⇝ Package Control ⇝
Check Out Branch…
☛
⤳ P is for change…
-right click- (P within browser) ⇝ Package Control ⇝
Undo Check Out…
☛
-right click- (P within browser) ⇝ Package Control ⇝
Check In Branch…
☛
⤳ versioned packages are chosen
Settings
⇝ Options -Model-
Baseline ⤳ “Reusable Asset Service Registry”
Source Code Engineering Settings
⇝ UML Types -Reference Data-
⤳ new stereotypes, new cardinalities…
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 Diagram ⇝ 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
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 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
Design ⇝ Manage -Package
⇝ Validate -Tools-
⇝ Validate Current Package
-right click- (UML Artifact) ⇝
Properties ⇝ Properties… ⤳ Language: JavaScriptSimulate ⇝ 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 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 project
P is imported in empty B project ⤳ Strip GUIDs is unchecked
A project ⤳ P is (again) exported
P is (again) imported in non-empty B project ⤳ Strip GUIDs is unchecked
B project is updated from A project
P1 package (having C1 class) is exported
C1 is moved to P2 package while P1 is deleted
P1 (having C1) is imported ⤳ conflict management
Prison_de_Nantes.qea project
UML.qea project
Call Operation
Structured Activity
Expansion Region
Interruptible Activity Region
Interrupt Flow
Accept Event Action
Create Object