it-swarm.it

Gestione di date efficaci in un'applicazione amministrativa

Quando si tratta di informazioni basate sull'assicurazione, spesso è necessario implementare l'uso di date effettive sulla maggior parte dei nostri dati. Ci sono molte ragioni per cui non entrerò, inutile dire che parte del design non può essere modificata.

Il problema che incontro spesso è quando devo creare un'interfaccia amministrativa per questi dati per i nostri utenti aziendali. Di solito nella parte superiore della schermata in cui si trovano, l'utente seleziona una data effettiva. Questa data effettiva determina quali dati vengono loro presentati a scopo di modifica. (vale a dire che i dati sono efficaci per quel periodo di tempo)

Ora, ogni volta che l'utente apporta una modifica, chiediamo loro la data effettiva di tale modifica. Quindi apportiamo una modifica al database in base a ciò che l'utente ha fatto.

  • Se hanno eliminato un record, in realtà contrassegniamo semplicemente la data di fine del record come
    la data di entrata in vigore della modifica.

  • Se aggiornano un record, datiamo il vecchio record e ne creiamo uno nuovo
    registra con la nuova data di entrata in vigore.

  • Se aggiungono un record ... beh, aggiungiamo un record.

Ecco i problemi che sto riscontrando con una buona UI/User Experience.

  1. L'utente deve comunicarci costantemente la data effettiva di una modifica. Questo è ingombrante e fastidioso per l'utente.

  2. L'utente non può vedere le modifiche sullo schermo se non le rende immediatamente effettive. Ciò è dovuto alla data effettiva selezionata nella parte superiore dello schermo. Inoltre, non apportano quasi mai modifiche immediatamente efficaci.

  3. Infine, poiché in realtà non stiamo apportando le modifiche che si aspettano, non possiamo semplicemente mostrare loro i dati in formato tabulare, perché non avrebbe molto senso per loro. Penserebbero che un dato sia presente una volta, ma lo vedrebbero 25 volte a causa di 25 modifiche.

Speravo di poter ottenere un feedback per il tipo di modifiche che avresti apportato a un'interfaccia utente al fine di aiutare con un problema come questo. Non sono sicuro che sia un problema che le persone debbano affrontare spesso, ma nel settore assicurativo dobbiamo affrontarlo molto spesso. La tecnologia non ha importanza, Thick Client, Web App, ecc.

Modificare

Per essere un po 'più chiaro.

  1. L'applicazione a cui mi riferisco è l'applicazione amministrativa che gestisce la modifica dei dati di backend. L'applicazione stessa è già in atto e in esecuzione utilizzando i suddetti dati di back-end.
  2. Quando si fa riferimento a date di validità. Quando l'applicazione effettiva richiede dati, passa in una data effettiva al fine di scoprire quali record sono "efficaci" quella data. Esiste una "Data di fine" corrispondente che è nulla o popolata. In un database di 20 tabelle, probabilmente almeno 10 avranno date effettive sui loro record.
  3. Quando dico che non stiamo facendo ciò che si aspettano. Quello che voglio dire è che dicono "Elimina questo record" e in realtà lo datiamo. Dicono "Aggiorna questo record" e in realtà lo scadiamo e ne creiamo uno nuovo.
  4. Ogni iscrizione richiede una data di entrata in vigore. Se si tratta di un nuovo record, l'applicazione deve ancora sapere quando entrerà in vigore e il ragionamento potrebbe essere semplicemente perché è quando l'azienda lo desidera o perché è quando entra in vigore una determinata legge. Non c'è modo di indovinarlo.

È vero che posso semplicemente inviare messaggi di conferma/stato all'utente una volta che un'azione è stata completata, ma quello che ho cercato di fare è implementare un'interfaccia utente che renda questo processo un po 'più fluido, più informativo e più intuitivo per utente finale. Quindi, anche se potrebbero non conoscere ogni piccolo dettaglio di ciò che sta realmente accadendo nel back-end, si sentiranno sicuri che sta facendo ciò di cui hanno bisogno.

5
Jeff Sheldon

Potresti creare un'interfaccia a schede verticale, con ciascuna scheda che rappresenta una data effettiva? Fare clic su una scheda per visualizzare i dati a partire da quella data di validità. (Pensa alla Time Machine di Apple senza l'animazione elaborata.)

Per apportare una modifica, l'utente dovrebbe iniziare con l'inserimento di una data effettiva. Ciò creerebbe e selezionerebbe una nuova scheda, una copia di quella che l'ha preceduta, con campi modificabili. Quindi è chiaro quale data effettiva è in corso di modifica ed è anche possibile fare clic sulle schede e visualizzare la politica in altri momenti nel tempo.

Con il modello qui suggerito, una politica non "finirebbe mai" (anche se nel DB è ancora presente una data di fine); sarebbe semplicemente sostituito dalla prossima data di entrata in vigore.

Purtroppo ciò significa che la politica non termina mai dopo l'ultima data di validità. È possibile rendere l'ultimo tab un marcatore che segnala la fine della politica. Quindi, invece di "eliminare", gli utenti cambieranno semplicemente la data di validità della scheda di fine. (Potresti avere ancora un pulsante "elimina": cambierebbe la data effettiva della scheda di fine a oggi).

4

È difficile aggirare chiedendo all'utente una data di validità per ogni modifica se devono fornire una data di validità specifica per ogni modifica. Ci sono alcune opportunità, però. Fai delle ricerche su come le persone utilizzano il tuo software e vedi se riesci a capire alcuni schemi. Ad esempio, forse gli utenti gestiscono gli account e gli account sono sempre mutati l'ultimo giorno del mese. In tal caso, potresti smettere di chiedere agli utenti le date specifiche per quelle mutazioni e invece compilarle per loro (scegliendo un'opzione predefinita o nascondendo il controllo - test utente per vedere cosa funziona meglio). Puoi anche verificare se ci sono date periodiche durante l'anno o ogni mese in cui accadono determinate cose e magari offrirle come modelli. Ad esempio, "Performance Review Day" o "Ultimo venerdì di ogni mese". In definitiva, è necessario identificare i modelli per vedere come è possibile ottimizzare il flusso di lavoro e ridurre l'input sul lato utente.

Modifica: non cancellato e mi sono sbarazzato della maggior parte della risposta dove non sapevo cosa stesse succedendo

3
Rahul