# Enterprise Architect

Enterprise Architect est un logiciel de modélisation et de conception UML, édité par la société australienne Sparx Systems. Couvrant, par ses fonctionnalités, l'ensemble des étapes du cycle de conception d'application, il est l'un des logiciels de conception et de modélisation les plus reconnus.

## Historique

En 1996, Geoffrey Sparks crée la société Sparx Systems, une société spécialisée dans les logiciels de conception et de modélisation basée à Creswick, en Australie.
En août 2000, Sparx Systems édite la première version commerciale de d'Enterprise Architect. En 2013, elle édite la dixième version du logiciel, revendiquant 300 000 licences vendues, toutes versions confondues. En 2018, Sparx Systems publie la version 14 revendiquant 740 000 licences.

## Description générale

Enterprise Architect permet le développement d'applications selon le schéma d'architecture orientée modèle ainsi que le schéma d'architecture orientée services.
Enterprise Architect couvre tous les aspects du cycle de développement d'applications depuis la gestion des exigences, en passant par les phases de conception, la construction, tests et maintenance. Ces aspects sont appuyés par des fonctions de support tels que la traçabilité, la gestion de projet, ou encore le contrôle de version.
Le produit est destiné aux analystes, développeurs, architectes, urbanistes de toutes structures : de petites et moyennes entreprises aux multinationales, ainsi que les organisations gouvernementales.

## Fonctionnalités
### Général

Parmi les fonctionnalités principales d'Enterprise Architect :

#### Gestion des exigences

La modélisation des exigences inclut la personnalisation et la manière dont sont documentées les exigences. Cela permet de lier les exigences à la conception et à l'implémentation permettant la traçabilité des exigences. Ces exigences peuvent être l'objet de modifications, de traitement par workflow, de comparaison et d'audit.

#### Analyse et modélisation métier

Enterprise Architect supporte nombre de méthodes de traitements des processus métiers à l'aide d'UML comme langage de modélisation de base. Il permet également de prendre en compte la définition des règles métier avec la possibilité de générer du code exécutable à partir de ces règles.

#### Modélisation de données

Enterprise Architect permet la modélisation de données depuis le concept jusqu'aux niveaux physiques, l’ingénierie et la rétroingénierie des schémas de bases de données ainsi que la transformation du modèle vers les bases de données physiques, dépendantes de la plateforme où elles sont installées. Parmi les bases de données supportées : SQL Server, DB2, Informix, Access, MySql, Oracle, PostgreSQL, etc.

#### Simulation

Le logiciel prend en charge la simulation de modèle par l'utilisation du diagramme d'activité UML et permet de simuler l'état des machines, les interactions, les activités.

#### Développement

En accord avec les principes de l'architecture orientée modèle, le logiciel permet la transformation du modèle, indépendant de la plateforme, en structures de classes de la plateforme choisie. Les langages générables par le logiciel sont ActionScript, C, C#, C++, Delphi, Java, PHP, Python, Visual Basic et Visual Basic .Net.
Le logiciel fournit également des environnements intégrés supportant l'édition de code pour le développement, le débogage, et les tests à l'intérieur du modèle. ces environnements incluent C (Microsoft), C++ (Microsoft et GNU), Visual Basic (Microsoft), les compilateurs de la famille .Net (Microsoft), Java (Sun) et PHP.

#### Gestion des tests

Enterprise Architect supporte les tests informatiques basés sur les tests xUnit (utilisation de classes NUnit ou JUnit, avec la possibilité de générer les tests à partir du modèle et d'enregistrer les résultats des classes testées, et les tests TestPoints, basé sur le code de test issu du modèle

#### Analyse visuelle de l'exécution

À partir du diagramme de séquence UML et le profilage, le logiciel permet aux développeurs d'effectuer une analyse abstraite du produit.
Architecture d'Enterprise - cartographie - urbanisation
Avec la notation ArchiMate, le support TOGAF, et d'éventuelles personnalisations avec des profils UML et Technologies MDG, les couches métiers, applicatives, et infrastructure d'une entreprise peuvent être gérées dans Sparx Enterprise Architect.

## Intégration

Enterprise Architect dispose d'outils permettant l'intégration avec d'autres applications, parmi lesquels le format d'import / export XMI ou CSV.
Enterprise Architect dispose également d'outils permettant de s'intégrer dans des logiciels tiers comme, Visual Studio .Net, Eclipse, Visio, JIRA, ou SAP.
Des add-ins pour Enterprise Architect exploitent son API afin de proposer des fonctionnalités complémentaires :
* EA Navigator (gratuit et open source): améliore l'utilisation quotidienne notamment en simplifiant la navigation entre éléments et diagrammes des modèles.
* eaDocX (commercial, payant): générateur documentaire Word et intégration Excel pour simplifier la génération et gestion des livrables dont le contenu est issu des modèles.
* eaUtils (gratuit): ensemble d'utilitaires complémentaires aux fonctionnalités d'EA.