REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA
UNIVERSIDAD POLITÉCNICA TERRITORIAL DE PUERTO CABELLO
PUERTO CABELLO - ESTADO CARABOBO
Proceso de desarrollo de software.
Fundamentos del enfoque orientado a objetos. Características
Prof: Senen Antequera
Autor:
JOSÉ MEDARDO HERRERA VARGAS
V-15949430
PEDRO LUIS PRINCE PINTO
V-30097835
MARWIN GABRIEL FIGUEREDO SALINAS
V-29719468
RONALD ALEJANDRO MARTÍNEZ PÉREZ
V-30179788
Puerto Cabello, mayo del 2024
Tabla de Contenido
Introducción................................................................................................................................. 3
El Proceso de Desarrollo de Software: Un Viaje desde la Idea hasta la Solución.......................4
Desarrollo del Software...........................................................................................................4
Análisis de requisitos......................................................................................................... 4
Diseño.................................................................................................................................5
Implementación.................................................................................................................. 5
Prueba................................................................................................................................. 6
Implementación y Mantenimiento......................................................................................6
Fundamentos del enfoque orientado a objetos........................................................................7
Características del enfoque orientado a objetos......................................................................7
Conclusiones................................................................................................................................ 8
Referencias Bibliográficas........................................................................................................... 9
2
Introducción
El desarrollo de software es un proceso complejo y multifacético que implica la creación
de soluciones informáticas que satisfagan las necesidades de usuarios y empresas. Este
proceso, que abarca desde la concepción de una idea hasta la implementación y el
mantenimiento de un sistema funcional, se ha transformado a lo largo de los años, adaptándose
a las nuevas tecnologías y los desafíos del mercado. Una de las metodologías de desarrollo que
ha ganado gran popularidad y aceptación es el enfoque orientado a objetos, un paradigma que
ofrece una estructura sólida y flexible para el diseño y construcción de sistemas de software.
El enfoque orientado a objetos, a diferencia de las metodologías tradicionales, se basa en
la idea de encapsular datos y funcionalidades en unidades independientes llamadas objetos.
Estos objetos interactúan entre sí a través de mensajes, creando un sistema modular y
escalable que facilita la reutilización de código, la gestión de la complejidad y la adaptación a
cambios futuros.
3
El Proceso de Desarrollo de Software: Un Viaje desde la Idea hasta
la Solución
Desarrollo del Software
El desarrollo de software es un proceso complejo que abarca una serie de etapas
secuenciales, desde la concepción de una idea hasta la implementación y el mantenimiento de
un sistema funcional. Este proceso, independientemente del enfoque elegido (ágil, en cascada,
etc.), sigue un flujo general que garantiza la construcción de software de calidad y que
satisfaga las necesidades del usuario.
El proceso de desarrollo de software, independientemente del enfoque elegido, suele
seguir una serie de pasos secuenciales:
Análisis de requisitos
Esta etapa inicial es crucial para el éxito del proyecto. Se trata de comprender a fondo las
necesidades del usuario y los objetivos del software. Se realiza un estudio exhaustivo del
problema a resolver, incluyendo:
• Identificación de las funciones: Se define con precisión qué funcionalidades debe
tener el software para cumplir con sus objetivos.
• Definición de características: Se establecen las características esenciales del software,
como la interfaz de usuario, la seguridad, la escalabilidad, el rendimiento y la
compatibilidad.
• Restricciones y limitaciones: Se identifican las limitaciones y restricciones que el
software debe cumplir, como el presupuesto, el tiempo de desarrollo, las tecnologías
disponibles y las regulaciones legales.
Esta fase implica una comunicación constante con los usuarios y stakeholders para
recopilar información, aclarar dudas y garantizar que el software se está desarrollando de
acuerdo con las expectativas.
4
Diseño
El diseño es la etapa donde se crea un plan detallado de la estructura del software. Se
define la arquitectura del sistema, se seleccionan las tecnologías a utilizar y se organiza la
estructura de los componentes. El diseño se traduce en diagramas y especificaciones que
sirven como guía para la implementación.
• Diseño de la arquitectura: Se define la estructura general del sistema, incluyendo la
interacción entre los diferentes componentes y la relación con otros sistemas.
• Elección de tecnologías: Se seleccionan las tecnologías más adecuadas para la
implementación del software, teniendo en cuenta el lenguaje de programación, el
framework, la base de datos y otras herramientas.
• Diseño de la interfaz de usuario: Se define el aspecto y la funcionalidad de la interfaz
de usuario, asegurando una experiencia fácil de usar y atractiva para el usuario.
El diseño debe ser flexible y adaptable a las necesidades cambiantes, y debe facilitar la
implementación, el mantenimiento y la expansión del software.
Implementación
La implementación es la etapa donde se traduce el diseño en código fuente, utilizando los
lenguajes de programación elegidos. Se construyen los componentes del software, se integran
con otros sistemas y se realizan pruebas de los componentes individuales.
• Desarrollo del código: Los programadores escriben el código fuente del software,
siguiendo las especificaciones del diseño.
• Integración de componentes: Se integran los diferentes componentes del software,
creando un sistema funcional.
• Pruebas unitarias: Se realizan pruebas de los componentes individuales para verificar
que funcionan correctamente.
Esta etapa requiere un control de calidad estricto para asegurar que el código es de alta
calidad, legible, eficiente y que cumple con las especificaciones del diseño.
5
Prueba
La etapa de prueba es crucial para garantizar la calidad del software. Se verifica la
funcionalidad del software, se detectan errores y se realizan correcciones. Existen diferentes
tipos de pruebas:
• Pruebas de unidad: Se prueban los componentes individuales para verificar que
funcionan correctamente.
• Pruebas de integración: Se prueba la interacción entre los diferentes componentes del
software.
• Pruebas de aceptación: Se realizan pruebas con usuarios reales para verificar que el
software cumple con los requisitos y funciona correctamente en diferentes escenarios.
Las pruebas deben ser exhaustivas para detectar y corregir cualquier error o problema
antes de que el software se implemente en el ambiente final.
Implementación y Mantenimiento
La implementación final consiste en instalar el software en el ambiente final, configurar
el sistema y capacitar a los usuarios. La etapa de mantenimiento abarca la resolución de
problemas, la actualización del software y la adaptación a las nuevas necesidades que surjan
con el tiempo.
• Instalación y configuración: Se instala el software en los servidores o equipos
necesarios, se configura el sistema y se realiza la conexión con otros sistemas.
• Capacitación de usuarios: Se capacita a los usuarios en el uso del software,
asegurándose de que puedan utilizar el sistema de forma efectiva.
• Mantenimiento correctivo: Se corrigen los errores y problemas que se detecten
durante el uso del software.
• Mantenimiento evolutivo: Se adaptan el software a las nuevas necesidades del
usuario, se agregan nuevas funcionalidades y se actualizan las existentes.
El mantenimiento es una etapa fundamental para garantizar que el software sigue
funcionando correctamente y se adapta a las necesidades cambiantes de los usuarios.
6
Fundamentos del enfoque orientado a objetos
El enfoque orientado a objetos (OOP) es un paradigma de programación que ofrece un
conjunto de principios y técnicas para la construcción de sistemas de software basados en la
idea de "objetos". Estos objetos encapsulan datos y funcionalidades, operando como unidades
independientes que interactúan entre sí a través de mensajes.
Características del enfoque orientado a objetos
• Encapsulación: Los datos y las operaciones de un objeto se agrupan y se ocultan al
exterior, permitiendo el control de acceso y la protección de la información.
• Abstracción: Se define una interfaz simplificada del objeto, ocultando los detalles de
su implementación. Esto facilita el uso del objeto sin necesidad de conocer su código
interno.
• Herencia: Permite crear nuevos objetos (clases) basados en objetos existentes (clases
padre), heredando sus propiedades y comportamientos. Esto facilita la reutilización de
código y la construcción de sistemas complejos de forma más eficiente.
• Polimorfismo: Permite que diferentes objetos respondan a un mismo mensaje de
forma diferente. Esto facilita la flexibilidad y la extensibilidad del software,
adaptándolo a diferentes necesidades.
7
Conclusiones
El desarrollo de software es un campo en constante evolución, donde la innovación
tecnológica juega un papel crucial. El enfoque orientado a objetos ha demostrado ser una
metodología poderosa y versátil para el diseño y construcción de sistemas de software
modernos, facilitando la creación de aplicaciones robustas, escalables y mantenibles.
Entender los fundamentos de este paradigma y su aplicación en el proceso de desarrollo
de software es fundamental para la creación de soluciones eficientes que satisfagan las
necesidades de usuarios y empresas. La combinación de un proceso de desarrollo estructurado
con las ventajas del enfoque orientado a objetos permite construir sistemas de software de alta
calidad, adaptándose a las nuevas tecnologías y los desafíos del futuro.
8
Referencias Bibliográficas
Booch, G. (2007). Object-oriented analysis and design with applications. Addison-Wesley
Professional.
Rumbaugh, J., Jacobson, I., & Booch, G. (1999). The unified modeling language reference
manual. Addison-Wesley Professional.
Fowler, M. (2004). UML distilled: A brief guide to the standard object modeling language.
Addison-Wesley Professional.
Sommerville, I. (2011). Software engineering. Pearson Education.
Pressman, R. S. (2010). Software engineering: A practitioner's approach. McGraw-Hill
Education.