Unidad I Introducción y Fundamentos de Testing de Software 1 www.inacap.cl ¿Qué es una Metodología de Desarrollo de Proyectos? Una metodología de desarrollo de proyectos es un enfoque sistemático y estructurado que proporciona pautas y procesos para la ejecución exitosa de un proyecto. Estas metodologías establecen un marco de trabajo que define cómo se planifica, ejecuta, controla y cierra un proyecto específico. En el contexto del desarrollo de software, las metodologías son especialmente importantes ya que ayudan a gestionar la complejidad inherente a la creación de software, asegurando la entrega oportuna y eficaz de productos de alta calidad. www.inacap.cl Modelo Cascada El Modelo Cascada es un proceso de desarrollo secuencial de proyectos que suele utilizarse en el desarrollo de software. Esta metodología concibe el trabajo en un conjunto de etapas que deben ejecutarse una tras otra. Su nombre viene dado por las diferentes fases que componen el proyecto, ya que deben colocarse una encima de otra siguiendo un orden concreto y estricto de arriba hacia abajo. No podemos, por ejemplo, empezar la fase de diseño sin haber terminado la de los requisitos. El modelo Cascada impulsa la filosofía paso a paso, por bloques de tareas. www.inacap.cl Fases del Modelo Cascada: www.inacap.cl Fase 1: Definición de Requerimientos La definición o análisis de requerimientos es la primera fase crucial en el modelo en cascada, donde se establece la base para todo el proyecto. En esta etapa, el equipo se centra en comprender a fondo las necesidades del cliente y definir los requisitos del sistema que guiarán el desarrollo del software. www.inacap.cl Fase 1: Definición de Requerimientos Funciones Principales: 1.Consulta con los usuarios: Se realizan reuniones y entrevistas con los usuarios finales y las partes interesadas para comprender sus necesidades, expectativas y requisitos del sistema. 2.Identificación de servicios, restricciones y metas: Se analizan y documentan los servicios que debe proporcionar el sistema, las restricciones técnicas y de negocio que deben ser consideradas, y las metas que se espera alcanzar con el proyecto. 3.Detallar los requisitos del sistema: Los requisitos del sistema se definen de manera detallada y específica, abordando tanto los requisitos funcionales (las funciones que el sistema debe realizar) como los requisitos no funcionales (como la usabilidad, el rendimiento y la seguridad). www.inacap.cl Fase 1: Definición de Requerimientos Importancia : • Establece una comprensión clara y compartida entre el equipo de desarrollo y los interesados sobre qué se espera del sistema. • Ayuda a evitar malentendidos y discrepancias durante las etapas posteriores del proyecto. • Sirve como una guía para el diseño, implementación y prueba del software, asegurando que el producto final cumpla con las expectativas del cliente. www.inacap.cl Fase 1: Definición de Requerimientos Consideraciones : • La calidad del análisis de requisitos tiene un impacto significativo en el éxito del proyecto. Por lo tanto, es fundamental dedicar tiempo y recursos adecuados a esta fase inicial del proceso de desarrollo de software. • Se deben utilizar técnicas apropiadas, como entrevistas, encuestas, talleres y prototipado rápido, para recopilar y validar los requisitos del sistema de manera efectiva. www.inacap.cl Fase 2: Diseño del Sistema y del Software Durante esta etapa, se elabora un plan detallado que guiará la construcción del sistema y el software. Se establece cómo será el producto final y se define el funcionamiento de sus partes principales, sentando las bases para la implementación del proyecto. www.inacap.cl Fase 2: Diseño del Sistema y del Software Funciones Principales: 1. Establecimiento de la arquitectura del sistema: 1. Se define la estructura global del sistema, identificando los componentes principales y sus interacciones. 2. Se seleccionan las tecnologías y plataformas adecuadas para implementar la arquitectura definida. 2. Descripción de las partes del sistema: 1. Se detallan las características y funcionalidades de cada componente del sistema. 2. Se establecen las interfaces entre los diferentes módulos y componentes del software. www.inacap.cl Fase 2: Diseño del Sistema y del Software Importancia: 1. Proporciona una visión clara de la estructura del sistema antes de la implementación: Permite a los desarrolladores comprender la complejidad del sistema y planificar adecuadamente las actividades de desarrollo. 2. Sirve como guía para el desarrollo, asegurando la coherencia y la eficiencia del software: El diseño del sistema establece los estándares y las mejores prácticas que deben seguirse durante la implementación del software. www.inacap.cl Fase 2: Diseño del Sistema y del Software Consideraciones: • Es crucial involucrar a todos los miembros del equipo en el proceso de diseño para garantizar que se consideren todas las perspectivas y necesidades. • El diseño del sistema sienta las bases para el éxito del proyecto, por lo que debe ser exhaustivo y estar bien documentado para facilitar su comprensión y seguimiento. www.inacap.cl Fase 3: Implementación y Prueba Durante esta etapa, se procede con la codificación del software según el diseño previamente establecido. Cada componente o unidad de software es desarrollado individualmente y luego sometido a pruebas exhaustivas para verificar su funcionamiento de acuerdo con las especificaciones definidas. www.inacap.cl Fase 3: Implementación y Prueba Funciones Principales: 1.Codificación del Software: 1. Se desarrollan las diferentes partes del software basándose en el diseño previo. 2. Se utiliza el código generado para crear las unidades de software planificadas. 2.Prueba de Unidad: 1. Cada unidad de software es probada individualmente para verificar su correcto funcionamiento. 2. Se utilizan técnicas de prueba para identificar y corregir posibles errores en cada componente. www.inacap.cl Fase 3: Implementación y Prueba Importancia: 1. Garantiza la Conformidad con los Requisitos: La implementación y prueba de unidad asegura que cada componente cumpla con las especificaciones establecidas en el diseño. 2. Detecta Errores Tempranos: Identificar y corregir errores a nivel de unidad ayuda a prevenir problemas más grandes durante las etapas posteriores del desarrollo. www.inacap.cl Fase 3: Implementación y Prueba Consideraciones: • Es fundamental llevar a cabo pruebas exhaustivas durante esta fase para garantizar la calidad y fiabilidad del software. • La colaboración estrecha entre los desarrolladores y los equipos de pruebas es crucial para una implementación exitosa y una detección temprana de problemas. www.inacap.cl Fase 4: Integración y Prueba de Sistema Durante esta etapa, se ensamblan todas las partes del software desarrolladas previamente en una entidad cohesiva y se someten a pruebas integrales como un sistema completo. El objetivo principal es verificar que las diferentes unidades de software funcionen correctamente juntas y que el sistema completo cumpla con los requisitos y expectativas del cliente. www.inacap.cl Fase 4: Integración y Prueba de Sistema Funciones Principales: 1.Integración del Software: 1. Se combinan todas las unidades de software para formar el sistema completo. 2. Se asegura que los componentes individuales se conecten correctamente y funcionen de manera conjunta. 2.Prueba de Sistema: 1. Se realizan pruebas exhaustivas para evaluar el funcionamiento general del sistema. 2. Se verifican aspectos como la funcionalidad, el rendimiento, la seguridad y la compatibilidad del software. www.inacap.cl Fase 4: Integración y Prueba de Sistema Importancia: 1. Verifica la Funcionalidad Completa del Sistema: La integración y prueba de sistema garantiza que todas las partes del software funcionen correctamente juntas como un todo cohesivo. 2. Detecta Problemas de Interoperabilidad: Se identifican y corrigen posibles problemas de comunicación o integración entre los componentes del sistema. www.inacap.cl Fase 4: Integración y Prueba de Sistema Consideraciones: • Es esencial llevar a cabo pruebas exhaustivas para garantizar que el sistema funcione según lo esperado y cumpla con los requisitos del cliente. • La retroalimentación constante entre los equipos de desarrollo y pruebas es crucial para abordar y solucionar cualquier problema que surja durante esta fase. www.inacap.cl Fase 5: Operación y Mantenimiento En esta etapa final, el sistema desarrollado se implementa y se pone en funcionamiento para su uso por parte del cliente. Además, se lleva a cabo el mantenimiento continuo del software para garantizar su rendimiento óptimo y su capacidad de adaptación a las necesidades cambiantes del usuario. www.inacap.cl Fase 5: Operación y Mantenimiento Funciones Principales: 1.Implementación del Sistema: 1. Se instala y configura el software en el entorno operativo del cliente. 2. Se realiza cualquier configuración adicional necesaria para que el sistema esté listo para su uso. 2.Soporte y Mantenimiento: 1. Se proporciona soporte continuo para abordar cualquier problema o error que surja durante el uso del sistema. 2. Se realizan actualizaciones y mejoras periódicas para mantener el software actualizado y compatible con los cambios en el entorno operativo. www.inacap.cl Fase 5: Operación y Mantenimiento Importancia: 1. Garantiza la Utilidad Continua del Sistema: La operación y el mantenimiento aseguran que el sistema siga siendo funcional y útil a lo largo del tiempo, proporcionando un valor continuo al cliente. 2. Adapta el Software a las Necesidades Cambiantes: El mantenimiento permite realizar ajustes y mejoras en el software para satisfacer las necesidades en evolución del usuario y mantenerlo relevante en un entorno en constante cambio. www.inacap.cl Fase 5: Operación y Mantenimiento Consideraciones: •La colaboración estrecha entre los equipos de desarrollo y el cliente es esencial durante esta fase para garantizar una operación fluida del sistema y una respuesta rápida a cualquier problema que surja. •El ciclo de vida del software no termina con la implementación inicial, sino que continúa con el soporte y mantenimiento a largo plazo para garantizar la eficacia y el valor del producto entregado. www.inacap.cl Ventajas del Modelo en Cascada • Estructura Claramente Definida: El modelo en cascada proporciona una estructura clara y bien definida para el desarrollo de software, lo que facilita la planificación y ejecución del proyecto. • Visibilidad y Control: Cada fase del proceso produce resultados tangibles y documentación específica, lo que brinda una mayor visibilidad y control sobre el progreso del proyecto. • Adecuado para Requisitos Estables: Es ideal para proyectos donde los requisitos del cliente son estables y bien comprendidos desde el principio, ya que el modelo se basa en una planificación exhaustiva desde el inicio. www.inacap.cl Limitaciones del Modelo en Cascada • Partición Inflexible del Proyecto: El principal problema del modelo en cascada radica en su rigidez para adaptarse a cambios en los requisitos del cliente. La partición inflexible del proyecto en etapas puede dificultar la respuesta a los cambios durante el desarrollo. • Compromisos Tempranos: El modelo en cascada requiere establecer compromisos tempranos en el proceso de desarrollo, lo que puede ser problemático cuando los requisitos del cliente no están completamente definidos o cambian con el tiempo. www.inacap.cl Limitaciones del Modelo en Cascada • Costos de Producción y Aprobación de Documentos: Las iteraciones en el modelo en cascada pueden ser costosas debido a los procesos de producción y aprobación de documentos. Esto puede resultar en un rediseño significativo y retrasos en el desarrollo. • Posible Falta de Cumplimiento de Requisitos: El freno prematuro de los requisitos puede llevar a sistemas que no cumplen completamente con las expectativas del cliente, ya que los problemas pueden ser ignorados o pospuestos para resolverse más tarde en el ciclo de vida del software. www.inacap.cl Ejemplo: Desarrollo de un Sistema de Gestión de Biblioteca Fase 1: Definición de Requerimientos • Consulta con usuarios y bibliotecarios para entender sus necesidades y expectativas. • Identificación de servicios clave como préstamos, reservas y gestión de inventario. • Genera documentación detallada de requisitos funcionales y no funcionales. www.inacap.cl Ejemplo: Desarrollo de un Sistema de Gestión de Biblioteca Fase 2: Diseño del Sistema y del Software • Establecimiento de la arquitectura del sistema, incluyendo la estructura de la base de datos y la interfaz de usuario. • Definición de componentes de software como módulos de préstamos, catálogo y gestión de usuarios. www.inacap.cl Ejemplo: Desarrollo de un Sistema de Gestión de Biblioteca Fase 3: Implementación y Prueba de Unidad • Codificación de los módulos del sistema según las especificaciones del diseño. • Prueba de cada módulo individualmente para garantizar su funcionamiento correcto. www.inacap.cl Ejemplo: Desarrollo de un Sistema de Gestión de Biblioteca Fase 4: Integración y Prueba de Sistema • Ensamblaje de los módulos para formar el sistema completo de gestión de biblioteca. • Realización de pruebas integrales para verificar la funcionalidad, seguridad y rendimiento del sistema. www.inacap.cl Ejemplo: Desarrollo de un Sistema de Gestión de Biblioteca Fase 5: Operación y Mantenimiento • Implementación del sistema en la biblioteca, incluyendo la migración de datos y capacitación del personal. • Ofrecimiento de soporte continuo para resolver problemas y actualizaciones periódicas para mejorar el sistema según las necesidades del usuario. www.inacap.cl