Programación Orientada Objetos. Problemas, soluciones y Programas



Documentos relacionados
Introducción a la programación orientada a objetos

Tutorial de UML. Introducción: Objetivos: Audiencia: Contenidos:

PROGRAMACIÓN ORIENTADA A OBJETOS

Informática I Notas del curso

1. Ejemplo de clase : La clase Cuenta 2. Uso de la clase Cuenta. 3. Métodos y objetos receptores de mensajes (Importante)

BALANCED SCORECARD. Creación de Tableros Tablero de Indicadores. Cartilla I

Introducción. Ciclo de vida de los Sistemas de Información. Diseño Conceptual

Clases y Objetos. Informática II Ingeniería Electrónica

EXAMEN FINAL Metodología y Programación Orientada a Objetos. Curso Cuatrimestre de otoño. 17 de Enero de 2011

Instalación y configuración inicial del sistema SIU-Kolla Versión 3.0.0

UML, ejemplo sencillo sobre Modelado de un Proyecto

En qué Momento se debe Instalar una Empresa? Cuál es el Proceso para Instalar la Primera Empresa?

Diagramas de Clases ~ 1 ~ Ing. Fabián Silva Alvarado

DCU Diagramas de casos de uso

Instalación del programa PSPP y obtención de una distribución de frecuencias.

Tema 6. Reutilización de código. Programación Programación - Tema 6: Reutilización de código

Java Inicial (20 horas)

Modulo 1 El lenguaje Java

NORMA (SEPA) 22/11/2013

MANUAL DE USUARIO. Sistema de Administración de Proyectos de Vinculación con la Colectividad (SAPVC) MANUAL DE USUARIO DOCENTE

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.

9. Objetos y clases Clases

Programación Orientada a Objetos con Java

INSTALACIÓN DE ORACLE 8i (8.1.7) SOBRE NT

Base de datos relacional

Programa Presupuestos de Sevillana de Informática.

Combinar comentarios y cambios de varios documentos en un documento

3.1 INGENIERIA DE SOFTWARE ORIENTADO A OBJETOS OOSE (IVAR JACOBSON)

Capítulo 6. Introducción a la POO

Construcción de Escenarios

ISTP CIDET COMPUTACION E INFORMATICA ARREGLOS EN JAVA

Introducción a la Programación Orientada a Objetos

APUNTES DE WINDOWS. Windows y sus Elementos INSTITUTO DE CAPACITACIÓN PROFESIONAL. Elementos de Windows

Instructivo Asesoría Básica Comunidad Virtual SharePoint 2010

Para poder acceder al sistema sólo deberá ingresar la siguiente liga desde el navegador de su preferencia:

EDICIÓN Y FORMATO (II)

La ventana de Microsoft Excel

CASO PRÁCTICO DISTRIBUCIÓN DE COSTES

UTILIZACIÓN DE UNA CUENTA DE CORREO ELECTRÓNICO (NUEVO) Acceso al correo electrónico

Programación Avanzada para Sistemas de Telecomunicación. Objetos y clases. J.C. Cruellas. Objetos y clases

Introducción a los sitios de SharePoint en Office 365

Región de Murcia Consejería de Educación, Ciencia e Investigación. Manual Usuario FCT

Para crear formularios se utiliza la barra de herramientas Formulario, que se activa a través del comando Ver barra de herramientas.

Ejercicio 1. Desarrollar un pequeño juego para practicar mecanografía.

MANUAL DE USUARIO APLICACIÓN SYSACTIVOS

DIAGRAMA DE CLASES EN UML

Diseño Estructurado de Algoritmos

USO DEL COMANDO. Fdisk. Autor :. Alejandro Curquejo. Recopilación :. Agustí Guiu i Ribera. Versión :.. 1.0

GUIA PROGRAMACIÓN ORIENTADA A OBJETOS

SISTEMA DE BECAS AL EXTERIOR

Calidad Escuela de Ingeniería de Sistemas y Computación Desarrol o de Software II Agosto Diciembre 2007

Trey-SAT Pag. 1. Manual de usuario

