You are on page 1of 41

MODELOS DE PROCESO

Ing. LUIS MEZA ORDOEZ


Modelo de Procesos para la
Industria de Software
(MoProSoft)
Categora

Gestin de Negocio

Categora

Gestin de Procesos
Gestin de Proyectos
Gestin de Recursos
Categora

Administracin de Proyectos Especficos


Desarrollo y Mantenimiento de Software
Ing. LUIS MEZA ORDOEZ
DIR

Proceso Gestin de Negocio


Grupo Directivo
Planeacin Estratgica

Grupo Directivo
Grupo Directivo
Valoracin y Mejora
Preparacin para la
Continua
Realizacin

Ing. LUIS MEZA ORDOEZ


GES

Procesos de Gestin
Gestin
de Procesos

Gestin Gestin
de Recursos de Proyectos

Ing. LUIS MEZA ORDOEZ


Ing. LUIS MEZA ORDOEZ
FACTORES DE XITO DE UN PROYECTO

Ing. LUIS MEZA ORDOEZ


Fases de un Ciclo
Necesidades Cliente y/o
Entregable Anterior

Requerimientos
Fase de Requerimientos

Anlisis yDiseo
Fase de Anlisis yDiseo

Componentes
Fase de Construccin

Fase de Integracin y
Pruebas

Primer / Siguiente
Entregable
Ing. LUIS MEZA ORDOEZ
Subproceso de Actividades de Una
Fase
Entrada de la Fase

Produccin /
Verificacin
Correccin

Defectos

Defectos Validacin/Aceptacin

Registro de Incorporacin Bajo


Mediciones Control de Configuracin
Ing. LUIS MEZA ORDOEZ Salida de la Fase
Modelos de Proceso y de su Capacidad
CMM (Capability Maturity Model)
Desarrollado por SEI (Software Engineering Institute), org. creado por el
DoD de USA
Fuerte impacto en mejora del proceso
Estipula un Camino para la mejora
Areas Clave que se deben atacar
ISO 12207 Modelos de Ciclos de Vida del Software
Actividades que debe incluir
SPICE (Software Process Improvement and Capability
determination) ISO 15504
Rational Unit Process.
UML.

Ing. LUIS MEZA ORDOEZ


CMM: El Modelo de Madurez de
la Capacidad
El CMM (Capacity Maturity Model) fue
desarrollado por el Software Engineering Institute
(SEI) de la Univ. Carnegie-Mellon en USA con la
finalidad de:
evaluar la madurez de los procesos de desarrollo de
software dentro de una organizacin.
proponer un plan de mejoramiento de los procesos de
desarrollo de software en base a una serie de niveles
que van desde un proceso catico (inmaduro) hasta un
proceso disciplinado y de mejoramiento continuo
(maduro).
Ing. LUIS MEZA ORDOEZ
Capacidad de un proceso de software:
Rango de resultados esperados que pueden ser logrados
siguiendo un proceso de software dado
Madurez de un proceso de software:
Determina en que grado un proceso de software es
explcitamente definido, administrado, medido,
controlado y hecho efectivo
La madurez es un indicador de la capacidad del proceso
de software para lograr sus objetivos y resultados
esperados.
Una organizacin logra mayor madurez mediante la
institucionalizacin del proceso de desarrollo de
software, estableciendo las polticas, estndares y
estructuras organizativas

Ing. LUIS MEZA ORDOEZ


Aspectos de uso del modelo:
El escalamiento de los niveles es progresivo
Saltarse un nivel es contraproducente
Normalmente se requiere 1 3 aos para escalar al
siguiente nivel
Alcanzar, desde el nivel 1, la categora de Organizacin
Madura puede tomar ms de 10 aos
Es posible retroceder desde un nivel superior
El CMM no es una bala de plata (silver bullet)
no resuelve todos los problemas decalidad en el complejo
proceso de desarrollo y mantenimiento de software
La evaluacin es hecha por especialistas adiestrados y
acreditados por el SEI

Ing. LUIS MEZA ORDOEZ


Modelo CMM
Resultados cuantificados, con
N5: Optimizado opcin de mejora

Medidas de Producto y Proceso.


N4: Gestionado
Registro de valores de Calidad

Desarrollo y Mantenimiento
N3: Definido documentado y Estandarizado

