Professional Documents
Culture Documents
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
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
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
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
SQL Server
VB
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
API para acceder la BD. (Clases que implementan un API de acceso a datos)
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
( racle, , y ase)
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?
Capa de Datos
UsuarioDT
3
grodriguez, apassword retrieve retieve(select * from Usuario where userName = userName)
7
Usuario userName Password
grodriguez, apassword
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
i r E l ti li i
r i r i t L i R rti rit
Arquitectura y Paquetes
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
l ti li i
Arquitectura y Paquetes
UI j r ti E it r
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