TEMA 7: DIAGRAMAS EN UML

Servicios de Formación:

Manual Usuario Manual Usuario

Lección 24: Lenguaje algebraico y sustituciones

Manual de usuario. Modulo Configurador V.1.0.1

DIRECCIÓN GENERAL DE EDUCACIÓN SUPERIOR TECNOLÓGICA INSTITUTO TECNOLÓGICO DE CD. VALLES MANUAL DE USUARIO

INVENTARIO INTRODUCCIÓN RESUMEN DE PASOS

8. Sentencia return y métodos

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

EXTRACTO Descripción del uso y manejo de SIRAIS 1.2

Uso del Programa Gantt Project

Ejercicio 1 (2 puntos. Tiempo: 25 minutos)

LEER Y ESCRIBIR ARCHIVOS O FICHEROS EN C. FOPEN, FCLOSE, MODOS DE ACCESO READ, WRITE Y APPEND (CU00536F)

EDWIN KÄMMERER ORCASITA INGENIERO ELECTRÓNICO

BANCOS. Manejo de Bancos. Como crear una ficha de Banco? Como modificar los datos de una ficha de Banco? Como borrar una ficha de Banco?

UNIVERSIDAD NACIONAL DE ASUNCION FACULTAD POLITÉCNICA CARRERA: LCIK MATERIA: Bases de Datos I Prof: Lic. Lilian Riveros Unidad 2: Modelo Relacional

SISTEMAS OPERATIVOS AVANZADOS

CheckOUT HELP DESK. Una vez en sesión, UD. Podrá registrar problemas, consultas y hacer un seguimiento de los problemas que UD. ha ingresado.

LABORATORIO Nº 2 GUÍA PARA REALIZAR FORMULAS EN EXCEL

Gestión de Oportunidades

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

Centro de Capacitación en Informática

MACROS Y FORMULARIOS

Programación orientada a objetos

Manual de OpenOffice Impress

Módulo 9 Sistema matemático y operaciones binarias

Fundamentos de la Programación

VENTAJAS Y DESVENTAJAS DE LAS TECNOLOGIAS

Actividades para mejoras. Actividades donde se evalúa constantemente todo el proceso del proyecto para evitar errores y eficientar los procesos.

OJS: Open Journal System Manual de Usuario Rol Revisor Revisión y envío de revisiones de artículos activos

1.INTRODUCCIÓN INICIAR EXECUTER POS GENERALIDADES VENTAS...

Hay programas que convierten al PC en un equipo de música

Curso de Java POO: Programación orientada a objetos

GUIA COMPLEMENTARIA PARA EL USUARIO DE AUTOAUDIT. Versión N 02 Fecha: 2011-Febrero Apartado: Archivos Anexos ARCHIVOS ANEXOS

POLÍTICA DE COOKIES. A continuación explicaremos qué son las cookies y los tipos de cookies que utiliza la Fundación Fuertes en su sitio Web:

SEGUIMIENTO EDUCATIVO. Comunicaciones

Tienda Virtual Synergy (Parte 2)

ESPOCH ESCUELA DE MEDICINA HERNANDEZ MAYRA FORMULAS Y DUNCIONES BASICAS ESPOCH

Dioses Designios Atrévete a jugar!

VAST: Manual de usuario. Autores: Francisco J. Almeida-Martínez Jaime Urquiza-Fuentes

Manual para Empresas Prácticas Curriculares

Fórmulas y funciones

Problemas fáciles y problemas difíciles. Cuando a los niños les planteamos problemas de suma y resta, Laura dejó sin resolver el siguiente problema:

Índice ÍNDICE EJERCICIO 1: CÁLCULO FINANCIERO (5 PTOS.) EJERCICIO 2: AGENCIA DE COLOCACIONES (5 PTOS.)...4

Correspondencias entre taxonomías XBRL y ontologías en OWL Unai Aguilera, Joseba Abaitua Universidad de Deusto, EmergiaTech

Guía para realizar trabajos universitarios

Transcripción:

Programación Orientada Objetos Problemas, soluciones y Programas

