Software">
Tuberias y Filtro
Tuberias y Filtro
Tuberias y Filtro
FACULTAD DE INGENIERÍA EN
CIENCIAS APLICADAS
ESCUELA DE INGENIERÍA EN
SISTEMAS COMPUTACIONALES
INFORME TÉCNICO PREVIO A LA OBTENCIÓN DEL TÍTULO DE
INGENIERO EN SISTEMAS COMPUTACIONALES
TEMA:
“ESTUDIO DE LA ARQUITECTURA DE SOFTWARE”
APLICATIVO:
DISEÑO E IMPLEMENTACIÓN DE UN SISTEMA DE
PLANIFICACIÓN DE RECURSOS EMPRESARIALES
PARA LA EMPRESA “FAUSTO DÍAZ”
UTILIZANDO SOFTWARE LIBRE
DICIEMBRE DE 2010
RESUMEN
Arquitectura de Software es tener una vista global y abstracta del sistema que
se desea desarrollar, que nos permita tomar las decisiones adecuadas, definir
los parámetros y delimitación de dicho sistema tomando en cuenta los
requerimientos funcionales y no funcionales.
Para el manejo de los datos del negocio las plataformas tecnológicas proveen
los medios para colectar los datos desde los proveedores de datos,
transportarlos, almacenarlos y procesarlos. Además de entregarlos a los
consumidores de ellos. Entre las Arquitecturas Tecnológicas más utilizadas
tenemos JEE (Java Enterprise Edition), Microsoft .NET y PHP.
i
INTRODUCCIÓN
ii
ÍNDICE DE CONTENIDOS
1 ARQUITECTURA DE SOFTWARE............................................................................1
1.1 EL ARQUITECTO DE SOFTWARE....................................................................1
1.2 EL ICEBERG DE LA USABILIDAD...................................................................2
1.3 LENGUAJES DE DESCRIPCIÓN ARQUITECTÓNICA...................................2
1.4 VISTAS ARQUITECTÓNICAS............................................................................3
1.5 ESTILOS ARQUITECTÓNICOS.........................................................................4
2 PATRONES DE ARQUITECTURA DE SOFTWARE.................................................7
2.1 DEFINICIONES....................................................................................................7
2.2 ARQUITECTURA EN CAPAS.............................................................................7
2.3 ARQUITECTURA TUBOS Y FILTROS..............................................................8
2.4 ARQUITECTURA EN PIZARRA........................................................................9
2.5 ARQUITECTURA DE BROKER.......................................................................10
2.6 ARQUITECTURA MODELO VISTA CONTROLADOR..................................11
3 ARQUITECTURAS TECNOLÓGICAS.....................................................................13
3.1 JEE (JAVA ENTERPRISE EDITION)................................................................13
3.2 .NET (MICROSOFT)..........................................................................................15
3.3 PHP......................................................................................................................16
4 APLICATIVO..............................................................................................................18
4.1 GESTIÓN DEL PROYECTO..............................................................................18
iii
Estudio de la Arquitectura de Software
1 ARQUITECTURA DE SOFTWARE
Alcides Rivera Posso Página 1
Estudio de la Arquitectura de Software
Hasta hace poco, se asumía que la usabilidad era una propiedad exclusiva de
la presentación de la información. Se creía que, encapsulando la capa de
presentación y separándole del resto, se podía desarrollar la aplicación y, de
forma iterativa, pasar los test de usabilidad. Tras cada test, tan sólo será
necesario resolver los problemas modificando la presentación y, gracias a esta
separación, la funcionalidad no quedaría afectada.
Alcides Rivera Posso Página 2
Estudio de la Arquitectura de Software
Alcides Rivera Posso Página 3
Estudio de la Arquitectura de Software
Alcides Rivera Posso Página 4
Estudio de la Arquitectura de Software
Alcides Rivera Posso Página 5
Estudio de la Arquitectura de Software
Alcides Rivera Posso Página 6
Estudio de la Arquitectura de Software
2.1 DEFINICIONES
Alcides Rivera Posso Página 7
Estudio de la Arquitectura de Software
“El patrón de arquitectura Tuberías y Filtros proporciona una estructura para los
sistemas de flujo de proceso de datos. Cada paso del proceso se encapsula en
un componente de filtro. Los datos se pasan a través de tubos entre filtros
adyacentes. Recombinar filtros le permite construir familias de sistemas
relacionados“.
Alcides Rivera Posso Página 8
Estudio de la Arquitectura de Software
“El patrón de arquitectura en Pizarra es útil para problemas para los que no se
conocen las estrategias de solución determinista. En la Arquitectura en Pizarra
varios subsistemas especializados pueden reunir sus conocimientos para
construir una posible solución parcial o aproximada.“
Alcides Rivera Posso Página 9
Estudio de la Arquitectura de Software
“El patrón de arquitectura Broker puede ser usado para estructurar sistemas de
software distribuidos con los componentes que interactúan disociada por las
llamadas de servicio remoto. Un componente Broker es responsable de la
coordinación de las comunicaciones, tales como solicitudes de reenvío, así
como para la transmisión de los resultados y excepciones.”
Alcides Rivera Posso Página 10
Estudio de la Arquitectura de Software
• Proxy del lado del cliente: Representan una capa adicional entre los
clientes y el broker, para proveer transparencia en el sentido que un
objeto remoto aparece como local ante el cliente, es decir, oculta los
detalles de implementación.
• Proxy del lado del servidor: Generalmente son análogos a los proxies
de lado del cliente, la diferencia es que son responsables de recibir
solicitudes, desempaquetar los mensajes de entrada, el unmarshaling de
los parámetros, llamar al servicio apropiado, y el marshaling de
resultados y excepciones antes de enviarlos al cliente.
Alcides Rivera Posso Página 11
Estudio de la Arquitectura de Software
• Modelo: Es el objeto que representa los datos del programa. Maneja los
datos y controla todas sus transformaciones. El modelo no tiene
conocimiento específico de los Controladores o de las Vistas, ni siquiera
contiene referencias a ellos.
3 ARQUITECTURAS TECNOLÓGICAS
Alcides Rivera Posso Página 12
Estudio de la Arquitectura de Software
• EJB's de Entidad (Entity EJB's): Encapsulan los objetos del lado del
servidor que almacenan los datos. Los EJB de entidad presentan la
característica fundamental de la persistencia: persistencia gestionada
por el contenedor y persistencia gestionada por el bean.
Alcides Rivera Posso Página 13
Estudio de la Arquitectura de Software
Java Server Faces: Es una tecnología para aplicaciones Java basada en web
simplifica el desarrollo de interfaces de usuario en aplicaciones de la plataforma
Java Edición Empresarial (JEE). JSF utiliza la tecnología JSP (Java Server
Pages) para hacer el despliegue de las páginas.
Alcides Rivera Posso Página 14
Estudio de la Arquitectura de Software
3.3 PHP
Alcides Rivera Posso Página 15
Estudio de la Arquitectura de Software
La actual versión de PHP 5 incluye las siguientes mejoras: mejor soporte para
programación rientada a objetos con PDO, mejoras en el rendimiento, mejor
soporte para MySql con extensión completamente reescrita, mejor soporte a
XML (Xpath, DOM, etc), soporte nativo para SQLite, soporte integrado para
SOAP, iteradores de datos, manejo de excepciones; y mejoras con la
implementación de Oracle.
PEAR: Según el sitio web oficial de PHP “PEAR (PHP Extensión y Repositorios
de Aplicación) es un entorno de desarrollo y sistema de distribución de
componentes de PHP”.
Alcides Rivera Posso Página 16
Estudio de la Arquitectura de Software
4 APLICATIVO
Alcides Rivera Posso Página 17
Estudio de la Arquitectura de Software
Alcides Rivera Posso Página 18
Estudio de la Arquitectura de Software
Actores: Se define este requerimiento para listar los usuarios potenciales del
sistema, en este proyecto se han definido los siguientes actores: Contador,
Jefe de Almacén, Vendedor, Jefe de Logística, Jefe de Recursos Humanos y
Administrador.
Alcides Rivera Posso Página 19
Estudio de la Arquitectura de Software
Cada uno de los componentes del negocio se divide más a fondo en las tres
capas del patrón de arquitectura Modelo Vista Controlador (MVC): lógica de la
presentación, lógica del negocio, y lógica de la integración.
Los estilos arquitectónicos que fueron utilizados para el desarrollo del prototipo
son: Arquitectura Orientada a Objetos y Arquitectura Orientada a Aspectos.
Alcides Rivera Posso Página 20