PDF de programación - INGENIERÍA DEL SOFTWARE I - Tema 7 - Lenguaje Unificado de Modelado - UML

Imágen de pdf INGENIERÍA DEL SOFTWARE I - Tema 7 - Lenguaje Unificado de Modelado - UML

INGENIERÍA DEL SOFTWARE I - Tema 7 - Lenguaje Unificado de Modelado - UMLgráfica de visualizaciones

Publicado el 14 de Enero del 2017
1.760 visualizaciones desde el 14 de Enero del 2017
2,8 MB
65 paginas
Creado hace 14a (08/10/2009)
INGENIERÍA DEL SOFTWARE I

Tema 7

Lenguaje Unificado de Modelado - UML

Univ. Cantabria – Fac. de Ciencias

Francisco Ruiz, Patricia López

Objetivos del Tema
• Presentar el estándar UML 2.
• Conocer sus principales características.
• Conocer los principales constructores del lenguaje,
así como los diversos tipos de diagramas y vistas de
modelado que incluye.

Francisco Ruiz, Patricia López - IS1

7.2

1

Contenido

• Introducción
• Objetivos
• Conceptos de Modelado

Modelos
Vistas Arquitecturales

• Modelo Conceptual
• Elementos

Estructurales
De Comportamiento
De Agrupación
De Anotación

• Relaciones
• Diagramas

Estructurales
De Comportamiento

• Reglas
• Mecanismos Comunes

Especificaciones
Adornos
Divisiones comunes
Extensibilidad

• OCL

Francisco Ruiz, Patricia López - IS1

7.3

Bibliografía
• Básica

Booch, Rumbaugh y Jacobson (2006): El Lenguaje

Unificado de Modelado. 2ª edición.
Caps. 2 y 7.

• Complementaria

Booch, Rumbaugh y Jacobson (2006): El Lenguaje

Unificado de Modelado. 2ª edición.
Caps. 4, 5 y 6.

Rumbaugh, Jacobson y Booch (2007): El Lenguaje

Unificado de Modelado. Manual de Referencia. 2ª edición.
Cap. 3.

Francisco Ruiz, Patricia López - IS1

7.4

2

Bibliografía
• Estándares UML y OCL

www.uml.org

• Webs

Múltiples enlaces e informaciones sobre UML:

http://www.cetus-links.org/oo_uml.html

Nuevas características del UML 2

http://www.epidataconsulting.com/tikiwiki/tiki-

read_article.php?articleId=31

Diagramas de UML 2 (con Visual-Paradigm)

http://www.visual-paradigm.com/VPGallery/diagrams/index.html

Francisco Ruiz, Patricia López - IS1

7.5

Introducción: Importancia del modelado

• Un modelo es una abstracción de un sistema o entidad del

mundo real.

• Una abstracción es una simplificación, que incluye sólo

aquellos detalles relevantes para algún determinado propósito

• El modelado permiten abordar la complejidad de los

sistemas

Francisco Ruiz, Patricia López - IS1

7.6

3

Representación de software mediante código

package codemodel;
public class Guitarist extends Person implements MusicPlayer {

Guitar favoriteGuitar;
public Guitarist (String name) {super(name);}

// A couple of local methods for accessing the class's properties

public void setInstrument(Instrument instrument) {

if (instrument instanceof Guitar) {

this.favoriteGuitar = (Guitar) instrument;

}else {

}

System.out.println("I'm not playing that thing!");

}
public Instrument getInstrument( ) {return this.favoriteGuitar;}

}

• Representa sólo la lógica e ignora el resto
• El ser humano lo interpreta muy lentamente
• No facilita la reutilización ni la comunicación

Francisco Ruiz, Patricia López - IS1

7.7

Representación mediante un lenguaje natural

Guitarist is a class that contains six members: one static and five non-static. Guitarist uses, and so needs an
instance of, Guitar; however, since this might be shared with other classes in its package, the Guitar instance variable,
called favoriteGuitar, is declared as default.

Five of the members within Guitarist are methods. Four are not static. One of these methods is a constructor

that takes one argument, and instances of String are called name, which removes the default constructor.

Three regular methods are then provided. The first is called setInstrument, and it takes one parameter, an

instance of Instrument called instrument, and has no return type. The second is called getInstrument and it has no
parameters, but its return type is Instrument. The final method is called play. The play method is actually enforced by
the MusicPlayer interface that the Guitarist class implements. The play method takes no parameters, and its return type
is void.

• Es ambigua y confusa
• Es lenta de interpretar
• Difícil de procesar

Francisco Ruiz, Patricia López - IS1

7.8

4

Representación mediante un lenguaje de modelado visual

• No es ambigua ni confusa (una vez conocemos la semántica

de cada elemento de modelado)
• Es fácil y rápida de interpretar
• Es fácil de procesar por herramientas

Francisco Ruiz, Patricia López - IS1

7.9

Introducción
• UML = Unified Modeling Language

• Es un lenguaje de modelado visual de propósito general orientado a

objetos.
Impulsado por el Object Management Group
www.omg.org

• Independiente de cualquier fabricante comercial

• Combina notaciones provenientes de varios tipos de modelado:

Orientado a Objetos
Datos
Componentes
Flujos de Trabajo (Workflows)

Francisco Ruiz, Patricia López - IS1

7.10

5

Introducción

