Análisis y Diseño Orientado a Objetos utilizando UML

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

MODELOS ORIENTADOS A OBJETOS
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
Metodologías ágiles.
Lenguaje Unificado de Modelado
Curso de Java Capitulo 7: Continuación Poo Profesor:
PROCESO Y MODELOS EN LA INGENIERIA DE SOFTWARE
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Diseño orientado al flujo de datos
Introducción a la Orientación a Objetos
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
Fundamentos de Ingeniería de Software
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
Tipo de Dato Abstracto Tipos de datos:
Preguntas tipo test (Tema I)
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Ingeniería del Software
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Aspectos Avanzados de la Tecnología de Objetos
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Tomado de:
Ingeniería de Software Orientada a Objetos
Fundamentos de Programación
Introducción a la programación Orientada a objetos
Análisis y Diseño Orientado a Objetos utilizando UML CAPITULO V DISEÑO DE SISTEMAS ORIENTADOS A OBJETOS.
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Rational Unified Process (RUP)
Desarrollos de Software Orientados a Objetos usando UML
Gestión de Proyectos Informáticos Sesión N° 5 Ciclo de Vida de un Proyecto Roberto Jijena I.
1 Diseño Orientado a Objetos Agustín J. González ELO-329: Diseño y Programación Orientados a Objetos 1er. Sem
Universidad Domingo Savio
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Rational Unified Process (RUP)
Ingeniería de Software: Parte 2 Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Métricas Técnicas para Sistemas Orientados a Objeto
Ingeniería de Software
1 Diseño Orientado al Objeto Agustín J. González ELO-326: Seminario de Computadores II 2do. Sem
Ingeniería de Software
Importancia en la efectividad del:
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
DEFINICIÓN DE OBJETO Un objeto es aquello que puede ser observado, estudiado y aprendido CARACTERÍSTICAS nos permiten conocerlos mediante la observación,
Ingeniería de Software I
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
Alexander Aristizabal Ángelo flores herrera
Introducción a UML Departamento de Informática Universidad de Rancagua
Ingeniería de Requisitos
METODOLOGÍAS ÁGILES “PROCESO UNIFICADO ÁGIL (AUP)
Actividades en el Proceso de desarrollo de Software
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
Estructurar tus ideas para hacerlas realidad
Tipo de relación entre clases Es uno de los aspectos que distinguen el paradigma de orientación a objetos frente a otros paradigmas. Mecanismo que,
Análisis y Diseño de Aplicaciones 3º Educación Media Tecnológica
Proceso de desarrollo de Software
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Software de Comunicaciones
Modelo de procesos de software
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Fundamentos de Ingeniería de Software
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
Entregables del Proyecto
Ingeniería de Software: Metodologías Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
Transcripción de la presentación:

Análisis y Diseño Orientado a Objetos utilizando UML CAPITULO II CONCEPTOS DE OBJETOS Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos ¿ Qué es un objeto ? Objeto = unidad atómica que encapsula estado y comportamiento. La encapsulación en un objeto permite una alta cohesión y un bajo acoplamiento Un objeto puede caracterizar una entidad física (coche) o abstracta (ecuación matemática). Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos ¿ Qué es un objeto ? El Modelado de Objetos permite representar el ciclo de vida de los objetos a través de sus interacciones. En UML, un objeto se representa por un rectángulo con un nombre subrayado. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos ¿ Qué es un objeto ? Conceptualmente, un objeto es una cosa con la que se puede interactuar: se le puede enviar mensajes y éste reacciona ante ellos. Su comportamiento depende del estado interno del objeto, el cual puede cambiar, por ejemplo como parte de la reacción del objeto al recibir un mensaje Un objeto tiene una identidad que lo distingue del resto de los objetos Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos Objeto = Identidad + Estado + Comportamiento. El estado está representado por los valores de los atributos. Un atributo toma un valor en un dominio concreto. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos: Identidad Oid (Object Identifier) Cada objeto posee un oid. El oid establece la identidad del objeto y tiene las siguientes características: Constituye un identificador único y global para cada objeto dentro del sistema Es determinado en el momento de la creación del objeto Es independiente de la localización física del objeto, es decir, provee completa independencia de localización Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos: Identidad Es independiente de las propiedades del objeto, lo cual implica independencia de valor y de estructura No cambia durante toda la vida del objeto. Además, un oid no se reutiliza aunque el objeto deje de existir No se tiene ningún control sobre los oids y su manipulación resulta transparente Sin embargo, es preciso contar con algún medio para hacer referencia a un objeto utilizando referencias del dominio (valores de atributos) Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos: Estado 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 Las operaciones de un objeto son consecuencia de un estímulo externo representado como mensaje enviado desde otro objeto Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos: Comportamiento Ejemplo de interacción Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos … Objetos: Comportamiento Los mensajes navegan por los enlaces, a priori en ambas direcciones Estado y comportamiento están relacionados Ejemplo: no es posible aterrizar un avión si no está volando. Está volando como consecuencia de haber despegado del suelo Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos El concepto de Mensaje La unidad de comunicación entre objetos se llama mensaje El mensaje es el soporte de una comunicación que vincula dinámicamente los objetos que fueron separados previamente en el proceso de descomposición Adquiere toda su fuerza cuando se asocia al polimorfismo y al enlace dinámico Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos El concepto de Mensaje Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Mensaje y estimulo Un estímulo causará la invocación de una operación, la creación o destrucción de un objeto o la aparición de una señal Un mensaje es la especificación de un estímulo Tipos de flujo de control: Llamada a procedimiento o flujo de control anidado Flujo de control plano Retorno de una llamada a procedimiento Otras variaciones Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Interfaces La interface pública de un objeto define qué mensajes se aceptan sin importar de donde vienen Es un contrato, que especifica que es lo que se puede hacer con ese objeto La interface pública de un objeto esta compuesta por: Propiedades (o atributos públicos) Métodos Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Clases Una clase representa un molde para varios objetos y describe como esos objetos se estructuran internamente. Objetos de la misma clase tienen la misma definición para sus operaciones y estructuras de información. Una clase describe un conjunto de objetos que tienen un rol o roles equivalentes en el sistema. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Clase e instancia Una instancia es un objeto creado de una clase. La clase describe la estructura de la instancia (comportamiento e información) mientras que el estado de la instancia es definido por las operaciones realizadas sobre ella. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Clase e instancia Clase Instancias Juan Persona Pedro Ramón Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Herencia Si una clase B hereda de una clase A, todas las operaciones y funciones de la clase A se convierten en parte de B. Tipos de Herencia Simple: se puede heredar de sólo un objeto. Múltiple: se puede heredar de varios objetos. De interface: sólo se puede heredar a través de la implementación de interfaces (tipo VB6). Híbrida: se puede heredar de una clase y de múltiples interfaces (tipo .NET). Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Polimorfismo El término polimorfismo se refiere a que una característica de una clase puede tomar varias formas El polimorfismo representa en nuestro caso la posibilidad de desencadenar operaciones distintas en respuesta a un mismo mensaje Cada subclase hereda las operaciones pero tiene la posibilidad de modificar localmente el comportamiento de estas operaciones El emisor de un estímulo no precisa saber la clase de la instancia receptora. El receptor puede pertenecer a una clase arbitraria. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Polimorfismo Ejemplo: todo animal duerme, pero cada clase lo hace de forma distinta ? dormir ? Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Polimorfismo: Ejemplo Animal Dormir() { dormir() } León Oso Tigre dormir() dormir() dormir() Dormir() Dormir() Dormir() { { { sobre el vientre sobrela espalda en un árbol } } } Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Polimorfismo La búsqueda automática del código que en cada momento se va a ejecutar es fruto del enlace dinámico El cumplimiento del Principio de Sustitución permite obtener un comportamiento y diseño coherente Dado que los programadores pueden introducir código en las subclases redefiniendo las operaciones, es posible introducir involuntariamente incoherencias que violen el principio de sustitución. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Polimorfismo El Principio de Sustitución de Liskow (1987) afirma que: “Debe ser posible utilizar cualquier objeto instancia de una subclase en el lugar de cualquier objeto instancia de su superclase sin que la semántica del programa escrito en los términos de la superclase se vea afectado.” Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Enlace dinámico Particionamiento del espacio de objetos => Clasificación Estática Particionamiento del espacio de estados de los objetos => Clasificación Dinámica Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 2. Conceptos de Objetos Enlace dinámico: Ejemplo Análisis y Diseño Orientado a Objetos utilizando UML

