Beruflich Dokumente
Kultur Dokumente
javiergs@acm.org
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
"
"
"
Comprender los conceptos de objeto, relacin, componente y capa como parte de cualquier arquitectura de software
javiergs@acm.org
javiergs@acm.org
La casa de la familia
Recursos: Un equipo
javiergs@acm.org
Aclarando Ideas
reglas elementos
lenguaje [ UML ]
modelo(s)
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
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
Mltiples Sistemas
Lgica del Negocio (C++, Java, ..)
capas
componentes
Resumen
" " " "
Objeto Clase Capa Componente Arquitectura Modelo Metodologa Anlisis Diseo Implementacin Test Deploy
"
"
"
javiergs@acm.org
1.2. Introduccin:
Principios de Orientacin a Objetos
Objetivo
"
"
"
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: 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).
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
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
# 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.
javiergs@acm.org
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
Polimorfismo
"
Es la capacidad de diferentes objetos para responder al mismo mensaje, cada uno a su manera.
"
"
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
# 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/
Modelado Orientado a Objetos Modelado de Datos Modelado de Componentes Modelado de Flujos de Trabajo (workflow)
javiergs@acm.org
Unificado
javiergs@acm.org
Bibliografa
UML Resource Page [ www.omg.org/uml/ ]
El Lenguaje Unificado de ModeladoAddison Wesley, Grady Booch, James Rumbaugh, Ivar Jacobson, (1996)
javiergs@acm.org