Vous êtes sur la page 1sur 49

Desarrollo de Aplicaciones con RUP y UML

Desarrollo de Aplicaciones con RUP y UML


Gua Terica desarrollada por el profesor del curso:
Ing. Hctor Henrquez Taboada hhenriquez@uigv.edu.pe

Desarrollo de Aplicaciones con RUP y UML

Unidad VI:

Implementacin - RUP

Semana 9

Desarrollo de Aplicaciones con RUP y UML

Objetivos:
Definir la organizacin del cdigo, en trminos de subsistemas de implementacin organizadas en capas

Implementar

el

diseo

en

trminos
Fuentes,

de

elementos

de

implementacin

(archivos

archivos

binarios,

ejecutables y otros)

Evaluar los componentes desarrollados como unidades


Integrar los resultados producidos por los equipos implementadores en un solo sistema ejecutable

Desarrollo de Aplicaciones con RUP y UML

Por qu utilizar arquitecturas de componentes?


La clave del xito es crear arquitecturas: Duraderas Flexibles al cambio Basadas en componentes Reuso de todo artefacto: Arquitectura Casos de Uso, Anlisis, Diseo, Implementacin y Pruebas Modelos de interfaces, modelos de negocio, patrones arquitectnicos, etc. La Arquitectura es el 20% del esfuerzo que produce el 80% ms importante

Reuso de tecnologa:
Proceso y automatizacin Proyectos Guas

Desarrollo de Aplicaciones con RUP y UML

Arquitectura de los Sistemas Corporativos 3-capas

PRESENTACIN

LGICA NEGOCIO

INTEGRACIN

Interfaces de usuarios

Transactions procesing monitors

Bases de datos

Desarrollo de Aplicaciones con RUP y UML

J2EE
CLIENTE SERVIDOR

Dispositivo Cliente
HTML,XML,WML
HTTP JDBC

Web Server
Contenedor Web

Dispositivo Cliente
JSP Contenedor de Applets
HTTP

EJB Server
Servelet

JavaMail

Mail Server

Contenedor de EJB
Servicios J2EE
Servicios J2SE EJB EJB
JNDI

Applet

Directory Services

Servicios J2SE

Servicios J2EE Servicios J2SE

JMS

Message Queue

HTTP

RMI

Dispositivo Cliente
Contenedor de Aplicacines Cliente Aplicacin Cliente Servicios J2EE Servicios J2SE

Java Application

RMI

CORBA

PRESENTACIN

LGICA DE NEGOCIO

INTEGRACIN

Desarrollo de Aplicaciones con RUP y UML

Flujo de trabajo: Implementacin

Desarrollo de Aplicaciones con RUP y UML

Desarrollo de Aplicaciones con RUP y UML III. Fase de Construccin (Capacidad operativa inicial)
Objetivos especficos: En esta fase todos los componentes restantes se desarrollan e incorporan al producto. El nfasis est en la produccin eficiente y no ya en la creacin intelectual. Obtener versiones tiles (alfa, beta, y otras entregas de prueba). Desarrollar de forma iterativa e incremental un producto completo que est listo para su transicin hacia la comunidad de usuarios. Esto implica detallar los casos de uso restantes y otros requisitos as como completar el diseo, implementacin y prueba del software de toda la funcionabilidad requerida. Decidir si el software, sitio y usuarios estn listos para la instalacin de la aplicacin.

Desarrollo de Aplicaciones con RUP y UML

III. Fase de Construccin, Hito:


Capacidad Operacional

Concepcin

Elaboracin

Construccin

Transicin

Se obtiene un producto Beta que debe decidirse si puede ponerse en ejecucin sin mayores riesgos. Condiciones de xito: El producto est maduro y estable para instalarlo en el ambiente del cliente? Estn los interesados listos para recibirlo?

Desarrollo del sistema con calidad de produccin, y puede entonces prepararse para la entrega al equipo de transicin. En esta fase, toda la funcionalidad ha sido implementada, y completadas las pruebas para el estado alfa de la aplicacin.

Desarrollo de Aplicaciones con RUP y UML

III. Fase de Construccin, productos:


Modelo completo de diseo y casos de uso Liberaciones de productos ejecutables de funcionalidad incremental Documentacin de usuario El producto de software integrado y corriendo en la plataforma adecuada. Una liberacin beta del producto

Desarrollo de Aplicaciones con RUP y UML

Flujo de trabajo: Implementacin

Requirements

Analysis & Design

Implementation

Testing

Desarrollo de Aplicaciones con RUP y UML Implementacin, relacin con otras disciplinas:
Requerimientos:
En el Modelo de Casos de Uso, se registra los requerimientos que la implementacin debe satisfacer

Anlisis y Diseo:
Implementacin El modelo de Diseo representa la base de la implementacin y es el recurso principal de la disciplina de implementacin.

Pruebas:
Describe como se deben evaluar cada uno de los builds (parte de un sistema que demuestre un subconjunto de las capacidades proporcionadas para el producto final) durante la integracin del sistema. Describe la manera en que se debe realizar las pruebas para verificar que todos los requerimientos han sido alcanzados, as como la manera de encontrar defectos y registrarlos.

Desarrollo de Aplicaciones con RUP y UML Implementacin, relacin con otras disciplinas: continua...
Implantacin:
Describe la manera de usar el modelo de implementacin para producir y entregar el cdigo al usuario final.

Ambiente:
Implementacin Describe como desarrollar y mantener los artefactos necesarios que sern utilizadas durante la implementacin, como: descripcin de procesos, patrones de diseo y patrones de programacin.

Administracin de Proyectos:
Describe la mejor manera de planear un proyecto. Los aspectos importantes de los procesos de planeamiento son el plan iterativo, la administracin del cambio y el control de defectos.

Desarrollo de Aplicaciones con RUP y UML Disciplina: Implementacin, propsitos:


Definir la organizacin del cdigo, en trminos de la implementacin de los subsistemas organizados en capas. Implementar el diseo de elementos en trminos de los elementos (archivos fuente, binarios, ejecutables y otros). Probar los componentes desarrollados como unidades. Integrar los resultados de los implementadores individuales en un sistema ejecutable.

Desarrollo de Aplicaciones con RUP y UML Flujo de trabajo: Estructurar el Modelo de Implementacin
El propsito de este flujo es establecer una estructura en la cual radica la implementacin.
1 de 3

Asignar responsabilidades para los Subsistemas de implementacin y sus contenidos. Esta etapa se inicia en la fase de elaboracin y transcurre a travs de las fases de Construccin y Transicin a medida que sea necesario.

Desarrollo de Aplicaciones con RUP y UML Flujo de trabajo: Estructurar el Modelo de Implementacin
Pasos: Establecer la estructura del modelo de implementacin Ajustar los subsistemas de implementacin Definir los entregables de cada subsistema de implementacin Decidir la manera en que sern tratados los ejecutables (y otros objetos derivados) Decidir la manera en que se llevaran a cabo las pruebas Actualizar las vistas de implementacin Evaluar el modelo de implementacin
2 de 3

Desarrollo de Aplicaciones con RUP y UML Flujo de trabajo: Estructurar el Modelo de Implementacin
3 de 3

Artefactos de entrada: Modelo de Despliegue Modelo de Diseo Modelo de Implementacin Normas especficas del proyecto Especificaciones suplementarias Artefactos de salida: Modelo de Implementacin Subsistemas de Implementacin Documento de Arquitectura de Software

Desarrollo de Aplicaciones con RUP y UML Flujo de trabajo: Planear la Integracin


El propsito es Planear la Integracin del sistema para la iteracin actual. El planear la integracin se, enfoca en que subsistemas deben ser implementados, y el orden en que los subsistemas debern ser integrados en la iteracin en actual o en curso.

La integracin se realiza, habitualmente, por una sola persona (para pequeos proyectos en donde la generacin de un build es simple) o por un equipo pequeo (para un proyecto grande en donde el proceso de build es complejo).

Desarrollo de Aplicaciones con RUP y UML

Flujo de trabajo: Implementar Componentes


