Réserver une Démo

Ce webinaire est terminé, l’enregistrement sera affiché sous peu.

Aperçu

Dans notre deuxième série de la série de webinaires de Modeling Basics, nous vous aiderons à commencer avec la modélisation de classe UML dans Enterprise Architect.

À l’aide d’exemples simples et pratiques, nous explorerons comment les modèles de classe peuvent être appliqués à des modèles d’information de haut niveau et à la conception de logiciels.

Dans ce webinaire, vous apprendrez à:

INSCRIVEZ-VOUS AUJOURD’HUI!

Ne manquez pas cette occasion d’en savoir plus sur Enterprise Architect

Session 1

Melbourne Tue 19 September 08:00 am
New York Mon 18 September 18:00 pm
Los Angeles Mon 18 September 15:00 pm
London Mon 18 September 23:00 pm
Auckland Tue 19 September 10:00 am

Session 2

Présentateurs

Ben ConstableSparx Systems

Explorez les ressources du webinaire

Example model: webinar-management-class-models.feap Liens de Téléchargement

Questions et Réponses

Général

J’ai utilisé l’édition Ultimate d’Enterprise Architect la version 13.5 pendant la présentation. Toutes les fonctionnalités que j’ai démontrées, cependant, sont disponibles dans le Professional (ou plus haut) l’édition. l n’est pas nécessaire de mettre à niveau pour répliquer mon modèle et les sorties que j’ai générées à partir du modèle.

Propriétés de classe (attributs et opérations)

Oui. La modélisation d’attributs est démontrée dans la vidéo de présentation à partir de 15:04 des minutes. Les opérations sont seulement discutées brièvement dans la vidéo de 31:52 minutes.

Les types de données disponibles pour les attributs sont déterminés par Language champ de l’élément de classe qui contient vos attributs. Met la Language champ dans les Propriétés de classe ddialogue à <none>. Ouvrez ensuite la dialogue Fonctionnalités en cliquant droit sur l’élément et en sélectionnant Fonctionnalités et Propriétés | Attributs. Vous devriez voir les types de primitives UML disponibles dans Type le contrôle de l’onglet Attributs.. Pour une explication détaillée et un exemple de modification de l’option Langue pour un paquetage entier, consultez la vidéo de présentation à partir de 15:37 minutes.

Rubriques d’aide connexes:

La portée ou la visibilité en termes UML est particulièrement utile lors de la définition de modèles logiques, car elle contrôle l’accès aux variables membres de la classe, comme les attributs et les opérations. Par exemple, si un attribut a une visibilité private, sa valeur ne peut pas être directement lue ou mise à jour par une autre classe. En programmation, la visibilité peut être appelée modificateur d’accès, souvent représenté par un ensemble similaire de valeurs de visibilité définies par UML: public, privé, protégé et paquetage.

Relations

Vous pouvez spécifier la multiplicité comme 1..1. Pour ce faire, sélectionnez 1.. dans le Multiplicité contrôle. Saisissez 1comme valeur de la limite supérieure.

Notez: Un cardinalité spécifie le nombre d’éléments d’une collection donnée, alors qu’un multiplicité dans UML définit les limites supérieure et inférieure du nombre d’éléments qu’une collection peut avoir. Parce qu’une multiplicité est composée de deux valeurs qui définissent ces bornes, une multiplicité de 1 est en fait une abréviation de 1..1, et la cardinalité d’une telle collection doit aussi être 1. La même logique s’applique à toute collection dans laquelle le les limites supérieure et inférieure sont les mêmes.

Dans mon exemple de modèle, j’ai utilisé la notation 0 .. * pour signifier que une session de webinaire peut contenir zéro ou plus de participants. J’aurais plutôt pu utiliser *, qui en UML est l’abréviation de zéro ou plus.

Si vous dessinez les Classes d’enfant (des sous-types) comme des boîtes à l’intérieur de la Classe parentale (le supertype), vous représentez une nidification ou une relation dde confinement dans Enterprise Architect et UML.

