El documento describe los conceptos clave de la ingeniería de software y el proceso de desarrollo de software. Explica que la ingeniería de software aplica principios de ingeniería para desarrollar software fiable y eficiente. Luego describe las actividades clave del proceso de software como la especificación, el diseño, la validación y la evolución. Finalmente, enfatiza la importancia de seguir un proceso estructurado para desarrollar software de alta calidad de manera rentable.
2. Ingeniería del Software
La Ingeniería de Software es el establecimiento y uso de principios
robustos de la ingeniería a fin de obtener económicamente software que
sea fiable y que funcione eficientemente sobre máquinas reales
(Fritz Bauer)
Ingeniería de
software
Objetivos
Mejorar la
calidad
Aumentar la
productividad
Suministrar
las bases
para su
construcción
Facilitar el
control
Definir una disciplina
para garantizar
producción y
mantenimiento
3. Ingeniería del Software
¿Cual es nuestro trabajo
como ingenieros del software..?
Realizar software de calidad en el plazo y costo establecido.
•Planificar su trabajo
•Hacer su trabajo de acuerdo con el plan
•Esforzarse en producir productos de
calidad
4. El Proceso del Software
Conjunto estructurado de actividades requeridas para desarrollar un
sistema de software de alta calidad y proporciona el marco de trabajo
desde el cual se puede establecer un plan detallado para el desarrollo
del software.
Actividades:
Especificación.
Diseño.
Validación.
Evolución.
5. El Proceso del Software
Combinaciones validas para formar sistemas capaces de producir
resultados
Personas +
Tecnología
Personas +
Tecnología +
Procesos
Producción heroica
Producción Basada
en Procesos
6. Ingeniería del software: tecnología
estratificada
Un Enfoque de Calidad
Procesos
Métodos
Herramientas
Las capas de la ingeniería del software
7. - Base para un proceso de software completo.
- Es como un libro de recetas de cocina.
“Siento que una receta es sólo un tema con el
que un cocinero inteligente puede jugar cada
vez de una manera distinta” Madame Benoit
- La adaptación es esencial.
Marco de trabajo del proceso
Marco de trabajo del Proceso común
8. Marco de trabajo del proceso
Actividades de Protección
-Aplicables a lo largo del proceso del software.
-Su objetivo la gestión, el rastreo y el control del
proyecto.
- Garantizar la calidad del software.
Marco de trabajo del Proceso común
9. Marco de trabajo del proceso
Actividades de Protección
Marco de trabajo del Proceso común
Actividades del marco de trabajo
-Aplicables a todos los proyectos.
10. Actividades de Protección
Marco de trabajo del Proceso común
Actividades del marco de trabajo
Marco de trabajo del proceso
-Actividades que hacen que el marco de trabajo se adapte a las
características particulares de cada proyecto de software.
-Define el trabajo real a cumplirse.
Conjunto de Tareas
Tareas
Hitos, entregas
Puntos SQA
11. Marco de trabajo genérico del proceso
Marco de trabajo del Proceso común
Actividades del marco de trabajo
Comunicación
Planeación
Modelado
Construcción
Despliegue
12. ¿Qué involucra el desarrollo de
una actividad?
Actividad
Herramienta
Actividad
Rol
Desarrollador
Producto
tiene_entrada
tiene_intermedio
tiene_salida
tiene_sub
emplea
Dirección
Actividad Recurso OrganizaciónProducto
obedece
necesitajuega
tiene_sub
13. Actividades Sombrilla
Actividades de Protección
Seguimiento y control
Gestión del riesgo
Aseguramiento de la calidad del software
Revisiones técnicas formales
MediciónGestión de la configuración del software
Gestión de la reutilización
Preparación y Producción del producto
14. Integración del modelo de capacidad de
madurez (IMCM)
Modelo para la mejora o evaluación de los procesos de desarrollo y
mantenimiento de sistemas y productos de software.
Creado por el SEI en el 2000 y publicado en el 2002 con el objetivo
de realizar mejoras respecto al CMM.
Incluye 4 disciplinas en función de la amplitud de procesos que cubre:
•CMMI-SW: +Software
•CMMI-SE/SW : + Ingeniería de sistemas
•CMMI-SE/SW/IPPD : + Desarrollo integrado de proceso
•CMMI-SE/SW/IPPD/SS : + Gestión de proveedores
15. Integración del modelo de capacidad de
madurez (IMCM)
CMMI
Continuo Discreto
Incompleto
Realizado
Administrado
Definido
Adminis.Cuan
titativamente
Mejorado
Optimizado
Gestionado
Cuantitativamen
te
Definido
Ejecutado
Niveles de
capacidad
Niveles de
madurez
16. Patrones del Proceso
Proceso de Software
De Tarea De Escenario De Fase
-Principios
Abstractos
- Específicos
a una
situación.
- Ofrece una plantilla.
- Describe un
problema.
- Define una posible
solución .
- Es reusable.
- Permite
organización.
- Evita la reiteración
- Formalizar un
vocabulario común
17. Plantilla de un Patrón
Nombre del patrón
Propósito
Tipo
Contexto inicial
Problema
Solución
Contexto resultante
Patrones relacionados
Usos conocidos/ejemplos
Un ejemplo sencillo:
18. Evaluación del proceso
La existencia de un proceso no es garantía de que se elabora un
producto de alta calidad, por lo mismo el proceso debe ser evaluado.
Se pretende comprender el estado actual del proceso de software y se
intenta mejorarlo.
Evaluación del proceso de
software
Proceso del
software
Aumenta
Elevación de la
calidad del
producto
Mejoramiento del
Proceso de
software
La eficiencia de costes y tiempo
Posibilidad de tener éxito en el
proyecto
Dominación de los riesgos del
proceso
Confianza y Satisfacción del cliente
19. ISO 9001
serie normas internacionales establecidas para sistemas de calidad, las
mismas pueden aplicarse prácticamente en cualquier compañía, y
cuyo objetivo final es satisfacer al consumidor.
Beneficios:
•Mejor documentación.
•Información actualizada y efectiva.
•Carta de presentación para abrir nuevos mercados.
•Disminución de costos y procesos.
21. ISO 9001
CERTIFICACION:
Documento con validad legal que certifica, que usted cumple las mas
estrictas normas de calidad.
Tipos de Certificaciones:
Certificación
Empresa Producto
22. Modelos de proceso personales
y en equipo
PSP
PSE
Proceso de software
Personal
Proceso de Software en Equipo
Según Watts Humphrey:
23. Proceso Software Personal
(PSP)
Trabajo efectivo
Requiere
1)Planificar el trabajo
2)Esforzarse por cumplir la planificación
3)Esforzarse por obtener productos de la mejor calidad
¿Cómo?
24. Trabajo efectivo
Proceso Software Personal
(PSP)
Software de alta calidad
Planeación
Se define el trabajo y cómo hacerlo, en base a
selección de requisitos.
Diseño
Se crea un diseño del componente, cuando existe incertidumbre
se crean prototipos.
Revisión del diseño
Se aplican métodos formales para verificar
errores en el diseño.
Desarrollo
El componente se refina y revisa.
Se genera, revisa, compila y prueba el códiga.
Análisis de Resultados
25. Proceso de Software en equipo
(PSE)
Actividades:
- Lanzamiento
- Diseño de alto nivel
- Implementación
- Integración y prueba
- Análisis de resultados.
-Construir un equipo de proyecto “auto dirigido” que
se organicen.
26. Tecnología del proceso:
Herramientas de modelado de proceso:
Permiten que una organización de software construya un modelo
automatizado del marco de trabajo común del proceso, tareas y
actividades sombrilla.
Puede aprovecharse para coordinar el uso de las herramientas de
ingeniería de software asistida por computadora
27. Tecnología del proceso:
Herramientas de modelado de proceso:
Herramientas de
tecnología de
proceso
Ayudan
Analizar procesos
actuales
Organizar sus
tareas
Administrar su
calidad técnica
Controlar y
mitotear su
progreso
28. PRODUCTO VS PROCESO
En las agencias de publicidad el producto final es tan
importante
que se convierte en una pesadilla.
No existe proceso, solo el briefing y la fecha de entrega.
¿Debería existir una dualidad?