El objetivo de esta etapa es completar una parte de la implementacin para que pueda darse paso a la integracin; en esta etapa suceden dos actividades: Los implementadores escriben el cdigo fuente, adaptan cdigo fuente existente, compilan, ejecutan pruebas y enlazan las unidades a medida que implementan los elementos del modelo de diseo. Si se encuentran defectos en el diseo, realizan el feedback necesario para la modificacin del diseo. Los implementadores tambin arreglan defectos de cdigo y realizan pruebas para verificar cambios. Luego, el cdigo es revisado para evaluar la calidad y compenetracin con las especificaciones de programacin.

Desarrollo de Aplicaciones con RUP y UML

Flujo de trabajo: Integrar cada subsistema


El propsito es integrar los cambios de mltiples implementadores para crear una versin nueva y consistente de un subsistema de implementacin. La integracin resulta en una serie de builds en un espacio de trabajo del subsistema integrado. Cada build es luego evaluado por un testeador y/o un implementador ejecutando un guin de pruebas. Luego de estas pruebas, el subsistema de implementacin es derivado hacia el espacio de trabajo de la integracin del sistema.

Desarrollo de Aplicaciones con RUP y UML

Flujo de trabajo: Integrar el sistema


El objetivo de este paso es de integrar los subsistemas de implementacin para crear una nueva y consistente versin del sistema completo. El integrador integra el sistema de acuerdo con el plan de integracin, agregando los subsistemas de implementacin terminados en el espacio de trabajo de integracin del sistema y creando builds. Cada build es luego evaluada en integracin por un evaluador. Luego del ltimo incremento, el build puede ser evaluado como un sistema completo por un evaluador.

Desarrollo de Aplicaciones con RUP y UML

Actividades por Roles:

Implementar las pruebas de desarrollo Estructurar el Modelo de Implementaci n

Ejecutar las pruebas de desarrollo

Analizar el comportamiento de la ejecucin

Arquitecto de Software

Implementad Implementar los Implementar los Desarrollar artefactos or elementos de Diseoelementos de Prueba de implementacin

Integracin del Integrador Plan de Sistema

Integracin del Plan del Subsistema

Integrar Subsistema

Integrar Sistema

Tcnico Revisor

Revisar cdigo

Desarrollo de Aplicaciones con RUP y UML

Roles:
Es responsable de la arquitectura del software, que incluye las decisiones tcnicas dominantes que definen el diseo total y la implementacin para el proyecto
El papel del implementador, responsable de desarrollar y probar los componentes, de acuerdo con las normas adoptadas del proyecto, para la integracin en los subsistemas ms grandes.

Son responsables de planear y realizar la integracin y de los elementos de la aplicacin para producir las nuevas integraciones. Es responsable de contribuir con la regeneracin del proceso de la revisin. Este papel est envuelto en la categora de revisin que se trata de la revisin tcnica de los artefactos del proyecto.

Desarrollo de Aplicaciones con RUP y UML

Rol: Software Architect


Es responsable de la arquitectura del software, que incluye las decisiones tcnicas dominantes que definen el diseo total y la implementacin para el proyecto

Desarrollo de Aplicaciones con RUP y UML

Rol: Implementer.
Es responsable de desarrollar y de probar los componentes, de acuerdo con los estndares adoptados para el proyecto, para la integracin en subsistemas ms grandes. Cuando los componentes de la prueba, tales como conductores o trozos, se deben de crear para apoyar la prueba, el implementador es tambin responsable de desarrollar y de probar los componentes de la prueba y los subsistemas correspondientes

Desarrollo de Aplicaciones con RUP y UML

Rol: Integrator.
Los ejecutores entregan sus elementos probados de la implementacin en un espacio de trabajo de la integracin, mientras que los integradores los combinan para producir una estructura. Un integrador es tambin responsable de planear la integracin, que ocurre en los niveles del subsistema y de sistema, con cada uno teniendo un espacio de trabajo separado de la integracin.

Desarrollo de Aplicaciones con RUP y UML

Rol: Technical Reviewer.


El tcnico revisor es responsable de contribuir con la regeneracin del proceso de la revisin. Este papel est implicado en la categora de la revisin que se ocupa de la revisin tcnica de los artefactos del proyecto. Es tambin responsable de proporcionar la regeneracin oportuna, apropiada en los artefactos del proyecto que son repasados.

