Red Social: “Un millón de Amigos”.

Slides:



Advertisements
Presentaciones similares
2010Ing. de Sistemas II Persistencia en EJB3 Pasos para crear entity beans.
Advertisements

U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Técnicas de Diseño Red Social.
Plan de Implantación Sistemas de Información III
Hipódromo Caballito Powered by Grupo 6.
Red Social: “Un millón de Amigos”.
Observador (observer) Visita (Visitor) Singleton
FACHADA COMPOSITOR MEMENTO
Introducción a LAS Bases de Datos
Tomado de:
UML 1.4 Peter Emerson Pinchao Solis.
Introducción 1 Puntos Clave –La orientación a objetos representa un cambio radical en los métodos tradicionales de creación de software –Los métodos tradicionales.
"java del lado del servidor" Servlet y JSP Java Server Pages.
Prof. César Luza Montero
75.10 Técnicas de Diseño Grupo E
INTRODUCCIÓN A UML Oscar Miguel Alonso Moreno.
Ingeniería del Software
Páginas web dinámicas. Olga García Collado.
DIAGRAMA DE COMPONENTES INTEGRANTES Córdova Vásquez Giovanny Escobar Alvares Calixto Gomez Quinteros Adelaida Pinto Flores Yarmila.
Mayo de 2009Dos Ideas - La visión de Sistemas desde el Desarrollo Introducción a Base de Datos Conceptos básicos.
Una Introducción a UML El Modelo de Proceso de Negocio
Unified Modeling Language (Lenguaje de Modelamiento unificado)
Profesor: Miguel Angel Vidal
Contexto: Aplicación gráfica.  Siempre que se piensa en separar la funcionalidad de una aplicación de su interacción con el usuario, bien sea una aplicación.
PROGRAMACIÓN PARALELA Tema 4: Metodología de la programación
Desarrollo de Aplicaciones Utilizando Java Edición Empresarial – JEE6
(c) P. Gomez-Gil, INAOE DISEÑO DE COMPONENTES DE SOFTWARE * NOTAS DEL CURSO Ingeniería de Software I DRA. MARIA DEL PILAR GÓMEZ GIL INAOEP.
Ingeniería de Software Orientado a Objetos
DISEÑO DE SOFTWARE 1ª. Parte
Fundamentos de programación
Contenido: 1- Que es el .Net Framework 2- Arquitectura en .Net
Características de la interfaz de desarrollo
Desarrollo de aplicaciones para ambientes distribuidos
Proyecto Final de Carrera Gestor de Referencias Bibliográficas Integrado Escuela Politécnica Superior de Albacete (UCLM) Autora: Laura Ruiz Navarro Tutores:
Proyecto de Ingeniería de Software Grupo 9 Septiembre 2009
Eguana Reports Servidor de Reportes basado en Tecnología Java y XML Presentado por: Roy Cox S. Fernando Pérez M. José Pérez S.
Arquitectura en Tres Capas
Universidad Central de Venezuela Facultad de Ciencias Postgrado en Ciencias de la Computación Sistemas Distribuidos Albany Márquez.
Modelo-Vista-Controlador Este patrón fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementación original fue realizada en Smalltalk.
Diagrama de Clases ACI 570.
Importancia en la efectividad del:
El modelo de análisis tiene como objetivo generar una arquitectura de objetos que sirva como base para el diseño posterior del sistema. Dependiendo del.
Facultad de Ingeniería
Análisis y diseño de sistemas Diagrama de componentes
TEMA 9: DIAGRAMA DE CLASE EN UML
Subsecretaría de Educación Superior Dirección General de Educación Superior Tecnológica INSTITUTO TECNOLÓGICO DE SALINA CRUZ TEMA: herramientas de programación.
Modelo de 3 capas.
Manual Desarrollo Flex – J2EE. Contenidos Análisis y Diseño 1 Implementación 2 J2EE 3 Pruebas 4.
Sistema informático de apoyo a la evaluación de la enseñanza IN.CO.
Clasificación de Diagramas
CONTRATOS DE CLIENTES Orlando Sedamano Cornejo Marco Bustinza
Patrones de diseño equipo n.1
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Luis Ponce Cabello.  Primera Parte : JSF  Segunda Parte : Facelets  Tercera Parte : Icefaces.
Prof. Joel Moreno Molina
Tecnologías Cliente / Servidor Capitulo II Richard Jiménez V. clienteserver.wordpress.com.
Edwin Oliveros.  El diseño de sistemas consiste en la transformación del modelo de diseño, que toma en cuenta los requerimientos no funcionales y las.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
AFM – Web File Manager Versión 5. Novedades técnicas – Forma de Implementación Siguiendo última tecnología de Microsoft: Framework.NET 3.5 Implementación.
UNIDAD 2: “Características del Modelado UML” CONTENDIDO Elaborado por: Ingeniero Harold Cabrera Meza Actualizado por: Ingeniero Nilson Albeiro Ferreira.
Un requerimiento es una condición o capacidad a la que el sistema (siendo construido) debe conformar [ Rational ]. Un requerimiento de software puede.
La Rematada Sitio de remates “El Porton”. Introducción El objetivo es desarrollar un sitio web de remates de productos para promocionar la compra de yerba.
Integrantes: Castro José República Bolivariana De Venezuela Ministerio Del Poder Popular Para La Educación Superior Instituto Universitario Tecnológico.
Diccionario/Directorio de Datos
ACCESO A DATOS EN ASP.NET Controles de origen de datos Controles enlazados a datos.
Para cada uno de los atributos, indicaremos su campo de descripción. Cuando un campo no dispone de este (como el.
BASES DE DATOS DISTRIBUIDAS M.C.C. María Guadalupe Villanueva Carrasco INGENIERIA EN SISTEMAS COMPUTACIONALES.
Entregables del Proyecto
Definición: Es un estilo de programación, su objetivo primordial es la separación de la capa de presentación, capa de negocio y la capa de datos. ARQUITECTURA.
Transcripción de la presentación:

Red Social: “Un millón de Amigos”

Contenidos Descripción del negocio Solución propuesta Demo Requerimientos funcionales Requerimientos no funcionales Solución propuesta Arquitectura propuesta Técnicas de diseño aplicadas a cada capa Demo

Funcionalidades requeridas Buscar amigos en la red. Hacer amigos. Sugerir amigos Por afinidad o transitividad. Visitar amigos. Notificar eventos. Aplicaciones. Mensajería Mensajes públicos y privados. Seguridad.

Arquitectura Propuesta Considerando la escalabilidad horizontal de los servidores de la aplicación: Utilizamos Ncache: que resolvería de forma transparente (sin la necesidad de modificar código) la replicación de la cache del ORM entre aplication servers y las sesiones que se resolverán a través del almacenamiento de las mismas en la base de datos. Utilizamos un balanceador de carga (para los application servers) implementado con LVS. Utilizamos un cluster de servidores PostgreSQL con pgpool-II. servidor de base de datos, y sólo en el caso de ser necesario,

Diagrama de Despliegue

Capas de nuestra arquitectura

UnMillonDeAmigos.Web: Contiene las páginas web de la aplicación, que constituyen las vistas (presentación) UnMillonDeAmigos.Presentacion: Contiene los presenters y las interfaces para cada una de las vistas del proyecto web. UnMillonDeAmigos.ContratosDeAplicacion: Este proyecto publica los servicios que contienen la funcionalidad que es necesaria desde la presentación. UnMillonDeAmigos.Aplicacion: Define las interfaces de los servicios que son implementados en el proyecto de aplicación. UnMillonDeAmigos.AccesoADatos: Aquí se encapsulan todas las clases que implementan el acceso a Datos mediante NHibernate. UnMillonDeAmigos. Dominio: Aquí se encuentran las clases de negocio, procesos y reglas de negocio.

Justificación de su uso Permite la descomposición del sistema en componentes más pequeños; Facilita el análisis, la comprensión y el diseño del sistema; Permite obtener implementaciones más sencillas. Aislamiento de código; Facilita los cambios en los componentes sin impactar en otros módulos; Permite el desarrollo en paralelo del equipo de programadores; Agrupamiento de funcionalidad similar; Facilita el mantenimiento del sistema.

Diagrama de clases general

Diagrama de clases completo

Diagrama de Casos de Uso

Diagrama de Componentes Permite modelar la vista estática del sistema. Muestra la organización y las dependencias entre un conjunto de componentes. No necesariamente un diagrama incluye todos los componentes del sistema, normalmente se realizan por partes. Cada diagrama describe un apartado del sistema.

Diagrama de Componentes

Diagrama de Paquetes. Permite visualizar cómo el sistema está dividido en agrupaciones lógicas mostrando las dependencias entre esas agrupaciones. Dado que normalmente un paquete está pensado como un directorio, un diagrama de paquetes suministra una descomposición de la jerarquía lógica del sistema.

Diagrama de Paquetes

Diagrama de Procesos Representa los aspectos de concurrencia y procesos de ejecución del sistema. Nos permite ver cómo se comunican los procesos.

Diagrama de Procesos

Modelo 4 + 1 Vista de Despliegue Vista Física Vista Lógica Vista de Procesos Vista de Casos de Uso

Técnicas de Diseños aplicadas en cada capa Strategy Aplicación: Se lo utilizó para resolver tema de sugerencia de amigos por afinidad. Factory Method Se lo utilizó en la creación de aplicaciones. Definimos una interfaz para instanciar la aplicación Calendario, explicitando el tipo de objeto que se creará en base a los parámetros recibidos.

Iterator: Flyweigth: Composite: Aplicación: Usuario que consulta el EspacioVisita recorre sus mensajes y notificaciones por medio de iteradores que muestran únicamente los que son visibles según el perfil asociado. Flyweigth: Aplicación: Evitamos tener una gran cantidad de instancias de perfiles con un estado interno idéntico. Composite: Aplicación: Se lo aplicó en la creación de aplicaciones.

Adapter: Aplicación: Implementamos una interfaz para poder pasar datos entre distintas vistas en forma genérica. En la práctica la vista origen sabe cual es la vista destino y puede hacer un pasaje explícito accediendo a las propiedades de la página y establecer una referencia strongly type entre las páginas. Observer: Aplicación: Se lo aplicó en la implementación de las Notificaciones de la aplicación.

Persistencia Para la persistencia, encapsulamos las clases que participan del acceso a Datos mediante NHibernate. Hibernate Es una herramienta de Mapeo objeto-relacional que facilita el mapeo de atributos entre una base de datos relacional tradicional y el modelo de objetos de una aplicación. Como todas las herramientas de su tipo, hibernate busca solucionar el problema de la diferencia entre los dos modelos de datos coexistentes en una aplicación: el usado en la memoria y el usado en las bases de datos. Para lograr esto permite al desarrollador detallar cómo es su modelo de datos, qué relaciones existen y qué forma tienen. Justificación de su uso A través de la utilización del framework hibernate, se implementó la persistencia de los objetos del sistema; herramienta que nos permitió el mapeo de los objetos necesarios, en una base de datos relacional, mediante la configuración de archivos XML, evitándose el manejo manual de los datos y permitiendo la portabilidad del código.

Demo…