sqm lifecycle models
TRANSCRIPT
Software Quality ManagementSQM – GESTIÓN DE CALIDAD DE SOFTWARE
PRESENTACIÓN 1
JUNIO 2014
OBJETIVOS
Conocer los conceptos de la ingeniería de software.
Identificar las bases generales de las metodologías de desarrollo de software.
Contenido
Ingeniería de software
Modelos del ciclo de vida del software
Modelo en cascada
Modelo en v
Modelo de prototipos
Modelo incremental
Modelo en espiral
Ingeniería de software
La aplicación de un enfoque sistemático, disciplinado y cuantificable para el desarrollo, operación y mantenimiento de software.
Trabajo intelectual Existe una relación entre proceso y producto
Actividades de la ingeniería de software
Gente
Es el recurso mas importante en un proyecto de software.
Varios grupos están involucrados y tienen que ver con lo que se obtenga del proyecto.
Involucra la administración de negocio, administración de proyecto, equipo de desarrollo, cliente y usuario
Producto
Los productos son algo mas que el código. Implican documentación, código, documentos de
prueba, documentos del cliente y medidas de productividad.
Proyecto
Define las actividades y resultados asociados necesarios para producir un producto de software.
Existen varios paradigmas acerca del proceso para producir software.
Implica planear, toma de análisis de requerimientos, diseño, implementación, pruebas y mantenimiento.
Proceso
Es un framework para ejecutar las actividades de un proyecto de una forma organizada y disciplinada.
Existen varios modelos, basados en su mayoría en el modelo en cascada o de iteraciones.
Implica requerimientos, diseño, implementación, pruebas y mantenimiento.
Etapas del ciclo de vida del software
Requerimientos
Diseño
Construcción
Operación y mantenimiento
Requerimientos
Es una necesidad del usuario para resolver un problema o cumplir con un objetivo.
Se traducen las necesidades del cliente en un documento formal, se describen los acuerdos a los que se ha llegado con el cliente.
Es una condición que debe tener un sistema para cumplir con un contrato, especificación o estándar.
Requerimientos
La salida de esta fase es el documento de especificación de requerimientos del software (SRS).
El SRS debe incluir la siguiente información:
Lo que el programa va hacer funcionalmente.
Formatos de entrada y de salida de los datos.
Excepciones, errores y desviaciones.
El entorno del sistema.
Diseño
Esta actividad empieza cuando esta disponible el documento de requerimientos.
Es el primer paso para llegar a una solución.
El diseño es el modelo para la solución.
El documento de requerimientos y de diseño en conjunto describen el problema y la organización de la solución.
Diseño
La información que debe incluirse en el documento de diseño es:
Especificación de la estructura de datos.
Funciones y Algoritmos.
Modularizacion.
Especificación de las Interfaces.
Información especifica del proyecto.
Diseño
El proceso del diseño de sistemas de software consta de dos niveles:
Diseño del sistema
Diseño detallado
Construcción
Si los requisitos y el diseño se hacen correctamente, la codificación es sencilla, casi mecánica.
El primer paso en la verificación durante la fase de construcción consiste en determinar si el código es coherente con el diseño.
El código y el diseño deben exhibir la misma estructura modular y tener las mismas interfaces.
Las inspecciones del código o revisiones son una herramienta muy útil y pueden mejorar considerablemente la fiabilidad y reducir el esfuerzo durante las pruebas.
Operación y mantenimiento
Las funciones comunes en esta etapa son:
Identificación y corrección de errores
Modificaciones
Mejoras para agregar capacidades de rendimiento
Metodologías de desarrollo de software
Modelo en cascada
Modelo en v
Modelo de prototipos
Modelo incremental
Modelo en espiral
Modelo en cascada
También llamado ciclo de vida clásico, clasificado como un modelo convencional o prescriptivo de procesos ya que prescriben un conjunto de elementos del proceso.
establece un enfoque sistemático, secuencial que da como resultado un producto de software.
Modelo en cascada
Modelo en V
Es similar al modelo cascada, exceptuando que este considera las actividades de pruebas en fases previas del ciclo de vida.
Modelo de prototipos
Este modelo se utiliza generalmente para desarrollar una aplicación rápida del software antes o durante la fase de requerimientos.
El cliente utiliza el prototipo y proporciona información al equipo de desarrollo en cuanto a su fuerza y sus debilidades.
Modelo incremental
Este modelo permite construir el software en las etapas elementales, en cada etapa se añade funcionalidad.
Cada etapa consiste en el diseño, código, pruebas y entrega.
Modelo en espiral
Este modelo ofrece una orientación a los riesgos durante el ciclo de vida.
Las actividades se organizan como un espiral que tiene muchos ciclos.