Francisco Ruiz, Patricia López - IS1

7.11

Introducción

Rumbaugh

Booch

Jacobson

Odell

Shlaer-Mellor
Object life cycles

UML

Meyer
Pre- and Post-conditions

Harel
State Charts

Gamma et. al.
Frameworks, patterns,

notes

Embly
Singleton classes

Wirfs-Brock
Responsabilities

Fusion
Operation descriptions,

message numbering

Francisco Ruiz, Patricia López - IS1

7.12

6

Introducción
• Lenguaje de Modelado UML

“Lenguaje cuyo vocabulario y reglas se centran en la

representación conceptual y física de un sistema”
(Booch, Jacobson y Rumbaugh).

Estándar para escribir los planos del software.

= Notación + Reglas (Sintácticas, Semánticas)

UML ofrece vocabulario y reglas para crear y leer

modelos bien formados.
No ofrece un método.

Francisco Ruiz, Patricia López - IS1

7.13

Introducción
• UML es sólo un lenguaje
Independiente del Proceso
Pero su uso óptimo aconseja procesos dirigidos por

casos de uso, centrados en la arquitectura, iterativos e
incrementales
Proceso Unificado de Desarrollo (RUP)

Cubre las diferentes vistas de la arquitectura de un

sistema mientras evoluciona a través del ciclo de vida del
desarrollo de software

Vistas Software (estáticas, dinámicas, etc..)

Son como los distintos planos de una casa (estructura-cimientos,

albañilería, fontanería, electricidad, ...)

Francisco Ruiz, Patricia López - IS1

7.14

7

Introducción
• ¿Cuándo puede utilizarse UML?

• En sistemas software en diversos dominios:

Sistemas de información empresariales
Bancos y servicios financieros
Telecomunicaciones
Transporte
Defensa e industria aeroespacial
Comercio
Electrónica médica
Ámbito Científico
Servicios basados en Web
y también, sistemas que no son software

Francisco Ruiz, Patricia López - IS1

7.15

Introducción

• Inconvenientes de UML

No es una metodología. Además de UML, hace falta

una guía metodológica de cómo desarrollar software con
OO.

No cubre todas las necesidades de especificación de un

proyecto software.
No define los documentos textuales

Faltan ejemplos elaborados en la documentación.
Hay un cierto monopolio en torno a UML y OMG (libros,

certificaciones, etc.).

Francisco Ruiz, Patricia López - IS1

7.16

8

Introducción
• Tendencias de Futuro

Extensiones de UML

SysML - Systems Modeling Language (SysML, www.sysml.org)
Generación automática de código a partir de modelos

Model-Driven Engineering (MDE)

Extendiendo UML mediante perfiles

MARTE – Modeling and Analysis of Real-Time Embedded Systems

Entornos avanzados basados en metamodelado

Eclipse Modeling Framework (EMF)

Modelado y generación de código en dominios específicos

Domain-Specific Modeling (DSM, www.dsmforum.org)

Francisco Ruiz, Patricia López - IS1

7.17

Objetivos
• UML es un lenguaje de modelado visual que
sirve para
visualizar,
especificar,
construir y
documentar

• Sistemas

• Independientemente de la metodología de análisis

y diseño (orientada a objetos)

Francisco Ruiz, Patricia López - IS1

7.18

9

Objetivos - Visualizar
• Detrás de cada símbolo en UML hay una semántica bien definida.

Basada en un metamodelo estándar MOF-compliant.

• Trasciende a lo que puede ser representado en un lenguaje de

programación.

• Es más que un montón de símbolos gráficos
• Modelo explícito, que facilita la comunicación.

E m pleado

Nóm ina

C alc ular

U su a ri o

E m pleado

C a l cu l a r N ó m i n a

Fijo

Tem poral

Francisco Ruiz, Patricia López - IS1

7.19

Objetivos - Especificar
• Especificar es equivalente a construir modelos

precisos, no ambiguos y completos.

• UML cubre la especificación del análisis, diseño e

implementación de un sistema intensivo en
software.

Francisco Ruiz, Patricia López - IS1

7.20

10

Objetivos - Construir

• UML no es un

lenguaje de
programación visual,
pero es posible
establecer
correspondencias
entre un modelo UML
y lenguajes de
programación (Java,
C++) y bases de
datos (relacionales,
OO).

Ingeniería Directa

Modelo
UML

CÓDIGO

Ingeniería Inversa

Francisco Ruiz, Patricia López - IS1

7.21

Objetivos - Documentar
• UML cubre toda la documentación de un sistema:
Arquitectura del sistema y sus detalles (diseño)
Expresar requisitos y pruebas
Modelar las actividades de planificación y gestión

de versiones.

Importancia en el mantenimiento

Francisco Ruiz, Patricia López - IS1

7.22

11

Conceptos de Modelado
• Sistema

• Modelo

comprender mejor un sistema.

• Vista (Arquitectural)

Colección de elementos, posiblemente divididos en subsistemas,

organizados para lograr un propósito. Está descrito por un conjunto
de modelos.

Simplificación completa y autoconsistente de la realidad, creado para

Proyección de la organización y estruct
  • Links de descarga
http://lwp-l.com/pdf1070

Comentarios de: INGENIERÍA DEL SOFTWARE I - Tema 7 - Lenguaje Unificado de Modelado - UML (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad