Fase di avvio del progetto di sviluppo software

0

Attualmente il nostro team sviluppa applicazioni Web e ora stiamo andando alle applicazioni Windows Form.

Ho creato la fase iniziale della nostra struttura di progetto Windows Form.

es:

ApplicationSolution

--> Security Project(Login Authentication) 

         a. Users will be registered with different applications in our application database.
           eg: ProjectApplicationId|ProjectName        | UserId
               1                   |ProjectApplication1| user
               2                   |ProjectApplication2| user 

         b. Execute Application (Start) 
         c. On Security dialog, application automatically get the userid of the user and see all the application it is registered using System.Security.Principal.WindowsIdentity.GetCurrent()
           eg: Prototype
              Welcome User! Please Choose Appliations you are registered on below:
                                 ProjectApplication1 <--this will be a dropdown
                                 ProjectApplication2
              Password: [*********************]
              [Access Application Button] 
         d. User selects the application with its password
         e. If the password is incorrect (application.exit()) else execute Selected Application 
             eg: ProjectApplication1 is selected then execute ProjectApplication1

--> ProjectApplication1

--> ProjectApplication2

--> Many to come ++

        if ProjectApplications has been closed then restart security Application.

Le mie domande su questo caso d'uso:

  1. Il mio caso d'uso è possibile?
  2. Puoi darmi qualche consiglio?

Attualmente utilizziamo la configurazione e la distribuzione per creare il programma di installazione in ciascuna applicazione Windows Form.

    
posta john ryan 08.03.2012 - 02:25
fonte

4 risposte

0

Ho sviluppato sia applicazioni desktop che applicazioni Web e una combinazione di entrambe (interfacce doppie e client Fat e Thin).

Finché si ha una buona architettura client-server (database back-end).

Non dovrebbe importare quale sia il front-end (applicazione web, applicazione desktop, applicazione mobile).

Dopo aver riletto la tua domanda non ha senso?

Modifica

Ok, leggi nuovamente la tua domanda.

Fondamentalmente basta avere una schermata di accesso, una volta che l'utente si è loggato è sufficiente memorizzare l'ID in memoria (si pensi all'ID di sessione).

L'utente viene quindi presentato con una schermata che mostra TUTTE le applicazioni di progetto (a cui hanno accesso).

Possono quindi fare clic su uno qualsiasi per accedervi. Abbastanza diretto.

    
risposta data 08.03.2012 - 10:47
fonte
1

Invece di immergerti troppo presto nei dettagli dell'autenticazione della sicurezza, ti consiglio vivamente di focalizzare l'attenzione sui casi di utilizzo "reali" o "aziendali" e sul tipo di sistema applicativo che hai in mente (in termini di numero di utenti previsti, durata prevista dell'applicazione, requisiti di sicurezza generali in base ai tipi di dati disponibili, considerazioni generali sulla piattaforma come Winforms vs. WPF ecc. In caso contrario si rischia di perdere in dettagli non importanti.

Analizzare elementi come "authentification" è il più delle volte un segno che non hai impiegato abbastanza tempo per comprendere il dominio aziendale e provare a iniziare con quelle cose in cui non hai bisogno di alcuna comprensione del dominio.

    
risposta data 08.03.2012 - 08:03
fonte
0

Vedo quanto segue con il tuo caso d'uso:

  1. Hai saltato i dettagli per inserire userid e le convalide associate.

  2. Stai entrando nei dettagli come la visualizzazione del messaggio "welcome user ..." - Questo tipo di dettagli è meglio esplorato su un prototipo della GUI non sul caso d'uso.

Cose che non sono chiare:

c1 - Come inizia l'applicazione - Non c'è alcun passaggio che mostri questo.

c2 - Presumi che le applicazioni visualizzate siano per questo userid? Se è così, il tuo caso d'uso dovrebbe dirlo.

c3 - L'utente deve inserire una password?

c4 - Quante volte l'utente può inserire le proprie credenziali?

c5 - Cosa succede se l'utente vuole uscire ad un certo punto, è possibile - Come?

    
risposta data 08.03.2012 - 03:35
fonte
0

c) "Nella finestra di dialogo di sicurezza ..."

Estrarre automaticamente un ID utente da un provider di identità è un attributo molto conveniente di un sistema dal punto di vista dell'utente. Tuttavia, non sono sicuro di specificare il provider a questo livello di dettaglio nel caso d'uso, però. Inoltre, vorrei anche specificare e fornire un metodo fall-back di fornire un nome utente alla finestra di dialogo di sicurezza nel caso in cui il provider [predefinito] specificato non sia appropriato o non sia disponibile per l'utente. Più che probabile, una entry-mode digitata manualmente del nome utente.

Le password per gli utenti sono univoche per ogni progetto? Se sono unici per ciascun utente su ciascun progetto, il flusso che hai presentato ha senso. Altrimenti, se ogni utente ha una sola password, indipendentemente dal progetto, richiederei la password prima di presentare o suggerire una scelta di progetto.

e) "Se la password non è corretta ..."

Cerco di privilegiare solo il controllo del positivo nel caso predefinito. Qui, voglio solo sapere se la password è stata convalidata per il nome utente particolare. Oltre a un caso comune di password errata, ci sono numerosi altri casi che avrebbero bisogno di una gestione simile alla password errata. Quindi, in breve, vorrei ripetere il passo come:

Se la password è convalidata, eseguire / presentare ... altrimenti notifica con motivo non convalidato (errata / mancata corrispondenza, problema di connessione, manutenzione bloccata, carico / licenza bloccata, accesso revocato, ecc.) e [consentire / rifiutare] riprovare.

    
risposta data 10.03.2012 - 23:34
fonte

Leggi altre domande sui tag