CRUD est simplement créer, lire, mettre à jour, supprimer par une application.
Dans une certaine mesure, un traqueur de bogues est également une application CRUD. Créez des bogues, lisez (affichez) les bogues, mettez-les à jour et, éventuellement, supprimez-les.
Cependant, un traqueur de bogues ne se limite pas à CRUD.
- Un développeur n'est pas autorisé à marquer le bogue vérifié ou fermé - cela fait partie du travail de QA. Et donc, du code est là pour s'assurer que quelqu'un à qui le rôle d'AQ n'est pas assigné ne peut pas marquer un bogue comme étant fermé ou vérifié.
- Personne d'autre qu'un chef de projet ne peut réellement supprimer un bogue.
- Pour qu'un bogue soit marqué comme "testez-moi", il doit y avoir au moins un commit de code contre le bogue.
- Seul un bogue qui est à l'état 'fermé' peut être déplacé à l'état 'rouvrir'
- Le développeur affecté au bogue ne peut pas le déplacer de "révision de code" à "révision de code terminée"
- L'assurance qualité et les développeurs ne peuvent voir que les bogues des projets auxquels ils sont affectés.
Le code qui implémente ce qui précède est la logique métier de l'application.
La restriction des flux de travail, ou qui peut faire les différentes opérations dans CRUD. Ce sont ce qui sépare une application CRUD d'un autre. Ce sont les parties sur lesquelles vous devez amener l’entreprise à dire réellement comment fonctionne l’application. Comme c'est logique ... eh bien, c'est mieux de discuter autour d'une bière hors de la portée de l'oreille du gestionnaire de projet. Mais c’est ce que la logique commerciale est.
Bien sûr, il est possible d'écrire une application «pure» CRUD où il n'y a pas de rôles, tout peut être modifié et visualisé - mais ce sont l'exception plutôt que la règle.
La logique métier est la logique que vous écrivez dans votre programme pour gérer les règles métier qui vous sont données.
Lorsque vous commencez à entrer dans les règles métier, cela a tendance à être à un niveau plus élevé que la simple logique ou la logique métier. Cela a tendance à être ce que vous obtenez d'un analyste commercial qui travaille avec l'entreprise.
Considérons dans cet exemple, un programme qui détermine comment gérer le retour d'un article à un comptoir de retour dans un magasin.
- Si le reçu est égal ou supérieur à 90 jours, seul le crédit en magasin peut être accordé.
- Si le récépissé date de moins de 90 jours, créditez l'offre avec laquelle il a été utilisé (le crédit revient sur la carte de crédit, l'argent revient en espèces, le crédit en magasin va au crédit en magasin) ... sauf si était un chèque, auquel cas utiliser de l'argent.
Ce sont des règles commerciales. Ils ne parlent pas de la partie CRUD de l'application.
Lorsque vous travaillez avec des règles métier, celles-ci peuvent souvent être écrites dans un moteur de règles (par exemple, le moteur de règles Windows Workflow Foundation ) au lieu d'écrire le code brut dans votre système.
Sachez que la distinction entre logique et règles est d'ordre terminologique et peut être discutée toute la nuit (encore mieux avec une bière). Bien que ce ne soit pas une distinction peu commune, bien que les deux puissent se fondre l'un dans l'autre.