P. 1
Fundamentos de Programación Unidad 4

Fundamentos de Programación Unidad 4

|Views: 79|Likes:
Publicado porPanchoxman Urenda

More info:

Published by: Panchoxman Urenda on Apr 19, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/11/2013

pdf

text

original

IV. Programación orientada a objetos y modelado.

Una de las actividades más comunes en el mundo financiero es la realización de simulaciones que permitan a los clientes saber el rendimiento de sus productos a través del tiempo, contemplando diferentes escenarios, así como las posibles situaciones que pueden presentarse. Se quiere crear un programa que haga la simulación de un modelo bancario. Un cuentahabiente tiene nombre, domicilio, teléfono y número de cuenta. Una cuenta, por su parte, está constituida por tres productos financieros básicos: (1) Una cuenta de ahorro, (2) una cuenta corriente y (3) un certificado de depósito a plazo fijo (CDPF). Estos productos son independientes y tienen comportamientos particulares. El saldo total de la cuenta es la suma de lo que tiene el cliente en cada uno de dichos productos. En la cuenta corriente el cliente puede depositar o retirar su dinero, este tipo de cuenta no recibe ningún interés. En la cuenta de ahorros se paga un interés mensual del 6% sobre el saldo. Cuando el cliente abre un CDPF, define la cantidad de depósito que quiere invertir y negocia con el banco el interés mensual. A diferencia de la cuenta corriente o la cuenta de ahorros en un CDPF no se puede realizar ningún retiro o depósito, las únicas operaciones posibles son abrir o cerrar la cuenta. Si es abrir, el dinero se toma de la cuenta corriente y si es cerrar, el dinero se deposita en la cuenta corriente del cliente. Se requiere que el programa permita a una persona simular el manejo de sus productos bancarios, dándole las facilidades de: (1) hacer las operaciones necesarias sobre los productos que existen en las cuentas y (2) avanzar mes por mes para que el cliente pueda ver el resultado de sus movimientos bancarios. IV.1. Características del modelo orientado a objetos Una vez teniendo la definición del problema se deben establecer los requerimientos funcionales. Un requerimiento funcional es una operación que el programa debe de proveer al usuario y se describe a través de cuatro elementos:     Nombre Operación Entradas Resultado

Una de las primeras actividades es identificar las entidades que intervienen en el problema. Estas entidades pueden ser concretas como una persona o abstractas como un concepto.

Por cada característica se debe asignar la entidad a la que pertenece. Del problema anterior realice: Entidades: Entidad Descripción Características Entidad Nombre Descripción Conjunto de Valores permitidos Requerimientos Funcionales: Nombre Operación Entrada Resultado Nombre Operación Entrada Resultado Nombre Operación Entrada Resultado Nombre Operación Entrada Resultado Requerimiento Funcional 1 Requerimiento Funcional 2 Requerimiento Funcional 3 Requerimiento Funcional 4 . descripción y conjunto de valores permitidos. Una vez identificadas las entidades.En la programación orientada a objetos las entidades se denominan clases y serán los elementos básicos del diseño y posteriormente de la implementación. además se tiene que registrar el nombre de la característica. A las características en la programación orientada a objetos se les denomina atributos y al igual que las clases son parte fundamental del diseño. el siguiente paso es establecer las características de cada entidad.

