Uml

31
U M L Unified Modeling Language

Transcript of Uml

Page 1: Uml

U M L

Unified Modeling Language

Page 2: Uml

EMPECEMOS POR PARTES PARA ENTENDER BIEN ESTO DE UML

Page 3: Uml

UML: Unified Modeling Language

UML: Lenguaje unificado de modelado

Pero…Es un modelo o es un diagrama?

Page 4: Uml

Un modelo captura una vista de un sistema del mundo real. Es

una abstracción de dicho sistema, considerando un cierto

propósito. Así, el modelo describe completamente aquellos

aspectos del sistema que son relevantes al propósito del

modelo, y a un apropiado nivel de detalle.

Es un modelo o es un diagrama?

Diagrama: una representación gráfica de una colección de

elemento, a menudo dibujada como un gráfico con vértices

conectados por arcos y líneas. Son representaciones gráficas de

los pasos a seguir para lograr un resultado.

Page 5: Uml

UML es una de las herramientas mas emocionantes del desarrollo de sistemas.

Esto se debe a que permite a los creadores de sistemas generar diseños que capturen o mejor plasmen sus ideas usando formas convencionales y fácil de comprender para comunicarlas a otras personas que también conocen de la unificación de esas formas de modelado.

La mejor definición de UML

Page 6: Uml

PARA OTRA VEZ!!!

O sea, que si yo quiero saber de UML, lo que debo aprender son los diferentes modelos que existen de forma unificada, para representar mis ideas o mi plan de diseño, que debe estar basado en el resultado cuidadoso del análisis de las necesidades del cliente???????.

Ah caramba!!!

Page 7: Uml

UML nace por la necesidad de unificar

la forma de modelar la información, en

las etapas de análisis & diseño del

software orientado a objetos, para así

poderlo transmitir, manejar, corregir, y

mantenerlo de manera universal.

Page 8: Uml

El Lenguaje Unificado de Modelado se ha

convertido en el lenguaje aceptado

universalmente para desarrollar los planos en

las etapas de análisis y diseño de software.

Es un lenguaje visual utilizado para ilustrar las

ideas, enfatizando en como los desarrolladores

aplicaran efectivamente los patrones de

desarrollo de software orientado a objetos.

Page 9: Uml

Y cuales son esos modelos de UML?

Diagrama de Clases.

Diagrama de Objetos.

Diagramas de Casos de Uso.

Diagrama de estados.

Diagrama de Secuencias.

Diagrama de Actividades.

Diagrama de Colaboraciones.

Diagrama de Componentes.

Diagrama de Distribución.

Estos Modelos UML, están compuestos por elementos gráficos (dibujos geometricos), que dispuestos logicamente conforman estos diagramas.

Page 10: Uml

Nombre de la Clase

Atributos de la Clase

Operaciones de la Clase

Diagrama de Clases

Diagramas del UML

Page 11: Uml

Diagrama de Objetos

Diagramas del UML

Diagrama de Casos de Uso

Page 12: Uml

Diagramas del UML

Diagrama de Estados Diagrama de Secuencias

Estado Inicial

Estado Final

Estado 1

Estado 2

Estado 3

Estado 4

Page 13: Uml

Diagramas del UML

Diagrama de Actividades Diagrama de ColaboracionesDiagrama de Actividades

Page 14: Uml

Diagramas del UML

Diagrama de Componentes Diagrama de Distribución

Estos diagramas están intimamente ligados con los sistemas informáticos

Page 15: Uml

Entonces….

El desarrollo de sistemas es una actividad humana; por tanto sin un

sistema de notación fácil y comprensible como el UML, el proceso

de desarrollo puede tener una gran cantidad de errores POR

ERRORES DE COMPRENSIÓN.

EL UML es una notación (no es un lenguaje de programación)

estándar diseñada por Grooch Jacobson y Rambaught , la cual es

representada a través de diagramas que permiten establecer una

comunicación importante entre los analistas de sistemas,

desarrolladores, clientes y demás personas involucradas en el

proceso de desarrollo del sistema.

El UML, no es como el Alka Seltzer, porque muestra lo que

supuestamente hace el sistema, mas no cómo lo hace.

Page 16: Uml

Use CaseDiagrams

Use CaseDiagramsDiagramas de Casos de Uso

ScenarioDiagrams

ScenarioDiagrams

Diagramas deColaboración

StateDiagrams

StateDiagrams

Diagramas deComponentes

ComponentDiagramsComponent

DiagramsDiagramas deDistribución

StateDiagrams

StateDiagrams

Diagramas de Objetos

ScenarioDiagrams

ScenarioDiagrams

Diagramas deEstados

Use CaseDiagrams

Use CaseDiagrams

Diagramas deSecuencia

StateDiagrams

StateDiagrams

Diagramas deClases

Diagramas deActividad

Modelos

Son diagramas expresan gráficamente partes de un modelo

Aja, son Diagramas o son Modelos?

Page 17: Uml

Entienda de una buena vez !!!

El desarrollo de sistemas es la creación de un programa para un cliente, el cliente es el que tiene el problema que debe ser resuelto.

Un ANALISTA DE SISTEMAS es el que documenta el problema del cliente y lo comunica a los desarrolladores, que son los programadores que generan el programa que resolverá el problema y lo distribuirán o instalaran en equipos de computación.

Bueno pero no cojas rabia !!!

Page 18: Uml

