Ce que l'essentiel de la conception des artefacts avez-vous produire?[fermé]

StackOverflow https://stackoverflow.com/questions/44909

  •  09-06-2019
  •  | 
  •  

Question

Au cours de votre cycle de développement de logiciels, ce qui essentiel de la conception des artefacts avez-vous produire?Ce qui les rend indispensables à votre pratique?

Le projet sur lequel je suis actuellement a été en production pendant plus de 8 ans.Cette application web a été activement amélioré et maintenu à travers le temps.Alors que nous avons CMMI en fonction des politiques et des processus en place, avec des parties de notre pratique bien défini, la phase de conception a été largement négligé.Les meilleures pratiques, n'importe qui?

Était-ce utile?

La solution

Ayant travaillé sur un grand nombre de cascade projets dans le passé et beaucoup de adhoc et de projets agiles, plus récemment, il y a un certain nombre de la conception des artefacts j'aime créer, bien que je ne peux pas souligner assez que cela dépend vraiment sur les détails du projet (méthodologie/structure de l'équipe/calendrier/outils, etc).

Pour un générique, basé sur le serveur de l'entreprise de l'application' je veux que le strict minimum pour être quelque chose le long de ces lignes:

  • Une conception fonctionnelle détaillée du document (aka spec).Généralement quelque chose le long des lignes de Joel s' WhatsTimeIsIt exemple spec, bien que probablement avec quelques UML de cas d'utilisation diagrammes.
  • Un logiciel de technique de conception du document.Pas nécessairement détaillées pour 100% de la couverture mais détaillée dans tous les domaines clés et contenant toutes les décisions de conception.D'être un peu d'une UML freak sympa de voir beaucoup de photos le long des lignes d'emballage de schémas, les diagrammes de composants, les principales caractéristique des diagrammes de classe, et probablement quelques diagrammes de séquence jetés pour faire bonne mesure.
  • Une conception de l'infrastructure document.Probablement avec UML diagramme de déploiement pour le conceptuel deisng et peut-être un schéma de réseau pour quelque chose de plus physique.

Quand je dis document ci-dessus peut être décomposé en plusieurs documents, ou peut-être stocké sur un wiki/un autre outil.

Que pour leur utilité, ma philosophie a toujours été une équipe de développement doit toujours être en mesure de vous remettre une application à une équipe de soutien sans avoir à laisser leur numéro de téléphone.Si la conception des artefacts de ne pas clealry indiquer ce que l'application fait, comment il le fait, et où il le fait, alors vous savez l'équipe de soutien vont donner l'app le même soin et l'attention qu'ils auraient un chien enragé.

Je dois mentionner que je ne suis pas justifiant la pratique de la remise des logiciels de l'équipe de développement d'une équipe de soutien une fois que c'est fini, qui soulève toutes sortes de questions intéressantes, je dis juste qu'il devrait être possible si la gestion désiré.

Autres conseils

Code de travail...blanc et de dessins.

:P

Les conceptions de changer au cours du développement et par la suite que la plupart de mes soigneusement conçu documents pourrir dans le contrôle de code source et de devenir presque plus un fardeau qu'une aide, une fois que le code est en cours de production.Je vois que la conception des documents nécessaires à une bonne communication et à clarifier votre pensée quand vous développez quelque chose, mais après il faut un effort herculéen pour les garder bien entretenu.

Je dois prendre des photos de tableaux et de les enregistrer au format Jpeg à la source de contrôle.Ceux qui sont certains de mes meilleurs docs!

Dans notre modèle (ce qui est assez spécifique aux applications de processus d'entreprise), la conception d'artefacts comprennent:

  • un domaine modèle de données, avec des commentaires sur chaque entité et chaque attribut
  • un fichier de propriétés de l'inscription de toutes les modifier et de créer des déclencheurs de chaque entité, les attributs de calcul, les validateurs et les autres de la logique métier
  • un ensemble de définitions d'écran (modèle de vue)

Cependant ces vraiment compter que la conception d'artefacts?Notre cadre est telle que ces définitions sont utilisées pour générer le code réel du système, donc peut-être qu'ils vont au-delà de la conception.

Mais le fait qu'ils font double devoir est puissant parce qu'ils sont, par définition, jusqu'à ce jour et synchronisées avec le code à tout moment.

Ce n'est pas un document de conception, en soi, mais notre les tests unitaires servir le double objectif de "décrire" comment le code de test est censé fonctionner.La belle partie de ceci est qu'ils ne sortez jamais de date, depuis nos tests unitaires doivent passer pour notre build pour réussir.

Je ne pense pas que tout peut prendre la place d'un bon vieux spécifications de conception pour les raisons suivantes:

  • Il sert comme un moyen de communication de la façon dont vous allez construire une application à d'autres.
  • Il vous permet d'avoir des idées de votre tête, alors vous n'avez pas à vous soucier de suivi des millions de choses en même temps.
  • Si vous devez interrompre un projet et d'y revenir plus tard, vous n'êtes pas de commencer votre processus de pensée plus encore.

J'aime voir les différents morceaux de l'info dans une conception spec:

  • Explication générale de votre approche du défi à portée de main
  • Comment allez-vous suivre votre demande?
  • Quelles sont les préoccupations de sécurité et comment sont-elles traitées?
  • Des organigrammes / diagrammes de séquence
  • Questions ouvertes
  • Limitations connues

Les tests unitaires, alors qu'un fantastique et sans doute le point crucial d'inclure dans le développement de votre application, ne couvrent pas l'ensemble de ces sujets.

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