Análisis y Diseño Orientado a Objetos 1 _________________________ DSOO - María Eugenia Valencia.

Slides:



Advertisements
Presentaciones similares
MODELOS ORIENTADOS A OBJETOS
Advertisements

Fundamentos de Diseño de Software INFT.1
Análisis y Diseño Estructurado
Curso de Java Capitulo 7: Continuación Poo Profesor:
Introduccion a UML Wilson Peláez Hernández
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Comunicación por la red Fundamentos.
Resolución de Problemas
Diseño organizacional,
INTRODUCCIÓN A JAVA.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Trascendencia de este curso Curso Introducción a la Computación 1
Arquitectura CLARO-TECNOTREE
Introducción a la Orientación a Objetos
DSOO - María Eugenia Valencia
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
Seguridad de redes empresariales
POO Santiago, Mayo 2004 TRABAJO DE INVESTIGACIÓN POO Programación Orientada a Objetos CENAFOM Carolina Bravo V. Jaime Jofré B.
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Programación Orientada a Objetos Encapsulamiento.
Modelos de Proceso del Software
Aplicación del paradigma orientado a objetos
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Ingeniería del Software
Ingeniería del Software
UNIDAD 1: “ Introducción al Lenguaje Unificado de Modelado ”
PROGRAMACION ORIENTADA
Desarrollo Orientado a Objetos con UML
AUDITORIA DE LA SEGURIDAD en Telecomunicaciones y redes de computadoras Unidad VI.
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Fundamentos de Programación
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Material Original de Microsoft para desarrolladores adaptado por Jorge Miguel PERALTA para clases de Informática Aplicada (Haga clic para adelantar/atrasar.
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
Tema 10: Interfaces Antonio J. Sierra.
Análisis y Diseño de Sistemas
 2003 Prentice Hall, Inc. All rights reserved. 1 Capítulo 6: Clases y Abstracción de Datos Índice del capítulo 6.1 Introducción 6.2 Estructuras 6.3 Clases.
(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.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Departamento de Sistemas Informáticos y Computación Universidad.
ING. PERCY OQUENDO CARREÑO PROCESO UNIFICADO DE DESARROLLO DE SOFTWARE.
Ingeniería de Software
Ingeniería de Software Orientado a Objetos
Fundamentos de Programación
Fundamentos de programación
Introducción al Proceso de Desarrollo de Software Patricio Letelier Centro de Formación de Postgrado – Depto. Sistemas Informáticos y Computación Universidad.
UML Carlos Becerra C. ¿Qué es orientación a objetos? Conceptos de OO  Objetos, características de los objetos, clases e instancias,
Facultad de Ingeniería
TEMA 9: DIAGRAMA DE CLASE EN UML
Programación Orientada a Objeto
ANÁLISIS Y DISEÑO DE SISTEMAS II
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de: material asignatura CS169,Software Engineering,
Introducción a UML Departamento de Informática Universidad de Rancagua
Introducción a la Programación Orientada a Objetos (POO)
Introducción a los Sistemas Inteligentes
Programación orientada a objetos
UML.
(Lenguaje Unificado de Modelado)
Actividades en el Proceso de desarrollo de Software
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
M.C. Pedro Bello López 1 IMPLEMENTACIÓN. M.C. Pedro Bello López2.
PROGRAMACIÓN IV INTRODUCCIÓN.
Acceso a Datos Erick López Ovando Licenciado en Informática.
La Programación Orientado a Objetos
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
Ingeniería de Software Agustín J. González ElO329: Diseño y Programación Orientados a Objeto Adaptado de:
MODELAMIENTO VISUAL Y UML
PRESENTACION DE INGENIERIA ORIENTADA A OBJETOS
Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos.
1 Introducción a la Programación Orientada a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Transcripción de la presentación:

Análisis y Diseño Orientado a Objetos 1 _________________________ DSOO - María Eugenia Valencia

Análisis y Diseño Orientado a Objetos 2 OBJETIVOS General Específicos Profundizar en los conceptos de las tecnologías orientadas a objetos Usar UML para modelar sistemas Aplicar el proceso unificado de Rational para desarrollar un proyecto _________________________ DSOO - María Eugenia Valencia

Análisis y Diseño Orientado a Objetos 3 CONTENIDO _________________________ DSOO - María Eugenia Valencia

Análisis y Diseño Orientado a Objetos 4 BIBLIOGRAFIA Craig Larman : "Applying UML and Patterns" Grady Booch, James Rumbaugh, and Ivar Jacobson: "The Unified Modelin Languaje User Guide” James Rumbaug, Ivar Jacobson, and Grady Booch: "The Unified Modeling Language Reference Manual" Ivar Jacobson, Grady Booch, and James Rumbaugh: "The Unified Software Development Process” Martin Fowler with Kendall Scott: "UML Distilled" Terry Quatrani : "Visual Modeling with Rational Rose and UML" Bertrand Meyer : "Object Oriented software Construction" Segunda Edición. Ratinal and others “UML version 1.1 and 1.3”

Análisis y Diseño Orientado a Objetos 5 INTRODUCCION El ADOO es un paso evolucionario, sigue la “huella” de las anteriores abstracciones. Porqué es tan popular el ADOO? Porque se espera que nos conduzca de manera fácil y rápida a un incremento de la productividad Porque usa técnicas de razonamiento similar usadas para resolver problemas en otros dominios

Introducción 6 Uno de sus aspectos la POO se convierte en un nuevo paradigma “Conjunto de teorías, estándares y métodos que juntos representan una forma de organizar el conocimiento” Todo es basado en clases y objetos Análisis y Diseño Orientado a Objetos

Introducción 7 Antecedentes Retraso del software con respecto al hardware en dos generaciones de procesadores al principio de los 90. Herramientas, técnicas y abstracciones de desarrollo del software convencional se convierten rápidamente en inadecuadas. La poca tecnificación de los procesos de producción de software. La orientación a objetos proporciona un nuevo paradigma para la creación de software. El análisis y diseño orientado a objetos aparece como una nueva alternativa. Análisis y Diseño Orientado a Objetos

Introducción 8 Fuerzas Conductoras de los 90 Información de tipo multimedia (imagen, voz, sonido, texto, etc.) Fabricación integrada por computador (CIM) Diseño asistido por computador (CAD) Ingeniería de software asistida por computador (CASE) Edición Computarizada (CAP) Interfaces gráficas (diseño y programación visual) Plataformas heterogéneas de software y hardware ej: la arquitectura Cliente-Servidor Análisis y Diseño Orientado a Objetos

Introducción 9 Fuerzas Conductoras de los 90 Análisis y Diseño Orientado a Objetos USUARIO APLICACION Piensen en tareas Aplicaciones, archivos y sistemas operativos

Introducción 10 Una visión al futuro Las técnicas orientadas a objetos han sido empleadas por la comunidad investigadora durante más de 20 años. Su uso tomó fuerza cuando empezaron a aparecer lenguajes muy populares que soportaban algunas de las ideas de las técnicas orientadas a objetos (Cobol, Pascal, C). Las nuevas tendencias muestran: Una fuerte tendencia hacia el uso de herramientas visuales de apoyo al diseño y programación Integración de tecnologías y aplicaciones Surgimiento de nuevos estándares Análisis y Diseño Orientado a Objetos

Introducción 11 Una visión al futuro Análisis y Diseño Orientado a Objetos Lenguajes OO Herramientas de Desarrollo OO Bases de Datos OO Entornos Operativos OO Usuario Final Bibliotecas de Clases OO

Introducción 12 La Orientación a Objetos Análisis y Diseño Orientado a Objetos Análisis y Diseño Programación USUARIO FINAL Programador de Hardware Programador de Clases Programador Usuario

Introducción 13 Pilares básicos de la orientación a objetos Análisis y Diseño Orientado a Objetos Términos técnicos relacionados Conceptos clave Mecanismos básicos PolimorfismoAbstracción EncapsulamientoPersistencia Objeto Mensaje y método Clase y modelo Herencia Blob Agente Disparador Programación visual

Introducción 14 Fundamentos de la orientación a objetos La orientación a objetos se define por medio de un conjunto de mecanismos: objetos, clases y modelos, métodos y mensajes y herencia Estos mecanismos dan origen a conceptos clave inherentes a los sistemas orientados a objetos: encapsulación, abstracción y polimorfismo Asimilar las ideas orientadas a objetos significa aprender las diferencias así como las similitudes entre este método y los métodos convencionales Análisis y Diseño Orientado a Objetos

Introducción 15 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 aplican procedimientos activos a datos pasivos. Los métodos orientados a objetos encapsulan procedimientos y datos –La orientación a objetos se aplica a la mayoría de los principales componentes del software incluyendo: lenguajes, bases de datos e interfaces. El resultado será un software que es más fácil de ampliar y mantener, y aplicaciones que son más completas, más fáciles de utilizar y más flexibles –La orientación a objetos es importante hoy en día debido a la creciente complejidad del software y la necesidad de mejores procesos de creación de software Análisis y Diseño Orientado a Objetos

Introducción 16Análisis y Diseño Orientado a Objetos Objetos

Introducción 17 Complejidad de la programación Evolución hacia una separación importante entre los conceptos manipulados por los programas y su representación interna en el computador –Modularidad –Reutilización –Abstracción de los datos Programación estructurada Programación orientada a objetos Análisis y Diseño Orientado a Objetos

Introducción 18 Programación estructurada Programa = algoritmo + estructuras de datos Los procedimientos actuan sobre los datos: separación Metodología: dividir para reinar Problema: un cambio en los datos puede producir cambios profundos en la organización de los procedimientos Solución: la encapsulación Análisis y Diseño Orientado a Objetos

Introducción 19 La encapsulación € Los datos y los procedimientos que los manipulan se agrupan en una sola entidad: el objeto € Detalles de implementación escondidos: acceso únicamente por medio de la interfaz del objeto Análisis y Diseño Orientado a Objetos METODOSCAMPOS Interfaz objeto

Introducción 20 El objeto Objeto = parte estática + parte dinámica Parte estática: conjunto de datos (campos) Parte dinámica: conjunto de procedimientos que manipulan los datos (métodos) Modificación de los datos sin acceso directo a una variable La aplicación es un conjunto de objetos, cada uno de los cuales posee las claves de su comportamiento Análisis y Diseño Orientado a Objetos

Introducción 21 Definición de un método Selector ( lista de parámetros): cuerpo de la función Diferencia entre el método y su selector: varios métodos pueden poseer el mismo selector Análisis y Diseño Orientado a Objetos

Introducción 22 La clase Descripción de una familia de objetos que poseen la misma estructura y el mismo comportamiento Componentes estáticos: los datos o campos. Caracterizan el estado del objeto durante la ejecución del programa Componente dinámico: los procedimientos o métodos. Manipulan los campos y caracterizan las acciones que pueden ser afectadas por los objetos La definición de una clase sirve para construir sus representantes físicos, las instancias Análisis y Diseño Orientado a Objetos

Introducción 23 Ejemplo de clase Clase Revista Campos referencia nombre precioSinImpuesto cantidad Métodos precioConImpuesto( ) : produce (1.186 * precioSinImpuesto) precioTransporte( ) : produce (0.05 * precioSinImpuesto) retirar( c ): cantidad := cantidad - c añadir( c ): cantidad + c Análisis y Diseño Orientado a Objetos

Introducción 24 Instanciación Instancia: objeto construido respetando los planes de construcción de una clase No hay copia de los métodos Copia parcial de los campos: la lista queda en la clase, el objeto posee los valores Los campos son llamados igualmente variables de instancia o, simplemente, variables Análisis y Diseño Orientado a Objetos

Introducción 25Análisis y Diseño Orientado a Objetos Párrafo Justificar Tipo de letra “fuente” = helvética Texto = Los hombres..Los niños..Las mujeres.. Clase Métodos Variables de clase Variables de instancia Instancias

Introducción 26 Ejemplo de instanciación Análisis y Diseño Orientado a Objetos referencia nombre precioSinImpuesto cantidad Medio_De_Transporte Retirar Añadir kimono TV portátil Instancia-de

Introducción 27 Herencia –Mecanismo para definir clases más específicas a partir de clases existentes: se complementan los conocimientos de la clase padre –La nueva clase (subclase) comparte las variables y los métodos de su clase madre (superclase): la subclase hereda las informaciones de la superclase –Tipos de herencia Herencia simple –Una clase posee una sola superclase directa, el gráfico de herencia es un arbol Herencia múltiple –Una clase posee varias superclases directas, el gráfico de herencia no es un árbol Análisis y Diseño Orientado a Objetos

Introducción 28 Mecanismos de herencia Enriquecimiento: –Se añaden variables y/o métodos Substitución: –Un método heredado recibe una nueva definición (la antigua no es adecuada al nuevo conjunto de objetos descritos por la superclase Visibilidad –Pública (public) –Privada (private) –Protegida (protected) Análisis y Diseño Orientado a Objetos

Introducción 29 Herencia Análisis y Diseño Orientado a Objetos documento gráfico texto título tabla párrafo Los niños..

Introducción 30 Los mensajes Un objeto no puede actuar directamente sobre otro Unico medio de acción sobre un objeto: utilización de uno de los métodos de la interface del objeto Envío de un mensaje: solicitud de ejecución de un método. El método es ejecutado por el objeto receptor Elementos de un mensaje : –el receptor –el selector del método –los argumentos sobre los cuales se aplica el método El método puede producir un resultado, que se puede asignar a una variable Análisis y Diseño Orientado a Objetos

Introducción 31 Mensaje Análisis y Diseño Orientado a Objetos Objeto receptor Mensaje Moverse(aladerecha,10centimetros) Selector Parámetros

Introducción 32 Ventajas iniciales del enfoque orientado a objetos –Simplicidad –Modularidad –Modificación simple –Posibilidades de extensión –Flexibilidad –Mantenimiento simple –Reutilización Análisis y Diseño Orientado a Objetos