Description

La orientación a objetos (OO) • Significa notaciones, técnicas y métodos para producir varios modelos de un sistema en diferentes niveles de abstracción y granularidad basados en los principios de: – – – – – Objetos Clases de objetos Encapsulamiento Herencia Polimorfismo Introducción a UML 1 Vehículo Animal Figura (1,3) (2,2) (2,1) Punto Introducción a UML 2 (5,2.5) Vehículo Características color peso forma etc.,…. Abstraídos en Funcionalidades encendido del motor limpia parabrisas frenar etc.,…… Introducción a UML 3 Diagramas en UML El bloque de construcción básico de UML es un “Diagrama” Introducción a UML 4 . – Métodos. donde se crea el diseño conceptual de la información que se manejará en el sistema. Introducción a UML 5 . • Contiene la siguiente información: – Clases. • Describe gráficamente las especificaciones de las clases de software y de las interfaces (por ejemplo.Diagrama de Clase • Diagrama estático que describe la estructura de un sistema mostrando sus clases. con sus operaciones y constantes. las de Java) en una aplicación. asociaciones y atributos. – Navegabilidad. – Información sobre los tipos de los atributos. atributos y las relaciones entre ellas. los componentes que se encargaran del funcionamiento y la relación entre uno y otro. – Interfaces. – Dependencias. • Se utilizan en el proceso de análisis y diseño de los sistemas. • Agregue las asociaciones necesarias para dar soporte a la visibilidad requerida de los atributos. • Dibújelas en un diagrama de clases.Diagrama de Clase Para elaborar un diagrama de clases orientado al diseño: • Identifique todas las clases que participan en la solución del software. • Identifique los atributos provenientes de los conceptos asociados del modelo conceptual. Introducción a UML 6 . • Agregue flechas de navegabilidad a las asociaciones para indicar la dirección de la visibilidad de los atributos. • Agregue los nombres de los métodos. • Incorpore la información sobre los tipos a los atributos y a los métodos. Diagrama de Clases • Clase: Descripción de un conjunto de objetos que comparten los mismos atributos. operaciones y relaciones. • Se representa mediante un rectángulo con hasta tres compartimentos: – nombre de la case – lista de atributos – lista de métodos Introducción a UML 7 . ... Abstraídos en Objetos bicicletas Introducción a UML 8 .. Métodos Cambio Mover Frenar.Ejemplo de Clase Clase Bicicleta Atributos Tamaño de frame Tamaño de llanta Material . . etc. – 1.. pero debe tener al menos uno – * -> El atributo puede tener varios valores. edad. ubicación. – M. – 0. Información detallada del objeto.• Atributo: valores que corresponden a un objeto. protected. material. y si posee un único valor o una lista de valores. • Multiplicidad: Determinar si un atributo debe estar o no. private). • Valor inicial: valor que poseerá el atributo al crear un objeto. – 1-> El atributo debe tener un único valor. • Visibilidad: Está relacionado con el encapsulamiento. como color. – 0. • Tipo: Puede llegar a depender del lenguaje de programación a utilizar (public.. cantidad.N ->El atributo puede tener entre M y N valores.*-> El atributo puede tener varios valores. sexo.1-> El atributo puede o no tener un valor. sus propiedades serían: nombre. Suponiendo que el objeto es una persona..* -> El atributo puede tener varios valores o ninguno. Introducción a UML 9 Diagrama de Clase: Atributos . Introducción a UML 10 . Esta parte es totalmente invisible desde fuera de la clase (excepto para clases friends en terminología C++).Diagrama de Clase: Atributos • Visibilidad • El encapsulamiento presenta las siguientes ventajas básicas: – Se protegen los datos de accesos indebidos – Favorece la modularidad y el mantenimiento • Los atributos de una clase no deberían ser manipulables directamente por el resto de objetos. • (#) Los atributos/métodos protegidos están visibles para las clases friends y para las clases derivadas de la original. • Niveles de encapsulamiento: • (-) Privado: Es el más fuerte. • (~) Package: Sólo es visible dentro del mismo package. • (+) Los atributos/métodos públicos son visibles a otras clases. • Para cada método debe especificarse: – Tipo devuelto: Puede llegar a depender del lenguaje de programación a utilizar.Diagrama de Clase: Métodos • Un método (operación) es la implementación de un servicio que puede ser requerido a cualquier objeto de la clase para que muestre un comportamiento. #. Introducción a UML 11 . – Visibilidad: Está relacionada con el encapsulamiento (-. Una operación es una abstracción de algo que se puede hacer a un objeto y que es compartido por todos los objetos de la clase. – Parámetros: Especificación del tipo de datos y la información que determina el funcionamiento de la clase. +). private String domicilio. public Alumno(String n.Ejemplo de Clase Java UML Alumno . d:String) +setNombre(n:String):void +getNombre():String public class Alumno { private String nombre.nombre: : String . String d) {} public void setNombre (String n) {} public String getNombre() {} } Introducción a UML 12 .domicilio: String +Alumno (n:String. Instancia  Una instancia es un objeto creado a partir de una clase. Introducción a UML 13 .  La clase describe la estructura de la instancia (información y comportamiento). mientras que el estado actual de la instancia es definido por las operaciones ejecutadas. Alumno alumno3 = new Alumno(“Jose Lopez”. “Las Peñas”). Alumno alumno2 = new Alumno(“Abel Garcia”. d:String) +setNombre(n:String):void +getNombre():String Creación de instancias u objetos a partir de la clase Alumno: Alumno alumno1 = new Alumno(“Juan Perez”.domicilio: String +Alumno (n:String. alumno1: Alumno nombre = Juan Perez domicilio = Las Peñas alumno2: Alumno nombre = Abel García domicilio = Los ceibos alumno3: Alumno nombre = Jose Lopez domicilio = Centenario Introducción a UML 14 .nombre: : String . “Los ceibos”). “Centenario”).Instancia Alumno .  Es llamado automáticamente cuando un objeto de una clase es creado.  Se encarga inicializar las variables del objeto.  Puede tomar argumentos pero no pueden retornar un valor. Introducción a UML 15 .Constructor  Método especial con el mismo nombre de la clase.  Se puede tener más de un constructor en una clase. d:String) +setNombre(n:String):void +getNombre():String Introducción a UML 16 . Permite instanciar objetos de la clase Alumno .nombre: : String .domicilio: String +Alumno (n:String. } public Count (int number) { count = number. Introducción a UML 17 . public Count( ) { count = 0.Ejemplo de Constructor public class Count { private int count. } } Count contador = new Count( ). – Generalización (herencia): “es un caso particular de …”. • Relaciones entre clases: – Asociación: Es una relación estructural que describe una conexión entre objetos. dependiendo del tipo de relación. una relación del tipo “todo/parte” dentro de la cual una o más clases son partes de un conjunto. La multiplicidad de una asociación determina cuántos objetos de cada tipo intervienen en la relación. Introducción a UML 18 .Diagrama de Clase: Relaciones entre Clases • En un diagrama de clases los vínculos entre clases se representan por líneas. – Agregación (“es parte de …”): Es una asociación especial.  Relación “es un”.  Por la herencia se forman jerarquías de clases (superclases y subclases).  Las subclases heredan los atributos y métodos de las superclases.ES UN: Herencia  Es un mecanismo para compartir atributos y métodos entre clases. Superclase  Permite la reutilización de código. Subclase Introducción a UML 19 . Ejemplo Mamífero # colorOjo:String + getcolorOjo():String Perro # frecLadrido:int + ladrar():void Gato # frecMaullido:int +maullar():void PastorAlemán + esAleman():void Poodle + esFrances():void Introducción a UML 20 . Introducción a UML 21 . Herencia ANTES Auto maxFuel maxNroDePasajeros modelo velocidad acelerar() desacelerar() doblarAIzq() doblarADcha() Avion maxAltitud maxFuel maxNroDePasajeros velocidad nroDeMotores DESPUES Vehiculo maxFuel maxNroDePasajeros velocidad acelerar() desacelerar() superclase Auto modelo doblarAIzq() doblarADcha() Avion maxAltitud nroDeMotores descender() ascender() acelerar() desacelerar() descender() ascender() subclases Introducción a UML 22 . Herencia UML Vehiculo Java public class Vehiculo { } public class Auto extends Vehiculo{ } Auto Avion public class Avion extends Vehiculo{ } Introducción a UML 23 . Después le mostrará la relación de automóviles (marca. Una vez finalizado el registro podrá realizar la reserva. motor y precio diario) disponibles en esas fechas.Ejemplo: Sistema de Alquiler de Vehículos • Se pretende desarrollar un sistema de gestión para una empresa de alquiler de vehículos cuyas principales funcionalidades y características son las que a continuación se describen: • La empresa se dedica al alquiler vehículos. modelo. Introducción a UML 24 . y una vez que el cliente le ha indicado lo que desea. Dentro de los automóviles. en la que el sistema le solicitará sus datos personales. entre las que el cliente escogerá uno. posteriormente. Para ello accederá a la opción “Realizar Reservas” y el sistema le pedirá su login y password. la empresa distingue entre automóviles de lujo y básicos. el sistema le pedirá las fechas inicial y final para las que desea el alquiler. así como las ciudades de recogida y devolución del vehículo. acceder al sistema para consultar o cancelar su reserva. Para ello el sistema le preguntará si desea un automóvil de lujo o básico. • Un cliente puede realizar reservas de automóviles desde Internet. Si no ha sido cliente anteriormente el usuario deberá acceder a la opción “Registrarse”. previa identificación en el sistema. La reserva queda realizada e identificada con un código del que el cliente debe tomar nota. El cliente podrá. si existe reserva previa (no siempre tiene por qué haberla) introducirá el código de reserva que debe de facilitarle el cliente. El empleado accederá a la parte de “Contratos” y. que es el encargado de registrar y mantener la información de los usuarios y de los vehículos de la empresa. etc. y se considera imprescindible que quede registrado qué empleado ha realizado cada contrato. • El gerente de la empresa accede al sistema para realizar diversas consultas e informes sobre cuestiones como alquileres realizados. Un empleado será el encargado de registrar ese contrato en el sistema. Introducción a UML 25 .Ejemplo: Sistema de Alquiler de Vehículos • Para recoger el vehículo el cliente debe presentarse en las oficinas de la empresa para firmar el contrato de alquiler del vehículo. vehículos disponibles. contratos firmados por empleados. • El sistema comprueba la existencia de la reserva y genera un contrato tipo para el tipo de vehículo reservado. Por último existe un administrador. Diagrama de Clases: Sistema de Alquiler de Vehículos Introducción a UML 26 . Diseñe un sistema para calcular el área de diversas figuras geométricas utilizando polimorfismo y guiado por el siguiente diagrama en UML. Introducción a UML 27 . Introducción a UML 28 . • Si las horas trabajadas están entre el rango de 41 a 45.Una empresa desea un sistema capaz de calcular el salario semanal de sus empleados de acuerdo a la cantidad de horas trabajadas. entonces el excedente se considera hora extra. el sueldo por hora y tomando en cuenta los siguientes criterios: • Si las horas trabajadas son más de 40. entonces cada hora extra se paga doble. entonces cada hora extra se paga triple. • Si las horas trabajadas son más de 45. Propiedad para modificar el radio Propiedad para consultar el valor del radio Introducción a UML 29 . Calcular el perímetro.Defina una clase llamada Circunferencia que tenga como atributo el radio de tipo real y los siguientes métodos: Calcular el área. Defina una clase denominada Rectángulo que tenga las siguientes especificaciones: Atributos: Largo Ancho Métodos: CalcularArea() CalcularPerimetro() Introducción a UML 30 . este método debe ser utilizado por el constructor y el método que modifica el valor de la fecha. de acuerdo con las siguientes especificaciones: Atributos: Día. si el usuario trata de inicializar con una fecha inválida se inicializará con el valor fijo que el programador haya definido.Define la clase Fecha. Introducción a UML 31 . Mes y Año. Constructores: Que inicialice los atributos con la fecha del sistema Que reciba como parámetro los valores para inicializar la fecha Métodos públicos: Que permita modificar el valor de la fecha Que muestre en la pantalla la fecha usando el formato dia / mes / año Que muestre en la pantalla la fecha poniendo el mes con palabras Que permita verificar si una fecha es válida. Definir una clase para manejar los artículos de un supermercado cuyos atributos son: Clave numérica. Una propiedad para modificar cada atributo. Método para modificar los valores de los atributos y que reciba los 4 parámetros. Precio y Cantidad en existencia Y defina los siguientes métodos: Constructor con parámetros. Descripción. Una propiedad para consultar cada atributo. Introducción a UML 32 . Diseñar una clase para controlar los datos de los vuelos en una aerolínea con los siguientes datos: Número de vuelo Fecha Hora de despegue Duración del vuelo (minutos) Y con la que pueda realizar las siguientes operaciones: Fijar tiempo de demora en minutos Obtener la fecha y hora de aterrizaje Introducción a UML 33 . Defina las clases con sus relaciones de herencia de la manera más apropiada para modelar este sistema e impleméntelas Introducción a UML 34 . el equipo desea almacenar la cantidad de goles anotados por cada jugador (excepto el portero) y los minutos jugados. medio y delantero). nombre y su posición (portero. defensa. Los datos de cada jugador son el número de uniforme. Además.Un equipo de futbol debe controlar las estadísticas de sus jugadores y para ello requiere un sistema computacional orientado a objetos con relaciones de herencia. Los bateadores designados no lanzan y no participan a la defensiva (sólo batean). Introducción a UML 35 . participan a la defensiva pero no batean. En esta liga. jugadores de posición y bateadores designados. pero participan a la defensiva y batean. Modele un sistema orientado a objetos con clases heredadas con el que controle los ponches recetados por los pitchers. los pitchers lanzan. Los jugadores de posición no lanzan. nombre y su posición. Los datos de cada jugador son: el número de uniforme.Un equipo de beisbol se compone de tres tipos de jugadores: pitchers. los hits bateados por los otros jugadores y los errores cometidos por quienes participan a la defensiva. Todas las cuentas del banco tienen los siguientes datos: Número de cuenta (entero). se debe verificar la suficiencia de saldo y en caso de aprobarlo. la cual se descuenta directamente del saldo.Un banco requiere controlar las cuentas de sus clientes y para ello las clasifica en dos: Cheques y Ahorros. Elabore el diagrama de clases en UML e implemente dicho sistema con un proyecto. se disminuye el saldo. Introducción a UML 36 . Método para depositar los intereses el primer día de cada mes. Porcentaje de interés mensual. Además se realizan las siguientes operaciones con ellas: Consultar datos: A través de sus propiedades. Retirar: Antes de hacer el retiro. Depositar: Incrementa el saldo con la cantidad de dinero que se deposita. Las cuentas de ahorros presentan las siguientes características: Fecha de vencimiento. Comisión por emisión de cheques con saldo insuficiente. Las cuentas de cheques presentan las siguientes características: Comisión por uso de chequera. Nombre del cliente (cadena). Saldo (numérico real). Solamente se puede retirar dinero el día de la fecha de vencimiento. El taller elabora una orden de trabajo con los datos del cliente como su nombre. color. número de las placas. dirección y teléfono de contacto. modelo. e incluye también los datos del auto que será reparado: Marca. La orden de trabajo tiene un identificador numérico único.En un taller mecánico los clientes llevan sus autos a reparación. Introducción a UML 37 . Los datos de cada persona son el nombre y su domicilio. Agregue un constructor a cada clase para inicializar sus datos e invoque el constructor de la clase base desde el constructor de cada clase derivada. sin embargo. también es importante administrar el límite de crédito de sus clientes y el salario de sus empleados. como lo son sus clientes y sus empleados. Posteriormente despliegue los datos suministrados.Para una empresa es importante controlar los datos de las personas relacionadas a ella. Modele este sistema diseñando el diagrama de clases en UML y estableciendo las relaciones de herencia pertinentes. Introducción a UML 38 . Instancie cada una de las clases y asígnele sus respectivos datos mediante sus propiedades.
Copyright © 2024 DOKUMEN.SITE Inc.