3. Proceso
Un proceso define quien hace que cuando y
como para alcanzar cierto objetivo
El éxito de una empresa depende en gran
medida de la definición y seguimiento de sus
procesos.
Los sistemas software pueden llegar a ser
extremadamente complejos
Por lo tanto es necesario contar con modelos de
proceso y tecnologías adecuadas.
4. Modelo de Proceso
Define como solucionar la problemática
Para desarrollar SW se requiere resolver ciertas
fases de su proceso(ciclo de vida)
Aspectos a considerar:
Conjunto de personas
Estructuras organizacionales
Reglas
Politicas
Actividades
Componentes SW
Metodologías y Herramientas
5. Modelo de proceso
El modelo depende de un tipo de proyecto
Primer proyecto de su tipo
Segundo proyecto de su tipo
Variación de un proyecto
Proyecto de reescritura de legado(legacy)
Proyecto de creacion de software reutilizable
Proyecto de mejora de sistema o
mantenimiento
6. Modelo de Proceso(3)
Componentes de un modelo
Arquitectura
Actividad
Metodos
Estrategia
Herramientas
7. Arquitectura
Una arquitectura de SW define la
estructura general de un sistema
Ejemplos:
Transformacion en lote
Transformacion continua
Sistemas interactivos
Simulacion dinamica
Sistemas de tiempo real
Administracion de transaccion
8. Actividad
Una actividad es una unidad o paso básico
de un proceso
Son las pasos necesarios para lograr la
meta
Las actividades básicas se conocen como
el ciclo de vida del software
9. Actividad(1)
Requisitos
Sirve para especificar los aspectos funcionales
Modelo de requisitos
Analisis
Permite dar una estructura robusta y extensible
Diseño
Adoptar y refinar una arquitectura y adaptarla al
ambiente
10. Actividad(2)
Implementacion
Codificar el sistema
Integracion
Combinar componentes
Pruebas
Validar y verificar el sistema
Documentacion
Describir el sistema
Mantenimiento
Extender la funcionalidad del sistema
11. Métodos y Metodologías
Los métodos definen las reglas para las
transformaciones internas de las
actividades
Las metodologías definen un conjunto de
métodos.
Método es un procedimiento que define
tareas o acciones a realizar
12. Métodos y Metodologías(1)
Existe una gran variedad de métodos y
metodologías
Metodologias:
Estructuradas o tradicionales
Orientadas a objetos
13. Métodos y Metodologías(2)
Estructuradas
Descomposición funcional
Definir en forma de funciones, y estableciendo
los datos de entrada y salida
Herramientas
Diagramas de flujos de datos
Diagramas de transición de estados
Diagramas Entidad-Relación
14. Métodos y Metodologías(3)
Orientadas a objetos
Modelado de un sistema en términos de objetos
Se identifican objetos, para luego especificar su
comportamiento
Hay una gran variedad
Herramientas
Diagramas de clases
Diagramas de casos de uso
Diagramas de transición/estado
Diagrama de secuencia
Diagrama de colaboracion
15. Métodos y Metodologías(4)
Son distintos actividad, metodo y notacion
Actividad: Requisitos
Metodos de requisitos:
OBA
FUSION
UP
Notación
Caso de uso
16. Estrategias
Un plan para lograr un objetivo
Afectan a: La arquitectura del sistema,
Orden de las actividades, Metodologías a
usarse.
Decisiones sobre:
Tipo de proyecto
Tecnologia
Herramientas
17. Estrategias(1)
Estrategias aceptadas actualmente:
Prototipos
Versión preliminar intencionalmente incompleta o
reducida del sistema
Reutilización
Explotación de componentes desarrollados
18. Herramientas
Aplicaciones que apoyan la administracion
del proceso de software.
Herramientas CASE
Editores de texto
Diagramadores
etc
20. Modelos Clásicos
Creencias u opiniones de personas involucradas
en el proyecto
Son:
Comprender el problema antes de desarrollar
Proceso debe dar un resultado predecible
Planear y calcular el proceso con gran precisión
Evaluar y administrar el riesgo
Entrega en etapas intermedias aumenta la confianza
de un buen resultado
21. Modelos Clásicos(1)
Cascada
Secuencia de actividades
Seguir hacia puntos de revisión bien definidos
mediante reglas calendarizadas
No hay etapa de documentación explicita
Especificación de requisitos
Analisis
Diseño
Implentacion
Pruebas
Integracion
22. Modelos Clásicos(2)
Incremental
Es un desarrollo inicial de la arquitectura
completa del sistema seguido de incrementos
o versiones parciales
Cada incremento tiene su propio ciclo
Cada incremento agrega una funcionalidad
23. Modelos Clásicos(3)
Evolucionario
Extensión del incremental
Los incrementos se hacen de manera
secuencial en vez de paralela
El sistema va evolucionando según se entrega
cada incremento
Primeros requerimientos dictan el incremento
inicial
Se considera las deltas de especificación de
requerimientos
24. Modelos Clásicos(4)
Espiral
Extensión del modelo de cascada
Se basa en la estrategia para reducir el riesgo
Enfatiza en ciclos de trabajo
Cada uno de los cuales estudia el riesgo antes
de seguir al siguiente
Incorpora al igual que los anteriores una
estrategia de uso de prototipos
25. Modelos Recientes
Ganar-Ganar
Extiende el modelo de espiral
Considera condiciones de ganancia
Crea un plan para alcanzar situaciones
ganadoras
Ciclo
Objetivos, restricciones, alternativas
Evaluar alternativas
Elaborar definición del proceso y producto
Planear el siguiente ciclo
26. Modelos Recientes(1)
Programación extrema(XP)
Toma los principios y practicas de
programación aceptadas y las enfatiza a
mayor grado
Refactoring
Programacion por pares
Evaluación permanente
Entregas en plazos cortos
27. Modelos Recientes(2)
Proceso Unificado
Basado en casos de uso
Centrado en la arquitectura
Iterativo e incremental
Involucra
Ciclos
Fases
Flujos de trabajo
Mitigación
Control de calidad
28. Calidad de Software y modelos de
madurez del proceso
Calidad directamente relacionado con su
proceso
Factores para obtener productos de
calidad
Cliente o usuario
Desarrollador
Proceso
Producto
29. Modelos de madurez del Proceso
Modelo de Madurez de Capacidades(CMM)
Evaluar los procesos en sus niveles de
madurez
Se evalua el area de proceso clave
Niveles
Inicial
Repetible
Definido
Administrado
Optimizado
30. Modelos de madurez del Proceso
Organizacion Internacional De la
Estandarizacion(ISO)
ISO 9000
Normas relacionadas con la administracion de la
calidad de productos y servicios
En SW 9000-1
ISO 12207
Calidad en los procesos del ciclo de vida
31. Modelos de madurez del Proceso
Modelo de Madurez de Ingenieria de
Desempeño(PEMM)
Evaluar niveles de integracion, aplicacion, ejecucion y
diseno de la ingenieria de desempeño
Tiene cinco niveles
Practicas sin coordinacion
Desempeño en subprocesos
Completa definicion del proceso
Exito de integracion y prueba
Optimizacion de procesos
32. Modelos de madurez del Proceso
Proceso de Software Personal(PSP)
Esta basado en la creencia de que la calidad del
software depende del trabajo de cada uno de los
ingenieros.
Por lo cual el proceso Controla y Maneja el trabajo de
estos
Instrumentacion: Evolucion del PSP
1. medida personal
2. Planeacion personal
3. Calidad de personal
4. Proceso ciclico
33. Modelos de madurez del Proceso
Proceso de Software de Equipos(TSP)
Extiende el modelo PSP e integra los aspectos
de desarrollo de SW realizados por equipos de
trabajo.
Define asignacion y control de tareas a
miembros del equipo