Download - Unidad i parte i
L o g o
PLAN DE EVALUACIONUnidad I. Conceptos fundamentales e Introducción a la programación orientadaa objetos.
1 PARCIAL 8% 09/05/20131 PRÁCTICO 7% 8/05/2013
UNIDAD 2. Abstracción de datos, encapsulamiento y arreglos.2 PARCIAL 11% 23/05/20132 PRÁCTICO 10% 22/05/2013
UNIDAD 3. Herencia y Polimorfismo.3 PARCIAL 11% 7/06/20133 PRÁCTICO 10% 2/06/2013
UNIDAD 4. Archivo y Recursividad. E Introducción a las metodologías orientadas a Objetos.4 PARCIAL 8% 14/06/20134 PRÁCTICO 7% 16/06/2013 Hasta el 28/06/2013 DOCENCIA DIRECTA
EXAMEN FINAL 30% Del 01 al 08/07/2013REPARACION Del 09 al 12/07/2013
ACU < 2 ptos no asiste a reparación ni examen final
ACU >= 3.50 ptos va a examen final
ACU entre 2.00 y 3.49 ptos asiste a reparación
L o g o
UNIDAD I
CONCEPTOS FUNDAMENTALES E INTRODUCCION A LA PROGRAMACION OO
PARTE I
L o g o
CONCEPTOS
Objeto: aquel que encapsula datos (atributos) y los métodos (operaciones, métodos o servicios) que manipulan esos datos.Clase: Es un modelo abstracto de un tipo
de objeto. Define sus métodos y atributos.Mensajes: son aquellos que estimulan la
ocurrencia de cierto comportamiento en el objeto receptor.
L o g o
CONCEPTOS
Operaciones: definen el comportamiento de un objeto y cambian, de alguna manera, los atributos de dicho objeto.Modularidad. Es la propiedad de un
sistema que ha sido descompuesto en un conjunto de módulos coherentes e independientes.Jerarquía o herencia. Es el orden de las
abstracciones organizado por niveles.
L o g o
CONCEPTOS
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.Concurrencia. Es la propiedad que
distingue un objeto que está activo de uno que no lo está.
L o g o
CONCEPTOS
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).
L o g o
CONCEPTO ALGORITMO
Algoritmos: llamados operaciones, métodos o servicios y pueden ser vistos como módulos en un sentido convencional.
Conjunto de instrucciones ordenadas, queresuelven un problema especifico.
L o g o
ALGORITMOS
No son Únicos, por lo que pueden tener diferente Eficiencia.Se los escribe en Seudo código.Es una representación identada , en un
idioma base. No puede ser ejecutado por una
computadora.
L o g o
ALGORITMOS
Un buen algoritmo debe tener laspropiedades de:
• Exactitud y Corrección.• Especificar claramente sus entradas y
c/instrucción sin ambigüedad.• Etapas bien definidas y finitas• Descripción de resultado o efecto.• Fácil de entender, codificar y depurar.• Eficiente uso del computador.
L o g o
PROGRAMACION OO
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" [Greiff1994].
L o g o
Ventajas de una Arquitectura OO
LA CLASE. Facilita la reutilización de componentes. Las interfaces entre objetos encapsulados
están simplificados. Estabilidad.Calidad.Integridad.
L o g oFormas de cómo se pueden identificar los objetos.
Entidades externas: que producen oconsumen información a usar por un sistemacomputacional.
Cosas: que son parte del dominio del problema.
L o g oFormas de cómo se pueden identificar los objetos. Ocurrencias o sucesos: que ocurren dentro del
contexto de una operación del sistema.
Papeles o roles: desempeñados por personas que interactúan con el sistema.
Unidades organizacionales: establecen el contexto del problema y la función general del sistema.
Estructuras: que definen una clase de objetos.
L o g o
Breve reseña de UML
Grady Booch James Rumbaugh Ivar Jacobson
Es un lenguaje de modelado de sistemas de software que integra y unifica diferentes notaciones y lenguajes formalesEs una notación visual orientada a la elaboración de modelos de procesos y/o productosEs un lenguaje de modelado visual que se usa para especificar, visualizar, construir y documentar artefactos de un sistema de software.
L o g o
OBJETIVOS DEL UML
Establecer un lenguaje visual de modelado,expresivo y sencillo.
Crear un lenguaje de modelado utilizable tanto pormáquinas como por hombres.
Imponer un estándar mundial.
Integrar las mejores prácticas
Establecer las relaciones entre modelosconceptuales y ejecutables
L o g o
DIAGRAMAS UML
Diagramas para modelado estructuralDiagramas de clases.Diagramas de objetos.Diagrama de componentes.Diagramas de estructura compuesta.Diagrama de despliegue.Diagrama de paquetes.
Diagramas para modelado del comportamiento
Diagramas de caso de uso.Diagramas de interacción (secuencia, comunicación, temporización, vistas de interacción).Diagramas de máquina de estado.Diagrama de actividad.
L o g o
Modelado de Objetos de Negocio
Todos aquellos elementos organizacionales que son creados,usados, consumidos y/o transformados por las actividadesasociados a los procesos de negocios, son denominadosObjetos del Negocio.
Estas entidades pueden ser físicas o abstractas. Un objetofísico representa un objeto del mundo real que ocupa unespacio (espacial) y se localiza en un tiempo (temporal); porejemplo, un empleado, un dispositivo, un libro de registro decuentas, etc.
L o g oFormas de cómo se pueden identificar los objetos.
Imaginemos la siguiente situación:
Un domingo por la tarde estoy en casa viendo latelevisión, y de repente mi madre siente un fuerte dolorde cabeza; como es natural, lo primero que hago estratar de encontrar una caja de aspirinas.
Fuente: ing. Luis Izquierdo
L o g oFormas de cómo se pueden identificar los objetos.
Descripción del problema en clave de objetos:
El objeto hijo ha recibido un mensaje procedente del objetomadre
El objeto hijo responde al mensaje o evento ocurrido mediante unaacción : buscar aspirinas.
La madre no tiene que decirle al hijo dónde debe buscar, esresponsabilidad del hijo resolver el problema como considere másoportuno.
Al objeto madre le basta con haber emitido un mensaje.
L o g oFormas de cómo se pueden identificar los objetos.
El hijo no encuentra aspirinas y decide acudir a la farmacia.
La farmacéutica desaparece para regresar al poco tiempo con una caja de aspirinas en la mano.
El hijo paga, se despide y vuelve a su casa.
Allí le da una aspirina a su madre, la cual al cabo de un rato comienza a experimentar una notable mejoría hasta la completa desaparición del dolor de cabeza.
L o g oFormas de cómo se pueden identificar los objetos.
Los objetos se diferencian por:
Características o propiedades Un conjunto de acciones que realizaban en respuesta a unos eventos. Los objetos tienen propiedades distintas, como: color del
cabello, el grado de simpatía o el peso. Todos tienen un conjunto de atributos en común por ser
ejemplos de una entidad superior llamada “ser humano”. A este patrón de objetos (“ser humano”) lo llamaremos
Clase.
L o g o
Modelo de Objetos
MN1: Un estudiante asiste a cursos. Los cursos están impartidos por unúnico educador. El estudiante puede asistir a más de un curso. Eleducador puede impartir diferentes cursos. Como registro del curso seguarda la fecha de comienzo, la fecha de finalización y la nota delalumno.
class Objetos del dominio
Estudiante
RegistroCurso
- FECHACOMIENZO- FECHAFINAL- NOTA
Curso Educador
1
SeGuarda
1
1
Asiste
1..*
1..*
SonImpartidos
1
1
PuedeImpartir
1..*
L o g o
Ejercicio
1. Un técnico repara uno o más equipos, escribe muchosinformes técnicos, y atiende a muchos clientes. Los clientespagan una factura, que contiene datos de equipo, los cualesaparecen detallados en el informe técnico que es entregadoal cliente. Al cliente se le puede entregar un informetécnico.
L o g oIntroducción de Java
JAVASus padres James Gosling (emacs) y Bill Joy (Sun) .Oak
La meta diseñar una plataforma operativa sencilla, fiable, portable distribuida y de tiempo real.
Java virtual machine (JVM) oficialmente se introdujo en el año 1995.
Se crearon otras versiones como la 1.2 y la mas reciente en java 2 en 1998.
L o g oIntroducción de Java
JAVAUn sistema de tiempo de ejecución, un juego de
herramientas de desarrollo y una interfaz deprogramación de aplicaciones (API).
Lenguaje de prog.
java
Compilado y otras herramientas java
Bytecode compilado Sistema de tiempo de ejecución java JVM
API de java
Sistema operativoHardware del ordenador
L o g oEntorno de desarrollo Java
COMANDO DESCRIPCIONJava Inicia el entorno de ejecución recibiendo como
argumento el nombre del binario ejecutable enformato ByteCodes sin la extensión de archivo .classque identifica de manera visual un binario java.
Javac Inicia el compilador java recibiendo como argumentotodos los archivos de código fuente cuya terminaciónes .java incluida dicha extensión.
jar Por medio de este comando iniciamos el empaquetadorde clases y archivos de Java que nos permitenfabricar un único archivo contenedor de nuestrasaplicaciones, multimedia y gráficos.
L o g oComponentes del JDK
JRE (Java runtime enviroment)Es el entorno de ejecución para aplicaciones Java. Se define como el
intérprete en tiempo de ejecución. Para ejecutar un archivo de clase Java *.class, la sintaxis es la siguiente:
Código:java [opciones] clase_a_ejecutar [argumentos].
Compilador.Permite compilar archivos de código fuente Java *.java en archivos de clases
Java ejecutables *.class. Se crea un archivo de clase para cada archivo de código fuente que contiene la aplicación.
Visualizador de appletsEs una herramienta que permite visualizar los applets tal y como se mostrarían
el navegador. Al ser llamado, muestra una ventana con el contenido del applet. Para visualizar un applet, la sintaxis es la siguiente:
Código: appletviewer [opciones] applet
L o g oComponentes del JDK
DepuradorEs una utilidad de comandos que permite depurar aplicaciones Java. Permite
encontrar los errores en el código fuente de la aplicación Java. Paradepurar un código fuente Java, la sintaxis es la siguiente:
Código:jdb [opciones]
Desensamblador de archivos de clasePermite desensamblar un archivo de clase, mostrando los atributos y métodos
de la clase desensamblada. Es útil cuando no se tiene el código fuente deuna clase de la que se quiere saber cómo fue codificada. Paradesensamblar un archivo de clase, la sintaxis es la siguiente:
Código:javap [opciones][nombres_de_clases_a_desensamblar]
L o g oObjetivos de diseño de java
Sencillo, orientado a objetos y familiar: Sencillo, para que no requieragrandes esfuerzos de entrenamiento para los desarrolladores.
Robusto y seguro: Robusto, simplificando la gestión de memoria yeliminando las complejidades. Seguro para que pueda operar en unentorno de red.
Independiente de la arquitectura y portable: Java está diseñado parasoportar aplicaciones que serán instaladas en un entorno de redheterogéneo, con hardware y sistemas operativos diversos.
Alto rendimiento: A pesar de ser interpretado, Java tiene en cuenta elrendimiento, y particularmente en las últimas versiones dispone de diversasherramientas para su optimización.
Interpretado, multi-hilo y dinámico: El intérprete Java puede ejecutarbytecodes en cualquier máquina que disponga de una Máquina Virtual Java(JVM).
L o g oCaracteristicas De Java
Lenguaje de propósito general.Lenguaje Orientado a Objetos.Sintaxis inspirada en la de C/C++.Lenguaje multiplataformaLenguaje interpretadoSeguroLenguaje gratuito
L o g oNomenclatura de la programación en
java En java los nombres son sensibles a mayúscula y minúscula. Es habitual el
uso de nombres en minúsculas, con las excepciones que se indican acontinuación.
Cuando un nombre consta de varias palabras se debe colocar cuandoempiece cada una su primera letra en mayúscula y las que siguen igual.Por ejemplo: CirculoGrafico.
Los nombres de clases e interfaces comienzan siempre con mayúscula, porejemplo: Circulo.
Los nombres de objetos, métodos y variables miembro, y los nombres delas variables locales de los métodos comienzan siempre en minúscula porejemplo: main(), dibujar().
Los nombres de las constantes o variables finales se definen siempre enmayúscula, por ejemplo: PI.
L o g oPalabras clave - Permisos y
Declaraciones
Public
Para una clase, que es accesible desde cualquier parte, para un método, que es accesible por cualquier método que pueda acceder a la clase de objetos. Para que una clase que deriva de otra tiene que ser pública la clase de objetos padre para poder ser accecible.
Private
Sólo se permite a la misma clase de objetos acceder a sus propiedades o métodos.
Protected
Sólo se permite al paquete acceder a esta clase.
L o g oPalabras clave - Permisos y
Declaraciones
Package
Define a que paquete pertenece una clase.
import
Define que paquetes usaremos, para no escribir el nombre completo de la clase a la que hacemos referencia.
class
Inicia la declaración de una Clase (tipo de datos).
new
Instancia un objeto, crea un objeto partiendo de una clase en particular.
L o g o
L o g o
C l i c k t o e d i t c o m p a n y s l o g a n .