Está en la página 1de 10

UNIVERSIDAD ANDRÉS BELLO

PROGRAMACIÓN AVANZADA

GUÍA DE APRENDIZAJE Nº1


PROYECTO P.O.O. CAR-RENT

Autor: Juan Núñez Estrada,


Carrera: Ingeniería en Computación e Informática - Online, Universidad Andrés Bello

09 de Abril de 2022

1
ÍNDICE

DESCRIPCIÓN DEL PROBLEMA............................................................................................4

ANÁLISIS Y DISEÑO DE LA SOLUCIÓN..............................................................................6

CONCLUSIONES.......................................................................................................................9

BIBLIOGRAFÍA.......................................................................................................................10

2
1. INTRODUCCIÓN

Como ya hemos aprendido en clase, sabemos que la Programación Orientada a Objetos


(POO) mantiene unos pilares fundamentales que son: la abstracción, encapsulamiento,
herencia y poliformismo, lo que nos permite también aplicar los distintos tipos de
relaciones entre clases, considerando el mecanismo de comunicación que tienen los objetos
que es la asociación, agregación y composición.

Por lo anterior, en el presente trabajo, aplicaremos las siguientes consideraciones que nos
ayudarán a desarrollar el enunciado propuesto:
- Diagrama de Clases usando POO.
- Lenguaje de Programación JAVA.
- Conceptos fundamentales de la POO.
- Asociación, Composición, Agregación, Herencia y Polimorfismo.
- Buenas Prácticas en POO y Diseño.

Asimismo, el objetivo de este trabajo, es poder diseñar una solución para la empresa “Car-
Rent”, que permita, a través de la Programación Orientada a Objeto, desarrollar un
programa orientado a mejorar la gestión de la empresa.

Por lo anterior, la estructura del presente informe comprenderá los siguientes aspectos:
- Análisis y diseño de la solución.
- Aspectos y fundamentos de programación.
- Conclusiones.

3
DESCRIPCIÓN DEL PROBLEMA

De acuerdo a lo solicitado por la empresa Car-Rent, se requiere contar con un sistema automatizado
para mejorar la gestión de la empresa y disponibilizar los procesos que actualmente se utilizan para el
control de arriendo y devolución de vehículos.

En base a lo solicitado por el cliente, el objetivo de este trabajo, es poder diseñar un programa
considerando la Programación Orientada a Objetos, que permita desarrollar una solución relacionado
con la implementación de un programa que sea capaz de mantener un control adecuado de los
vehículos que se arrienda y devuelven en la empresa.

Para lo anterior, se desarrolló el diagrama de clases, en donde se identificaron y gestionaron los


atributos, considerando los siguientes métodos:

- Arriendo
- Vehículo
- Cliente
- Devolución

Para lo anterior, se ejecutaron las siguientes acciones:

1. Diagrama de Clases UML


Se diseñó el correspondiente diagrama de clase UML, a través de la aplicación StarUML Versión
4.1.6 (imagen 1.1), en donde se graficaron las clases con sus correspondientes relaciones (imagen
1.2):

(imagen 1.1)

4
(imagen 1.2)

2. Identificación de Clases con sus correspondientes tipos de relación.


Con la finalidad de idear la mejor solución y poder gestionar cada uno de sus atributos y métodos,
se crearon las siguientes clases, con sus métodos correspondientes:

Clase Subclase Atributos Métodos Observación


Arriendo - Número de - Validar el arriendo
Arriendo considerando:
- Fecha de Arriendo  Asignar número de
- Número de días de arriendo.
arriendo.  Validar que los
número de días de
arriendo sean entre 1
y 10 días.
 Validar que el monto
del arriendo se
obtenga a partir del
precio que el usuario
ingresa considerando
la cantidad de días.
Vehículo - Patente - Validar el vehículo
- Marca considerando:
- Modelo  Largo de caracteres de
- Año patente de 8 dígitos.
- Condición  El año de fabricación
(disponible, debe ser desde el 2000
arrendado, a la actualidad.
mantención.)  Validar la condición,