EL CICLO DE VIDA Y PLAN DE TRABAJO CON BASE EN RUP CAPITULO III EL CICLO DE VIDA Y PLAN DE TRABAJO CON BASE EN RUP Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP El Ciclo de Vida El ciclo de vida iterativo se basa en la evolución de prototipos ejecutables que se muestran a los usuarios y clientes. En el ciclo de vida iterativo a cada iteración se reproduce el ciclo de vida en cascada a menor escala. Los objetivos de una iteración se establecen en función de la evaluación de las iteraciones precedentes. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP El Ciclo de Vida Las actividades se encadenan en una mini-cascada con un alcance limitado por los objetivos de la iteración. Análisis Diseño Codific. Pruebas e Integración n veces Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP El Ciclo de Vida Cada iteración comprende: Planificar la iteración (estudio de riesgos) Análisis de los Casos de Uso y escenarios Diseño de opciones arquitectónicas Codificación y pruebas. La integración del nuevo código con el existente de iteraciones anteriores se hace gradualmente durante la construcción Evaluación de la entrega ejecutable (evaluación del prototipo en función de las pruebas y de los criterios definidos) Preparación de la entrega (documentación e instalación del prototipo) Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Enfoque Cascada Enfoque Iterativo e Incremental Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Fases e Interacciones El ciclo de vida consiste en una serie de ciclos, cada uno de los cuales produce una nueva versión del producto Cada ciclo está compuesto por fases y cada una de estas fases está compuesta por un número de iteraciones Las fases son: Inicio o Estudio de factibilidad Elaboración Construcción Transición Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Fases e Interacciones Inicio o Estudio de factibilidad (inception) Define el ámbito y objetivos del proyecto Se define la funcionalidad y capacidades del producto Elaboración Tanto la funcionalidad como el dominio del problema se estudian en profundidad Se define una arquitectura básica Se planifica el proyecto considerando recursos disponibles Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Fases e Interacciones Construcción El producto se desarrolla a través de iteraciones donde cada iteración involucra tareas de análisis, diseño e implementación Las fases de estudio y análisis sólo dieron una arquitectura básica que es aquí refinada de manera incremental conforme se construye (se permiten cambios en la estructura) Gran parte del trabajo es programación y pruebas Se documenta tanto el sistema construido como el manejo del mismo Esta fase proporciona un producto construido junto con la documentación Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Fases e Interacciones Transición Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalación, configuración, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la información anterior Estas tareas se realizan también en iteraciones Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML Esfuerzo requerido respecto de las Fases I n c e p t i o E l a b o r t i n C o n s t r u c i T r a n s i t o Requisitos Una iteración en la fase de elaboración Análisis Diseño Implementación Pruebas P r e l i m n a y I t o ( s ) i t e r . # 1 i t e r . # 2 i t e r . # n i t e r . # n + 1 i t e r . # n + 2 i t e r . # m i t e r . # m + 1 Esfuerzo: 5% 20% 65% 10% Duración: 10% 30% 50% 10% Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Artefactos Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividades. Un artefacto puede ser un documento, un modelo o un elemento de modelo. Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Conjunto de Artefactos en RUP Business Modeling Set Requirements Set Analysis & Design Set Implementation Set Test Set Deployment Set Project Management Set Configuration & Change Management Set Environment Set Análisis y Diseño Orientado a Objetos utilizando UML

Análisis y Diseño Orientado a Objetos utilizando UML 3. El Ciclo de Vida y Plan de Trabajo con base en RUP Disciplinas en RUP Cada conjunto de artefactos se emplea para la disciplina asociada a él. Business Modeling Requirements Analysis & Design Implementation Test Deployment Environment Project Management Configuration & Change Management Análisis y Diseño Orientado a Objetos utilizando UML