Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    UML - Relazioni tra use cases

    Non ho trovato un forum specifico per UML (strano visto che nel sito e' pubblicata una "Guida a UML" decisamente apprezzabile), spero quindi di poter trovare qui le risposte che cerco.
    Nella lezione 23 della citata "Guida a UML", si parla di "Relazioni tra use cases": non ho capito (neanche leggendo altri testi) la differenza tra Extension e Generalization. qualcuno mi puo' aiutare?
    Ciao

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    Extend e' una relazione che indica quando uno use case puo servire da funzionalita aggiuntiva per un altro, per esempio:

    Acquisto di un prodotto - - - - - - - - - > Calcolo eventuale sconto

    questo significa che la funzionalita di base e' l'acquisto del prodotto, che in circostanze particolare si puo avvalere della funzionalita "Calcola sconto".

    Una generalizzazione invece e' simile ad una isa nel class diagram, ovvero significa che una istanza A che e' generalizzazione di una istanza B puo essere vista come un caso particolare del caso B.

  3. #3
    Ho ancora delle perplessita’.
    L’esempio che tu indichi come Extension potrebbe anche essere visto come Generalization: c’e’ lo use case padre “Acquisto di un prodotto” e c’e’ lo use case figlio “Acquisto di un prodotto con sconto” che e’ un “tipo di” Acquisto prodotto e che “eredita” dal padre tutte le sue caratteristiche e che in piu’ contiene le funzioni relative al calcolo dello sconto.
    In un articolo di MokaByte, e’ riportato un esempio di use case “Inserisci nuova fattura” esteso da uno use case “Inserimento straordinario fattura” che prevede che il numero di fattura sia forzato dall’utente anziche’ ottenuto dal sistema.
    Anche in questo caso mi sembra che i due use case potrebbero essere padre e figlio di una Generalization dove il figlio e’ un “tipo di” Inserimento fattura che “eredita” tutte le caratteristiche del padre e aggiunge la forzatura del numero fattura.

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2003
    Messaggi
    698
    Originariamente inviato da Mazzanrol
    L’esempio che tu indichi come Extension potrebbe anche essere visto come Generalization: c’e’ lo use case padre “Acquisto di un prodotto” e c’e’ lo use case figlio “Acquisto di un prodotto con sconto” che e’ un “tipo di” Acquisto prodotto e che “eredita” dal padre tutte le sue caratteristiche e che in piu’ contiene le funzioni relative al calcolo dello sconto.
    Credo sia proprio questo il punto che ti condonde: la extend non vuol dire questo. L'estensione corretta non e' quella che dici tu, ovvero "Acquisto prodotto" ---> "Acquisto prodotto con sconto", ma e' molto piu "atomica" come operazione,in un certo senso e' a se stante, ed e' il solo calcolo dello sconto, visto come algoritmo,
    "Acquisto prodotto" ---> "Calcola sconto"

    Quindi un algoritmo di calcolo di sconto non eredita nulla dalla funzionalita Acquisto, e' una cosa che la completa ma resta comunque una entita distinta dall'acquisto

    Non so se riesco a farmi capire bene, in caso posta i dubbi e nel limite del possibile cerco di spiegarmi meglio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.