Come gestire correttamente la gestione dei diagrammi ER e UML

2

Quando ho imparato a conoscere questi strumenti, ho pensato (ingenuamente) che la mappatura dello spazio aziendale potesse essere caricata frontalmente eseguendola una sola volta e facendo riferimento a quei diagrammi per ogni progetto all'interno di una singola unità aziendale. Tuttavia, sto scoprendo che ogni situazione richiede il proprio set di diagrammi per comunicare correttamente cosa sta succedendo. Trovo che sto trattando gli stessi oggetti, ma le relazioni cambiano.

Il mio primo pensiero a queste diverse situazioni era che si trattava di una specie di diagrammi monouso * in quanto riguardavano solo uno scopo molto ristretto all'interno dell'azienda, ma ho rapidamente ritrattato quel pensiero una volta che mi sono ritrovato per trovare lo stesso diagramma ER che ho smaltito 3 mesi fa in una situazione completamente diversa. Quindi ora ho la certezza che non sono usa e getta e dovrebbero essere conservati, ma voglio evitare solo una serie di diagrammi UML ed ER apparentemente contraddittori, in modo che qualcuno dietro di me possa dare un senso a tutto questo. Qualche suggerimento?

    
posta Chad Harrison 28.12.2012 - 18:47
fonte

1 risposta

2

Un approccio che funziona bene è separare il contenuto del modello (gli oggetti) e le diverse viste (diagrammi). Questo ha funzionato per me:

  1. Crea un pacchetto per ogni gruppo di oggetti o dominio problematico (ad esempio clienti, prodotti, finanza ...)

  2. Crea un pacchetto per ogni scopo in cui disegnerai un diagramma (ad esempio ProductManagementView)

  3. Aggiungi gli oggetti al diagramma, incluse tutte le relazioni.

Se esistono attributi e relazioni specifici della vista che si desidera acquisire separatamente, creare pacchetti secondari e utilizzare i costrutti di gerarchia / associazione / dipendenza di UML per creare oggetti specifici.

es. il tuo modello potrebbe essere simile a questo:

 Model
   +- Customer <<package>>
        +- Customer <<entity>>
        +- Address <<entity>>
        +- CustomerService <<package>>
           +- CustomerService <<entity>> -is a-> Customer (+ supportContract attribute)
           +- SupportContract <<entity>>
   +- Product <<package>>
        +- Product <<entity>>
        +- ProductGroup <<entity>>
   +- ProductManagementView
        +- ProductManagementDiagram <<diagram>>
   +- CustomerServiceView
        +- CustomerServiceDiagram <<diagram>>
    
risposta data 28.12.2012 - 19:02
fonte

Leggi altre domande sui tag