Disegno del diagramma di attività UML per la funzionalità user-forget-password

2

Sto provando a disegnare un diagramma di attività UML per la funzionalità di un utente che recupera la sua password quando l'ha dimenticata. Assomiglia a questo:

Come puoi vedere, questa funzionalità richiede due richieste in fasi diverse, una per l'immissione del nome utente, l'altra per l'input del codice di verifica. Quindi l'intera procedura potrebbe essere divisa in due sottoprocedure che rappresentano ciascuna una singola richiesta e una coppia di risposte. Ecco perché mi chiedo se dovrei usare uno o due diagrammi di attività per illustrare questa funzionalità. Un diagramma di attività dovrebbe corrispondere a una singola funzionalità oa una singola coppia richiesta / risposta?

Secondo me, il primo porta completezza, ma aumenta la complessità. La complessità potrebbe essere risolta da quest'ultimo, ma porta anche problemi di partizione e dipendenza. È difficile decidere per me, per favore dammi qualche suggerimento.

    
posta Ivan 03.05.2016 - 07:41
fonte

2 risposte

1

L'utilizzo di uno o due diagrammi dipende da ciò che vuoi mostrare:

  1. Il comportamento dell'intera funzionalità
  2. Cosa deve fare il sistema quando arriva una certa richiesta

Per me sembra logico creare un diagramma di attività dell'intera funzionalità. Quindi se senti la necessità di entrare nei dettagli di cosa fa il sistema quando riceve una certa richiesta, fai anche nr 2. Forse allora un diagramma di sequenza sarebbe il livello appropriato, dato che vuoi mostrare la richiesta e quali entità (ad esempio classi java) parteciperanno all'elaborazione. In questo caso, forse potresti scrivere il codice senza fare un diagramma, ma come pratica puoi fare un semplice diagramma di sequenza per vedere le differenze tra l'attività e il diagramma di sequenza e il modo in cui si relazionano. Buon apprendimento! : -)

    
risposta data 27.04.2017 - 13:20
fonte
0

Design brillante. Quindi qualsiasi hacker può utilizzare la funzione "password dimenticata" per determinare quali nomi utente sono in uso. Basta digitare un nome utente, premere "password dimenticata" e se l'hacker riceve un errore, allora è un nome utente non valido.

Ciò che è dieci volte peggiore è che apparentemente è possibile visualizzare la password dell'utente. Questo è criminalmente negligente. Non devi mai, mai, in un milione di anni essere in grado di visualizzare la password di un utente. Se puoi, allora un hacker che irrompe nei tuoi sistemi può visualizzarlo. Ciò che memorizzi è un hash della password salata. E se non sai cosa sia un hash della password salata, allora stai lontano dalla gestione delle password finché non sai e puoi implementarle.

Il modo corretto di gestire la "password dimenticata" non è di dirlo all'utente, ma di consentire a questi di inserire una nuova password. E per questo, il codice di verifica deve funzionare solo per un periodo di tempo limitato, perché se funziona per un'ora che potrebbe dare a un hacker l'opportunità di entrare in contatto con il telefono, leggi il codice di verifica e cambia la password in uno dei suoi scelta.

    
risposta data 27.05.2017 - 22:30
fonte

Leggi altre domande sui tag