Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
T5-PlantUML-Models/ModelosTema5.puml
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
392 lines (289 sloc)
8.94 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@startuml | |
title Ejemplo trazabilidad | |
!include estilos/draft.iuml | |
!include clases/Usuario.iuml | |
note left of Usuario | |
RI-001 - El | |
sistema deberá | |
almacenar la | |
información | |
correspondiente | |
a los usuarios | |
del sistema. En | |
concreto: ... | |
end note | |
note bottom of Usuario | |
RF-004 - El | |
sistema deberá | |
enviar | |
automáticamente | |
un email a los | |
usuarios cuando ... | |
end note | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de clases | |
!include estilos/draft.iuml | |
!include clases/Alumno.iuml | |
!include clases/Asignatura.iuml | |
!include clases/Matricula.iuml | |
Alumno -[hidden]> Asignatura | |
Asignatura -[hidden]> Matrícula | |
'-[hidden]> es un truco para poner una clase al lado de otra | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de asociación | |
!include estilos/draft.iuml | |
!include clases/Asignatura.iuml | |
!include clases/Matricula.iuml | |
Asignatura "0..*" -r- "0..*" Matrícula : apareceEn | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplos de roles I | |
!include estilos/draft.iuml | |
Persona "padre\n0..2" -- "0..*\nhijo" Persona : esPadreDe | |
@enduml | |
@startuml | |
title Ejemplos de roles II | |
!include estilos/draft.iuml | |
Vuelo "*\nsalidas" --- "origen\n1" Aeropuerto : saleDe | |
Vuelo "*\nllegadas" --- "destino\n1" Aeropuerto : llegaA | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Equipos de fútbol. Modelo | |
!include estilos/draft.iuml | |
!include clases/Jugador.iuml | |
!include clases/Equipo.iuml | |
Jugador "*" -r- "0..1" Equipo :juegaEn | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Equipos de fútbol. Objetos | |
!include estilos/draft.iuml | |
!include objetos/Jugadores.iuml | |
!include objetos/Equipos.iuml | |
j1 -- e2: juegaEn | |
j2 -- e2: juegaEn | |
j3 -- e1: juegaEn | |
j4 -- e1: juegaEn | |
j5 -- e1: juegaEn | |
j6 -[hidden]> j3 | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de generalización I | |
!include estilos/draft.iuml | |
!include clases/Turismo.iuml | |
!include clases/Camion.iuml | |
!include clases/Motocicleta.iuml | |
!include clases/Seguro.iuml | |
Persona "0..1" -- "*" Turismo : esPropietariaDe | |
Persona "0..1" -- "*" Motocicleta :esPropietariaDe | |
Persona "0..1" -- "*" Camión :esPropietariaDe | |
Turismo "1" -- "0..1" Seguro :tiene | |
Motocicleta "1" -- "0..1" Seguro :tiene | |
Camión "1" -- "0..1" Seguro :tiene | |
Turismo -[hidden]> Camión | |
Camión -[hidden]> Motocicleta | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de generalización II | |
!include estilos/draft.iuml | |
!include clases/Turismo2.iuml | |
!include clases/Camion2.iuml | |
!include clases/Motocicleta2.iuml | |
!include clases/Seguro.iuml | |
!include clases/Vehiculo.iuml | |
Persona "0..1" -- "*" Vehículo :esPropietariaDe | |
Vehículo "1" -l- "0..1" Seguro :tiene > | |
Vehículo <|-- Motocicleta : {completa,disjunta} | |
Vehículo <|-- Camión | |
Vehículo <|-- Turismo | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de composición | |
!include estilos/draft.iuml | |
Factura *-- "1..*\n{ordered}" LineaDeFactura | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para clases UML I | |
!include estilos/draft.iuml | |
!include clases/NombreClase.iuml | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para clases UML II | |
!include estilos/draft.iuml | |
!include clases/NombreClaseValor.iuml | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para clases UML III | |
!include estilos/draft.iuml | |
"Clase A" "mult A\nrol A" --- "rol B\nmult B" "Clase B" : nombreAsociación | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para objetos y enlaces UML I | |
!include estilos/draft.iuml | |
!include objetos/Objetos.iuml | |
obj1 -- obj2: __enlace__ | |
obj1 -- obj3: __enlace__ | |
obj1 -- obj4: __enlace__ | |
' __Text__ también se puede usr para subrayar | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para objetos y enlaces UML II | |
!include estilos/draft.iuml | |
!include objetos/Facturas.iuml | |
!include objetos/Productos.iuml | |
!include objetos/LineaDeFacturas.iuml | |
facturas -- c1: __posee__ < | |
c1 -- f1: __emitidaA__ < | |
f1 *-- lf1 | |
f1 *-- lf2 | |
f1 *-- lf3 | |
lf1 -- p1: __contiene__ | |
lf2 -- p2: __contiene__ | |
lf3 -- p3: __contiene__ | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para clasificación UML I | |
!include estilos/draft.iuml | |
!include clases/Superclase.iuml | |
!include clases/Subclase1.iuml | |
!include clases/SubclaseN.iuml | |
Superclase <|-- Subclase1 | |
Superclase <|-- SubclaseN : {restricciones} | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación para clasificación UML II | |
!include estilos/draft.iuml | |
MiembroCU <|-- Alumno | |
MiembroCU <|-- Empleado : {completa, solapada} | |
Empleado <|-- PAS | |
Empleado <|-- PDI : {completa, disjunta} | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación composición | |
!include estilos/draft.iuml | |
Compuesto *-- "mult" Componente | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo Factura | |
!include estilos/draft.iuml | |
!include clases/Factura.iuml | |
!include clases/LineaDeFactura.iuml | |
Cliente "1" -r- "*" Factura: emitidaA < | |
Factura *-- "1..*\n{ordered}" LineaDeFactura | |
LineaDeFactura "*" -r- "1" Producto :contiene | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo clase asociación I | |
!include estilos/draft.iuml | |
Empleado "*" -r- "*" Proyecto : trabajaEn | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo clase asociación II | |
!include estilos/draft.iuml | |
!include clases/Proyecto.iuml | |
!include clases/Empleado.iuml | |
!include clases/Esfuerzo.iuml | |
Empleado "*" -r- "*" Proyecto : trabajaEn | |
(Empleado, Proyecto) .. Esfuerzo | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Diagrama de objetos con clases asociación | |
!include estilos/draft.iuml | |
!include objetos/Empleados.iuml | |
!include objetos/Proyectos.iuml | |
!include objetos/Esfuerzos.iuml | |
juan -- p1: __trabajaEn__ | |
juan -- p2: __trabajaEn__ | |
ana -- p1: __trabajaEn__ | |
ana -- p2: __trabajaEn__ | |
cristina -- p2: __trabajaEn__ | |
(juan, p1) .. f1 | |
(juan, p2) .. f2 | |
(ana, p1) .. f3 | |
(cristina, p2) .. f4 | |
(ana, p2) .. f5 | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo clase asociación con composición | |
!include estilos/draft.iuml | |
!include clases/Proyecto.iuml | |
!include clases/Empleado.iuml | |
!include clases/Esfuerzo.iuml | |
Empleado *-r- "*" Esfuerzo | |
Esfuerzo "*" -- "1" Proyecto | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de restricción | |
!include estilos/draft.iuml | |
!include clases/Factura.iuml | |
!include clases/LineaDeFactura.iuml | |
Factura *-- "1..*\n{ordered}" LineaDeFactura | |
Factura "*" -- "1" Cliente :emitidaA | |
LineaDeFactura "*" -- "1" Producto :contiene | |
note as N1 | |
{factura sin duplicados. | |
Un mismo producto | |
no debe aparecer dos | |
veces en la misma | |
factura.} | |
end note | |
Factura .. N1 | |
N1 .. LineaDeFactura | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación enumerados | |
!include estilos/draft.iuml | |
!include enumerados/Sexo.iuml | |
!include enumerados/ViaPublica.iuml | |
!include enumerados/Categoria.iuml | |
Sexo -[hidden]> VíaPública | |
VíaPública -[hidden]> Categoría | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo de agregación | |
!include estilos/draft.iuml | |
!include clases/GeneroMusical.iuml | |
!include clases/Cancion.iuml | |
GéneroMusical "*" o-- "*" Canción | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Notación agregación | |
!include estilos/draft.iuml | |
Agregado "multA" o-- "multB" Componente | |
@enduml | |
'--------------------------------------------------------------------------- | |
@startuml | |
title Ejemplo fotos | |
!include estilos/draft.iuml | |
!include clases/Usuario.iuml | |
!include clases/Foto.iuml | |
!include clases/Categoria.iuml | |
Usuario "1" -- "*" Foto: sube | |
Foto "*" -l-o "*" Categoría: perteneceA | |
@enduml |