Si no sale bien. Como mínimo. En pocas horas y con poca planificación previa. Si se quiere construir una casa para una familia.2. etc. algunos clavos. cinta métrica. será mucho más eficiente trabajar con otros o comprar material pre-construido. se debe realizar algunos bocetos del aspecto que se quiere que tenga la casa. y unas cuantas herramientas básicas. así que es mejor establecer las expectativas al principio y controlar los cambios cuidadosamente. la familia será más exigente que el perro. Elementos primordiales en el modelo de objetos Introducción: Si se quiere construir una caseta para un perro se puede comenzar muy bien con un montón de de madera. a menos que se haya hecho antes muchas veces. Mientras se cumplan los planes y se permanezca dentro de las limitaciones de tiempo y dinero. algunos clavos y unas cuantas herramientas (martillo. . siempre se puede volver a empezar o buscar un perro menos exigente. y que probablemente la pueda realizar sin ayuda de nadie.Actividades para el modelado de Clases • Identificar entidades • Modelar sus características • Buscar relaciones entre las entidades • Describir los requerimientos funcionales Programador • Documentar IV. serrucho. Aunque es humanamente posible que uno se construya su propia casa. Si no sale bien. En este caso. se puede comenzar con un montón de madera. es muy probable que la familia esté satisfecha. se obtendrá un resultado mejor haciendo una planificación detallada antes de golpear el primer clavo o echar los cimientos.). no se puede cambiar precisamente de familia. es posible que termine una caseta razonablemente funcional. pero va a llevar más tiempo y con seguridad.

¿Qué es un Modelo? “Un Modelo es una simplificación de la realidad. carreteras. por una simple razón: Construimos modelados de sistemas complejos porque no podemos comprender el sistema en su totalidad IV. es absolutamente cierto que. rascacielos. pero todos los proyectos con éxito se parecen en muchos aspectos. De hecho. cuanto más grande y complejo es el sistema. relaciones y semántica. un montón de empresas de desarrollo de software comienza queriendo construir rascacielos. Si realmente se quiere construir el software equivalente a una casa o un rascacielos. el modelado se hace más importante. uno de estos elementos es el modelado. puentes. el truco está en crear el software apropiado y en imaginar cómo escribir menos software. los equipos de desarrollo a menudo recurren a la única cosa que realmente saben hacer bien: toneladas de líneas de código. una clase es representada por un rectángulo que posee tres divisiones: . Representación gráfica del diseño Clases Una clase es una descripción de un conjunto de objetos que comparten los mismos atributos. En el Lenguaje Unificado de Modelado (UML. pero enfocan el problema como si estuvieran enfrentándose a la caseta de un perro.. Dada la creciente demanda de desarrollo de software en la era de Internet. Los proyectos que fracasan lo hacen por circunstancias propias. etc.” ¿Por qué Modelamos? Construimos modelos para comprender mejor el sistema que estamos desarrollando. operaciones. Unifield Modeling Language). El Modelado es una técnica de ingeniería probada y bien aceptada. Construimos modelos arquitectónicos de casa. Sin embargo. El Modelado no es sólo para los grandes sistemas.3. Incluso podemos construir modelos matemáticos para analizar los efectos de vientos o terremotos sobre nuestros edificios.Curiosamente. Hay muchos elementos que contribuyen a que una empresa de software sea exitosa. el problema es algo más que una cuestión de escribir grandes cantidades de software. Incluso el equivalente software de una caseta de perro puede beneficiarse de algo de modelado. para ayudar a sus usuarios a visualizar el producto final.

