Enterprise Architect

Enterprise Architect

Enterprise Architect ⤳ headlines

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 ArchitectModel Builder (pattern library)

Enterprise Architect ⤳ project conversion

Reference Data ⤳ example (Image Manager)

Enterprise Architect ⤳ import/export

Exercises
  1. Download Enterprise Architect Quote.qea BPMN project
  2. Export Quote package for testing interoperability within bpmn.io and liveBPMN.com

  1. Download Enterprise Architect Franck_as_trainer BPMN project
  2. 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 paiementVérifier note ⤳ [Procéder paiementQuitter 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
  1. Prison de Nantes MariaDB database re-engineering (Sample Data ModelsBasic 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

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

SharingFile-based Repository

SharingServer-based Repository

Sharing ⤳ infrastructure

  1. File-based Repositoryeap/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 Databasep
    • 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 Wizardobsolete

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 servert_cardinality) by means of HeidiSQL

Sharing
Replication
Storage robot

VersioningAuditing -element per element-

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

*Deferred search in particular…

VersioningBaselines* -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
  1. Download Baselines.qea Enterprise Architect project
  2. 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 here

Version Control ⤳ versioning data in version control server

Version Control here ⤳ -package per package-

Versioning infrastructure is independent of Enterprise Architect; it is set up outside Enterprise Architect using, for instance, Subversion ⤳ server here… with login: Bab64/CIMPASAS.

Version ControlSubversion

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 Controlmodel branch

Customization ⤳ general-purpose issues

People as resource

People as resource cont'd

People as resource cont'd

Default diagram

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 DiagramCall Operation

UML Activity DiagramStructured Activity

UML Activity DiagramExpansion Region

UML Activity DiagramInterruptible Activity Region

UML Activity DiagramInterrupt Flow

UML Activity DiagramAccept Event Action

UML Activity DiagramCreate Object

© Franck Barbier