Gestin del proceso seguimiento de:


N2: Repetible coste, planificacin y funcionalidad

El xito del proceso depende del esfuerzo


N1: Inicial individual
Ing. LUIS MEZA ORDOEZ
Claves del Proceso (KPA)
KPA Objetivos
Compromisos sobre distintas Unid.Negocio
Capacidades organizativas y tcnicas
Actividades
Mtodos de supervisar la implantacin
Mtodos de verificar la implantacin

Ing. LUIS MEZA ORDOEZ


KPA: Proceso Desarrollo Software

NIVEL 2: Repetible
Gestin de Requisitos
Planificacin del Proyecto
Seguimiento y Supervisin del Proyecto
Software
Gestin de Subcontratacin del Software
Garanta de Calidad del Software
Gestin de Configuracin del Software
Ing. LUIS MEZA ORDOEZ
KPA: Proceso Desarrollo Software
Nivel 3: Definido
Enfoque del proceso de la organizacin
Definicin del proceso de organizacin
Programa de formacin
Gestin de integracin del software
Ingeniera de productos software
Coordinacin entre grupos
Revisiones peridicas

Ing. LUIS MEZA ORDOEZ


KPA: Proceso Desarrollo Software
Nivel 4: Gestionado
Gestin cuantitativa del proceso
Gestin de calidad del software
Nivel 5: Optimizacin
Prevencin de defectos
Gestin de la tecnologa
Gestin de cambios en el proceso

Ing. LUIS MEZA ORDOEZ


ISO 9000:2000 (1)
Norma Internacional para evaluar la capacidad de
la organizacin para cumplir los requisitos del
cliente, los reglamentarios y los propios de la
organizacin.

Ventajas
Tiene un mecanismo de certificacin bien establecido
Est disponible y conocida

Ing. LUIS MEZA ORDOEZ


ISO 9000:2000 (2)
Desventajas
No es especfica para la industria de software

No es fcil de entender

No est definida como un conjunto de procesos

No es fcil de aplicar

Mejora de procesos orientada principalmente a la calidad

Ing. LUIS MEZA ORDOEZ


ISO/ 12207

Ing. LUIS MEZA ORDOEZ


ISO/IEC TR 15504 (1)
Define el modelo de referencia de procesos de
software y de capacidades de procesos que
constituyen la base para la evaluacin de procesos
de software. Se componen de 9 partes de las cuales
la 2, 3 y 9 son normativas y las dems
informativas.
Ventajas
Especfico para el desarrollo y mantenimiento de
software
Fcil de entender (24 procesos, 16 pgs.)
Definido como un conjunto de procesos
Orientado a mejorar los procesos para contribuir a los
objetivos del negocio
Ing. LUIS MEZA ORDOEZ
ISO/IEC TR 15504 (2)
Desventajas
No es prctico ni fcil de aplicar

Tiene solamente lineamientos para un mecanismo de


evaluacin

Todava no es norma internacional

Ing. LUIS MEZA ORDOEZ


Qu es RUP?

Requisitos del usuario Proceso de desarrollo Sistema de software


de software

RUP es un proceso de desarrollo de software:


Forma disciplinada de asignar tareas y responsabilidades en una empresa
de desarrollo (quin hace qu, cundo y cmo).

Objetivos:
Asegurar la produccin de software de calidad dentro de plazos
y presupuestos predecibles. Dirigido por casos de uso, centrado en la
arquitectura, iterativo (mini-proyectos) e incremental (versiones).

Es tambin un producto:
Desarrollado y mantenido por Rational.
Actualizado constantemente para tener en cuenta las mejores prcticas de
acuerdo con la experiencia.
Ing. LUIS MEZA ORDOEZ
Qu es RUP?

Aumenta la productividad de los desarrolladores mediante


acceso a:
Base de conocimiento, plantillas y herramientas.

Se centra en la produccin y mantenimiento de modelos del


sistema ms que en producir documentos.

RUP es una gua de cmo usar UML de la forma ms efectiva.

Existen herramientas de apoyo a todo el proceso:


Modelamiento visual, programacin, pruebas, etc.

Ing. LUIS MEZA ORDOEZ


Las mejores prcticas

RUP pretende implementar las mejores prcticas


actuales en ingeniera de software:

Desarrollo iterativo del software