5
considerando además
que cuando se ingrese
un nuevo vehículo
inicialmente toma la
condición de
disponible (D).
Cliente - Nombre - Validar ingreso de cliente
- Rut considerando:
- Vigencia  Ingreso de nuevo
cliente.
 Rut de tener un largo
de 10 dígitos con
penúltimo dígito un
guión y último dígito
con un valor entre 0 a
9 o una k.
 Validar que el cliente
esté vigente (true:
vigente, false: no
vigente.
 Al ingresar un nuevo
cliente su condición
inicial de vigencia es
“true”.
Devolución - Fecha Devolución - Valida la devolución del
considerando:
 Fecha de devolución
no puede ser menor a
la fecha de arriendo.
 Agregar el libro a la
- -

ANÁLISIS Y DISEÑO DE LA SOLUCIÓN

Analizado el requerimiento del cliente Car-Rent y considerando el objeto de la solución


planteada, se desarrolló el siguiente diagrama de Clases:

6
Nota: A nivel de diseño es posible apreciar que la relación indica que el “Préstamo” está
compuesto por “Vehículo” y “Cliente”.

En base al diagrama antes señalado, se pueden describir los siguientes fundamentos:


1. Clase Cliente
En esta clase identificamos la Superclase Cliente la que mantiene una relación de tipo
“agregada” con la Clase Arriendo, la cual es una relación fuerte, ya que, al momento de
concretar un arriendo de un vehículo, se necesita obligadamente un cliente que lo solicite y
arriende.

7
2. Clase Vehículo
La Clase Vehículo, también mantiene una relación de tipo “agregada” con la Clase
Arriendo, la cual es una relación fuerte, ya que, al momento de concretar un arriendo, se
necesita obligadamente un vehículo para generar el arriendo.

3. Clase Devolución
Esta clase mantiene una relación de tipo “compuesta” con la Clase Arriendo, la cual es una
relación muy fuerte, debido a que existe solamente si se llega a concretar un arriendo, de no
haber arriendo, no tiene sentido que exista ya que no hay nada que devolver.
Se debe considerar que cuando se genera un arriendo se crea la fecha de devolución
asociada al arriendo del vehículo específico.

4. Clase Arriendo
Esta clase mantiene una relación fuerte tipo “agregada” con la Clase Vehículo y Cliente ya
que de no existir el vehículo o cliente no va a concretarse el arriendo.
Asimismo, también tiene una relación muy fuerte tipo “compuesta” con la Clase
Devolución, ya que de no generarse un arriendo no existe una fecha de devolución.

8
CONCLUSIONES

Una vez realizado todos los intentos para desarrollar las mejores soluciones a la problemática
enunciada, se puede colegir lo siguiente:

Es indispensable para tener una mejor orientación a la hora de comenzar a programa a través
del paradigma de Programación Orientado a Objeto, definir las relaciones que nuestro
diagrama de clases puede tener entre los distintos tipos de objetos, con la finalidad que nuestro
futuro programa a implementar pueda tener las instancias necesarias definidas que garanticen
la funcionalidad y gestión que el cliente Car-Rent necesita, objeto evitar problemas de
inconsistencias y duplicidad de información.

Finalmente, en base a nuestro objetivo planteado, se puede concluir que el nivel de logro
alcanzado es considerado como “medio” ya que aun cuando se estima que el diseño de clases
y sus relaciones son acertadas, no fue posible elaborar fielmente la funcionalidad que el cliente
necesitaba del programa.

Por lo anterior, se hace indispensable continuar con el entrenamiento y resolución de


problemáticas que contribuyan a la familiarización óptima con la P.O.O.

9
BIBLIOGRAFÍA

Landero. P. (apunte UNAB - CHILE). Conceptos Pples. del Lenguaje de Programación. 2021.

Landero. P. (apunte UNAB - CHILE). Fundamentos Paradigmas OO y Lenguajes POO. 2021.

Landero. P. (apunte UNAB - CHILE). Implementación de Relaciones entre Clases. 2021.

10

También podría gustarte