Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de...

13
Escuela de Ingeniería Informática de Oviedo Arquitectura del Software Lab. 02 Diagramas UML PlantUML Introducción a documentación y arc42 2020-21 Universidad de Oviedo Jose Emilio Labra Gayo Pablo González Irene Cid Paulino Álvarez

Transcript of Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de...

Page 1: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Arquitectura del SoftwareLab. 02Diagramas UMLPlantUMLIntroducción a documentación y arc42

2020-21

Universidad de Oviedo

Jose Emilio Labra GayoPablo GonzálezIrene CidPaulino Álvarez

Page 2: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareS

choo

lof C

omp

ute

rS

cien

ce, U

niv

ersi

tyof

Ovi

edo

UMLUnified Modeling Language

Antes de UML había varias propuestasNotación UML los unificaPropuesta por OMG (Object Management Group)Versión actual: UML 2.5.1 (2017)

Modelo = abstracción de un problemaPuede tener varios diagramas diferentesDiagrama = representación gráfica parcial de un modelo

OCL = Object Constraint LanguageRestricciones entre objetos usando lenguaje formal

Page 3: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareS

choo

lof C

omp

ute

rS

cien

ce, U

niv

ersi

tyof

Ovi

edo

14 tipos de diagramas UML

Fuente: Wikipedia

Page 4: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Diagramas de claseMusicaManager

+conf:Configuration-playList:List<Song>-activeSong:integer

+randomPlay()+añadirCancion(Song)+consultarConf():Configuracion..

Visibilidad:• - Privado• ~ Paquete• # Protegido• + Público

• Modela la parte estática del proyecto, sin tener en cuenta la situación del sistema en un tiempo.

• Explica las relaciones que hay entre las distintas clases.

• Arc42:8-Concepts

Page 5: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Ejemplo

Fuente wikipedia

Person

+name

Professor

+startDate

University

+name+city

Student

+name+id

+id

Course

+name

1

1..* 1..*

1

Herencia

Composición(cuando el contenedor se destruye, los contenidos desaparecen)

Agregación

Page 6: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Diagrama de componentes

GUI

Catálogo

Envío

Cestacompra

Requiere Proporciona

• Representa la relación estructural de los componentes de un sistema de software

• Sistemas complejos que tienen muchos componentes

Page 7: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Diagrama de despliegue• Representa la localización final

de los componentes de nuestra aplicación

• Elementos : Nodos , Componentes, relaciones

• Arc42: 07.DeploymentView

Fuente:SparkSystem

Page 8: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Diagrama de secuencia• Modela la comunicación entre

los objetos de un sistema en un determinado momento

• Los objetos pueden enviarse dos tipos de mensajes: síncronos y asíncronos

• Arc42:6-RuntimeView

Page 9: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Herramientas Textuales• PlantUML YUML

@startuml componentactor Usuarioparticipant MusicManagerparticipant Configurationboundary PlayerUsuario -> MusicManager: playMusicManager -> MusicManager: randomMusicManager -> Configuration : getPlayerMusicManager --> Player : play@enduml

Page 10: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Herramientas de dibujo• PowerPoint• Visio (Microsoft)• UMLet (https://www.umlet.com/)

Page 11: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Herramientas CASE• EnterpriseArchitect

▫ Solo para Windows▫ Entiende todo tipo de diseño▫ Tiene Ingeniería Inversa con

Java/C++▫ Conecta con Oracle para los modelos

de datos relacionales▫ Plantillas editables para Word, HTML

• MagicDraw▫ Para todo sistema con Java▫ Diagramas UML▫ Ingeniería Inversa Java , C++

• Visual Paradigm▫ Comercial (Licencia estudiantes)

• Modelio▫ Código abierto▫ Java based▫ Ingeniería Inversa

Page 12: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Dibujando la arquitectura• Vídeo con pautas para diagramas▫ https://www.youtube.com/watch?v=wgpSdpny-0c

• Checklist utilizado en C4▫ https://c4model.com/assets/software-architecture-

diagram-review-checklist.pdf

Page 13: Universidad de Oviedo - GitHub Pages · 2021. 5. 28. · Arquitectura del Software Escuela de Ingeniería Informática de Oviedo Universidad de Oviedo Arquitectura del Software Lab.

Arquitectura del SoftwareE

scu

ela

de

Inge

nie

ría

Info

rmát

ica

de

Ovi

edo

Un

iver

sid

ad d

e O

vied

o

Plantillas arc42• https://arc42.org/

• Radarin ya sigue la plantilla:▫ https://radarinESXXwebapp.herokuapp.com/docs/

• Generación de documentación en local:▫ > npm run docs

• Generación de documentación en repositorio:▫ git push …