Administracin de requerimientos
Uso de arquitecturas basadas en componentes
Modelamiento visual del software
Verificacin de la calidad del software
Control de cambios
Ing. LUIS MEZA ORDOEZ
Ciclos y fases

RUP divide el proceso de desarrollo en ciclos, teniendo


un producto al final de cada ciclo.

Cada ciclo se divide en cuatro Fases:


Inicio
Elaboracin
Construccin
Transicin

Cada fase concluye con un hito bien definido donde


deben tomarse ciertas decisiones.
Ing. LUIS MEZA ORDOEZ
Ing. LUIS MEZA ORDOEZ
Fases de RUP

Ing. LUIS MEZA ORDOEZ


Fases de RUP: Inicio

Se establece la oportunidad y alcance el proyecto.

Se identifican todas las entidades externas con las que se


trata (actores) y se define la interaccin a un alto nivel de
abstraccin:
Identificar todos los casos de uso
Describir algunos en detalle

La oportunidad del negocio incluye:


Criterios de xito
Identificacin de riesgos
Estimacin de recursos necesarios
Plan de las fases incluyendo hitos
Ing. LUIS MEZA ORDOEZ
Fases de RUP: Elaboracin

Objetivos:
Analizar el dominio del problema
Establecer una arquitectura base slida
Desarrollar un plan de proyecto
Eliminar los elementos de mayor riesgo para el desarrollo
exitoso del proyecto

Visin de una milla de amplitud y una pulgada de


profundidad porque las decisiones de arquitectura
requieren una visin global del sistema.

Ing. LUIS MEZA ORDOEZ


Fases de RUP: Construccin

En esta fase todas las componentes restantes se desarrollan


e incorporan al producto.

Todo es probado en profundidad.

El nfasis est en la produccin eficiente y no ya en la


creacin intelectual.

Puede hacerse construccin en paralelo, pero esto exige


una planificacin detallada y una arquitectura muy estable.
Ing. LUIS MEZA ORDOEZ
Fases de RUP: Transicin

El objetivo es traspasar el software desarrollado a la


comunidad de usuarios.
Una vez instalado surgirn nuevos elementos que
implicarn nuevos desarrollos (ciclos).
Incluye:
Pruebas Beta para validar el producto con las expectativas del
cliente
Ejecucin paralela con sistemas antiguos
Conversin de datos
Entrenamiento de usuarios
Distribuir el producto
Ing. LUIS MEZA ORDOEZ
Ing. LUIS MEZA ORDOEZ
UML
UML es un lenguaje estndar para crear
planos de software.
No es un lenguaje de programacin. Sin
embargo permite hacer una rpida
transicin del modelo al cdigo.
Es una herramienta de la ingeniera de
software.

Ing. LUIS MEZA ORDOEZ


Por qu utilizar UML?
Porque recoge lo mejor de diferentes
sistemas de modelamiento.
Porque es adaptable a casi cualquier
sistema.
Porque puede ser utilizado en la mayora de
fases de un proyecto. Qu ventajas trae
esto?...

Ing. LUIS MEZA ORDOEZ


UML en un proyecto
UML dispone de herramientas que pueden
ser utilizadas en la mayora de fases de un
proyecto de ingeniera de software.
Esto permite tener informacin consistente
en cada fase. CADA MODELO HACE
REFERENCIA A OTROS MODELOS.

Ing. LUIS MEZA ORDOEZ


UML en un proyecto
A partir de un diagrama de casos de uso es posible
obtener un diagrama de secuencias o un diagrama
de clases.
A partir de un Diagrama de clases es posible
obtener un Diagrama de Secuencias, o viceversa.
A partir de la reunin de todos los modelos del
sistema se hace la implementacin. NO SOLO
DEL DIAGRAMA DE CLASES.
El cdigo es otro modelo de un sistema.

Ing. LUIS MEZA ORDOEZ


UML Modelamiento
UML no hace ms fcil modelar. Permite
hacer modelos ms descriptivos.
El paradigma orientado a objetos permite
crear modelos de una forma ms lgica,
ms sencilla.
UML se basa en el paradigma orientado a
objetos.

Ing. LUIS MEZA ORDOEZ


Ing. LUIS MEZA ORDOEZ
Ing. LUIS MEZA ORDOEZ
Ing. LUIS MEZA ORDOEZ

You might also like