Sunteți pe pagina 1din 41

UML

Y el proceso unificado de desarrollo trabajando con objetos


Javier Gonzlez Snchez, MCs
javiergs@acm.org

Departamento de Tecnologas de Informacin ITESM, campus Guadalajara

javiergs@acm.org

Expectativas del Curso


Expectativas Antecedentes de UML Experiencia en Modelado de Software Experiencia en A&D Orientado a Objetos Experiencia con Lenguajes de Programacin

javiergs@acm.org

Contenido
1. Introduccin: ! Arquitectura del Software ! Principios de Orientacin a Objetos 2. Modelado Estructural ! UML ! Objetos y Clases (modelado de la arquitectura) 3. Modelado de Comportamiento ! Casos de Uso (modelado del comportamiento) 4. Modelado de Comportamiento ! Secuencias y Colaboracin 5. Modelado de Comportamiento ! Estados y Actividades 6. Modelado Estructural ! Componentes y Deployment ! RUP
javiergs@acm.org

1.1. Introduccin:
Arquitectura del Software

Objetivo
"

Contextualizar al Lenguaje Unificado de Modelado dentro del proceso de desarrollo de software

"

Definir el concepto de modelo y la importancia del modelado en el proceso de desarrollo de software

"

Comprender los conceptos de objeto, relacin, componente y capa como parte de cualquier arquitectura de software

javiergs@acm.org

La casa del perro

Recursos: una sola persona

Conocimientos: modelado mnimo proceso simple herramientas simples

javiergs@acm.org

La casa de la familia
Recursos: Un equipo

Considerar: eficiencia tiempo razonable

Requiere: Modelado Proceso bien definido Herramientas sofisticadas

javiergs@acm.org

Aclarando Ideas

reglas elementos

lenguaje [ UML ]

modelo(s)

reglas objeto (s) elementos elementos

Arquitectura

reglas

producto real

javiergs@acm.org

Desarrollo de Software

Necesidad

Notacin

Proceso Producto

Herramientas

javiergs@acm.org

Proceso = abstraccin, modelo, objeto El modelado captura las partes esenciales del sistema

Orden Item

Objetos Metodologas de A&D

envo

Proceso de Negocios

Sistema de cmputo
javiergs@acm.org

Notacin: arquitectura
La mente humana puede trabajar con 7 ms/menos 2 cosas a la vez Divide y vencers

Interfase de Usuario (Visual Basic, Java, ..)

Mltiples Sistemas
Lgica del Negocio (C++, Java, ..)

Servidor de BDs (C++ & SQL, ..)

capas

componentes

Modelar el sistema independientemente del lenguaje de implementacin Reuso de alto nivel


javiergs@acm.org

Resumen
" " " "

Objeto Clase Capa Componente Arquitectura Modelo Metodologa Anlisis Diseo Implementacin Test Deploy

"

A&D Orientado a Objetos A&D Estructurado A&D Distribuido

"

" " "

"

" " " " "

javiergs@acm.org

1.2. Introduccin:
Principios de Orientacin a Objetos

Objetivo
"

Explicar los conceptos bsicos detrs de la orientacin a objetos


clase, objeto, interfase atributo, estado, operacin, mensaje, comunicacin relacin, asociacin, herencia

"

Identificar los elementos que conforman a las clases y objetos

"

Describir las relaciones entre objetos y entre clases

javiergs@acm.org

Contexto
Problema:
Actualmente, Software Grande y Complejo. Demanda de interfaces ms completas, funcionalidades ms elaboradas Impacto en complejidad del producto.

Requisitos:
Los programas deben poder ser mantenidos y ampliados con garantas de xito.

Solucin:
Estructuracin, modelado.
javiergs@acm.org

Objeto
# cosa del mundo real : una entidad fsica o abstracta
# representaciones abstractas de entidades del mundo, tangibles o no, con la intencin de emularlas. # Elemento que interviene en el proceso del negocio # Estructura de datos con sus operaciones asociadas # Unidad atmica que encapsula estado y comportamiento # La encapsulacin en un objeto permite una alta cohesin y un bajo acoplamiento # Posee un OID identificador nico y global dentro del sistema que es determinado en el momento de su creacin.

javiergs@acm.org

Estado y Comportamiento individual


"

Estado: situacin en que se encuentra un objeto, tal que cumple alguna condicin/es particulares, realiza una actividad o espera que suceda un acontecimiento. Los objetos mantienen su estado en uno o ms atributos. El estado evoluciona con el tiempo Algunos atributos pueden ser constantes El comportamiento agrupa las competencias de un objeto y describe las acciones y reacciones de ese objeto. Exhibido a travs de mtodos Las operaciones de un objeto son consecuencia de un estmulo externo representado como mensaje enviado desde otro objeto

"

"

"

"

"

javiergs@acm.org

