Enterprise Architect

Enterprise Architect

Enterprise Architect ⤳ topics

Enterprise Architect ⤳ agenda (1/3)

Enterprise Architect ⤳ agenda (2/3)

Enterprise Architect ⤳ agenda (3/3)

Enterprise Architect ⤳ fundamentals*

*Keyboard shortcuts: -ctrl + S- (within diagram) ⤳ “save”, -ctrl + Z- (within diagram) ⤳ “undo”

Enterprise Architect ⤳ “Package”

Enterprise Architect ⤳ “Element”

Enterprise Architect supports different options depending on the fact an element is handled from a diagram or from the repository.

Enterprise Architect ⤳ type of “Element”

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.

Enterprise Architect ⤳ utilities

Enterprise Architect ⤳ Model Builder (pattern library)

Enterprise Architect ⤳ project conversion

Reference Data ⤳ example (Image Manager)

Enterprise Architect ⤳ import/export

Exercise

Download Enterprise Architect Quote.qea BPMN project
and next export Quote package for testing interoperability
within bpmn.io ☛ and liveBPMN.com ☛

Exercise

Download Enterprise Architect ArchiMate.qea project and next export P package for testing interoperability within Archi ☛

Requirements engineering ⤳ supports

UML versus SysML*

*More on requirements management in SysML ☛

Requirements engineering
UML Use Case Diagram, use case narrative, Specification Manager, Relation Matrix
Restaurant ☛

Requirements engineering
Specification Manager, Relationship Matrix, Feature Matrix, user stories, SysML Requirement Diagram
New York City Museum Of Modern Art -MOMA- ☛

Modeling ⤳ Best practices
Download UML.qea
Enterprise Architect project

UML ownedBehavior meta-association*

*Classifier Behavior (UML Class): -right click- (class) ⇝ Properties… -Properties- ⇝ Classifier Behavior -Details- (dedicated to SysML block)

Use case has composite element (activity) with UML Activity Diagram (“glasses” icon ☛)

Child composite UML Activity Diagram

From Graphical View to List View

-right click- (diagram within browser) ⇝ Switch View ⇝ Switch to List View

From Graphical View to Specification View

-right click- (diagram within browser) ⇝ Switch View ⇝ Switch to Specification View

Consistency of UML modeling…

Set Operation…

Information Items Conveyed

Link to feature of element (1/2) (or left curly brace from selected feature)

Link to feature of element (2/2)

Link to feature of element ⤳ Feature Matrix

Modeling ⤳ Look & feel

Modeling widget ⤳ aliasing (e.g., internationalization)

Modeling widget ⤳ annotating

-right click- (element within diagram) ⇝ Set Bookmark Value ⇝ Enable Bookmark

Style

Element grouping*

*Keyboard shortcut: -ctrl + A- (within diagram) ⤳ selection of all elements

Diagram Notes and Diagram Legend widgets

Exercise

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


Download Restaurant_base.qea
Enterprise Architect project

Data engineering
UML Class Diagram, UML Object Diagram, OCL, Model checking (Model Validation), Database Builder, SQL, re-engineering
Prison de Nantes ☛

Exercise
  1. Prison de Nantes ⤳ exercise, question 1
  2. Prison de Nantes ⤳ exercise, question 2

Exercise

Prison de Nantes MariaDB database re-engineering
(Sample Data Models ⤳ Basic MySQL Model)


Database connection ☛

Data engineering
UML Class Diagram, OCL, Database Builder, Model transformation (built-in DDL transformation), XML, XSD, XSLT
Product Lifecycle Management -PLM- ☛
Qualif (XML Schema Composer) ☛

Documentation
ArchiMate, Document Template, Custom Document, Virtual Document, Dynamic Document, HTML, Report Builder
Clinique ArchiMate ☛

Search
Object Model, Query Builder, Model Search
Clinique ArchiMate ☛

Sharing ⤳ File-based Repository

Sharing ⤳ Server-based Repository

Sharing ⤳ infrastructure

  1. File-based Repository ⤳ eap/eapx (Jet), .feap(FireBird), .qea/qeax (SQLite)
  2. Server-based Repository ☛ ⤳ e.g., MariaDB ☛ (MySQL ODBC driver ☛)
    • Service name: MariaDB (localhost:3306, root/fim…)
    • right click (root) ⇝ Create new ⇝ Database ⤳ p
    • right click (p) ⇝ Run SQL file…
    • Database schema creation ☛ (+ initial data) ⤳ MySQL script(s)
  3. Cloud-based Repository (Web) ⤳ Pro Cloud Server ☛

MariaDB user

Server-based Repository ⤳ database

Server-based Repository ⤳ ODBC connection (MariaDB)

Settings ⇝ ODBC Data Sources -User Tools- ⤳ obsolete

Server-based Repository ⤳ project transfer (MariaDB) ☛

  1. Settings ⇝ Integrity -Model- ⇝ Project Integrity -Project Data- ⤳ check all integrity topics
  2. Enterprise Architect logo ⇝ Close Project
  3. 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

Server-based Repository ⤳ project transfer (MariaDB ODBC connection)

Server-based Repository ⤳ project transfer (MariaDB native connection)

Server-based Repository ⤳ project transfer (MariaDB native connection)

Name and connection string

MariaDB meta-query

Exercise

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

Sharing
Replication
Storage robot ☛

Collaboration
BPMN, user, group, discuss, Model Review,
Search…
Quote ☛

Project management
UML Communication Diagram, UML State Machine Diagram, UML Component Diagram, project resources, project tasks, project issues, Gantt, Search…
Système de domotique ☛

Versioning ⤳ Auditing ☛ -element per element-