Objetivos pedagógicos Explicar el proceso global de solución de un problema usando un programa de computador. Esto incluye las etapas que debe seguir para resolverlo y los distintos elemenos que debe ir produciendo a medida que construye la solución. lanalizar un problema simple que se va a resolver usando un programa de computador, construyendo un modelo con los elementeos que intervienen en el problema y especificando los servicios que el programa debe ofrecer. lexplicar la estructura de un programa de computador y el papel que desempeña cada uno de los elementos que lo componen. ldesarrollar una solucion a un problema (un programa escrito en el lenguaje c++) usando expresiones simples, asignaciones, creación de objetos e invocación de sus métodos. lutilizar Anjuta como ambiente de desarrllo de programas y un espacio de trabajo predefinido, para completar una solución parcial del problema.

Problemas y Soluciones el cliente tiene un problema que requiere del uso del computador para resolverlo problema el programador ejecuta unas tareas, en etapas, para resolver el problema etapas análisis el proceso es la secuencia de etapas que debe seguir el programador cliente programador diseño proceso Implementación el programa se instala en el computador del cliente, quien lo usa Verificación en cada etapa, se realizan ciertas tareas, con objetivos específicos programa solución usuario el programa de computador hace parte de la solución el final del proceso se tiene la solución del problema IPOO 3

Proceso construcción de la solución Análisis del problema: el objetivo de esta etapa es entender y especificar el problema que se quiere resolver. Al terminar, deben estar especificados los requerimientos funcionales, debe estar establecida la información del mundo del problema y deben estar definidos los requerimientos no funcionales. Diseño de la solución: el objetivo es detallar, usando algún lenguaje (planos, dibujos, ecuaciones, diagramas, texto, etc.), las características que tendrá la solución antes de ser construida. Los diseños nos van a permitir mostrar la solución antes de comenzar el proceso de fabricación propiamente dicho. Es importante destacar que dicha especiación es parte integral de la solución. Construcción de la solución: tiene como objetivo implementar el programa a partir del diseño y probar su correcto funcionamiento. OJO!! Cada una de las etapas de desarrollo esta apoyada por herramientas y lenguajes, que van a permitir al programador expresar el producto de su trabajo. Todos los conceptos de ingeniería de software y sus herramientas se ven en detalle en cursos más adelante en la carrera.

cómo entender un problema? En general, todos los problemas se pueden dividir en estos tres aspectos. Requerimiento funcional. En el caso de la programación, un requerimiento funcional hace referencia a un servicio que el programa debe proveer al usuario. El mundo o contexto: en el que ocurre el problema. Si alguien va a escribir un programa para una empresa, no le basta con entender la funcionalidad que éste debe tener, sino que debe entender algunas cosas de la estructura y funcionamiento de la empresa. Requerimientos no funcionales: que corresponden a las restricciones o condiciones que impone el cliente al programa que se le va a construir.

cómo entender un problema?

cómo entender un problema? Ejemplo Identificar los aspectos que hacen parte del problema El problema: una empresa de aviación quiere construir un programa que le permita buscar una ruta para ir de una ciudad a otra, usando únicamente los vuelos de que dispone la empresa. Se quiere utilizar este programa desde todas las agencias del país. Cliente Usuario: La empresa de aviación Las agencias de viaje del pais Requerimiento funcional: R1:dadas dos ciudades C1y C2, el programa debe dar el itinerario para ir de C1 a C2, usando los vuelos de la empresa. Mundo del problema En el enunciado no esta explicito, pero para poder resolver el problema es necesario conocer todos los vuelos de la empresa y la lista de ciudades a la cual va. De cada vuelo es necesario conocer la ciudad de la que parte, la ciudad a la que llega, la hora de salida y la duración del vuelo. Aqui debe ir todo el conocimiento que tenga la empresa que pueda ser necesario para resolver los requerimientos funcionales. Requerimiento no funcional El unico requerimiento no funcional mencionadao en el enunciado es el de distribucion, ya que las agencias de viaje estan geograficamente dispersas y se debe tener esta caracteristica al momento de construir el programa.

