CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 1 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
UNIDAD ACADÉMICA: INGENIERÍA DE SISTEMAS
CURSO: INGENIERÍA DE SOFTWARE I
PRACTICA Nº 07: Principios de POO en Java
1. OBJETIVO
● Introducir a los estudiantes en los conceptos básicos de la programación orientada a objetos, como
clases, objetos, herencia, encapsulamiento y polimorfismo.
● Proporcionar a los estudiantes una experiencia práctica con la sintaxis específica de Java para la
implementación de conceptos de POO.
2. CONSULTA PREVIA
● Conocimientos básicos de programación en Java, incluyendo la sintaxis básica y la estructura de un
programa Java.
● Comprensión de conceptos básicos de programación como variables, tipos de datos, estructuras de
control y funciones.
3. FUNDAMENTO TEÓRICO
¿Qué es POO (Programación Orientada a Objetos)?
En el mundo de la programación, la POO es un paradigma que ha ganado una gran popularidad en los últimos
años debido a su capacidad para crear aplicaciones más robustas, flexibles y fáciles de mantener. Esta
metodología de desarrollo se basa en la idea de que los programas se pueden organizar como una colección de
objetos interconectados, cada uno con su propio conjunto de datos y funcionalidades. (Martínez, 2020)
En programación orientada a objetos (POO), una clase es un elemento fundamental que permite definir un tipo
de objeto. Una clase describe tanto los atributos (datos) como los métodos (comportamientos) que caracterizan
a un objeto específico perteneciente a esa clase.
4 pilares de la programación orientada a objetos
Abstracción
La abstracción es el proceso de identificar las características esenciales de un objeto y omitir los detalles no
esenciales. En POO, la abstracción se logra mediante la creación de clases y objetos que representan entidades
del mundo real. Una clase define la estructura y el comportamiento común a un conjunto de objetos relacionados,
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 2 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
mientras que un objeto es una instancia específica de esa clase. La abstracción permite modelar objetos y sus
interacciones de una manera simplificada, lo que facilita el diseño y la comprensión del sistema.
Encapsulación
El encapsulamiento es el principio de ocultar los detalles de implementación de un objeto y exponer solo una
interfaz para interactuar con él. En POO, el encapsulamiento se logra definiendo los atributos de un objeto
como privados y proporcionando métodos públicos (getters y setters) para acceder y modificar esos atributos. El
encapsulamiento ayuda a controlar el acceso a los datos y a prevenir cambios no autorizados, lo que mejora la
seguridad y la mantenibilidad del código.
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 3 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
Herencia
La herencia es un mecanismo que permite que una clase (subclase) herede atributos y métodos de otra clase
(superclase). La subclase hereda automáticamente los atributos y métodos públicos o protegidos de la
superclase, lo que promueve la reutilización del código y la creación de jerarquías de clases. La herencia
permite extender y especializar el comportamiento de una clase existente sin modificar su código fuente, lo que
facilita la adaptación y la evolución del sistema.
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 4 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
Polimorfismo
El polimorfismo es la capacidad de objetos de diferentes clases de responder al mismo mensaje de manera
distinta. En Java, el polimorfismo se puede lograr mediante la sobrecarga de métodos (métodos con el mismo
nombre pero diferentes parámetros) y la sobrescritura de métodos (métodos en una clase derivada que
reemplazan a los de la clase base).
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 5 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
4. EQUIPOS, MATERIALES Y REACTIVOS
Sustancias y/o
Equipos Materiales
Reactivos
Computador Software NetBeans
5. PROCEDIMIENTO O METODOLOGÍA
En este laboratorio introductorio, el estudiante explorará el lenguaje de programación Java y los diferentes usos
y implementaciones de los 4 pilas de POO
Paso 1. Cree un proyecto en NetBeans
Abra el IDE NetBeans, y diríjase a la sección File y luego a New Project. Una vez allí seleccione la Categoría
“Java with Maven” y luego un projecto de tipo “Java application”, Una vez se haga eso haga clic en Next
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 6 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
Asigne el nombre al proyecto, la ubicación y demás parámetros.
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR:
CÓDIGO: FO-DOC-112
UNIVERSIDAD DE LOS LLANOS
VERSIÓN: 01 PÁGINA: 7 de 7
PROCESO GESTION DE APOYO A LA ACADEMIA FECHA: 02/09/2016
FORMATO GUÍA PARA PRÁCTICAS DE LABORATORIO VIGENCIA: 2016
LABORATORIO DE INGENIERÍA DE SOFTWARE I
Paso 2. Analice el siguiente caso de estudio
Sistema de gestión de empleados para una empresa
Descripción del problema:
Una empresa necesita un sistema para gestionar la información de sus empleados y calcular la nómina total. Los
empleados pueden ser contratados por horas o tener un contrato fijo, cada uno con su propio método de cálculo
de salario. Se requiere un diseño que permita agregar nuevos tipos de empleados en el futuro de manera sencilla
y eficiente.
Requerimientos del sistema:
● El sistema debe permitir registrar empleados contratados por horas, con la capacidad de registrar las
horas trabajadas y calcular el salario en función de las horas trabajadas y una tarifa por hora predefinida.
● El sistema debe permitir registrar empleados con contrato fijo, con la capacidad de calcular el salario
incluyendo un bono anual predefinido.
● La nómina total de la empresa debe calcularse sumando los salarios de todos los empleados registrados.
● El diseño del sistema debe seguir los principios de la programación orientada a objetos (POO), incluyendo
abstracción, encapsulamiento, herencia y polimorfismo.
Paso 3. Desarrolle el código de la solución propuesta
6. RESULTADOS
Todos los procedimientos y resultados obtenidos durante la práctica deben quedar reflejados en la carpeta del
proyecto, la cual deberá comprimir y entregar junto con el diagrama UML.
7. BIBLIOGRAFÍA
Martínez, M. (2020, November 2). ¿Qué es la Programación Orientada a Objetos? Profile Software
Services. Retrieved April 6, 2024, from https://profile.es/blog/que-es-la-programacion-orientada-a-
objetos/
ELABORADO POR: CARGO: FECHA: 22/02/2023
REVISADO POR: