In che modo una classe statica o una chiamata a una funzione statica viene presentata in Sequence Diagram? Secondo la mia comprensione, la linea di vita appartiene ad un'istanza/oggetto di una classe. This article dice che lo stereotipo metaclasse può essere utilizzato.Come presentare una chiamata di classe o di funzione statica in Sequence Diagram?
risposta
Quindi, infine, è l'uso dello stereotipo per menzionare una classe/funzione statica. La sottolineatura non è più applicabile in UML 2.4.1 Aug 2011, Pagina 86 è, sotto i titoli Notazione e Opzioni presentazione
(+1) Buono a sapersi.Quando si modella su una lavagna/lavagna o un notebook, la sottolineatura non è molto chiara. Lo stesso vale per la notazione in corsivo ... – umlcat
Penso che il tuo commento copre la maggior parte di esso:
UML 2 diagrammi di sequenza: si noti come etichette degli oggetti sono sottolineate, le classi e gli attori non sono che suona come classe statica o di chiamata a una funzione statica è rappresentato con Stereotipo identico fornito 1- la parte del nome del modello: ClassName deve essere vuoto 2- Non deve essere sottolineato.
UML non è in grado di coprire interamente questo perché la statica non è una definizione UML, ogni lingua ha lievi variazioni. Tuttavia la specifica UML per "features" [pag. 69] (attr/operazioni):
isStatic: Boolean - Specifica se questa caratteristica contraddistingue i singoli casi classificati dal classificatore (false) oppure il classificatore stesso (vero). Il valore predefinito è falso.
Si noti che si dice lo stesso classificatore. Quindi la domanda è: posso mettere un classificatore in un diagramma di sequenza, non in un'istanza? Notare anche che non è detto che il classificatore possa essere statico. La pagina 27 della stessa specifica UML non mostra isStatic nella meta class "classifier" (class). Quindi UML non fornisce una funzionalità di modello formale per le classi statiche. È possibile utilizzare stereotipi o parole chiave o il proprio profilo UML ed estendere la classe. Ma la risposta breve è fare ciò che hai già postato.
[UML 2.4.1 agosto 2011] (http://www.omg.org/spec/UML/2.4.1/Superstructure/PDF), Pagina 86, sotto i titoli 'Notazione' e' Opzioni di presentazione', sembra in conflitto con i miei commenti o quell'articolo di riferimento non è più valido dopo questa versione di UML 2 – bjan
"In caso di dubbio, utilizzare i commenti o gli stereotipi ..."
Sequence Diagram:
.......................................................
....+-------------+...........+-------------------+....
....| <<class>> |...........| <<class>> |....
....| Cat |...........| FastFoodTerminal |....
....+------+------+...........+---------+---------+....
...........|............................|..............
...........|..........<<static>>........|..............
...........|...........TurnOn().........|..............
...........+--------------------------->+---+..........
...........|............................|...|..........
...........+<---------------------------+<--+..........
...........|............................|..............
...........|.......Answer...=...........|..............
...........|..DoYouHaveCheeseBurger()...|..............
...........+--------------------------->+---+..........
...........|............................|...|..........
...........+<---------------------------+<--+..........
...........|............................|..............
.......................................................
Class Diagram:
...........................................................
....+-------------------------------------------------+....
....| <<class>> |....
....| FastFoodTerminal |....
....+-------------------------------------------------+....
....| [+] void: FastFoodTerminal(); <<constructor>> |....
....| [#] int: ObtainMoneyDifference(); |....
....| [+] void: ReceiveMoney(); |....
....| [+] void: ReturnChange(); |....
....| [+] FastFoodTerminal: TurnOn(); <<static>> |....
....+-------------------------------------------------+....
...........................................................
In questo esempio, il "sfioramento Attiva() "è un metodo statico che restituisce, un'istanza (oggetto) della classe" FastFoodTerminal ".
Cosa hai usato per fare quel diagramma ascii? –
@Petur Uso http://asciiflow.com/ per diagrammi di classe, successivamente li modifico con un editor di testo. – umlcat
- 1. Differenza tra Sequence Diagram (SD) e System Sequence Diagram (SSD)?
- 2. chiamata di funzione statica non statica in C++
- 3. chiamata una funzione statica nella classe Reagire ES6
- 4. Chiamata di una funzione statica in una classe generica a macchina
- 5. Inizializzazione array C++ in chiamata di funzione o chiamata costruttore
- 6. variabile statica non incrementare in funzione di chiamata
- 7. Funzione di estensione statica su una classe Java
- 8. Come testare una funzione statica
- 9. Perché dichiarare una variabile o una funzione statica in C?
- 10. Funzione di classe chiamata php per nome stringa
- 11. Chiamata ambigua a funzione statica sovraccaricata
- 12. Come può una classe non statica chiamare un altro metodo di una classe non statica?
- 13. Fail alla chiamata di reddit/api/presentare
- 14. Iniezione di una dipendenza in una classe statica
- 15. Funzione statica non basata su modelli in classe di modelli
- 16. Come dire se la funzione corrente è una funzione membro normale o statica in C++ 11?
- 17. Rappresentando un C# metodo generico in una classe UML Diagram
- 18. Metodo statico di una classe statica rispetto al metodo statico di una classe non statica (C#)
- 19. funzione di chiamata Codeigniter entro stessa classe
- 20. Ignora una chiamata di funzione in C
- 21. Analisi statica del grafo di chiamata Java
- 22. extern su una funzione statica in C++
- 23. Ottenere namespace in una funzione statica
- 24. Metodo globale vs funzione vs classe statica
- 25. come di rinviare una chiamata di funzione in C
- 26. Come trasformare una stringa in una chiamata di funzione JavaScript?
- 27. Come posso creare una classe statica in Swift?
- 28. allocazione di classe statica
- 29. Chiamata di una funzione prima di Load
- 30. Come rifattorizzare una classe interna statica in una classe di livello superiore in Eclipse?
[UML 2 diagrammi di sequenza:] (http://www.agilemodeling.com/artifacts/sequenceDiagram.htm) 'Osserva come le etichette degli oggetti sono sottolineate, le classi e gli attori no 'Sembra una classe statica o la chiamata a una funzione statica è rappresentata con lo stesso stereotipo fornito 1- la parte _name_ del modello _name: ClassName_ dovrebbe essere vuoto 2- Non dovrebbe essere sottolineato – bjan
Non è sicuro, ma penso che alcuni strumenti, in aggiunta, utilizzino i bordi arrotondati per il rettangolo, nel caso di oggetti. – umlcat