proceso del software
TRANSCRIPT
Ingeniería del SoftwareLa 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
softwareObjetivos
Mejorar la calidad
Aumentar la productivida
d
Suministrar las bases para su
construcción
Facilitar el control
Definir una disciplina para
garantizar producción y
mantenimiento
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
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.
El Proceso del SoftwareCombinaciones validas para formar sistemas capaces de producir resultados
Personas + Tecnología
Personas + Tecnología +
Procesos
Producción heroica
Producción Basada en Procesos
Ingeniería del software: tecnología estratificada
Un Enfoque de Calidad
Procesos
Métodos
Herramientas
Las capas de la ingeniería del software
- 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 procesoMarco de trabajo del Proceso común
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
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.
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 TareasTareas
Hitos, entregas
Puntos SQA
Marco de trabajo genérico del procesoMarco de trabajo del Proceso común
Actividades del marco de trabajo Comunicación
Planeación
Modelado
Construcción
Despliegue
¿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
obedecenecesitajuega
tiene_sub
Actividades SombrillaActividades de Protección Seguimiento y control
Gestión del riesgoAseguramiento 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
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
Integración del modelo de capacidad de madurez (IMCM)
CMMI
Continuo Discreto
Incompleto
Realizado
Administrado
Definido
Adminis.Cuantitativamen
te
Mejorado
Optimizado
Gestionado Cuantitativam
ente
Definido
Ejecutado
Niveles de capacidad
Niveles de madurez
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
Plantilla de un PatrónNombre del patrónPropósitoTipoContexto inicialProblemaSoluciónContexto resultantePatrones relacionadosUsos conocidos/ejemplos
Un ejemplo sencillo:
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
softwareProceso del
software AumentaElevación de la
calidad del producto
Mejoramiento del Proceso de
softwareLa eficiencia de costes y
tiempoPosibilidad de tener éxito en el
proyectoDominación de los riesgos del
procesoConfianza y Satisfacción del
cliente
ISO 9001serie 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.
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
Modelos de proceso personales y en equipo
PSP
PSEProceso de software Personal
Proceso de Software en Equipo
Según Watts Humphrey:
Proceso Software Personal (PSP)
Trabajo efectivo
Requiere
1)Planificar el trabajo2)Esforzarse por cumplir la planificación3)Esforzarse por obtener productos de la mejor calidad
¿Cómo?
Trabajo efectivo
Proceso Software Personal (PSP)
Software de alta calidad
PlaneaciónSe 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ñoSe 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
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.
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
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