Uml

Post on 06-Jul-2015

433 views 5 download

Transcript of Uml

U M L

Unified Modeling Language

EMPECEMOS POR PARTES PARA ENTENDER BIEN ESTO DE UML

UML: Unified Modeling Language

UML: Lenguaje unificado de modelado

Pero…Es un modelo o es un diagrama?

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.

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

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!!!

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.

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.

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.

Nombre de la Clase

Atributos de la Clase

Operaciones de la Clase

Diagrama de Clases

Diagramas del UML

Diagrama de Objetos

Diagramas del UML

Diagrama de Casos de Uso

Diagramas del UML

Diagrama de Estados Diagrama de Secuencias

Estado Inicial

Estado Final

Estado 1

Estado 2

Estado 3

Estado 4

Diagramas del UML

Diagrama de Actividades Diagrama de ColaboracionesDiagrama de Actividades

Diagramas del UML

Diagrama de Componentes Diagrama de Distribución

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

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.

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?

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 !!!

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

Bueno!!!

Ahora si ya entendí que es UML.

Pero y lo demás?

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.

Importante, 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.

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?

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.

Que conceptos maneja UML y que aun no tengo claros?

?

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

EJEMPLO:

CLASE: “PERSONA”

OBJETO: “GABRIEL”

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.

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.

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.

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.