Download - Orientacion A Objetos

Transcript
Page 1: Orientacion A Objetos

Ingeniería de SoftwareIngeniería de Software

Es la rama de la ingeniería que aplica los principios de la ciencia de la computación y las matemáticas para lograr soluciones costo-efectivas (eficaces en costo o económicas) a los problemas de desarrollo de software“.

Page 2: Orientacion A Objetos

El proceso de ingeniería de software se define como "un conjunto de etapas parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la obtención de un producto de software de calidad".

El proceso de desarrollo de software "es aquel en que las necesidades del usuario son traducidas en requerimientos de software, estos requerimientos transformados en diseño y el diseño implementado en código, el código es probado, documentado y certificado para su uso operativo". Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo alcanzar un cierto objetivo".

Ingeniería de SoftwareIngeniería de Software

Page 3: Orientacion A Objetos

Ingeniería de SoftwareIngeniería de Software

El proceso de desarrollo de software requiere conjunto de conceptos, una metodología y un lenguaje propio.

A este proceso también se le llama el ciclo de vida del software que comprende cuatro grandes fases:

1. Concepción:Concepción: Define le alcance del proyecto, 2.2. ElaboraciónElaboración: Define un plan del proyecto,

especifica las características y fundamenta la arquitectura.

3. ConstrucciónConstrucción: Crea el producto y 4. TransiciónTransición: Transfiere el producto a los

usuarios.

Page 4: Orientacion A Objetos

Ingeniería de SoftwareIngeniería de Software

Pasos del proceso

1. Análisis de requisitos2. Diseño y arquitectura 3. Programación 4. Prueba 5. Documentación6. Mantenimiento

Page 5: Orientacion A Objetos

La Programación Orientada a Objetos (OOP por sus siglas en inglés de Object Oriented Programming), es una forma de pensar, una filosofía, de la cual se incorporan técnicas y metodologías diferentes.

La Programación Orientada a Objetos desde el punto de vista computacional "es un método de implementación en el cuál los programas son organizados como grupos cooperativos de objetos, cada uno de los cuales representa una instancia de alguna clase, y estas clases, todas son miembros de una jerarquía de clases unidas vía relaciones de herencia"

Orientación Orientación a Objetosa Objetos

Page 6: Orientacion A Objetos

La Orientación a Objetos se basa en el concepto de objeto.

Objeto: Aquello que tiene estado (propiedades más valores), comportamiento (acciones y reacciones a mensajes) e identidad (propiedad que lo distingue de los demás objetos). La estructura y comportamiento de objetos similares están definidos en su clase común.

Clase: Es un conjunto de objetos que comparten una estructura y comportamiento común.

Fundamentos de lo Fundamentos de lo Orientado Orientado a Objetosa Objetos

Page 7: Orientacion A Objetos

1. Abstracción. Es una descripción simplificada o especificación de un sistema que enfatiza algunos de los detalles o propiedades del sistema, mientras suprime otros.

2. Encapsulación. En el proceso de ocultar todos los detalles de un objeto que no contribuyen a sus características esenciales.

3. Modularidad. Es la propiedad de un sistema que ha sido descompuesto en un conjunto de módulos coherentes e independientes.

4. Jerarquía o herencia. Es el orden de las abstracciones organizado por niveles.

5. Tipificación. Es la definición precisa de un objeto de tal forma que objetos de diferentes tipos no puedan ser intercambiados o, cuando mucho, puedan intercambiarse de manera muy restringida.

6. Concurrencia . Es la propiedad que distingue un objeto que está activo de uno que no lo está.

7. Persistencia. Es la propiedad de un objeto a través de la cual su existencia trasciende el

tiempo (es decir, el objeto continua existiendo después de que su creador ha dejado de existir) y/o el espacio (es decir, la localización del objeto se mueve del espacio de dirección en que fue creado).

Principios del Principios del Modelo Modelo Orientado a Orientado a ObjetosObjetos

Page 8: Orientacion A Objetos

Beneficios del EnfoqueBeneficios del EnfoqueOrientado a Orientado a Objetos

Primero, el uso del modelo OO ayuda a explotar el poder expresivo de todos los lenguajes de programación basados en objetos y los orientados a objetos, como Smalltalk, Object Pascal, C++, CLOS, Ada, [ y recientemente Java] .

Segundo, el uso del modelo OO alienta el re-uso no solo del software, sino de diseños completos.

Tercero, produce sistemas que están construidos en formas intermedias estables y por ello son más resistentes al cambio en especificaciones y tecnología.

Page 9: Orientacion A Objetos

Introducción a Introducción a UMLUML

Lenguaje Unificado de Modelado (Unified Modeling Language) es el lenguaje de modelado de sistemas de software más conocido y utilizado en la actualidad. Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema de software. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos y funciones del sistema, aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes de software reutilizables.

UML es un "lenguaje" para definir un sistema de software, para detallar los artefactos en el sistema y para documentar y construir.

Page 10: Orientacion A Objetos

Modelado Modelado VisualVisual

Un modelo es una simplificación de la realidad. El objetivo del modelado de un sistema es capturar las partes esenciales del mismo.

Para facilitar este modelo, se realiza una abstracción y se plasma en una notación gráfica (modelo visual).

El modelo visual permite manejar la complejidad de los sistemas a analizar o diseñar.

Page 11: Orientacion A Objetos

¿Qué es ¿Qué es UML?UML?

Ante todo es un lenguaje que proporciona un vocabulario y reglas para permitir una comunicación.

Este lenguaje nos indica como crear y leer modelos. Algunos de los objetivos de UML son:

VisualizarEspecificarConstruirDocumentar

Page 12: Orientacion A Objetos

Bloques de Bloques de ConstrucciónConstrucción

Un modelo UML está compuesto por tres clases de bloques de construcción:

ElementosRelacionesDiagramas

Page 13: Orientacion A Objetos

Diagramas UMLDiagramas UMLUML incluye los siguientes diagramas:

Casos de UsoClasesObjetosSecuenciaColaboraciónEstadosActividadesComponentesDespliegue