10
votes

Quels diagrammes UML créez-vous pour les applications ASP.NET?

Je travaille dans une entreprise de taille moyenne en tant que Senior Dev et travaille sur le développement de projets relativement importants (> 1 an au minimum). La plupart des architectes estiment ici que la création de diagrammes UML ne justifie pas le temps nécessaire (bien que nous ayons toujours un erd et un diagramme un peu informel organigramme pour tous les projets)

Je cherche à créer des diagrammes UML au moins pour les projets que je travaille. Basé sur mes recherches rapides, il semble qu'il y ait ce qui suit:

  1. pour créer un modèle logique - modèle d'objet (ORM
  2. Pour créer un modèle physique - composant, classe, séquence, activité
  3. pour le modèle de base de données - ERD

    questions:

    1. Quels diagrammes UML créez-vous dans votre entreprise?
    2. MS Visio a-t-elle la capacité de créer tous les diagrammes ci-dessus?
    3. sont des diagrammes UML choisis en fonction du type de l'application étant développé?

2 commentaires

Je suppose que la réponse "aucune" n'est pas très utile? Je soupçonne que c'est celui que la majorité des développeurs donneraient, cependant.


Sur une note latérale, j'ai toujours pensé que l'orme est un acronyme de modèle de relation d'objet jusqu'à ce que je constate que Orm est également la modélisation de l'objet. Sont ces mêmes diagrammes?


4 Réponses :


2
votes

préface

Je pense que les diagrammes de cas UML utilisent sont extrêmement utiles pour cartographier les utilisateurs globaux et les domaines fonctionnels d'une application. Ceci est techniquement le travail d'un analyste d'entreprise, cependant, si l'on n'existe pas ou que ce niveau de détail n'existe pas, c'est un exercice qui prend très peu de temps pour traverser et a une valeur énorme pour vous donner une vue d'ensemble de la photo Solution.

Les diagrammes de séquence sont extrêmement utiles également avec le développement ASP.NET. Il rend les composants de la vue de haut niveau dans les diagrammes de cas d'utilisation faciles à décomposer et à rendre réels.

1.Quelles diagrammes UML créez-vous dans votre entreprise?

aucun. UML n'est pas quelque chose que le Bas, l'équipe Dev, etc. Comprenez où je travaille actuellement. Cependant, la valeur n'est vraiment pas offerte au type de développement que nous faisons: des solutions tactiques tactiques rapides et modérées.

2.DOES MS Visio a la capacité de créer tous les diagrammes ci-dessus?

Oui. http://softwareestencencements.com/uml/index.html

Je vous suggère de considérer un outil qui permet à UML -> code gen http: //www.visal-paradigm .com /

3.Are des diagrammes UML choisis sur la base du type de l'application développée?

C'est un mélange. UML est un ensemble d'outils pouvant être utilisés dans la mode qui convient à l'utilisateur. Les différents types de diagrammes (comportement, structure et interaction) et leurs sous-types ont des objectifs différents. Après des années de traitement de l'UML (depuis la fin des années 90), je ne vois pas à peu près la valeur dans la classe, utilisez des diagrammes de cas et de séquence. Au-delà de cela, c'est juste une surcharge de sémantique et une faible valeur dans les projets que j'ai impliqués.


0 commentaires

2
votes

Après les diagrammes de modèle d'objet, j'ai trouvé UTILISATION DES DIAGRAMES Pour être le plus utile .


0 commentaires

7
votes

# 1 Quels diagrammes UML créez-vous dans votre entreprise?

Nous utilisons l'ensemble des diagrammes définis par UML. Nous utilisons particulièrement des diagrammes de cas d'utilisation, des diagrammes de classe, des diagrammes de séquence et des diagrammes d'états.

# 2 Le visio a-t-il la capacité de créer tous les diagrammes ci-dessus?

Cela fait, mais nous n'utilisons généralement pas la visio pour cela car il existe de nombreux outils là-bas beaucoup plus adaptés au travail. Personnellement, je préfère des outils qui me permettent de créer des diagrammes très rapidement, sans beaucoup de muss ni de bruit. Les outils qui appliquent l'adhésion slave à l'UML Spec (ou, encore pire, l'interprétation de la spécification de l'outil) vous énervent. L'un des outils que j'ai trouvés particulièrement utile est le pacestar's UML Diagrammer .

# 3 sont des diagrammes UML choisis sur la base du type de l'application développé?

UML peut être utilisé pour décrire des aspects de toute application. La nature de l'application aura une incidence sur le type et le nombre de diagrammes que vous choisissez d'utiliser.

la plupart des architectes ici estiment que la création de diagrammes UML ne justifie pas le temps nécessaire à

Les diagrammes UML n'ont pas besoin de prendre beaucoup de temps pour créer. La clé est d'éviter les rendements décroissants en développant des modèles «suffisamment bons» pour satisfaire vos besoins. Comme je l'ai exposé ci-dessus, je concentre mes efforts de modélisation sur la capture des aspects saillants du système plutôt que sur une adhérence stricte de la spécification UML. En outre, je n'hésite pas à utiliser des diagrammes non-UML (ou simplement du texte) pour modéliser les aspects du système si je peux mieux communiquer les aspects du système d'intérêt.


3 commentaires

Will +1 quand vous me dites quels outils sont meilleurs pour UML que Visio (car je déteste Visio! :) - Oh, je déteste aussi le paradigme visuel. Tellement de haine dans ce monde. Je pense qu'il est sur le point de fermer ce paranthes ... maintenant ...)


Je n'ai pas moins de 5 outils dans ma boîte à outils, car aucun d'entre eux ne répond à tous mes besoins. Le plus souvent, je me trouve en utilisant la diagramme UML de Pacestar en raison de sa simplicité et de sa flexibilité.


