You are on page 1of 21

Temas

Arquitectura Introduccin Capas de una Aplicacin Ejemplos Paquetes

Administracin de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Arquitectura y Paquetes Enfoque moderno

Arquitectura y Paquetes

Referencias Pressman, Roger. Ingeniera de Software Un enfoque prctico. McGraw Hill. 6 edicin. 2005. Rodrguez Dez, Gustavo. Arquitectura de Capas. Material del Curso Metodologas de Diseo de Sistemas 2. ITESM Campus Monterrey, 2006

Fin de la presentacin

Contine en la siguiente actividad

Administracin de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Arquitectura y Paquetes Enfoque moderno

Arquitectura y Paquetes

Arquitectura -Introduccin Descripcin de los componentes de software y hardware del sistema, cmo estn estructurados y cmo se relacionan. Los componentes de software pueden describirse en trminos de clases, paquetes, subsistemas y sus dependencias, o fsicamente en trminos de archivos ejecutables, libreras de clases y bases de datos.

Arquitectura y Paquetes

Arquitectura -Introduccin La arquitectura lgica del software se modela usando diagramas de clases y diagramas de paquetes. La arquitectura fsica del software es descrita usando diagramas de componentes.

Arquitectura y Paquetes

Arquitectura -Introduccin La arquitectura de hardware, se refiere a las computadoras, perifricos y redes en los que el sistema corre. La arquitectura de hardware se modela por medio de diagramas de despliegue (deployment) Una metodologa para particionar el sistema es usar una arquitectura de capas.

Arquitectura y Paquetes

Capas de una Aplicacin Arquitectura Cliente/Servidor

En la arquitectura cliente/servidor cada computadora o proceso en una red es un cliente o un servidor. Los servidores poseen mayor poder de cmputo y estan dedicados a manejar recursos crticos como: disk drives, impresoras, procesos compartidos, procesos demandantes de poder de cmputo, etc. Los clientes son PCs o estaciones de trabajo en los cuales los usuarios corren aplicaciones. Los clientes dependen de los servidores para acceder a recursos compartidos o crticos.

Arquitectura y Paquetes

Capas de una Aplicacin Arquitectura Cliente/Servidor

La arquitectura cliente/servidor es conocida como de dos capas. En la arquitectura de dos capas, la interfaz del usuario corre en el cliente mientras que la base de datos se encuentra en el servidor. Los objetos de negocio pueden estar tanto en el cliente como en el servidor.

Arquitectura y Paquetes

Capas de una Aplicacin Cliente/Servidor

Servidor: Manejador de base de datos DBMS

Cliente: Interfaz grfica y codificacin de procesos de negocio

SQL Server

VB

Arquitectura y Paquetes Capas de una Aplicacin Tres Capas (Three Tier)

Presentacin

Proporciona la interfaz necesaria para presentar la informacin y reunir datos. Generalmente identificada con la interfaz del usuario y reside en un programa ejecutable del cliente. A partir de Internet se ha convertido en los browsers que permiten ver datos remotos a travs de una capa HTML. Servicios: Obtener informacin de usuario, enviar la informacin del usuario al servidor, recibir resultados procesados, presentar datos al usuario. Proporcionan un puente entre los usuarios y el servicio de datos a travs de tareas de negocio. Una tarea de negocio es una operacin definida por los requerimientos de la aplicacin, p.e. Introducir una orden de compra. Las reglas de negocio son polticas que controlan el flujo de la tarea. Servicios: Recibir la entrada del nivel de presentacin, interactuar con los servicios de datos, enviar resultados al nivel de presentacin, servicios de TP, MQ, ASP, JSP, POOL de conexiones a BD, sincronizacin de acceso a componentes. Almacenamiento de datos, recuperacin de datos, mantenimiento de datos, integridad de datos. DBMS, OLE DB (documentos, mail, archivos planos, etc.)

Lgica de Negocio

Datos

Arquitectura y Paquetes

Capas de una Aplicacin n-Tier Una aplicacin de tres capas puede subdividirse en sub-capas cada una con un servicio particular. Por ejemplo si una empresa tiene un sitio donde vende libros por Internet y tiene un componente que realiza las facturas de esos libros, puede usar ese mismo componente si desea ampliar su negocio para vender discos. La arquitectura de componentes es la base del desarrollo basado en componentes. Los componentes pueden existir en cualquiera de las capas de una aplicacin: por ejemplo puede existir un componente que grafica en la capa de presentacin, un componente que factura en la capa de negocio y un componente que maneja transaccones en la capa de datos.

