presentacion de la primera unidad 2

35
PRESENTACIÓN DE LA PRESENTACIÓN DE LA PRIMERA UNIDAD PRIMERA UNIDAD FUNDAMENTOS DE FUNDAMENTOS DE PROGRAMACIÓN PROGRAMACIÓN ALONSO SALCIDO JIMENEZ ALONSO SALCIDO JIMENEZ

Upload: warmab

Post on 19-Jun-2015

1.145 views

Category:

Travel


0 download

DESCRIPTION

presentacion de la primera unidad de fundamentos de programacion, espero sirva de algo.

TRANSCRIPT

Page 1: Presentacion De La Primera Unidad 2

PRESENTACIÓN DE LA PRESENTACIÓN DE LA PRIMERA UNIDADPRIMERA UNIDAD

FUNDAMENTOS DE FUNDAMENTOS DE PROGRAMACIÓNPROGRAMACIÓN

ALONSO SALCIDO ALONSO SALCIDO JIMENEZJIMENEZ

Page 2: Presentacion De La Primera Unidad 2

1.1 Reconocimiento de 1.1 Reconocimiento de clases y objetos y sus clases y objetos y sus

relaciones en el mundo relaciones en el mundo real.real.•En Java, un objeto se define como una

estructura que encapsula atributos (características) y comportamientos (procedimientos) de una entidad con un papel bien definido en una aplicación.

•Si tomamos en cuenta esta perspectiva en nuestro entorno nos encontraremos que cada instrumento o cualquier parte de un sistema es denominado objeto ya que tiene cierto comportamiento para el mismo sistema.

Page 3: Presentacion De La Primera Unidad 2

COMPONENTES DE UN COMPONENTES DE UN OBJETOOBJETO

Cada objeto contiene los siguientes componentes:

- Estado: Conjunto de valores de los atributos en un instante de tiempo dado. El comportamiento de un objeto puede modificar el estado de este. - Comportamiento: Relacionado con su funcionalidad y determina las operaciones que este puede realizar o a las que puede responder ante mensajes enviados por otros objetos. - Identidad: Es la propiedad que permite a un objeto diferenciarse de otros. Generalmente esta propiedad es tal, que da nombre al objeto. Los objetos, concretos y abstractos, están a nuestro alrededor, forman nuestro entorno. Podemos distinguir cada objeto en base a sus características y comportamientos.

Page 4: Presentacion De La Primera Unidad 2

Ejemplos de ObjetosEjemplos de Objetos

En los siguientes sistemas hay que identificar los objetos que interactúan en ellos.

PIZARRON SILLAS MAESTROS

ALUMNOS AULAS

ESCRITORIOS

ESCUELA

CPU

MONITOR

COMPU MODEM PAGINAS

SESION DE INTERNET

Page 5: Presentacion De La Primera Unidad 2

INTERACCION ENTRE INTERACCION ENTRE OBJETOSOBJETOSLos objetos no sólo tienen atributos relacionados

con su forma física sino que, además, exhiben comportamientos específicos de su clase. • Alumno: Estudia, aprende. • Profesor: Enseña, evalúa. • Mesa: Ordenada, desordenada. • Silla: Ocupada, desocupada. • Mesa banco: Ocupado, desocupado. • Pizarrón: Pintado, borrado Observamos que en el aula hay varios objetos alumno, por lo que pensamos en el grupo de alumnos, al que denominaremos como la clase alumno. De igual manera, cada materia es impartida por un profesor; el conjunto de profesores forman la clase Profesor. Pudiéramos extender nuestro análisis al pizarrón, la mesa, la silla,, al conjunto de mesa bancos, etc.

Page 6: Presentacion De La Primera Unidad 2

1.2 Abstracción.1.2 Abstracción.Abstracción: Es un método por el cual abstraemos valga la redundancia, una determinada entidad de la realidad de sus características y funciones que desempeñan, estos son representados en clases por medio de atributos y métodos de dicha clase. Mejor dicho denota las características esenciales de un objeto, donde se capturan sus comportamientos. Dentro de las características esenciales se encuentran:

