Full Transcript

CURSO INGENIERÍA DE SOFTWARE I TEMA Ciclo de vida del software SEMANA N.º 02 Ref: https://www.flaticon.es/icono-gratis/base-de- datos_9422940 DOCENT...

CURSO INGENIERÍA DE SOFTWARE I TEMA Ciclo de vida del software SEMANA N.º 02 Ref: https://www.flaticon.es/icono-gratis/base-de- datos_9422940 DOCENTE: Ing. Jesús Alfonso Novaro Arróspides Logro de la sesión: Al término de la sesión el estudiante, será capaz de: Conocer el ciclo de vida del software y los modelos de construcción de software. Contenidos de la sesión: Ciclo de vida del software Etapas del ciclo de vida del software Modelos de ciclos de vida del software Ciclo de Vida del Software El ciclo de vida del software nos permite identificar, administrar y planificar la gestión de recursos hasta alcanzar un objetivo propuesto. La cantidad de fases que encontramos en cada proyecto variará según las necesidades de cada empresa. Conocer el ciclo de vida de un proyecto permite controlar mejor sus fases y reducir situaciones innecesarias. En cualquier proyecto, las fases son las mismas, aunque cada proyecto requiere su propio conjunto único de procesos. Normalmente, encontramos una fase inicial, un proceso de desarrollo y un producto final. A este patrón se le denomina ciclo de vida de un software. Etapas del ciclo de vida del software Planificación Mantenimient o Análisis Implementa Diseño ción Pruebas Desarrollo 1- Fase de Planificación Esta será una de las primeras fases, en la cual, se trazan objetivos y se valoran las necesidades del proyecto en cuestión. Las tareas iniciales consisten en realizar un estudio de viabilidad, analizar los riesgos que puede comportar el proyecto y planificar todas las fases posteriores. A continuación, se documentan en detalle las funcionalidades, características y objetivos que debe cumplir el ciclo de vida del proyecto. 2- Fase de Análisis En la fase de análisis de un proyecto definimos que funciones ejecutará el software y cuáles son sus características específicas. Este aspecto es clave a la hora de optimizar la asignación de costes y determinar la envergadura del proyecto. La asignación de costes es una de las tareas más complejas dentro de un proyecto de desarrollo de software, ya que se debe estimar al inicio, cuando menos conocemos el proyecto y mayor es el margen de error. Afortunadamente, la experiencia en proyectos similares y la fragmentación del proyecto por tareas nos facilita mucho el hecho de presupuestar adecuadamente. 3- Diseño y estructura del software Una vez que disponemos de toda la información que precisa nuestro proyecto, estudiaremos las posibles alternativas y estableceremos la estructura de la base de datos, la lógica del flujo de datos y la interfaz de usuario de la aplicación. 4- Fase de Desarrollo de un Software Cuando ya hemos definido la estructura de nuestro software, llega el momento de empezar con la programación. Escoger el lenguaje de programación adecuado a nuestro proyecto y disponer de un equipo de programadores expertos es fundamental. Seguir el código de buenas prácticas permitirá que nuestro proyecto sea fácilmente escalable. 5- Fase de Pruebas Una vez terminado el proceso de desarrollo empieza el testeo y la fase de pruebas de la aplicación. En esta etapa ponemos a prueba los errores que hayan podido aparecer en las etapas anteriores. Es una fase de corrección, eliminación y perfeccionamiento de posibles fallos, no previsto en los pasos previos. 6- Implementación La siguiente fase es poner el software en funcionamiento, por lo que hay que planificar el entorno teniendo en cuenta las dependencias existentes entre los diferentes componentes del mismo. Es posible que haya componentes que funcionen correctamente por separado, pero que al combinarlos provoquen problemas. Por ello, hay que usar combinaciones conocidas que no causen problemas de compatibilidad. 7- Fase de Mantenimiento En este periodo el software ya está en funcionamiento. Con el tiempo alguna función puede quedar obsoleta, pueden detectarse algunas limitaciones o que aparezcan propuestas que mejoren la estabilidad del proyecto. Modelos de ciclos de vida del software Con el fin de facilitar una metodología común entre el cliente y la compañía de software, los modelos de ciclo de vida (o paradigmas de desarrollo de software como la programación orientada a objetos) se han actualizado para plasmar las etapas de desarrollo involucradas y la documentación necesaria, de forma que cada fase se valide antes de continuar con la siguiente. Modelo en cascada En el modelo de ciclo de vida en cascada las fases anteriores funcionarán una detrás de la otra de manera lineal. De este modo, solo cuando una fase termine se podrá continuar con la siguiente, y así progresivamente. Modelo repetitivo Este modelo guía el proceso de desarrollo de software en repeticiones. Así, proyecta el proceso de desarrollo de modo cíclico repitiendo cada paso después de cada ciclo en el proceso de ciclo de vida del software. Modelo en espiral El modelo de desarrollo en espiral se organiza en distintas fases. La espiral conforma un conjunto de actividades, en la que cada bucle o iteración representa un conjunto. En un primer momento, se definen los objetivos con el fin de empezar con la fase de desarrollo. A continuación, se evalúan las posibles mejoras, finalizando con la fase de mantenimiento. Modelo en V También conocido como el modelo de verificación y validación, el modelo en V aborda los pasos de manera secuencial, pero en forma de "V". Es una extensión del método en cascada, pero en este caso, las pruebas se realizan en cada fase del desarrollo, en lugar de producirse en una sola fase. Modelo de prototipos El modelo de prototipo permite al usuario obtener una visión previa de las principales características del software. Debe ser construido en poco tiempo y la aplicación representará los aspectos del proyecto que serán visibles para el cliente final. Una vez testeada por los usuarios, aparecerán necesidades que se habían pasado por alto y esto conlleva a la realización de nuevas versiones hasta que se desarrolle el sistema o producto final. Modelo Big Bang Probablemente este sea el modelo más simple, ya que necesita poca planificación, mucha programación y muchos fondos. Este modelo tiene como concepto principal la creación del universo; así, si se reúnen fondos y programación, se consigue el mejor producto de software. Actividad – Aplicación En equipos organizados al azar desarrollan lo siguiente: Leer el artículo brindado por el docente y elaborar un organizador gráfico y exponerlo en equipo. Agregar ejemplos. Ref: https://www.freepik.es/fotos-vectores-gratis/persona- pensando Retroalimentación en base a preguntas Cierre ¿Cuáles son las etapas del ciclo de vida del software? ¿Qué modelo considerarías en el desarrollo de tu proyecto? ¿Por qué es importante el ciclo de vida del software? Referencias Bibliográficas https://www.servicenow.com/es/products/devops/what-is- sdlc.html#:~:text=El%20ciclo%20de%20vida%20de%20desarrollo%20del%20software% 20es%20el,informaci%C3%B3n%20en%20hardware%20y%20software. https://intelequia.com/es/blog/post/ciclo-de-vida-del-software-todo-lo-que- necesitas-saber https://evotic.es/software-a-medida/ciclo-de-vida-del-software/ https://www.codingdojo.la/2023/06/16/guia-del-ciclo-de-vida-del-desarrollo-de- software/