+1 (+10 si je pouvais) pour savoir quand arrêter la modélisation et commencer à créer; Pour savoir quel modèle / plan est bon pour, et que l'objectif est un produit qui satisfait aux exigences de l'utilisateur - pas un diagramme.



4
votes

J'ai utilisé UML car il a été inventé dans les années 90 et l'a utilisé dans des entreprises grandes et petites pour une grande variété d'objectifs. J'utilise UML à deux fins fondamental: comme un tampon de gratter pour penser (parfois je ne sais pas ce que je pense jusqu'à ce que je vois ce que je dessine;) et comme un moyen de documenter et de communiquer conceptions . Voici comment je l'utilise et certaines de mes règles de pouce.

J'utilise UML lorsque d'autres outils sont inadéquats pour la visualisation / la modélisation. Donc, si vous utilisez une base de données SQLServer, vous pouvez utiliser les diagrammes de conception intégrés et les imprimer et les coller dans vos documents. UML n'est pas nécessaire ici.

En pensant à des problèmes de conception, je commence souvent par un tableau blanc mural et une fois que la conception se cristallise, je passe aux diagrammes UML (ou reculez et descendant du moniteur au mur).

JavaScript et développement Ajax . Le support d'outil et de visualisation est faible. J'utilise UML pour réfléchir et montrer la conception de haut niveau des applications JavaScript complexes. (Si vous travaillez sur une application Java, vous pouvez utiliser les outils intégrés à la plupart des IDes Java pour visualiser votre code. D'autre part, si vous travaillez sur une application JavaScript ou que vous avez des outils médiocres, c'est plus difficile à faire. , donc UML peut combler les lacunes.)

Architectures d'information et navigation pour les applications Web . J'utilise UML pour afficher des pages Web, leurs relations et des composants d'informations sur les pages Web. La même chose s'applique également aux écrans de n'importe quel type d'interface graphique (elle s'appelait pour être appelée modèle d'expérience utilisateur). J'utilise des URL de repos dans mes applications Web. Je annote donc mes objets de page pour afficher les URL actuelles de repos. De cette façon, je pense simultanément à travers la partie de la pièce alors que je pose les pages. Dans mon expérience, c'est l'un des types de diagrammes les plus utiles et sous-utilisés, peut-être parce que ce n'est pas standard. Il capture à la fois l'architecture de l'information (votre modèle de domaine expérimenté comme une collection de pages / écrans) et du concept de la demande en tant que jeu de vues navigables. Fréquemment, il existe une inadéquation entre ce modèle le plus proche de l'utilisateur et du modèle de domaine d'application ou du modèle de base de données. Être capable de faire sortir ce modèle le problème. J'ai travaillé sur des projets où tout le monde avait son modèle de l'application à construire: les personnes utilisables, les développeurs, les personnes de la base de données, les architectes d'entreprise. Mais personne n'avait le modèle correct et le modèle d'expérience utilisateur a échappé ce qu'ils ne voyaient pas.

Modèles basés sur le code . Je travaille avec Java et ingénieur inverse le codeBase et crée des diagrammes pour documenter la conception. Cependant, parce que les outils Java sont si matures, je dois rarement inverser l'ingénieur pour comprendre le code. J'utilise l'architecte d'entreprise qui est peu coûteux et vous permet d'inverser l'ingénieur nouveau code et de la synchroniser avec des diagrammes UML en fonction du code plus ancien.

Je mets tous ces diagrammes différents dans un seul projet et décrivent la conception totale du système en tant que jeu de vues . J'exporte également mes projets UML en XML et les stocker dans mon système de contrôle de version. Les diagrammes sont publiés sur l'intranet et insérés dans des documents.

schémas de composants, jamais. Si je veux décrire des composants, je viens d'utiliser un diagramme de classe et de l'annoter avec un stéréotype: page, vue, table - pour représenter le type d'objet que je ' m représentant. Qui garde les choses simples pour moi. J'utilise des stéréotypes fortement . Ils me permettent de créer essentiellement mes propres types de diagrammes et pourtant rester en utilisant la plupart des diagrammes de classe.

J'utilise séquence et diagrammes d'activité rarement , mais ils peuvent être indispensables et puissants parfois. Diagrammes de séquence dans la phase de conception lorsque vous travaillez les interactions des objets. Plus les interactions sont complexes, plus vous avez besoin de diagrammes de séquence. (Lorsque le diagramme de séquence est trop complexe, ce fait peut indiquer que vous devez simplifier votre conception.) J'ai trouvé des diagrammes de séquence les plus utiles lors de l'ingénierie inverse d'un nouveau projet que j'ai hérité et que j'ai besoin de vous lever rapidement. J'ai découvert qu'ils peuvent me donner un avantage concurrentiel dans la compréhension des systèmes.

Enfin, j'ai tendance à préférer modèles quasi-physiques . Modèles basés sur le code réel à écrire ou au système actuel, mais quelque peu résumé et modifié à des fins de communication. Quelque part entre les abstractions aériennes des "astronautes d'architecture" et des modèles de code complexes avec trop de détails et moins de valeur que la vue contour de votre IDE.

pour résumer. J'utilise UML pour la pensée et la documentation et la communication de designs lorsqu'il est nécessaire de visualiser une meilleure visualisation et lorsque d'autres outils sont courts.


2 commentaires

1. Quelles sont les URL de repos? 2. Wow, je n'ai jamais connu que l'on pourrait convertir UMLS en XML. C'est assez soigné


En bref, ils sont significatifs, des URL conviviales des utilisateurs où les segments de chemin sont descriptifs de la page. Stackoverflow les utilise.