Comunicacin
# Un sistema informtico puede verse como un conjunto de objetos autnomos y concurrentes que trabajan de manera coordinada en la consecucin de un fin especfico

El comportamiento global se basa pues en la comunicacin entre los objetos que la componen El envo de mensajes es la forma en que se invoca los comportamientos de un objeto (cada mtodo define un comportamiento).

La invocacin de mtodos permite a un objeto cambiar su estado o el de otro objeto.

javiergs@acm.org

Comportamiento global
Categoras de objetos:

Objeto Activo: posee un hilo de ejecucin (thread) propio y puede iniciar una actividad Objeto Pasivo: no puede iniciar una actividad pero puede enviar estmulos una vez que se le solicita un servicio Cliente: es el objeto que solicita un servicio. Servidor: es el objeto que provee el servicio solicitado

# # #

Agente:

javiergs@acm.org

Mensaje
# # La unidad de comunicacin entre objetos se llama mensaje El mensaje es el soporte de una comunicacin que vincula dinmicamente los objetos que fueron separados previamente en el proceso de descomposicin Adquiere toda su fuerza cuando se asocia al polimorfismo y al enlace dinmico

javiergs@acm.org

Persistencia
# La persistencia de los objetos designa la capacidad de un objeto trascender en el espacio/tiempo Se dice que un objeto es reconstruido o reanimado si es trasladado de memoria secundaria a memoria primaria, para utilizarlo (materializacin del objeto)

javiergs@acm.org

Relaciones entre objetos


# Usar: invocar un objeto a un mtodo de otro objeto ( asociacin )
# Tener: un objeto puede estar dentro de otro objeto ( composicin ) # Cardinalidad en las relaciones de objetos

javiergs@acm.org

Clase
# Son patrones que definen qu atributos y qu mtodos son comunes a un conjunto de objetos, que pertenecen a dicha clase.

# Es ms fcil de entenderlo si se toma tipo como equivalente. # Todos los objetos del mismo tipo comparten el mismo juego de atributos y mtodos y, por tanto, pertenecen a la misma clase.

javiergs@acm.org

Atributos y mtodos de Clase

# Hay atributos que no varan de una instancia a otra. Todas las instancias de la

clase tienen el mismo valor. Estos atributos que no varan de instancia a instancia se conocen como variables de clase.

# De manera anloga hay mtodos de instancia y mtodos de clase.

javiergs@acm.org

Relacin entre clases


Las clases permiten su definicin a partir de otras clases. Esto permite definir una jerarqua de especializacin o bien generalizar a entidades existentes

Una Clase definida a partir de otra, hereda todos los atributos y mtodos de su clase ancestro.

Las clases herederas pueden sobrescribir los atributos y los mtodos heredados y pueden aadir nuevos. Las clases herederas pueden adems sobrecargar los mtodos heredados

javiergs@acm.org

Herencia

La clase tomada como patrn se conoce como superclase o clase padre, mientras que la heredera se llama clase hija o subclase

La jerarqua de herencia puede ser todo lo profunda que sea necesario. Una clase puede tener varias clases como patrn.

javiergs@acm.org

Interfaces
Mecanismo que emplean dos objetos para interactuar. Definen un conjunto de mtodos para establecer el protocolo en base al que interactan dos objetos.

Las interfaces capturan similitudes entre clases no relacionadas. Son a su vez clases, en particular clases totalmente abstractas

clases abstractas ? entonces existirn mtodos y/o atributos abstractos ?


javiergs@acm.org

Polimorfismo
"

Es la capacidad de diferentes objetos para responder al mismo mensaje, cada uno a su manera.

Mensaje: hablar Objetos: gato, perro, nio

"

Cada uno reacciona de acuerdo a su implementacin

"

Beneficios: simplicidad y flexibilidad.

javiergs@acm.org

Resumen
" " " " " " " " " " " " " "

Objeto Estado Comportamiento Encapsular Cohesin Acoplamiento IOD Clase Atributo Mtodo Mensaje Herencia Polimorfismo Interfase

" " " "

Composicin Agregacin Generalizacin Especializacin Sobreescribir Sobrecargar Atributo de clase Mtodo de clase

" "

" "

javiergs@acm.org

javiergs@acm.org

2.1. Modelado:
UML

Unified Modeling Language

# Un lenguaje de propsito general para el modelado orientado a objetos # Grafico y textual # No es una metodologa, i.e. no define un ciclo de vida # Documento OMG Unified Modeling Language Specification
http://www.uml.org/

# UML combina notaciones provenientes desde:


$ $ $ $

Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (workflow)
javiergs@acm.org

Unificado

javiergs@acm.org

160 diapositivas no incluidas

Bibliografa
UML Resource Page [ www.omg.org/uml/ ]

El Lenguaje Unificado de ModeladoAddison Wesley, Grady Booch, James Rumbaugh, Ivar Jacobson, (1996)

javiergs@acm.org

S-ar putea să vă placă și