Atributos (o datos).Comportamiento (métodos)

Page 7: Presentacion De La Primera Unidad 2

EJEMPLO DE EJEMPLO DE ABSTRACCIÓNABSTRACCIÓN

La abstracción de un automóvil. - Características: Color, año de fabricación, modelo, etc. - Métodos o Funciones: Frenar, encender, etc. A esto se le llama abstracción. En general un programa no es más que una descripción abstracta de un procedimiento o fenómeno que existe o sucede en el mundo real.

Page 8: Presentacion De La Primera Unidad 2

CARACTERISTICAS DE LA CARACTERISTICAS DE LA ABSTRACCIÓNABSTRACCIÓN

A esto se le llama abstracción. En general un programa no es más que una descripción abstracta de un procedimiento o fenómeno que existe o sucede en el mundo real. - La abstracción es crucial para comprender este complejo mundo. - La abstracción es esencial para el funcionamiento de una mente humana normal y es una herramienta muy potente para tratar la complejidad. - La abstracción es clave para diseñar un buen software.

Page 9: Presentacion De La Primera Unidad 2

1.2. 1.2. EncapsulamientoEncapsulamiento

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstracción. En la OO el encapsulamiento de una entidad se logra mediante la definición de una clase, que reúne los datos y comportamiento en una unidad.

Page 10: Presentacion De La Primera Unidad 2

EJEMPLOS DE EJEMPLOS DE ENCAPSULAMIENTOENCAPSULAMIENTO

El encapsulamiento nos permite considerar a los objetos como cajas negras: como objetos que podemos utilizar sin enfocarnos en la forma en que trabajan. Caja negra.- Un objeto en el que su comportamiento y atributos son conocidos pero no así su trabajo interno, el cual continúa siendo un misterio. Un mecánico debe saber como trabaja el motor y la transmisión de su carro, pero usted como conductor, puede usarlo sin preocuparse por estos detalles, El carro encapsula todos los detalles de las partes que lo constituyen, por lo que usted tan solo necesita conocer su interfaz: el acelerador, el freno y el volante. Si abre la caja negra de su carro y se fija en lo que hay bajo el cofre, no encontrara una masa amorfa de características, sino subobjetos simples que interactúan entre si: motor, transición, poleas, etc. Si abre alguno de estos objetos encontrará más objetos, por ejemplo, el motor esta construido por bujías, tubos, bandas, convertidores catalíticos, etc. Y cada uno de ellos contiene a su vez objetos más pequeños que cumplen con una tarea específica. Cuando el motor le da propulsión al carro, no hace todo el trabajo en un solo objeto monolítico. En vez de ello, delega a los objetos que lo constituyen una responsabilidad, A su vez, estos objetos pueden delegar responsabilidades a otro. De esta manera, el motor delega la acumulación de presión a los pistones y la responsabilidad de generar la chispa a las bujías.

Page 11: Presentacion De La Primera Unidad 2
Page 12: Presentacion De La Primera Unidad 2

1.3 La POO y la 1.3 La POO y la complejidad del complejidad del

software.software.La POO comparada con otros paradigmas de programación, permite manejar de mejor manera la complejidad del software. Por lo siguiente:Agrupar elementos comunes (objetos) en clases.La clase incluye en una unidad los atributos y los métodos.Se pueden construir jerarquías de herencias de clases que hereden (reciban) lo que ya esta definido.Lo anterior aumenta la modularidad. El programa esta formado por módulos o partes bien identificadas.

Page 13: Presentacion De La Primera Unidad 2

La complejidad del La complejidad del software se desarrolla software se desarrolla mediante las personas mediante las personas que son hábiles para lo que son hábiles para lo cual necesitan recopilar cual necesitan recopilar información necesaria información necesaria es decir dominar la es decir dominar la problemática del problemática del sistema para lo cual se sistema para lo cual se ven enfocados al ven enfocados al tratamiento del tratamiento del problema y después a problema y después a gestionar un proceso gestionar un proceso mediante el cual mediante el cual desarrollaran el desarrollaran el software y así atraves software y así atraves de eso podrán llevarlo a de eso podrán llevarlo a la practica hasta que la practica hasta que atreves del usuario atreves del usuario pueda tener la pueda tener la flexibilidad de probarlo, flexibilidad de probarlo, para lo cual el software para lo cual el software y la poo tienen varias y la poo tienen varias aplicaciones en la aplicaciones en la programación formando programación formando grandes estructuras de grandes estructuras de ellasellas

Page 14: Presentacion De La Primera Unidad 2

UN POCO DE HISTORIAUN POCO DE HISTORIAEn la historia de la programación ha habido varias evoluciones sucesivas. Una de las principales fue la programación estructurada, cuyo principio fundamental era dividir un programa en subprogramas más pequeños y fáciles de resolver, hasta llegar a niveles de complejidad elementales, siempre apoyándonos en la idea de ¿qué debe hacer el programa? Este método de diseño, a pesar de haber dado resultados satisfactorios, tiene limitaciones. Algunas de ellas son: • No favorece la reutilización del código. Si en la figura anterior f1 y f2 fueran idénticas, este hecho seguramente pasaría desapercibido y no se compartiría una única función fn. • Si dos subprogramas comparten una misma función fn reutilizando así el código que define la misma, y más adelante queremos modificar fn porque hay un cambio en uno de los subprogramas que la utilizan, la modificación afectará también al otro subprograma, razón por la que ahora tendremos que realizar dos funciones.

Page 15: Presentacion De La Primera Unidad 2

MODULARIDADMODULARIDAD

La modularidad implica:El programa se puede construir, probar y depurar por módulos.Al agregar nueva funcionalidad, se pueden crear nuevos módulos o incluir la funcionalidad en módulos que ya existen.Se facilita el localizar errores, el mantenimiento y el crecimiento del software.

Page 16: Presentacion De La Primera Unidad 2

1.4 Conceptos del ciclo de 1.4 Conceptos del ciclo de vida del software.vida del software.

Las etapas básicas del ciclo de vida del software son:1. Especificación de requerimientos.2. Análisis.3. Diseño.4. Programación.5. Mantenimiento.Para aclarar esto es en el ciclo de vida clasico o de Cascada.

Page 17: Presentacion De La Primera Unidad 2
Page 18: Presentacion De La Primera Unidad 2

1.4.1 Especificaciones de 1.4.1 Especificaciones de requerimientosrequerimientos..

Comprende las tareas relacionadas con la determinación de las necesidades o de las condiciones a satisfacer para un software nuevo o modificado, tomando en cuenta los diversos requerimientos de los clientes.El propósito es hacer que los mismos alcancen un estado óptimo antes de alcanzar la fase de diseño en el proyecto. Los buenos requerimientos deben ser medibles, comprobables, sin ambigüedades o contradicciones.

Page 19: Presentacion De La Primera Unidad 2

Ejemplo de especificación Ejemplo de especificación de requerimientos.de requerimientos.

Giro de la empresa.La empresa “HogarSeguro.com” se dedica a la venta, configuración e instalación de equipo de seguridad para hogares y pequeñas empresasAquello que necesita la empresa son lo requerimientos para la misma:Por ejemplo: Alarmas, Cableado, Interruptores, etc.

Page 20: Presentacion De La Primera Unidad 2

1.4.2 Análisis Orientado 1.4.2 Análisis Orientado a Objetosa Objetos

Definición. Es un método de análisis que examina los requisitos desde la perspectiva de las clases y objetos que se encuentran en el vocabulario del dominio del problema.Se considera como un análisis de actividades y consiste en la solución de negocios para el usuario y se expresa con los casos de uso. El diseño lógico es la solución del equipo de proyecto del negocio y consiste de las siguientes tareas: Identificar los usuarios y sus roles Obtener datos de los usuarios Evaluar la información Documentar los escenarios de uso Validar con los usuarios Validar contra la arquitectura de la empresa

Page 21: Presentacion De La Primera Unidad 2

Documentos de deben Documentos de deben tenerse o desarrollarse tenerse o desarrollarse

