42
25/10/2022 Ambientes de Desarrollo PROCESO UNIFICADO (UP) Universidad del Cauca Departamento de Telemática

s04 - Paradigma de desarrollo fundamentado en modelado

Embed Size (px)

DESCRIPTION

Diapositivas de la sesión 04: taller sobre la construcción de soluciones basadas en desarrollo de modelos

Citation preview

Page 1: s04 - Paradigma de desarrollo fundamentado en modelado

04/13/2023Ambientes de DesarrolloAmbientes de Desarrollo

PROCESO UNIFICADO (UP)

Universidad del CaucaDepartamento de Telemática

Page 2: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 3: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 4: s04 - Paradigma de desarrollo fundamentado en modelado

Modelos y estilos 1/4

Requisitos y Análisis

Diseño

Implementación

Pruebas

Mantenimiento

Page 5: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 6: s04 - Paradigma de desarrollo fundamentado en modelado

Modelos y estilos 3/4

Req

Ana

Dis

Cod

Pru

Req

Ana

Dis

Cod

Pru

Req

Ana

Dis

Cod

Pru

Page 7: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 8: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 9: s04 - Paradigma de desarrollo fundamentado en modelado

Orígenes

Método Ericsson

Proceso Objectory

Proceso Objectory de Rational

Proceso Unificado de Rational

Método de Rational

UML

Otras Fuentes

Page 10: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 11: s04 - Paradigma de desarrollo fundamentado en modelado

Principios o mejores prácticas del RUP

Desarrollo

iterativo

Modelamientovisual

Verificación dela calidad

Arquitecturascon componentes

Administración de requisitos

Control de cambios

Page 12: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 13: s04 - Paradigma de desarrollo fundamentado en modelado

Desarrollo Iterativo

Requisitos Análisis y Diseño

Implementación

Pruebas

Evaluación

Cada iteraciónproduce un producto ejecutable

Page 14: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 15: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 16: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 17: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 18: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 19: s04 - Paradigma de desarrollo fundamentado en modelado

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…

Page 20: s04 - Paradigma de desarrollo fundamentado en modelado

Características

Dirigido por Casos de Uso

Centrado en Arquitectura

Iterativo e incremental

Page 21: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 22: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 23: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 24: s04 - Paradigma de desarrollo fundamentado en modelado

Centrado en la Arquitectura 2/2

Page 25: s04 - Paradigma de desarrollo fundamentado en modelado

Relación Casos de Uso y Arquitectura

Casos de Uso

Arquitectura

La función

La forma

Page 26: s04 - Paradigma de desarrollo fundamentado en modelado

Ejemplo de Caso de Uso (SVV)

Ver Video

Buscar Videos

Modificar Información

Suscriptor

Visitante

Registrarse al servicio

Gestionar Videos

Administrador

Gestionar Suscriptores

Page 27: s04 - Paradigma de desarrollo fundamentado en modelado

Ejemplo de Arquitectura (SVV)

Business objectsJava Beans

HTTP

ApacheWeb Server

JServerJ2EE

HTML Pages

Java appletJMF

Browser

java.net

Java Server Pages

VideosOracle 8i

Page 28: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 29: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 30: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 31: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 32: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 33: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 34: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 35: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 36: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 37: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 38: s04 - Paradigma de desarrollo fundamentado en modelado

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

Page 39: s04 - Paradigma de desarrollo fundamentado en modelado

04/13/2023

Aplicación del RUP

Personas

Proyecto

Proceso

Producto

Herramientas

Page 40: s04 - Paradigma de desarrollo fundamentado en modelado

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.

Page 41: s04 - Paradigma de desarrollo fundamentado en modelado

Variantes del UP

Page 42: s04 - Paradigma de desarrollo fundamentado en modelado

¿Preguntas?¿Observaciones?

¿Preguntas?¿Observaciones?