Requerimientos funcionales Un requerimiento funcional es una operación que el programa que se va a construir debe proveer al usuario, y que esté directamente relacionada con el problema que se quiere resolver. Un requerimiento funcional se describe a través de cuatro elementos: Un identificador y un nombre. Un resumen de la operación. Las entradas (datos) que debe dar el usuario para que el programa pueda realizar la operación. El resultado esperado de la operación. Hay tres tipos posibles de resultado en un requerimiento funcional: (1) una modificación de un valor en el mundo del problema, (2) el cálculo de un valor, o (3) una mezcla de los dos anteriores.

Requerimientos funcionales Nombre R1:Dar el itinerario para ir de C1 a C2, usando los vuelos de la empresa. Es conveniente asociar un identificador con cada requerimiento, para poder hacer facilmente referencia a él. En este caso el identificador es R1. Es aconsejable que el nombre de los requerimientos corresponda a un verbo en infinitivo, para dar una idea clara de la acción asociada con la operación. En este ejemplo el verbo asociado con el requerimeirnto es dar Resumen Permitir conocer las rutas entre dos ciudades, usando los vuelos de la empresa. es una frase corta que explica sin mayores detalles el requerimiento funcional Entradas Vuelos de la empresa y ciudades a la que va cada vuelo. Las entradas se refiere a los valores que debe entar el usuario para resolver el requerimiento. El requerimeinto puede tener 0 o muchas entradas. Cada entrada debe tener un nombre que indique claramente su contenido. Se debe usar nombres cortos. Resultado Itinerario entre dos ciudades

El Modelo del Mundo del Problema En este segundo componente del análisis, el objetivo es entender el mundo en el que ocurre el problema y recopilar toda la información necesaria para que el programador pueda escribir el programa. Identificar Entidades sus características y sus operaciones.

Entidades : características, operaciones y relaciones Es buena practica empezar por identificar la clase más importante del problema. Cuando el nombre de la entidad es compuesto se usa por convención una letra mayúscula al comienzo de cada palabra. No es posible usar tildes en los nombres de las clases

Entidades sus características y sus operaciones Modelar las características Clase Vuelo Atributos ciudadllegada ciudadpartida horallegada horasalida duracion Clase Ciudad Atributos nombre pais temperatura altura poblacion Valores Posibles cadena de caracteres cadena de caracteres numero numero entero Valores Posibles cadena de caracteres cadena de caracteres cadena de caracteres número número Los nombre de los atributos deben ser significativos ( dar una idea clara de lo que representan) El nombre de un atributo debe ser único en la clase.

Problemas y Soluciones Caso de estudio 1: Programa de un juego de canicas entre dos amigos. Dos amigos Pepito y Luisita se encuentra para jugar canicas en el primer recreo del tercer día de la semana. Cada uno trae en su bolsa de canicas y en ella 5 canicas. El juego inicia justo después de 10 minutos del recreo y Pepito gana una canica a Luisita, sin embargo, en los siguientes tres juegos consecutivos gana Luisita. En cada juego se gana o pierde una canica. Pepito de los ahorros de su recreo compra 15 canicas y las guarda en su bolsa. Hasta el momento cuántas canicas tiene cada uno? Y cuántas canicas tienen entre los dos? Con la compra de canicas de Pepito su bolsa quedo muy pesada y a Pepito se le hace un agujero y se le cayeron todas sus canicas. Hasta el momento cuántas canicas tiene cada uno? Y cuántas canicas tienen entre los dos? Trabajar en casa: Luisita regala una tercera parte de sus canicas a Pepito, cuantas canicas le quedan?

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Requerimientos Programa de un juego de canicas entre dos amigos. CLIENTE USUARIO REQUERIMIENTO FUNCIONAL MUNDO DEL PROBLEMA REQUERIMIENTO NO FUNCIONAL

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Requerimientos Programa de un juego de canicas entre dos amigos. CLIENTE USUARIO REQUERIMIENTO FUNCIONAL Profesor Estudiantes y profesor Simular juego de canicas MUNDO DEL PROBLEMA Es necesario conocer cual es el resultado del un juego de canicas, cada cuanto se pierde o gana canicas. REQUERIMIENTO NO FUNCIONAL xxx

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Requerimientos NOMBRE REQUERIMIENTO FUNCIONAL 1 RESUMEN ENTRADAS RESULTADO NOMBRE REQUERIMIENTO FUNCIONAL 2 RESUMEN ENTRADAS RESULTADO

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Requerimientos NOMBRE R1: Jugar canicas REQUERIMIENTO FUNCIONAL 1 RESUMEN Representa cada vez que se juega a las canicas ENTRADAS Cantidad de canicas ganadas RESULTADO Número de canicas actualizada NOMBRE R2: Perder todas las canicas REQUERIMIENTO FUNCIONAL 2 RESUMEN Representa la perdida total de canicas, (cuando se le salen de la bolsa). ENTRADAS Saber que se perdieron las canicas. RESULTADO La cantidad de canicas del jugador queda en 0

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Entidades CLASE: ATRIBUTO VALORES POSIBLES

