2. OBJETIVOS
Conocer los conceptos de la ingeniería
de software.
Identificar las bases generales de las
metodologías de desarrollo de software.
3. 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
4. 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
6. 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
7. 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.
8. 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.
9. 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.
10. Etapas del ciclo de vida del
software
Requerimientos
Diseño
Construcción
Operación y mantenimiento
11. 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.
12. 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.
13. 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.
14. 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.
15. Diseño
El proceso del diseño de sistemas de software consta de dos
niveles:
Diseño del sistema
Diseño detallado
16. 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.
17. 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
18. Metodologías de desarrollo de
software
Modelo en cascada
Modelo en v
Modelo de prototipos
Modelo incremental
Modelo en espiral
19. 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.
21. Modelo en V
Es similar al modelo cascada, exceptuando que este considera las
actividades de pruebas en fases previas del ciclo de vida.
22. 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.
23. 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.
24. 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.