Un arquitecto no podría crear una compleja estructura como lo es un edificio de oficinas sin crear antes un diseño detallado.

La idea es que así como un arquitecto le muestra el anteproyecto a la persona que lo contrato, usted deberá mostrar su plan de diseño al cliente. Tal plan de diseño debe ser el resultado de un cuidadoso análisis de las necesidades del cliente

UML

Page 19: Uml

Bueno!!!

Ahora si ya entendí que es UML.

Pero y lo demás?

Page 20: Uml

Fundamentos del análisis orientado a objetos

El propósito de la Orientación a Objetos es desarrollar software que

modelen particularmente un esquema del mundo real.

Entre más atributos y acciones, mayor será la similitud del modelo con la

realidad.

El lenguaje unificado (UML) sirve para especificar, visualizar y documentar

esquemas de sistemas de software orientado a objetos.

UML no es un método de desarrollo, lo que significa que no sirve para

determinar qué hacer en primer lugar o cómo diseñar el sistema, sino que

simplemente le ayuda a visualizar el diseño y a hacerlo más accesible para

otros.

UML está diseñado para su uso con software orientado a objetos, y tiene un

uso limitado en otro tipo de cuestiones de programación.

Page 21: Uml

Importante, UML

Page 22: Uml

UML NO es programación

UML NO es metodología, no pasos.

√ UML SIme indica que es lo que voy a programar.

Es un modelado de las estructuras y procesos.

√ UML SI es un lenguaje de modelado.

Importante, UML

√ UML SI es un lenguaje unificado

de modelado para hacer modelados de sistemas orientados a objetos.

UML NO esta asociado a ningún

lenguaje de programación.

Page 23: Uml

Porque tantos diagramas?

Te contesto con una pregunta y una respuesta:

Para Casa, Habitación o Edificio de Oficinas, para mi gusto serían:

Planos de:

Plantas, Elevaciones, Cortes, Fachadas, Hidráulico, Eléctrico, Carpintería y Detalles.

Cuantos tipos de planos se necesitan para diseñar una casa, habitación o edificio?

Page 24: Uml

Y de la programación estructurada que?

La programación orientada a objetos es una evolución de la programación estructurada.

P.O.ESTRUCTURADA P.O.OBJETOS - POO

Usamos subrutinas y funciones.

Pienso en el sistema como una estructura.

Esta dado en una secuencia estructurada.

Objetos con propiedades, atributos y métodos que realizan acciones.

Pienso en el sistema como objetos que tienen vida propia, actores presentes, entidades presentes y ellos resuelven su problema.

Les das como un guion, tu vas a hacer esto y esto y ellos se encargan de realizar su trabajo.

Page 25: Uml

Que conceptos maneja UML y que aun no tengo claros?

?

Page 26: Uml

Un objeto es una instancia de clase que posee una estructura; es

decir, tiene atributos (propiedades) y realiza acciones. Las acciones son

todas las tareas que puede realizar el Objeto.

Es una abstracción de una cosa o concepto de la realidad que tiene

identidad, estado y comportamiento; pertenencia, unidad o modulo con una

estructura u organización.

Una clase, más que una categorización es una plantilla para fabricar

objetos.

Es una generalización de Objetos. Es una descripción de los conjuntos de

objetos que comparten los mismos atributos, operaciones, relaciones y

semánticas.

Conozcamos algunos conceptos mas

Page 27: Uml

EJEMPLO:

CLASE: “PERSONA”

OBJETO: “GABRIEL”

Page 28: Uml

Abstracción: Se refiere a quitar atributos o propiedades, para dejar sólo las

necesarias

Herencia: Un objeto, por ser una instancia de una clase posee las

características de la clase que proviene, a esto se le conoce como herencia.

Un objeto, no solo hereda de una clase, sino que una clase también puede

heredar de otra.

Polimorfismo: Una operación puede tener el mismo nombre en distintas

clases y funcionar diferente en cada una.

Encapsulamiento: Es ocultar la funcionalidad de un objeto. Solo el objeto se

“ensucia sus manos” con sus atributos.

Page 29: Uml

Instancia: Solicitud o insistencia. Es una acción – dar un clic-.

Las relaciones pueden ser:

De Generalización: Relación entre una Clase general y una clase mas

particular.

De Dependencia: una clase USA a otra en alguna de sus operaciones.

De Asociación: Relación estructural que especifica que objetos de una clase

están conectados con objetos de otra con un propósito común. Ej.: Una

persona forma parte de la empresa.

Page 30: Uml

Envío de Mensajes: Los objetos interectuan en conjunto y esto

es posible a través del envío de mensajes. Un objeto le envía un

mensaje a otro para realizar un operación y el receptor se

encarga de ejecutarla.

Asociación: Un objeto puede estar asociado a otro,puesto que

se relacionan entre sì. O una clase puede estar asociada con

otras clases distintas.

Agregación: Es cuando un objeto se conforma de una

combinación de varios tipos de objetos.

Page 31: Uml

Una Composición es un tipo de agregación que está

relacionado con su objeto agregado y sus objetos

componentes. En una composición el componente puede morir

antes del objeto; pero si destruyes el objeto compuesto se

destruirán todos sus componentes.

Un actor es aquel involucrado relevante que tiene interacción

con el sistema. Puede ser una persona, una empresa u

organización, un programa o un sistema computacional.

El actor primario es aquel que generalmente inicia un caso de

uso.