UML
Per approfondimento relazioni_tra_classi
Perché è necessaria una convenzione e una formalizzazione?
Fare un esempio senza convenzioni: è incomprensibile!
UML:
è un linguaggio di astrazione (modello semplificato)
è un linguaggio descrittivo
non è un linguaggio di programmazione
non è un metodo di sviluppo del sw (la guerra dei metodi..)
non viene usato solo nella OOP
diagrammi
diagrammi logici
diagrammi delle classi (class) (della struttura statica)
diagrammi di sequenza (sequence)
diagrammi di stato e delle attività (state chart)
diagramma di collaborazione (collaboration)
diagramma di casi d'uso (use case)
diagramma delle attività (activity)
diagrammi di implementazione
diagramma dei componenti (component)
diagramma di distribuzione (deployment)
diagr. delle classi
un rettangolo per ogni classe, contenente:
identificativo classe
accessibilità, tipo e identificativo dei dati membri
accessibilità, tipo, argomenti e identificativo delle funzioni membro
diagr. di stato
come cambia lo stato di ogni oggetto durante lo svolgimento dei fatti?
diagr. dei casi d'uso
Analisi requisiti: cosa devo fare? (non come)
Disegno uno scenario (es: un caso d'uso felice)
Disegno gli attori (simbolicamente piccoli uomini)
Disegno la sequenza di passi che si susseguono (collegamenti con entità)