In vista della creazione di un MIS (Management Information System), un problema di architettura / progettazione che ci sta di fronte sta gestendo l'allocazione per un insieme di dipendenti.
Scenario: I dipendenti vengono assegnati ai progetti e quindi ricevono il loro tempo (in tutto o in parte) per una durata assegnata a un'attività specifica. Come può essere rappresentato in DB e nel modello di programmazione?
Esempio:
Employee E1 is allocated to 2 projects P1 and P2
P1 start date is: 10 Jan 2014 and End date is: 20 Mar 2014
P2 start date is: 15 FEB 2014 and End date is: 1 MAY 2014.
E1 gets allocated to P1 for 0.5 (50%) from 20 JAN to 20 FEB 2014 and then again gets allocated 0.75 (75%) from 1 MAR to 20 MAR 2014.
Consideriamo ora uno scenario in cui lo stesso dipendente deve essere assegnato al 100% al progetto P2. Sulla base di un modello DB o di un modello di programmazione (ad esempio Java) dovrei essere in grado di effettuare le seguenti interpretazioni:
- 1 > E1 è disponibile solo al 50% per il periodo dal 15 al 20 FEB 2014.
- 2 > E1 è disponibile al 100% per il periodo dal 20 FEB al 1 MAR 2014.
- 3 > E1 è disponibile al 25% per il periodo dal 1 MAR al 20 MAR 2014.
- 4 > E1 è disponibile al 100% per il periodo dal 20 MAR al 1 ° MAGGIO 2014.
Suppongo che dovrò mantenere i dettagli di allocazione per ciascun dipendente in un DB e le sue strutture di dati Java equivalenti. Il problema è che non siamo in grado di trovare una struttura / modello ER che possa contenere tali dettagli.
Sto assumendo che problemi simili non siano nuovi e open source / progetti saranno già lì.
Domanda :
1 > Qualcuno può suggerire un approccio per un problema come questo?
2 > ci sono riferimenti / link che puoi fornire che mi aiuteranno a migliorare il design.