Arquitectura y Paquetes

N Capas (n-Tier) - Arquitectura de referencia


Servicios de Presentacin Provee servicios tradicionales de interfaz del usuario (MS Windows). (Formas de C, VB). Provee edicin de sintaxis y contexto. Filtra y limpia informacin antes de pasarla al siguiente nivel. (Formas de C, VB) Implementa las reglas de negocio. (Clases)

Servicios de Contexto de Negocio

Servicios de Reglas de Negocio

Servicios de Traduccin de Datos

Traduce los pedidos de la capa de negocios en SQL. (Clases)

Servicios de Acceso a Datos

API para acceder la BD. (Clases que implementan un API de acceso a datos)

Servicios de Base de Datos

Representa el RDBMS fsico (Oracle. Sybase, SQL Server).

Arquitectura y Paquetes

Capas de una Aplicacin- Beneficios de n-tier Es muy fcil actualizar reglas de negocio, las cuales normalmente cambian mucho (mantenimiento). Se simplifica la instalacin de clientes (deployment). Soporta mayor nmero de clientes. Escala naturalmente (escalabilidad). Facilita la transferencia de informacin en diferentes tipos de repositorios (interoperabilidad). Facilita la conexin con diferentes tipos de plataformas (interopaerabilidad). Administra mejor los recursos crticos mediante el control de acceso a travs de los objetos de negocio (autonoma) Permite transacciones en mltiples repositorios (confiabilidad, integridad). Mejora la disponibilidad de los servicios a travs de manejo de colas (disponibilidad).

Ejemplo

Arquitectura y Paquetes
Capa 1 Capa 2 Capa 3

e ser er (Ipla et, II , Apac e) ire all

Applicatio ser er ( e lo ic, e sp ere, T +)

( racle, , y ase)

Reglas de Negocio Traduccin a BD Acceso

Servicio de Base de Datos

I ter et

............
( E plorer, ( etscape) E plorer, etscape) ( E plorer, etscape)

Presentacin

Arquitectura y Paquetes

Ejemplo En un sistema se va a crear un componente para acceder el sistema. El componente tiene una ventana donde el usuario captura su nombre y su contrasea y el sistema valida que exista el usuario y que la contrasea capturada sea correcto. Cul sera la secuencia de mensajes entre clases en diferentes capas para este componente?

Ejemplo Arquitectura y Paquetes


Capa de Presentacin Capa de Negocio
getInfo(grodriguez)

Capa de Datos
UsuarioDT

3
grodriguez, apassword retrieve retieve(select * from Usuario where userName = userName)

7
Usuario userName Password

grodriguez, apassword

Sub Cmd_OK verificaPassword (usuario, password) En sub

getInfo Acceso

8
CUControlLogin verificaPassword { miUsusario.getinfo(grodriguez) If miUsuario.password = password then Entrar Else error }

2
getInfo (grodriguez)

retrieve

6 BD Sistema

Arquitectura y Paquetes

Paquetes Un paquete es un mecanismo de propsito general para organizar elementos en grupos El nmero de clases crece al mismo tiempo que se analizan casos de uso y escenarios Las clases pueden agruparse mediante paquetes Provee la capacidad de organizar el modelo en desarrollo Un paquete se representa como un folder o legajo Los paquetes tambin pueden agrupar colaboraciones, subsistemas o una vista completa del sistema como el modelo de casos de uso

Arquitectura y Paquetes

Una arquitectura lgica simple


UI ri E it r

En UML la particin lgica se ilustra con diagramas de paquetes

i r E l ti li i

r i r i t L i R rti rit

Arquitectura y Paquetes

Sugerencia: Incluir una capa de Coordinacin de la aplicacin

Los objetos de la capa de coordinacin de la aplicacin representan cada uno a un caso de uso. Tambin pueden conocer el estado de la sesin.

UI ri it r

r i

ti

enting ideo C andler


i r

Paying ines C andler

l ti li i

Arquitectura y Paquetes

Dependencias entre paquetes


F

UI j r ti E it r

Es til mostrar el acoplamiento mediante lnes de dependencia.

r i

ti

i r r i r i t L i E l ti li i

Arquitectura y Paquetes

Ordenar las tareas Agrupar en paquetes y asignar dependencias ayudan a decidir: Por dnde empezar Qu se puede hacer en paralelo
F

UI j r ti E it r

r i

ti

i r r i r i t L i E l ti li i

You might also like