Nombre de la clase Atributos Comportamiento En donde:    La parte superior: Contiene el nombre de la Clase La intermedia: Contiene los atributos (o variables de instancia) que caracterizan a la Clase (pueden ser private. ): Indica que el atributo será visible tanto dentro como fuera de la clase. La parte Inferior: Contiene los métodos u operaciones. acceso Cada variable tiene asociado un tipo que se utiliza para controlar el acceso. protected o public).  private (. los que definen el grado de comunicación y visibilidad de ellos con el entorno. ):  protected (#. protected o public). estos son:  public (+. Entre estos se encuentran: public Esta variable se puede acceder desde cualquier clase. los cuales son la forma como interactúa el objeto con su entorno (dependiendo de la visibilidad: private. es accsesible desde todos lados. . Atributos y Métodos: Atributos: Los atributos o características de una Clase pueden ser de tres tipos. es decir. ): Indica que el atributo no será accesible desde fuera de la clase. pero si podrá ser accesado por métodos de la clase además de las subclases que se deriven (herencia). private Esta variable solo es accesible desde la clase. Indica que el atributo sólo será accesible desde dentro de la clase (sólo sus métodos lo pueden accesar).

éstos pueden tener las características:  public (+. static Métodos: Los métodos (también llamados funciones o procedimientos en otros lenguajes de programación) son mini programas dentro de un programa. Por medio de los métodos se pueden dividir tareas de un proyecto. Violar las normas de acceso da como resultado un error al compilar el programa. Entre estos se encuentran: public Este método público se puede llamar de cualquier código que tenga acceso a la clase.  private (. ): Indica que el método no será accesible desde fuera de la clase. lo cual lo hará más manejable. acceso static tipo NombreDelMétodo (Lista de Argumentos) { Declaración de variables del método Sentencias del método [return tipo. ): Indica que el método será visible tanto dentro como fuera de la clase. Declara la variable como variable de las clase y no del objeto. . ): Indica que el método sólo será accesible desde dentro de la clase (sólo otros métodos de la clase lo pueden accesar). Los métodos u operaciones de una clase son la forma en como ésta interactúa con su entorno. es accsesible desde todos lados. Esto es que solamente puede existir una variable en toda la clase. es decir. esto significa que la variable es accesible desde cualquier clase del paquete. pero si podrá ser accesado por métodos de la clase además de métodos de las subclases que se deriven (herencia). se utiliza el acceso por defecto. defecto Si no especifica ningún tipo de acceso.  protected (#.] Donde: acceso Cada método tiene asociado un tipo que se utiliza para controlar el acceso al método.protected Nota: Esta variable es accesible en todo el paquete y en clases derivadas de otros paquetes.

Punto 3 1 Triangulo Punto1 Punto2 Punto3 ColorLinea ColorRelleno Calcula_Perimetro() Calcula_Area() X Y Color Rojo Verde Azul 2 1 . esto significa que el método es accesible a todas las clases contenidas en le mismo paquete.private static Este método privado solo puede ser llamada desde otro método de la clase en que se definió el método privado. pero no esta accesible fuera de ese paquete. protected Este método protegido se puede llamar desde otros métodos de la clase en que el método esta definido y por cualquier otro método de las clases que heredan de la clase en que está definido el método. un color por su parte está definido por tres valores numéricos entre 0 y 255 (estándar RGB por RedGreenBlue). Además el triangulo tendrá las funciones de calcular el perímetro del triangulo y calcular el área. El triangulo tiene además color de línea y un color de relleno. Y. Declara el método como método de la clase y no como método del objeto (no hereda el método). el segundo el verde y el tercero el azul. defecto Si no especifica ningún tipo de acceso. El primer valor numérico define la intensidad del rojo. También está disponible en cualquier objeto de las clases pertenecientes al mismo paquete que la clase en que está definido el método. el cual está definido por tres puntos. cada uno de los cuales tiene dos coordenadas X. se utiliza el acceso por defecto. Diagrama de Objetos Se usan para mostrar el estado del sistema en un momento concreto Ejemplo: Se desea representar un triangulo. Nota: Ejercicio: Elabore un método que envíe el nombre de una persona y regrese el número de vocales que contiene. Un método declarado como static solo puede ser llamado por otro método static y hacer referencia a variables static.

dibuje una instancia de objetos con su nombre.El diagrama de objetos se estipula de la siguiente forma: Punto2 : Punto Punto1 : Punto X = 10 Y = 10 X = 20 Y = 20 Punto3 : Punto X = 50 Y = 70 Isósceles : Triangulo Objeto : Clase Atributo1 = Expresión … ColorLínea : Color Rojo = 105 Verde= 100 Azul = 240 Ejercicio: ColorRelleno : Color Rojo = 5 Verde= 170 Azul = 47 Del siguiente diseño. fecha de nacimiento y fecha de ingreso al Tecnológico de Aguascalientes. Estudiante Fecha Nombre ApellidoP ApellidoM FechaN FechaIngreso 2 1 día mes año .

y = y. En ese caso si se omite un constructor sin parámetros no será posible utilizar el constructor por defecto. } } Regla: Java crea automáticamente un constructor por defecto cuando no existe otro constructor. Tal constructor inicializa las variables tipo int.Constructores: Un constructor es un método de propósito específico que se ejecuta automáticamente cuando se crea un objeto de una clase. …. private int y. además no tienen valor de retorno (incluso ni void) y están clasificados en constructores por defecto y alternativos/sobrecargados. class Punto { private int x. las booleanas con false y las referencias con null. Tenga cuidado con la declaración de una clase que sólo tenga un constructor con argumentos. Punto () { x = 0.x = x. Constructores por defecto Un constructor que no tiene parámetros se le llama constructor por defecto. long con cero. Los constructores tienen el mismo nombre que la clase. Un constructor por defecto normalmente inicializa las variables con un valor por default. int y) { this. float. this. } …. Precaución: class Punto { private int x. private int y. } //constructor por defecto Punto (int x. y = 0. . double. Un constructor sirve para inicializar las variables de clase.

x = x. Java no posee destructores y para recuperar un objeto lo hace por medio del recolección de basuras. } // constructor por defecto Punto (int x. Punto () { x = 0. y = 0.Punto primerPunto = new Punto(). Constructores alternativos/sobrecargados // no es posible utilizar este constructor A un constructor con parámetros se le denomina constructor alternativo/sobrecargado class Punto { private int x. } Destructores: // constructor alternativo Un destructor es una función miembro con igual nombre que la clase. this. pero precedido por el carácter ~. Una clase abstracta no puede ser instanciada pues posee métodos abstractos (aún no han sido definidos. . private int y.y = y. es decir. sin implementación). La única forma de utilizarlas es declarar subclases que redefinan los métodos abstractos. es decir. que definan el cuerpo de cada método abstracto. Un destructor realiza la operación opuesta de un constructor. int y) { this. no tiene argumentos y no devuelve ningún tipo. Una clase sólo tiene una función destructor que. limpiando el almacenamiento asignado a los objetos cuando se crean. Clase Abstracta: Una clase abstracta es aquella clase que tiene por lo menos un método abstracto (Declarado pero no definido) y se denota poniendo el nombre de la clase en letras "itálicas".

ejemplo: En la figura se especifica que Auto y Camión heredan de Vehículo. es decir. Ejemplo: . Auto posee los atributos de Vehículo (dueño. en cambio Camioneta también hereda los atributos de Vehículo (dueño. poseerá las características y atributos visibles de la Súper Clase (public y protected).Herencia: Indica que una subclase hereda los métodos y atributos de una Súper Clase. por ende la Subclase además de poseer sus propios métodos y atributos. el tiempo de vida de un objeto no depende del otro. ruedas) además posee algo particular que es Descapotable. permite asociar objetos que colaboran entre sí. es decir. puertas. Cabe destacar que no es una relación fuerte. Asociación: La relación entre clases conocida como Asociación. rudas) pero posee como particularidad propia tara y carga. puertas.

Ejercicios: 1. supermercado. supermercado o farmacia) (3) Cantidad actual (numero de unidades disponibles en la tienda) (4) Stock mínimo (numero de productos que como mínimo deben de existir en la tienda) (5) Precio base de venta. Las operaciones que debe de manejar son 1) Venta de un producto a un cliente. $12. 2) realizar un pedido cuando el stock esta por debajo del mínimo. bajo los siguientes supuesto: Suponga que la tienda tiene los siguientes productos: a. Atributos y Comportamiento) Asociación Dependencia o instanciación Diagrama de Objetos. 10. en cambio una orden de compra solo puede tener asociado un cliente. Jabón en polvo. D. Litro de leche.50 b. supermercado. Diagrama de clases (Nombre. Para calcular el precio final de cada producto se le tiene que sumar los impuestos que marca la ley: los de papelería tienen un 16% de IVA. Se tiene una tienda “La Económica” que vende 4 productos. (a) Producto mas vendido (b) Producto menos vendido (c) Total de dinero de las ventas y (d) Promedio de ventas de la tienda (Valor total de las ventas entre el numero total de unidades vendidas) Determine: A. B. papelería. (1) Nombre del producto (2) Tipo (puede ser producto de papelería. como por ejemplo una aplicación grafica que instancia una ventana (la creación del Objeto Ventana esta condicionado a la instanciación proveniente desde el objeto Aplicación): Cabe destacar que el objeto creado (en este caso la Ventana gráfica) no se almacena dentro del objeto que lo crea (en este caso la Aplicación). $5. C. los de supermercado un 4% y los de farmacia un 0%. 3) Mostrar algunas estadísticas. en la que una clase es instanciada (su instanciación es dependiente de otro objeto/clase). Se denota por una flecha punteada.50 . El uso más particular de este tipo de relación es para denotar la dependencia que tiene una clase de otra. Libreta de apuntes.00 c. Dependencia o Instanciación (uso): Representa un tipo de relación muy particular. cada uno de los cuales maneja la siguiente información.Un cliente puede tener asociadas muchas Órdenes de Compra.

Los requerimientos funcionales Además suponga que ya ha vendido 6 libretas. Cantidad en existencia 44 15 36 13 Stock mínimo 15 20 8 11 Las universidades de la Laguna contienen un Nombre de Universidad y un Campus. Por ultimo tenemos la siguiente tabla: Producto Libreta de apuntes Leche Jabón Aspirina 2. E. D. Aspirina. Los Administrativos contienen un departamento y como actividades la Administración. 25 litros de leche. También existe los estudiantes. Determine: A. que pueden ser de Maestría o Doctorado. 14 bolsas de jabón. Atributos y Comportamiento) Asociación Dependencia o instanciación Diagrama de Objetos Universidad de la Laguna Universidad de Durango Universidad de Lerdo Producto de Aprendizaje 4.d. Por cada universidad tiene Trabajadores los cuales pueden ser Catedráticos o Administrativos. Los requerimientos funcionales Diagrama de clases (Nombre. mientras que los estudiantes de Doctorado tiene Programa al que pertenecen y como característica realiza tesis. Los catedráticos tienen una categoría y como actividades tiene investigación y enseñanza. a) b) c) d) e) Del siguiente diseño describa los siguientes puntos: Clases concretas Clases abstractas Herencia Asociación Dependencia o instanciación . farmacia. $15. C.00 E. B. 7 cajas de aspirinas y en la caja de la tienda no hay dinero. Los estudiantes de Maestría tiene las propiedades de titulado y las características de colaborador.1: Elabore lo que se le solicita: 1.

