09 Oct
Ciclo de Vida del Software
Modelo de Ciclo de Vida Clásico o Cascada
1ª Fase Análisis: Consiste en la recopilación de los requisitos del software. Se debe comprender el ámbito de información del software así como la función, el rendimiento y las interfaces requeridas.
2ª Fase Diseño: Consiste en descomponer y organizar el sistema en elementos componentes que puedan ser desarrollados por separado.
3ª Fase Codificación: En esta fase se traduce el diseño a un lenguaje legible para el computador.
4ª Fase Integración: Consiste en probar el sistema completo para garantizar el funcionamiento correcto del conjunto antes de ser puesto en explotación.
5ª Fase Mantenimiento: Puede ocurrir que durante la explotación del sistema sea necesario realizar cambios para corregir errores que no han sido detectados en las fases anteriores o bien para introducir mejoras.
Modelo en V
En este modelo hay un reconocimiento explícito de las diferentes alternativas para alcanzar los objetivos del proyecto.
Se centra en la identificación de los riesgos asociados a cada alternativa y en la manera de resolver dichos riesgos.
Los proyectos se dividen en ciclos (ciclos de la espiral) avanzándose en el desarrollo mediante consensos al final de cada ciclo.
Se adapta a cualquier tipo de actividad:
- Planificación: Se identifican los objetivos, las alternativas y las restricciones de la fase.
- Análisis de Riesgos: Aquí se llevan a cabo el análisis de las alternativas e identificación y resolución de los riesgos.
- Ingeniería del Software: Es donde se desarrolla el producto que corresponde a ese ciclo.
- Evaluación por parte del cliente: Valora los resultados que se obtienen de la ingeniería y se planifica el siguiente ciclo.
Modelo Espiral
Este modelo se basa en una serie de ciclos repetitivos que se van refinando progresivamente. Cada ciclo incluye las siguientes fases:
- Determinación de objetivos: Se definen los objetivos específicos del ciclo.
- Análisis de riesgos: Se identifican y evalúan los riesgos potenciales.
- Desarrollo y prueba: Se lleva a cabo el desarrollo del software y se realizan las pruebas correspondientes.
- Planificación del siguiente ciclo: Se planifica el siguiente ciclo en función de los resultados del ciclo actual.
Mantenimiento del Software
Mantenimiento Correctivo: Tiene como finalidad corregir errores en el producto software que no han sido detectados y eliminados durante el desarrollo inicial del mismo.
Mantenimiento Adaptativo: Se produce en aplicaciones cuya explotación dura bastante años, de manera que los elementos básicos HW y SW que constituyen la plataforma o entorno en que se ejecutan evolucionan, modificándose parcialmente la interfaz ofrecida a las aplicaciones que corren sobre ellos.
Mantenimiento Perfectivo: Es necesario para obtener versiones mejoradas del producto que permitan mantener o aumentar el éxito del mismo.
Ingeniería Inversa
Actividad que se ocupa de descubrir cómo funciona un programa, función o característica de cuyo código fuente no se dispone, hasta el punto de poder modificar ese código o generar código propio.
Reingeniería
Consiste en generar un sistema bien organizado y documentado a partir del sistema inicial deficiente.
Herramientas CASE
Conjunto de programas o aplicaciones informáticas que dan asistencia a los analistas, ingenieros de software y desarrolladores durante todos los pasos del Ciclo de Vida de desarrollo de un Software.
CASE: Es la automatización de métodos existentes de Ingeniería del Software con el objetivo de mejorar la calidad del producto junto con la eficiencia de los desarrolladores de software.
UML: Es un lenguaje para especificar, construir, visualizar y documentar los artefactos de un sistema de software orientado a objetos. Un artefacto es una información que es utilizada o producida mediante un proceso de desarrollo de software.
Características de los Generadores de Código
- Lenguaje generado: Si se trata de un lenguaje estándar o un lenguaje propietario.
- Portabilidad del código generado: Capacidad para poder ejecutarlo en diferentes plataformas físicas y/o lógicas.
- Generación del esqueleto del programa o del programa completo: Si únicamente genera el esqueleto será necesario completar el resto mediante programación.
- Posibilidad de modificación del código generado: Suele ser necesario acceder directamente al código generado para optimizarlo o completarlo.
- Generación del código asociado a las pantallas e informes de la aplicación.
Pruebas de Código
- Adquisición de datos: herramientas que adquieren datos que se utilizaran durante la prueba.
- Medida estática: herramientas que analizan el código fuente sin ejecutar casos de prueba.
- Medida dinámica: herramientas que analizan el código fuente durante la ejecución.
- Simulación: herramientas que simulan las funciones del hardware o de otros elementos externos.
- Administración de comprobaciones: herramientas que prestan su asistencia en la planificación, desarrollo y control de las comprobaciones.
- Herramientas de funcionalidad cruzada: se trata de herramientas que cruzan los límites de las categorías anteriores.
Deja un comentario