Desarrollo de Aplicaciones con RUP y UML

Artefactos de Implementacin
Los Roles involucardos producen artefactos:

Desarrollo de Aplicaciones con RUP y UML

Artefactos de Implementacin, continua...


Elementos de Implementacin: son las partes fsicas que constituye una aplicacin, incluyen archivos y directorios. Ellos incluyen los archivos de cdigo de software (fuente, binario o ejecutable), datos archivados, y la documentacin archiva, como los archivos de ayuda en lnea. Modelo de Implementacin: representa la composicin fsica de la aplicacin por lo que se refiere a los Subsistemas de implementacin, y Elementos de Implementacin (los directorios y archivos, incluso el cdigo de la fuente, datos, y los archivos ejecutables).

Implementacin de Subsistemas: los Subsistemas de aplicacin estructuran el Modelo de implementacin dividindolo en partes ms pequeas que pueden integrarse separadamente y probar.

Desarrollo de Aplicaciones con RUP y UML

Artefactos de Implementacin, continua...


Elementos de Prueba: un elemento de implementacin especializado que comprende la conducta de la prueba especfica como apoyo del software. Build (estrutura): es una versin operacional de un sistema o parte de un sistema que demuestra un subconjunto de las capacidades proporcionados en el ltimo producto. Una funcin comprende uno o ms elementos de la aplicacin (a menudo ejecutable), cada uno se construy de otros elementos, normalmente por un proceso de recopilacin y unindose del cdigo fuente.

Pieza de Prueba: un elemento de aplicacin especializado se usa para probar propsitos que simulan un componente real.

Desarrollo de Aplicaciones con RUP y UML

Artefactos de Implementacin, continua...


Integration Build Plan Este objeto muestra un plan detallado de la integracin dentro de una iteracin. El propsito de este plan es definir el orden en que los componentes del sistema deben llevarse a cabo, los resultados al integrar el sistema y cmo sern evaluados. Mantiene un plan detallado la integracin dentro de una iteracin. Fase de elaboracin Fase de Construccin Table of Contents 1. Introduction 1.1 Purpose 1.2 Scope 1.3 Definitions, Acronyms and Abbreviations 1.4 References 1.5 Overview 2. Subsystems 3. Builds

Desarrollo de Aplicaciones con RUP y UML


FUENTE DE INFORMACION: Rational Unified Process 2003.

CASO EJEMPLO DE IMPLEMENTACION: http://www.biocom.com/sistema/documentacion/ CASO DE INVESTIGACION: http://icinfubb.ltd.cl/Apuntes/MetodologiaI/RUP.PDF

CASO: PROPUESTA DE IMPLEMENTACION: http://paginas.usco.edu.co/~gmm/

Desarrollo de Aplicaciones con RUP y UML

Diagramas de Implementacin

Desarrollo de Aplicaciones con RUP y UML

Diagrama de Componentes (Component Diagram)


Cada componente de software entrega un conjunto de servicios a travs de interfaces provedas y de manera declarativa se definen los servicios requeridos por el componente software. Este mecanismo permite, que un componente software de manera aislada cuente con toda la especificacin no solo interna sino adems de la especificacin de los requerimientos para la integracin del componente de software con otros componentes software. El diagrama de componente muestra interfaces y dependencias entre los componentes del software, los componentes de cdigo de fuente, cdigo binario y ejecutables. Un mdulo del software puede representarse como un tipo de componente.

Desarrollo de Aplicaciones con RUP y UML

...continua, Diagrama de Componentes


Un componente es un mdulo de cdigo, de modo que los diagramas de componentes son los anlogos fsicos a los diagramas de clases. Muestran la organizacin y dependencias de un conjunto de componentes. Cubren la vista de implementacin esttica de un sistema.

Desarrollo de Aplicaciones con RUP y UML


...

continua, Diagrama de Componentes


actor EntidadDeTarjetasDeCrdito

CargosDeTarjetasDeCrdito

componente

BDEntradas

proveedor cargo cliente


VendedorDeEntradas

compra

estado

