Simulador Redes. Agenda Introducción Características Principales Campos de Acción de la...

Post on 02-Feb-2016

230 views 0 download

Transcript of Simulador Redes. Agenda Introducción Características Principales Campos de Acción de la...

Simulador Redes

Agenda• Introducción• Características Principales• Campos de Acción de la herramienta• Arquitectura de la herramienta• Tecnologías Usadas en el proyecto• Desarrollo del proyecto• Extensibilidad de la herramienta• Documentación y mantenimiento de la herramienta• Expectativas de la herramienta :• Comparación con otros herramientas similares• Visión Educativa:• Visión Empresarial• Conclusiones• Preguntas

Arquitectura de la herramienta

– Programación Orientada a Objetos– Arquitectura de Software por capas– Arquitectura MVP– Diagrama de clases base de la herramienta– Diagrama de la base de datos de la herramienta – Organización de la solución del proyecto en

Visual Studio.

Programación Orientada a Objetos

Definición:La Programación Orientada a Objetos (OOP) es un método de programación en el cual los programas se organizan en colecciones cooperativas de objetos, cada uno de los cuales representa una instancia de alguna clase, y cuyas clases son, todas ellas, miembros de una jerarquía de clases unidas mediante relaciones de herencia.

Conceptos básicos• Objeto• Clase

Características de la OOP• Abstracción:• Encapsulamiento:• Herencia:• Polimorfismo

Programación Orientada a Objetos

Programación Orientada a ObjetosProgramación Estructurada:

– Problemas para mantener sistemas de gran envergadura.– El código del programa frecuentemente no resulta lo modular que se espera.– El nivel de reutilización de código es menor al esperado.– Cambios durante la etapa de desarrollo son difíciles de incorporar.

Programación Orientada a Objetos :– Apropiado para mantener código de gran envergadura– Modularizacion de los componentes de la aplicacion– Posibilidad de reutilizar codigo mediante la Herencia– Posibilita de manera eficiente la introduccion de cambios durante la etapa de

desarrollo

Arquitectura de Software por capas

• Arquitectura mono-capa:– Tanto los datos de aplicación como la interfaz como la lógica de

modelo residen en una misma identidad

• Arquitectura Cliente - Servidor– Los datos de la aplicación residen en el servidor. El cliente aún puede

integrar parte de la funcionalidad del sistema.• Arquitectura de 3 capas.

– Cliente que carece de toda lógica de negocio y apenas ofrece alguna funcionalidad más que la de visión y petición de datos.

• Arquitectura de N capas.– Las capas de Visualizacion, Logica de Negocio, Acceso a Datos, fuente

de datos completamente separadas.

Arquitectura MVP

• Definición:– Model View Presenter es un patrón de diseño que se

utiliza para poder separar las operaciones de la interfaz de usuario con su implementación.

• Model: Los objetos encargados de manejar la logica de negocio.

• View: La Interfaz grafica que presenta los datos.• Presenter: Toma control de los eventos/acciones de

la vista.

Diagrama de clases de la aplicación• Diagrama de Clases de la visualización:

Diagrama de clases de la aplicación• Diagrama de Clases de la lógica de negocio:

Diagrama de clases de la aplicación• Diagrama de Clases Presenter:

Diagrama de clases de la aplicación• Diagrama de Clases Acceso a Datos:

Diagrama de base de datos

Organización de la solución en VS

La solución se encuentra divida por capas funcionales:

•Acceso a Datos•Business Logic•SOA•Visualización

Tecnologias Usadas

• .Net Framework• LINQ• WCF

• Subversion• Clickonce Smart Client Deployment• SQL Server Compact Edition.• Visual Studio Express 2008

Microsoft .NET Framework

• Microsoft .NET Framework es un conjunto de tecnologías de software de Microsoft que integra componentes de información, gente, sistemas y dispositivos.

• Microsoft .NET Framework es una colección de tecnologias para el desarrollo de software integrado en un unico marco

• NET es una plataforma de desarrollo de software de propósito general, similar a Java, basada en la integración y la conectividad.

Objetivos Microsoft .NET Framework

• Proveer un ambiente de desarrollo orientado a objetos, que pueda ser utilizado en diferentes lenguajes de programacion.

