EL PROCESO DEL SOFTWARE
Autores: Leonardo Sarango Romero
Ruth Hidalgo Tene
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
software
Objetivos
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 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
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 proceso
Marco 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 Tareas
Tareas
Hitos, entregas
Puntos SQA
Marco de trabajo genérico del proceso
¿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 Sombrilla
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
-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ón
Nombre del patrón
Propósito
Tipo
Contexto inicial
Problema
Solución
Contexto resultante
Patrones relacionados
Usos 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
software
Proceso del software
AumentaElevació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
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.
ISO 9001ISO
Ciclos
Planear Hacer Revisar Actuar
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
PSE
Proceso 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.
DesarrolloEl 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
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?
GRACIAS