Quanto è profondo il livello di rappresentazione di un algoritmo nel diagramma di sequenza UML?

2

Ho tre classi semplici. LoginController , UsersCatalog e User . UsersCatalog ha una matrice di User . Devo rappresentare un semplice processo di accesso.

LoginController ha un metodo login(username, password) che richiama semplicemente un metodo authenticate(username, password) con gli stessi parametri.

Ora, è ovvio che il metodo authenticate cerchi un oggetto User corrispondente e lo restituisce. La domanda è: È necessario rappresentare l'algoritmo di ricerca? Non rappresenta l'algoritmo di ricerca troppo basso livello?

Nell'altro lato, l'accesso alla classe User è all'interno dell'algoritmo di ricerca, quindi se non lo rappresento, allora non rappresenterò l'accesso alla classe User .

Questo fa parte di una domanda più ampia. Ci sono dei criteri per quanto è sufficiente la profondità per rappresentare un algoritmo nel diagramma dello squilibrio UML?

    
posta sanfilippopablo 10.05.2014 - 16:51
fonte

2 risposte

2

Ci sono 2 cose da considerare, in generale:

  • Il pubblico previsto della documentazione UML
  • Quanto è critico l'algoritmo per il successo del progetto

Stai creando questi diagrammi come parte di una revisione del progetto per clienti non tecnici (o piuttosto non software)? Se sì, allora non preoccuparti di includere l'algoritmo. È un livello troppo basso e perderai il pubblico.

Gli schemi verranno utilizzati come riferimento generale per i programmatori di manutenzione? Supponendo che non ci sia nulla di speciale, nuovo o tecnicamente innovativo riguardo questo algoritmo di ricerca, allora non preoccuparti. I commenti potrebbero essere sufficienti.

In alternativa, per qualche motivo, potrebbe essere fondamentale che il software esegua questa ricerca in modo efficiente. O in modo affidabile. Oppure l'algoritmo stesso è speciale, nuovo o tecnicamente innovativo. In tal caso, documentalo in qualsiasi forma sia appropriato: pseudo-codice, diagrammi di sequenza UML, ecc. Se è importante per il successo del progetto, è probabile che il diagramma sia referenziato in futuro.

    
risposta data 02.08.2014 - 16:05
fonte
0

I diagrammi di sequenza sono utili per specificare l'ordine degli scambi di messaggi tra i principali oggetti di interesse: Utente, LoginController, ecc. Quando un oggetto riceve un messaggio, la ricezione dovrebbe causare una logica interna all'oggetto (specificata dal classe dell'oggetto) da eseguire. L'algoritmo che descrive cosa fa quella logica non è documentato nel diagramma di sequenza. potrebbe essere documentato in un diagramma di attività (diagramma di flusso) che è collegato alla classe. Se desideri descrivere visivamente l'algoritmo, usa il diagramma delle attività.

    
risposta data 21.11.2014 - 03:44
fonte

Leggi altre domande sui tag