Auditing allows model evolution tracking* (possibly user-based tracking) without “true” versioning capability ⤳ commit, rollback, fork, merge…

*Deferred search in particular…

Versioning ⤳ Baselines* ☛ -package per package-

*Baselines can be externalized to a “Reusable Asset Service Registry” ☛

Baselines ⤳ principle*

→

*my attribute is added in baseline 2 while it is removed in baseline 3.

Baseline 2 versus model, i.e., baseline 3 ⤳ Show Differences

Baseline 2 versus model, i.e., baseline 3*

*my attribute is annotated in red.

Exercise

Download Baselines.qea Enterprise Architect project
and next restore baseline 2

Versioning
UML Sequence Diagram, Auditing, Baselines
Railcar control system ☛

Version Control* ⤳ versioning data in local directory

*The way about version control data have to be shared is discussed ☛

Version Control ⤳ versioning data in version control server

Version Control ☛ ⤳ -package per package-

Versioning infrastructure is independent of Enterprise Architect; it is set up outside Enterprise Architect using, for instance, Subversion ⤳ server ☛ (login: Bab64/CIMPASAS)

Version Control ⤳ Subversion

Subversion ⤳ key actions

Note: it is strongly recommended to execute Subversion commands inside Enterprise Architect only

Version Control ⤳ project setup

Settings ⇝ Project-VC -Version Control-

Version Control ⤳ project setup (version control server)

Version Control ⤳ project setup (local directory)

Working spaces: HKEY_CURRENT_USER\Software\Sparx Systems\EA64\EA\OPTIONS\VCConfigs

Version Control ⤳ package setup

* Check In Branch… ☛ and Check Out Branch… ☛ allow finer version control

Version Control ⤳ package version control setup

Example
New York City Museum Of Modern Art -MOMA-
UML case study ☛
Version control of Requirements package (R.xml file)

Example ⤳ 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…

Example ⤳ 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…

Example ⤳ Requirements ver. 3

Example ⤳ Requirements ver. 4

Example

  1. -right click- (Requirements package within browser) ⇝ Package Control ⇝ File History… ☛ ⇝ Retrieve ⤳ Ver. 2
  2. -right click- (Requirements package within browser) ⇝ Package Control ⇝ Compare with Controlled Version… ⤳ compare Requirements Ver. 2 to last version, i.e., Ver. 4…
  3. -right click- (Requirements package within browser) ⇝ Package Control ⇝ Get latest… ⤳ Ver. 4
  4. -right click- (Requirements package within browser) ⇝ Package Control ⇝ Undo Check Out… ⤳ rollback change from last commit…

Example ⤳ Ver.2 (+: green, -: red) versus Ver. 4

Exercise ⤳ Requirements ver. 5

Version Control ⤳ model branch

Customization ⤳ general-purpose issues

People as resource

People as resource cont'd

People as resource cont'd

Default diagram (from ver. 17.x, security must be enabled to access option)

Exercise
  1. A is associated with n B and n is prime
  2. Create Belzebuth (resource) as Business Analyst (role)

Customization
Diagram Pattern, Model Template, Model Driven Generation -MDG-
Download UML_model_pattern.qea Enterprise Architect project

UML Diagram Pattern

Diagram Pattern ☛

Exercise
  1. Create Diagram Pattern for Core use cases

UML Model Template

Model Template ☛

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!

Model Template ⤳ export

Model Template ⤳ creation of MDG technology

Model Template ⤳ customization of MDG technology (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>

Model Template ⤳ import of MDG technology*

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.

Model Template ⤳ usage of MDG technology*

*Refresh may be required ⤳ change perspective to All Perspectives

Exercise
  1. Create BPMN Model Template

Customization
UML profile, Model Driven Generation -MDG-
Système de domotique ☛

Scripting
Java Automation Interface, Python Automation Interface, JavaScript…
Scripting & Automation Interface ☛

Scripting
Model Add-In, Add-In Search…
Scripting & Automation Interface ☛

Model checking

Model Validation ⤳ what's wrong (BPMN)?

Model Validation ⤳ what's wrong (BPMN) cont'd?

Model Validation

Design ⇝ Manage -Package ⇝ Validate -Tools- ⇝ Validate Current Package

Executable UML state machines ⤳ UML Signal versus UML Trigger

Executable UML state machines ⤳ UML Artifact

Executable UML state machines ⤳ key actions

Executable UML state machines ⤳ execution

Executable UML state machines ⤳ execution cont'd

Model checking
UML Activity Diagram simulation
New York City Museum Of Modern Art -MOMA- ☛

BPMN simulation

Model checking
BPMN & Business Process Simulation Interchange Standard -BPSim- ☛ simulation
New York City Museum Of Modern Art -MOMA- ☛

Model checking
Decision Model and Notation -DMN- ☛
simulation ☛

Model transformation
Transformation Template
Prison de Nantes (NoSQL - Mongoose) ☛
JSON Schema ☛

P is exported in native format from A project

P is imported in empty B project ⤳ Strip GUIDs is unchecked

Changes occur in 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

Project update ⤳ other case

P1 package (having C1 class) is exported

C1 is moved to P2 package while P1 is deleted

P1 (having C1) is imported ⤳ conflict management

UML Activity Diagram
Download Enterprise Architect Prison_de_Nantes.qea project
Download Enterprise Architect
UML.qea project

UML Activity Diagram ⤳ Call Operation

UML Activity Diagram ⤳ Structured Activity

UML Activity Diagram ⤳ Expansion Region

UML Activity Diagram ⤳ Interruptible Activity Region

UML Activity Diagram ⤳ Interrupt Flow

UML Activity Diagram ⤳ Accept Event Action

UML Activity Diagram ⤳ Create Object

© BarbierDarnal.com