Академический Документы
Профессиональный Документы
Культура Документы
• Introducción
• Marco de trabajo para el proceso
• Integración del Modelo de Capacidad de
Madurez (IMCM)
• Patrones del proceso
• Evaluación del proceso
• Modelo de proceso personales y en equipo
• Tecnología del proceso
• Producto y proceso
Introducción
Proceso de Software:
◦ Es un marco de trabajo para las tareas que
se requieren en la construcción de
software de alta calidad
Ingeniería de software: una
tecnología estratificada
“La aplicación de un
enfoque sistemático,
disciplinado y
cuantificable al
desarrollo, operación y
mantenimiento del
software; es decir, la
aplicación de la
ingeniería al software.”
IEEE
Ingeniería de software: una
tecnología estratificada
Ingeniería de software: una
tecnología estratificada
La Ingeniería de software bebe estar
sustentado en un compromiso de
calidad.
◦ Un enfoque de la calidad: Gestión de la
Calidad Total, Sigma Seis, etc. fomentan una
cultura de la mejora continua del proceso
Herramientas
Métodos
Proceso
Un enfoque de calidad
Ingeniería de software: una
tecnología estratificada
Proceso: Es la base de la Ing. de sw,
mantiene juntos los estratos de la
tecnología y permite el desarrollo racional
y a tiempo del software.
◦ Forma la base para la gestión de los
proyectos y establece el contexto para la
aplicación de métodos técnicos.
◦ Se generan los productos del trabajo:
modelos, documentos, datos, reportes, etc.
Ingeniería de software: una
tecnología estratificada
Métodos: Proporcionan los “cómo”
técnicos para construir software
◦ Abarcan las tareas de comunicación,
análisis de requisitos, el modelado del
diseño, la construcción del programa, etc.
Conduce a Conduce a
Mejoramiento del Determinación
proceso del sw Motiva
de la capacidad
Evaluación de proceso
Se han propuesto varios enfoques para la
evaluación del proceso de sw en las décadas
pasadas:
◦ El método de evaluación de la IMCM para el
mejoramiento del proceso (MEIEMP)
◦ La apreciación basada en el CMM para el
mejoramiento del proceso interno (ABC MPI): Un
precursor de CMMI
◦ SPICE (ISO/IEC15504): evaluación de la eficacia de
cualquier proceso
◦ ISO 9001:2000 para software: ciclo de planear-
hacer-revisar-actuar
Integración del modelo de capacidad
de madurez (IMCM)
El Instituto de Ing. de Soft. (SEI) ha
desarrollado un modelo completo de un
amplio proceso basado en un conjunto de
capacidades de software y de sistemas que
deben estar presentes conforme las
organizaciones alcanzan diferentes grados
de capacidad y madurez del proceso.
El SEI sostiene que para lograr estas
capacidades una organización debe crear
un modelo de proceso (como el anterior)
que se ajuste a las directrices establecidas
por IMCM.
Integración del modelo de capacidad
de madurez (IMCM)
El IMCM representa un modelo
completo de proceso en dos formas
diferentes
◦ Modelo continuo.
◦ Modelo discreto.
Modelo continuo
Clasificación:
◦ Nivel 0: Incompleto. No se alcanzaron las metas.
◦ Nivel 1: Realizado. Las metas se alcanzaron.
◦ Nivel 2: Administrado. Todas las tareas de trabajo y
productos están monitoreados, controlados y
revisados; y son evaluados.
◦ Nivel 3: Definido. El proceso esta adaptado al
conjunto de procesos estándar de la organización
◦ Nivel 4: Administrado en forma cuantitativa. El área
del proceso se controla y mejora mediante
mediciones y evaluación cuantitativa.
◦ Nivel 5: Mejorado. Se adapta y mejora
continuamente.
Modelo continuo
Modelo discreto
Define las mismas áreas, metas y
practicas del proceso que el modelo
continuo.
La principal diferencia es que el
modelo discreto establece cinco
niveles de madurez, en vez de cinco
niveles de capacidad
Modelo discreto
Nivel Enfoque Áreas del proceso
De optimización Mejora continua del Innovación organizacional,
proceso Análisis causal,...
Realizado
Los modelos prescriptivos de proceso
se propusieron originalmente para
ordenar el caos del desarrollo de
software
Ellos han proporcionado
◦ Estructuras útiles
◦ Un camino razonablemente efectivo
En el enfoque prescriptivo, el orden y
la consistencia del proyecto son los
aspectos dominantes.
Cualquier organización de ing. de soft.
debe describir un conjunto único de
actividades dentro del marco de trabajo.
También debe llenar cada actividad con un
conjunto de acciones, y definir cada acción
a un conjunto de tareas.
Después la organización debe adaptar el
modelo de proceso y ajustarlo a la
naturaleza especifica de cada proyecto a las
personas y ambiente
Sin importar el modelo del proceso
seleccionado, los ingenieros de sw han
elegido de manera tradicional un marco de
trabajo genérico para el proceso, el cual
incluye las siguientes actividades dentro del
marco:
◦ comunicación
◦ planeación
◦ modelado
◦ construcción
◦ despliegue
Los modelos son “prescriptivos” porque
prescriben un conjunto de elementos del
proceso:
◦ Actividades del marco de trabajo, acciones de
ingeniería del sw, tareas, productos del trabajo,
aseguramiento de la calidad, etc.
Cada modelo de proceso prescribe también
un flujo de trabajo, que es la forma en la
cual los elementos del proceso se
interrelacionan entre sí, el cual puede ser
lineal, incremental o evolutivo.
El modelo en cascada (ciclo de vida clásico)
sugiere un enfoque sistemático, secuencial
hacia el desarrollo del sw.
El trabajo fluye desde la comunicación a
través del despliegue de una manera casi
lineal.
Comunicación
Inicio del proy, Planeación
recopilación de
Estimación,
requisitos
Itinerario,
Modelado
seguimiento
Análisis, Construcción
diseño Código, Despliegue
prueba Entrega,
Soporte,
retroalimentación
El Modelo en Cascada (V)
Problemas:
◦ Es muy raro que los proyectos reales sigan el flujo
secuencial.
◦ Con frecuencia es difícil para el cliente establecer
todos los requisitos de manera explicita.
En la actualidad, el trabajo de sw está
acelerado y sujeto a una cadena infinita de
cambios. Sin embargo, puede servir como
un modelo de proceso útil en situaciones
donde los requerimientos están fijos.
Hay una necesidad de proporcionar de
manera rápida un conjunto limitado de
funcionalidad para el usuario y después
refinarla y expandirla en las entregas
posteriores del software
Modelos de Proceso Incrementales
El Modelo Incremental
◦ Entrega una serie de lanzamientos, llamados
incrementos, que proporcionan en forma
progresiva más funcionalidad para los clientes a
medida que se entrega cada uno de los
incrementos
◦ El primer incremento es un producto esencial, sólo
con los requisitos básicos
◦ Los primeros incrementos son versiones
“incompletas” del producto final, pero
proporcionan al usuario la funcionalidad que
necesita y una plataforma para evaluarlo
Modelos de Proceso Incrementales
El software, como todos los sistemas
complejos, evolucionan con el tiempo. Los
requisitos de negocios y productos a
menudo cambian conforme se realiza el
desarrollo.
Fase de inicio
Fase de elaboración
Documento de la visión Fase de
Modelo inicial de C.U.
Glosario inicial del proy.
Modelo de C.U. construcción
Caso inicial de negocio
Requisitos suplementarios Fase de transición
Modelo de análisis
Evaluación inicial del riesgo Descripción de la arquitect. Modelo de diseño
Plan de proy, fases e iter. Prototipo arquitectonico Componentes de sw Incremento de sw
Modelo del negocio Modelo de diseño Incremento integrado integrado
Uno o mas prototipos Lista revisada de riesgos Plan y procedimiento Reportes de las pruebas
Plan de proyectos Casos de prueba beta
Documentación Retroalimentación general
del usuario
Modelo de proceso personales y
en equipo
Proceso de Software Personal (PSP) y
Proceso de Software en Equipo (PSE)
◦ Ambos requieren de un arduo trabajo,
capacitación y coordinación
Proceso de software personal (PSP)
El proceso personal del software (PPS) pone
el énfasis en la medición personal tanto del
producto del trabajo que se genera como
de su calidad.
Además, el PPS responsabiliza al
profesional acerca de la planeación del
proyecto y delega en el practicante el poder
de controlar la calidad de todos los
productos del trabajo de software que se
desarrollen.
Proceso de software personal (PSP)
El PSP define 5 actividades:
◦ Planeación: Requisitos, tamaño y estimación de los
recursos, programa del proyecto
◦ Diseño de alto nivel: Diseño del componente,
Prototipos
◦ Revisión del diseño de alto nivel: Métodos formales
de verificación se aplican a errores descubiertos.
◦ Desarrollo: El diseño al nivel de componentes se
refina y revisa, compila y prueba el código
◦ Análisis de Resultados: Mediante las mediciones se
determina la efectividad del proceso
Proceso del equipo de software (PES)
El objetivo de éste es construir un equipo
“autodirigido” para el proyecto, que se
organice para producir software de alta
calidad.
Objetivos detallados:
◦ Formar equipos autodirigidos que planeen y
controlen.
◦ Mostrar a los gerentes cómo dirigir y motivar.
◦ Acelerar la mejora del proceso del software – CMM
n5.
◦ Brindar una guía para la mejora.
◦ Facilitar la enseñanza universitaria de aptitudes de
Tecnología del Proceso
El equipo del software debe adaptar uno o
más de los modelos del proceso. Para ello,
se han desarrollado herramientas de
tecnología del proceso que ayudan a las
organizaciones de software a analizar su
proceso actual, organizar las tareas de
trabajo, controlar y vigilar el avance, y
administrar la calidad técnica.
Tecnología del Proceso (BPM)
Producto y Proceso
Si el proceso es débil, sin duda el
producto final sufrirá las
consecuencias
Un profesional del sw creativo debe
sentir tanta satisfacción del proceso
como del producto terminado
Resumen
La ingeniería de sw es una disciplina que integra al
proceso, métodos y las herramientas para el
desarrollo de software.
Los modelos de proceso definen un conjunto de
actividades del marco de trabajo, una colección de
tareas, productos de trabajo generados y un
conjunto de actividades sombrilla que acompañan
el proceso entero.
La integración del modelo de capacidad de
madurez (IMCM) que describe las metas, practicas y
capacidades especificas con que se debe contar un
proceso de sw maduro.
Se ha propuesto los modelos personal y equipo
para el proceso de software.