Este documento describe los procesos de software y modelos de desarrollo. Explica que los procesos de software incluyen actividades fundamentales como especificación, diseño, implementación, evolución y validación. También describe varios modelos de desarrollo de software como el modelo en cascada, desarrollo evolutivo, desarrollo formal de sistemas, desarrollo basado en reutilización, desarrollo incremental y desarrollo en espiral. El objetivo de los procesos de software es desarrollar productos de alta calidad de man
1. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
ESCUELA DE INGENIERÍA ELECTRÓNICA
EXTENSIÓN MATURÍN
PROCESOS DE SOFTWARE
Autor: Br. Marife Alonso
Maturín, Noviembre de 2017
2. Software
Ingeniera del Software (IS)
Inicialmente los Software son un conjunto de elementos que
interactúan entre sí con el fin de apoyar las actividades.
Lograr productos de
software de calidad
4. Procesos de Software
Propósito del desarrollo de
proceso de Software
Ser eficaz
y eficiente de un
producto software
que reúna los
requisitos del cliente..
No existe un proceso de software universal que sea efectivo para
todos los contextos de proyectos de desarrollo. Debido a esta
diversidad, es difícil automatizar todo un proceso de desarrollo de
software.
5. Procesos de Software
No obstante de la variedad de propuestas de proceso de software,
existe un conjunto de actividades fundamentales que se encuentran
presentes en todos ellos.
Especificación
de software
Diseño e
Implementación
Evolución
Validación
6. Procesos de Software
Actividades protectoras según Pressman.
Seguimiento y control de proyecto de software.
*Revisiones técnicas formales.
*Garantía de calidad del software.
*Gestión de configuración del software.
*Preparación y producción de documentos.
*Gestión de reutilización.
*Mediciones.
*Gestión de riesgos.
7. Procesos de Software
Las actividades de protección
Un conjunto de tareas
Un marco común del proceso
Caracteriza un proceso de desarrollo de software con los siguientes
modelos
8. Procesos de Software
Caracteriza del proceso
•Visibilidad: Grado en que las actividades del proceso proporcionan
resultados
•Aceptabilidad: Grado en que los desarrolladores aceptan y usan el proceso.
• ƒFiabilidad: Capacidad de evitar o detectar errores antes de que sean
defectos.
• ƒRobustez: Continuidad del proceso a pesar de los problemas .
•
•Mantenible: Capacidad de evolución para adaptarse .
•
•Rapidez: Velocidad en que el proceso puede proporcionar un sistema a
partir de una especificación
9. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Codificar y
corregir
Modelo en
cascada
Desarrollo
formal de
sistemas
Desarrollo
evolutivo
Desarrollo
basado en
reutilización
Desarrollo
incremental
Desarrollo en
espiral
10. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Codificar y corregir
Contiene dos pasos:
•Escribir código y corregir problemas en el código.
•Se trata de primero implementar algo de código y luego pensar acerca
de requisitos, diseño, validación, y mantenimiento.
11. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Modelo en cascada
El modelo en cascada consta de las siguientes fases:
Definición de los requisitos.
Diseño de software.
Implementación y pruebas unitarias
Integración y pruebas del sistema.
Operación y mantenimiento.
12. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo evolutivo
Este modelo es que se obtiene una rápida realimentación del usuario, ya que las
actividades de especificación, desarrollo y pruebas se ejecutan en cada iteración
13. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo evolutivo
Existen dos tipos de desarrollo evolutivo
Desarrollo Exploratorio: El objetivo de este enfoque es explorar con el usuario los
requisitos hasta llegar a un sistema final. El desarrollo comienza con las partes que
se tiene más claras. El sistema evoluciona conforme se añaden nuevas
características propuestas por el usuario.
Enfoque utilizando prototipos: El objetivo es entender los requisitos del usuario y
trabajar para mejorar la calidad de los requisitos. A diferencia del desarrollo
exploratorio, se comienza por definir los requisitos que no están claros para el
usuario y se utiliza un prototipo para experimentar con ellos. El prototipo ayuda a
terminar de definir estos requisitos.
14. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo formal de
sistemas
Este modelo se basa en transformaciones formales de los requisitos hasta llegar a
un programa ejecutable.
15. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo basado en
reutilización
Este modelo consta de 4 fases:
•Análisis de componentes
•Modificación de requisitos
•Diseño del sistema con reutilización
•Desarrollo e integración
16. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo incremental
El enfoque incremental de desarrollo como una forma de reducir la repetición del
trabajo en el proceso de desarrollo y dar oportunidad de retrasar la toma de
decisiones en los requisitos hasta adquirir experiencia con el sistema. Es una
combinación del Modelo de Cascada y Modelo Evolutivo.
17. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo en espiral
Cada ciclo de desarrollo se divide en cuatro fases:
Definición de
objetivos
Evaluación y
reducción de riesgos
Se definen los objetivos y las
restricciones del proceso y del
producto. Se realiza un diseño
detallado del plan administrativo.
Se identifican los riesgos y se
elaboran estrategias alternativas
dependiendo de estos.
Se realiza un análisis
detallado de cada riesgo
identificado. Pueden desarrollarse
prototipos para disminuir el riesgo
de requisitos dudosos.
18. Procesos de Software
Modelos Genéricos de Desarrollo de Software.
Desarrollo en espiral
Desarrollo y
validación
Planificación
Elegir modelo de desarrollo,
algunos autores lo denominan
metamodelo
o modelo paramétrico.
Este modelo a diferencia de los
otros toma en consideración
explícitamente el riesgo, esta es
una actividad importante en la
administración del proyecto..
19. Tipos de pruebas funcionales para mejorar la calidad del proceso del
software
Evaluación y Mejora de Proceso de
Software
Los tests
unitarios
Tests de
integración
Tests funcionales
Agilizan el trabajo al
poder cambiar partes
del código y
comprobar los fallos
rápidamente
Comprueban que el
sistema está
funcionando. Unen
partes del sistema y
comprueban que
encajan sin
problemas
Trata de probar el
sistema como lo haría
un usuario.
20.
21. REPÚBLICA BOLIVARIANA DE VENEZUELA
INSTITUTO UNIVERSITARIO POLITÉCNICO
“SANTIAGO MARIÑO”
ESCUELA DE INGENIERÍA ELECTRÓNICA
EXTENSIÓN MATURÍN
PROCESOS DE SOFTWARE
Autor: Br. Marife Alonso
Maturín, Noviembre de 2017