2 ciclo de vida de desarrollo de software

13
Ciclo de Vida del Desarrollo de Sistemas

Upload: juan-alvarado

Post on 15-Jan-2016

214 views

Category:

Documents


0 download

DESCRIPTION

ciclo de vida

TRANSCRIPT

Page 1: 2 Ciclo de Vida de Desarrollo de Software

Ciclo de Vida del Desarrollo de Sistemas

Page 2: 2 Ciclo de Vida de Desarrollo de Software

Introducción

• La solución de problemas haciendo uso de herramientas computacionales requiere de una serie de pasos que permitan una evolución coherente y progresiva, para ir desde el problema planteado, hasta hallar una solución interpretable en el computador, la cual se denomina programa.

• Para realizar esta transición, es necesario tomar algunos elementos de la Ingeniería del Software que nos permitirán de una manera sistemática comprender los diferentes aspectos necesarios para producir una solución de software y así llegar a la solución.

Page 3: 2 Ciclo de Vida de Desarrollo de Software

Ingeniería del Desarrollo de los Sistemas

• La ingeniería del software permite al diseñador de programas, realizar su tarea de construcción de software como un problema de ingeniería haciendo uso de guías, principios y normas que le permitirán el correcto desarrollo de su labor. Adicionalmente, dispondrá de un conjunto de herramientas que le permitirán la evaluación, validación, depuración y corrección del software desarrollado.

Page 4: 2 Ciclo de Vida de Desarrollo de Software

Ciclo de Vida de Desarrollo de Sistemas

• Es la forma mediante la cual se describen los diferentes pasos que se deben seguir para el desarrollo de un software, partiendo desde una necesidad hasta llegar a la puesta en marcha de una solución y su apropiado mantenimiento. El ciclo de vida para un software comienza cuando se tiene la necesidad de resolver un problema, y termina cuando el programa que se desarrolló para cumplir con los requerimientos, deja de ser utilizado.

• Existen varias versiones del ciclo de vida del software entre las cuales se destacan: el ciclo de vida clásico o en cascada, el modelo en espiral, el desarrollo de prototipos, el modelo por incrementos y el modelo extremo

Page 5: 2 Ciclo de Vida de Desarrollo de Software

Etapas del Ciclo de Vida del Software

El Ciclo de Vida de un Sistema de Información comprende las siguientes etapas:• Planificación• Diseño• Implementación• Pruebas• Instalación• Despliegue• Uso y Mantenimiento

Page 6: 2 Ciclo de Vida de Desarrollo de Software

Planificación

En esta etapa el analista luego de un minucioso y detallado estudio de los sistemas de una organización, detecta un problema o una necesidad que para su solución y/o satisfacción es necesario realizar un desarrollo de software.• Ámbito del proyecto• Estudio de viabilidad• Análisis de riesgos• Estimación• Planificación temporal• Asignación de recursos.

Page 7: 2 Ciclo de Vida de Desarrollo de Software

Análisis

En esta etapa se debe entender y comprender de forma detallada cual es la problemática a resolver, verificando el entorno en el cual se encuentra dicho problema, de tal manera que se obtenga la información necesaria y suficiente para afrontar su respectiva solución. Esta etapa es conocida como la del QUÉ se va a solucionar.• Licitación de requerimientos (funcionales y no

funcionales)• Modelado de datos y de procesos

Page 8: 2 Ciclo de Vida de Desarrollo de Software

Diseño

Una vez que se tiene la suficiente información del problema a solucionar, es importante determinar la estrategia que se va a utilizar para resolver el problema. Esta etapa es conocida bajo el CÓMO se va a solucionar.• (¿cómo?): Estudio de alternativas y diseño

arquitectónico• Diseño de la base de datos• Diseño de las aplicaciones

Page 9: 2 Ciclo de Vida de Desarrollo de Software

Implementación

Partiendo del análisis y diseño de la solución, en esta etapa se procede a desarrollar el correspondiente programa que solucione el problema mediante el uso de una herramienta computacional determinada.

Hemos de seleccionar las herramientas adecuadas, un entorno de desarrollo que facilite nuestro trabajo y un lenguaje de programación apropiado para el tipo de sistema que vayamos a construir.

También hemos de encargarnos de la adquisición de todos los recursos necesarios para que el sistema funcione (por ejemplo, las licencias de uso del sistema gestor de bases de datos que vayamos a utilizar).

Page 10: 2 Ciclo de Vida de Desarrollo de Software

PruebasLos errores humanos dentro de la programación de los computadores son muchos y aumentan considerablemente con la complejidad del problema. Cuando se termina de escribir un programa de computador, es necesario realizar las debidas pruebas que garanticen el correcto funcionamiento de dicho programa bajo el mayor número de situaciones posibles a las que se pueda enfrentar.

Las pruebas de unidad sirven para comprobar el correcto funcionamiento de un componente concreto de nuestro sistema. Es este tipo de pruebas, el "probador“ debe buscar situaciones límite que expongan las limitaciones de la implementación del componente, ya sea tratando éste como una caja negra ("pruebas de caja negra") o fijándonos en su estructura interna ("pruebas de caja blanca").

Las pruebas de integración son las que se realizan cuando vamos juntando los componentes que conforman nuestro sistema y sirven para detectar errores en sus interfaces. En algunas empresas, como Microsoft, se hace una compilación diaria• utilizando los componentes del sistema tal como estén en ese momento (daily• build) y se somete al sistema a una serie de pruebas básicas (la prueba de humo,• smoke test) que garanticen que el proyecto podrá seguir avanzando al día

Page 11: 2 Ciclo de Vida de Desarrollo de Software

Instalación

Una vez concluidas las etapas de desarrollo de un sistema de información (análisis, diseño, implementación y pruebas), llega el instante de que poner el sistema en funcionamiento, su instalación o despliegue.

De cara a su instalación, hemos de planificar el entorno en el que el sistema debe funcionar, tanto hardware como software: equipos necesarios y su configuración física, redes de interconexión entre los equipos y de acceso a sistemas externos, sistemas operativos (actualizados para evitar problemas de seguridad), bibliotecas y componentes suministrados por terceras partes, etcétera.

Page 12: 2 Ciclo de Vida de Desarrollo de Software

Uso y MantenimientoUna vez instalado un programa y puesto en marcha para realizar la solución del problema previamente planteado o satisfacer una determinada necesidad, es importante mantener una estructura de actualización, verificación y validación que permitan a dicho programa ser útil y mantenerse actualizado según las necesidades o requerimientos planteados durante su vida útil. Para realizar un adecuado mantenimiento, es necesario contar con una buena documentación del mismo.La etapa de mantenimiento consume típicamente del 40 al 80 por ciento de los recursos de una empresa de desarrollo de software. De hecho, con un 60% de media, es probablemente la etapa más importante del ciclo de vida del software. Dada la naturaleza del software, que ni se rompe ni se desgasta con el uso, su mantenimiento incluye tres facetas diferentes:• Eliminar los defectos que se detecten durante su vida útil (mantenimiento correctivo), lo

primero que a uno se le viene a la cabeza cuando piensa en el mantenimiento de cualquier cosa.

• Adaptarlo a nuevas necesidades (mantenimiento adaptativo), cuando el sistema ha de funcionar sobre una nueva versión del sistema operativo o en un entorno hardware diferente, por ejemplo.

• Añadirle nueva funcionalidad (mantenimiento perfectivo), cuando se proponen características deseables que supondrían una mejora del sistema ya existente.

Page 13: 2 Ciclo de Vida de Desarrollo de Software

Ciclo de Vida del Desarrollo de Sistemas