Question

Je l'ai eu du mal assis devant UML et d'obtenir la valeur hors de lui parce qu'il semble presque autant de travail que la programmation (si vous utilisez un langage expressif). Je trouve que l'écriture du langage naturel me dit plus sur un projet de logiciel que de créer des diagrammes complexes. Je suis nouveau à UML bien et je me demandais d'autres qui connaissent bien UML:

  1. Est-UML vaut tout le temps qu'il faut pour apprendre / faire, même pour des projets de petites et moyennes?
  2. Peut les documents de conception bien élaborés, tout en niveau supérieur, il suffit de garder les programmeurs sur la cible pour créer le bon code, même en équipe?
Était-ce utile?

La solution

Je ne pense pas que UML suffit à elle seule.

  

Je l'ai eu du mal assis devant   d'UML et d'obtenir la valeur hors de lui   car il semble presque autant   travailler comme la programmation (si vous utilisez un   langage expressif).

Je suis d'accord avec cela. UML peut fournir des signatures de méthode, mais vous ne remplissez pas la viande de la méthode. Pire encore, vous ne pouvez rien faire approcher TDD avec UML. Étant donné le choix, je préfère avoir TDD et le code de fonctionnement que les diagrammes UML.

  

Je trouve que l'écriture en langage naturel   me dit plus sur un projet de logiciel   que de créer des diagrammes complexes.

sur place. Les photos peuvent être utiles, à moins qu'ils sont mauvaises images. Les diagrammes de séquence ont tendance à devenir incroyablement compliqué pour tous, mais les flux insignifiants.

  

Est UML vaut tout le temps qu'il faut pour   apprendre / faire, même pour les petites et moyennes   projets?

Les vendeurs et les architectes vous diront UML est indispensable, mais je ne sont pas d'accord. Je tombe dans le camp "skecher" des utilisateurs UML .

  

Peut-bien élaboré des documents de conception,   tandis que le niveau encore plus élevé, il suffit de   garder les programmeurs sur la cible pour créer   le bon code, même en équipe?

Je ne sais pas ce qui suffit pour garder les programmeurs sur la cible, mais je suppose que UML est pas une grande partie de celui-ci. Les architectes ont tendance à l'aimer parce que les outils UML les garder occupés, mais la plupart des développeurs ne se soucient pas au-delà des boîtes et des flèches sur les tableaux blancs.

Autres conseils

Je répondrais:

Rien, absolument rien, remplace la nécessité d'une bonne communication entre les programmeurs sur une équipe de programmation et de gestion.

Cela signifie un certain niveau de décomposer la tâche en simple « ce que nous devons faire des » déclarations pour les gestionnaires et expliquer les barrages routiers.

J'ai travaillé sur un petit projet où a été conçu par une personne en UML avant tout code en cours d'écriture toute la structure de classe du programme. Fort bien, mais les concepteurs ne prévoyaient pas la façon dont les cours pourraient être utilisés, ou la nécessité de changer certaines structures pour un meilleur ajustement logique du programme. Ils ont tout simplement jeté à une conception qu'ils croyaient travailler.

Je suis encore rencontrer quelqu'un qui peut concevoir un programme dans leur tête et produire exactement que lors de l'écriture au-delà des choses très simples. Le processus est tout à fait organique et les choses ne doivent changer le long de la façon que les programmeurs se rendent compte de leurs erreurs antérieures et de les corriger. Je ne vois pas pourquoi le fluage de fonction commence à se produire et c'est là la gestion ont besoin de comprendre ce qui se passe, être conservés dans la boucle et mis à jour. Les bons gestionnaires vont écouter ce que leurs programmeurs leur disent et ajuster en conséquence sites.

Alors, vos deux options que j'iriez pour le document de conception de haut niveau: nous voulons que le logiciel pour ce faire, exécutez sur cette plate-forme, accepter ce genre d'entrée et de cracher ce genre de chose en dehors. Cela fonctionne, si ce qui précède est maintenue à.

UML, en ce qui me concerne, est pas la peine.

  1. Pas à mon avis. Une fois, je l'ai fait un module de conception OO dans le cadre d'une maîtrise ès sciences en informatique et UML a été à peine mentionné (bien qu'à mon avis, il aurait dû être discuté beaucoup plus compte tenu de son influence).

  2. Il y a plus de latitude pour réduire les ambiguïtés dans le texte écrit que dans un diagramme UML, la plupart daigrams UML laissent beaucoup de possibilités d'interprétation. Cela étant dit, je suis un très grand fan de l'utilisation des diagrammes dans les documents de conception de logiciels et un grand nombre de diagrammes UML sont extrêmement succincte: Déploiement, Etat, classe et l'activité sont mes favoris. Lorsque je crée des diagrammes UML j'essaie de tenir à peu près aux conventions, mais je ne reçois pas les laisser dans la façon dont s'ils ne peuvent pas représenter le concept que je suis en train de communiquer.

Nous ne pouvons pas ignorer totalement l'UML comme certains des diagrammes sont utiles en matière de fonctionnalité complexe ou disons long processus de flux de travail et des scénarios où les développeurs peuvent manquer certains cas, lorsque les scénarios ne sont pas dessinés / conçus. Une autre importance d'UML est de se rappeler à l'avenir comment le système fonctionne et comment ses modules communiquent entre eux pour assurer que le projet est évolutif sans générer des bugs énormes qui pourraient être infinitif et sérieux. Ainsi, les deux documents de conception écrit et UML sont importants pour tout projet moyennes ou grandes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top