Structure du Modèle

Un fichier de projet (.eap) consiste en ce quel Enterprise Architect utilise pour physiquement stocker vos données modèles. Dans un fichier seul de projet, vous pouvez avoir un ou plusieurs modèles, chaque représenté par un noeud de Racine. Chaque noeud de Racine peut contenir un ou plusieurs noeuds de Vue. Les noeuds de vue peuvent contenir une combinaison de Paquetages et des diagrammes.

Il n’y a aucune ’bonne façon’ seule pour définir votre hiérarchie modèle. En modelant un système seul, une approche populaire est d’utiliser un noeud de Racine seul pour le système et créer des nombreux noeuds de Vue sous cela. Une Vue serait dédiée aux Cas d’Utilisation pour ce système, un autre aux éléments de domaine, un autre aux classes de stockage physiques et cetera. L’idée est que chaque noeud de Vue représente une perspective différente, ou une vue, du même système.

Dans mon projet, j’ai choisi de modéliser l’agenda de ma présentation utilisant une Mind Map. Ceci était un modèle nettement différent au domaine de webinaire réel que j’ai modelé comme un exemple, donc je l’ai placé dans son propre noeud de Racine. J’ai modelé les éléments dans mon domaine utilisant une Vue seule, sous le noeud de Racine nommé le Modèle d’Informations de Webinaire.

Si je devais modeler certains des aspects comportementaux du domaine de webinaire, je pourrais créer des noeuds de Vue supplémentaires sous sous le nœud racine du Modèle d’Information Webinaire. Par exemple, je pourrais capturer les processus métier qui sont intrinsèques au domaine de webinaire et les placent dans une Vue nommée des Processus métier.

Le Modèle de L’information, à l’heure actuelle, est exempt de n’importe quel détail comportemental. En tant que tel, le modèle fournit seulement un vocabulaire pour ce domaine et définit les relations statiques valables entre les éléments de domaine. C’est particulièrement utile en définissant les données communes qui sont échangées entre les systèmes interopérables.

Dans le contexte de Modélisation de Domaine, cependant, certains renverraient à cette type de Modèle pur de L’information comme ’anémique’ - autrement dit un modèle qui fournit peu d’avantage dans l’aide de la conception d’un système spécifique. Particulièrement les Classes dans la Vue nommée le Modèle de Domaine ne contiennent même pas d’opérations. Puisque beaucoup de modeleurs préfèrent ajouter le détail comportemental, comme des opérations UML, aux éléments dans un Modèle de Domaine, la Vue nommée le Modèle de Domaine dans mon modèle d’exemple devrait probablement être rebaptisée à quelque chose comme les Classificateurs de Webinaire pour éviter la confusion. J’ai fait cet ajustement au modèle que j’ai affiché dans la section de ressources de cette page.

Le Modèle Logique est un modèle séparé avec ses propres éléments. Il y a une correspondance forte entre les éléments dans ces modèles - en fait j’ai copié les éléments du Modèle de L’information comme de nouveaux éléments pour accélérer la création du Modèle Logique.

Les différences de tous les deux le but et le détail des modèles, cependant, signifient que l’on ne peut pas simplement ajouter plus de détail au Modèlede L’information existant pour produire le code d’application. Par exemple, les types d’attribut sont significativement différents entre un Modèle Logique PHP et un Modèle L’information pure dans UML.

Pour des informations sur la façon d’automatiser la transition entre les types différents de modèle, comme Logique et des Modèles de Domaine, voir le sujet d’Aide Transformation de Modèle.

Il serait bon d’ajouter que l’énumération dans le paquetage de Types de Données ou même un autre paquetage dédié spécifiquement aux éléments d’énumération. Quant à dessiner l’énumération sur le diagramme où les éléments de classe ont été dessinés - il peut être utile de montrer des éléments d’énumération sur le même diagramme qu’est près de, les éléments que l’utilisation cela. Ceci fait comprendre la gamme de valeurs autorisées pour des propriétés qui sont tapées par l’énumération.