Cada persona se asocia con varios roles. Analista y Desarrollador. Cada proceso tiene asociada varias personas. Cada rol maneja la información de descripción. Atributos y Comportamiento) Asociación Dependencia o instanciación Los requerimientos funcionales Investigar y entregar el siguiente punto: . Diagrama de clases (Nombre.* Cliente 1 ProductoA 1 * Consorcio Nombre Domicilio ProductoA2 ProductoA1 Teléfono CreaProductoA() CreaProductoB() ProductoB Fabrica 1 Fabrica 2 * ProductoA() ProductoB() ProductoA() ProductoB() ProductoB2 ProductoB1 2. La información que maneja los procesos es: Descripción del proceso. evaluación y grado de responsabilidad. Cada clase tiene como comportamiento los constructores y los destructores. B. La empresa de de publicidad Megáfono SA de CV tiene varios proyectos que maneja varia información entre la que se encuentra descripción del proyecto. D. De cada personal herede JefeProyecto. cada proyecto se asocia con varios procesos. C. costo y objetivo. fecha de fin y presupuesto. Cada persona maneja la información de nombre de la persona. fecha de inicio. RFC y correo electrónico. Determine: A. 3.

Relación entre la programación orientada a objetos y la estructurada .4.2: Investigue el siguiente tema IV.Producto de Aprendizaje 4.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->