Ventasdegrupo

InterfazDeGestor

Ventasdesuscripcin

Ventasindividuales Supervisor

InterfazDeQuiosco

InterfazDeVendedor

Cliente

Vendedor

Desarrollo de Aplicaciones con RUP y UML

Diagrama de Despliegue (Deployment Diagram)


El diagrama de despliegue muestra los diferentes nodos de la infraestructura de red que se colocan, a modo de artefactos, los elementos componentes del software. Un artefacto puede ser elemento fsico simple (por ejemplo, un archivo de configuracin del despliegue).

Los diagramas de despliegue sirven para modelar la configuracin del hardware del sistema, mostrando qu nodos lo componen.

Desarrollo de Aplicaciones con RUP y UML

Diagrama de Despliegue (Deployment Diagram), ejemplo:

Desarrollo de Aplicaciones con RUP y UML

...continua, Diagrama de Despliegue


Nivel de Descripcin:
EntidadDeTarjetasDeCrdito Gestor

CargosDeTarjetasDeCrdito

InterfazDeGestor

componente

VendedorDeEntradas

BDEntradas

1 ServidorDeEntradas dependencia 1 multiplicidad de nodo

*
Quiosco
InterfazDeCliente

TerminaDeVentas
InterfazDeVendedor

nodo

Cliente

Vendedor

Desarrollo de Aplicaciones con RUP y UML

Sistema para la gestin de artculos deportivos, ejemplo:


Diagrama de Paquetes Global

Desarrollo de Aplicaciones con RUP y UML

Sistema para la gestin de artculos deportivos , ejemplo:continua...


Diagrama de Componentes Comunes
Aplicacin Almacen Deportes LSI03.exe

Identificacin.frm

Control y analisis

Rutinas de conexin(librerias)

Acceso a base de datos

Aplicacin Ventas Deportes LSI03.exe

Identificacin.frm BD Oracle

Desarrollo de Aplicaciones con RUP y UML

Diagrama de Componentes. Almacn:

Sistema para la gestin de artculos deportivos, Ejemplo: continua...

Desarrollo de Aplicaciones con RUP y UML

Sistema para la gestin de artculos deportivos, Ejemplo: continua...


Diagrama de componentes. Ventas:

Desarrollo de Aplicaciones con RUP y UML

Sistema para la gestin de artculos deportivos, ejemplo: continua...


Diagrama de despliegue:

Desarrollo de Aplicaciones con RUP y UML

Diagrama de Despliegue, ejemplo:

Desarrollo de Aplicaciones con RUP y UML

En Resumen:
En esta disciplina se implementan las clases y objetos en ficheros fuente, binarios, ejecutables y otros. Adems se deben hacer las pruebas de unidad: cada implementador es responsable de probar las unidades que produzca. El resultado final de esta disciplina es un sistema ejecutable. En cada iteracin habr que hacer lo siguiente:

1. Planificar que los subsistemas deben ser implementados y en que orden deben ser integrados, formando el Plan de Integracin. 2. Cada implementador decide en que orden implementa los elementos del subsistema. 3. Si encuentra errores de diseo, los notifica. 4. Se prueban los subsistemas individualmente. 5. Se integra el sistema siguiendo el plan.

Desarrollo de Aplicaciones con RUP y UML

En Resumen, continua...
La estructura de todos los elementos implementados forma el modelo de implementacin. La integracin debe ser incremental, es decir, en cada momento slo se aade un elemento. De este modo es ms fcil localizar fallos y los componentes se prueban ms a fondo.

En fases tempranas del proceso se pueden implementar prototipos para reducir el riesgo. Su utilidad puede ir desde ver si el sistema es viable desde el principio, probar tecnologas o disear la interfaz de usuario. Los prototipos pueden ser exploratorios (desechables) o evolutivos. Estos ltimos llegan a transformarse en el sistema final.

Desarrollo de Aplicaciones con RUP y UML

Desarrollo de Aplicaciones con RUP y UML


Gua Terica desarrollada por el profesor del curso:
Ing. Hctor Henrquez Taboada hhenriquez@uigv.edu.pe

Vous aimerez peut-être aussi