durante el análisis.durante el análisis.Especificación de requisitos o requerimientos.Diagramas de casos de uso.Escenarios y subescenarios.Prototipos y su evaluación

Page 22: Presentacion De La Primera Unidad 2

CASO DE USO.CASO DE USO.

Es una técnica para la captura de requisitos potenciales de un nuevo sistema o una actualización de software. Cada caso de uso proporciona uno o más escenarios que indican cómo debería interactuar el sistema con el usuario o con otro sistema para conseguir un objetivo específico.

Page 23: Presentacion De La Primera Unidad 2

1.4.4 POO1.4.4 POO

La Programación Orientada a Objetos (POO) es una forma de enfocar la tarea de programación. Los enfoques de la programación han cambiado drásticamente desde la invención de las computadoras, la creciente complejidad de los programas, antes se realizaban mediante una consola las instrucciones máquinas en binario. Esto funcionaba porque los programas sólo tenían unos pocos cientos de instrucciones. Cuando crecieron los programas, se invento el lenguaje ensamblador para que el programador pudiera manejar programas más largos y complejos usando una representación simbólica de las instrucciones máquina.

Page 24: Presentacion De La Primera Unidad 2

UN POCO MAS DE UN POCO MAS DE HISTORIA.HISTORIA.

Los lenguajes de alto nivel aparecierón para proporcionar al programador más herramientas con las cuales gestionar esa complejidad. En los años sesenta nace la programación estructurada, este es el método alentando por varios lenguajes como pascal, y C. Con los lenguajes estructurados fue posible escribir programas moderadamente complejos de una forma bastante sencilla. Sin embargo, usando incluso la programación estructurada, cuando los proyectos Alcanzan cierto tamaño, su complejidad se vuelve demasiado difícil para ser controlada por un programador. La Programación Orientada a Objetos toma las mejores ideas de la programación estructurada la combina con nuevos y poderosos conceptos que animan o alientan una nueva visión de la tarea de la programación. La Programación Orientada a Objetos permite descomponer fácilmente un problema en subgrupos de partes relacionadas. Entonces, puede traducir estos subgrupos en unidades autocontenidas llamadas Objetos.

Page 25: Presentacion De La Primera Unidad 2

Elementos Primordiales En Elementos Primordiales En El Modelo De ObjetosEl Modelo De Objetos

• La programación Orientada a Objetos trata de cumplir las necesidades de los usuarios finales, estás tareas se realizan mediante la modelización del mundo real, el sopote fundamental es el modelo objeto.

• Los elementos más importantes de este modelo son:

• Abstracción • Encapsulamiento • Modularidad • Jerarquía y Herencia • Polimorfismo

Page 26: Presentacion De La Primera Unidad 2

1.5.1. Abstracción.1.5.1. Abstracción.Significa extraer las propiedades esenciales de un objeto que lo distinguen de los demás tipos de Objetos y proporciona fronteras conceptuales definidas respecto al punto de vista del observador. La abstracción es la propiedad que permite representar las características esenciales de un objeto, sin preocuparse de las restantes características (no esenciales). Abstracción es la técnica de quitarle a una idea o a un objeto todos los acompañamientos innecesarios hasta que los deja en una forma esencial y mínima. Una buena abstracción elimina todos los detalles poco importantes y le permite enfocarse y concentrarse en los detalles importantes.

Page 27: Presentacion De La Primera Unidad 2

1.5.2. Encapsulamiento.1.5.2. Encapsulamiento.

Cada objeto está aislado del exterior, es un módulo natural, y la aplicación entera se reduce a un agregado o rompecabezas de objetos. El aislamiento protege a los datos asociados a un objeto contra su modificación por quien no tenga derecho a acceder a ellos, eliminando efectos secundarios e interacciones.

Page 28: Presentacion De La Primera Unidad 2

MODULARIDADMODULARIDAD

· Modularidad, esto es, el código fuente de un objeto puede ser escrito, así como darle mantenimiento, independientemente del código fuente de otros objetos. Así mismo, un objeto puede ser transferido alrededor del sistema sin alterar su estado y conducta.

