B3T1 - CONCEPTO DEL CICLO DE VIDA DE LOS SISTEMAS Y FASES. MODELOS DE CICLO DE VIDA Flashcards
¿Qué es el software?
Es esencialmente un conjunto de instrucciones (programas) que proporcionan la funcionalidad requerida, los datos relacionados y los documentos. Elemento lógico no físico.
¿De qué tres componentes consta el Software?
- Programas (código)
- Datos (BBDD)
- Documentacíon (Ojo!! Que también es parte del SW)
Caracteristicas del Software
- El software se desarrolla, no se fabrica
- El software no se estropea, pero se deteriora (mantenimiento)
- El software se construye a medida
¿Qué es una aplicación vertical?
Aplicaciones para una funcionalidad concreta para unos usuarios concretos
¿Qué es una aplicación horizontal?
Aplicaciones con uso amplio, común para otras aplicaciones. Servicios comunes. Pe.: Clave firma
Servicios comunes de AGE: para todos los organismos.
¿Qué es la ingeniería del software?
La aplicación de un enfoque sistemático, disciplinado y cuantificable al desarrollo, operación (funcionamiento) y mantenimiento del software (IEEE, 1993).
Las 4 épocas de la ingeniería del software
- 1950 - 1965: Computadoras enormes
- 1965 - 1975: Interacción humano-maquina. Terminales tontos
- 1975 - 1990: Sistemas distribuidos
- 1990 - Now: Toma de decisiones. Herramientas CASE. Software de AI.
¿Qué sintomas presenta la crisis del software?
- Expectativas: los sistemas no responden a las expectativas que de ellos tienen los usuarios.
- Fiabilidad: los programas fallan demasiado a menudo.
- Costo: los costos del software son muy difíciles de prever y, frecuentemente, son muy superiores a lo esperado.
- Plazos: el software se suele entregar tarde y con menos prestaciones de las ofertadas.
- Portabilidad: es difícil cambiar un programa de su entorno hardware, aun cuando las tareas a realizar son las mismas.
- Mantenimiento: la modificación del software es una tarea costosa, compleja y propensa a errores.
- Eficiencia: los esfuerzos que se hacen para el desarrollo del software no hacen un aprovechamiento óptimo de los recursos disponibles (personas, tiempo, dinero, herramientas, etc.).
Etapas de la ingeniería del software
- FASE DE DEFINICIÓN (¿Qué hacer?)
- Análisis de Requisitos: Lo importante desde el punto de vista del usuario.
- Especificación:
- Diseño y arquitectura: Nos llevamos los requisitos a una tecnología concreta.
- FASE DE DESARROLLO (¿Cómo hacerlo?)
- Programación: de los diagramas a código. Sin improvisar
- Prueba: Validación que el sistema hace lo que debe
- FASE DE MANTENIMIENTO (¿Qué hay que cambiar?)
- Mantenimiento:
- Perfectivo: Mejoramos la calidad de un elemento sin añadir nada nuevo.
- Evolutivo: Nuevas incorporaciones, modificaciones o eliminaciones.
- Adaptativo: Modificaciones que afectan a los entornos donde el sistema opera
- Correctivo: correción de errores.
- Preventivo: A nivel de sistemas
- Mantenimiento:
Según Metrica 3, ¿Qué dos tipos de mantenimiento existen?
- Evolutivo
- Correctivo
Objetivos de la ingeniería del software
- Entender el problema.
- Diseñar una solución.
- Implementar la solución correctamente.
- Probar la solución.
- Gestionar las actividades anteriores para conseguir alta calidad.
¿Qué es el ciclo de vida del software?
El CICLO DE VIDA es el conjunto de fases por las que pasa el sistema que se está desarrollando desde que nace la idea inicial hasta que el software es retirado o remplazado (muere). También se denomina a veces paradigma.
Ciclo de vida VS metodología
Es importante no confundir el concepto de ciclo de vida con el de metodología. Mientras que el ciclo de vida indica QUÉ actividades hay que realizar y en qué orden, la metodología indica CÓMO avanzar en la construcción del sistema, esto es, con qué técnicas, y entre sus características está la de determinar los recursos a utilizar o las personas implicadas en cada actividad.
Módelo code an fix
No se aplica ningún modelo de ciclo de vida.
Módelo en cascada
Es el primer modelo real, tenemos una metodología: hasta que no se acaba una fase no se empieza la otra.
Problema: que el cliente no ve nada hasta el final del proyecto, no se puede volver a fases anteriores, está basado en la documentación, es muy riguroso.
SASHIMI: Modelo en cascada con retroalimentación, se puede ir hacia atrás en las fases.