Diagramme de flux de données (DFD) s Une Agile introduction

Dans les années 1970 la fin des diagrammes de flux de données (DFD) ont été introduits et popularisé pour l'analyse et la conception structurée (Gane et Sarson 1979). DFD correspond à la circulation des données provenant d'entités externes dans le système, a montré comment les données transférées d'un processus à l'autre, ainsi que son stockage logique. La figure 1 présente un exemple d'un DFD en utilisant la notation Gane et Sarson. Il n'y a que quatre symboles:

  1. Carrés représentant des entités externes. qui sont des sources ou des destinations de données.
  2. rectangles arrondis représentant des processus. qui prennent des données en entrée, faire quelque chose, et le sortir.
  3. Les flèches représentent les flux de données. qui peuvent être soit des données électroniques ou d'articles physiques.
  4. À composition non limitée des rectangles représentant les magasins de données. y compris les magasins électroniques tels que les bases de données ou des fichiers XML et les magasins physiques tels que ou des classeurs ou des piles de papier.

Diagramme de flux de données (DFD) s Une Agile introduction

Pour créer le diagramme je simplement travaillé dans un scénario d'utilisation, dans ce cas, la logique de cas d'utilisation décrite dans le Inscrivez-cas d'utilisation du système universitaire. Sur des projets concrets, il est beaucoup plus commun juste pour se tenir à un tableau blanc avec un ou plusieurs acteurs du projet et esquisser simplement que nous parlons à travers un problème.

Dans ce cas, j'ai commencé avec le demandeur, l'entité externe dans le coin supérieur gauche, et tout simplement suivi le flux de données dans le système. J'introduit le processus Inspecter les formes pour encapsuler les étapes de validation initiale. J'affecté cet identificateur de processus 1.0, ce qui indique qu'il est le premier processus le diagramme de niveau supérieur. Une technique courante avec DFD est de créer des diagrammes détaillés pour chaque processus pour représenter des niveaux plus précis du traitement. Je devais le faire pour ce processus, je numéroter les sous-processus 1.1, 1.2, et ainsi de suite. 1.1 de sous-processus seraient numérotés 1.1.1, 1.1.2, et ainsi de suite. Je ne voudrais pas pris la peine d'étendre ce processus DFD plus détaillé car il est assez clair ce qui se passe en elle et donc le nouveau schéma ne pas ajouter de la valeur. J'ai également indiqué qui / quoi fait le travail dans la partie inférieure de la bulle de processus, dans ce cas, le bureau d'enregistrement. Cette information est facultative, bien que très utile dans mon expérience. Vous pouvez voir comment les formulaires sont renvoyés à mal remplis au demandeur si nécessaire.

Je puis continué à suivre la logique du cas d'utilisation, en se concentrant sur la façon dont les données sont traitées par chaque étape. Le second processus encapsule la logique de la création d'un dossier scolaire, y compris l'acte de vérification pour voir la personne est admissible à l'inscription ainsi que si elles sont déjà dans la base de données. Remarquez comment chaque flux de données sur le diagramme a été étiqueté. Notez également que les noms des données changent pour refléter la façon dont il a été traité.

Maintenant que je regarde de plus près le diagramme, la flèche entre l'entrée processus d'information des élèves et le magasin de données StudentDB doit être à double sens, car ce processus recherche la base de données pour les dossiers des étudiants existants. Malheureusement, je l'ai effacé ce schéma de mon tableau blanc donc il est pas facile de résoudre ce problème mineur. Oui, je pourrais utiliser un programme de dessin pour mettre à jour la pointe de flèche, mais il est plus important de souligner que les modèles agiles ne ont pas besoin d'être parfait, ils ont juste besoin d'être assez bon. AM vous recommande de suivre la mise à jour pratique modèles seulement quand ça fait mal et dans ce cas cette question ne fait pas mal assez pour investir les deux ou trois minutes, il faudrait pour corriger le diagramme.

Le processus Collect des frais est intéressante car elle interagit avec un magasin de données électroniques, financières DB. ainsi qu'un physique, le tiroir-caisse. DFD peut être utilisé pour modéliser les processus qui sont purement physique, purement électronique, ou plus communément un mélange des deux. les magasins de données électroniques peuvent être modélisés par des modèles de données, en particulier si elles représentent une base de données relationnelle. magasins de données physiques sont généralement explicites.

Il existe plusieurs règles de modélisation communes que je suivre lors de la création DFD:

  1. Tous les processus doivent avoir au moins un flux de données et un flux de données sur.
  2. Tous les processus doivent modifier les données entrantes, produire de nouvelles formes de données sortantes.
  3. Chaque magasin de données doit être impliqué dans au moins un flux de données.
  4. Chaque entité externe doit être impliqué dans au moins un flux de données.
  5. Un flux de données doit être fixé à au moins un processus.

traductions





Partager avec des amis:

Aidons

lecture recommandée

Diagramme de flux de données (DFD) s Une Agile introduction

L'abécédaire de l'objet 3ème édition: Modèle Agile Driven Development avec UML 2 est un ouvrage de référence important pour les modélisateurs agiles, décrivant comment développer 35 types de modèles agiles, y compris les 13 UML 2 diagrammes. De plus, ce livre décrit les techniques et fondamentales programmation tests pour une livraison réussie de la solution agile. Le livre montre également comment passer de vos modèles agiles à code source, comment réussir à des techniques de mise en œuvre tels que le développement refactoring et piloté par les tests (TDD). L'amorce objet comprend également un chapitre des techniques de Donnant sur le développement de bases de données critiques (base de données de refactoring. Mapping objet / relationnel. Analyse de l'héritage. Et accès à la base de codage) de mon livre primé Techniques de base de données Agile.