Page 29: Presentacion De La Primera Unidad 2

OCULTAMIENTOOCULTAMIENTO

Ocultamiento de la información, es decir, un objeto tiene una “interfaz pública” que otros objetos pueden utilizar para comunicarse con él. Pero el objeto puede mantener información y métodos privados que pueden ser cambiados en cualquier tiempo sin afectar a los otros objetos que dependan de ello.

Page 30: Presentacion De La Primera Unidad 2

1.5.4. Jerarquía y 1.5.4. Jerarquía y herencia.herencia.

La Jerarquía es una propiedad que permite la ordenación de las abstracciones. Las dos jerarquías más importantes de un sistema complejo son: estructura de clases (jerarquía “es-un” (is-a): generalización/especialización) y estructura de objetos (jerarquía “parte-de” (part-of): agregación). Las jerarquías de generalización/especialización se conocen como herencia. Básicamente, la herencia define una relación entre clases, en donde una clase comparte la estructura o comportamiento definido en una o más clases (herencia simple y herencia múltiple, respectivamente). La agregación es el concepto que permite el agrupamiento físico de estructuras relacionadas lógicamente. Así, un camión se compone de ruedas, motor, sistema de transmisión y chasis; en consecuencia, camión es una agregación, y ruedas, motor, transmisión y chasis son agregados de camión

Page 31: Presentacion De La Primera Unidad 2

POLIMORFISMOPOLIMORFISMO

• La quinta propiedad significativa de los lenguajes de programación orientados a objetos es el polimorfismo. Es la propiedad que indica, literalmente, la posibilidad de que una entidad tome muchas formas. En términos prácticos, el polimorfismo permite referirse a objetos de clases diferentes mediante el mismo elemento de programa y realizar la misma operación de diferentes formas, según sea el objeto que se referencia en ese momento.

Page 32: Presentacion De La Primera Unidad 2

EJEMPLOS DE POLIMORFISMO

Por ejemplo, cuando se describe la clase mamíferos se puede observar que la operación comer es una operación fundamental en la vida de los mamíferos, de modo que cada tipo de mamífero debe poder realizar la operación o función comer. Por otra parte, una cabra o una vaca que pastan en un campo, un niño que se come un caramelo y un león que devora a otro animal, son diferentes formas que utilizan diferentes mamíferos para realizar la misma función (comer). El polimorfismo adquiere su máxima expresión en la derivación o extensión de clases, es decir, cuando se obtiene una clase a partir de una clase ya existente, mediante la propiedad de derivación de clases o herencia.

Page 33: Presentacion De La Primera Unidad 2

Historia De Los Paradigmas En El Historia De Los Paradigmas En El Desarrollo Del SoftwareDesarrollo Del Software

Paradigmas: Representan un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas..Los más comunes son el desarrollo en cascada, el desarrollo en espira’‘, el desarrollo por prototipos, el desarrollo incremental, el desarrollo en V y el desarrollo orientado a objetos. También existen modelo híbridos, los cuales combinan elementos de diferentes modelos según las necesidades existentes.

Page 34: Presentacion De La Primera Unidad 2

Beneficios Del Modelo De Objetos Beneficios Del Modelo De Objetos Y De La Poo Sobre Otros Y De La Poo Sobre Otros

ParadigmasParadigmas• En resumen, la programación orientada a objetos

beneficia a los desarrolladores debido a que: • Los programas son fáciles de diseñar debido a que los

objetos reflejan elementos del mundo real. • Las aplicaciones son más sencillas para los usuarios

debido a que los datos innecesarios están ocultos. • Los objetos son unidades autocontenidas. • La productividad se incrementa debido a que puede

reutilizar el código. • Los sistemas son fáciles de mantener y se adaptan a

las cambiantes necesidades de negocios. • Es más fácil crear nuevos tipos de objetos a partir de

los ya existentes. • Simplifica los datos complejos. • Reduce la complejidad de la transacción. • Confiabilidad.

Page 35: Presentacion De La Primera Unidad 2