CRUD è semplicemente Crea, Leggi, Aggiorna, Elimina un'applicazione.
In una certa misura, un bug tracker è anche un'app CRUD. Crea bug, leggi (mostra) i bug, aggiorna i bug e, forse, cancellali.
Tuttavia, c'è di più in un bug tracker che non solo CRUD.
- A uno sviluppatore non è consentito contrassegnare il bug verificato o chiuso - questa è una parte del lavoro di QA. E quindi c'è del codice per assicurarsi che qualcuno che non ha il ruolo di QA non possa contrassegnare un bug come chiuso o verificato.
- Nessuno tranne un project manager può effettivamente eliminare un bug.
- Affinché un bug sia contrassegnato come "test me", deve esserci almeno un commit di codice contro il bug.
- Solo un bug che si trova nello stato "chiuso" può essere spostato nello stato di "riapertura"
- Lo sviluppatore assegnato al bug non può spostarlo da 'revisione del codice' a 'revisione del codice completa'
- Il QA e gli sviluppatori possono vedere solo errori sui progetti a cui sono assegnati.
Il codice che implementa quanto sopra è la logica di business dell'applicazione.
La limitazione dei flussi di lavoro o chi può eseguire le varie operazioni in CRUD. Questi sono ciò che separa una app CRUD da un'altra. Sono le parti in cui è necessario convincere l'azienda a dire in realtà come funziona l'applicazione. Com'è logico ... beh, questo è il modo migliore di discuterne con una birra lontana dalla portata del project manager. Ma questa è la logica aziendale.
Certo, è possibile scrivere un'app CRUD "pura" dove non ci sono ruoli, tutto può essere modificato e visualizzato - ma questi sono l'eccezione piuttosto che la regola.
La logica aziendale è la logica che stai scrivendo nel tuo programma per gestire le regole aziendali che ti vengono fornite.
Quando inizi a entrare in regole di business, questo tende ad essere ad un livello più alto di quello stesso o di logica aziendale. Questo tende ad essere quello che ottieni da un analista di business che sta lavorando con il business.
Considera in questo esempio, un programma che determina come gestire la restituzione di un articolo presso un banco resi in un negozio.
- Se la ricevuta è uguale o superiore a 90 giorni, si può dare solo credito in negozio
- Se la ricevuta ha meno di 90 giorni, accredita l'offerta con cui è stata utilizzata la ricevuta (il credito ritorna sulla carta di credito, il contante ritorna in contanti, il credito in negozio va al credito in negozio). a meno che non si tratti di un assegno, nel qual caso utilizzare denaro contante.
Queste sono alcune regole aziendali. Non parlano alla parte CRUD dell'applicazione.
Quando lavori con le regole aziendali, potresti trovarle spesso in un motore delle regole (ad esempio, Motore regole Windows Workflow Foundation ) anziché scrivere il codice raw nel sistema.
Comprendi che la distinzione logiche / regole è terminologica e può essere discussa per tutta la notte (meglio ancora su una birra). Anche se questa non è una distinzione rara, anche se i due possono fondersi l'uno nell'altro.