s04 - paradigma de desarrollo fundamentado en modelado
Post on 28-Jun-2015
3.648 Views
Preview:
DESCRIPTION
TRANSCRIPT
04/13/2023Ambientes de DesarrolloAmbientes de Desarrollo
PROCESO UNIFICADO (UP)
Universidad del CaucaDepartamento de Telemática
Definición de Metodología
Es una forma explícita de estructurar el pensamiento y las acciones.
Contienen modelos y reflejan perspectivas particulares de la realidad basándose en un conjunto de paradigmas filosóficos.
Debería señalarnos “qué” pasos tomar y “cómo” llevarlos a cabo, pero más importante es definir las razones del “por qué” esos pasos se deben tomar en ese orden.
A tener en cuenta...
Las metodologías siempre reflejan el punto de vista de sus creadores
Los usuarios de las metodologías las interpretan según su punto de vista
Un autor nunca menciona las debilidades de su creación
Modelos y estilos 1/4
Requisitos y Análisis
Diseño
Implementación
Pruebas
Mantenimiento
Modelos y estilos 2/4
Recoleccióny refinamiento de
requisitos
Diseñorápido
Producto
Refinamientodel prototipo
Evaluación delprototipo por
el cliente
Construccióndel prototipo
Modelos y estilos 3/4
Req
Ana
Dis
Cod
Pru
Req
Ana
Dis
Cod
Pru
Req
Ana
Dis
Cod
Pru
Modelos y estilos 4/4
.Concepto de
operación
Análisis de riesgos
An.Riesgo.
Análisis de riesgos
Análisis de riesgos
-
PROGRESOA TRAVÉS
DE LAS ITERACIONES
DESARROLLAR, VERIFICARPRODUCTO DE SIGUIENTE NIVEL
-
Codificar
PLANIFICAR SIGUIENTEFASE
Simulaciones, modelos,pruebas comparativas
Plan de requerimientos
Plan de ciclo de vida
Plan dedesarrollo
Plan de integracióny prueba
REVISIÓNProto-tipo 1
Prototipo 2
Prototipo 3
Prototipooperativo
Requerimientosde software
Validación derequerimientos
Diseño delproducto
Diseño de validacióny verificación
Diseñodetallado
Prueba deunidad
Prueba deintegraciónPrueba de
aceptaciónExplotación
EVALUAR ALTERNATIVAS,IDENTIFICAR Y RESOLVER RIESGOS
DETERMINAR OBJETIVOS,ALTERNATIVAS YRESTRICCIONES
RUP
Proceso Unificado de Rational
Proceso de Desarrollo de Software soportado en el Lenguaje Unificado de Modelado, y que es iterativo, centrado en la arquitectura y dirigido por casos de uso
Orígenes
Método Ericsson
Proceso Objectory
Proceso Objectory de Rational
Proceso Unificado de Rational
Método de Rational
UML
Otras Fuentes
Principios del RUP
Desarrollo Iterativo del Software, Administración de Requerimientos, Uso de Arquitecturas Basadas en
Componentes, Modelado Visual del Software, Verificación de la Calidad del Software, Control de Cambios.
Principios o mejores prácticas del RUP
Desarrollo
iterativo
Modelamientovisual
Verificación dela calidad
Arquitecturascon componentes
Administración de requisitos
Control de cambios
Desarrollo iterativode aplicaciones
• Dada la complejidad de las aplicaciones y programas actuales, es posible hacer de manera secuencial la definición completa del problema, diseñar la solución completa, construir la aplicación y por probarla.
• El descubrimiento de faltas de conformidad con los requisitos en fases posteriores de diseño dan como resultado un aumento en los costos y/ó la cancelación del proyecto.
El tiempo y dinero gastados en la implementación de undiseño fallido, son no recuperables.
Desarrollo Iterativo
Requisitos Análisis y Diseño
Implementación
Pruebas
Evaluación
Cada iteraciónproduce un producto ejecutable
Características deldesarrollo iterativo
• Permite un entendimiento incremental del problema a través de refinamientos sucesivos.
• Posibilita una fácil interacción y retroalimentación de usuario.
• Metas específicas permiten que el equipo de desarrollo mantenga su atención en producir resultados.
• El progreso es medido conforme avanzan las implementaciones.
Administración de Requisitos
• Elicitar, organizar, y documentar la funcionalidad y restricciones requeridas.
• Llevar un registro y documentación de cambios y decisiones.
• Los requerimientos de negocio son fácilmente capturados y comunicados a través de casos de uso.
• Los casos de uso son instrumentos importantes de planeación.
Arquitectura basadaen componentes
• Se enfoca en el rápido desarrollo de una arquitectura ejecutable robusta, con las siguientes características:– resistente al cambio mediante el uso de
interfaces bien definidas,– intuitivamente comprensible,– promueve un reuso más efectivo de código,– es derivada a partir de los casos de uso más
importantes.
Modelación visualde aplicaciones
• Captura la estructura y comportamiento de arquitecturas y componentes.
• Muestra cómo encajan de forma conjunta los elementos del sistema.
• Mantiene la consistencia entre un diseño y su implementación.
• Promueve una comunicación no ambigua entre participantes.
Verificación de la calidadde las aplicaciones
• Crea pruebas para cada escenario para asegurar que todos los requisitos están propiamente implementados.
• Verifica la calidad de la aplicación con respecto a los requisitos basados en la confiabilidad, funcionalidad, desempeño de la aplicación y del sistema.
• Prueba cada iteración
Los problemas de las aplicaciones son de 200 a 500 veces más costosos de encontrar y reparar después del desarrollo.
Control de cambiosde las aplicaciones
• Controlar, llevar un registro, y monitorear cambios para permitir un desarrollo iterativo.
• Establece espacios de trabajo seguros para cada desarrollador– Provee aislamiento de cambios hechos en
otros espacios de trabajo– Controla todos los artefactos de software –
modelos, código, documentos, etc…
Características
Dirigido por Casos de Uso
Centrado en Arquitectura
Iterativo e incremental
Dirigido por Casos de Uso 1/2
Se centra en la funcionalidad que el sistema debe poseer para satisfacer las necesidades de un usuario (persona, sistema externo, dispositivo) que interactúa con él
Casos de uso como el hilo conductor que orienta las actividades de desarrollo
Dirigido por Casos de Uso 2/2
Modelo de Casos de Uso
Modelo de Diseño
Modelo de Análisis
Modelo de Despliegue
Modelo de Implementación
Modelo de Prueba
especificado por
realizado por distribuido por implementado por
verificado por
Centrado en la Arquitectura 1/2
Describe diferentes vistas del sistema en construcción
Incluye los aspectos estáticos y dinámicos más significativos
Plataforma en la que va a operar Reutilización, sistemas heredados Requisitos funcionales y no
funcionales
Centrado en la Arquitectura 2/2
Relación Casos de Uso y Arquitectura
Casos de Uso
Arquitectura
La función
La forma
Ejemplo de Caso de Uso (SVV)
Ver Video
Buscar Videos
Modificar Información
Suscriptor
Visitante
Registrarse al servicio
Gestionar Videos
Administrador
Gestionar Suscriptores
Ejemplo de Arquitectura (SVV)
Business objectsJava Beans
HTTP
ApacheWeb Server
JServerJ2EE
HTML Pages
Java appletJMF
Browser
java.net
Java Server Pages
VideosOracle 8i
Proceso Iterativo e Incremental
Descomposición de un proyecto grande en mini-proyectos
Cada mini-proyecto es una iteración Las iteraciones deben estar controladas Cada iteración trata un conjunto de
casos de uso
RUP - terminología 1/3
Ciclo: cada ciclo una nueva versión del producto
Fase: Etapas de un ciclo que finalizan en un HITO
Iteración: Proceso de ingeniería sobre una funcionalidad limitada del sistema
RUP - terminología 2/3
Rol: Definición del comportamiento y responsabilidades de los participantes
Actividad: Unidad de trabajo que puede ejecutar un individuo en un rol específico
Artefacto: Pieza de información producida, modificada y utilizada en un proceso
RUP - terminología 3/3
Flujo de Trabajo: Forma de describir significativamente la secuencias de actividades que producen resultados y las interacciones entre cargos
Hito: Punto en el tiempo en donde se evalúan objetivos logrados y se pueden tomar decisiones críticas
Organización por Componentes
• Agrupan las actividades de acuerdo a su naturaleza
• Representan la estructura del Proceso.• Expresados en términos de:
Flujos de trabajo yactividades
ArtefactosTrabajadores
Rol que puede ser
desempeñado por un
individuo o conjunto de
individuos en la organización de desarrollo
Trabajador¿Quién?
Diseñador
Actividad¿Cómo?
Describe una unidad de trabajo
que puede ser asignada a un
trabajador.
Diseño deCasos de uso
Pieza de información que es producida,
modificada, ó utilizada por un proceso
Artefacto¿Qué?
Paquete deCaso de Uso
Caso de Uso
Idea del proceso
responsable de
04/13/2023
Flujos de Trabajo 1/2Organización por Organización en el tiempo
COMPONENTES DE SOPORTE
COMPONENTES DEL PROCESO
Iteraciones
Inicial
Gestación Preparación Construcción Transición
Prep.#1
Prep.#2
Const.#1
Const.#2
Const.#N
Trans.#1
Trans.#2
FASESComponentes
Captura de Requisitos
Análisis
Diseño
Implementación
Pruebas
Puesta en Servicio
Modelado de la Organización
Gestión de Configuración y Cambios
Gestión del Proyecto
Entorno
04/13/2023
Flujos de Trabajo 2/2
RequerimientosRequerimientos
Análisis y Diseño Análisis y Diseño
CodificaciónCodificación
Prueba Prueba
Admin. ProyectoAdmin. Proyecto
Gestión Configuracióny Cambio
Gestión Configuracióny Cambio
InicioInicio ElaboraciónElaboración ConstrucciónConstrucción TransiciónTransición
IteraciónIteración IteraciónIteración IteraciónIteración IteraciónIteración
Fases:
Iteraciones:
Disciplinas:
Alcances yObjetivos
Alcances yObjetivos ArquitecturaArquitectura
Versión Beta
Versión Beta
Satisfacción
Del Cliente
Satisfacción
Del Cliente
EntregasInternas
EntregasInternas
04/13/2023
Trabajadores
CARGOS/ POSICIONES TAREAS ASIGNADASGestor del proyecto Establecer Condiciones de Trabajo
Analista del sistemaEncontrar Actores y Casos de UsoEstructurar el Modelo de Casos de Uso
Arquitecto del sistema
Priorizar los Casos de UsoEfectuar el Análisis ArquitecturalEfectuar el Diseño ArquitecturalEfectuar la Implementación Arquitectural
Especificador de casos de uso Detallar un Caso de UsoDiseñador de interfaz de usuario Prototipar una Interfaz de Usuario
Ingeniero de casos de usoAnalizar un Caso de UsoDiseñar un Caso de Uso
Ingeniero de componentes
Analizar una ClaseAnalizar un PaqueteDiseñar una ClaseDiseñar un SubsistemaImplementar un SubsistemaImplementar una ClaseRealizar una Prueba de UnidadImplementar una Prueba
Integrador del sistema Integrar el Sistema
Ingeniero de pruebasPlanear las PruebasDiseñar las PruebasEvaluar las Pruebas
Verificador de integración Realizar una Prueba de IntegraciónVerificador del sistema Realizar las Pruebas del Sistema
04/13/2023Implementación
Diseño
Análisis
Pruebas
Requisitos
Trabajadores y flujos de trabajo 1/2
Construir prototipo de Interfaz de usuario
Estructurar el Modelo de Casos de Uso
Planear prueba
Diseñar prueba
Evaluar prueba
Detallar un caso de uso
Priorizar casos de uso
Implementación de la arquitectura
Analizar la arquitectura
Analizar un caso de uso
Analizar un paquete
Analizar una clase
Implementar un subsistema
Implementar una clase
Realizar pruebas de unidad
Implementar pruebas
Integrar sistema
Realizar pruebas de integración
Realizar pruebas de sistema
Diseño de la arquitectura
Diseñar un caso de uso
Diseñar una clase
Diseñar un subsistema
Encontrar actores y casos de uso
actividades Requisitos
Análisis
Diseño
Implementación
Pruebas
Relación Temporal
04/13/2023
Analista
Especificador
Diseñador
Arquitecto
Casos de Uso
Componentes
Pruebas
Integrador
Integración
Sistema
Trabajadores y flujos de trabajo 2/2
Implementación
Diseño
Análisis
Pruebas
Requisitos
Construir prototipo de Interfaz de usuario
Estructurar el Modelo de Casos de Uso
Planear prueba
Diseñar prueba
Evaluar prueba
Detallar un caso de uso
Priorizar casos de uso
Implementación de la arquitectura
Analizar la arquitectura
Analizar un caso de uso
Analizar un paquete
Analizar una clase
Implementar un subsistema
Implementar una clase
Realizar pruebas de unidad
Implementar pruebas
Integrar sistema
Realizar pruebas de integración
Realizar pruebas de sistema
Diseño de la arquitectura
Diseñar un caso de uso
Diseñar una clase
Diseñar un subsistema
Encontrar actores y casos de uso
actividades
Relación Temporal
04/13/2023
Aplicación del RUP
Personas
Proyecto
Proceso
Producto
Herramientas
04/13/2023
Herramientas de Apoyo al Proceso
Gestión de Requisitos, Modelado Visual, Herramientas de Programación, Aseguramiento de la Calidad, Control de versiones, gestión de la
configuración, seguimiento de defectos, documentación, gestión del proyecto y automatización de procesos.
Variantes del UP
¿Preguntas?¿Observaciones?
¿Preguntas?¿Observaciones?
top related