• Ofrecer un modelo de programacion comun (CLR) en donde sea una cuestion de preferencia el lenguaje de programacion a utilizar.

• Gestionar los recursos de memoria de manera eficiente a traves del recolector de basura de .Net

• Ofrecer al desarrollador un nivel de abstraccion suficiente, en donde no sea necesario conocer el sistema operativo donde se este trabajando

Arquitectura .NET

COMO FUNCIONA .NET

Language Integrated Query (LINQ)

• Mecanismo uniforme y extensible para consultar fuentes de datos de diferentes tipos a traves des expresiones de consulta.

Windows Communication FoundationUn API único para la comunicación de diferentes procesos entre una maquina Local, LAN o a traves de Internet.

SubVersion

• Gestióna el desarrollo de cada elemento de un proyecto a lo largo del tiempo

• Proporciona:– Mecanismo de almacenaje de cada elemento que deba gestionarse

(archivos de código, imágenes, documentación...)– Posibilidad de añadir, modificar, mover, borrar...– Historial de las acciones realizadas con cada elemento pudiendo

volver a un estado anterior– Otros: generación de informes de cambios, informes de estado,

marcado con nombre identificativo, etc.

• Se utiliza un repositorio, donde se almacena la información de todo el desarrollo

ClickOnce Smart Client Deployment

• ClickOnce es una tecnlogia de desarrollo de .NET, que permite crear aplicaciones de escritorio con capacidad de actualizarse automaticamente, y pudiendo ser instalados con interaccion minima por parte del usuario

• ClickOnce soluciona 3 grandes problemas que ocurren al distribuir e instalar una aplicación:– Dificultad en actualizar aplicaciones.– Impacto en el computador del usuario.– Permisos de seguridad

SQL Server Compact Edition

• SQL Server CE es un motor de base de datos liviano que puede ser integrado en una solución de software, facilitando los procesos de distribución y desarrollo de una aplicación.

• SQL Server CE ofrece las funcionalidades relacionales esenciales de base de datos en un tamaño compacto.

Visual Studio Express 2008

• Microsoft Visual Studio Express es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para sistemas Windows.

• Visual Studio permite a los desarrolladores crear aplicaciones, sitios y aplicaciones web, así como servicios web en cualquier entorno que soporte la plataforma .

Desarrollo del proyecto

–Estandarización de código (UpperCamelCase)

–Metodologías tradicionales (RUP, WaterFall)

–Metodologías Agiles(Scrum, XP, TDD)–Refactoring

Proceso llevado durante el desarrollo

• Especificación.• Requerimientos• Metodologías Tradicionales/Agiles• Test Driven Development• Evaluación

Extensibilidad

–Repositorio centralizado (Gracias a)–Nuevos Equipos–Nuevo Protocolos–Especialización en equipos y protocolos–Nuevos Clientes de Base de Datos–Nuevas Visualizaciones (WPF WEB)–Comunicación entre equipos (SOA)

Documentación y mantenimiento de la herramienta

–Gestión del producto–Material Audiovisual–FAQ–BUG Report–Foros–Petición de nuevas funcionalidades

Comparación con otros simuladores

–Personalizable dependiendo del cliente.–Localidad para realizar desarrollos a la

medida–Precio–Virtualización–Enfoque Educativo–MultiVendor

RoadMap Educativo– E-Learning– Especialización de protocolos– Especialización de equipos– Ayudas y tutoriales integrados.– Laboratorios asistidos.– Generación de reportes y análisis de tráfico– Evaluaciones integradas.– Desarrollos especializados en virtualización (AudioVisual, chat, etc)– Vista WEB de la red– IPV6– Suite de Simulación:

• Arquitectura de Procesadores• Materiales e instrumentos electrónicos• Next Generation Networks

RoadMap Empresarial

– Aprovisionamiento e Inventario de equipos y protocolos.

– Posicionamiento Georeferenciado de estaciones (SharpMap)

– Topología de la red de un operador de redes de Datos.

– Comunicación y sincronización con equipos(SNMP SSH TelNet) vía SOA

– WorkFlow de Procesos.– Planeación de la red.– Análisis y reportes gerenciales de la red– Conexión a motores de bases de datos empresariales