Beruflich Dokumente
Kultur Dokumente
SISTEMAS
SESION 09
2
Contenidos
3
Método
4
Método
Dimensión Tecnológica
Conceptos, Notación, Técnicas y Herramientas
Dimensión Proceso
Conjunto de pasos a realizarse y resultados
obtenidos en cada paso (“entregables”)
Dimensión Organización
Cómo organizar las personas para acomodar
el proceso
5
Tecnología
Conceptos
Notación
n Modelos soportados
G. Booch
8
Proceso
n Un proceso software debe indicar:
n la secuencia de actividades a realizar
cuándo
n una asignación de tareas a cada
9
Proceso
11
Organización
12
Método completo
ORGANIZACION PROCESO
(IBM, Microsoft, UNI) (RUP, Metrica y Larman)
14
Métodos Pesados y Agiles
• Proceso Unificado, UP
− Marco para definir procesos
• Rational Unified Process, RUP
− Estándar de facto, basado en UP
• Movimiento de la “Extreme Programming,
XP”
− Rechazo a procesos “pesados” como RUP
• Movimiento del “Desarrollo Agil”
− Métodos Ágiles y Modelado Ágil
15
Métodos Pesados y Agiles
• Proceso pesado
− Muchos artefactos creados en un
ambiente burocrático
− Muchas actividades realizadas con
rigidez y control
− Planificación detallada a largo plazo
− Predictivos en vez de adaptativos
•
16
Dos Dimensiones (RUP)
17
Fases del Ciclo de Vida
§ El ciclo de vida consiste en una serie de
ciclos, cada uno de los cuales
produce una nueva versión del
producto
§
§ Cada ciclo está compuesto por fases y
cada una de estas fases está
compuesta por un número de
iteraciones
§
§ Las fases son:
n Inicio o Estudio de oportunidad 18
...Fases del Ciclo de Vida
§ Inicio o Estudio de oportunidad
(inception)
n Define el ámbito y objetivos del proyecto
n Se define la funcionalidad y capacidades
del producto
n
§ Elaboración
n Tanto la funcionalidad como el dominio
del problema se estudian en
profundidad
n Se define una arquitectura básica
n Se planifica el proyecto considerando
recursos disponibles 19
...Fases del Ciclo de Vida
Construcción
n El producto se desarrolla a través de
iteraciones donde cada iteración
involucra tareas de análisis, diseño e
implementación
n Las fases de estudio y análisis sólo dieron
una arquitectura básica que es aquí
refinada de manera incremental
conforme se construye (se permiten
cambios en la estructura)
n Gran parte del trabajo es programación y
pruebas
n Se documenta tanto el sistema construido
como el manejo del mismo 20
...Fases del Ciclo de Vida
§ Transición
n Se libera el producto y se entrega al
usuario para un uso real
n Se incluyen tareas de marketing,
empaquetado atractivo, instalación,
configuración, entrenamiento, soporte,
mantenimiento, etc.
n Los manuales de usuario se completan y
refinan con la información anterior
n Estas tareas se realizan también en
iteraciones
21
Fases e Hitos
tiempo
22
Elementos en RUP
n Workflows (Disciplinas)
n
Workflows Primarios
• Business Modeling (Modado del Negocio)
• Requirements (Requisitos)
• Analysis & Design (Análisis y Diseño)
• Implementation (Implementación)
• Test (Pruebas)
• Deployment (Despliegue)
Workflows de Apoyo
• Environment (Entorno)
• Project Management (Gestión del Proyecto)
• Configuration & Change Management (Gestión de
Configuración y Cambios) 23
... Elementos en RUP
Workflow, Workflow Detail , Workers, Actividades y
Artefactos
n Workflow: Requirem ent s Workflow Det ail:Analyse t he Problem
Ejemplo
26
... Elementos en RUP
Artefactos
n
28
Proceso dirigido por los Casos de Uso
29
... Proceso dirigido por los Casos de Uso
«trace» «trace»
«trace»
«trace»
Pruebas
Unitarias
Pruebas Funcionales X
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
30
... Proceso dirigido por los Casos de
Uso
31
Proceso Iterativo e
Incremental
§ El ciclo de vida iterativo se basa en la
evolución de prototipos ejecutables
que se muestran a los usuarios y
clientes
§ En el ciclo de vida iterativo a cada
iteración se reproduce el ciclo de vida
en cascada a menor escala
§ Los objetivos de una iteración se
establecen en función de la
evaluación de las iteraciones
precedentes 32
... Proceso Iterativo e
Incremental
33
... Proceso Iterativo e
Incremental
Enfoque
Cascada
Enfoque
Iterativo e
Incremental
35
Proceso Centrado en la
Arquitectura
n Arquitectura de un sistema es la organización o
estructura de sus partes más relevantes
n
ón nPruebas
n Valentía nRecodificación
Pr incip ios
nProgram ación por parejas
nAcept ar cam bios
nCódigo colect ivo
nAsum ir Sim plicidad
nInt egraciones cont inuas
nRápida
- Personas e interacciones antes que procesos y herramientas
- Trabajar con el software antes que documentación
- Colaborar con el cliente antes que la negociación de un contrato
- Responder al cambio antes que seguir un plan
Esto es, aunque reconocemos que los ítems de la
derecha tienen valor, nosotros valoramos más los ítems
de la izquierda.
38
Principios detrás del
Manifiesto de Ágil
n Satisfacer al cliente es lo principal nAtención continua a la excelencia
n Aceptar los cambios técnica y buenos diseños mejorar la
n Versiones pequeñas agilidad.
nSimplicidad es esencial
n Integrar a la gente del negocio
n Motivación del equipo nLas mejores arquitecturas, requisitos y
40
Modelado Ágil
(http://www.agilemodeling.com)
n “El propósito de modelar es principalmente
comprender y comunicar no documentar”.
n “No hay que modelar todo el diseño software”
n Se define y muestra cómo poner en práctica un
conjunto de valores, principios y prácticas
para un modelado efectivo y ligero.
n Se explora como aplicar las técnicas de modelado
en proyectos con enfoque ágil (XP)
n Explorar cómo mejorar el modelado en procesos
predictivos como el RUP
41
Modelado Ágil
(http://www.agilemodeling.com)
n Utilizar herramientas simples: pizarras y
fotografías
n Herramientas CASE de modelado son
complementarias
n Integrada con un IDE y con ingeniería inversa
n Programar por pares
n Modelo estructural y de comportamiento en
paralelo
n No complicarse la vida con UML
n Los modelos serán imprecisos e incompletos
n Lo importante es el diseño OO
n Dedicar al modelado unas pocas horas (un día a 42
lo
Tendencia
• Enfoque industrial para la producción de software:
“Capacidad de producir software de alta calidad a bajo
coste”
Automatización
Estándares
Reutilización: Componentes, Patrones,
Frameworks
Configurar soluciones
• MDA: nuevo paradigma de desarrollo dirigido
43
Un proceso simple
44
Etapas del Proceso
n Inicio
n Comprender procesos del negocio
(opcional)
n Obtener y especificar requisitos del
sistema
n Identificar y especificar clases y
colaboraciones para objetos del dominio
(análisis)
n Resolver problemas de diseño
(arquitectura, base de datos, redes,
patrones, nuevas clases y
colaboraciones,..) 45
Etapas del Proceso
46
ModelodeCasos Modelode Diagramas
deUso Dom inio deProceso
Modelode
Modelo deRequisitos Negocio
Diagramade
Secuenciadel
Sistem a(DSS)
(unoporcasodeuso)
Contratos Diagramade
(unoporinteracción) Clases
Colaboraciones
(unaporcontrato)
Modelo deAnálisis
Arquitecturadel
Sistema
Paquetes DiseñoGUI
PatronesdeDiseño Persistencia
Estructuras
Datos
de Distribución
El Proceso
Modelodel Diseño
47
Analisis y Diseño de
Sistemas
FIN Sesión 9