Oui. Pour un exemple de modification de l’option Langue pour un paquetage entier et ses sous-paquetages, consultez la vidéo de présentation à partir de 15:37 minutes. Plus d’informations sont également disponibles dans la rubrique d’aide Reset Options.

L’URL a été modelée comme un UML DataType et SessionStatus a été modelé comme une Énumération d’UML. Une Énumération est une sorte spéciale de datatype qui a les littéraux d’Énumération qui définissent ses valeurs possibles. Dans les deux cas, cette définition pour DataType dans la spécification d’UML s’applique : "les cas d’un DataType sont identifiés seulement par leur valeur. On considère tous les cas d’un DataType avec la même valeur sont considérées comme des instances égales."

Code et Ingénierie de Schéma

Oui. Pour toutes les langues de programmation supportées, voir le sujet d’Aide Generate Source Code.

Oui, quoique la synchronisation et la rétro-ingénierie de code de Javascript ne soient pas supportés.

Pas actuellement.

Vous pouvez utiliser la barre d’outils de Génération de Codes. Ceci définit la langue de codage par défaut pour le modèle actuel, donc la langue est appliquée à toutes les Classes nouvellement créées dans le modèle. D’autres projets d’Enterprise Architect peuvent avoir associé des langues par défaut différentes avec eux.

Pour des détails, voir le sujet d’Aide Code Generation Toolbar.

Vous pourriez ceci faire en ingénierie avant, mais ce n’est recommandé que pour le plus petit des projets. Si votre modèle a d’une taille réaliste et vous placez chaque élément sur le même diagramme, il sera difficile de lire et comprendre.

Quand la rétro-ingénierie, Enterprise Architect fournit une option pour créer un diagramme par Paquetage Java. Vous pourriez alors combiner ces diagrammes dans un, en utilisant des Cadres de Diagramme. Pour des détails, voir le sujet d’Aide Diagram Frame.

Oui. Pour faire ainsi, vous devez utiliser l’option pour synchroniser le modèle et le code, plutôt que remplacer ou écraser des fichiers existants. Il existe également des options plus spécifiques que vous pouvez utiliser qui détermine, par exemple, si Enterprise Architect supprimera du code existant des Classes ou des fonctionnalités (des variables de membre de Classe ou des méthodes) qui n’est pas trouvé dans le modèle.

En synchronisant le code, Enterprise Architect conserve généralement le code existant dans le corps de la méthode, en mettant à jour sa signature et des commentaires associés.

Sujets d’aide connexes:

Oui, la rétro-ingénierie est supportée Pour des détails, voir le sujet d’Aide Importation de Code source.

Les conventions de modélisation pour C sont décrites dans le sujet d’Aide C Conventions. Les conventions pour d’autres langages de programmation sont décrites dans le sujet d’Aide Conventions de Modélisation.

Ceci ne devrait pas c poser un problème, parce que chaque nom de rôle est généré comme un élément à l’intérieur d’une définition complexType, qui représente la Classe qui possède la Fin d’Association en question. Dans l’exemple de modèle, les fins de relation d’Association qui avaient le même nom de rôle appartenait aux Classes différentes. Les éléments XML de Schéma correspondants sont donc générés dans différentes définitions complexType.

Génération de rapports

Vous pouvez voir les pages de HTML générées dans le Chrome, mais à cause des restrictions de sécurité le Javascript pour charger des fichiers supplémentaires du système de fichiers local est bloqué. La vue de HTML fournie par Pro Cloud Server est recommandée si le support complet pour voir le modèle dans le Chrome est exigé. Pour des détails, voir notre Pro Cloud Server web page.

Diagrammes

Il n’y a pas de plans immédiats pour l’exportation vers SVG.

Partagez cette page Partagez par email Partagez sur LinkedIn Partagez sur X Partagez sur facebook