Problemas y Soluciones Caso de estudio 1: Programa que simula un juego de canicas. Entidades CLASE: BolsaCanica ATRIBUTOS numerocanicas VALORES POSIBLES Todos los números enteros mayores o iguales a 0. METODOS retornarcanicas() añadircanicas() ganarcanica() perdercanicas() perdertodo()

Diagrama de la solución Problemas y Soluciones

Diagrama Otra solución Problemas y Soluciones

Métodos Son las acciones o tareas que realiza el objeto. Se encarga de resolver una tarea específica. Sintaxis de un Método Modificador_de_acceso Tipo_de_retorno nombre(parámetros, ) { declaración_variables_locales cuerpo_del_método valor_de_retorno } Tiene un nombre, Recibe unos parámetros o argumentos (opcionalmente), Contiene sentencias o instrucciones para realizar algo, y Devuelve un valor de algún Tipo de dato conocido (opcionalmente). Tiene un modificador de acceso

Métodos Partes de un Método Modificador de acceso: public cualquiera puede acceder usar e invocar al método private Sólo puede acceder ó invocarse el método desde otro método de la clase. protected - proporciona acceso público para las clases derivadas y acceso privado (prohibido) para el resto de clases.

Métodos Partes de un Método Tipo de Retorno Corresponde al tipo de dato del valor que el método debe retornar, que puede ser: lint, float, double, char, String. etc lvoid Indica que el método no retorna ningún valor

Métodos Partes de un Método Parámetros / argumentos Hay métodos que reciben algunos valores para poder hacer operaciones con ellos. Si son varios se separan con comas.

Métodos Método constructor El constructor es un método con el mismo nombre de la clase. Se ejecuta en el momento en que se crea cada objeto de esa clase. Su misión es inicializar el objeto. Admite parámetros de entrada. BolsaDeCanicas::BolsaDeCanicas() { numerodecanicas = 0; } Indica la clase a a la que pertenece el método

Métodos Método Destructor El destructor es un método con el mismo nombre de la clase pero antecedido de virgulilla (~). Se ejecuta en el momento en que se destruye cada objeto. Su misión es borrar el objeto (devolver memoria dinámica, cerrar archivos, destruir otros objetos dependientes...). No admite parámetros de entrada. BolsaDeCanicas::~BolsaDeCanicas() { // aquí va la implementación }

Métodos Método set() - modificar los valores de los atributos void BolsaDeCanicas::setNumeroDeCanicas() { numerodecanicas = numerodecanicas + 1; }

Métodos Método get() devolver o visualizar los valores de los atributos void BolsaDeCanicas::getNumeroDeCanicas() { return numerodecanicas; }

Métodos Otros Métodos void BolsaDeCanicas::ganeUnaCanica() { numerodecanicas = numerodecanicas + 1; }

Métodos Otros Métodos void BolsaDeCanicas::ganeUnaCanica() { numerodecanicas = numerodecanicas + 1; }

Métodos Otros Métodos void BolsaDeCanicas::ganeUnaCanica() { numerodecanicas = numerodecanicas + 1; }